Professional Documents
Culture Documents
DE SOFTWARE
autor do original
MAYB ANDRADE
1 edio
SESES
rio de janeiro 2015
Conselho editorial
Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida
por quaisquer meios (eletrnico ou mecnico, incluindo fotocpia e gravao) ou arquivada em
qualquer sistema ou banco de dados sem permisso escrita da Editora. Copyright seses, 2015.
Sumrio
Prefcio 7
10
26
26
29
29
34
44
44
45
50
63
64
70
72
Prefcio
Prezado(a) aluno(a)
A qualidade tem sido um fator de diferenciao no mercado atual. A exigncia por qualidade tem aumentado em todas as reas e afetado tambm a indstria de software. Com os computadores, cada vez mais, fazendo parte da vida das
pessoas, a produo de softwares vem aumentando e tornando os clientes mais
exigentes. A grande exigncia dos clientes por melhores softwares tem obrigado os desenvolvedores a aperfeioarem o seu produto final para continuarem
competindo no mercado. Esses clientes deixaram de se preocupar apenas com
o preo e passaram a buscar um produto mais confivel e com mais qualidade.
Aps alguns anos de experincia no desenvolvimento de software, percebeu-se que existem alguns fatores de qualidade, considerados pelos clientes,
no esto relacionados especificamente s caractersticas de qualidade do produto final. Esses fatores relacionam-se mais ao processo de software, forma
como ele gerenciado e controlado.
Ao se melhorar a qualidade do processo de software, tem-se maior probabilidade de se obter um produto final mais adequado s expectativas do cliente,
no entanto, a realizao de uma melhoria do processo de software no uma
tarefa trivial. Para que o processo de software possa cumprir seus objetivos necessrio um planejamento detalhado que mostre a realidade do processo atual,
a meta que se almeja com a melhoria, a estratgia para se atingir essa meta e os
planos de ao.
Para auxiliar a melhoria do processo existem abordagens que descrevem
como a organizao pode avaliar o seu estado atual e a partir dessa avaliao
procurar melhorar o seu processo. A melhoria do processo deve ser consciente
e o grau a ser atingido deve ser bem definido.
Dentro desse contexto, nossa disciplina vem lhe oferecer os conceitos necessrios para compreender o significado da qualidade de software bem como
a forma de alcan-la.
Vamos l que o assunto atual e muito interessante!
Bom estudo !!
1
Viso Geral de
Qualidade Software
OBJETIVOS
REFLEXO
Quando apareceram os primeiros computadores e depois com a evoluo dos mesmos, todos ficamos fascinados e tambm curiosos como essas mquinas podiam fazer tantas coisas
em to pouco tempo, como de repente elas comearam a fazer parte das nossas vidas, de tal
maneira que hoje no nos imaginamos sem elas, no ?
Pois bem, agora no tem mais como voltar atrs, no vivemos mais sem nossos amados computadores, que tambm no existem sem um software, no verdade? Mas para que tudo
funciona na mais perfeita ordem no basta simplesmente ter o software, esse precisa ter
qualidade! Vamos l, vamos entender o que vem a ser a Qualidade de Software!
10
captulo 1
11
Qualidade um termo que pode ter diferentes interpretaes e para se estudar a Qualidade de Software de maneira efetiva necessrio, inicialmente,
obter um consenso em relao definio de Qualidade de Software que est
sendo abordada. Existem muitas definies de Qualidade de Software propostas na literatura, sob diferentes pontos de vistas, vejamos alguns:
Qualidade de Software a conformidade a requisitos funcionais e de
desempenho que foram explicitamente declarados, a padres de desenvolvimento claramente documentados, e a caractersticas implcitas que
so esperadas de todo software desenvolvido por profissionais (Pressman,1994).
Um produto de software apresenta qualidade dependendo do grau de
satisfao das necessidades dos clientes sob todos os aspectos do produto (Sanders, 1994).
Qualidade a totalidade de caractersticas e critrios de um produto ou
servio que exercem suas habilidades para satisfazer as necessidades declaradas ou envolvidas (ISO9126 1994).
Qualidade a totalidade das caractersticas de uma entidade, que lhe
confere a capacidade de satisfazer necessidades explcitas e implcitas
(NBR ISO 8402, 1994).
CONCEITO
Existe, ainda, uma viso de Qualidade de Software do ponto de vista gerencial, que diz que o
software que possa ser desenvolvido dentro do prazo e do oramento especificados pode ser
um software de alta qualidade. Isso demonstra que, ainda dentro da Qualidade de Software,
pode-se definir vrias vises diferentes, como tem sido para a definio da qualidade como
um termo geral.
12
captulo 1
do domnio da aplicao;
das tecnologias utilizadas;
das caractersticas especficas do projeto;
das necessidades do usurio e da organizao;
captulo 1
13
CONEXO
Para compreender um pouco mais sobre nosso assunto, veja o link: http://cbsoft2013.unb.
br/wp-content/uploads/2013/10/ST1-2.pdf, um excelente artigo para aumentar nossos
conhecimentos. Boa leitura!
Como mesmo as proposies bem sucedidas trazem dificuldades de aplicao, por causa dos muitos aspectos de qualidade oferecidos, surgiu a necessidade de um modelo padronizado. Por essa razo o comit tcnico da ISO/IEC
comeou a trabalhar para desenvolver o consenso requerido e encorajar a padronizao em nvel mundial. As primeiras tentativas de padronizao surgiram em 1978. Em 1985 foi iniciado o desenvolvimento da Norma Internacional
ISO/IEC 9126 Information Technology Software product evaluation Quality
characteristics and guidelines for thei use - publicada em 1991.
A Norma NBR 13596 uma traduo da Norma ISO/IEC 9126. Foi elaborada
pela comisso de Estudos de Qualidade de Software do Subcomit de Software
do Comit de Informtica da ABNT Associao Brasileira de Normas Tcnicas
e publicada em agosto de 1996. A norma avalia a qualidade de um produto de
software atravs de um conjunto de caractersticas. Essas caractersticas so divididas em seis grandes grupos, os quais sero apresentados detalhadamente
no captulo 2.
14
captulo 1
Um processo de software pode ser definido como um conjunto de atividades, mtodos, prticas e transformaes que as pessoas usam para desenvolver
e manter o software e os produtos associados (por exemplo: planos de projeto,
documentos, cdigo, casos de teste e manuais de usurio) (IEEE-STD-610).
Um processo de software envolve um grande conjunto de elementos, tais
como objetivos organizacionais, polticas, pessoas, comprometimentos, ferramentas, mtodos, atividades de apoio e as tarefas da engenharia de software.
Para que o processo de software seja eficiente ele precisa ser constantemente
avaliado, medido e controlado. Quando as empresas no possuem conhecimento suficiente de todos os elementos do processo, essas atividades de avaliar, medir e controlar ficam difceis de serem realizadas, nesse caso o processo
de software passa a ser descontrolado, sem gerncia e at mesmo catico. Algumas caractersticas de processos de softwares caticos so (Pressman, 2002).
O processo improvisado (profissionais e gerentes);
O processo no rigorosamente seguido e o cumprimento do mesmo
no controlado;
O processo altamente dependente dos profissionais atuais;
A viso do progresso e da qualidade do processo baixa;
captulo 1
15
16
captulo 1
A produtividade e a qualidade dos produtos de software resultantes podem ser melhoradas com o tempo atravs de ganhos consistentes na disciplina obtida pelo uso do processo de software.
Os gerentes monitoram a qualidade dos produtos de software e a satisfao do cliente.
Existe uma base quantitativa, objetiva para julgar a qualidade dos produtos e analisar problemas com o produto e o processo.
As organizaes com processo de software de alta qualidade tem esse
processo institucionalizado atravs de polticas, padres e estruturas organizacionais.
Bom pessoal, acredito que tenha ficado claro que para se alcanar os objetivos de produtividade e qualidade necessrio que o processo de software seja
eficiente, definido, gerenciado, medido e controlado
captulo 1
17
Compatibilidade: facilidade de se combinar o software com outros softwares. Essa caracterstica importante porque raramente um software
construdo sem interao com outros softwares.
Eficincia: refere-se ao bom uso que o software faz dos recursos de hardware, tais como memria e processadores.
Portabilidade: a facilidade de se utilizar o software em diferentes ambientes de hardware e software.
Verificabilidade: a facilidade de se preparar rotinas para se verificar a
conformidade do software com os seus requisitos.
Integridade: uma caracterstica relacionada segurana de dados, programas e documentos. Integridade a habilidade de proteger tais componentes contra acessos no autorizados.
Facilidade de uso: tambm denominada usabilidade, a facilidade com
que o software pode ser aprendido e utilizado.
Fatores internos: ponto de vista estrutural do software. Permitem atingir os
fatores externos:
Modularidade: caracterstica de um software que constitudo por unidades denominadas mdulos.
Legibilidade
Manutenibilidade: facilidade de realizar manuteno em um software.
A forma com um software construdo permite atingir os fatores internos
de qualidade. Os fatores internos de qualidade permitem atingir os fatores externos de qualidade.
18
captulo 1
Ainda, segundo Pressman, uma mtrica a medio de um atributo (propriedades ou caractersticas ) de uma determinada entidade (produto, processo
ou recursos). Exemplos:
Tamanho do produto de software (ex: Nmero de Linhas de cdigo)
Nmero de pessoas necessrias para implementar um caso de uso
Nmero de defeitos encontrados por fase de desenvolvimento
Esforo para a realizao de uma tarefa
Tempo para a realizao de uma tarefa
Custo para a realizao de uma tarefa
Grau de satisfao do cliente (ex: adequao do produto ao propsito,
conformidade do produto com a especificao).
Mas, acho que aqui seria interessante um questionamento que j ouvi muito de meus alunos: Por que devemos medir o software? realmente importante
ou seria uma perda de tempo?
Veremos a seguir algumas vantagens de realizarmos essas medies no
software:
Entender e aperfeioar o processo de desenvolvimento
Melhorar a gerncia de projetos e o relacionamento com clientes
Reduzir frustraes e presses de cronograma
Gerenciar contratos de software
Indicar a qualidade de um produto de software
Avaliar a produtividade do processo
Avaliar os benefcios (em termos de produtividade e qualidade) de novos
mtodos e ferramentas de engenharia de software
Avaliar retorno de investimento
Identificar as melhores prticas de desenvolvimento de software
captulo 1
19
20
captulo 1
LEITURA
Uma boa leitura para aguar nossa curisosidade com relao definio de mtricas de
software seria o material disponvel no link a seguir, aproveitem! http://www.portaisgoverno.
pe.gov.br/web/metricas-de-software/definicoes
21
22
captulo 1
Limite os debates
Levante as reas problemticas no tente resolver todos os problemas
Tome notas
Revise o produto, no o produtor
Limite o nmero de participantes e insista na preparao;
Prepare um checklist, de acordo com o produto a ser revisado;
Reserve recursos do projeto para revises;
Promova treinamento para os revisores;
Revise suas antigas revises
Para fixarmos os conhecimentos apresentados nesse captulo, a seguir, seguem algumas questes a serem respondidas.
ATIVIDADE
1. Defina Qualidade de Software.
2. Defina processo de software e comente as caractersticas de um bom processo de
software.
3. Comente sobre a categorizao das mtricas.
4. Quando falamos de revises de software, o que importante que o engenheiro considere no planejamento?
REFLEXO
Neste captulo pudemos conhecer um pouco mais sobre o assunto Qualidade de Software,
entendendo a sua importncia.
A Qualidade de Software pode ser subdividida em qualidade de produto e qualidade de
processo, sendo as duas extremamente importantes e relacionadas.
Para podermos dizer que um software tem qualidade necessrio que o mesmo seja
avaliado, o que pode ser realizado com o auxlio das mtricas e constantes revises.
captulo 1
23
LEITURA
Introduo a Qualidade de Software http://www.ufpa.br/srbo/Disciplinas/TecnologiaProcessosSoftware/Aulas/Qualidade.pdf
Levantamento de mtricas de avaliao de projetos de software livre
http://ccsl.ime.usp.br/files/relatorioPauloMeirelles_final.pdf
REFERNCIAS BIBLIOGRFICAS
Mtricas e Estimativas de Software O incio de um rally de regularidade. Url: http://
www.apinfo.com/artigo44.htm
PRESSMAN, Roger S. Engenharia de Software. Rio de Janeiro: MacGraw Hill, 2002.
ROCHA, ANA REGINA CAVALCANTI; MALDONADO, JOS CARLOS; WEBER, KIVAL CHAVES. Qualidade de Software Teoria e Prtica. 1 edio. So Paulo: Prentice Hall, 2001.
SANCHES, ROSELY. Material Didtico: Qualidade de Software. ICMC-USP, 2003.
SANCHES, ROSELY; FABBRI, SANDRA PINTO; MALDONADO, JOS CARLOS. Qualidade de Software: da engenharia de software aos modelos de qualidade. VI Escola Regional
de Informtica, SBC, 2003.
SOMERVILLE, IAN. Engenharia de Software. 6 edio. So Paulo: Addison Wesley,
2003.
NO PRXIMO CAPTULO
Dando continuidade ao nosso estudo, no prximo captulo comentaremos sobre a garantia
da Qualidade de Software (SQA) e discutiremos sobre as normas relacionadas a Qualidade
de Software ISO/NBR 9126 e ISO/NBR 12119.
24
captulo 1
2
Normas de
Qualidade de
Software
OBJETIVOS
REFLEXO
Voc se lembra da definio de qualidade de software que vimos no captulo anterior?
Na verdade vimos mais de uma!
A qualidade de software possui vrias definies, porm todas elas possuem em comum a
grande preocupao com o usurio final.
Pensando no usurio final foi que surgiram normas preocupadas em avaliar produtos e pacotes de software, vamos conhec-las nesse captulo!
26
captulo 2
5. Aplicao de Mtodos Tcnicos: ajudam o analista a conseguir uma especificao de elevada qualidade e o projetista a desenvolver um projeto de elevada qualidade.
6. Realizao de Revises Tcnicas Formais: para avaliar a qualidade da
especificao e do projeto.
7. Atividades de Teste de Software: para ajudar a garantir uma deteco de
erros efetiva.
8. Aplicao de Padres e Procedimentos Formais no processo de engenharia de software.
9. Processo de Controle de Mudanas: atividade que faz parte do gerenciamento de configurao de software.
10. Mecanismos de Medio: para ser possvel rastrear a qualidade de software
11. Anotao e Manuteno de Registros: procedimentos para a coleta e
disseminao de informaes de garantia de qualidade de software.
captulo 2
27
A necessidade de qualidade de software reconhecida por praticamente todos os gerentes e profissionais da rea, porm muito poucos esto interessados em estabelecer
funes de Garantia de Qualidade de Software Formais. Alguma razes para essa aparente contradio:
1. os gerentes relutam em incorrer em custos extras logo de cara
2.
os profissionais acham que esto fazendo absolutamente tudo o que precisa ser feito
Alguns aspectos positivos da garantia de qualidade de software que podemos mencionar so:
o software ter menos defeitos latentes resultando em reduo do esforo e do tempo gasto durante as atividades de teste e manuteno
a maior confiabilidade resultar em maior satisfao do cliente
os custos de manuteno podem ser reduzidos
o custo do ciclo de vida global do software reduzido
Pressman (2004), destaca alguns passos necessrios para realizar a SQA estatstica e criar um processo adaptativo de engenharia de software no qual so feitas
modificaes para aprimorar os elementos do processo que promovem erro:
Coletar e categorizar os defeitos de software encontrados.
Rastrear o defeito at sua causa subjacente.
Considerar que 20% do cdigo tm 80% dos defeitos.
Corrigir os problemas que causaram os defeitos.
CONEXO
Para sabermos um pouco mais sobre a garantia de qualidade de software seria interessante
voc ler o artigo: A importncia do processo de garantia de qualidade, disponvel em:
http://www.univicosa.com.br/arquivos_internos/artigos/
AImportanciadoProcessodeGarantiadaQualidadedeSoftware.pdf
28
captulo 2
captulo 2
29
Qualidade de produto
de software
Funcionalidade
Conabilidade
Usabilidade
Adequao
Acurcia
Interoperabilidade
Segurana de
acesso
Conformidade
Maturidade
Tolerncia a falhas
Recuperabilidade
Conformidade
Inteligibilidade
Apreensibilidade
Operacionalidade
Atratividade
Conformidade
Qualidade de produto
de software
Ecincia
Manutenibilidade
Portabilidade
Comportamento em
relao ao tempo
Comportamento em
relao aos recursos
Conformidade
Analisabilidade
Modicabilidade
Estabilidade
testabilidade
Conformidade
Adaptabilidade
Capacidade para
ser instalado
Co-existncia
Capacidade para
substituir
Conformidade
Segundo a ISO/IEC 9126-1, as definies das caractersticas e subcaractersticas de qualidade interna e externa so:
Funcionalidade: capacidade do produto de software de prover funes que
atendam s necessidades explcitas e implcitas, quando o software estiver sendo utilizado sob condies especficas.
Adequao: capacidade do produto de software de prover um conjunto
apropriado de funes para tarefas e objetivos do usurio especificados.
Acurcia: capacidade do produto de software de prover, com o grau de preciso necessrio, resultados ou efeitos corretos ou conforme acordados.
30
captulo 2
Confiabilidade: capacidade do produto de software de manter um nvel de desempenho especificado, quando usado em condies especficas.
Maturidade: capacidade do produto de software de evitar falhas decorrentes de defeitos no software.
Tolerncia a Falhas: capacidade do produto de manter um nvel de desempenho especificado em casos de defeitos no software ou de violao
de sua interface especificada.
Recuperabilidade: capacidade do produto de software de restabelecer
seu nvel de desempenho especificado e recuperar os dados diretamente
afetados no caso de uma falha.
Conformidade: capacidade do produto de software de estar de acordo com
normas, convenes ou regulamentaes relacionadas confiabilidade.
Usabilidade: capacidade do produto de software de ser compreendido, aprendido, operado e atraente ao usurio, quando usado sob condies especficas.
Inteligibilidade: capacidade do produto de software de possibilitar ao
usurio compreender se o software apropriado e como ele pode ser usado para tarefas e condies de uso especficas.
Apreensibilidade: capacidade do produto de software de possibilitar ao
usurio aprender sua aplicao.
captulo 2
31
32
captulo 2
captulo 2
33
LEITURA
Como vocs esto podendo perceber, essa norma bastante extensa.
Para ajud-los no entendimento da mesma seria interessante a leitura de uma artigo que
apresenta um estudo de caso dessa norma.
O artigo - Avaliao da Qualidade de Um Pacote de Software Utilizando a
Norma ISO/IEC 12119: Um Estudo de Caso encontra-se disponvel em:
file:///C:/Users/Mayb/Downloads/exemplo-avaliacaopacoteuml.pdf
34
captulo 2
captulo 2
35
Requisitos gerais
A descrio deve ser inteligvel, completa, bem organizada e bem apresentada
para auxiliar os compradores em potencial na avaliao da adequao do produto s suas necessidades, antes de compr-lo.
Deve ser livre de inconsistncias internas e interessante que cada termo tenha
um nico significado.
Identificaes e Indicaes
O documento de descrio de produto deve possuir uma nica identificao, essa
indicao do produto deve ter no mnimo o nome do produto e uma verso ou data.
A identificao do fornecedor deve conter o nome e o endereo de, no mnimo,
um fornecedor.
As tarefas que podem ser realizadas utilizando o produto devem ser identificadas. A descrio do produto pode fazer referncia aos documentos de requisitos com os quais o produto est em conformidade. Nesse caso as edies relevantes devem ser identificadas.
Os requisitos de hardware e software para colocar o produto em uso devem ser
especificados, incluindo nomes de fabricantes e identificao do tipo de todos
os componentes. Se a descrio do produto faz referncias a interfaces com outros produtos, as interfaces ou produtos devem ser identificados.
Todo os itens a serem entregues (componentes fsico do produto) devem ser
identificados, incluindo todos os documentos impressos e todos os meios de
armazenamento de dados. Deve ser declarado se a instalao do produto pode
ou no ser conduzida pelo usurio.
Deve ser declarado se o suporte para operao do produto oferecido ou no.
Deve ser declarado se a manuteno oferecida ou no. Em caso afirmativo
deve ser declarado especificamente o que includo
Declaraes sobre Funcionalidade
A descrio do produto deve fornecer uma viso geral das funes disponveis
para o usurio do produto, os dados necessrios e as facilidades oferecidas.
Nem toda funo disponvel para o usurio necessita ser mencionada, e nem
todos os detalhes de como uma funo chamada necessitam ser descritos.
36
captulo 2
captulo 2
37
ATENO
importante ressaltar que ass caractersticas de Funcionalidade, Confiabilidade e Usabilidade
so destacadas e devem ser verificadas atravs do uso do produto. No h requisitos especficos para os aspectos de Eficincia, Manutenibilidade e Portabilidade, porm se algum desses
requisitos estiver declarado na documentao do pacote, eles devem estar em conformidade.
38
captulo 2
captulo 2
39
ATIVIDADE
1. Comente algumas vantagens da realizao da garantia de qualidade de software.
2. Explique as subcaractersticas da caracterstica funcionalidade da norma ISO 9126.
3. O que um pacote de software? D alguns exemplos.
40
captulo 2
REFLEXO
O esforo para a elaborao conjunto de normas do Modelo ISO 9000 foi uma grande
colaborao para o auxilio na obteno da qualidade.
As normas vistas nesse captulo (ISO 9126 para avaliao de produto de software e a
ISO 12119 para avaliao de pacote de software). so amplamente reconhecidas e, cada vez
mais utilizadas pelas empresas.
Voc, como profissional da rea de informtica, muito provavelmente ir se deparar cem
seu ambiente de trabalho com termos e assuntos abordados por essas normas. Espero que
os esclarecimentos desse captulo 2 sejam teis na sua vida profissional!
LEITURA
Qualidade de software: viso geral
file:///C:/Users/Mayb/Downloads/Aula03_QualidadeSoftware.pdf
Estudo da garantia da qualidade de software utilizando a metodologia de desenvolvimento de
sistemas criada por uma instituio financeira
http://www.fatecsp.br/dti/tcc/tcc0034.pdf
Um modelo para avaliao de produtos de software
http://www.cin.ufpe.br/hermano/laps/download/laps-um-modelo-para-avaliacao-de-produtos-de-software.pdf
captulo 2
41
REFERNCIAS BIBLIOGRFICAS
CARPINETTI, Luiz Cesar Ribeiro, et al. Gesto da Qualidade ISO 9001:2008 Princpios
e Requisitos. Editora Atlas. 3ed 2010.
ISO/IEC 9126. International Standard. Information Technology. Software Product
Evaluation. Quality characteristics and guidelines for their use. Geneve, 1991.
ISO/IEC 12119. International Standard. Information Technology Software Packages
Quality Requirements and testing. 1994.
NBR ISO/IEC 9126-1: Engenharia de Software Qualidade de produto Parte 1:
Modelo de qualidade. Rio de Janeiro: ABNT, 2003.
PRESSMAN, Roger S. Engenharia de Software. Rio de Janeiro: MacGraw Hill, 2002.
SOMERVILLE, IAN. Engenharia de Software. 6 edio. So Paulo: Addison Wesley,
2003.
NO PRXIMO CAPTULO
Dando continuidade ao nosso estudo das normas de qualidade de software, no prximo captulo estaremos analisando a Norma ISO Norma ISO 9241, que diz respeito da Usabilidade
do Produto e a Norma ISO 14598 que trata da avaliao do produto de Software.
42
captulo 2
3
Modelos da
Norma ISO
OBJETIVOS
Entender a norma ISO/IEC 9241 com foco na parte que destaca as orientaes para
usabilidade de software.
REFLEXO
Comentamos no captulo anterior sobre a qualidade de produto de software e, falando desse
assunto, vimos que a usabilidade uma caracterstica extremamente importante para que um
software tenha qualidade.
Ningum fica satisfeito com um software o qual no consegue usar, o qual possui dificuldades de uso. Devido a sua grande importncia, a caracterstica usabilidade tratada na Norma
ISO 9241-11, a qual veremos a seguir.
44
captulo 3
Desta forma, a ISO/IEC 9241-11 esclarece os benefcios de medir usabilidade em termos de desempenho e satisfao do usurio, a usabilidade dos
computadores depende do contexto de uso e afirma que o nvel de usabilidade
alcanado depender das circunstncias especficas nas quais o produto usado (NBR 9241-11, 1998).
Na avaliao de usabilidade de sistemas interativos, o padro internacional
mais comum a norma ISO 9241. Ela considera mais o ponto de vista do usurio e seu contexto de uso do que as caractersticas ergonmicas do produto.
A ISO/IEC 9241 dividida em 14 partes, a saber:
Parte 1: Introduo Geral
Parte 2: Orientaes sobre requisitos da tarefa
Parte 3: Requisitos para apresentao visual
Parte 4: Requisitos para teclado
Parte 5: Requisitos posturais e de layout para posto de trabalho
Parte 6: Requisitos para ambiente
Parte 7: Requisitos para monitores quanto reflexo
Parte 8: Requisitos para apresentao de cores
Parte 9: Requisitos para outros dispositivos de entrada que no o teclado
Parte 10: Princpios de dilogo
Parte 11: Orientaes sobre usabilidade
Parte 12: Apresentao da informao
Parte 13: Orientaes ao usurio
Parte 14: Dilogos por menu
CONEXO
Um contexto interessante da usabilidade com relao web. Veja isso no artigo Teste
de usabilidade no website da UniversidadeFederal do Maranho disponvel em http://www.
academia.edu/2064036/Teste_de_usabilidade_no_website_da_Universidade_Federal_do_
Maranh%C3%A3o
45
46
captulo 3
captulo 3
47
Contexto de uso
Descrio de usurios:
As caractersticas relevantes dos usurios precisam derdescritas. Elas
podem incluir conhecimento, habilidade, experincia, educao, treinamento, atributos fsicos e capacidades sensoriais e motoras. Pode ser
necessrio definir as caractersticas de diferentes tipos de usurios, por
exemplo, usurios com diferentes nveis de experincia ou desempenhando diferentes funes.
Descrio das tarefas:
Tarefas so atividades executadas para alcanar um objetivo. Convm
que sejam descritas as caractersticas das tarefas que podem influenciar
a usabilidade, p.ex. a freqncia e a durao de uma tarefa. Uma descrio detalhada das atividades e processos pode ser requisitada se a descrio do contexto for usada como base para o projeto ou avaliao de
detalhes da interao com o produto. Isto pode incluir a descrio da alocao de atividades e passos entre os recursos humanos e tecnolgicos.
As tarefas no devem ser descritas somente em termos das funes ou
funcionalidades fornecidas por um produto ou sistema.
Convm que qualquer descrio das atividades e passos envolvidos no desempenho da tarefa estejam relacionados aos objetivos a serem alcanados.
Com o propsito de avaliar a usabilidade, um conjunto de tarefas-chave ser tipicamente selecionado para representar aspectos significantes da tarefa global.
Descrio dos equipamentos:
As caractersticas relevantes do equipamento precisam ser descritas. A
descrio do hardware, software e dos materiais associados com o computador podem ser um conjunto de produtos (ou componentes do sistema), um ou mais dos quais podem ser o foco da especificao ou avaliao de usabilidade, ou um conjunto de atributos ou caractersticas de
desempenho do hardware, software ou outros materiais.
Descrio de ambientes:
As caractersticas relevantes do ambiente fsico e social precisam ser
descritas. Os aspectos que podem ser necessrios descrever incluem
48
captulo 3
49
ATENO
Vale a pena ressaltar que as responsabilidades de avaliao e de garantia da qualidade devem constar em um plano que vise ao uso e melhoria da tecnologia de avaliao, implementao, transferncia e avaliao da tecnologia de avaliao usada e, por fim, o gerenciamento
da experincia de avaliar.
Deve-se avaliar a qualidade do produto liberado por diversas razes, tais como:
Identificar e entender as razes tcnicas para as deficincias e limitaes
do produto, que podem manifestar-se atravs de problemas operacionais e problemas de manuteno;
Comparar um produto com outro, mesmo que indiretamente;
Formular um plano de ao de como fazer o produto de software evoluir.
Um plano de avaliao quantitativa deve conter introduo, objetivos, caractersticas da qualidade aplicveis, lista de prioridades, objetivos da qualida-
50
captulo 3
EXECUO
PROCESSO PARA
DESENVOLVEDORES
PROJETO
Definio de
requisitos de
qualidade e
anlise de sua
exequibilidade
Quantificao
dos requisitos
de qualidade
Planejamento da
avaliao durante
o desenvolvimento
Monitoramento
da qualidade e
controle durante o
desenvolvimento
PROCESSO
PARA ADQUIRENTES
ESPECIFICAO
Estabelecimento do propsito
e escopo da
avaliao
Definio de
mtricas externas e medies
correspondentes a serem
realizadas
A avaliao deviria
ser realizada,
documentada e
analisada
PROCESSO
PARA AVALIADORES
ANLISE
Descrio dos
objetivos da
avaliao
Definio do
escopo da
avaliao e das
medies
Documentao
dos processos
a serem usados
pelo avaliador
Obteno dos
resultados a partir
da realizao de
aes de medio
e verificao do
produto
captulo 3
51
14598-2
Planejamento
e gesto
14598-3
Processo para
desenvolvedores
14598-4
Processo para
adquirentes
14598-6
Documentao de
mdulos de avaliao
52
captulo 3
14598-5
Processo para
avaliadores
Especicar
a Avaliao
Selecionar mtricas
Estabelecer
Requisitos de
Avaliao
Estabelecer
Requisitos de
Avaliao
9126-1 Caractersticas
de qualidade
Obter as medidas
Comparar com critrios
Julgar os resultados
Abaixo sero descritas cada uma das etapas do processo de avaliao segundo a ISO/IEC 14598:
Estabelecer requisitos de avaliao: visa levantar os requisitos gerais da avaliao.
Estabelecer o propsito da avaliao: define quais os objetivos da avaliao. Tais objetivos esto relacionados ao uso pretendido do produto
de software e aos riscos associados. Podem ser definidos pontos de vista
diferentes de vrios usurios do produto, tais como: adquirente, fornecedor, desenvolvedor, operador ou mantenedor do produto.
Identificar tipos de produto(s) a serem avaliados: define o tipo de produto
a ser avaliado, se so um dos produtos intermedirios ou o produto final.
Especificar modelo de qualidade: a primeira etapa na avaliao de software consiste em selecionar as caractersticas de qualidade relevantes, utili-
captulo 3
53
Especificar a avaliao: define a abrangncia da avaliao e das medies a serem realizadas sobre o produto submetido para avaliao.
Selecionar mtricas: a forma pela qual as caractersticas de qualidade
tem sido definidas no permite sua medio direta. necessrio estabelecer mtricas que se correlacionem s caractersticas do produto de
software. Neta fase da avaliao so selecionadas as mtricas a serem utilizadas durante a avaliao.
Estabelecer nveis de pontuao para as mtricas: para cada mtrica selecionada devem ser definidos os nveis de pontuao e uma escala relacionada, onde podero ser representados o nvel planejado, o nvel atual
e o nvel que representa o pior caso para o atributo a ser medido.
Estabelecer critrios para julgamento: para julgar a qualidade do produto, o resultado da avaliao de cada caracterstica precisa ser sintetizado.
aconselhvel que o avaliador prepare um procedimento para isto, onde
cada caracterstica poder ser representada em termos de suas subcaractersticas ou de uma combinao ponderada de suas subcaractersticas.
Projetar a avaliao: deve documentar os procedimentos a serem utilizados
pelo avaliador para realizar as medies contidas na especificao de avaliao.
Produzir plano de avaliao: o avaliador deve produzir um plano de avaliao que descreva os recursos necessrios para realizar a avaliao especificada, bem como a distribuio destes recursos entre as diversas
aes a serem realizadas.
Executar a avaliao: obter os resultados da execuo das aes de medio e verificao do produto de software de acordo com os requisitos de avaliao, como
especificado na especificao de avaliao e planejado no plano de avaliao.
54
captulo 3
captulo 3
55
56
captulo 3
Execuo da avaliao: Consiste na inspeo, medio e teste dos produtos e de seus componentes aplicados de acordo com as orientaes do
plano. Aplicadas as aes de medio, segue-se para as interpretaes
dos resultados registrados e depurados durante a avaliao. Ao final da
execuo, uma verso preliminar gerada do relatrio de avaliao.
Concluso da avaliao: Reviso do relatrio de avaliao e liberao dos
dados de avaliao, bem como a devoluo, pelo avaliador, do produto
avaliado e seus componentes.
Ainda na parte 5 da norma, as caractersticas esperadas do processo de avaliao so :
Repetitividade: Avaliao repetida de um mesmo produto, com mesma
especificao de avaliao, realizada pelo mesmo avaliador, deve produzir resultados que podem ser aceitos como idnticos.
Reprodutividade: A avaliao do mesmo produto, com mesma especificao de avaliao, realizada por um avaliador diferente, deve produzir
resultados que podem ser aceitos como idnticos.
Imparcialidade: A avaliao no deve ser influenciada frente a nenhum
resultado particular.
Objetividade: A avaliao no deve ser influenciada frente a nenhum resultado particular.
O processo de avaliao proposto pela norma NBR ISO/IEC 14598-5 semelhante ao da parte 1, incluindo uma etapa a mais para as etapas da avaliao, a
saber: Concluso da avaliao. Esta etapa ser descrita abaixo.
Concluso da avaliao: nesta etapa, deve-se revisar o relatrio da avaliao e
disponibilizar os dados resultantes da mesma para o requisitante da avaliao.
Para uma avaliao profissional, esses dados so sigilosos e exclusivos ao requisitante da avaliao, qualquer publicao deles de sua inteira responsabilidade.
captulo 3
57
CONEXO
O artigo o uso da norma 14598 na avaliao de software com relao qualidade disponvel em http://www.waltenomartins.com.br/intercursos_v8n1.pdf uma leitura interessante
para complementar nossa discusso sobre esse assunto!
ATIVIDADE
6. Comente uma das vantagens de se usar a Norma ISO 9241?
7. Como a ISO 9241-11 redefine usabilidade?
8. De acordo com a ISO 14598, o que significa avaliar a qualidade de um produto de software?
9. Voc se lembra de quantas e quais so as partes da ISO/IEC 9241? So vrias, mas
faa um esforo.
58
captulo 3
REFLEXO
Com o estudo desse captulo podemos entender a norma ISO/IEC 9241, onde foi dado especial ateno s orientaes para usabilidade de software, devido a sua grande importncia
na qualidade de um software.
Pudemos ver tambm o funcionamento do processo de avaliao de produto de software
segundo a norma ISO/IEC 14598, a qual faz referncia ao processo de aquisio definido
pela ISO/IEC 12207.
A avaliao de um produto de software envolve vrios fatores e caractersticas, aqui
demos nfase a usabilidade, o que fcil de entender, uma vez que ningum quer ter um
software que no consegue usar, no mesmo?!
LEITURA
Guia para utilizao das normas sobre avaliao de qualidade de produto de
software ISO/IEC 9126 e ISO/IEC 14598 disponvel em: http://www2.dem.inpe.br/
ijar/GuiaUtilNormTec.pdfhttp://www2.dem.inpe.br/ijar/
Utilizando a norma IS/IEC 14598-5 na avaliao de qualidade de hiperdocu-mentos web disponvel em: http://www.comp.ita.br/~cunha/download/CES32CE230-2002/Sem11/1_AS3-2%20Utilizando%20a%20Norma%20ISO-IEC%20
14598-5%20na%20Avaliacao%20de%20Qualidade%20de%20Hiperdocumentos%20
Web.pdf
REFERNCIAS BIBLIOGRFICAS
(ISO/IEC 14598-1:1999), International Standard. Information Technology Software Product Evaluation - Part 1: General Overview.
(ISO/IEC 14598-2:2000), International Standard. Information Technology Software Product Evaluation - Part 2: Planning and Management.
(ISO/IEC 14598-3:2000), International Standard. Information Technology Softwa-
captulo 3
59
NO PRXIMO CAPTULO
Dando continuidade ao nosso estudo sobre qualidade de software, no prximo captulo veremos alguns modelos de melhoria de processo de software.
60
captulo 3
4
Modelos de
Melhoria e Avaliao
de Processo de
Software
OBJETIVOS
Apresentar os critrios para definio dos seguintes processos na Norma NBR ISO/
IEC 12207;
Processos fundamentais;
Processos de apoio;
Processos organizacionais;
Processos de adaptao.
REFLEXO
Voc se lembra o que vem a ser um processo de software?
Bom, vamos relembrar juntos:
Um processo de software pode ser definido como um conjunto de atividades, mtodos, prticas e transformaes que as pessoas usam para desenvolver e manter o software e os
produtos associados (por exemplo: planos de projeto, documentos, cdigo, casos de teste e
manuais de usurio). (IEEE-STD-610).
62
captulo 4
J comentamos que a qualidade de um produto de software est ligada diretamente a qualidade do seu processo de software. Sendo assim, vamos agora ver alguns modelos que nos
ajudam a entender como avaliar e melhorar de forma contnua um processo de software.
CONEXO
Antes de definirmos a melhoria de processo de acordo com a ISO 9000-3 sugiro a vocs
a leitura do artigo Melhoria de processo de software brasileiro disponvel em http://www.
devmedia.com.br/melhoria-do-processo-de-software-brasileiro/29915
Vimos tambm que um processo de software maduro trs muitos benefcios para todos os envolvidos no seu desenvolvimento. Porm, a obteno de
um processo de software maduro nem sempre uma tarefa fcil para as empresas. Para auxili-las nessa funo, temos na literatura vrios modelos que
tem como objetivo avaliar e melhorar continuamente um processo de software.
Vamos comear definindo o que vem a ser melhoria de processo de software.
De acordo com a ISO 9000-3, melhoria de processo consiste a abordagem na
prtica de aes orientadas para a alterao dos processos aplicados para aquisio, fornecimento, desenvolvimento, manuteno e/ou suporte de sistemas
de software.
Vamos relembrar, entende-se por um processo de software maduro, capaz,
aquele que executado de forma eficiente e eficaz, com a presena de alguma
caractersticas importantes, tais como:
Execuo consistente e sempre que necessria.
Flexibilidade no processo de execuo para melhor adaptao das necessidades especficas.
captulo 4
63
Documentao com uma notao representativa de processo identificado por meio de texto, figuras, fluxos, etc.
Deve ser apropriado para que as pessoas possam realizar o trabalho.
Treinamento para as pessoas inseridas nas atividades do processo de
forma a obterem conhecimento, habilidade e experincia.
Manuteno para garantir a evoluo contnua.
Controle de mudanas para garantir a integridade e disponibilidade dos
artefatos.
Apoio de equipes, ferramentas e recursos apropriados para realizao do
processo.
As organizaes com processo de software de alta qualidade tem esse processo institucionalizado atravs de polticas, padres e estruturas organizacionais. A Institucionalizao acarreta construir uma infraestrutura (processos
eficazes, utilizveis e consistentemente aplicados em toda organizao) e uma
cultura corporativa que apia os mtodos, prticas e procedimentos dos negcios para que eles perdurem mesmo depois que aqueles que originariamente
os definiram tenham sado da organizao.
64
captulo 4
captulo 4
65
66
captulo 4
LEITURA
Para mais informaes sobre o Modelo PDCA, leia o artigo PDCA: origem, conceitos e
variantes dessa idia de 70 anos Disponvel em: http://www.qualypro.com.br/artigos/pdcaorigem-conceitos-e-variantes-dessa-ideia-de-70-anos#sthash.m2YGAatn.dpuf
O envolvimento de outras pessoas importante para ajudar na implementao das mudanas numa escala maior, ou mesmo para a conscientizao dos
novos benefcios que podem adquirir com as mudanas. Existem duas formas
de atuao possveis:
adotar o plano como padro, caso a meta tenha sido alcanada
agir sobre as causas que no permitiram que as metas sejam efetivas.
4.2.2 Modelo IDEAL
O Modelo IDEAL foi desenvolvido pela SEI (Software Engineering Institute).
IDEAL um acrnimo que engloba os 5 estgios do ciclo de melhoria de processo de software, o o qual contm as atividades de diagnstico do processo
atual, a elaborao de um plano para melhoria, a implantao deste plano e a
confirmao das atividades implantadas atravs do diagnstico do processo,
iniciando novamente o ciclo. (Gremba, 1997).
( I nitiating) - Inicializao
( D iagnosing)- Diagnstico
( E stablishing) - Estabelecimento
( A cting) - Ao
( L everaging) - Lies
O modelo estabelece um programa de melhoria contnua de processo de
software (Figura 3) que ajuda as organizaes a melhorar o seu processo de
software.
captulo 4
67
s
Li e
Propor
futuras
aes
o
A
Renar
soluo
Testar
soluo
Estmulo para
mudana
Estabelecer
contexto
Analisar
e
Implementar
Validar
soluo
Denir
patrocinador
Inicializao
Fornecer
infra-estrutura
Criar
soluo
Planejar
aes
Caracterizar
estadocorrente
eo
Desenvolver
desejado
Desenvolver Estabelecer abordagem
o
nt
recomendaes prioridades
Di a
me
i
c
gn
el e
s
ti c
tab
o
Es
68
captulo 4
Fornecer infra-estrutura: aps definir as razes para mudana, o contexto e o comprometimento dos patrocinadores, importante definir o mecanismo para gerenciar os esforos para os detalhes de implementao:
a infra-estrutura
Fase de Diagnstico: Nessa fase duas caractersticas da organizao so consideradas
Estado atual do processo de software da organizao e o estado futuro
desejado; esses estados sero utilizados para desenvolver as prticas
de melhoria de processo. Caracterizar o estado corrente e o desejado
como identificar o incio e o fim da jornada. Uma vez identificado o estado atual, pode-se usar algum modelo de processo (por exemplo o CMM)
para definir o estado desejado.
Desenvolvimento de recomendaes: nessa atividade, desenvolve-se recomendaes, sugerindo meios de como proceder em atividades subseqentes. As atividades da fase de Diagnstico so desempenhadas pelas
pessoas mais experientes ou por especialistas relevantes na organizao.
Suas recomendaes so baseadas nas decises realizadas pelos gerentes chefes e patrocinadores.
Fase de Estabelecimento: Essa fase possui trs atividade a serem realizadas:
Estabelecer prioridades: essa prioridade deve considerar vrios fatores,
tais como as limitao de recursos, dependncias entre as atividades recomendadas, interveno de fatores externos e as prioridades globais da
organizao.
Desenvolver uma abordagem - envolve o desenvolvimento de uma estratgia de acompanhamento do trabalho considerando o escopo do trabalho, o conjunto de prioridades e a disponibilidade dos recursos
Planejar aes: Com a abordagem definida, pode-se desenvolver um plano detalhado de implementao. Esse plano inclui cronograma, tarefas,
prazos, pontos de deciso, recursos, responsabilidades, medidas, mecanismo de acompanhamento , riscos e mitos, estratgias, outros elementos requeridos pela organizao para o processo de melhoria contnua
captulo 4
69
70
captulo 4
Ela no destinada a um produto nem para uma alguma empresa especfica. Tem
como objetivo orientar a implantao de sistemas de qualidade nas organizaes.
A srie composta das seguintes normas:
ISO 9000- Fundamentos e vocabulrio
ISO 9001- Sistemas de gerenciamento da qualidade requisitos
ISO 9004 Sistemas de gerenciamento da qualidade guia para melhoria da performance
ISO 19011- Auditorias internas da qualidade e ambiental
Para facilitar a aplicao em desenvolvimento de software a ISO 9000-3, que
so orientaes para a aplicao da ISO 9001 ao projeto, desenvolvimento, fornecimento, instalao e manuteno de software. A norma define diretrizes
para facilitar a aplicao da norma ISO 9001 a organizaes que desenvolvem,
fornecem e mantm software. Destina-se a fornecer orientao quando um
contrato entre duas partes exigir a demonstrao da capacidade do fornecedor
em desenvolver, fornecer e manter produtos de software.
De fato, a ISO 9000-3 um guia para a aplicao da ISO 9001 para o desenvolvimento, fornecimento e manuteno de software. As diretrizes propostas
na ISO 9000-3 cobrem questes como:
Entendimento dos requisitos funcionais entre contratante e contratado;
Uso de metodologias consistentes para o desenvolvimento de software;
Gerenciamento de projeto desde a concepo at a manuteno.
ATENO
importante ressaltar que a ISO 9000-3 considera apenas quais processos a organizao
deve ter e manter, mas no orienta quanto aos passos que devem ser seguidos para chegar
a desenvolv-los e nem de como aperfeio-los. A ISO 9001 baseia-se em 20 diretrizes (ou
critrios) que englobam vrios aspectos da garantia da qualidade.
71
ATENO
necessrio deixar claro que segundo a ISO/IEC 12207, cada processo deve ser de responsabilidade de uma parte. A parte que executa tem a responsabilidade por todo o processo, mesmo que tarefas individuais possam ser realizadas por pessoas diferentes.
72
captulo 4
ser aplicada para toda empresa desenvolvedora de software, mas existem casos
de aplicao em projetos especficos por imposio contratual ou nas fases iniciais de implantao.
A Norma ISO/IEC 12207 foi a referncia base para a elaborao da Norma
ISO/IEC 15504-5 publicada em 2006 e que define um modelo para a avaliao
de processos de software baseado no framework da Norma ISO/IEC 15504 (ARRUDA, 2006).
Os processos da Norma ISO/IEC 12207 so agrupados de acordo com o seu
objetivo principal no ciclo de vida de software. Estes agrupamentos resultam
em trs classes de processos: Processos Fundamentais, Processos de Apoio e
Processos Organizacionais. Segundo Arruda (2006), a classe dos Processos
Fundamentais so basicamente todas as atividades que a empresa executa nos
servios de desenvolvimento, manuteno ou operao de software. Esses processos comandam a execuo de todos os outros processos. Os cinco processos
fundamentais de ciclo de vida so:
a) Aquisio;
b) Fornecimento;
c) Desenvolvimento;
d) Operao;
e) Manuteno.
A classe dos Processos de Apoio constituda por um conjunto de processos
que esto ligados ao software atravs de aes de produo de Intercursos - V.8 - N.2
- Jul-Dez 2009 ISSN 2179-9059 171documentao, testes e avaliao do produto
desenvolvido.
A classe dos Processos Organizacionais um conjunto de processos que fazem referncias gesto dos processos e dos recursos humanos envolvidos.
Vamos analisar com mais calma a arquitetura dessa norma.
Arquitetura da Norma ISO/NBR 12207
A Norma estabelece uma arquitetura de alto nvel do ciclo de vida de software,
abrangendo desde a concepo at a descontinuidade do software. Esta arquitetura baseada em processos-chave e o inter-relacionamento entre eles.A arquitetura segue dois princpios bsicos:
captulo 4
73
Na Norma ISO/IEC 12207, os processos de ciclo de vida so agrupados em quatro classes, que representam a sua natureza, a saber:
Processos Fundamentais: Atendem o incio, contratao entre o adquirente e o fornecedor, e a execuo do desenvolvimento, operao ou manuteno de produtos de software durante o ciclo de vida de software.
Processos de Apoio: Auxiliam e contribuem para o sucesso e qualidade
do projeto de software.
Processos Organizacionais: So empregados por uma organizao para
estabelecer e implementar uma estrutura constituda de processos de ciclo de vida e pessoal associados, melhorando continuamente a estrutura
e os processos.
Processo de Adaptao: O processo de adaptao define as atividades
necessrias para executar a adaptao da Norma para sua aplicao na
organizao ou em projetos.
Norma flexvel para as abordagens de engenharia de software envolvidas, sendo :
Utilizvel com com qualquer modelo de ciclo de vida (cascata, incremental, evolutivo, etc);
Utilizvel com qualquer mtodo ou tcnica de engenharia de software
(projeto orientado a objetos, tcnicas estruturadas, prototipao, etc);
Utilizvel com com quaisquer linguagens de programao
74
captulo 4
ATIVIDADE
1. Comente as atividades da etapa de Ao do Ciclo PDCA.
2. Qual a proposta da fase de Estabelecimento do Modelo IDEAL?
captulo 4
75
REFLEXO
Estamos quase chegando ao final do nosso estudo sobre qualidade de sofware e, pudemos
perceber que, apesar da qualidade de software ser uma atividade relativamente nova dentro
do contexto do desenvolvimento de software, ela segue, desde o seu surgimento modelos
que j podemos considerar antigos e consolidados na literatura, como o PDCA e o IDEAL.
Os novos conceitos e normas relacionados qualidade de software caminham juntos e relacionando-se com os modelos de gesto de qualidade mais antigos, nos mostrando que nem
sempre existe um nico modelo ou um nica regra que vai suprir as necessidades de orientaes para a obteno da qualidade, seja de um produto ou de um processo de software.
LEITURA
Ciclo de Deming ou Ciclo PDCA
https://scsampaio.files.wordpress.com/2011/12/ciclo-de-deming-ou-ciclo-pdca.pdf
Processo de Melhoria Contnua de processos para a cmera dos deputados file:///C:/
Users/Mayb/Downloads/processo_melhoria_aires.pdf
Melhoria de Processos de Tecnologia da Informao Multi-Modelo
http://www.inf.ufg.br/mestrado/sites/www.inf.ufg.br.mestrado/files/uploads/Dissertacoes/
FabianaFreitas.pdf
Normas ISO: 12207 15504
http://olaria.ucpel.tche.br/venecian/lib/exe/fetch.php?media=qs_iso12207_15504.pdf
76
captulo 4
REFERNCIAS BIBLIOGRFICAS
PRESSMAN, Roger S. Engenharia de Software. Rio de Janeiro: MacGraw Hill, 2002.
ROCHA, ANA REGINA CAVALCANTI; MALDONADO, JOS CARLOS; WEBER, KIVAL CHAVES. Qualidade de Software Teoria e Prtica. 1 edio. So Paulo: Prentice Hall, 2001.
SOMERVILLE, IAN. Engenharia de Software. 6 edio. So Paulo: Addison Wesley,
2003.
NO PRXIMO CAPTULO
No ltimo captulo desse material, finalizando nosso assunto abordaremos alguns modelos
de qualidade de software, tais como o CMMI e o MPS. BR
captulo 4
77
5
Modelos de
Qualidade de
Processo de
Software
OBJETIVOS
Conhecer o projeto SPICE (Software Process Improvement and Capability Determination) e a Norma ISO/IEC 15504
REFLEXO
Voc deve estar lembrado de quando comentamos no incio desse trabalho que a qualidade
de software pode ser analisada do ponto de vista de trs dimenses diferentes?
Pois bem, essas dimenses so a viso do usurio, do desenvolvedor e da empresa que
o comercializa.
Esse conceito nos mostra que a qualidade do software necessita ser bastante abrangente
para poder agradar a estas trs vises, que so sempre to exigentes.
Para sabermos que o software agrada a essas trs vises o mesmo precisa ser medido.
Concordam que eu no posso dizer se o software tem qualidade ou no se eu no realizar
uma avaliao no mesmo?
Nesse nosso ltimo captulo compreenderemos o funcionamento de alguns modelos que
nos ajudam a realizar essa avaliao e consequentemente fazermos as melhorias onde forem
necessrias! So esses, o SPICE, o CMMI e o MPS.BR
80
captulo 5
ATENO
importante comentar aqui que o Modelo SPICE pode ser utilizado tanto em organizaes
que desenvolvem software visando melhoria dos processos de produo, como tambm em
organizaes que adquirem esse software visando avaliar seus fornecedores em relao ao
seu perfil de capacidade.
Este modelo constitui de um conjunto padronizado de processos fundamentais e define seis
nveis de capacidade para cada um desses processos, que esto descritos em sua estrutura.
Para gerenciar a utilizao das vrias verses da Norma ISO 15504, foram
realizados os projetos SPICE Trials, que so diversos testes prticos baseados
no modelo com o objetivo de investigar a consistncia do mesmo. Na Fase 1 e
Fase 2 foram acompanhadas 105 avaliaes de processos de software em organizaes de diversas partes do mundo, e na Fase 3, foram acompanhadas outras avaliaes tendo como referncia o Relatrio Tcnico (ISO/IEC TR 15504).
Alm disso, esses testes consolidaram um dos objetivos do projeto SPICE, que
disponibilizar um mtodo de avaliao que possibilitasse a comparao dos
resultados obtidos na avaliao com o uso de outros modelos.
O SPICE um modelo contnuo, ou seja, define nveis de maturidade para
determinados processos de acordo com diferentes caractersticas e o usurio
determina sobre qual nvel de maturidade o processo ser avaliado.
captulo 5
81
A avaliao pode ser realizada no contexto de melhoria contnua, identificando as oportunidades de melhoria dos processos de uma organizao, ou
para determinao da capacidade de processo, determinando a conformidade
dos processos de uma organizao em relao a requisitos ou contratos.
5.1.1 Estrutura do Modelo Spice
O projeto SPICE est organizado em nove partes, onde apenas trs partes so
normativas e as demais so somente informativas, conforme descritas a seguir:
Parte 1 (informativa): Conceitos e Guia Introdutrio
Esta parte descreve como interagem as partes do Modelo SPICE e fornece
orientao para a sua seleo e utilizao.
Parte 2 (normativa): Um Modelo de Referncia para Processos e Capacitao de Processos
A parte 2 define um modelo de referncia bidimensional usado como base
para a avaliao e descreve quais atividades fundamentais so exigidas
para uma boa engenharia de software, mas no descrevem como implement-las. Nessa parte esto descritos quarenta processos e componentes de processos organizados em cinco categorias (Cliente-Fornecedor,
Suporte, Engenharia, Gerncia e Organizao). Esses processos so um
superconjunto dos processos que esto descritos na ISO/IEC 12207. Cada
processo descrito na parte 2 basicamente por um nome, o propsito e
como reconhecer uma implementao com sucesso (Weber,et.al,2001).
O modelo compreende duas dimenses (dimenso de processo e dimenso da capacidade do processo) que admite agregar nveis de maturidade
a qualquer etapa do processo de desenvolvimento de um software.
Dimenso do processo: caracteriza o propsito dos processos relacionados ao conjunto de atividades do ciclo de vida do software e dividida em
trs agrupamentos.
Processos Fundamentais: definem as atividades do ciclo de desenvolvimento do software, composto pelas categorias: Cliente-Fornecedor e
Engenharia;
82
captulo 5
Processos Organizacionais: definem as atividades que a organizao devem executar, composto pelas categorias: Gerncia e Organizao;
Processos de Apoio: definem as atividades para garantir a qualidade do
projeto de software, composto pela categoria: Suporte.
Processos de Engenharia: abrange os processos relacionados ao desenvolvimento e manuteno do software especificando, implementando
ou mantendo o produto de software e a sua documentao para o cliente.
Processos de Suporte: consiste nos processos de apoio ou suporte que
podem ser empregados por qualquer outro processo durante o ciclo de
vida do software.
Processos de Gerncia: consiste em processos que contm prticas que
podem ser utilizadas por quem administra qualquer processo ou projeto
dentro do ciclo de vida de desenvolvimento de software.
Processos Organizacionais: consiste em estabelecer objetivos tanto de
negcio como de recursos humanos da organizao, abrange processos
relacionados s atividades gerais de uma organizao, que ajudam a alcanar esses objetivos.
Dimenso da Capacidade do Processo: define os nveis do processo em
uma escala de medida de seis pontos que podem ser utilizados como
base na avaliao da execuo de um processo de uma organizao, e
como guia para a melhoria da execuo. Cada nvel de capacidade descrito na parte 2 basicamente por um nome, definio e atributos (Weber
et.al,2001). Os nveis so apresentados a seguir:
Nvel 0 Incompleto: processo no implementado ou no atinge
seus objetivos.
Nvel 1 Executado: processo implementado atingindo seus objetivos, mas de forma pouco planejada ou rigorosa, sem padro de qualidade e sem controle de prazo e custo.
captulo 5
83
AVALIAO
PORCENTAGEM
DESCRIO
Existe pouca ou nenhuma evidncia que
N: No Realizado
0% a 15%
P: Parcialmente
Realizado
84
captulo 5
AVALIAO
L: Largamente
Realizado
F: Totalmente
Realizado
PORCENTAGEM
DESCRIO
Existem evidncias de uma abordagem
51% a 85%
86% a 100%
captulo 5
85
Processo de Avaliao: a avaliao dever ser conduzida em conformidade com um processo documentado que cumpre o objetivo da avaliao.
Registro de Sada da Avaliao: os dados referentes avaliao, que
auxiliaro na compreenso dos resultados obtidos, devero ser includos no registro de avaliao, guardado pelo patrocinador, e este
deve conter a data e a entrada da avaliao, a identificao dos objetivos e de dados adicionais coletados que foram reconhecidos na
sada da avaliao para melhoria ou determinao da capacidade do
processo, a abordagem de avaliao empregada, e o conjunto de representaes de processo resultante da avaliao.
86
captulo 5
87
Parte 3: Guia para a Realizao de uma Avaliao (baseada nas partes 4 e 6 do SPICE);
Parte 4: Guia para a Utilizao dos Resultados de uma Avaliao
(baseada nas partes 7 e 8 do SPICE);
Parte 5: Um Exemplo de Modelo de Avaliao de Processos (baseada na parte 5 do SPICE).
Compatibilizao com a Norma ISO/IEC 12207, visto que h muita superposio entre a dimenso de processos do ISO/IEC TR 15504 e da ISO/IEC 12207, o
que provoca a duplicao de esforos, inconsistncias e dificuldade na utilizao
da descrio de processos da ISO/IEC 12207 que contm conceito de capacidade
embutido. Para solucionar esses problemas, a dimenso de processos foi removida da ISO/IEC 15504, se tornando um anexo da Norma ISO/IEC 12207 publicada como AMD1 e AMD2, e permitindo a ISO/IEC 15504 utilizar qualquer Modelo
Compatvel de descrio de processo como Modelo de Referncia. Sendo assim,
a ISO/IEC 15504 ser uma Norma para avaliao da capacidade de processos.
O maior benefcio dessas alteraes est na abordagem comum de avaliao,
no sendo mais restringida aos processos do ciclo de vida do software, e sim, podendo ser executada em qualquer tipo de processo em qualquer domnio.
CONCEITO
Atualmente, a Dimenso do Processo definida por um Modelo de Referncia externo
ISO/IEC 15504 e serve como base para o Modelo de Avaliao de Processo.
88
captulo 5
CONEXO
Maiores informaes sobre o modelo CMMI podem ser obtidas atravs do seguinte link:
http://www.sei.cmu.edu/cmmi/
captulo 5
89
LEITURA
Para saber mais sobre o modelo MPS.BR acesse o artigo: Comparando CMMi x MPS. BR:
As Vantagens e Desvantagens dos Modelos de Qualidade no Brasil. Disponvel em:
http://www.camilaoliveira.net/Arquivos/Comparando%20CMMi%20x%20MPS.pdf
90
captulo 5
captulo 5
91
Identificar: produzir uma lista dos riscos que podem vir a comprometer
o resultado esperado.
Os riscos podem ser genricos (ameaam qualquer projeto) ou especficos
do projeto. Para identificar os riscos especficos necessrio entender a
tecnologia, a equipe e o ambiente do projeto, examinar o plano do projeto
e o escopo do sistema e responder aseguinte pergunta: que caractersticas especiais este sistema possui que podem ameaar o plano do projeto?
Analisar: Avaliar a probabilidade da perda e a magnitude da perda, associada com cada item de risco e com a possvel composio desses riscos.
Planejar: definir aes para enderear cada item de risco, priorizar as
aes e criar um plano integrado de gerncia de riscos. O planejamento
pode ter vrios objetivos:
Atenuar o risco.
Evitar o risco modificando o projeto do produto ou o processo de
desenvolvimento.
Transferir o risco.
Aceitar o risco e as conseqncias, caso o evento ocorra.
Fazer um estudo futuro do risco para obter mais informaes e
compreender melhor as caractersticas do risco.
Monitorar: acompanhar o status do risco e das aes executadas
Resolver: executar as aes planejadas e reportar os resultados da resoluo do risco.
Comunicar: prover informaes para e entre entidades e nveis organizacionais envolvidos no projeto. Inclui nveis dentro do projeto, da organizao, da organizao do cliente e a comunicao entre desenvolvedor,
cliente e usurio.
5.5.1 Um Processo para Gerenciamento de Riscos
O risco nos projetos de software pode ser gerenciado atravs das seguintes atividades:
92
captulo 5
Uma Avaliao de Riscos (Risk Assessment) deve ser conduzida a fim de identificar e registrar sistematicamente os riscos do projeto. Entrevistas, reunies,
pesquisas e listas de verificao (checklists) so instrumentos teis na conduo de uma Avaliao de Riscos.
O Software Engineering Institute (SEI) oferece uma categorizao de riscos
muito til nesta rea , onde a anlise dos riscos iniciada agrupando-se os riscos de mesma natureza, ou semelhantes.
importante determinar os fatores atuantes sobre os riscos, isto , as variveis que fazem a probabilidade de ocorrncia ou o impacto (valor da perda) dos
riscos flutuarem. Tambm devem ser determinadas as fontes de risco, ou seja,
as respectivas causas, normalmente descobertas respondendo-se pergunta
Por qu? com relao a cada risco identificado.
Em seguida, deve-se calcular a exposio referente a cada risco, definida
como o produto da probabilidade de ocorrncia do risco pelo respectivo impacto. A exposio utilizada na priorizao dos riscos.
captulo 5
93
ATIVIDADE
1.
O Modelo SPICE possui 9 partes. Na segunda parte encontra-se o um Um Modelo de Referncia para Processos e Capacitao de Processos e, nesse modelo so definidos quatro
tipos de processos, comente cada uma deles.
As principais alteraes que ocorreram do Projeto SPICE para nova estrutura da Norma
ISO/IEC 15504 foram:
REFLEXO
Nosso material termina por aqui, apresentando a Norma ISO/IEC 15505, os Modelos SPICE,
CMMI e MPS.BR, mas voc ainda possui um amplo universo de informaes importantes
94
captulo 5
sobre a qualidade de software e seus modelos de melhoria. Espero que tenha apreciado o
assunto e que o mesmo lhe seja til na sua vida profissional!
Continue se atualizando, a qualidade de software ainda uma rea recente e sempre podemos contar com mais informaes e estudos de caso para nossa aprimorar nossa formao.
LEITURA
Padres de Qualidade de Software MPS Br x CMMI e a realidade Brasileira.
http://www.2xt.com.br/gerencia-de-requisitos-em-processos-de-desenvolvimento-desoftware/
Principais diferenas entre o MPS.BR e o CMMI
http://longhigh.wordpress.com/2008/05/15/principais-diferencas-entre-o-mps-br-e-ocmmi/
Projetos da CE-21-007-10 e Novidades da ISO/IEC 15504 (SPICE)
http://www.softwarepublico.gov.br/file/17039869/apresISO-IEC-15504-Clenio-40minv1p2-ABNT2009.pdf
Arquitetura da ISO/IEC 15504
http://www.micpm.com/hdk/manuais/MiCPManuaisManuais_103.html
REFERNCIAS BIBLIOGRFICAS
(CHARETTE,1989) R. N. Software Engineering Risk Analysis and Management, McGraw-Hill/Intertext, 1989.
(CMMI, 2014)CMMI- Capability Maturity Model, disponvel em: http://cmmiinstitute.
com/assets/CMMI-DEV_1-2_Portuguese.pdfISO
(CMMI:2000) CMMI Model Componentes Derived from CMMI SE/SW, Version 1.0
Technical report CMU/SEI-00-TR24. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2000.
captulo 5
95
EXERCCIO RESOLVIDO
Captulo 1
1. Defina qualidade de software.
Qualidade de software possui vrias definies, vejamos algumas:
Qualidade de software a conformidade a requisitos funcionais e de desempenho
que foram explicitamente declarados, a padres de desenvolvimento claramente documentados, e a caractersticas implcitas que so esperadas de todo software desenvolvido por profissionais.
Um produto de software apresenta qualidade dependendo do grau de satisfao das
necessidades dos clientes sob todos os aspectos do produto.
Qualidade a totalidade de caractersticas e critrios de um produto ou servio que
exercem suas habilidades para satisfazer as necessidades declaradas ou envolvidas.
Qualidade a totalidade das caractersticas de uma entidade, que lhe confere a capa-
96
captulo 5
captulo 5
97
4. Quando falamos de revises de software, o que importante que o engenheiro considere no planejamento?
Devem ser consideradas as seguintes questes:
quem participa?
qual informao requerida antes da reviso?
quais pr-condies que devem ser satisfeitas antes que a reviso possa ser conduzida?
Como Organizar?
Gerar checklists ou outra indicao do que deve ser coberto na reviso;
98
captulo 5
Determinar as condies de trmino ou critrios que devem ser satisfeitos para que
a reviso termine;
Gerar registros e documentos que devem ser produzidos.
Captulo 2
1. Comente algumas vantagens da realizao da garantia de qualidade de
software.
Alguns aspectos positivos da garantia de qualidade de software que podemos mencionar so:
o software ter menos defeitos latentes resultando em reduo do esforo e do tempo gasto durante as atividades de teste e manuteno
a maior confiabilidade resultar em maior satisfao do cliente
os custos de manuteno podem ser reduzidos
o custo do ciclo de vida global do software reduzido
captulo 5
99
100
captulo 5
captulo 5
101
conscientizao dos novos benefcios que podem adquirir com as mudanas. Existem
duas formas de atuao possveis:
adotar o plano como padro, caso a meta tenha sido alcanada
agir sobre as causas que no permitiram que as metas sejam efetivas.
2. Qual a proposta da fase de Estabelecimento do Modelo IDEAL?
A proposta dessa fase definir prioridades para as alteraes, desenvolver uma estratgia para realizao do trabalho, identificar recursos disponveis e desenvolver um
plano de implementao detalhado, o qual contm horrios, tarefas, pontos de deciso,
recursos, responsabilidades, estratgias de risco e qualquer outro elemento requerido
pela organizao.
3. Quais so as diretrizes da ISO 9000-3?
As diretrizes so divididas em 3, a saber:
Estrutura descreve aspectos organizacionais relacionados ao sistema de qualidade.
Atividades do ciclo de vida: descreve atividades de desenvolvimento de software.
Atividades de suporte: descreve atividades que apoiam as atividades do ciclo de vida.
4. A Norma ISO 12207 est relacionada ao processo de ciclo de vida do software.
Quais as vantagens para e empresa em gerenciar os processos de software?
Podemos citar as seguintes vantagens:
Alinha estrategicamente a organizao.
Foca a organizao no cliente.
Obriga a organizao a prestar contas pelo desempenho dos seus processos.
Alinha a fora de trabalho com os processos.
Evidencia a necessidade de alocao de recursos.
Melhora a eficincia.
5. Em quais princpios se baseia a arquitetura da Norma ISO/IEC 12207?
A arquitetura segue dois princpios bsicos:
Modularidade - Os processos tm alta coeso e baixo acoplamento, ou seja, todas
as partes de um processo so fortemente relacionadas e o nmero de interfaces
entre os processos mantido ao mnimo
Responsabilidade - Cada processo na Norma de responsabilidade de uma parte
envolvida. Uma parte envolvida pode ser uma organizao ou parte dela. As
partes envolvidas podem ser da mesma organizao ou de organizaes diferentes.
102
captulo 5
Captulo 5
1. O Modelo SPICE possui 9 partes. Na segunda parte encontra-se o um Um
Modelo de Referncia para Processos e Capacitao de Processos e, nesse
modelo so definidos quatro tipos de processos, comente cada um deles.
Processos de Engenharia: abrange os processos relacionados ao desenvolvimento e
manuteno do software especificando, implementando ou mantendo o produto de
software e a sua documentao para o cliente.
Processos de Suporte: consiste nos processos de apoio ou suporte que podem ser
empregados por qualquer outro processo durante o ciclo de vida do software.
Processos de Gerncia: consiste em processos que contm prticas que podem ser
utilizadas por quem administra qualquer processo ou projeto dentro do ciclo de vida
de desenvolvimento de software.
Processos Organizacionais: consiste em estabelecer objetivos tanto de negcio
como de recursos humanos da organizao, abrange processos relacionados s
atividades gerais de uma organizao, que ajudam a alcanar esses objetivos.
captulo 5
103
Compatibilizao com a Norma ISO/IEC 12207, visto que h muita superposio entre a dimenso de processos do ISO/IEC TR 15504 e da ISO/IEC 12207, o que provoca a duplicao de esforos, inconsistncias e dificuldade na utilizao da descrio de processos da ISO/IEC 12207 que contm conceito de capacidade embutido.
Para solucionar esses problemas, a dimenso de processos foi removida da ISO/IEC
15504, se tornando um anexo da Norma ISO/IEC 12207 publicada como AMD1 e
AMD2, e permitindo a ISO/IEC 15504 utilizar qualquer Modelo Compatvel de descrio de processo como Modelo de Referncia. Sendo assim, a ISO/IEC 15504 ser
uma Norma para avaliao da capacidade de processos.
O maior benefcio dessas alteraes est na abordagem comum de avaliao, no sendo
mais restringida aos processos do ciclo de vida do software, e sim, podendo ser executada
em qualquer tipo de processo em qualquer domnio.
3. O CMMI est dividido em 5 nveis de maturidade que atestam o grau de
evoluo em que uma organizao. Comente o que lembra de cada um
desses nveis.
Nvel 1 - Inicial: os processos normalmente esto envoltos num caos decorrente da
no obedincia ou ainda, inexistncia de padres;
Nvel 2 - Gerenciado: os projetos tm seus requisitos gerenciados neste ponto.
Alm disso, h o planejamento, a medio e o controle dos diferentes processos;
Nvel 3 - Definido: os processos j esto claramente definidos e so compreendidos
dentro da organizao. Os procedimentos se encontram padronizados, alm de ser
preciso prever sua aplicao em diferentes projetos;
Nvel 4 - Gerenciado Quantitativamente: ocorre o aumento da previsibilidade do
desempenho de diferentes processos, uma vez que os mesmos j so controlados
quantitativamente;
Nvel 5 - Otimizado: existe uma melhoria contnua dos processos.
104
captulo 5
4. Voc se lembra se o MPS.BR possui alguma vantagem para o mercado brasileiro com relao aos outros modelos vistos?
O MPS.BR baseado noCMMI, nas normasISO/IEC 12207eISO/IEC 15504e tambm na realidade do mercado brasileiro.
No Brasil, uma das principais vantagens do modelo seu custo reduzido de certificao
em relao s normas estrangeiras, sendo ideal para micro, pequenas e mdias empresas
captulo 5
105