Qualidade de software
-
Upload
alvaro-oliveira -
Category
Software
-
view
9 -
download
0
Transcript of Qualidade de software
Qualidade de SoftwareÁlvaro Oliveira1; Bruno Neves2
1 - [email protected] [email protected]
UNIVERSIDADE ESTADUAL DO CEARÁ – UECEPRÓ-REITORIA DE PÓS-GRADUAÇÃO E PESQUISA - PROPGPq
CENTRO DE CIÊNCIAS E TECNOLOGIA – CCTMestrado Acadêmico em Ciência da Computação - MACC
Engenharia de SoftwareProf. Dr. Paulo Henrique Mendes Maia
Crise de Software● Foram descobetos no ano de 1960;● No desenvolvimento de um grande sistema;● Continuaram a incomodar durante todo o seculo xx.
2
Crise do Software - Problemas● Cronogramas não observados.● Projetos abandonados.● Módulos que não operam corretamente quando combinados.● Programas que não fazem exatamente o que era esperado.● Sistemas tão difíceis de usar que são descartados.● Sistemas que simplesmente param de funcionar.
3
Como definir Qualidade?● Qualidade é um termo que pode ter diferentes interpretações;
● Existem muitas definições de qualidade propostas na literatura com
diferentes pontos de vista;
● Visão popular pode ser diferente do seu uso profissional.
5
Exemplo: Carro
O que um determinado produto apresenta para considerarmos
que o mesmo tem qualidade?
6
Exemplo: Carro● Diversos aspectos são levados em conta:
No caso de um automóvel, fatores como conforto, segurança,
desempenho, beleza e $$ têm estreita relação com a qualidade.
7
Normas e Modelos para Qualidade● ISO 9126 - Norma para qualidade de produtos de software
● ISO 12119 - Norma para qualidade de pacotes de software
● ISO 12207 - Processos de ciclo de vida do software.
● NBR ISO 9003:2004 -Diretrizes para aplicação da norma ISO 9001
ao desenvolvimento, fornecimento e manutenção de software.
● CMMI- Capability Maturity Model Integration. Modelo do SEI que
estende o CMM para avaliação de processos de software.
8
Conceito de QualidadeSegundo a atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade é:
“A totalidade das características de uma entidade
que lhe confere a capacidade de satisfazer
às necessidades explícitas e implícitas”
9
Qualidade de Software - Motivação● O principal objetivo da Engenharia de Software (ES) é ajudar a produzir
software de qualidade;● Empresas que desenvolvem software de qualidade são mais
competitivas;● Empresas que utilizam software de alta qualidade podem, em geral,
oferecer um melhor serviço a um preço mais competitivo.
10
Definição de Qualidade de Software“Conjunto de características a serem
satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários”
11
Princípios Básicos da Qualidade
12
Redução de custo da Qualidade
Satisfação do cliente
Controle do projeto
Melhoria continua dos processos
O que o Cliente Deseja?● Atendimento aos requisitos especificados● Defeito zero● Alto desempenho● Baixo custo● Desenvolvimento rápido● Facilidade de uso● Eficiência nos serviços associados● Inovação
13
Gerenciamento da qualidade● Nível organizacional
○ Framework;○ Padrões de processos organizacionais;○ Definir os processos de desenvolvimento de software;
■ Incluindo os requisitos de sistema, projeto e código.● Nível de projeto
○ Aplicação de processos de qualidades;○ Saídas conformes aos padrões do projeto;○ Estabelecimento do plano de qualidade.
14
Plano de qualidade
● Introdução ao produto● Planos de produto● Descrições de processo● Metas de Qualidade● Riscos e Gerenciamentos de riscos
15
Deve estabelecer as qualidades desejadas para o software e descrever como elas devem ser avaliadas.
Garantia da Qualidade● Tenta produzir software com uma baixa taxa de defeitos;● Natureza proativa (Estar no controle)● Definição de procedimentos, padrões, treinamentos.● Gerência e melhoria de processo.
18
Controle da Qualidade● Evita que produtos defeituosos sejam entregues aos
clientes;● Natureza reativa (Estar sob controle)● Objetiva monitoração de processo, e detecção e correção
de defeitos.● Ex: Inspeções, ensaios e testes.
19
Revisões e Inspeções● Atividades de controle de qualidade que examinam software e sua
documentação em busca de possíveis erros ou inconformidades com os padrões previamente escolhidos.
20
Isto envolve:● Examinar o software:
○ Sua documentação;○ os registros do processo para descobrir erros e omissões;○ verificar se os padrões de qualidade foram seguidos
O Processo de RevisãoDivide-se em Três: Atividades pré-revisão, Reunião de Revisão e Atividades pós-revisão.
21
Inspeções de Programa● As inspeções de programa são'revisões em pares'em que os membros da
equipe colaboram para encontrar bugs no programa que está sendo desenvolvido.
● As inspeções podem fazer parte dos processos de verificação e validação de software.
● Elas complementam os testes.● Se usa um checklist de erros comuns de programação para ajudar na
busca por bugs.
22
99 % é bom?● Visão Clássica de Qualidade● Equivale a 3,8 sigma.
O que isso significa?
Supondo que 5 mil cirurgias sejam realizadas num hospital por semana.
50 operações por semana seriam incorretas !
25
99% é bom?
Tabela de Conversão do Nível SIGMA
Porcentagem de Acerto Defeitos por Milhão de Oportunidades (DPMO)
SIGMA
31% 690.000 1 sigma
69,2% 308.537 2 sigma
93,3% 66.807 3 sigma
99,4% 6.210 4 sigma
99,977% 233 5 sigma
99,99966% 3,4 6 sigma
26
Histórico do Seis SIGMACriado em 1980 pela Motorola
Popularizou-se por ser utilizado com sucesso em empresas como a General Eletric e a Allied Signal.
Sigma é uma letra grega que é usada para representar o desvio padrão da média. Quanto maior o desvio padrão, maior a imprevisibilidade.
27
O que é o Seis SIGMA?Conjunto de práticas para otimizar o desempenho dos processos, eliminando os defeitos e colocando-os em consonância com o padrão da empresa.
Sua escala é usada para medir o nível de qualidade de um processo através de uma relação entre o número de defeitos por milhão e o nível SIGMA.
O objetivo é chegar próximo de “zero” defeito.
28
Seis SIGMA e o DMAIC● D - Definir (Define)
○ define-se com precisão o escopo do projeto
● M- Medir (Measure)○ determina-se a localização ou foco do problema
● A- Analisar (Analyze)○ determinam-se as causas de cada problema prioritário
● I - Melhorar (Improve)○ propõem-se, avaliam-se e implementam-se soluções para cada problema prioritário
● C - Controlar (Control)○ garante-se que o alcance da meta seja mantido no longo prazo
29