Qualidade de Software O que é ‘Qualidade de Software’? http://seqsw.wordpress.com/ O que é ‘Qualidade de Software’? • 1 erro é gerado a cada 10 linhas de código escritas. – Writing Solid Code, Microsoft • Desenvolvedores gastam 50% do seu tempo encontrando e corrigindo erros. – IDC • 56% dos erros encontrados depois da solução final ter sido entregue, têm origem na fase de requisitos – Chaos Report • Em média 12 horas são gastas para corrigir cada erro em um código. – Writing Solid Code, Microsoft O que é ‘Qualidade de Software’? • Testes no Final do processo • Rapidez ; • Praticidade ; • Custo , ... O que é ‘Qualidade de Software’? 40 a 1000 vezes 30 a 70 vezes 15 a 40 vezes 1 3 a 6 vezes 10 vezes Custo relativo do conserto de umFonte: erro, por fase do processo http://www.cin.ufpe.br/~mrsj/Qualidade/Qualidade%20de%20Software.pdf O que é ‘Qualidade de Software’? Conceito Conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido. Mitos • Mito do Executável • Mito da Qualidade Mito do Executável • Mito: A única coisa a ser entregue em um projeto bemsucedido é o programa funcionando. • Realidade: Um programa funcionando é somente uma parte de uma configuração de software que inclui vários outros elementos. A documentação forma os alicerces para um desenvolvimento bem-sucedido e fornece um guia para a tarefa de manutenção do software. Mito da Qualidade • • Mito: Enquanto não tiver o programa “funcionando”, eu não terei realmente nenhuma maneira de avaliar sua qualidade. Realidade: Um dos mecanismos mais efetivos de garantia de qualidade de software pode ser aplicado desde o começo de um projeto – a revisão técnica formal. As revisões de software são um “filtro da qualidade” que têm sido consideradas mais eficientes do que a realização de testes para a descoberta de defeitos. Modelos Utilizados Modelos para maturidade dos processos de software Software Engineering Institute (SEI) • SW-CMM – Capability Maturity Model (1987) • CMMI – Capability Maturity Model Integration (2002) CMMI (Capability Maturity Model Integration) • Em português: ‘Modelo Integrado de Maturidade da Capacidade’ • É um modelo de gestão da qualidade aplicável aos processos de software. • Descreve elementos chave para um processo eficaz e o caminho evolutivo para um processo maduro e disciplinado. CMMI (Capability Maturity Model Integration) Possui duas Representações: • Por Estágios ; • Contínuo. Nível 5 Por Estágios Nível 4 Nível 3 Nível 2 Nível 1 Por Estágios Pêssoa, (2005) O modelo por estágio descreve a ordem para a implementação de cada área de processo de acordo com os níveis de maturidade. Partindo do nível 1 ao nível 5 (otimizado). Por Estágios (Pêssoa, 2005) Contínuo Pêssoa, (2005) O modelo contínuo oferece uma abordagem mais flexível para a melhoria dos processos, permitindo a organização melhorar a qualidade de um processo específico ou trabalhar em diversas áreas de forma alinhada aos objetivos de seu negócio. Contínuo • Nível 0 – Incompleto • Nível 1 – Executado • Nível 2 – Gerenciado • Nível 3 – Definido • Nível 4 – Gerenciado quantitativamente • Nível 5 – Otimização Pêssoa, (2005) COMPLEMENTOS ? http://seqsw.wordpress.com/ Referências Bibliográficas o http://www.vqv.com.br/es/ES_JE01d_Pressman.pdf o http://www.cin.ufpe.br/~mrsj/Qualidade/Qualidade%20de%20Software.pdf o http://computerworld.uol.com.br/gestao/2006/10/04/idgnoticia.2006-10-04.5523272156/ o http://www3.ulbra-to.br/eventos/encoinfo/2009/anais/Qualidade_de_Software.pdf o http://imasters.com.br/artigo/16354/gerenciadeprojetos/qualidade_em_projetos_de_softwares_ melhorias_de_processos_com_base_no_mpsbr_e_cmmi_parte_02/ o (Pêssoa, 2005) Pêssoa, Marcelo Schneck de Paula. Modelo Integrado de Maturidade da Capacidade de Processo. Lavras: UFLA/FAEPE, 2005.