Qualidade do Produto de Software
2/59
Normas e Modelosde 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
3/59
Fatores de Qualidade do Produto de Software
• A noção de qualidade de software pode ser descrita por um grupo de fatores, requisitos ou atributos, tais como: confiabilidade, eficiência, facilidade de uso, modularidade, legibilidade, etc;
• Podemos classificar estes fatores em dois tipos: externos e internos.
Fatores Internos
Fatores Externos
4/59
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".
5/59
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
6/59
ISO/IEC 9126-1 - Modelo de Qualidade
• Documento composto basicamente de definições para as características de qualidade
7/59
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.
8/59
ISO 9126–1: Modelo de qualidade para qualidade em uso
• Visão de qualidade do usuário
9/59
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.
10/59
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.
• Todo atributo interno quantificável do software e todo atributo externo quantificável do software interagindo com seu ambiente e que se correlacione com uma característica, pode ser definido como uma métrica.
11/59
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
12/59
ISO/IEC 9126-2 - Métricas Externas
• Permite definir a medição somente para aquelas características que são determinantes para o produto de software desejado.
• A separação das características de qualidade permite a atribuição de pesos de forma a reforçar a importância desta ou daquela característica.
13/59
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.
14/59
ISO/IEC 9126-2 - Métricas Externas
1.Métricas de Funcionalidade – Medem atributos que evidenciam o
comportamento do sistema que contém o software.
1.1.Métricas de Adequação– Medem atributos do software que evidenciam um conjunto
de funções e sua apropriação para as tarefas especificadas.
Métrica Externa Fórmula Interpretação Tipo da Medida
Cobertura das funções implementadas
X = A / BA = Número de funções implementadas em teste.B = Número de funções especificadas.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
15/59
ISO/IEC 9126-2 - Métricas Externas
16/59
ISO/IEC 9126-2 - Métricas Externas
2. Métricas de Confiabilidade
– Medem atributos que evidenciam a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido.
2.1. Métricas de Maturidade– Medem atributos do software que evidenciam quão livre o
software está de ocorrências de falhas internas.
Métrica Externa Fórmula Interpretação Tipo da Medida
Resolução de Falhas X = A / BA = Número de falhas resolvidas.B= Número Total de Falhas de falhas detectadas
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
17/59
ISO/IEC 9126-2 - Métricas Externas
18/59
ISO/IEC 9126-2 - Métricas Externas
3. Métricas de Usabilidade
– Medem atributos que evidenciam o esforço necessário para poder-se utilizar o software, bem como o julgamento individual deste uso, por um conjunto implícito ou explícito de usuários.
3.1. Métricas de Inteligibilidade
- Medem os atributos que evidenciam o esforço do usuário para reconhecer o conceito lógico e sua aplicabilidade.
Métrica Externa Fórmula Interpretação Tipo da Medida
Entendimento da entrada/saída
X=A/BA= Número de funções onde o usuário compreende com sucesso os dados de entrada e saída em um curto período de avaliação.
B= Número de funções onde o usuário compreende com sucesso os dados de entrada e saída em um período de observação.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
19/59
ISO/IEC 9126-2 - Métricas Externas
20/59
ISO/IEC 9126-2 - Métricas Externas
4. Métricas de Eficiência – Medem os atributos que evidenciam
o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas.
4.1. Métricas de Comportamento em relação aos recursos
- Medem os atributos do software que evidenciam a quantidade de recursos usados e a duração de seu uso na execução de suas funções.
Métrica Externa Fórmula Interpretação Tipo da Medida
Utilização da Memória X = A / BA = Quantidade de memória utilizadaB = Memória total
0 <= X <= 1Valor próximo da média é o melhor.
A= TamanhoB= TamanhoX= Tamanho
21/59
ISO/IEC 9126-2 - Métricas Externas
5. Métricas de Portabilidade
- Medem os atributos do software que evidenciam a capacidade do software em ser transferido de um ambiente para outro.
22/59
ISO/IEC 9126-2 - Métricas Externas
5.1 Métricas de Capacidade para ser instalado– Medem os atributos do software que evidenciam o
esforço necessário para sua instalação num ambiente especificado.
Métrica Externa Fórmula Interpretação Tipo da Medida
Pouco esforço para instalação
X = AA= Número de manuias de usuário necessários para instalação.
0 < XO menor valor é o melhor.
A= ContagemX= Contagem
23/59
ISO/IEC 9126-2 - Métricas Externas
6. Métricas de Manutenibilidade– Medem os atributos que evidenciam o
esforço necessário para fazer modificações especificadas no software.
24/59
ISO/IEC 9126-2 - Métricas Externas
Métrica Externa Fórmula Interpretação Tipo da Medida
Facilidade nas mudanças X = A / BA= Soma do tempo dedicado à mudança.B= Tamanho do software modificado.
0 <=XQuanto mais próximo de zero melhor
A= TempoB= TempoX= Tamanho
25/59
6.1 Métricas de Modificabilidade– Medem os atributos do software que evidenciam o
esforço necessário para modificá-lo, remover seus defeitos ou adaptá-lo a mudanças ambientais.
ISO/IEC 9126-2 - Métricas Externas
26/59
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.
ISO/IEC 9126-3 - Métricas Internas
27/59
• 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.
28/59
ISO/IEC 9126-3 - Métricas Internas
Métricas para as características e
sub-características de qualidade1. Métricas internas de Funcionalidade
- São usadas para prever se o produto de software em questão irá satisfazer os requisitos funcionais e suprir as necessidades dos usuários.
29/59
ISO/IEC 9126-3 - Métricas Internas
1.1 Métricas de Segurança– Indicam um conjunto de atributos para avaliar a capacidade
do produto de software de evitar acesso ilegal ao sistema e a seus dados.
Métrica Interna Fórmula Interpretação Tipo da Medida
Prevenção da corrupção dos dados
X=A/B
A= Número de instâncias implementadas de prevenção de corrupção de dados como especificado na revisão.
B= Número de instâncias de operação/acesso identificadas nos requisitos capazes de corromper os dados.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
30/59
ISO/IEC 9126-3 - Métricas Internas
• Métricas internas de Confiabilidade
- São usadas para prever se o produto de software em questão irá satisfazer, na fase de desenvolvimento do produto, necessidades de confiabilidade preestabelecidas.
31/59
ISO/IEC 9126-3 - Métricas Internas
2.1 Tolerância a falhas– Indicam um conjunto de atributos para avaliar a capacidade
do produto de software de manter um nível de performance desejável em caso de falhas operacionais ou uso não natural das interfaces.
Métrica Interna Fórmula Interpretação Tipo da Medida
Não permissão de operações incorretas
X=A/B
A=Número de funções implementadas para evitar padrões de operações incorretas.
B=Número de operações incorretas que serão consideradas.
0 <= X
Melhor resultado para X maiores.
A = ContagemB = ContagemX= Contagem/Contagem
32/59
ISO/IEC 9126-3 - Métricas Internas
3. Métricas internas de Usabilidade- São usadas para prever em que extensão o
software em questão poderá ser entendido, aprendido, operado, atraente ao usuário e compatível com os regulamentos de usabilidade.
33/59
ISO/IEC 9126-3 - Métricas Internas
3.1 Métricas de aprendizado– Avaliam quanto tempo os usuários levarão para aprender a
usar funcionalidades particulares do sistema e a eficácia dos sistemas de ajuda e documentação.
Métrica Interna Fórmula Interpretação Tipo da Medida
Completude da documentação para o usuário e facilidade de uso dos sistemas de ajuda.
X= A/B
A= Número de funções descritas no documento.
B= Número total de funções do sistema.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
34/59
ISO/IEC 9126-3 - Métricas Internas
4. Métricas internas de Eficiência- São usadas para prever a eficiência do
comportamento do produto de software durante os testes ou operação.
35/59
ISO/IEC 9126-3 - Métricas Internas
4.1 Métricas de utilização de recursos– Indicam um conjunto de atributos para prever a utilização de
recursos de hardware pelo sistema computacional incluindo o produto de software durantes os testes ou operação.
Métrica Interna Fórmula Interpretação Tipo da Medida
Utilização de Entrada e Saída
X=número de buffers(calculados ou simulados)
Quanto menor, melhor o resultado .
X= Tamanho
36/59
ISO/IEC 9126-3 - Métricas Internas
5. Métricas internas de Manutenabilidade- São usadas para prever o nível de esforço
necessário para modificar o produto de software.
37/59
ISO/IEC 9126-3 - Métricas Internas
5.1 Métricas de custo de mudança– Indicam um conjunto de atributos para prever o tempo de
esforço necessário na tentativa de implementação de uma mudança no produto de software.
Métrica Interna Fórmula Interpretação Tipo da Medida
Impacto da mudança X=1-A/B
A= Número de impactos detectados após as modificações
B=Número de modificações feitas.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
38/59
ISO/IEC 9126-3 - Métricas Internas
6. Métricas internas de Portabilidade- São usadas para prever o efeito que o produto
de software terá no comportamento do sistema durante quando ele está sendo portado.
6.1 Métricas de Adaptabilidade– Indicam um conjunto de atributos para prever o impacto que
o produto de software pode ter no esforço do usuário ao tentar adaptá-lo a outros ambientes.
39/59
Métrica Interna Fórmula Interpretação Tipo da Medida
Adaptabilidade ao ambiente de hardware
X=A/B
A= Número de funções implementadas capazes de ter os mesmos resultados em diferentes ambientes de hardware
B=Número total de funções com requisitos de capacidade de adaptação de hardware.
0 <= X <=1Melhor resultado próximo de 1.
A = ContagemB = ContagemX= Contagem/Contagem
ISO/IEC 9126-3 - Métricas Internas
40/59
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
41/59
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
42/59
Qualidade no Ciclo de Vida do Software
43/59
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
44/59
Certificação da Qualidade do Produto
• Conjunto planejado e sistemático de todas as ações necessárias para fornecer uma confiança adequada de que o item ou produto está de acordo com os requisitos técnicos estabelecidos. (ANSI/IEEE Std 730-1984)
45/59
A Norma ISO/IEC 14598
Como avaliar um software de acordo com as características
estabelecidas???
46/59
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
47/59
A Norma ISO/IEC 14598:visões
Certificação Quem realiza Finalidade
de 1a. parte Empresas que desenvolvem software Melhorar a qualidade de seu próprio produto
de 2a. parte Empresas que adquirem software Determinar a qualidade do produto que irão adquirir
de 3a. parte Empresas que fazem certificação Emitir documento oficial sobre a qualidade de um software
48/59
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
A Norma ISO/IEC 14598
Seção Itens
1 - Prefácio Identificação do avaliadorIdentificação do relatório de avaliaçãoIdentificaçã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çãoReferência cruzada entre os requisitos de avaliação e os componentes do produtoEspecificação das medições e dos pontos de verificaçãoMapeamento 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 ditosResultados intermediários e decisões de interpretaçãoReferência às ferramentas utilizadas
49/59
• Modelo de relatório de avaliação, segundo um anexo da norma ISO/IEC 14598-5.
50/59
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.
• SQuaRE – Software Product Quality Requirements and Evaluation (ISO 25000)
Projeto SQuaRE
Requisitos de
Qualidade2503n
Modelo de Qualidade
2501n
Gestão de Qualidade
2501n
Medições2501n
Avaliação2504n
51/59
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-The-Shelf (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.
52/59
53/59
Técnicas de Avaliação de Produto de Software
• Podemos destacar:– Testes– Revisões
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.
• Investir em processo falho é desperdiçar mais recursos para obter os mesmos resultados.
54/59
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.
Matriz de
Maturidade
De Teste
Matriz de
Maturidade
De Teste
Áreas ChaveÁreas Chave
NíveisNíveis
Pontos de VerificaçãoPontos de Verificação Sugestões de MelhoriaSugestões de Melhoria
55/59
Test Maturity Model Integration - TMMI
• Baseado no CMMI
• 5 níveis de maturidade, áreas de processo definidas para cada nível Inicial
Definição
Integração
Gerenciamento e Medição
Otimização
56/59
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
57/59
58/59
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
59/59
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.