Você está na página 1de 31

Engenharia de Software I

Qualidade e Mtricas de Software

Qualidade de Software
Conjunto de atributos de software que devem ser satisfeitos de

modo que o software atenda s necessidades dos utilizadores.


Satisfao de requisitos funcionais e de desempenho

explicitamente declarados, normas de desenvolvimento


explicitamente documentadas e caractersticas implcitas que
so esperadas em todo o software desenvolvido
profissionalmente.
A totalidade de caractersticas de um produto de software que

lhe confere a capacidade de satisfazer necessidades explcitas


e implcitas (ISO/IEC 9126).
A determinao dos atributos relevantes para cada software

varia em funo do domnio da aplicao, das tecnologias


utilizadas, das caractersticas especficas do projecto e das
necessidades do utilizador e da organizao.

Vises de Qualidade de
Software

Factores de Qualidade
A Qualidade de software uma mistura
complexa de factores que variam com cada
aplicao diferente e com os clientes que
as encomendam.
Factores qualitativos para medio de
Qualidade
Factores de Qualidade de McCall
Factores de Qualidade de ISO 9126

Factores de Qualidade de McCall


Factores que afectam a qualidade do software
podem ser categorizados em dois amplos grupos:
1. Factores que podem ser medidos directamente (por

exemplo: defeitos por ponto ou por funo).


2. Factores que podem ser medidos apenas

indirectamente (por exemplo, usabilidade ou


manutenibilidade).
Em cada caso devem ocorrer medies. Deve-se
comparar o software (documentos, programas e
dados) a algum valor e chegar a uma indicao da
qualidade.
5

Factores de Qualidade de McCall


Os factores de qualidade de McCall
concentram-se nos trs aspectos
importantes de software:
Suas caractersticas operacionais,
2. Sua habilidade de passar por modificaes
3. Sua adaptabilidade a novos ambientes
1.

Factores de Qualidade de
McCall
Conforme a operao do Produto
Correco: Quanto um programa satisfaz sua especificao e

preenche os objectivos da misso do cliente.


Confiabilidade*: Quanto se pode esperar que um programa

realize a funo pretendida com preciso exigida.


Eficincia: Quantidade de recurso de computao e cdigo

necessrios para um programa realizar a sua funo.


Integridade: Quanto do acesso ao software ou dados por

pessoas no-autorizadas pode ser controlado.


Usabilidade: O esforo necessrio para aprender, operar,

preparar entradas e interpretar sadas de um programa.


7
*

- Definio limitada.

Factores de Qualidade de McCall


Conforme a reviso do Produto
Manutenibilidade*: O esforo necessrio

para localizar e consertar um erro em um


programa.
Flexibilidade: O esforo necessrio para

modificar um programa operacional.


Testabilidade: Esforo necessrio para

testar um programa, a fim de garantir que


ele realize a funo esperada.
8

Factores de Qualidade de
McCall
Conforme a Transio do Produto
Portabilidade: Esforo necessrio para

transferir o programa de um ambiente de


hardware ou software para outro.
Reutilizao: Quanto um programa (ou
partes dele) pode ser reutilizado em outras
aplicaes relativo ao empacotamento e
escopo das funes que o programa realiza.
Interoperabilidade: Esforo necessrio
para acoplar um sistema a outro.
9

Factores de Qualidade de
McCall
Muitas destas mtricas so medidas

apenas subjectivamente.
As mtricas podem estar em forma de

checklist que usada para atribuir graus


a atributos especficos do software.

10

Factores de Qualidade ISO 9126


A ISO e a IEC uniram-se para editar normas

internacionais conjuntas para definir quais os


factores e caractersticas
de qualidade de
software.
A norma identifica seis atributos-chaves

(caractersticas) de qualidade que se


subdividem em subatributos
(subcaractersticas).

11

Factores de Qualidade ISO 9126


Funcionalidade: Grau em que o software satisfaz as

necessidades declaradas, conforme indicado pelos


seguintes subatributos: adequabilidade, preciso,
interoperabilidade, atendibilidade e segurana.
Confiabilidade: Perodo de tempo em que o

software est disponvel para uso, conforme indicado


pelos seguintes subatributos: maturidade, tolerncia
a falhas, recuperabilidade.
Usabilidade: Grau em que o software fcil de

usar, conforme indicado pelos seguintes


subatributos: inteligibilidade, facilidade de
aprendizado, operabilidade.
12

Factores de Qualidade ISO


9126
Eficincia: Grau em que o Software faz uso optimizado dos

recursos do sistema, conforme indicado pelos seguintes


subatributos:
comportamento
em
relao
ao
tempo,
comportamento em relao aos recursos.
Manutenibilidade: Facilidade com a qual podem ser feitos reparos

no software, conforme indicado pelos seguintes subatributos:


analisabilidade, mutabilidade, estabilidade, testabilidade.
Portabilidade: Facilidade com a qual o software pode ser

transposto de um ambiente para outro, conforme indicado pelos


seguintes subatributos: adaptabilidade, instabilidade, conformidade,
permutabilidade.
Os factores ISO 9126 no necessariamente se prestam a medidas

13

directas, no entanto, fornecem uma base valiosa para medidas


indirectas e uma excelente lista de verificao para avaliar a
qualidade de um sistema

Factores de Qualidade ISO 9126

14

Transio para viso


quantitativa
Mtricas representam medidas indirectas, isto , nunca

realmente medimos qualidade mas sim alguma manifestao


da qualidade.
A dificuldade surge em estabelecer e definir uma relao

precisa entre a varivel que medida e a qualidade do


software.
O engenheiro de software colecta medidas e desenvolve

mtricas de modo que indicadores sejam obtidos.


Um indicador uma mtrica ou combinaes de mtricas que

fornece profundidade na viso do processo de software,


projecto de software ou produto em si
15

Conceitos de Mtricas
OBJECTIVOS
Conhecimento
Voc no pode controlar o que no mede
Monitorar progresso

Mudana
Voc no pode aperfeioar o que no controla
Melhorar satisfao do utilizador, aumentar produtividade,

melhorar previsibilidade, incrementar reutilizao de software

No se pode gerir o que no se pode medir Tom


De Marco
16

Conceito de Mtricas
Mtricas, medies e indicadores
Mtrica (metrics): atributo mensurvel de uma entidade. Medida

quantitativa do grau em que um sistema, componente ou processo


possui um determinado atributo (IEEE standard glossary).
Exemplo: esforo para desenvolvimento de projecto

Medio (measurement): ato ou processo de determinar uma medida

(medir algo), usando para calcular uma mtrica


Ex: registros de log de tempo

Indicador: mtrica ou conjunto de mtricas que fornece profundidade

na viso do processo de software, projecto de software ou produto em


si.
Medio Orientada Objectivo
Framework GQM (Goal-Question-Metric)
Goal: qual a meta a alcanar?
Question: que questes devem ser respondidas para avaliar se a meta foi
alcanada?
Metric: que mtricas respondero questo?

17

Atributos de mtricas de software


Mtricas derivadas e as medidas que levam a elas devem ser:
Simples e computveis: Deve ser relativamente fcil aprender como derivar a

mtrica e seu clculo no deve exigir esforo ou tempo exagerado.


Empricas e intuitivamente persuasivas: A mtrica deve satisfazer s noes

intuitivas do engenheiro sobre o atributo do produto que est sendo


considerado.
Consistente no uso das unidades e dimenses: O clculo matemtico da

mtrica deve usar medidas que no levam a combinaes de unidades


bizarras.
Independentes da linguagem de programao: Mtricas devem ser baseadas

no modelo de anlise, modelo de projecto ou na estrutura do programa


propriamente dita.
Mecanismo efectivo para realimentao de alta qualidade: A mtrica deve

18

levar a um produto final da mais alta qualidade

Mtricas de Software
As medidas podem ser divididas em duas

classes:
MEDIDAS
DIRECTAS
Custo
Esforo
Linhas de Cdigo
Velocidade de
Execuo
Memria
N de Erros
19

MEDIDAS
INDIRECTAS
Funcionalidade
Qualidade
Complexidade
Eficincia
Confiabilidade
Manutenibilidade

Mtricas de Software
Mtricas de Produto
Mtricas de Processo
Mtricas de Projecto

20

Mtricas de produto
Ajudam na avaliao dos modelos de anlise

e projecto.
Fornecem uma indicao da complexidade

de projectos procedimentais e cdigo-fonte.


Facilitam o projecto de teste mais efectivo

21

Diferentes Mtricas de
Produto
Mtricas para o modelo de anlise: tratam

de vrios aspectos do modelo de anlise.


Funcionalidade entregue Fornece uma

medida indirecta da funcionalidade que


empacotada com o software.
Tamanho do sistema Mede o tamanho global
do sistema definido em termos de informao
disponvel como parte do modelo de anlise.
Qualidade da especificao Fornece uma
indicao da especialidade e de uma
especificao de requisitos completa.
22

Diferentes Mtricas de
Produto
Mtricas para o modelo de projecto: Quantificam

atributos do projecto de um modo que permita ao


engenheiro de software avaliar a qualidade do
projecto.
Mtrica arquitectural Fornece uma indicao da

qualidade do projecto arquitectural.


Mtrica no nvel do componente Mede a
complexidade dos componentes de software e outras
caractersticas que tm influncia na qualidade.
Mtrica de projecto de interface Focalizam
principalmente a usabilidade.
Mtricas especializadas em projecto OO medem
caractersticas de classes e suas caractersticas de
comunicao e colaborao.
23

Diferentes Mtricas de
Produto
Mtricas para cdigo-fonte: Medem o cdigo-fonte

e podem ser usadas para avaliar sua complexidade,


manutenibilidade e testabilidade, entre outras
caractersticas.
Metricas de Haltead Controversas mas no entanto

fascinantes, essas mtricas fornecem medidas


singulares de um programa de computador
Mtricas de complexidade medem a complexidade
lgica do cdigo-fonte (podem tambm ser consideradas
como mtricas de projectos no nvel de componente)
Mtricas de comprimento Fornecem uma indicao
do tamanho do software.

24

Diferentes Mtricas de
Produto
Mtricas de teste: Ajudam o projecto de casos de

teste efectivos e avaliam a eficcia do teste.


Mtricas de cobertura de comando e desvio

levam ao projecto de casos de teste que fornecem


cobertura do programa.
Mtricas relacionadas a defeito enfocam erros
encontrados, em vez dos testes em si.
Efectividade de teste - fornece uma indicao em
tempo real da efectividade dos testes que foram
conduzidos.
Mtricas em processo relacionadas a processo que
podem ser determinadas medida que o teste
conduzido.
25

Mtricas de Processo (Experimento)


Indicadores de processo permitem a organizao de

engenharia de software ter ideia da eficcia de um


processo existente.
Elas permitem aos gerentes e profissionais avaliarem o

que funciona e o que no funciona.


Mtricas de processo so colectadas ao longo de todos

os projectos e durante longos perodos.


Seu objectivo fornecer indicadores que levem ao

aperfeioamento do processo de software a longo


prazo.
26

Mtricas de processo e de projecto


Medidas quantitativas que permitem aos

engenheiros de software ter ideia da eficcia do


processo de software e dos projectos que so
conduzidos.
Mtricas de processo so colectadas no decorrer

de todos os projectos e durante longos perodos.


Objectivo: Fornecer um conjunto de indicadores

de processo que leva a aperfeioamentos do


processo de software a longo prazo.
27

Mtricas de Projecto
Indicadores de Projecto permitem ao gerente de

projecto de software:
1. Avaliar o status de um projecto em andamento;
2. Acompanhar riscos potenciais;
3. Descobrir reas-problemas antes que elas se tornem

crticas;
4. Ajustar o fluxo de trabalho ou tarefas;
5. Avaliar a capacidade da equipe de projecto e controlar
a qualidade dos produtos do trabalho de software.
Em alguns casos, as mesmas mtricas de software

podem ser usadas para determinar indicadores de


projecto e de processo de software.
28

Ferramentas de Apoio
MedPlan Ferramenta para apoiar o

planeamento de medio
Metrics Ferramenta para apoiar a colecta

e anlise de mtricas.

29

Referncias
S. E. Donaldson, S. G. Siegel , Successful software

Development, Prentice Hall, 2th Edition, 2001.


Marcos Silva, Qualidade de Software e CMM,

Instituto de Pesquisas ELDORADO


Nelma da Silva Gomes, Qualidade de Software

Uma Necessidade,
Jorge H C Fernandes, Introduo Engenharia de

Software com foco no RUP Rational Unified


Process, 2004.
30

Inserir uma seco para fala da garantia e

padres de qualidade (ian sommerville,


pag. 474) ver parte de revises de
qualidade tbm

31

Você também pode gostar