380 likes | 444 Views
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.
E N D
Engenharia de SoftwareQualidade de SoftwareUma abordagem conceitualAndré Luis ZanonSão Carlos SP – UFSCAR2010 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 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 Processos melhorados continuamente Processos medidos Definido Gerenciado Processos padronizados Processos controlados Inicial Processos caóticos 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