Engenharia de Software
Qualidade de SoftwareUma abordagem conceitual
André Luis ZanonSão Carlos SP – UFSCAR
2010
Engenharia de Software – UFSCAR 2010 – André L Zanon
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ão- conformes 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 SoftwareDe 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étricasA 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étricasMé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étricasTamanho:
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étricasPontos 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étricasComplexidade 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étricasBaseada 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étricasAcoplamento 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
ModelosCMMI (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
ModelosCMMI (Capability Maturity Model Integration): O nível de maturidade é definido em cinco
etapas:
InicialProcessos caóticos
Gerenciado
Processos controlados
Definido
Processos padronizados
Gerenciado quantitativamente
Processos medidos
Otimizado
Processos melhorados
continuamente
Engenharia de Software – UFSCAR 2010 – André L Zanon
ModelosCMMI (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
ModelosCMMI (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
ModelosCMMI (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
ModelosCMMI (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
ModelosCMMI (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
ModelosMPS-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
ModelosMPS-BR (Melhoria de Processo de Software Brasileiro):Nível G – Parcialmente gerenciadoNível F – GerenciadoNível E – Parcialmente definidoNível D – Largamente definidoNível C – DefinidoNível B – Gerenciado quantitativamenteNí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 SoftwareGestã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 SoftwareGarantia 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 SoftwareGarantia 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 SoftwareGarantia 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 SoftwareGarantia 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 SoftwareRevisõ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ãoA 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áficasKOSCIANSKY, A. e SOARES, M.S.,”Qualidade de Software”,
Novatec, 2007
PRESSMAN, R.S., “Engenharia de Software”. McGraw Hill, 2006.