Modelos de Qualidade de Software
Modelos de Qualidade de Software
Modelos de Qualidade de Software
Resumo
A demanda por qualidade tem motivado a comunidade de software para o desenvolvimento de
modelos para qualidade de software. Estes modelos esto orientados por duas vises: viso de
processo e viso de produto. A viso de processo trata da avaliao e melhoria dos processos
utilizados para o ciclo de vida do software. A viso de produto trata da avaliao de um produto
de software, para verificao de sua qualidade. Este artigo introduz conceitos de qualidade de
software e descreve os principais modelos nestas duas vises.
Palavras-Chave
Qualidade de Software, Qualidade de Processo, Qualidade de Produto, ISO 9000-3, ISO/IEC
12207-1, SW-CMM, SPICE, Srie ISO/IEC 14598, Srie ISO/IEC 9126, ISO/IEC 12119.
1. Introduo
A Qualidade hoje o grande motivador em todas as reas de atividade humana. Todos querem
fornecer e receber produtos e servios de Qualidade. Mas, o que Qualidade?
Qualidade... a gente sabe o que , e, ao mesmo tempo, no sabe. Isso contraditrio.
Mas algumas coisas so melhores que outras, ou seja, tm mais qualidade. Porm, se
a gente tenta definir qualidade, isolando-a das coisas que a possuem, ento puf - j no
h mais o que falar. (Robert Pirsig em Zen e a arte da manuteno de motocicletas).
Embora possamos concordar com esta afirmao, ao desenvolvermos nossas atividades
precisamos de uma base de entendimento universal. Os diversos modelos e Normas j
editados ou em desenvolvimento procuram suprir esta necessidade. Este artigo descreve um
panorama geral e linhas para a atuao com base nessas Normas e modelos.
So apresentados modelos para a avaliao de software dentro das vises complementares de
processo e produto. A avaliao de processo tratada pelo modelo de referncia SPICE
(Software Process Improvement and Capability Determination) [SPI95] [SPI95a], modelo SWCMM (Capability Maturity Model) [PAU93], Norma ISO/IEC 12207 [ISO12207-1] e srie de
Normas ISO 9000 [ISO9000]. A avaliao de produto objeto da srie de Normas ISO/IEC
9126, 14598 e 12119.
2. Qualidade
A Norma ISO 8402 [ISO8402] define Qualidade como a totalidade de caractersticas de uma
entidade que lhe confere a capacidade de satisfazer s necessidades explcitas e implcitas".
Necessidades explcitas so aquelas expressas na definio de requisitos propostos pelo
produtor. Esses requisitos definem as condies em que o produto deve ser utilizado, seus
objetivos, funes e o desempenho esperado.
satisfao (gosta)
requisito de qualidade
atrativo
requisito atendido
requisito no atendido
atendimento ao requisito
requisito de qualidade
Normal
requisito de qualidade
necessrio
podendo, em alguns casos, chegar-se verificao de 100% dos produtos para eliminao
daqueles produzidos com defeito, impedindo que eles cheguem ao usurio. Certifica-se a
qualidade do produto, a um custo elevadssimo, seja pelo trabalho de verificao envolvido, seja
pelo desperdcio representado pela deteco e eliminao das peas defeituosas.
Como alternativa, procura-se melhorar o processo de produo, para se adquirir maior
confiana na qualidade do produto final. Adota-se o Controle Estatstico de Processo (CEP),
para identificar variaes no processo de forma a corrigir desvios.
No passo seguinte, adota-se a noo de um Sistema da Qualidade, envolvendo toda a
Empresa no esforo pela Qualidade (a srie de Normas ISO 9000 se insere neste passo). A
seguir amplia-se ainda mais o alcance do gerenciamento da qualidade, preconizando a
necessidade de se fazer um projeto voltado para a Qualidade e se considerar a satisfao de
todos os agentes envolvidos: o cliente (produto ou servio), o acionista (resultado financeiro), os
colaboradores (emprego, crescimento profissional) e a comunidade [FEI91]. Adota-se a viso
de que a Qualidade se obtm principalmente durante o projeto e concepo do produto,
fazendo-o mais robusto, ou seja, menos sujeito a introduo de defeitos no processo de
manufatura e menos passvel de falhas conforme as condies ambientais e forma de uso. A
Figura 2 mostra a evoluo da proporo da aplicao de inspeo, atuao no processo e no
projeto neste sculo.
Inspeo
Processo
Projeto de
Processo e
Produto
1900
1910
CEP
1920
1930
Procedimentos
1940
Comporta- Otimimento
zao
1950
1960
1970
Projeto
Projeto
Robusto
1980
Concepo
Eng. Simultnea / QFD
1990
2000
necessrias para a sua produo, incluindo avaliao, como pode ser visto nas sees a
seguir.
A procura pela certificao da srie ISO 9000 um dos grandes motivadores do atual
movimento em relao qualidade em todas as reas de atividades econmicas, incluindo o
software. Ela influenciou praticamente todas iniciativas em qualidade de software. Em particular,
o TickIT [TIC92] desenvolvido no Reino Unido, que prov um esquema uniforme para estender
a certificao ao campo do software, baseado na ISO 9001 e ISO 9000-3 [ISO9000-3].
4.2 ISO/IEC 12207-1
Esta Norma comeou a ser elaborada em junho de 1989, no grupo de trabalho ISO/IEC
JTC1/SC7/WG7 (Comit de Engenharia de Software) e foi aprovada em agosto de 1995. Ela
estabelece os processos, atividades e tarefas a serem aplicados durante a aquisio,
fornecimento, desenvolvimento, operao e manuteno de software. A Norma apresenta uma
definio abrangente em relao aos processos, e orienta a adaptao para sua utilizao nos
projetos de software implementados numa organizao.
A Norma define dezessete processos do ciclo de vida de software e os organiza em trs
classes: processos fundamentais, processos de apoio e processos organizacionais. Cada
classe contm os processos definidos e os possveis usurios, como apresentado na Figura 4.
A importncia desta Norma o estabelecimento de uma estrutura de classificao de
processos normalizando a terminologia.
Processos fundamentais
Processo de Aquisio
Viso de
Contrato
Cliente, fornecedor
Processo de Fornecimento
Processo de Operao
Viso
Operacional
Operador, usurio
Processo de
Desenvolvimento
Processo de
Manuteno
Processos de Apoio
Documentao
Gerncia de configurao
Garantia da qualidade
Verificao
Validao
Reviso
Auditoria
Resoluo de problema
Viso de
Engenharia
Equipe de desenvolvimento
Equipe de manuteno
Viso da Equipe
de Apoio
Equipe de Apoio
Processos Organizacionais
Administrao
Melhoria
Infra-estrutura
Treinamento
Nvel 5 - Otimizado
Melhoria contnua do processo possibilitada pela
realimentao quantitativa do processo e conduzida a partir
de idias e tecnologias inovativas.
Preveno de defeitos
Gerenciamento de mudanas tecnolgicas
Gerenciamento de mudanas de processo
Nvel 4 - Gerenciado
So efetuadas medies detalhadas do processo de software
e qualidade do produto. Tanto o processo como o produto so
entendidos e controlados quantitativamente.
Nvel 3 - Definido
O processo de software em relao tanto s atividades de
gerenciamento, como de engenharia, so documentadas,
padronizadas e integradas em processos padro para a
organizao. Todos os projetos usam uma verso aprovada e
adaptada do processo padro de software da organizao
para o desenvolvimento e manuteno
Nvel 2 - Repetitivo
Processos bsicos de gerenciamento de projeto so
estabelecidos para controlar custos, cronogramas e
funcionalidade. A disciplina necessria de processo permite
repetir sucessos anteriores em projetos de aplicao similar.
Gerenciamento de requisitos
Planejamento de projeto de software
Acompanhamento de projeto de software
Gerenciamento de subcontratos
Qualidade assegurada de software
Gerenciamento de Configurao
Nvel 1 - Inicial
O processo de software caracterizado como ad hoc,
ocasionalmente at catico. Poucos processos definidos.
Sucesso depende dos esforos individuais e herosmo.
Processo
identifica
mudanas no
examinado
pela
identifica capacidade
e riscos do
Avaliao do
Processo
Melhoria do
Processo
leva
leva
motiva
Capacitao
do processo
Organizao
ORG.3
ORG.4
ORG.5
Melhorar o processo
Prover recursos treinados
Prover infra-estrutura organizacional
Processo
incompleto
Nvel 1
Processo
executado
Nvel 2
Processo
gerenciado
Nvel 3
Processo
estabelecido
Nvel 4
Processo
previsvel
Nvel 5
Processo
otimizado
Atualmente o projeto SPICE est em fase de experimentao (empirical trials), com objetivo de
validar e revisar o modelo conforme os resultados destes experimentos. Esta fase iniciou-se em
1995 e tem seu trmino previsto para 1997.
Este projeto interessante pelo seu direcionamento e flexibilidade. Est disponvel para que as
organizaes o utilizem conforme suas necessidades e planos de negcios, medindo a
capacitao de cada um de seus processos com o objetivo de promover melhorias contnuas
nos mesmos. Deste modo, obtm-se uma avaliao mais detalhada do estado da organizao,
permitindo a comparao de resultados de avaliaes por outros modelos compatveis.
4.5 Comparao entre os Modelos Apresentados
O Quadro 4 descreve uma viso conjunta dos principais aspectos dos modelos apresentados.
Nesse Quadro, o aspecto Abordagem caracteriza resumidamente como e sobre o que cada
modelo atua para atingir seu objetivo. Organizaes Alvo caracteriza a que tipo/porte de
organizao melhor se aplica o modelo; Definio de Processos quantifica o
desmembramento e a classificao de processos; Flexibilidade indica a possibilidade de
adaptao dos aspectos definidos pelo mtodo. Os nomes dos demais aspectos do Quadro so
auto explicativos e dispensam comentrios.
Aspectos
abordados
ISO 9000-3
ISO/IEC
SW-CMM
SPICE
12207-1
Estabelecer uma
terminologia e um
entendimento comum
para os processos
entre todos os
envolvidos com
software.
Objetivo
Certificar a organizao
de acordo com padres
estabelecidos em situaes de contrato de
fornecimento de
software.
Abordagem
Definio dos
Verificao de conformidade de processos a processos para
padres documentados. aquisio, fornecimento,
desenvolvimento,
operao e
manuteno de
software.
Determinar a capacitao da
organizao e apoiar a sua
evoluo de acordo com os
nveis estabelecidos
Conhecer e avaliar os
processos da organizao, determinar a capacitao e promover a
melhoria.
Avaliao dos
processos da
organizao em relao
a nveis de
capacitao.
Organizaes em
geral
Estabelece 17
processos,
organizados em 3
categorias
Estabelece 18 reas de
processos organizados em 5
nveis crescentes de
maturidade.
Estabelece 29
processos organizados
em 5 categorias
Classificao de
processos pode ser
utilizada conforme os
objetivos da
organizao.
Permite a definio de
perfis de processo e
prticas de acordo com
os objetivos da
organizao.
No se aplica
Questionrio e entrevistas
Fornece orientaes
para definio dos
instrumentos.
Inspirao e
Influncia
Princpios de Shewart,
Deming, Juran, Crosby.
Aspectos
Positivos
Norma Internacional;
Norma Internacional;
Difuso extensa;
Estabelecimento de diretrizes
para a melhoria contnua.
Definio de uma
Difuso extensa nos EUA.
taxonomia para
processos til para
qualquer organizao.
Norma Internacional em
elaborao;
Reconhecimento do
valor da certificao.
Limitaes
Risco de se colocar a
Certificao como
objetivo principal.
Ausncia de apoio
melhoria contnua. Falta
abordagem de produto.
ESTGIO DO
PROJETO
DOCUMENTO
ASSOCIADO
NOME (ingls)
NOME (portugus)
0
1
2
3
4
preliminary
proposal
preparatory
commitee
enquiry
PWI
NP
WD
CD
DIS / CDV
5
6
approval
publication
FDIS
ISO, IEC or ISO/IEC
Essas Normas geradas pela ISO/IEC so traduzidas para a verso brasileira, atravs da ABNT
(Associao Brasileira de Normas Tcnicas), mesmo que no estejam em estgio de
publicao, muitas vezes assumindo cdigos diferentes (e.g. a Norma ISO/IEC 9126 foi
traduzida assumindo o cdigo NBR 13596). As Normas que se encontram em fase de
publicao, uma vez traduzidas, podem ser compradas por qualquer pessoa interessada.
Abaixo encontra-se a descrio das Normas usadas para avaliar a qualidade de produto de
software pela ATAQS. Haver uma breve descrio a respeito da Srie 14598, e sero
destacadas as Normas de processo de avaliadores, modelo de qualidade e pacotes de
software.
5.2 Srie ISO/IEC 14598
5.2.1 Viso Geral
Esta srie oferece uma viso geral dos processos de avaliao de produtos de software e
fornece guias e requisitos para avaliao. Pela Norma, podem existir trs situaes diferentes
para a avaliao da qualidade de produto, focando os processos para desenvolvedores,
compradores e avaliadores, respectivamente as partes 3, 4 e 5 dessa srie. O processo para
avaliadores ser mais aprofundado em funo de ser o mais voltado ao tipo de servio prestado
pela ATAQS, como ser visto na seo Aplicando as Normas.
A relao entre as Normas dessa srie pode ser entendida com a Figura 6. Cada processo de
avaliao (partes 3, 4 e 5) pode ser usado em conjunto com o suporte avaliao (partes 2 e 6)
[ISO14598-1] [ISO14598-2] [ISO14598-3] [ISO14598-4] [ISO14598-5] [ISO14598-6].
Suporte Avaliao
2. Planejamento e
Gerenciamento
6. Documentao
Mdulos de Avaliao
Processo de
Avaliao
3. Processo para
Desenvolvedores
4. Processo para
Compradores
5. Processo para
Desenvolvedores
Anlise dos
Requisitos
da Avaliao
Requisitos da
Avaliao
Especificao
da Avaliao
Descriao
do Produto
Especificao da
Avaliao pr-definida
Entradas do
Avaliador
Especificao da
Avaliao
Projeto da
Avaliao
Mtodos de
Avaliao
Ferramentas de Avaliao
Plano da
Avaliao
Registro de Aes
de Avaliao
Execuo da
Avaliao
Resumo dos
Resultados da Avaliao
Entradas do
Solicitante
Registros da
Avaliao
Rascunho do
Relatrio da
Avaliao
Relatrios de
Avaliao
Revisada
Concluso da
Avaliao
Componentes do
Produto
DESCRIO
Funcionalidade
Confiabilidade
Usabilidade
Eficincia
Manutenibilidade
Portabilidade
Maturidade
Tolerncia a Falhas
Recuperabilidade
Freqncia de falhas
Manter nvel de desempenho em caso de falha
Capacidade de se restabelecer e restaurar dados
aps falha
Usabilidade
Inteligibilidade
Apreensibilidade
Operacionalidade
Eficincia
Comportamento em
relao ao tempo
Comportamento em
relao a recursos
Analisabilidade
Manutenibilidade
Modificabilidade
Estabilidade
Testabilidade
Portabilidade
Adaptabilidade
Capacidade para ser
Instalado
Conformidade
Capacidade para
substituir
NORMA
12119
Requisitos
de Qualidade
Descrio do
Produto
Documentao
do Usurio
Instrues
para Teste
Programas
e Dados
Pr-requisitos
de Teste
Atividades de
Teste
Registros de
Teste
Relatrio de
Teste
Teste de
Acompanhamento
6. Concluso
As duas vises de processo e produto so necessrias e complementares, pois se o processo
d uma expectativa de gerao de produtos melhores, no se tem, como decorrncia direta, a
garantia da qualidade do produto porque sempre h fatores imponderveis e imprevisveis que
escapam ao controle do processo de produo e que podem afetar o resultado final. Mais
ainda, sendo o desenvolvimento de software concentrado em atividades de projeto, est mais
sujeito a erros e fatores imponderveis.
Apesar de distintos, com tcnicas e mtodos especficos, h uma superposio e uma
confluncia entre esses dois enfoques. As duas vises objetivam garantir a qualidade do
software e ambas interferem no processo de desenvolvimento, realimentando-o com os
resultados obtidos.
7. Referncias Bibliogrficas
[AND96]
Andrade, A.L.P.; Oliveira, A.; Capovilla, C.R.; Rgo, C.M.; Souza, E.P.; Martinez,
M.R.M.; Aguayo, M.T.V.; Jino, M. Aplicao da Norma ISO/IEC 12119 na
Avaliao da Qualidade de Produtos de Software, VII CITS, Curitiba, junho/1996
[COA94]
Coallier, F.;-"How ISO 9001 fits into de software world" - IEEE Software, Jan.1994
[FEI91]
[ISO12119]
[ISO9000]
[NBR19001]
[ISO9000-3]
NBR ISO 9000-3, Normas de Gesto da Qualidade e Garantia da Qualidade Diretrizes para aplicao da NBR 19001 ao Desenvolvimento, Fornecimento e
Manuteno de Software, Rio de Janeiro, 1993.
[ISO9126-1]
[ISO9126-2]
[ISO9126-3]
[KANO84]
Kano, N., Seraku, N., Takahashi, F., Tsuji, S. - Attractive Quality and Must-Be
Quality (Jan.1984) - in TQM - Ten Elements for Implementation - Apostila de
Curso da Goal-QPC, 1991
[NBR9001]
NBR 9001, Associao Brasileira de Normas Tcnicas. Sistemas de qualidade Modelo para garantia da qualidade em projetos/desenvolvimento, produo,
instalao e assistncia tcnica", Rio de Janeiro, Brasil, 1990.
[NBR9003]
[PAU93]
Paulk, M.C.; Curtis B.; Chrissis, M.B. - "Capability Maturity Model, Version 1.1" IEEE Software, Jul. 1993.
[PAU95]
Paulk, M.C. - How ISO 9001 compares with the CMM - IEEE Software,
Jan.1995.
[SHA90]
[SPI95]
[SPI95]
[TIC92]
[TRI94]
Bell Canada Inc.; "Trillium: Model for Telecom Product Development and Suport
Process Capability", release 3.0, Dec. 1994.
[TSU95]
Tsukumo, A.N.; Andrade, A.L.P.; Rgo, C.M.; Azevedo, G.F.; Jino, M.; Tutumi, R.;
Maintinguer, S.T.- Avaliao de Produto de Software: algumas questes
relevantes e a ISSO/IEC 9126 - Anais do Worshop de Qualidade de Software SBC - Recife outubro/1996
[TSU95a]
Tsukumo, A.N.; Capovilla, C.R.; Rgo, C.M., Jino, M.; Maldonado, J.C.; "ISO/IEC
9126 : An Experiment of Application on Brazilian Software Products". Proceedings
Second IEEE International Software Engineering Standards Symposium,
Montral, Quebec, Canada, 1995; pg. 184-190.
[TSU96]
Tsukumo, A.N.; Oliveira, A.; Rgo, C.M., Azevedo, G.F.; Maldonado, J.C.;
Aguayo, M.T.V.; Jino, M.; Tutumi, R. The Second Experiment of Application of
ISO/IEC 9126 Standards on Quality Evaluation of Brazilian Software Products,
Proceedings 6th International Conference on Software Quality, Ottawa, Canada,
1996; pg. 46-63.