1 / 31

Fundamentos de Engenharia de Software

Fundamentos de Engenharia de Software. Gestão de Qualidade ou Garantia da Qualidade de Software. Engenharia de Software:. OBJETIVO Produção econômica de software de qualidade Produto Software Processo de Produção de Software Qualidade. Software: produto.

jory
Download Presentation

Fundamentos de Engenharia de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentos de Engenharia de Software Gestão de Qualidade ou Garantia da Qualidade de Software

  2. Engenharia de Software: • OBJETIVO • Produção econômica de software de qualidade • Produto Software • Processo de Produção de Software • Qualidade

  3. Software: produto • Produção intelectual, portanto humana • Maleabilidade problemática • O “produto software” inclui o código objeto e os manuais de uso e mais, os requisitos, o projeto, o código fonte, os dados de teste, enfim todos os artefatos produzidos no processo de produção.

  4. Software: processo de produção • Dinâmica das atividades envolvidas na “produção” de software • atividades técnicas e gerenciais • modelos prescritivos de processo • Problema: como organizar e controlar essa dinâmica de forma a produzir economicamente software de qualidade?

  5. Qualidade de Software • Perspectivas • Conceitual • o que é qualidade de software? • Quantitativa • objetivo revisto: produção mais econômica de software de mais qualidade • Processual • a “produção” da qualidade

  6. Qualidades do produto Correção, Confiabilidade e Robustez • Correção: aderência à especificação. • Confiabilidade: confiança que o usuário deposita no SW • Robustez: capacidade de lidar com situações não previstas Desempenho: capacidade de uso econômico dos recursos computacionais Ergonomia: Facilidade de uso, representada pela interface Verificabilidade: Facilidade com que propriedades podem ser verificadas

  7. Qualidades do produto Manutenibilidade: • Manutenção não é o termo correto • Manutenção pode ser : corretiva, adaptativa e perfectiva • Consome 60% dos recursos durante a vida Reusabilidade: • Fator importante do custo • Aplicado em vários níveis : especificação, projeto e rotinas Portabilidade: • Capacidade de ser executado em vários ambientes • Variações de CPUs e Sistemas operacionais

  8. Qualidades do produto Compreensibilidade: Facilidade do usuário compreender o sistema Interoperabilidade: • Capacidade de coexistir e cooperar com outros Sws. • Sistema aberto: conjunto extensível de aplicações, independentes que cooperam para atuar como um sistema integrado.

  9. Qualidades do processo Produtividade: • Eficiência do processo • Recursos necessários para atingir a qualidade Pontualidade: • Capacidade do processo de entregar produto no prazo • Problemas: estimativa, mudança de requisitos Transparência: • Importante para : tomada de decisões, rotação de pessoal • Documentação do processo

  10. Qualidade de Software • Perspectivas • Conceitual • o que é qualidade de software? • Quantitativa (=> Métricas) • objetivo revisto: produção mais econômica de software de mais qualidade • Processual • a “produção (garantia)” da qualidade

  11. Produção da Qualidade • Mecanismos • o processo (técnico) de produção de software (métodos, técnicas e ferramentas) • a Gestão de Qualidade (ou Garantia de Qualidade de Software)

  12. Gestão de Qualidade • Alguns conceitos • controle de qualidade • garantia da qualidade • custo da qualidade • custo de prevenção • custo de falha

  13. Custo do Erro

  14. Gestão de Qualidade Qualidade de software: Conformidade com os requisitos funcionais e de performance explicitamente declarados, com os padrões de desenvolvimento explicitamente documentados, e características implícitas que são esperadas de todo software profissionalmente desenvolvido

  15. Gestão de Qualidade • Tipos de atividades • atividades GQS (ou do grupo GQS) • verificar e garantir as conformidades • revisões técnicas • detectar erros

  16. Atividades GQS – (1) 1. Preparar um plano SQA para o projeto • Avaliações a serem realizadas; • Auditorias e revisões a serem efetivadas; • Padrões aplicáveis ao projeto; • Procedimentos para informar e acompanhar os erros; • Documentos a serem produzidos pelo grupo SQA; • Quantidade de feedback a ser fornecido à equipe de software. 2. Participar no desenvolvimento da descrição do processo de software do projeto 3. Rever atividades para verificar a conformidade ao processo definido

  17. Atividades GQS – (2) 4. Auditar alguns produtos selecionados para verificar conformidade com suas especificações segundo o processo; 5. Assegurar que os desvios nas atividades e nos produtos sejam documentados e tratados segundo um procedimento documentado. 6. Registrar toda não conformidade e informar a gerência do projeto 7. Coordenar o controle e gerência das mudanças. 8. Ajudar a coletar e analisar métricas

  18. Gestão de Qualidade • Tipos de atividades • atividades GQS (ou do grupo GQS) • verificar e garantir as conformidades • revisões técnicas • detectar erros

  19. Modelo de Amplificação de Defeitos Passo de desenvolvimento Defeitos Detecção Erros advindos do passo anterior Erros que atravessaram Percentual de eficiência na detecção de erros Erros amplificados 1:x Erros passados para o próximo passo Erros recém-gerados

  20. Modelo de Amplificação de Defeitos(sem revisões) Projeto preliminar 0 Projeto detalhado (x=1.5) Código/ Teste de unidade (x=3) 10 6 0 0% 6 37 10 10 4 4 x 1.5 0% 10 27 94 25 27 x 3 20% Teste de integração 25 Teste de validação 47 94 Teste de sistema 0 50% 24 0 0 50% 12 0 50% 0 0

  21. Modelo de Amplificação de Defeitos(com revisões) Projeto preliminar 0 Projeto detalhado (x=1.5) Código/ Teste de unidade (x=3) 3 2 0 70% 2 15 5 10 1 1 x 1.5 50% 5 10 24 25 10 x 3 60% Teste de integração 25 Teste de validação 12 24 Teste de sistema 0 50% 6 0 0 50% 3 0 50% 0 0

  22. Diferença de custos

  23. Revisões técnicas formais • Objetivos: • Descobrir erros na função, lógica, ou implementação de qualquer representação do software; • Verificar se o software (representação) atende aos requisitos. • Garantir que o software tenha sido representado conforme padrões pré-definidos. • Obter softwares que sejam desenvolvidos mais uniformemente. • Tornar os projetos mais gerenciáveis. • A FTR serve como espaço de treinamento e para promover backup e a continuidade.

  24. Reunião de revisão • Restrições à reunião: • Entre 3 e 5 pessoas, uma preparação antecipada (que dure não mais que duas horas) e duração da reunião inferior a 2 horas • O foco da reunião FTR é um produto – um componente de software. • Atividades preparatórias: produtor, líder do projeto, revisor líder, revisores. • Reunião: participantes, agenda, escriba. • Ao final da reunião, os participantes devem decidir: • Aceitam o produto. • Rejeitam o produto (após correção dos erros, outra revisão deve ser realizada). • Aceitam o produto provisoriamente (nenhuma revisão adicional é exigida)

  25. Registro da revisão • Sumário de revisão • O que foi revisado? • Quem fez a revisão? • Quais foram as descobertas e conclusões? • Acompanhamento

  26. Diretrizes para a revisão • Revise o produto, não o produtor. • Fixe e mantenha uma agenda. • Limite o debate e a contestação. • Enuncie as áreas problemáticas, mas não tente resolver cada problema anotado. • Faça anotações por escrito. • Limite o número de participantes e insista numa preparação antecipada. • Desenvolva uma lista de conferência para cada produto que será revisto. • Atribua recursos e uma programação de tempo para as FTRs. • Realize um treinamento para todos os revisores. • Reveja suas antigas revisões.

  27. Garantia Estatística de Qualidade de Software • Objetivo • identificar, estatisticamente, deficiências do processo que estejam ocasionando erros e corrigi-las. • Etapas • coletar dados sobre erros • identificar causas • categorizar as causas • totalizar por categoria • aplicar o Princípio de Pareto

  28. Garantia Estatística de Qualidade de SW

  29. Garantia Estatística de Qualidade de SW Incomplete or Erroneus Specification Misinterpretation of Customer Comunication Intentional Deviation from Specifications Violation of Programming Standards Error in Data Representation Inconsistent Component Interface Error in Design Logic Incomplete or Erroneus Testing Inaccurate or Incomplete Documentation Error in Programming Language Translation Inconsistent Human / Coomputer Interface Miscellaneous

  30. Confiabilidade de Software TBF • Confiabilidade • probabilidade de operação livre de falhas em um dado ambiente por um dado tempo • MTBF = MTTF + MTTR • Disponibilidade • = (MTTF/(MTTF + MTTR) x 100% TTR TTF

  31. BIBLIOGRAFIA • Capítulo 26, Pressman, R., Engenharia de Software, 6a edição, McGraw Hill, 2006. • Yourdon, E., Revisões Estruturadas, tradução de Structured Walkthroughs, 4a edição, Editora Campus, 1989

More Related