Apostila - Qualidade de Software - A
Apostila - Qualidade de Software - A
Apostila - Qualidade de Software - A
ENGENHARIA de SOFTWARE II
Qualidade de Software
resumo
2
O QUE QUALIDADE
Qualidade hoje em dia, no apenas um diferencial de mercado para a empresa conseguir
vender e lucrar mais, um pr-requisito que a empresa deve conquistar para conseguir colocar o
produto no Mercado Global.
Na rea de software, h uma urgente necessidade de uma maior preocupao sobre o tema,
mas afinal, o que qualidade?
Existem diversas definies. Algumas pessoas que tentaram uma definio simples chegaram
a frases como:
Qualidade estar em conformidade com os requisitos dos clientes
Qualidade antecipar e satisfazer os desejos dos clientes
Qualidade escrever tudo o que se deve fazer e fazer tudo o que foi escrito
Nota-se que esta definio formal exige alguns complementos, principalmente para definir o
que so as entidades, as necessidades explcitas e as necessidades implcitas.
A entidade o produto do qual estamos falando, que pode ser um bem ou um servio.
As necessidades explcitas so as prprias condies e objetivos propostos pelo produtor.
As necessidades implcitas incluem as diferenas entre os usurios, a evoluo no tempo, as
implicaes ticas, as questes de segurana e outras vises subjetivas.
Por exemplo, a qualidade de um prato de comida (a entidade, o produto) est relacionada com a
satisfao de necessidades (requisitos) tais como: sabor, aparncia, temperatura, rapidez no servio,
preo, higiene, valor nutricional, etc... Para avaliar a qualidade de um produto, deve-se fazer uma lista
destas necessidades e analisar cada uma destas necessidades.
Proposies da qualidade de software:
1) Qualidade o sucesso para o negcio de softwares, como em qualquer outro;
2) A maneira mais barata de aumentar a produtividade aumentar a qualidade do software;
3) A qualidade ao suporte do produto to importante quanto a qualidade do prprio software, o
ambiente de suporte deve ter engenharia tanto quanto o ambiente de desenvolvimento;
4) Para alcanar a qualidade de software, as pessoas e a cultura so to importantes quanto a
tecnologia;
5) O nico caminho seguro para aumentar a qualidade do software melhorar os processos ( o que
inclui pessoal, facilidades, equipamentos, tecnologia e metodologia);
6) Aumento de processos normalmente desnecessrio a menos que o gerente demonstre
compromisso e liderana;
7) Qualidade e melhoramento dos processos so de difceis esforos: sempre possvel realizar algo
um pouco melhor, um pouco mais rpido e um pouco mais barato;
8) Um sistema de qualidade compatvel com ISO9000 um bom alvo para muitas organizaes, mas
no para todas;
9) Um sistema de qualidade para uma organizao deve ser medido de acordo com suas necessidades
e circunstncias ou no ser eficiente
10) Um sistema de qualidade de software eficiente utiliza de boas prticas da engenharia de software
baseado nos seguintes princpios:
3
Princpios de qualidade:
Tentar prevenir defeitos ao invs de consert-los;
Ter certeza dos defeitos que forem encontrados, serem corrigidos o mais rpido possvel;
Estabelecer e eliminar as causas, bem como os sintomas dos defeitos;
Auditar o trabalho de acordo com padres e procedimentos previamente estabelecidos;
Princpios de gerncia:
Definir regras e responsabilidades;
Planejar o trabalho;
Trilhar o progresso atravs de planos e corrigir quando necessrio;
Refinar o plano sempre e progressivamente;
Princpios de engenharia:
Analisar o problema antes de desenvolver a soluo;
Quebrar problemas complexos em problemas menores;
Garantir que subproblemas unam-se pelo controle de seus relacionamentos;
HISTRICO DA QUALIDADE
Conceituar qualidade se torna uma tarefa muito difcil, pois elementos intrnsecos esto
enraizados no intelecto de cada ser. Portanto se exerccios forem feitos dando como misso para cada
grupo, vrias definies so apresentadas, mas o que mostra como bem prximo de se considerar
como sendo um mtodo gerencial que atravs de processos e procedimentos disseminados pr toda a
organizao busca uma posio competitiva para propiciar a satisfao da sociedade ao longo do
tempo.
POR QUE SE PREOCUPAR COM A QUALIDADE DE SOFTWARE?
A qualidade, hoje em dia, crtica para a sobrevivncia e o sucesso do mercado de software
que est se desenvolvendo de forma global. Uma organizao no sobressair no mercado global a
menos que produza software de boa qualidade e seus clientes vejam produtos e servios de boa
qualidade.
Existem muitas razes que devem ser levadas em conta, a saber:
A) Qualidade competitividade: a nica maneira de diferenciar o produto do competidor pela
qualidade do software e do suporte que fornecido juntamente. Como o mercado amadurece,
usurios no querem apenas que a empresa fale que tem qualidade, mas que mostre a todos a sua
qualidade atravs de Certificao internacional. No ter certificao pode acarretar desvantagem
competitiva.
B) Qualidade essencial para a sobrevivncia: Clientes esto pedindo por qualidade. Se a empresa
no tiver habilidade de sobreviver em um mercado altamente competitivo, ela est em dbito com
o mercado. A maioria das grandes organizaes est reduzindo o nmero de fornecedores, e um
meio de escolher os fornecedores verificando quais deles tm certificaes de qualidade.
C) Qualidade essencial para o mercado internacional: O mercado de software est, cada vez mais, se
tornando global. As habilidades das empresas de mostrarem qualidade eventualmente as colocam
no mercado global. O mercado local vulnervel a produtos importados que, normalmente, tm
mais qualidade.
4
D) Qualidade custo/benefcio: um sistema de qualidade direciona para o aumento da produtividade e
permanentemente reduz custos, habilitando o gerenciamento para reduzir a correo de defeitos
dando nfase preveno. Todas as empresas sabem que corrigir defeitos aps o desenvolvimento
do software mais dispendioso do que corrigi-los depois. Prevenir defeitos primeiramente pode
resolver muita coisa depois e economizar bastante.
Qualidade x Definio de pr-requisitos
O processo de pr-requisitos deve identificar e definir as caractersticas de um produto em
particular que de necessidade do cliente e distingu-los dos menos importantes. importantssimo
que, na entrega do produto final, o sistema tenha pouqussimos ou nenhum erro ou falha e seja fcil de
utiliz-lo deixando a performance para segundo plano.
A comunicao entre o desenvolvedor e o cliente a chave para a definio correta. O
desenvolvedor dever trabalhar em conjunto com o cliente, nesta primeira fase, para definir
corretamente as especificaes do software.
aconselhvel desenvolver tcnicas de prototipagem para isolar e definir as caractersticas
de qualidade.
O processo de descobrir os pr-requisitos do sistema geralmente a fase de anlise do sistema.
O custo/benefcio de se aplicar adequadamente os recursos para esta fase muito grande.
Qualidade e o desenvolvimento software
O processo de desenvolvimento do software onde os desenvolvedores traduzem os pr-
requisitos em software.
certo que a qualidade do software est diretamente ligada qualidade dos processos
utilizados para o desenvolvimento.
Um bom desenvolvimento de software deve capacitar organizao a definio da
consistncia dos produtos de qualidade. A comunidade de software est vendo que o desenvolvimento
do produto deve ser feito de maneira muito rpida. O ciclo de vida do produto agora um negcio
crtico para muitos desenvolvedores.
Os consumidores de software necessitam de produtos cada vez melhores e mais rpidos de
serem desenvolvidos para aumentar a sua competitividade no mercado global.
Se estes objetivos forem cumpridos, o desenvolvimento de software, deve:
Utilizar as melhores prticas da engenharia de software;
Ser operado por pessoal treinado com responsabilidades e instrues;
Dar nfase na preveno de defeitos assim que forem detectados
Gerar registro para demonstrar efetividade e eficincia;
Utilizar destes registros para aumentar a performance no futuro.
O que um Sistema de Qualidade?
5
Aplicar os princpios da qualidade de software o incio para o sucesso. O termo sistema de
qualidade utilizado internacionalmente para descrever um processo na qual garante e demonstra a
qualidade dos produtos e servios ofertados pela empresa.
A padronizao ISO 9000 define e descreve o que requerido ou satisfatrio em um sistema de
qualidade contendo componentes de desenho e desenvolvimento. As padronizaes existentes para
garantir a qualidade de software sero estudadas mais frente neste trabalho.
Alm das padronizaes ISO, muitas outras organizaes nacionais e internacionais
promovem padres que descrevem sistemas de qualidade para serem aplicado em sistemas de
desenvolvimento e suporte em certas circunstncias, a exemplificar o CMM (Capability maturity
model).
O termo gerenciamento de sistemas de qualidade utilizado s vezes. Este termo d nfase
s necessidades do processo de qualidade para serem gerenciados para garantir que continue de forma
correta e eficiente.
To importante quanto as prticas e ferramentas o status da pessoa que as usa. A qualidade
deve garantir que as pessoas envolvidas devem ter suas habilidades certas para cada tipo de trabalho de
uma maneira profissional. Se as pessoas necessitam de treinamento, ento a empresa dever treinar os
seus usurios. Deve-se garantir que as pessoas entendam suas responsabilidades e como seu trabalho se
relaciona com outras pessoas.
Um sistema de qualidade d grande nfase correo de erros. muito til corrigir os erros
durante o incio do ciclo de vida do sistema.
CERTIFICAO DA QUALIDADE
Um aspecto interessante da qualidade que no basta que ela exista. Ela deve ser reconhecida
pelo cliente. Por causa disso, necessrio que exista algum tipo de certificao oficial, emitida com
base em um padro. Alguns tipos de certificados so bastante conhecidos, como:
O selo do SIF de inspeo da carne
O selo da ABIC nos pacotes de caf
A classificao em estrelas dos hotis (hotis com cinco estrelas so timos)
Ouvimos muitas propagandas de empresas falando de sua certificao ISO-9000. Isto nada
mais do que um padro de qualidade (reconhecido mundialmente) pelo qual esta empresa foi avaliada
e julgada. Para que seja possvel realizar uma avaliao e um julgamento, necessrio haver um padro
ou norma. Existem alguns organismos normalizadores reconhecidos mundialmente:
ISO - International Organization for Standardization fundada em 1947.
IEC - International Electrotechnical Comission fundada em 1906.
A norma ISO-9000, por exemplo, foi criada pela ISO para permitir que todas as empresas do
mundo possam avaliar e julgar sua qualidade. Existindo um padro nico mundial, uma empresa do
Brasil, mesmo no tendo nenhum contato com outra empresa na Europa, pode garantir a ela a qualidade
de seu trabalho.
A Certificao em uma norma ou padro a emisso de um documento oficial indicando a
conformidade com esta determinada norma ou padro. claro que, antes da emisso do certificado,
preciso realizar todo um processo de avaliao e julgamento de acordo com uma determinada norma.
6
Qualidade Produto x Qualidade Processo
Uma das evolues mais importantes no estudo da qualidade est em notar que a qualidade do
produto algo bom, mas que qualidade do processo de produo ainda mais importante. No caso do
prato de comida, por exemplo, pode-se dizer mais sobre a qualidade observando como o prato foi
preparado do que analisando o produto final.
Afinal, no se consegue ter certeza da higiene ou o valor nutricional apenas comendo o prato.
Hoje em dia, pode-se consultar normas e padres tanto para produtos quanto para processos.
Obviamente, os certificados mais valiosos so aqueles que certificam o processo de produo de
um produto e no aqueles que simplesmente certificam o produto.
Entretanto, comum encontrar empresas que perseguem os dois tipos de padro de qualidade.
QUALIDADE DE SOFTWARE:
Agora que se tem o conhecimento sobre o que qualidade e como ela pode ser avaliada,
vamos tentar aplicar estes conceitos aos produtos de software e ao processo de desenvolvimento de
software. Inicialmente, vamos encontrar um grande problema: muitas pessoas acham que criar
programas uma arte que no pode seguir regras, normas ou padres. Isto acontece principalmente por
que:
Produtos de software so complexos, at mais do que o hardware onde executam.
Software no tem produo em srie. Seu custo est no projeto e desenvolvimento
Software no se desgasta e nem de modifica com o uso
Software invisvel. Sua representao em grficos e diagramas no precisa.
A Engenharia de Software ainda no est madura, uma tecnologia em evoluo.
No h um acordo entre os profissionais da rea sobre o que Qualidade de Software
Apesar de tudo isso, precisamos entender que o problema no est no Software em si, mas
na forma como as pessoas tem desenvolvido software at os dias de hoje. Precisamos nos
conscientizar que necessitamos aplicar na indstria de software os conceitos de qualidade,
urgentemente.
Atualmente, muitas instituies se preocupam em criar normas para permitir a correta
avaliao de qualidade tanto de produtos de software quanto de processos de desenvolvimento de
software. Apenas para ter uma viso geral, observe o quadro a seguir, com as principais normas
nacionais e internacionais nesta rea:
7
Norma Comentrio
ISO 9126 Caractersticas da qualidade de produtos de software.
NBR 13596 Verso brasileira da ISO 9126
ISO 14598
Guias para a avaliao de produtos de software, baseados na utilizao
prtica da norma ISO 9126
ISO 12119
Caractersticas de qualidade de pacotes de software (software de prateleira,
vendido com um produto embalado)
ISO 12207
Software Life Cycle Process. Norma para a qualidade do processo de
desenvolvimento de software.
NBR ISO 9001
Sistemas de qualidade - Modelo para garantia de qualidade em Projeto,
Desenvolvimento, Instalao e Assistncia Tcnica (processo)
NBR ISO 9000-3
Gesto de qualidade e garantia de qualidade. Aplicao da norma ISO 9000
para o processo de desenvolvimento de software.
NBR ISO 10011 Auditoria de Sistemas de Qualidade (processo)
CMM
Capability Maturity Model. Modelo da SEI (Instituto de Engenharia de
Software do Departamento de Defesa dos USA) para avaliao da
qualidade do processo de desenvolvimento de software. No uma norma
ISO, mas muito bem aceita no mercado.
SPICE
ISO 15504
Projeto da ISO/IEC para avaliao de processo de desenvolvimento de
software. Ainda no uma norma oficial ISO, mas o processo est em
andamento.
Qualidade de Produtos de Software - I SO 9126
Quando se pensa em qualidade de um "produto fsico", fcil imaginar padres de
comparao, provavelmente ligado s dimenses do produto ou alguma outra caracterstica fsica.
Quando se trata de software, como podemos definir exatamente o que a qualidade? Parece difcil...
Felizmente, para ns, a ISO (Organizao Internacional de Padres) j pensou bastante
sobre o assunto. O suficiente para publicar uma norma que representa a atual padronizao mundial
para a qualidade de produtos de software. Esta norma chama-se ISO/IEC 9126 e foi publicada em
1991. Ela uma das mais antigas da rea de qualidade de software e j possui sua traduo para o
Brasil, publicada em agosto de 1996 como NBR 13596.
Mtricas de qualidade de produtos de software e a norma ISO/IEC 9126
A norma ISO/IEC 9126 (ISO9126) prope um enquadramento no qual definido um conjunto de
caractersticas que permitem avaliar a qualidade de um produto. As caractersticas propostas foram
escolhidas com a preocupao de serem to independentes quanto possvel.
composta das seguintes partes:
ISO/IEC 9126-1: Modelo de Qualidade;
ISO/IEC 9126-2: Mtricas Externas;
ISO/IEC 9126-3: Mtricas Internas;
ISO/IEC 9126-4: Mtricas de Qualidade em Uso
8
I SO/I EC 9126-1 Modelo de Qualidade
O Modelo de Qualidade divide-se em duas partes:
Qualidade interna e externa
Qualidade no uso
Qualidade Interna
Conjunto de caractersticas do produto de software que avaliam o produto segundo uma viso
interna
Usados para definir estratgias de desenvolvimento e critrios para avaliao e verificao
durante todo o desenvolvimento
Qualidade Externa
Conjunto de caractersticas do produto de software que avaliam o produto segundo uma viso
externa
Qualidade quando o software executado
Avaliado atravs de testes em ambientes simulados
Qualidade em Uso
Viso do utilizador sobre a qualidade do produto quando em uso num ambiente especifico
dentro de um contexto de utilizao
medida em relao ao resultado da utilizao do software e no em relao a caractersticas
do produto
Representa o efeito combinado da qualidade externa e interna
Qualidade Interna e Externa Sub-Caractersticas
Funcionalidade: Conjunto de funes atendem s necessidades para a finalidade a que o produto se
destina?
Adequao - propem-se a fazer o que apropriado?
Exatido gera resultados corretos ou conforme acordados?
Interoperabilidade capaz de interagir com os sistemas especificados?
Segurana evita acessos no autorizados, acidentais ou deliberados a programa e dados?
Conformidade est de acordo com normas e convenes previstas em leis, normas e
descries similares?
Confiabilidade: O desempenho, mantm-se ao longo do tempo nas condies estabelecidas?
Maturidade com que freqncia apresenta falhas?
Tolerncia a falhas ocorrendo falhas, como que o sistema reage?
Facilidade de recuperao capaz de recuperar dados aps uma falha?
Facilidade Utilizao: O software fcil de ser utilizado?
Facilidade Compreenso fcil de entender os conceitos utilizados?
Facilidade Aprendizagem fcil de aprender a usar?
Operacionalidade fcil de operar e controlar a operao?
Eficincia: O software realiza as tarefas no tempo adequado complexidade de cada uma
delas?
Comportamento em relao ao tempo qual o tempo de resposta e de processamento?
Comportamento em relao aos recursos quantidade de recursos utilizados? Durante
quanto tempo?
9
Facilidade Manuteno: O software fcil de ser alterado?
Facilidade Anlise fcil encontrar um erro quando ocorre?
Facilidade Modificao fcil modificar e remover erros?
Estabilidade h grande risco de erro, quando se faz alteraes?
Facilidade Teste fcil testar quando se faz alteraes
Portabilidade: fcil transferir o software para outro ambiente?
Adaptabilidade fcil adaptar a outras plataformas sem aplicar outras aes ou meios alm
dos fornecidos para esta finalidade no software considerado?
Facilidade Instalao fcil instalar noutras plataformas?
Facilidade Substituio - fcil substituir por outro software?
QUALIDADE DE USO - CARACTERISTICAS
Eficcia: O software permite atingir os objetivos estabelecidos em certas condies de
funcionamento?
Produtividade: Capacidade do software utilizar um determinado nmero de recursos em
relao aos objetivos pretendidos em certas condies de funcionamento
Segurana: Capacidade do software em obter nveis de riscos, aceitveis em certas condies
de funcionamento
Satisfao: O software satisfaz os requisitos do usurio?
QUALIDADE E MTRICAS
Mtricas de software so medidas associadas ao processo ou ao produto de software, incluindo
sua documentao.
Mtricas permitem a quantificao, que por sua vez produz a avaliao da qualidade e
comparao entre tcnicas e processos.
Objetivo
Definem requisitos de qualidade
Medem e melhoram a qualidade de produtos intermedirios
Controlam a qualidade do produto
Permitem tomar decises quanto a aceitao ou no do produto.
TIPOS de MTRICAS
Mtricas Internas
So aplicveis a um produto de software no executvel (ex: especificao de cdigo)
durante o desenvolvimento
Permite iniciar aes de correo durante o desenvolvimento
O produto intermdio deve ser medido com mtricas internas
Objetivo de assegurar que a qualidade externa e em uso sejam garantidas
Testers, Programadores, podem testar a qualidade do software antes de este se tornar
executvel.
Mtricas Externas
Aplicveis a testes, operaes e observaes do software executvel ou sistema
Utilizadores, Testers, Programadores, podem testar a qualidade do software durante os
testes ou operaes
10
Mtricas de Qualidade em Uso
Capacidade do produto de software em permitir que os utilizadores atinjam os objetivos
pr-estabelecidos com Eficcia, Produtividade, Segurana e Satisfao. Qualidade em
uso a qualidade do produto vista pelo utilizador, e medida atravs do resultado do
uso do software, em vez das propriedades do software.
Mede a extenso, na qual um determinado software consegue satisfazer os requisitos
impostos pelo utilizador com
Eficcia
Produtividade
Segurana
Satisfao
I SO/I EC 9126-2 - Mtricas Externas
Funcionalidade - adequao
Nome da medida: complexidade das funes
Propsito: determinar a taxa de implementao das funes definidas na especificao de
requisitos
Entradas: relatrios de avaliao, especificaes de requisitos
Confiabilidade - tolerncia a falhas
Nome da medida: capacidade de evitar falhas
Propsito: determinar controle de ocorrncia de falhas
Entradas: relatrios de teste e de operao.
I SO/I EC 9126-3 - Mtricas Internas
Funcionalidade - adequao
Nome da medida: adequao da funcionalidade
Propsito: as funes so adequadas
Confiabilidade - tolerncia a falhas
Nome da medida: capacidade de evitar falhas
Propsito: determinar nmero de falhas previstas e evitadas no cdigo
Usabilidade facilidade de aprendizagem
Nome da medida: funes evidentes
Propsito: proporo de funes que so evidentes ao utilizador
Eficincia comportamento em relao ao tempo
Nome da medida: tempo de resposta
Propsito: estimar o tempo de resposta da aplicao
Manuteno facilidade de modificao
Nome da medida: registo de alteraes
Propsito: as alteraes so registadas adequadamente
Portabilidade - conformidade
Nome da medida: conformidade da portabilidade
Propsito: contar o n de artigos que requerem conformidade e comparar com o n de
11
artigos que na especificao requerem conformidade.
I SO/I EC 9126-4 - Mtricas de Qualidade em Uso
Eficcia nas tarefas
Qual a proporo da tarefa est completa correctamente?
Concluso da tarefa
Qual a proporo da tarefa que est completa?
Frequncia de erros
Qual a frequncia com a qual aparecem erros?
Tempo da tarefa
Quanto tempo demora a completar a tarefa?
Tempo de espera
Quanto tempo, espera o utilizador pela resposta do sistema?
Eficincia da tarefa
Qual a eficincia dos utilizadores?
Produtividade/Economia
Quais os custos com os utilizadores?
Proporo de produtividade
Qual a proporo de tempo que o utilizador gasta a desenvolver aces produtivas?
Frequncia de ajuda
Qual a frequncia com que se utiliza a ajuda do software?
GUIAS PARA AVALIAO DA QUALIDADE - ISO 14598
Nota-se a necessidade de mais detalhes sobre como avaliar a qualidade de um software. As
caractersticas e subcaractersticas da norma ISO/IEC 9126 apenas comearam o trabalho. Faltava
definir, em detalhes, como atribuir um conceito para cada item. Afinal, sem uma padronizao, que
valor teria uma avaliao?
A ISO, consciente deste problema, est finalizando o trabalho em um conjunto de Guias para a
Avaliao da Qualidade segundo a norma ISO/IEC 9126. Estes guias descrevem, detalhadamente,
todos os passos para que se avalie um software. Embora o trabalho nesta norma ainda no esteja
totalmente pronto, j existem informaes detalhadas sobre o que ser esta norma, quando for
oficialmente publicada.
Esta nova norma trar muitos recursos interessantes aos avaliadores, j que trata o processo de
avaliao em grande detalhe. Ela leva em conta a existncia de trs grupos interessados em avaliar um
software, o que define os trs tipos bsicos de certificao:
Certificao Quem realiza Finalidade
de 1a. parte
Empresas que desenvolvem
software
Melhorar a qualidade de seu prprio produto
de 2a. parte Empresas que adquirem software
Determinar a qualidade do produto que iro
adquirir
de 3a. parte Empresas que fazem certificao
Emitir documento oficial sobre a qualidade de
um software
12
Esta norma se constituir, na verdade, de seis documentos distintos, relacionados entre si,
como demonstrado a seguir:
Norma Nome Finalidade
14598-1 Viso Geral Ensina a utilizar as outras normas do grupo
14598-2 Planejamento e Gerenciamento
Sobre como fazer uma avaliao, de forma
geral
14598-3 Guia para Desenvolvedores
Como avaliar sob o ponto do vista de quem
desenvolve
14598-4 Guia para Aquisio
Como avaliar sob o ponto de vista de quem vai
adquirir
14598-5 Guia para Avaliao
Como avaliar sob o ponto de vista de quem
certifica
14598-6 Mdulos de Avaliao Detalhes sobre como avaliar cada caracterstica
Em resumo, esta nova norma complementar a ISO/IEC 9126 e permitir uma avaliao
padronizada das caractersticas de qualidade de um software. importante notar que, ao contrrio da
9126, a 14598 vai a detalhes mnimos, incluindo modelos para relatrios de avaliao, tcnicas para
medio das caractersticas, documentos necessrios para avaliao e fases da avaliao. Como um
exemplo, observe um modelo de relatrio de avaliao, segundo um anexo da norma 14598-5:
Seo Itens
1 Prefcio Identificao do avaliador
Identificao do relatrio de avaliao
Identificao do contratante e fornecedor
2 - Requisitos Descrio geral do domnio de aplicao do produto Descrio geral dos
objetivos do produto Lista dos requisitos de qualidade, incluindo -
Informaes do produto a serem avaliadas - Referncias s caractersticas de
qualidade - Nveis de avaliao
3 - Especificao Abrangncia da avaliao
Referncia cruzada entre os requisitos de avaliao e os componentes do
produto
Especificao das medies e dos pontos de verificao
Mapeamento entre a especificao das medies com os requisitos de
avaliao
4 Mtodos Mtodos e componentes nos quais o mtodo ser aplicado
5 Resultado Resultados da avaliao propriamente ditos
Resultados intermedirios e decises de interpretao
Referncia s ferramentas utilizadas
As normas 14598-1, 14598-4 e 14598-5 j foram publicadas. As demais esto em processo de
finalizao. Est sendo feito pela ABNT um trabalho de traduo desta norma (tanto dos itens j
publicados quanto das verses preliminares dos itens restantes). Com isso, esta norma ter sua verso
brasileira pouco tempo depois do final de sua publicao pela ISO.
13
NORMA ISO/IEC 25000
Uma das mais importantes normas, a respeito da caracterizao e medio de qualidade de
produto de software. uma evoluo das normas ISO/IEC 9126 e ISO/IEC 14598.
composta pelos seguintes documentos:
NORMA CONTEUDO
9126-1 Modelo de qualidade de Software
9126-2 Mtricas externas
9126-3 Mtricas internas
9126-4 Mtricas da Qualidade de Uso
14598-1 Guia de avaliao
14598-2 Planejamento e Gerenciamento de avaliaes
14598-3 Processo de avaliao para desenvolvedores
14598-4 Processo de avaliao para adquirentes/compradores
14598-5 Processo de avaliao para avaliadores
14598-6 Documentao de mdulos de avaliao
Caractersticas da Qualidade Externa/Interna
Funcionalidade,
Confiabilidade;
Usabilidade;
Eficincia;
Manutenibilidade;
Portabilidade
Qualidade em uso tm apenas um nvel de diviso e quatro caractersticas.
Efetividade;
Produtividade;
Segurana;
Satisfao.
A ISO/IEC 25000 e os trs tipos de qualidade
QUALIDADE EM
USO
Corresponde ao ponto de vista do usurio;
QUALIDADE
EXTERNA
Considera o produto como uma caixa-preta, nada se conhece
sobre sua arquitetura, sobre o seu cdigo ou como funciona,
A realizao de testes de funcionamento de um produto de
um produto corresponde a verificar a qualidade externa.
QUALIDADE
INTERNA
exatamente a arquitetura interna que levada em conta. A
qualidade da organizao do cdigo ou a complexidade
algortmica so exemplos de critrios que podem, indicar
respectivamente, provveis custos de manuteno e provvel
velocidade de execuo.
14
Srie ISO/IEC 25000 Software Engineering Software Product Quality Requirements and
Evaluation (Square)
Apesar das ISO 9126 e 145098 (Evoluo do software como produto), serem complementares, por
serem independentes uma da outra e terem ciclos de vida prprios, inconsistncias acabam ocorrendo.
As ISOs 9126 e 14598 foram, ento, utilizadas como base para a definio da srie ISO/IEC 25000.
ARQUITETURA DA SRIE ISO/IEC 25000
ISO/IEC 25000 GESTO
da QUALIDADE
Documento Geral,
Modelo de Arquitetura Square
Terminologia da 14598
Overview da 9126-2
ISO/IEC 2503n
REQUISITOS da
QUALIDADE
Guia geral de Requisitos de Qualidade
Requisitos de Qualidade em Uso
Requisitos de Qualidade Interna
Requisitos de Qualidade Externa
ISO/IEC 2504n
AVALIAO da
QUALIDADE
Guia e Modelo de Referencia
25041 Mdulos de avaliao
ISO/IEC 2502n MEDIO
da QUALIDADE
Guia e Modelos de referencias
25021 Elementos de Medida da Qualidade
25022 Medio de Qualidade Interna
25023 Medio de Qualidade Externa
25024 Medio de Qualidade em Uso
COMO SABER SE O PRODUTO DE QUALIDADE SEGUNDO A VISO DO USURIO?
MEDE-PROS Mtodo de avaliao de qualidade de produto de software
Objetivo Avaliar a qualidade de produto de software, segundo a viso do usurio, verificando o
quanto ele est atendendo os padres das normas internacionais de qualidade.
ISO/IEC 2503n
REQUISITOS
de
QUALIDADE
ISO/IEC 2501n
MODELO de QUALIDADE
ISO/IEC 2500n
GESTO da QUALIDADE
ISO/IEC 2502n
MEDIO da QUALIDADE
ISO/IEC 2504n
AVALIAO
da
QUALIDADE
15
Resultado Relatrio de avaliao
Aspectos positivos
Aspectos a serem previstos.
QUEM se BENEFICIA?
Produtos Aprimoramento do produto
Marketing de Vendas Argumento de Vendas
Usurios Verificar se o produto adequado s suas necessidades
RELATRIO de AVALIAO do MEDE-PROS.
a resposta, que o solicitante precisa, sobre a qualidade do produto de acordo com a viso do usurio.
CONCLUSO
A qualidade deve ser claramente definida, medida, seguir padres, e deve existir processos que
controlem e garantam a qualidade;
A qualidade do software no garantia somente pela qualidade do processo, mas tambm pela garantia
de qualidade do produto final;
A maior preocupao deve ser sempre co,m a satisfao do usurio final (cliente);
A qualidade de software uma rea da engenharia de software que objetiva garantir a qualidade do
software atravs da definio e normatizao dos processos de desenvolvimento, cujo principal
objetivo garantir um produto final que satisfaa as expectativas do cliente, dentro daquilo que foi
acordado.
Famlias de normas
ISO/IEC 9126 Caracteristicas/Subcaracteristicas
ISO 14598 - Processos Aspectos Gerenciais
ISO 12119 - Pacotes de Software
ISO 25000 - Evoluo (Square)
MEDE-PROS
MANUAL do
AVALIADOR
MODELO de
RELATRIO
LISTA de
VERIFICAO
16
Norma ISO 9001
ISO 9001:2000
um padro internacional que especifica requisitos para um sistema gerencial de qualidade de
uma organizao.
ISO 9000-3
Estabelece um guia para facilitar a aplicao da ISO 9001 para desenvolvimento, suporte e
manuteno de software.
ISO 9000-3
A aplicao da ISO 9000-3 independe de tecnologia, modelos de ciclo de vida, processos de
desenvolvimento, seqncia de atividades ou estrutura organizacional.
Relao com o TQC
Qualquer empresa que tenha implantado o TQC satisfar a qualquer auditoria visando a
certificao pela norma ISO 9001. No entanto o inverso no verdadeiro.
O fato de uma empresa estar certificada pela ISO 9001 no atrapalha um programa de TQC.
O que significa obter a certificao ISO 9001?
Significa que o Sistema de Qualidade da Organizao foi avaliado por uma entidade
independente reconhecida por um organismo nacional de acreditao, e considerado de acordo
com os requisitos da norma ISO 9001.
O certificado tem validade de 3 anos. Aps esse prazo ele precisa ser renovado. Alm disso a
cada 6 meses o sistema auditado para verificar se ele continua a atender aos requisitos da
norma. O certificado poder no ser revalidado se a organizao deixar de cumprir os requisitos.
Pode ser usada quando a organizao:
Necessita demonstrar sua capacidade para fornecer de forma coerente produtos que atendam aos
requisitos do cliente e requisitos regulamentares aplicveis;
Aumentar a satisfao do cliente por meio da efetiva aplicao do sistema e a garantia da
conformidade com os requisitos do cliente e requisitos regulamentares aplicveis.
Pontos exigidos para conceder o certificado de qualidade
Diga o que faz
Defina a estrutura do sistema de gesto da qualidade, a poltica da qualidade apropriada
aos objetivos da organizao e os procedimentos para assegurar a qualidade do
produto/servio e a satisfao do cliente.
Faa o que diz
Trabalhe de acordo com a sua poltica e objetivos da qualidade estabelecidos.
Mostre o que faz
Mantenha registros eficientes.
Verifique como est o sistema
Realize auditorias internas da qualidade e tome as aes necessrias.
17
Benefcios da implantao
Para a organizao:
Maior participao no mercado.
Maior satisfao dos clientes.
Reduo de custos.
Maior produtividade.
Maior competitividade.
Maior lucro.
Para os clientes:
Maior confiana nos produtos da organizao.
Reduo de custos.
Satisfao em relao aos produtos adquiridos.
Melhor atendimento.
Riscos da implantao
Excesso de burocracia
Documentao e Controles
Falta de conhecimento
Capacitao e Treinamentos Inadequados
Desperdcio (tempo, recursos, dinheiro)
Atividades que no agregam valor
Desmotivao
No envolvimento de todos no processo de implantao
Sistema de Gesto de Qualidade
Requisitos gerais
Identificar os processos para o SGQ;
Processos para Desenvolvimento, operao ou manuteno de Software
Determinar a seqncia e interao desses processos;
Modelos de ciclo de vida para desenvolvimento
Planejamento da qualidade e do desenvolvimento
Determinar critrios e mtodos;
Assegurar a disponibilidade de recursos e informao;
Monitorar, medir e analisar esses processos;
Implementar aes necessrias para atingir os resultados e a melhoria contnua;
Requisitos de documentao
Manual da qualidade;
Procedimentos requeridos devem ser documentados;
Documentos para assegurar o planejamento, a operao e o controle de seus processos.
Descries dos processos, tais como os identificados na implementao;
Descries de instrues procedimentos e/ou templates
Descries de modelos de ciclo de vida
Descries de ferramentas, tcnicas, tecnologias e mtodos
Tpicos tcnicos (codificao, projeto e desenvolvimento, testes)
18
9000-3 Requisitos de documentao
Controle de registros da qualidade
Resultados de teste documentados;
Relatrios de problemas;
Requisies de mudana;
Relatrios de auditorias e avaliaes;
Registros de revises e inspees;
Mudanas (e o motivo) relativas a recursos;
Estimativas;
Como e por que ferramentas, metodologias e fornecedores;
Acordos de licena de software;
Atas de reunies;
Registros de liberao de software.
Comprometimento da Direo
Comunicao da importncia do atendimento aos requisitos do cliente
Estabelecimento da Poltica de Qualidade
Objetivos da qualidade
Anlise crtica
Disponibilidade de recursos
Foco no cliente
Os requisitos dos clientes so determinados e atendidos
Aumentar a satisfao do cliente
Poltica da qualidade
Apropriada ao propsito da organizao
Comprometimento em atender requisitos e melhoria contnua.
Proporciona estrutura para estabelecer e analisar os objetivos da qualidade
Comunicada e entendida por toda a organizao
Analisada para a manuteno de sua adequao
Planejamento
Objetivos da Qualidade
Estabelecidos nas funes e nveis pertinentes
Mensurveis e consistentes com a poltica da Qualidade
Planejamento
Planejamento do SGQ
Assegurar PLANEJAMENTO e INTEGRIDADE do SGQ
Planejamento da qualidade no Nvel Organizacional
Definio de modelos de ciclo de vida
Definio dos artefatos de desenvolvimento
Definio do contedo dos planos de gerncia de software
Identificao das ferramentas e do ambiente
Identificao de reuso de software
19
Responsabilidade, Autoridade e Comunicao
Responsabilidade e autoridade - definidas e comunicadas
Representante da Direo
Assegurar que os processos esto estabelecidos, implementados e mantidos.
Relatar o desempenho do SQ
Assegurar a promoo da conscientizao
Comunicao Interna
Assegurar canais de comunicao apropriados
Anlise Crtica pela Direo
Generalidades:
Analisar o SGQ para assegurar adequao e eficcia;
Manter registros das anlises.
Entradas para Anlise Crtica
Resultados de auditorias;
Realimentao do cliente;
Desempenho de processo e conformidade de produto;
Situao das aes preventivas;
Acompanhamento das aes oriundas de anlises anteriores;
Mudanas que possam afetar o SGQ;
Recomendaes para melhoria.
Anlise Crtica pela Direo
Sadas da Anlise Crtica
Melhoria da eficcia do SGQ e de seus processos;
Melhoria do produto em relao aos requisitos do cliente;
Necessidade de recursos
Na tabela abaixo seguem os processos definidos na ISO 9000-3:
Grupo Atividade
Estrutura do Sistema de Qualidade Responsabilidade do fornecedor
Responsabilidade do comprador
Anlise crtica conjunta
Atividades do Ciclo de Vida Anlise crtica do contrato
Especificao dos requisitos do comprador
Planejamento do desenvolvimento
Projeto e implementao
Testes e validao
Aceitao
Cpia, entrega e instalao
Manuteno
Atividades de Apoio Gerenciamento de configurao
Controle de documentos
Registros da qualidade
Medio
Regras, convenes
Aquisio
Produto de software includo
Treinamento.
20
O processo de certificao de uma empresa de software segundo as normas ISO 9001 / 9000-3
segue um conjunto de passos bem definidos:
o A empresa estabelece o seu sistema de qualidade.
o A empresa faz uma solicitao formal a um rgo certificador, incluindo detalhes do negcio da
empresa, escopo da certificao solicitada e cpia do manual de qualidade. O rgo certificador
faz uma visita empresa, colhe mais dados e explica o processo de certificao. O rgo
certificador verifica se a documentao do sistema de qualidade est de acordo com a norma ISO.
O rgo certificador envia uma equipe empresa com fins de auditoria. Nesta visita, ser
verificado se todos na empresa cumprem o que est documentado no manual de qualidade.
o O rgo certificador emite o certificado de qualidade
o O rgo certificador realiza visitas peridicas empresa para assegurar que o sistema continua
sendo efetivo
21
NORMA ISO 12207 PROCESSO DE VIDA DO CICLO DE SOFTWARE
Este padro formaliza a arquitetura do ciclo de vida do software, que um assunto bsico em
Engenharia de Software e tambm em qualquer estudo sobre Qualidade do Processo de Software. Esta
norma possui mais de 60 pginas e detalha os diversos processos envolvidos no ciclo de vida do
software.
Estes processos esto divididos em trs classes: Processos Fundamentais, Processos de Apoio
e Processos Organizacionais.
Segue a lista completa dos processos na tabela abaixo:
Processos Fundamentais Incio e execuo do desenvolvimento, operao ou manuteno do
software durante o seu ciclo de vida.
Aquisio Atividades de quem um software. Inclui: definio da necessidade de
adquirir um software (produto ou servio), pedido de proposta, seleo
de fornecedor, gerncia da aquisio e aceitao do software.
Fornecimento Atividades do fornecedor de software. Inclui preparar uma proposta,
assinatura de contrato, determinao recursos necessrios, planos de
projeto e entrega do software.
Desenvolvimento Atividades do desenvolvedor de software. Inclui: anlise de requisitos,
projeto, codificao, integrao, testes, instalao e aceitao do
software.
Operao Atividades do operador do software. Inclui: operao do software e
suporte operacional aos usurios.
Manuteno Atividades de quem faz a manuteno do software.
Processos de Apoio Auxiliam um outro processo.
Documentao Registro de informaes produzidas por um processo ou atividade.
Inclui planejamento, projeto, desenvolvimento, produo, edio,
distribuio e manuteno dos documentos necessrios a gerentes,
engenheiros e usurios do software.
Gerncia de Configurao Identificao e controle dos itens do software. Inclui: controle de
armazenamento, liberaes, manipulao, distribuio e modificao de
cada um dos itens que compem o software.
Garantia da Qualidade Garante que os processos e produtos de software estejam em
conformidade com os requisitos e os planos estabelecidos.
Verificao Determina se os produtos de software de uma atividade atendem
completamente aos requisitos ou condies impostas a eles.
Validao Determina se os requisitos e o produto final (sistema ou software)
atendem ao uso especfico proposto.
Reviso Conjunta Define as atividades para avaliar a situao e produtos de uma atividade
de um projeto, se apropriado.
Auditoria Determina adequao aos requisitos, planos e contrato, quando
apropriado.
Resoluo de Problemas Anlisar e resoluo dos problemas de Qualquer natureza ou fonte,
descobertos durante a execuo do desenvolvimento, operao,
22
manuteno ou outros processos. .
Processos Organizacionais Implementam uma estrutura constituda de processos de ciclo de vida e
pessoal associados, melhorando continuamente a estrutura e os
processos.
Gerncia Gerenciamento de processos.
Infra-estrutura Fornecimento de recursos para outros processos. Inclui: hardware,
software, ferramentas, tcnicas, padres de desenvolvimento, operao
ou manuteno.
Melhoria Atividades para estabeler, avaliar, medir, controlar e melhorar um
processo de ciclo de vida de software.
Treinamento Atividades para prover e manter pessoal treinado.
A norma detalha cada um dos processos acima. Ela define ainda como eles podem ser usados
de diferentes maneiras por diferentes organizaes (ou parte destas), representando diversos pontos de
vista para esta utilizao. Cada uma destas vises representa a forma como uma organizao emprega
estes processos, agrupando-os de acordo com suas necessidades e objetivos.
As Vises tm o objetivo de organizar melhor a estrutura de uma empresa, para definir suas
gerncias e atividades alocadas s suas equipes. Existem cinco vises diferentes: contrato,
gerenciamento, operao, engenharia e apoio. Na figura abaixo se encontra como estas vises se
relacionam aos processos.
A ISO/IEC 12207 a primeira norma internacional que descreve em detalhes os processos,
atividades e tarefas que envolvem o fornecimento, desenvolvimento, operao e manuteno de
produtos de software. A principal finalidade desta norma servir de referncia para os demais padres
que venham a surgir. Lanada em agosto de 1995, ela citada em quase todos os trabalhos
relacionados Engenharia de Software desde ento, inclusive aqueles relativos qualidade. A futura
norma ISO 15504 (SPICE), por exemplo, organiza seu trabalho segundo o que est descrito na 12207.
23
ISO/IEC 12207
Norma internacional cuja primeira verso foi lanada em agosto/1995, consistindo na primeira
Norma Internacional que descreve em detalhes os processos, atividades e tarefas que envolvem
a aquisio, fornecimento, desenvolvimento, operao e manuteno de produtos de software
Processos de Software
Envolvem mtodos, tcnicas, ferramentas e pessoas
Objetivos da norma ISO/IEC 12207
Estabelecer uma estrutura comum para os processos de ciclo de vida de software;
Ajudar as organizaes a compreenderem todos os componentes presentes na aquisio e
fornecimento de software;
Facilitar a contratao de produtos e servios de software;
Permitir s organizaes execiutarem projetos de forma mais eficaz.
PROCESSOS FUNDAMENTAIS
Aquisio
Fornecimento
Desenvolvimento
Operao
Manuteno
Aquisio
Propsito: Obter um produto ou servio que satisfaa a necessidade do cliente
Fornecimento
Propsito: Fornecer um produto ou servio que atenda aos requisitos acordados com o cliente
Desenvolvimento
Propsito: Transformar um conjunto de requisitos em um produto de software ou um sistema
baseado em software que atenda s necessidades expressas pelo cliente
Atividades do Processo de Desenvolvimento
Implementao;
Levantamento de requisitos;
Anlise dos requisitos do sistema;
Projeto da arquitetura do sistema;
Anlise dos requisitos do software;
Projeto da arquitetura do software;
Projeto detalhado do software;
Codificao e testes do software;
Integrao do software;
24
Teste de qualificao do software;
Integrao do sistema;
Teste de qualificao do sistema;
Instalao do software;
Teste e aprovao do software
Operao
Propsito: Operar o produto de software no seu ambiente e fornecer suporte aos clientes desse
produto
Manuteno
Propsito: Modificar o produto de software aps sua entrega para corrigir falhas, melhorar o
desempenho ou outras caractersticas, ou adapt-los a mudanas no ambiente
PROCFESSOS DE APOIO
Documentao
Propsito: desenvolver e manter registradas as informaes do software produzidas por um
processo.
Gerncia de Configurao
Propsito: estabelecer e manter a integridade de todos os produtos de trabalho de um
processo ou projeto e disponibiliz-los a todos os envolvidos.
Garantia de Qualidade
Propsito: fornecer garantia de que os produtos de trabalho e processos estejam em
conformidade com os planos e condies pr-definidos.
Verificao
Propsito: confirmar que cada produto de trabalho de software ou servio de um processo ou
projeto reflete apropriadamente os requisitos especificados.
Validao
Propsito: confirmar que so atendidos os requisitos de um uso especfico pretendido para o
produto de trabalho de software.
Reviso Conjunta
Propsito: manter um entendimento comum com os stakeholders a respeito do progresso
obtido em relao aos objetivos acordados.
Usabilidade (introduzido em 2002)
Propsito: garantir que sejam considerados os interesses e necessidades dos envolvidos,
visando a reduo das chances de rejeio do sistema pelo usurio
Avaliao de Produto (introduzido em 2002)
Propsito: executar exame e medies sistemticas para garantir que o produto atende s
necessidades especificadas e implcitas dos seus usurios
25
PROCESSOS ORGANIZACIONAIS
Gerncia
Propsito: organizar, monitorar e controlar a iniciao e a execuo de qualquer processo de
forma a atingir as suas metas de acordo com as metas da organizao
Infra-estrutura
Propsito: manter um ambiente estvel e confivel, necessrio para apoiar a execuo de
qualquer outro processo (hardware, software, mtodos, ferramentas, tcnicas, padres e instalaes)
Melhoria
Propsito: estabelecer, avaliar, medir, controlar e melhorar um processo de ciclo de vida de
software
Recursos Humanos (introduzido em 2002)
Propsito: fornecer organizao os recursos humanos adequados e manter as suas
competncias consistentes com as necessidades do negcio
Gesto de Ativos (introduzido em 2002)
Propsito: gerenciar a vida dos ativos reutilizveis desde a sua concepo at a
descontinuao
Gesto do Programa de Reuso (introduzido em 2002)
Propsito: planejar, estabelecer, gerenciar, controlar e monitorar esse programa e
sistematicamente explorar as oportunidades de reuso
Engenharia de Domnio (introduzido em 2002)
Propsito: desenvolver e manter modelos, arquiteturas e ativos de domnio.
CONCLUSO
A Norma ISO/IEC 12207, por ser internacional, tem sido muito importante para organizaes
definirem seus padres e processos do ciclo de vida de software;
A arquitetura da norma robusta e bem definida, facilitando o desenvolvimento dos processos
primrios do desenvolvimento de software,
referncia para o modelo de maturidade MPS.BR.