qualidade do produto de software. 2/59 normas e modelos de qualidade do produto de software...

Post on 19-Apr-2015

114 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related