Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos...
Transcript of Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos...
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.