TAES 3 – Tópicos Avançados em Engenharia de Software 3 Professor: Alexandre Vasconcelos Modelos de Qualidade de Produto de Software Marcio Magalhães de Souza 19/12/2006
2 Roteiro Introdução Normas e Modelos de Qualidade do Produto de Software Projeto SQuaRE Aplicabilidade Referências
3 Introdução Modelos de Qualidade de Produto de Software ? Preocupação com a melhoria da qualidade de produto e de serviço. Avaliações de produtos através de algum tipo de certificação emitida com base numa padronização.
4 A ISO e a IEC elaboraram um conjunto de normas que tratam sobre a atual padronização mundial para a qualidade de produtos de software: –ISO/IEC 9126 »Características de qualidade de software (NBR 13596) –ISO/IEC »Guias para Avaliação de Produto de Software –ISO/IEC »Requisitos de Qualidade e Testes de Pacotes de Software (NBR12119) Normas e Modelos de Qualidade do Produto de Software
A Norma ISO/IEC 9126
6 É 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“, bem como, métricas usadas na sua avaliação (medição, pontuação e julgamento dos softwares). Norma ISO/IEC 9126
7 ISO/IEC : Modelo de Qualidade; ISO/IEC : Métricas Externas - Apoio para definição dos atributos de qualidade; ISO/IEC : Métricas Internas - Apoio para definição dos atributos de qualidade; ISO/IEC : Métricas de Qualidade em Uso. Norma ISO/IEC 9126: Estrutura
8 ISO/IEC : Modelo de Qualidade Documento composto basicamente de definições para as características de qualidade: –Funcionalidade –Confiabilidade –Usabilidade –Eficiência –Manutenibilidade –Portabilidade
9 ISO/IEC : Modelo de Qualidade
10 ISO/IEC : Métricas Externas Apóia-se na definição dos atributos externos de qualidade correlacionados com uma determinada característica; 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.
11 Devem ser usadas para: –para avaliar o comportamento do software quando usado em situações específicas; –para predizer a qualidade real no uso; –para 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. ISO/IEC : Métricas Externas
12 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, como por exemplo, linhas de código, número de erros encontrados em revisões, etc. ISO/IEC : Métricas Internas
13 As métricas internas fornecem aos usuários a possibilidade de medir a qualidade dos artefatos intermediários e de prever a qualidade do produto final; Isto permite que o usuário identifique problemas de qualidade e inicie a ação corretiva assim que possível no ciclo de vida do desenvolvimento. ISO/IEC : Métricas Internas
14 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. ISO/IEC : Métricas de Qualidade em Uso
15 ISO/IEC : 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 completadas/ # 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
16 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. Relacionamento entre os Tipos de Métricas
A Norma ISO/IEC 14598
18 ISO/IEC Orienta planejamento e a execução de um processo de avaliação da qualidade do produto de software; Necessidade de complementar a ISO/IEC 9126; Processo de avaliação em grande detalhe; Recursos interessantes aos avaliadores.
19 ISO/IEC 14598: Certificação Três grupos interessados em avaliar um software, o que define os três tipos básicos de certificação: CertificaçãoQuem realizaFinalidade de 1a. parteEmpresas que desenvolvem softwareMelhorar a qualidade de seu próprio produto de 2a. parteEmpresas que adquirem softwareDeterminar a qualidade do produto que irão adquirir de 3a. parteEmpresas que fazem certificaçãoEmitir documento oficial sobre a qualidade de um software
20 ISO/IEC 14598: Estrutura Conjunto de guias que apóia este processo de avaliação: NormaNomeFinalidade Visão GeralEnsina a utilizar as outras normas do grupo Planejamento e GerenciamentoSobre como fazer uma avaliação, de forma geral Guia para DesenvolvedoresComo avaliar sob o ponto do vista de quem desenvolve Guia para AquisiçãoComo avaliar sob o ponto de vista de quem vai adquirir Guia para AvaliaçãoComo avaliar sob o ponto de vista de quem certifica Módulos de AvaliaçãoDetalhes sobre como avaliar cada característica
21 ISO/IEC 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 vai a detalhes mínimos, 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.
22 ISO/IEC 14598: Exemplo Modelo de relatório de avaliação, segundo um anexo da norma ISO/IEC SeçãoItens 1 – Prefácio Identificação do avaliador Identificação do relatório de avaliação Identificação do contratante e fornecedor 2 – Requisitos Descrição geral do domínio de aplicação do produto Descrição geral dos objetivos do produto Lista dos requisitos de qualidade, incluindo - Informações do produto a serem avaliadas - Referências às características de qualidade - Níveis de avaliação 3 - Especificação Abrangência da avaliação Referência cruzada entre os requisitos de avaliação e os componentes do produto Especificação das medições e dos pontos de verificação Mapeamento entre a especificação das medições com os requisitos de avaliação 4 - Métodos Métodos e componentes nos quais o método será aplicado 5 - Resultado Resultados da avaliação propriamente ditos Resultados intermediários e decisões de interpretação Referência às ferramentas utilizadas
A Norma ISO/IEC 12119
24 Aplicável à avaliação de pacotes de software na forma em que são oferecidos e liberados para uso no mercado; Entende-se por pacote de software o "conjunto completo e documentado de programas fornecidos a diversos usuários para uma aplicação ou função genérica". ISO/IEC 12119
25 Aprovada pela ISO em 1994; No Brasil ela foi aprovada pelo comitê técnico CB-21 da ABNT em 1998: NBR ISO/IEC 12119; Essa norma é aplicável a todos os tipos de pacotes de software. ISO/IEC 12119
26 ISO/IEC 12119: Requisitos de Qualidade Correspondem à documentação que deve existir associada a um pacote de software: –Descrição do Produto –Documentação do Usuário –Programas e Dados
27 ISO/IEC 12119: Instruções para Testes Recomendações de como um produto deve ser testado em relação aos requisitos de qualidade estão registradas nos seguintes documentos: –Pré-requisitos de Teste –Atividades de Teste –Registros de Teste –Relatório de Teste –Teste de Acompanhamento
28 ISO/IEC 12119: Estrutura
O projeto SQuaRE
30 Software product Quality Requirements and Evaluation Grupo WG6 do ISO/IEC JTC1 SC7; Evolução das séries de produtos ISO/IEC 9126 e 14598; Documento inicial em 1999 na reunião de Kanazawa; Aprovado pelo SC7 em 2000 na reunião de Madri; Em Agosto de 2005 foi lançada a primeira versão da norma SQuaRE; Norma ISO/IEC SQuaRE: Histórico
31 SQuaRE: Arquitetura A ISO/IEC reservou o limite de a no caso de ser utilizado para os padrões internacionais de extensão do SQuaRE e/ou para os relatórios técnicos. ISO/IEC 2503n Quality Requirement Division ISO/IEC 2504n Quality Evaluation Division ISO/IEC 2501n Quality Model Division ISO/IEC 2502n Quality Measurement Division ISO/IEC 2500n Product Quality General Division
32 SQuaRE: 2500n 2500n: Quality Management Division 25000: Guide to the SQuaRE 25001: Planning and Management Substitui a Terminologia da Software Product Quality Division
33 SQuaRE: 2501n 2501n: Quality Model 25010: Quality Model 25012: Data Quality Model Novo Baseada na Quality Model Division
34 SQuaRE: 2502n 2502n: Quality Measures 25020: Measurement reference Model and Guide 25024: Quality In Use Measures Da e as partes comuns da 9126-{2, 3 e 4} Quality Measures Division 25021: Quality Measure Element Novo 25022: Internal Measures 25023: External Measures Substitui Substitui Substitui
35 SQuaRE: 2503n 2503n: Quality Requirement 25030: Quality Requirements Guia Geral para Requisitos de Qualidade Requisitos para Requisitos de Qualidade Requisito de Qualidade em Uso Requisito d Qualidade Externa Requisito de Qualidade Interna Quality Requirement Division Guias
36 SQuaRE: 2504n 2504n: Quality Evaluation 25040: Evaluation Process Overview 25041: Developers Process Grandes revisões da Quality Evaluation Division 25042: Acquirers Process 25043: Evaluators Process 25044: Evaluation Module Pequenas revisões
37 Em 2006, foram acrescentadas à norma mais duas extensões: –ISO/IEC 25051: define requisitos de qualidade para COTS; –ISO/IEC 25062: provê um método padrão para reportar os resultados dos testes de usabilidade. SQuaRE: Evolução
38 SQuaRE: Comparação As principais diferenças da SQuaRE em relação às normas 9126, são: –Introdução de um novo modelo de referência geral; –Introdução de guias detalhados para cada divisão; –Introdução de elementos de medida de qualidade dentro da divisão de medida de qualidade; –Introdução da divisão de requisitos de qualidade; –Incorporação e revisão dos processos de avaliação; –Adaptação do conteúdo com a norma ISO/IEC (processos de medição).
39 Villas Boas, André Luiz de Castro. Qualidade e Avaliação de Produto de Software. Lavras: UFLA / FAEPE, Carneiro, Marcelo Renê. “Uma Análise Crítica do MEDE-PROS”. Trabalho de Conclusão do Curso de Especialização em Tecnologia da Informação. Centro de Informática – UFPE, Scalet, Danilo. “Modelo SQuaRE para especificação e avaliação da qualidade de produto de software”. Fórum Melhoria do Produto de Software Brasileiro, Referências
40 ANJOS, Lúcio André Mendonça e MOURA, Hermano Perrelli. “Um Modelo para Avaliação de Produtos de Software”. Centro de Informática - Universidade Federal de Pernambuco - UFPE. Suryn, Witold e Abran, Alain. “ISO/IEC SQuaRE. The second generation of standards for software product quality”. IASTED SEA Qualidade e Produtividade no Setor de Software Brasileiro N.4. Ministério da Ciência e Tecnologia - Secretaria de Política de Informática, Brasília, ISSN X. Site do ISO/IEC JTC1/SC7 - Referências
41 ? Dúvidas