Você está na página 1de 8

República de Angola

Ministério do Ensino Superior, Ciência, Tecnologia e Inovação


Instituto Superior Politécnico do Bié
Departamento de Engenharia
Curso de Engenharia Informática

Ano: 4. Disciplina: Engenharia de Software III

Eng.° Armindo Victorino Paciência1

Actividade N.° 05 (AP)

Lição N.° 09 e 10

Sumário: Métricas de Software.

Métricas de Qualidade de Software.

(2 horas)

Métricas e Medidas

O que são métricas de Software?

Estimativas

Estimativa é uma das principais actividades do planejamento de software.

Estima-se:

1. Esforço humano exigido


2. Duração cronológica do projeto
3. Custo

Causas de estimativas de software mal feitas

 Falta de especialização em estimativas (falta de treino)


 Falta de se fazer provisões adequadas para contrabalançar o efeito das distor-
ções.
 É preciso muito pouco envolvimento do ego para estimativas
mais realistas.
 Falta de conhecimento exacto sobre o que vem a ser uma estimativa.

1
Membro Efectivo da Ordem dos Engenheiros de Angola Colégio de Electrotecnia e Informática,
formado em Ciências da Computação. Professor de Engenharia de Software, Inteligência Artificial, Teste
e Qualidade de Software, Matemática Discreta e Arquitectura e Padrões de Software, no Instituto
Superior Politécnico do Bié. Email: pacienciarmindo@gmail.com

1
 Falta de habilidade com os problemas políticos
 Norma: estimativas devem ser usadas para criarem incentivos
 Falta de informações úteis para o processo de estimativas

Métricas e Modelos de Software

Medir é fundamental em qualquer disciplina de engenharia.

Métricas de software - referem-se a uma ampla variedade de medidas de software de


computador.

Para o gerenciamento - objectivo é medir a produtividade e a qualidade.

Planejamento e estimativa - medida é histórica (experiências em projectos passados).

Métricas do Processo

Quantificam atributos do processo de desenvolvimento e do ambiente de desenvolvi-


mento.

 Métricas de recursos: experiência do programador, custo de desenvolvimen-


to e manutenção.
 Métricas para o nível de experiência do pessoal: número de anos que uma
equipe está usando uma linguagem de programação; número de anos que um
programador está na organização; etc.

Outros factores relacionados ao desenvolvimento incluem:

 Técnicas de desenvolvimento.
 Auxílio para programação.
 Técnicas de supervisão, etc.
Métricas do Produto

São medidas do produto de software. Podem não revelar nada sobre como o software
foi desenvolvido.

Incluem:

 O tamanho do produto (linhas de código, etc.).


 A complexidade da estrutura lógica (recursão, fluxo de controle e profundida-
de de laços aninhados).
 A complexidade da estrutura de dados.
 Funções (tais como tipo de software: comercial, científico, etc.).

Métricas do processo e do produto

 Pode ser difícil classificar uma métrica.

Exemplo: o número de defeitos descobertos duranete o teste formal depende do pro-


duto (número de segmentos de código que estão errados) e do processo usado na
fase de teste (a extensão do teste).

Métricas directas e métricas indiretas

2
Medidas directas do processo de engenharia de software - custo e esforço aplica-
dos.

Medidas directas do produto

 Número de linhas de código produzidas.


 Velocidade de execução.
 Tamanho de memória.
 Número de defeitos registrados em um tempo especificado.

Métricas de Software - Uma classificação

Medidas indirectas do produto

 Qualidade
 Funcionalidade
 Complexidade
 Eficiência
 Confiabilidade
 Manutenibilidade, etc.
A) Métricas Orientada ao Tamanho

São medidas directas do software e do processo por meio do qual ele é desenvolvido.

 Existem várias maneiras de representar o tamanho (ou magni-


tude) de um programa:
 Quantidade de memória necessária para armazenamen-
to.
 Número de linhas de código.

A.1) Linhas de Código

Definição: uma linha de código é qualquer linha do texto de um programa, excepto


comentários e linhas em branco, sem levar em conta o número de comandos ou frag-
mentos de comandos em uma linha. Estão incluídas na definição de linhas de código
todas as linhas que contém cabeçalho do programa, declarações e comandos execu-
táveis.

Vantagens:

 É fácil de calcular.
 É o factor mais importante para muitos modelos de estimativa.
Desvantagens:
 Dependente da linguagem de programação.
 Penalizam programas bem estruturados, porém mais curtos.
 O uso em estimativas requer um nível de detalhes que pode ser difícil de con-
seguir.

B) Métricas orientadas à função


 São medidas indirectas do software.
 Concentram-se na funcionalidade ou utilidade do programa.
 Função : colecção de comandos executáveis que realizam uma certa tarefa.

3
B.1) Método do Ponto por Função (Albrecht)
 Os pontos por função (FPs) são derivados usando-se uma relação empírica
baseada em medidas de informações e complexidade de software.
Cinco caractérísticas do domínio da informação são consideradas:
 Número de entradas do usuário
 Número de saídas do usuário
 Número de consultas do usuário
 Número de arquivos (ou número de agrupamentos lógicos em
um BD)
 Número de interfaces externas

B.1) Método do Ponto por Função (Albrecht)

Para computar os pontos por função, a seguinte relação é usada:

FP = contagem total  [0.65 + 0.01 X SOMA(Fi)

Onde Fi (i = 1 a 14) são “valores de ajuste da complexidade”

Os valores da equação e os factores de peso são determinados empiricamente.

Vantagens:

FP é independente da linguagem de programação.

Baseia-se em dados que tem mais chance de serem conhecidos logo no início de um
projecto.

Desvantagens:

É baseado em dados subjectivos.

Dados do domínio da informação são difíceis de serem compilados a posteriori.

FP não tem nenhum significado físico.

4
Métricas de Qualidade de Software
Qualidade pode ser medida ao longo do processo de engenharia de software e depois
que o software si entregue ao cliente.

O sofware deve ser avaliado a partir dos três pontos de vista :

 Operação do Produto.
 Revisão do Produto (mudando-o).
 Transição do Produto (mudando-o para funcionar em outro ambiente - migran-
do-o).

Algumas medidas da Qualidade

Corretitude

Definição: é o grau em que o software executa a função que é dele exigida.

Medida mais comum: defeitos/KLOC

Defeito: falta verificada de conformidade aos requisitos.

Manutenibilidade

Definição: é a facilidade com que um programa pode ser corrigido se um erro for en-
contrado, adaptado se o sei ambiente se modificar ou ampliado se o cliente desejar
novas funcionalidades.

Medida mais comum: tempo médio para a mudança, tempo para entender a mudan-
ça, para projectar uma alteração adequada, implementar a mudança, testá-la e colocá-
la em operação.

Medida: Integridade =  [ 1- ameaça X (1 - segurança) ]

Ameaça - probabilidade de que um ataque de um tipo ocorrerá dentro de determinado


tempo.

Segurança - probabilidade de que o ataque de um tipo específico será repelido.

Ambas são estimada ou derivada a partir de evidência empírica

Usabilidade

Definição: usabilidade é uma tentativa de medir o quanto um programa e amigavél ao


usuário (user friendliness) e pode ser medida segundo quatro características:

(1) Habilidade física/e ou intelectual para se aprender a trabalhar com o sistema

(2) Aumento da produtividade sobre a abordagem que o sistema substitui.

(3) O tempo exigido para se tornar moderadamente eficiente no uso do sistema

(4) Avaliação subjetiva dos usuários em relação ao sistema.

5
Estabelecimento de uma linha básica (baseline)

Linha básica - dados compilados de projectos passados desenvolvimentos de softwa-


re. Linha básica de métricas - benefícios em nível estratégico, técnico e de projecto.

Colecta, computação e avaliação das métricas

São os passos para se começar um programa de métricas

Linha básica (banco de dados contendo medições do processo e do produto) - capa-


citam os profissionais de software e gerentes ter uma melhor visão do trabalho que
realizam e do produto que produzem.

Atributos de Qualidade

Atributo de qualidade: Uma característica do software ou um termo genérico aplicado


a factores de qualidade, subfactores de qualidade ou valores de métricas.

Factor de qualidade: um atributo gerenciável de software que contribui para sua


qualidade.

 Abstracção (A) – A razão entre o número de classes abstractas (e interfaces)


e o número de total de classes em um pacote.
 Acoplamento entre Classes (CBC) – conta o número classes de as quais
uma classe está acoplada.

Herança

 Taxa de Reuso

R = (Número de Superclasses)/(Número Total de Classes)

 Taxa de Especialização (S)

S = (Número de Subclasses)/( Número de Superclasses)

 Profundidade da Árvore de Herança (DIT) – conta a profundidade da árvore


de herança.

 Número de Filhos (NOC) – conta o número de subclasses de uma classe.

 Número de Atributos Herdados (NAI) – conta o número de atributos


herdados por uma classe.

 Número de Operações/métodos Herdados (NOI) – conta o número de


operações herdadas por uma classe.

Complexidade

RFC - Resposta de uma classe – conta o número de métodos que potencialmente


serão executados em resposta a uma mensagem recebida pela classe. Estão inclusos
todos os métodos de toda a hierarquia de classes.

WAC - Weighted Attributes per Class – somatório da complexidade de todos os


atributos da classe.

6
WMC - Weighted Methods per Class - somatório da complexidade de todos os
métodos da classe. Na implementação do MagicDraw, a complexidade de um
método é função da complexidade dos atributos do método. Já no extractor de
métricas do eclipse, a complexidade de um método é a complexidade ciclomática do
mesmo.

Métricas Básicas

 Number of Classes (NC) – Número de classes contidas em um dado


escopo.
 Number of Atributes (NA) – Número de atributos de uma classe.
 Number of Operations (NO) – Número de operações/métodos da classe.
 Number of Members (NM) – (Número de Atributos ) + (Número de
Operações)

Métricas Boas Para Engenharia de Software

 Abstracção (A)
 Acoplamento entre objectos (CBC)
 Taxa de Reuso (R)
 Taxa de Specialização (S)

Métricas Boas Para Embarcados

* Herança

o Profundidade da Árvore de Herança (DIT)

o Número de Filhos (NoC)

o Número de Atributos Herdados (NAI)

o Número de Operações/métodos Herdados (NOI)

Métricas Boas Para Embarcados

* Complexidade

o RFC - Resposta de uma classe

o WAC - Weighted Attributes per Class

o WMC - Weighted Methods per Class

Métricas Básicas

Number of Attibutes (NA)

Number of Class (NC)

Number of Members (NM)

Number of Operations (NO)

7
8

Você também pode gostar