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
Download

Qualidade de Produtos de Software