Qualidade do Produto de Software Normas e Modelos de Qualidade do Produto de Software – ISO/IEC 9126 » Características de qualidade de software – ISO/IEC 14598 » Guias para Avaliação de Produto de Software – ISO 25000 (SQuaRE) » Reformulação da 9126+14598 2/29 A Norma ISO/IEC 9126 • É uma norma composta por um conjunto de características que devem ser verificadas em um software para que ele seja considerado um "software de qualidade". 3/29 A Norma ISO/IEC 9126: estrutura • • • • ISO/IEC 9126-1: Modelo de Qualidade ISO/IEC 9126-2: Métricas Externas ISO/IEC 9126-3: Métricas Internas ISO/IEC 9126-4: Métricas de Qualidade em Uso 4/29 ISO/IEC 9126-1 - Modelo de Qualidade • Documento composto basicamente de definições para as características de qualidade 5/29 ISO/IEC 9126-1 - Modelo de Qualidade Interna e Externa • Para qualquer requisito de qualidade interna ou externa deve ser possível especificá-lo utilizando-se apenas as seis características. 6/29 ISO 9126–1: Modelo de qualidade para qualidade em uso • Visão de qualidade do usuário 7/29 Medição do Produto de Software: ISO 9126–2..4 • Definições – Atributo: Uma propriedade mensurável, física ou abstrata, de uma entidade. Atributos podem ser internos ou externos. – Medição: O uso de uma métrica para atribuir um valor (o qual pode ser um número ou uma categoria), obtido a partir de uma escala, a um atributo de uma entidade. – Métrica: O método e a escala de medição definidos. 8/29 Medição do Produto de Software: seleção de métricas • As características de qualidade não permitem medição direta. • É necessário estabelecer métricas que se correlacionem às características do produto de software. 9/29 ISO/IEC 9126-2 - Métricas Externas • Define indicadores e métricas externas para avaliar um produto de software. • Referem-se a medições indiretas de um produto de software a partir do comportamento do Sistema Computacional ou do seu efeito no ambiente, quando da execução de seus programas 10/29 ISO/IEC 9126-2 - Métricas Externas • Devem ser usadas para: – avaliar o comportamento do software quando usado em situações específicas; – predizer a qualidade real no uso; – avaliar e indicar se o produto satisfaz as verdadeiras necessidades durante a operação real pelo usuário. • Exemplo: – Característica: Funcionalidade – Sub-característica: Adequação • quantidade de funções atendidas, que poderão ser subdivididas em desejáveis e obrigatórias. 11/29 ISO/IEC 9126-3 - Métricas Internas • Define indicadores e métricas internas para avaliar um produto de software • Métricas internas referem-se a medições de um produto de software a partir de suas próprias características internas, sem a necessidade de execução dos programas. – Exemplos: número de linhas de código, número de erros encontrados em revisões, etc. 12/29 ISO/IEC 9126-3 - Métricas Internas • As métricas internas oferecem a possibilidade de medir a qualidade dos artefatos intermediários e de prever a qualidade do produto final • Isto permite que sejam identificados problemas de qualidade e se inicie a ação corretiva assim que possível no ciclo de vida do desenvolvimento. 13/29 ISO/IEC 9126-4 - Métricas de Qualidade em Uso • A avaliação da Qualidade em Uso do software valida a qualidade do produto em cenários e tarefas comuns ao usuário • Os atributos da qualidade em uso são categorizados pelas características: efetividade, produtividade, segurança e satisfação • Usuários também podem desenvolver e aplicar métricas para seus domínios particulares de aplicação 14/29 ISO/IEC 9126-4 - Métricas de Qualidade em Uso: exemplo Efetividade Nome da Métrica: Tarefas Completadas Propósito: determinar proporção de tarefas completadas Fórmula: (# tarefas compltadas/ # tarefas tentadas) Interpretação: 0 <= x <= 1, quanto mais próximo de 1, melhor Entradas: relatório de operação, registro de histórico de uso 15/29 Qualidade no Ciclo de Vida do Software 16/29 Relacionamento entre os Tipos de Métricas • Qualidade interna e externa são aplicáveis ao produto de software • Qualidade em uso é aplicável ao efeito do produto de software em um cenário específico • As métricas internas podem ser aplicadas a um produto de software não executável • As métricas externas podem ser usadas para medir a qualidade do produto de software através da medição de seu comportamento em um sistema do qual ele faça parte • As métricas de qualidade em uso medem o quanto o produto agrega às necessidades de usuários específicos 17/29 A Norma ISO/IEC 14598 • Orienta o planejamento e a execução de um processo de avaliação da qualidade do produto de software • Complementa a ISO/IEC 9126. • Inclui modelos para relatórios de avaliação, técnicas para medição das características, documentos necessários para avaliação e fases da avaliação 18/29 A Norma ISO/IEC 14598: estrutura Norma Nome Finalidade 14598-1 Visão Geral Ensina a utilizar as outras normas do grupo 14598-2 Planejamento e Gerenciamento Sobre como fazer uma avaliação, de forma geral 14598-3 Guia para Desenvolvedores Como avaliar sob o ponto do vista de quem desenvolve 14598-4 Guia para Aquisição Como avaliar sob o ponto de vista de quem vai adquirir 14598-5 Guia para Avaliação Como avaliar sob o ponto de vista de quem certifica 14598-6 Módulos de Avaliação Detalhes sobre como avaliar cada característica 19/29 A Norma ISO/IEC 14598 • Em resumo: – complementa a ISO/IEC 9126; – permite uma avaliação padronizada das características de qualidade de um software. • É importante notar que, ao contrário da ISO/IEC 9126, a ISO/IEC 14598 apresenta detalhes, incluindo: – – – – modelos para relatórios de avaliação; técnicas para medição das características; documentos necessários para avaliação fases da avaliação. 20/29 Projeto SQuaRE • SQuaRE – Software Product Quality Requirements and Evaluation (ISO 25000) Modelo de Qualidade 2501n Requisitos de Qualidade 2503n Gestão de Qualidade 2501n Avaliação 2504n Medições 2501n 21/29 Square – Normas Publicadas • ISO/IEC 25000 - Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE; • ISO/IEC 25001 - Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Planning and management; • ISO/IEC 25020 - Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Measurement reference model and guide; • ISO/IEC TR 25021 - Software Engineering: Software product Quality Requirements and Evaluation (SQuaRE) - Quality measure elements; • ISO/IEC 25030 - Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Quality requirements; • ISO/IEC 25051 Software Engineering – Software product Quality Requirements and Evaluation (SQuaRE) – Requirements for quality of Commercial Off-TheShelf (COTS) software product and instructions for testing; e • ISO/IEC 25062, Software engineering: Software product Quality Requirements and Evaluation (SquaRe) - Common Industry Format (CIF) for Usability Test Reports. 22/29 Técnicas de Avaliação de Produto de Software • Podemos destacar: – Testes – Revisões 23/29 Modelos de Maturidade para Testes • Modelos de referência para o processo de desenvolvimento são superficiais em relação às atividades de testes • Modelos de maturidade para testes – modelos de referência para a definição de processos de testes mais eficientes. 24/29 Test Process Improvement - TPI • 20 áreas chaves dividas em: • • • • ciclo de vida do desenvolvimento do software; técnicas de planejamento e testes; infra-estrutura do ambiente de testes; fatores organizacionais. Áreas Chave Matriz de Níveis Maturidade De Teste Pontos de Verificação Sugestões de Melhoria 25/29 Test Maturity Model Integration - TMMI • Baseado no CMMI • 5 níveis de maturidade, áreas de processo definidas para cada nível Otimização Gerenciamento e Medição Integração Definição Inicial 26/29 Test Improvement Model - TIM • Desenvolvido pela Ericson, Subotic, Ursing • 5 níveis de maturidade: • • • • • Nível 0 Nível 1 – Baseline Nível 2 – Cost-efectiveness Nível 3 – Risk-lowering Nível 4 – Optimizing • Aspectos: • • • • • Organização Planejamento e rastreabilidade Casos de testes Testware Revisões 27/29 Conclusão • Produzir software de qualidade é uma tarefa difícil, porém possível. – O processo de avaliação de produtos de software complementa o processo de desenvolvimento 28/29 Conclusão • São vários os benefícios alcançados decorrentes da avaliação de produtos de software: – O produtor poderá assegurar a qualidade do produto final; – Redução nos custos com a manutenção do software; – O usuário ficará mais satisfeito, pois estará adquirindo um produto de qualidade; – O vendedor poderá usar como argumento de venda a qualidade assegurada do produto que está vendendo; – Organizações poderão exigir critérios de qualificação com propósitos específicos. 29/29