Anda di halaman 1dari 9

QUALIDADE DE SOFTWARE

Livro: Garantindo a Qualidade de Software. Autor: Barti, Alexandre, Rio de Janeiro, 2002, Editora Campus.

PARTE I INTRODUO QUALIDADE DE SOFTWARE


Introduo RUP (Rational Unifield Process) CMM (Capbility Maturity Model) Swebok (Software Engineering Body of Knowledge) PMI (Project Management Institute)

Metodologias

No incio durante o desenvolvimento de software a atividade de teste era encarada como simples tarefa de navegar pelo cdigo e corrigir problemas j conhecidos. Essa atividade era realizada quando o produto estava pronto ou quase pronto. Em 1957, o conceito de teste de software conseguiu ampliar seus valores e se tornar um processo de deteco de erros de software, mas continuava a ser executado no final do processo de desenvolvimento. No incio da dcada de 1970, o processo de desenvolvimento de software passou a ter uma abordagem mais profunda com a Engenharia de Software. Em 1972 houve a primeira conferncia formal sobre testes na Universidade da Carolina do Norte. Em 1979 Myers produziu um trabalho profundo e completo sobre um processo de testes. Em 1980 surgiram os primeiros conceitos de qualidade de software. - Desenvolvedores e testadores trabalhando juntos em todas as fases; - Surgiram os padres IEEE (Institute of Eletrical and Eletronecs Engineers) ANSI (American National Stantards Institute) ISSO (International Standards Organization) - Porm foi o modelo CMM (Capability Maturity Model) elaborado pelo Software Engiineering Institute (SEI) que ganhou maior dimenso e importncia. Em 1990 as ferramentas de teste comearam a ser produzidas (alta produtividade e qualidade)

Cenrio Atual do Desenvolvimento de Software - As Empresas ficando cada vez mais dependente da tecnologia; Evoluo das Organizaes Desenvolvedoras de Software Caracterstica Tamanho do Software Complexidade do Software Tamanho da Equipe de Desenvolvimento Padres e Metodologias de Desenvolvimento Padres e Metodologias de Qualidade e Testes Organizaes de Qualidade e Testes Reconhecimento da Importncia da Qualidade Tamanho da equipe de Controle de Qualidade e Teste 1960 Pequeno Baixo Pequena Interno Interno Bem Poucas Pequeno Pequeno 1980 Mdio Mdia Mdia Moderado Emergente Algumas Algum Pequeno 2000 Muito Grande Alta Grande Sofisticado Sofisticado Muitas Significante Grande

As empresas no percebem que implantar um processo de garantia da qualidade de software no uma opo a ser estudada, mas parte de uma estratgia de sobrevivncia em um mercado cada vez mais exigente e competitivo. A Realidade dos Projetos e Software - Amadorismo; - Indstria de software despreparada; -Desconhecem o processo de Engenharia de Software. Estudos mostram: (americano) - Mais de 30% dos projetos so cancelados antes de serem finalizados; - Mais de 70% dos projetos falham; - Os custos extrapolam mais de 180%; - Os prazos excedem em mais de 200% os cronogramas originais. Globalizao Pacotes prontos (ERP e CRMs), com documentao usando notao UML, ndia competente no mercado mundial. Adquirindo Maturidade Organizacional Um dos mais importantes trabalhos de avaliao da maturidade da organizao de uma empresa de software foi produzido pelo Software Engineering Institute (SEI), um centro de desenvolvimento e pesquisa patrocinado pelo Departamento de Defesa dos Estados Unidos. Sua misso foi produzir em trabalho que possibilitasse s organizaes aperfeioar a qualidade final de seus produtos finais empregando o estado da arte no desenvolvimento de software.

O resultado desse trabalho foi o modelo CMM que tem como foco o processo de software na proposta de melhoria contnua. O Modelo CMM (Capability Maturity Model) O CMM definido pelo SEI descreve uma estrutura de trabalho necessrio para tornar o processo de desenvolvimento de software mais eficinte e controlado. O CMM parte de uma total falta de controle e gerenciamento dos processos (imaturidade organizacional) para gradativamente adquirir novas competncias, encrementando seu nvel de eficincia maturidade em relao aos diversos processos crticos envolvidos em um desenvolvimento de software. O modelo CMM baseia-se em cinco nveis de maturidade organizacional. Cada nvel representa um estgio de maturidade dentro do processo de desenvolvimento de software. Nenhuma empresa consegue sair do nvel 1 e chegar ao nvel 3 sem antes ter passado pelo nvel 2. Cada nvel e um pr-requisito para o outro. Nvel 5: Otimizado Otimizado Aperfeioamento processo. Processo medido controlado. de

Nvel 4: Gerenciado

Mensurvel

Nvel 3: Definido

Padronizado

Processo caracterizado e bem definido. Tarefas mestras podem ser repetidas continuamente. Processo imprevisvel e pouco controlado.

Nvel 2: Repetitivo

Cultural

Nvel 1: Inicial

Anrquico

Possveis nveis de maturidade previstos no modelo CMM. Mais de 85% das organizaes ainda esto no nvel 1.

reas Chaves (KPAs) O CMM considera cada rea chave um processo particular. Uma organizao migra de um nvel para outro sempre que consegue operacionalizar todos as reas chaves especificas de um nvel.

Distribuio das reas-chave pelos nveis de maturidade Nvel CMM 1 2 Processo Gerencial XXX Superviso e rastreamento do projeto se software. Garantia da qualidade de software. Gerencia de subcontratao de software. Gerencia de configurao de software. Gerencia de requisitos. Planejamento dor projeto de software. 3 (*) Coordenao entre grupos. Gerencia integrada. de software Definio do processo Engenharia de produto da organizao. de software. Foco no processo da Reviso pelos pares. organizao. Programa treinamento. 4 Gerencia quantitativa de processos. XXX XXX de Processo Organizacional XXX XXX Processo de Engenharia XXX XXX

Gerencia de qualidade de software.

Gerencia da evoluo de Preveno de defeitos. processos. Gerencia da evoluo tecnolgica.

(*) H um grupo responsvel por estabelecer e documentar as atividades do processo de software denominado SEPG (Software Engineering Process Group). O Grupo pode customizar o desenvolvimento do Software, buscando sempre melhores prticas.

Impacto da maturidade no processo de qualidade Um dado importante que o SEI estima o fato de que empresas de nvel dedicam cerca de 55% dos esforos direcionados para corrigir defeitos do projeto de software desenvolvido. A medida que a empresa vai adquirindo maturidade, esses ndices vo sendo gradativamente sendo reduzidos.

Esforo dedicado a correo de defeitos


60 50 40 Esforo de 30 correo 20 10 0 1 2 3 4 5 Nvel de Maturidade

Esforo gerencial para alcanar nveis maiores de maturidade


25 20 Esforo 15 Gerencial 10 5 0 1 2 3 4 5 Nvel de maturidade

Definido Qualidade de software Qualidade de software um processo sistemtico que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos, prevenido e eliminando defeitos. Para otimizarmos a qualidade de software teremos que estabelecer duas dimenses fundamentais: a dimenso qualidade do processo e da qualidade do produto.

Dimenso Qualidade do Processo Inicialmente temos que ter um processo bem definido, mnimo que seja, de desenvolvimento de software. Durante o ciclo de desenvolvimento de software temos que garantir a qualidade de todos os artefatos produzidos: Requisitos, modelos, especificao de negcio, arquitetura, modelo de dados e classes, anlise de custos, projees financeiras, ou seja, todos os documentos gerados durante o desenvolvimento do software. Testes esttico corrigindo, quando for o caso, a documentao..

Dimenso Qualidade do Produto Garantir a qualidade do produto tecnolgico gerado durante o ciclo de desenvolvimento do software. Objetivo estressar telas e funcionalidades de um sistema informatizado. Teste dinmico Teste de unidade, de mdulo do sistema integrado, teste de interface. Para isso simulamos diversos cenrios. As definies sobre testes so vrias, porm o fato que mais fcil provar que algo funciona do que provar que algo no funciona. Por isso que temos que colocar uma equipe independente para executar os testes, pois no existe envolvimento emocional, poltico, etc. Testes para provar que algo est correto Cenrios positivos comuns Teste para provar que algo no est correto Cenrios negativos estendidos

Analista de Sistemas

Analista de Cenrios positivos Testes estendidos

Importante salientar que os testes podem ser usados para mostrar a presena de erros, mas nunca a sua ausncia. Impossvel cobrir todas as infinitas combinaes existentes em um ambiente de execuo real. Assim, os esforos de testes devem ser orientados pelo risco existente e pelo impacto que a falta de qualidade causar ao ambiente interno e externo da organizao.

Os pilares da Qualidade de Software Um trabalho realizado no PMI (Project Management Institute) elaborou o Project Management Body of Knowledge PMBOK no qual o processo de gerenciamento da qualidade e subdividido em trs subprocessos complementares.

Processo de Garantia da Qualidade do Software

Planejamento da Qualidade

Garantia da Qualidade

Controle de Qualidade

Todas as atividades referentes ao planejamento das atividades da qualidade e os esforos na previso de defeitos. Plano de Garantia de Qualidade (SQA Plan Software Quality Assurance Plan).

Todas as atividades tcnicas e procedimentos realizados com o objetivo de identificar erros em artefatos de software. Testes Estticos e Testes Dinmicos.

Todas as atividades, tcnicas e procedimentos relacionados a medir e monitorar a qualidade do processo e do produto de software. Avaliar sistematicamente a qualidade do processo em execuo e a qualidade do produto tecnolgico que esta sendo desenvolvido.

Onde devemos aplicar a qualidade? Modelo de Negcio Requisitos Implementa o Teste de Software Disponibiliza o

Tempo Qualidade no uma fase do ciclo de vida de desenvolvimento de software ... parte de todas as fases.

Onde esto os defeitos? As pessoas cometem um grave erro em pensar que os erros de um software esto sempre no cdigo-fonte, culpando dessa forma os profissionais de desenvolvimento. Os erros so gerados durante todo o processo de Engenharia de Software.

Incidencia de defeitos nas etapas de desenvolvimento

Implementao 7%

Outras 10%

Anlise e Modelagem 27%

Requisitos 56%

Myers aplica a chamada regra 10 aos custos de correo dos erros. Significa que, quando um erro no identificado, os custos de sua correo multiplicam-se pro 10 par cada fase em que o erro migra.

10000

1000

100

10

1 Requisitos Anlise e Modelagem Cdigo Testes de Software Produo

Ciclo de Desenvolvimento de Software

Entendendo o Processo de Qualidade de Software

No possvel conceber um processo de garantia da qualidade de software sem integr-lo com o ciclo de desenvolvimento de software.

Anda mungkin juga menyukai