IF987 – Auditoria e Segurança de
Sistemas de Informação
Prof. Francisco Airton
cin.ufpe.br/~faps
Universidade Federal de Pernambuco Centro de Informática
O que veremos hoje....
•
Qualidade de Software e sua relação com
Qualidade do Produto
de Software
4/59
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)
Fatores de Qualidade do
Produto de Software
•
Podemos classificar estes fatores em dois tipos:
externos e internos.
Fatores Externos
confiabilidade eficiência facilidade de uso modularidade legibilidade6/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
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
8/59
ISO/IEC 9126-1 - Modelo de Qualidade
ISO/IEC 9126-1 - Modelo de Qualidade
Interna e Externa
10/59
ISO 9126–1
: Modelo de qualidade
para qualidade em uso
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.
12/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.
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
14/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.
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 <=1
Melhor resultado próximo de 1. A = ContagemB = Contagem X= Contagem
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
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 / B A = Número de falhas resolvidas. B= Número Total de Falhas detectadas 0 <= X <=1
Melhor resultado próximo de 1. A = ContagemB = Contagem X= Contagem /Contagem
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 <=1 Melhor resultado próximo de 1. A = Contagem B = Contagem X= Contagem /Contagem
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.
ISO/IEC 9126-3 - Métricas Internas
5. Métricas internas de Manutenabilidade
- São usadas para prever o nível de esforço
22/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 <=1 Melhor resultado próximo de 1. A = Contagem B = Contagem X= Contagem /Contagem
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
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.
24/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 <=1
Melhor resultado próximo de 1.
A = Contagem B = Contagem X= Contagem /Contagem
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
26/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
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
28/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 StdGarantia de Qualidade de Software (SQA)
• Segue um padrão sistemático e planejado de ações que são
exigidas para garantir a qualidade.
• As pessoas que realizam a SQA devem olhar para o software
a partir do ponto de vista do cliente.
– O software atende aos fatores de qualidade ? – Foi conduzido com padrões preestabelecidos ? – As disciplinas técnicas foram cumpridas ?
30
Atividades SQA
• Compreende uma variedade de tarefas: – 1. Aplicação de métodos técnicos;
– 2. Realização de revisões técnicas formais; – 3. Atividades de testes de software;
– 4. Aplicação de padrões; – 5. Controle de mudanças; – 6. Medição;
Atividades SQA
• Um objetivo importante da SQA é rastrear a qualidade de software e avaliar o impacto das
mudanças metodológicas e procedimentais sobre a qualidade de software. Uma métrica de software deve ser coletada.
32
REVISÕES DE SOFTWARE
• Apesar de as pessoas captarem alguns de seus próprios
erros, grandes classes de erros escapam e outras pessoas podem identificar mais facilmente.
Impacto de Custo de Defeitos de Software
• O objetivo de revisões é descobrir defeitos no software, de forma que possam ser corrigidos.
• 50% a 60% de todos os erros ocorrem durante a fase de desenvolvimento do processo de engenharia de software.
• Técnicas de revisão formais são até 75% efetivas na descoberta de falhas de projeto.
• Detectar e suprimir erros reduz o custo dos passos posteriores nas fases que se seguem.