Engenharia de Software
Qualidade de Software
Uma abordagem conceitual
André Luis Zanon
São Carlos SP – UFSCAR
2010
Engenharia de Software – UFSCAR 2010 – André L Zanon
Um paralelo com Sistema de
Gestão da Qualidade
Engenharia de Software – UFSCAR 2010 – André L Zanon
Um Sistema de Gestão da
Qualidade exige:
 Procedimentos e métodos de processos
 Controles e medições
 Atendimento às especificações (declaradas ou
não declaradas)
 Registros
 Técnicas para identificação de falhas e
tratamento de desvios
 Processos mapeados
 Responsabilidades definidas
 Comunicação eficiente (interna e externa)
Engenharia de Software – UFSCAR 2010 – André L Zanon
Procedimentos e métodos
Procedimentos e métodos bem
elaborados garantem um processo
eficiente
Engenharia de Software – UFSCAR 2010 – André L Zanon
Controles e medições
Controles e medições adequados ajudam
a identificar falhas nos processos e
caracterizam a eficiência do SGQ
Engenharia de Software – UFSCAR 2010 – André L Zanon
Especificações (Requisitos)
Conhecer as especificações declaradas e
perceber as especificações não
declaradas garantem a satisfação do
cliente (usuário)
“em se tratando de Sistemas de Informação,
o usuário final tem uma influência
preponderante na avaliação da qualidade
do software”
Engenharia de Software – UFSCAR 2010 – André L Zanon
Registros
Registrar as ocorrências conformes e nãoconformes permite dimensionar a
qualidade funcional do SGQ
Engenharia de Software – UFSCAR 2010 – André L Zanon
Técnicas para identificação de
falhas
A utilização de ferramentas e técnicas
para identificação de causas de
problemas nos processos, ajudam a evitar
reincidência de falhas
Engenharia de Software – UFSCAR 2010 – André L Zanon
Processos mapeados
Conhecer completamente o processo,
identificando as entradas, fluxos e saídas,
permite definir os recursos necessários e
responsabilidades para a execução das
tarefas envolvidas nos processos
Engenharia de Software – UFSCAR 2010 – André L Zanon
Responsabilidades
Atribuir bem as responsabilidades,
garante bons resultados nas tarefas
executadas
Engenharia de Software – UFSCAR 2010 – André L Zanon
Comunicação
Possuir um canal eficiente de
comunicação, garante a integridade da
informação
Engenharia de Software – UFSCAR 2010 – André L Zanon
Qualidade de Software
 Como qualquer outro produto, o software
precisa possuir garantias de que foi ou
está sendo produzido e mantido de forma
adequada
Engenharia de Software – UFSCAR 2010 – André L Zanon
Qualidade de Software
De acordo com a norma ISO/IEC 9126, fatores
que definem a qualidade do software
 Funcionalidade (o que faz, segurança, etc)
 Confiabilidade (maturidade, tolerância a falhas,
etc)
 Usabilidade (facilidade de utilização)
 Eficiência (tempo de resposta e utilização de
recursos)
 Manutenibilidade (possível de corrigir, adaptar,
etc)
 Portabilidade (utilização em diferentes
plataformas)
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
A intangibilidade e a variedade de funções
consideradas no software, dificultam as
medições.
Entretanto, medir e comparar é uma
necessidade fundamental para avaliar a
performance de um produto.
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Método GQM (Goal-Question-Metric):
 Estabelece objetivos explícitos de
medição da atividade ou processo
 Questões chaves cujas respostas
permitem alcançar os objetivos
 Métricas bem formuladas que auxiliam
nas respostas das questões
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Tamanho:
 O tamanho do software pode ser um
indicador de várias características: maior
complexidade, maior tempo para
codificação, etc.
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Pontos por função:
 Considera as funções criadas no sistema.
Pode ser aplicada na descrição
arquitetural do projeto. Independe da
tecnologia aplicada no projeto
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Complexidade estrutural:
 Avalia o numero de componentes
aplicados na construção do software.
Pode ser aplicada a partir dos diagramas
UML
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Baseada em fluxo de dados:
 Mede a complexidade baseada no
volume de informação processado pelos
componentes do software
Engenharia de Software – UFSCAR 2010 – André L Zanon
Métricas
Acoplamento e coesão:
 Medem o grau de dependência entre os
componentes de um programa, podendo
ser sub-rotinas, objetos ou módulos.
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration):
 Modelo de capacitação de processo para
desenvolvimento de software
 Permite conhecer e aprimorar processos
de desenvolvimento de software
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration):
 O nível de maturidade é definido em
cinco etapas:
Otimizado
Gerenciado
quantitativamente
Definido
Gerenciado
Inicial
Processos
caóticos
Processos
controlados
Processos
padronizados
Processos
melhorados
continuamente
Processos
medidos
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration) Nível 1:
 Processos são caóticos
 Não existem padrões ou não são
seguidos
 O planejamento é deficiente e geralmente
prazos e custos não são cumpridos
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration) Nível 2:
 Os processos são bem definidos e
planejados
 A gerência de projetos passa a ter um
papel efetivo
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration) Nível 3:
 Os processos são bem identificados
 A padronização é permanente
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration) Nível 4:
 Há uma evolução para tratamentos
quantitativos dos processos
 Métricas passam a ser adotadas
 A produtividade e qualidade passam a ser
controladas
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
CMMI (Capability Maturity Model
Integration) Nível 5:
 Prevalece o conceito de melhoria
contínua nos processos
 As ações passam a ser pró-ativas para
que processos sejam melhorados
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
MPS-BR (Melhoria de Processo de Software
Brasileiro):
 Criado para a melhoria do processo de
desenvolvimento de software em
empresas o brasileiras
 Os níveis de maturidade variam de A
(avançado) a G (básico)
Engenharia de Software – UFSCAR 2010 – André L Zanon
Modelos
MPS-BR (Melhoria de Processo de Software
Brasileiro):
Nível G – Parcialmente gerenciado
Nível F – Gerenciado
Nível E – Parcialmente definido
Nível D – Largamente definido
Nível C – Definido
Nível B – Gerenciado quantitativamente
Nível A – Em otimização
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Garantia da qualidade consiste de um
conjunto de funções para auditar e relatar
que avalia a efetividade e completeza das
atividades de controle da qualidade
[Pressman, 2006].
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Gestão de custos da qualidade:
 Prevenção: planejamento, revisões
equipamentos de testes e treinamento
 Avaliação: relacionados ao entendimento
operacional e calibração
Falhas: custos relacionados com falhas do
sistema
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Garantia da Qualidade de Software - SAQ
(Software Quality Assunrace):
 Plano de projeto: desenvolvido na fase de
planejamento sendo revisado e auditado
pelas partes
 Descrição do processo de software: visa
a satisfação da política empresarial,
obedecendo à padrões internos e
externamente impostos, por exemplo, ISO
9001
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Garantia da Qualidade de Software - SAQ
(Software Quality Assunrace):
 Satisfação do processo definido: garante
o cumprimento de procedimentos
estabelecidos e verifica se correções
foram feitas
 Auditoria de processos: verifica
processos, registra e acompanha desvios
e relata aos responsáveis pelo projeto
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Garantia da Qualidade de Software - SAQ
(Software Quality Assunrace):
 Documentação de desvios: garante que
desvios sejam registrados e acompanha
as disposições de tratamento
 Registro de não-satisfação: registra e
relata e acompanha os itens que não
atendem ao padrão exigido
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Garantia da Qualidade de Software - SAQ
(Software Quality Assunrace):
 Mudanças: coordena o controle de gestão
de mudanças
 Métricas: auxilia na coleta e análise das
métricas do software
Engenharia de Software – UFSCAR 2010 – André L Zanon
Gestão da Qualidade do Software
Revisões de Técnicas Formais garante:





Identificar erros do software
Satisfação dos requisitos
Satisfação dos padrões estabelecidos
Padronização no desenvolvimento
Viabilizar a administração do projeto
Engenharia de Software – UFSCAR 2010 – André L Zanon
Conclusão
A qualidade do software pode ser alcançada
seguindo: conceitos gerenciais, rigor na
escolha e aplicação de modelos, métodos
e métricas.
Todos estes procedimentos muito bem
definidos, contribuem para a eficiência do
Sistema de Gestão da Qualidade do
Software.
Engenharia de Software – UFSCAR 2010 – André L Zanon
Referências Bibliográficas
KOSCIANSKY, A. e SOARES, M.S.,”Qualidade de Software”,
Novatec, 2007
PRESSMAN, R.S., “Engenharia de Software”. McGraw Hill,
2006.
Engenharia de Software – UFSCAR 2010 – André L Zanon
Download

Qualidade de Software