Direitos Reservados
COPPE/UFRJ COPPE/UFRJ
Qualidade de Software
Qualidade de Software
Ana Regina Rocha
COPPE/UFRJ COPPE/UFRJ
Programa de Engenharia de Sistemas e Computao Programa de Engenharia de Sistemas e Computao
COPPE/UFRJ COPPE/UFRJ
Alguns Dados
Alguns Dados
Uma Organizao com bom desempenho gasta 80% de seu Uma Organizao com bom desempenho gasta 80% de seu
esforo na preveno de problemas, enquanto uma esforo na preveno de problemas, enquanto uma
Organizao de baixo desempenho gasta 90% de seu Organizao de baixo desempenho gasta 90% de seu
tempo corrigindo sintomas em vez de causas de problemas tempo corrigindo sintomas em vez de causas de problemas
COPPE/UFRJ COPPE/UFRJ
Qualidade de Software
Qualidade de Software
Conjunto de caractersticas a serem satisfeitas
em um determinado grau de modo que o
software satisfaa s necessidades de seus
usurios
COPPE/UFRJ COPPE/UFRJ
O software deve ter caractersticas que
atendam s necessidades de todos os
seus usurios
COPPE/UFRJ COPPE/UFRJ
Controle da Qualidade de Software
conjunto planejado e sistemtico de todas as aes
necessrias para fornecer uma confiana
adequada de que o item ou produto est de acordo
com os requisitos tcnicos estabelecidos
(ANSI/IEEE Std 730-1984)
COPPE/UFRJ COPPE/UFRJ
Preocupaes da Engenharia de Software
Qualidade do processo de software Qualidade do processo de software
Qualidade do produto
Implicam no uso de um Ambiente de Engenharia de
Software de boa qualidade e adequado ao projeto
COPPE/UFRJ COPPE/UFRJ
Qualidade do Processo
Qualidade do Processo
Qualidade do Produto
Qualidade do Produto
Qualidade de Software
COPPE/UFRJ COPPE/UFRJ
conjunto de atividades, mtodos, prticas e conjunto de atividades, mtodos, prticas e tecnologias tecnologias
que as pessoas utilizam para desenvolver e manter que as pessoas utilizam para desenvolver e manter
software e produtos relacionados software e produtos relacionados
Processo de Software
COPPE/UFRJ COPPE/UFRJ
O interesse no processo de software est baseado
O interesse no processo de software est baseado
em duas premissas:
em duas premissas:
qualidade externa
qualidade externa
deve estar explicitamente definida na Especificao deve estar explicitamente definida na Especificao
de Requisitos do Projeto de Requisitos do Projeto
qualidade interna
qualidade interna
atributos que so geralmente acrescentados pela atributos que so geralmente acrescentados pela
empresa empresa
COPPE/UFRJ COPPE/UFRJ
QUALIDADE
INTERNA
QUALIDADE
EXTERNA
COPPE/UFRJ COPPE/UFRJ
Dois tipos de Avaliao
Avaliao ao longo do processo de desenvolvimento Avaliao ao longo do processo de desenvolvimento
Avaliao de pacotes Avaliao de pacotes
COPPE/UFRJ COPPE/UFRJ
Caractersticas de Qualidade do Produto
Caractersticas de Qualidade do Produto
Norma ISO 9126 Norma ISO 9126
Norma 12119 Norma 12119
Caractersticas de Qualidade para Domnios Especficos Caractersticas de Qualidade para Domnios Especficos
Caractersticas de Qualidade para Caractersticas de Qualidade para Tecnologias Tecnologias Especficas Especficas
COPPE/UFRJ COPPE/UFRJ
ISO 9126
( (Information Technology Information Technology - Software - Software product evaluation product evaluation - -
Quality characteristics and guidelines Quality characteristics and guidelines for for their their use) use)
Define seis caractersticas de qualidade e sub-
caractersticas associadas a estas caractersticas
COPPE/UFRJ COPPE/UFRJ
Funcionalidade
Conjunto de atributos que evidenciam a existncia de um
conjunto de funes e suas propriedades especificadas
Sub
Sub
-caractersticas:
-caractersticas:
adequao: adequao: atributos do software que evidenciam a atributos do software que evidenciam a
presena de um conjunto de funes e sua apropriao presena de um conjunto de funes e sua apropriao
para as tarefas especificadas para as tarefas especificadas
acurcia acurcia: : atributos do software que evidenciam a atributos do software que evidenciam a
gerao de resultados ou efeitos corretos ou conforme gerao de resultados ou efeitos corretos ou conforme
acordados acordados
COPPE/UFRJ COPPE/UFRJ
Funcionalidade
Funcionalidade
Sub
Sub
-caractersticas:
-caractersticas:
conformidade: conformidade: atributos do software que fazem com que atributos do software que fazem com que
ele esteja de acordo com as normas, convenes ou ele esteja de acordo com as normas, convenes ou
regulamentaes previstas em leis e descries similares, regulamentaes previstas em leis e descries similares,
relacionadas aplicao relacionadas aplicao
segurana de acesso: segurana de acesso: atributos do software que atributos do software que
evidenciam sua capacidade de evitar o acesso no evidenciam sua capacidade de evitar o acesso no
autorizado, acidental ou deliberado, a programas e dados autorizado, acidental ou deliberado, a programas e dados
COPPE/UFRJ COPPE/UFRJ
Confiabilidade
Confiabilidade
conjunto de atributos que evidenciam a capacidade do
software de manter seu nvel de desempenho sob condies
estabelecidas durante um perodo de tempo estabelecido
Sub
Sub
-caractersticas:
-caractersticas:
maturidade: maturidade: atributos do software que evidenciam a atributos do software que evidenciam a
frequncia frequncia de falhas por defeitos no software de falhas por defeitos no software
tolerncia a falhas: tolerncia a falhas: atributos do software que atributos do software que
evidenciam sua capacidade de manter um nvel de evidenciam sua capacidade de manter um nvel de
desempenho especificado nos casos de falhas no software desempenho especificado nos casos de falhas no software
ou de violao nas interfaces especificadas ou de violao nas interfaces especificadas
COPPE/UFRJ COPPE/UFRJ
recuperabilidade recuperabilidade: : atributos do software que evidenciam atributos do software que evidenciam
sua capacidade de restabelecer seu nvel de desempenho e sua capacidade de restabelecer seu nvel de desempenho e
recuperar os dados diretamente afetados, em caso de recuperar os dados diretamente afetados, em caso de
falha, e no tempo e esforo necessrios para tal falha, e no tempo e esforo necessrios para tal
Confiabilidade
Confiabilidade
COPPE/UFRJ COPPE/UFRJ
Usabilidade
Usabilidade
conjunto de atributos que evidenciam o esforo necessrio
para se poder utilizar o software, bem como o julgamento
individual deste uso, por um conjunto explcito ou implcito
de usurios
Sub
Sub
-caractersticas:
-caractersticas:
inteligibilidade: inteligibilidade: atributos do software que evidenciam o atributos do software que evidenciam o
esforo do usurio para reconhecer o conceito lgico e sua esforo do usurio para reconhecer o conceito lgico e sua
aplicabilidade aplicabilidade
COPPE/UFRJ COPPE/UFRJ
apreensibilidade apreensibilidade: : atributos do software que evidenciam atributos do software que evidenciam
o esforo do usurio para aprender sua aplicao. o esforo do usurio para aprender sua aplicao.
operacionalidade: operacionalidade: atributos do software que evidenciam atributos do software que evidenciam
o esforo do usurio para sua operao e controle da sua o esforo do usurio para sua operao e controle da sua
operao operao
Usabilidade
Usabilidade
COPPE/UFRJ COPPE/UFRJ
Eficincia
Eficincia
conjunto de atributos que evidenciam o relacionamento entre o
nvel de desempenho do software e a quantidade de recursos
usados, sob condies estabelecidas
Sub
Sub
-caractersticas:
-caractersticas:
comportamento em relao aos recursos: comportamento em relao aos recursos: atributos do atributos do
software que evidenciam seu tempo de resposta, tempo de software que evidenciam seu tempo de resposta, tempo de
processamento e velocidade na execuo de suas funes processamento e velocidade na execuo de suas funes
COPPE/UFRJ COPPE/UFRJ
Manutenibilidade
Manutenibilidade
conjunto de atributos que evidenciam o esforo necessrio
para fazer modificaes especficadas no software
Sub
Sub
-caractersticas:
-caractersticas:
analisabilidade analisabilidade: : atributos do software que evidenciam o atributos do software que evidenciam o
esforo necessrio para diagnosticar deficincias ou esforo necessrio para diagnosticar deficincias ou
causas de falhas, ou para identificar partes a serem causas de falhas, ou para identificar partes a serem
modificadas modificadas
modificabilidade modificabilidade: : atributos do software que evidenciam o atributos do software que evidenciam o
esforo necessrio para esforo necessrio para modific modific- -lo lo, remover seus defeitos , remover seus defeitos
ou ou adapt adapt- -lo lo a mudanas ambientais a mudanas ambientais
COPPE/UFRJ COPPE/UFRJ
Manutenibilidade
Manutenibilidade
estabilidade: estabilidade: atributos do software que evidenciam o atributos do software que evidenciam o
risco de efeitos inesperados, ocasionados por risco de efeitos inesperados, ocasionados por
modificaes. modificaes.
testabilidade testabilidade: : atributos do software que evidenciam o atributos do software que evidenciam o
esforo necessrio para validar o software modificado esforo necessrio para validar o software modificado
COPPE/UFRJ COPPE/UFRJ
Portabilidade
Portabilidade
conjunto de atributos que evidenciam a capacidade do
software ser transferido de um ambiente para outro
Sub
Sub
-caractersticas:
-caractersticas:
adaptabilidade: adaptabilidade: atributos do software que evidenciam atributos do software que evidenciam
sua capacidade de ser adaptado a ambientes diferentes sua capacidade de ser adaptado a ambientes diferentes
especificados, sem a necessidade de aplicao de outras especificados, sem a necessidade de aplicao de outras
aes ou meios alm daqueles fornecidos para essa aes ou meios alm daqueles fornecidos para essa
finalidade pelo software considerado finalidade pelo software considerado
COPPE/UFRJ COPPE/UFRJ
capacidade para ser instalado: capacidade para ser instalado: atributos do software que atributos do software que
evidenciam o esforo necessrio para sua instalao em um evidenciam o esforo necessrio para sua instalao em um
ambiente especificado ambiente especificado
conformidade: conformidade: atributos do software que o tornam atributos do software que o tornam
consonante com padres ou convenes relacionadas consonante com padres ou convenes relacionadas
portabilidade portabilidade
capacidade para substituir: capacidade para substituir: atributos do software que atributos do software que
evidenciam sua capacidade e esforo necessrio para evidenciam sua capacidade e esforo necessrio para
substituir um outro software, no ambiente estabelecido substituir um outro software, no ambiente estabelecido
para este outro software para este outro software
Portabilidade
Portabilidade
capacidade para ser instalado: capacidade para ser instalado: atributos do software que atributos do software que
evidenciam o esforo necessrio para sua instalao em um evidenciam o esforo necessrio para sua instalao em um
ambiente especificado ambiente especificado
conformidade: conformidade: atributos do software que o tornam atributos do software que o tornam
consonante com padres ou convenes relacionadas consonante com padres ou convenes relacionadas
portabilidade portabilidade
capacidade para substituir: capacidade para substituir: atributos do software que atributos do software que
evidenciam sua capacidade e esforo necessrio para evidenciam sua capacidade e esforo necessrio para
substituir um outro software, no ambiente estabelecido substituir um outro software, no ambiente estabelecido
para este outro software para este outro software
COPPE/UFRJ COPPE/UFRJ
Qualidade para Domnios de Aplicao e
Qualidade para Domnios de Aplicao e
Tecnologias
Tecnologias
de Desenvolvimento Especficas
de Desenvolvimento Especficas
COPPE/UFRJ COPPE/UFRJ
Qualidade de Software Web
Qualidade de Software Web
Usabilidade Usabilidade
inteligibilidade inteligibilidade global do site global do site
feedback on line feedback on line e help e help
interface e interface e aspectos estticos aspectos estticos
aspectos especiais aspectos especiais
Funcionalidade Funcionalidade
capacidade capacidade de de busca busca e e recuperao recuperao
aspectos navegacionais aspectos navegacionais e de browsing e de browsing
aspectos relacionados ao domnio da aspectos relacionados ao domnio da
aplicao aplicao
Eficincia Eficincia
tempo de tempo de resposta resposta
velocidade na gerao velocidade na gerao de de pginas pginas
velocidade na gerao velocidade na gerao de de grficos grficos
Confiabilidade Confiabilidade
correo correo no no processamento processamento de links de links
recuperao recuperao de de erros erros
validao validao e e recuperao recuperao de de entradas entradas
do do usurio usurio
Manutenibilidade Manutenibilidade
facilidade facilidade de de correo correo
adaptabilidade adaptabilidade
extensibilidade extensibilidade
Olsina,L et al Specifying Quality Characteristics
and Attributes for Web Sites; First ICSE
Workshop on Web Engineering, Los Angeles,
1999
COPPE/UFRJ COPPE/UFRJ
Rocha,A.R., Maldonado,J.C., Weber,K.(eds) Qualidade de Software:
Teoria e Prtica. Prentice-Hall, 2001 (Cap6)
6.1 Qualidade do Software Educacional (Gilda Campos,
Fernanda Campos)
6.2 Qualidade de Software Mdico (Ana Rgina rocha, Kathia
Oliveira, Alvaro Rabelo)
6.3 Qualidade de Software Orientado a Objetos (Clifton Clunie,
Claudia Werner)
Qualidade de Software Web (Kathia Oliveira, Raquel Lima, Ana
Regina Rocha)
Qualidade para Domnios de Aplicao e
Qualidade para Domnios de Aplicao e
Tecnologias
Tecnologias
de Desenvolvimento Especficas
de Desenvolvimento Especficas
COPPE/UFRJ COPPE/UFRJ
Modelo de Processo de Avaliao
Necessidades explcitas
ou implcitas
Requisitos
Gerenciais
ISO 9126/NBR13596 e outras
informaes tcnicas
Especificao dos
Requisitos de Qualidade
Produtos/Prod.
intermedirios
Valor medido
Nvel de
pontuao
Resultado
(aceitvel ou inaceitvel)
Definio dos
requisitos de
qualidade
Desenvolvimento
de software
Medio
Seleo de
Mtricas
Definio do
nvel de
pontuao
Definio dos
critrios de
julgamento
Pontuao
Julgamento
COPPE/UFRJ COPPE/UFRJ
RAZES PARA
MEDIR SOFTWARE
ENTENDER
PREDIZER
CONTROLAR
COPPE/UFRJ COPPE/UFRJ
Mtricas de Software
Utilizadas para permitir a quantificao do grau em que as Utilizadas para permitir a quantificao do grau em que as
caractersticas esto presentes em um determinado produto caractersticas esto presentes em um determinado produto
de software de software
mtricas objetivas e subjetivas mtricas objetivas e subjetivas
mtricas diretas e indiretas mtricas diretas e indiretas
mtricas do produto e do processo mtricas do produto e do processo
falta de experimentos para validao falta de experimentos para validao
falta de ferramentas de apoio falta de ferramentas de apoio
COPPE/UFRJ COPPE/UFRJ
Taxonomia Taxonomia de Atributos Mensurveis de Atributos Mensurveis
Projetos diferentes tm requisitos de qualidade distintos Projetos diferentes tm requisitos de qualidade distintos