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/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 Externos

Fatores Internos
3/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".

4/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

5/59

ISO/IEC 9126-1 .Modelo de Qualidade • Documento composto basicamente de definições para as características de qualidade 6/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. 7/59 .

ISO 9126–1: Modelo de qualidade para qualidade em uso • Visão de qualidade do usuário 8/59 .

obtido a partir de uma escala.4 • Definições – Atributo: Uma propriedade mensurável. 9/59 .Medição do Produto de Software: ISO 9126–2. Atributos podem ser internos ou externos. – Métrica: O método e a escala de medição definidos. física ou abstrata. de uma entidade. – Medição: O uso de uma métrica para atribuir um valor (o qual pode ser um número ou uma categoria). a um atributo de uma entidade..

Medição do Produto de Software: seleção de métricas • As características de qualidade não permitem medição direta. • 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. • É necessário estabelecer métricas que se correlacionem às características do produto de software. 10/59 .

Métricas Externas • Define indicadores e métricas externas para avaliar um produto de software.ISO/IEC 9126-2 . • 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/59 .

12/59 .Métricas Externas • Permite definir a medição somente para aquelas características que são determinantes para o produto de software desejado.ISO/IEC 9126-2 . • 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 .Métricas Externas • Devem ser usadas para: – avaliar o comportamento do software quando usado em situações específicas.ISO/IEC 9126-2 . – predizer a qualidade real no uso. que poderão ser subdivididas em desejáveis e obrigatórias. – 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.

14/59 .ISO/IEC 9126-2 .Métricas de Funcionalidade – Medem atributos que evidenciam o comportamento do sistema que contém o software.Métricas Externas 1.

B = Número de funções especificadas. Interpretação 0 <= X <=1 Melhor resultado próximo de 1. Métrica Externa Cobertura das implementadas funções Fórmula X=A/B A = Número de funções implementadas em teste. Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 15/59 .1.Métricas Externas 1.ISO/IEC 9126-2 .Métricas de Adequação – Medem atributos do software que evidenciam um conjunto de funções e sua apropriação para as tarefas especificadas.

16/59 .Métricas Externas 2.ISO/IEC 9126-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.

Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 17/59 . Métrica Externa Resolução de Falhas Fórmula X=A/B A = Número de falhas resolvidas.ISO/IEC 9126-2 . B= Número Total de Falhas de falhas detectadas Interpretação 0 <= X <=1 Melhor resultado próximo de 1.Métricas Externas 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étricas de Usabilidade – Medem atributos que evidenciam o esforço necessário para poder-se utilizar o software.ISO/IEC 9126-2 . bem como o julgamento individual deste uso.Métricas Externas 3. por um conjunto implícito ou explícito de usuários. 18/59 .

Métricas Externas 3. 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.Medem os atributos que evidenciam o esforço do usuário para reconhecer o conceito lógico e sua aplicabilidade. Métrica Externa Entendimento entrada/saída da Fórmula X=A/B A= 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.ISO/IEC 9126-2 . Métricas de Inteligibilidade .1. Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 19/59 . Interpretação 0 <= X <=1 Melhor resultado próximo de 1.

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. 20/59 . sob condições estabelecidas.Métricas Externas 4.ISO/IEC 9126-2 .

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. Tipo da Medida A= Tamanho B= Tamanho X= Tamanho 21/59 .Métricas Externas 4. Métrica Externa Utilização da Memória Fórmula X=A/B A = Quantidade de memória utilizada B = Memória total Interpretação 0 <= X <= 1 Valor próximo da média é o melhor.ISO/IEC 9126-2 .

Medem os atributos do software que evidenciam a capacidade do software em ser transferido de um ambiente para outro. Métricas de Portabilidade .Métricas Externas 5. 22/59 .ISO/IEC 9126-2 .

ISO/IEC 9126-2 .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étricas Externas 5. Tipo da Medida A= Contagem X= Contagem 23/59 . Interpretação 0<X O menor valor é o melhor. Métrica Externa Pouco esforço instalação para Fórmula X=A A= Número de manuias de usuário necessários para instalação.

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 6.1 Métricas de Modificabilidade – Medem os atributos do software que evidenciam o esforço necessário para modificá-lo. B= Tamanho do software modificado. Métrica Externa Facilidade nas mudanças Fórmula X=A/B A= Soma do tempo dedicado à mudança. remover seus defeitos ou adaptá-lo a mudanças ambientais.ISO/IEC 9126-2 . Interpretação 0 <=X Quanto mais próximo de zero melhor Tipo da Medida A= Tempo B= Tempo X= Tamanho 25/59 .

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. número de erros encontrados em revisões. • Exemplos: número de linhas de código. 26/59 . etc. sem a necessidade de execução dos programas.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. 27/59 .ISO/IEC 9126-3 .

Métricas Internas Métricas para as características e sub-características de qualidade 1.ISO/IEC 9126-3 . 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. 28/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. Interpretação 0 <= X <=1 Melhor resultado próximo de 1. Métrica Interna Prevenção da corrupção dos dados Fórmula X=A/B A= Número de instâncias implementadas de prevenção de corrupção de dados como especificado na revisão. Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 29/59 . B= Número de instâncias de operação/acesso identificadas nos requisitos capazes de corromper os dados.

Métricas Internas • Métricas internas de Confiabilidade .ISO/IEC 9126-3 .São usadas para prever se o produto de software em questão irá satisfazer. 30/59 . na fase de desenvolvimento do produto. necessidades de confiabilidade preestabelecidas.

0 <= X Melhor resultado para X maiores.ISO/IEC 9126-3 . Métrica Interna Não permissão de operações incorretas Fórmula Interpretação Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 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.Métricas Internas 2. 31/59 .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.

32/59 . Métricas internas de Usabilidade . aprendido.São usadas para prever em que extensão o software em questão poderá ser entendido.ISO/IEC 9126-3 . operado. atraente ao usuário e compatível com os regulamentos de usabilidade.Métricas Internas 3.

Fórmula Interpretação Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem X= A/B A= Número de funções descritas no documento. Métrica Interna Completude da documentação para o usuário e facilidade de uso dos sistemas de ajuda.Métricas Internas 3. B= Número total de funções do sistema. 0 <= X <=1 Melhor resultado próximo de 1. 33/59 .ISO/IEC 9126-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.

ISO/IEC 9126-3 .São usadas para prever a eficiência do comportamento do produto de software durante os testes ou operação.Métricas Internas 4. Métricas internas de Eficiência . 34/59 .

Métrica Interna Utilização de Entrada e Saída Fórmula Interpretação Tipo da Medida X= Tamanho X=número de buffers(calculados ou simulados) Quanto menor.Métricas Internas 4. 35/59 .ISO/IEC 9126-3 . melhor o resultado .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étricas Internas 5.ISO/IEC 9126-3 .São usadas para prever o nível de esforço necessário para modificar o produto de software. 36/59 . Métricas internas de Manutenabilidade .

0 <= X <=1 Melhor próximo de 1. resultado 37/59 .Métricas Internas 5. Métrica Interna Impacto da mudança Fórmula Interpretação Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem X=1-A/B A= Número de impactos detectados após as modificações B=Número de modificações feitas.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.ISO/IEC 9126-3 .

38/59 .ISO/IEC 9126-3 .São usadas para prever o efeito que o produto de software terá no comportamento do sistema durante quando ele está sendo portado. Métricas internas de Portabilidade .Métricas Internas 6.

Métricas Internas 6.ISO/IEC 9126-3 . Métrica Interna Adaptabilidade ao ambiente de hardware Fórmula Interpretação Tipo da Medida A = Contagem B = Contagem X= Contagem /Contagem 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.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. 0 <= X <=1 Melhor resultado próximo de 1. 39/59 .

segurança e satisfação • Usuários também podem desenvolver e aplicar métricas para seus domínios particulares de aplicação 40/59 .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.ISO/IEC 9126-4 . produtividade.

registro de histórico de uso 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.

Qualidade no Ciclo de Vida do Software 42/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 43/59 .

(ANSI/IEEE Std 730-1984) 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.

A Norma ISO/IEC 14598 Como avaliar um software de acordo com as características estabelecidas??? 45/59 .

• 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 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.

parte Empresas que fazem certificação Emitir documento oficial sobre a qualidade de um software 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.

A Norma ISO/IEC 14598: estrutura Norma 14598-1 14598-2 14598-3 14598-4 14598-5 14598-6 Nome Visão Geral Planejamento e Gerenciamento Guia para Desenvolvedores Guia para Aquisição Guia para Avaliação Módulos de Avaliação Finalidade Ensina a utilizar as outras normas do grupo Sobre como fazer uma avaliação. de forma geral Como avaliar sob o ponto do vista de quem desenvolve Como avaliar sob o ponto de vista de quem vai adquirir Como avaliar sob o ponto de vista de quem certifica Detalhes sobre como avaliar cada característica 48/59 .

Requisitos 3 .Níveis de avaliaçã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 Métodos e componentes nos quais o método será aplicado Resultados da avaliação propriamente ditos Resultados intermediários e decisões de interpretação Referência às ferramentas utilizadas 2 .Especificação 4 .Referências às características de qualidade .Métodos 5 .A Norma ISO/IEC 14598 • Modelo de relatório de avaliação.Resultado 49/59 . segundo um anexo da norma ISO/IEC 14598-5. Seção 1 . incluindo .Prefácio Itens Identificação do avaliador Identificação do relatório de avaliação Identificação do contratante e fornecedor Descrição geral do domínio de aplicação do produto Descrição geral dos objetivos do produto Lista dos requisitos de qualidade.Informações do produto a serem avaliadas .

ao contrário da ISO/IEC 9126. 50/59 . documentos necessários para avaliação fases da avaliação. incluindo: – – – – modelos para relatórios de avaliação. a ISO/IEC 14598 apresenta detalhes. técnicas para medição das características.A Norma ISO/IEC 14598 • Em resumo: – complementa a ISO/IEC 9126. • É importante notar que. – permite uma avaliação padronizada das características de qualidade de um software.

Projeto SQuaRE • SQuaRE – Software Product Quality Requirements and Evaluation (ISO 25000) Modelo de Qualidade 2501n Requisitos de Qualidade 2503n Gestão de Qualidade 2501n Medições 2501n 51/59 Avaliação 2504n .

Software engineering . • ISO/IEC TR 25021 .Guide to SQuaRE. • 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.Software Engineering: Software product Quality Requirements and Evaluation (SQuaRE) .Software product Quality Requirements and Evaluation (SQuaRE) .Software product Quality Requirements and Evaluation (SQuaRE) .Quality measure elements. e • ISO/IEC 25062. Software engineering: Software product Quality Requirements and Evaluation (SquaRe) .Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Planning and management. • ISO/IEC 25030 . • ISO/IEC 25001 .Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Quality requirements.Software engineering .Common Industry Format (CIF) for Usability Test Reports. 52/59 . • ISO/IEC 25020 .Square – Normas Publicadas • ISO/IEC 25000 .Measurement reference model and guide.

Técnicas de Avaliação de Produto de Software • Podemos destacar: – Testes – Revisões 53/59 .

54/59 .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.

fatores organizacionais.TPI • 20 áreas chaves dividas em: • • • • ciclo de vida do desenvolvimento do software. infra-estrutura do ambiente de testes.Test Process Improvement . técnicas de planejamento e testes. Áreas Chave Matriz de Maturidade De Teste Níveis Pontos de Verificação Sugestões de Melhoria 55/59 .

áreas de processo definidas para cada nível Otimização Gerenciamento e Medição Integração Definição Inicial 56/59 .TMMI • Baseado no CMMI • 5 níveis de maturidade.Test Maturity Model Integration .

Subotic.Test Improvement Model . 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 Organização Planejamento e rastreabilidade Casos de testes Testware Revisões 57/59 • Aspectos: .TIM • Desenvolvido pela Ericson.

Conclusão • Produzir software de qualidade é uma tarefa difícil. – O processo de avaliação de produtos de software complementa o processo de desenvolvimento 58/59 . porém possível.

59/59 . – Redução nos custos com a manutenção do software. – O usuário ficará mais satisfeito. – O vendedor poderá usar como argumento de venda a qualidade assegurada do produto que está vendendo.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. – Organizações poderão exigir critérios de qualificação com propósitos específicos. pois estará adquirindo um produto de qualidade.