Você está na página 1de 60

Curso Técnico em Informática

Qualidade de Software
Robson Braga de Andrade
Presidente da Confederação Nacional da Indústria

Rafael Lucchesi
Diretor do Departamento Nacional do SENAI

Regina Maria de Fátima Torres


Diretora de Operações do Departamento Nacional do SENAI

Alcantaro Corrêa
Presidente da Federação da Indústria do Estado de Santa Catarina

Sérgio Roberto Arruda


Diretor Regional do SENAI/SC

Antônio José Carradore


Diretor de Educação e Tecnologia do SENAI/SC

Marco Antônio Dociatti


Diretor de Desenvolvimento Organizacional do SENAI/SC
Confederação Nacional da Indústria
Serviço Nacional de Aprendizagem Industrial

Curso Técnico em Informática

Qualidade de Software

Luciana Rita Guedes

Florianópolis/SC
2011
É proibida a reprodução total ou parcial deste material por qualquer meio ou sistema sem o prévio consentimento
do editor.

Autor Fotografias
Luciana Rita Guedes Banco de Imagens SENAI/SC
http://www.sxc.hu/
http://office.microsoft.com/en-us/ images/
http://www.morguefile.com/
http://www.bancodemidia.cni.org.br/

Ficha catalográfica elaborada por Luciana Effting CRB14/937 - Biblioteca do SENAI/SC Florianópolis

G924q
Guedes, Luciana Rita
Qualidade de software / Luciana Rita Guedes. – Florianópolis : SENAI/SC,
2011.
59 p. : il. color ; 28 cm.

Inclui bibliografias.

1. Software – Controle de qualidade. 2. Software – Medição. 3. Software


- Legislação. 4. Modelos de capacitação e maturidade (Software). I. SENAI.
Departamento Regional de Santa Catarina. II. Título.

CDU 004.41

SENAI/SC — Serviço Nacional de Aprendizagem Industrial


Rodovia Admar Gonzaga, 2.765 – Itacorubi – Florianópolis/SC
CEP: 88034-001
Fone: (48) 0800 48 12 12
www.sc.senai.br
Prefácio
Você faz parte da maior instituição de educação profissional do estado.
Uma rede de Educação e Tecnologia, formada por 35 unidades conecta-
das e estrategicamente instaladas em todas as regiões de Santa Catarina.

No SENAI, o conhecimento a mais é realidade. A proximidade com as


necessidades da indústria, a infraestrutura de primeira linha e as aulas
teóricas, e realmente práticas, são a essência de um modelo de Educação
por Competências que possibilita ao aluno adquirir conhecimentos, de-
senvolver habilidade e garantir seu espaço no mercado de trabalho.

Com acesso livre a uma eficiente estrutura laboratorial, com o que existe
de mais moderno no mundo da tecnologia, você está construindo o seu
futuro profissional em uma instituição que, desde 1954, se preocupa em
oferecer um modelo de educação atual e de qualidade.

Estruturado com o objetivo de atualizar constantemente os métodos de


ensino-aprendizagem da instituição, o Programa Educação em Movi-
mento promove a discussão, a revisão e o aprimoramento dos processos
de educação do SENAI. Buscando manter o alinhamento com as neces-
sidades do mercado, ampliar as possibilidades do processo educacional,
oferecer recursos didáticos de excelência e consolidar o modelo de Edu-
cação por Competências, em todos os seus cursos.

É nesse contexto que este livro foi produzido e chega às suas mãos.
Todos os materiais didáticos do SENAI Santa Catarina são produções
colaborativas dos professores mais qualificados e experientes, e contam
com ambiente virtual, mini-aulas e apresentações, muitas com anima-
ções, tornando a aula mais interativa e atraente.

Mais de 1,6 milhões de alunos já escolheram o SENAI. Você faz parte


deste universo. Seja bem-vindo e aproveite por completo a Indústria
do Conhecimento.
Sumário
Conteúdo Formativo 9 32 Unidade de estudo 4 46 Unidade de estudo 7
Normas de Acessibilidade em
Apresentação 11 Qualidade do Software
Produto de
Software
47 Seção 1 - Interação humano-
12 Unidade de estudo 1 33 Seção 1 - Visão geral -computador
47 Seção 2 - Recomendações
Introdução à 33 Seção 2 - Norma ISO/IEC
9126 para interfaces com usuários
Qualidade
34 Seção 3 - Norma ISO/IEC 48 Seção 3 - Acessibilidade em
14598 software

13 Seção 1 - Conceito de qua- 35 Seção 4 - Norma ISO/IEC


lidade 12119
50 Unidade de estudo 8
14 Seção 2 - Histórico da qua-
lidade Autoria em Software
15 Seção 3 - Ferramentas da 36 Unidade de estudo 5
qualidade
Normas de 51 Seção 1 - A lei do software
Qualidade de no Brasil
20 Unidade de estudo 2 Processo de 52 Seção 2 - Software livre
Software
Processo de Software

37 Seção 1 - Visão geral


Finalizando 55
21 Seção 1 - Engenharia de
37 Seção 2 - Norma ISO/IEC
software e seus objetivos
12207 Referências 57
21 Seção 2 - Elementos do pro-
38 Seção 3 - Normas da série
cesso de software
ISO 9000
22 Seção 3 - Fases genéricas do
40 Seção 4 - Norma ISO/IEC
processo de software
15504 (SPICE)

24 Unidade de estudo 3
42 Unidade de estudo 6
Requisitos de
Qualidade Modelo de
Capacitação
CMM/CMMI
25 Seção 1 - Fatores de qualida-
de de software
Seção 2 - Métricas da quali- 43 Seção 1 - Visão geral
27
dade de software 43 Seção 2 - Gerenciamento de
29 Seção 3 - Pilares da qualida- processo
de de software 44 Seção 3 - Níveis de maturi-
30 Seção 4 - Qualidade do dade
processo x qualidade do
produto
8 CURSOS TÉCNICOS SENAI
Conteúdo Formativo
Carga horária da dedicação

Carga horária: 30 horas

Competências

Aplicar as normas de qualidade no desenvolvimento de sistemas computacionais.

Conhecimentos

▪▪ Acessibilidade;
▪▪ Adaptabilidade;
▪▪ Clareza;
▪▪ Coerência;
▪▪ Compatibilidade;
▪▪ Conceito de qualidade;
▪▪ Conforto;
▪▪ Direitos autorais/propriedade intelectual;
▪▪ Ergonomia;
▪▪ Expressividade;
▪▪ Flexibilidade;
▪▪ Interatividade;
▪▪ Normas de qualidade de software;
▪▪ Obediência;
▪▪ Portabilidade;
▪▪ Qualidade de software;
▪▪ Sistemas da qualidade;
▪▪ Usabilidade.

Habilidades

▪▪ Identificar critérios de usabilidade e qualidade no desenvolvimento de softwares;


▪▪ Utilizar normas de ergonomia;
▪▪ Utilizar normas de qualidade de software;
▪▪ Aplicar princípios de acessibilidade.

QUALIDADE DE SOFTWARE 9
Atitudes

▪▪ Organização e zelo na utilização de equipamentos;


▪▪ Foco no conteúdo trabalhado;
▪▪ Acesso a sites relacionados ao tema trabalhado;
▪▪ Organização e limpeza dos ambientes coletivos;
▪▪ Dedicação e empenho nas atividades curriculares e extracurriculares;
▪▪ Capacidade de abstração;
▪▪ Trabalho em equipe;
▪▪ Apresentação de novas soluções para situações-problemas;
▪▪ Cumprimento de prazos;
▪▪ Análise crítica de suas produções.

10 CURSOS TÉCNICOS SENAI


Apresentação
Prezado aluno, seja bem-vindo ao universo da qualidade de software! Luciana Rita Guedes
Este material faz parte da unidade curricular Qualidade de Software do
Luciana Rita Guedes é gradua-
curso Técnico de Informática. Ele o guiará pelos conceitos da qualidade
da em Tecnologia em Processa-
aplicada à administração e produção até os atuais padrões de qualidade
mento de Dados, pós-graduada
de software. em Ciência da Computação
É evidente que, no mundo globalizado e competitivo em que vivemos, e em Educação a Distância e
é essencial as empresas buscarem sempre a qualidade para se manterem mestre em Ciência da Compu-
no mercado. tação. Possui experiência em
desenvolvimento de software
Você verá que a qualidade pode e deve ser medida e que é necessário ter
tradicional e para web. Foi do-
padrões estabelecidos que indiquem a qualidade que se quer alcançar. cente em cursos de qualifica-
Também será abordado o tema da acessibilidade dentro dos sistemas ção, cursos técnicos e de Ensino
computacionais. A acessibilidade é a característica que possibilita o uso Superior na área de informática.
de algum recurso por portadores de necessidades especiais, como defi- Atualmente, atua no SENAI de
ciência visual e auditiva, limitação de locomoção ou outras deficiências. Joinville como docente do Ensi-
Você verá como esse tema é tratado na área de desenvolvimento de no Superior e como coordena-
dora de curso superior.
software e o que você pode fazer!
Além disso, a discussão de alguns aspectos sobre direitos autorais na
área de software também faz parte desta unidade curricular e serão apre-
sentados a você.
Bom estudo!

QUALIDADE DE SOFTWARE 11
Unidade de
estudo 1
Seções de estudo

Seção 1 – Conceito de qualidade


Seção 2 – Histórico da qualidade
Seção 3 – Ferramentas da qualidade
Introdução à Qualidade
SEÇÃO 1
Conceito de qualidade
Você deve ouvir falar muitas vezes
sobre qualidade. As pessoas gos-
tam de comprar produtos de quali-
dade, as lojas fazem seus anúncios
oferecendo qualidade como vanta-
gem, algumas indústrias declaram
ter certificação de qualidade. É
bastante comum, também, falar de
qualidade em software.

Fonte: Microsoft
Mas, afinal, o que é qualidade?
O dicionário Aurélio (Ferreira,
2000) traz a seguinte definição:
É importante perceber que todos
Em uma escala de valores, qua- os conceitos relacionados à quali-
lidade é a característica que dade mencionam a importância das
permite avaliar e, consequente- medidas e dos padrões a serem
mente, aprovar, aceitar ou recu- seguidos. Isso significa que, para
sar qualquer coisa. considerar que algo tem qualida-
de, é necessário que esteja dentro
Para que algo seja avaliado e apro- dos padrões estabelecidos, o que só
vado ou não, é necessário que se é possível a partir de medidas que
tenha um padrão, um modelo a ser comprovem que isso é verdade.
seguido. A partir do modelo, para
se afirmar que outro item está de
acordo com esse padrão, é necessá-
rio medir tanto um como o outro.
Este é o princípio fundamental da
qualidade: os padrões e as medidas!
A partir dessa ideia, o conceito de
qualidade pode ser definido como:

Um produto ou serviço de qua-


lidade é aquele que atende , de
Fonte: WowBrazil

forma confiável, acessível, se-


gura e no tempo certo às neces-
sidades do cliente” (CAMPOS,
1992).
A partir do que você já estudou,
percebeu a importância da sua de-
dicação para percorrer a trajetória
de aprendizagem? Então vamos em
frente.

QUALIDADE DE SOFTWARE 13
SEÇÃO 2 Início do século XX
Histórico da qualidade ▪▪ Criador da administração
científica.
Você já deve ter se perguntado: de onde vieram essas ideias de qualidade? ▪▪ Demonstrou que os métodos
Quem inventou esses princípios? de produção podem ser repetidos
As respostas para essas e outras questões você irá conferir agora! dentro de padrões estabelecidos.
Historicamente, o homem sempre almejou adquirir e consumir produ-
tos e serviços de qualidade. Afinal, quem não gosta de obter o que há
de melhor?
Antes da era da industrialização, os produtos eram essencialmente ar-
tesanais e não havia muita preocupação com padrões. Em geral, cada
produto ou serviço era único e personalizado.
No entanto, quando as indústrias começaram a se desenvolver e criar
suas linhas de montagem, a preocupação com o padrão de qualidade
começou a aflorar, pois era necessário oferecer produtos iguais a preços
iguais para muitas pessoas diferentes.

Figura 1: Frederick Taylor


Fonte: Geraldo Gonçalves Junior

A partir dos anos 1950


▪▪ Introduziu o termo “controle
de qualidade total”.
▪▪ Afirmou que o compromisso
com a qualidade se estende desde
os operários até o presidente da
Fonte: Volvo

empresa.

Muitos estudiosos, principalmente na área de administração, destacaram-


-se pelos seus trabalhos na busca pela qualidade nas empresas.
A seguir, veja um resumo com alguns dos principais cientistas que pu-
blicaram trabalhos voltados à qualidade e quais foram suas principais
contribuições.

Figura 2: Armand V. Feigenbaum


Fonte: Qualidade Brasil

14 CURSOS TÉCNICOS SENAI


A partir dos anos 1950 Como resumo da prática de qualidade desenvolvida ao longo do século
XX, pode-se indicar que:
▪▪ Afirmou que a qualidade
▪▪ No início do século havia uma preocupação em inspecionar o pro-
deve ser planejada, controlada e
duto, ou seja, apenas verificar se após acabado ele tinha defeitos. Nesse
melhorada.
caso, o produto defeituoso era descartado ou, caso fosse possível,
voltava para a produção para ser corrigido.
▪▪ Mais tarde, além da inspeção, começou-se a registrar esses defeitos
encontrados e também o custo que eles geravam, afinal, cada produto
defeituoso tinha de ser refeito ou consertado, o que encarecia a produ-
ção. Esses registros faziam parte do controle da qualidade.
▪▪ No final do século, a inspeção do produto e o controle da qualidade
foram unidos ao que se chamou “melhoria do processo”, ou “melhoria
da qualidade”. O objetivo passou a ser a busca constante por qualidade,
evitando-se gastos desnecessários e buscando cada vez mais a satisfa-
ção do cliente.

Figura 3: Josef M. Juran


Fonte: Gian Fabio

A partir dos anos 1960


▪▪ Indicou que a qualidade pode
ser medida a partir de padrões
especificados.
▪▪ Criou a teoria do “defeito Figura 5: Níveis de qualidade implementados ao longo do século XX
Fonte: Adaptado de Cortês (2001)
zero”.

Interessante esse resgate da história da qualidade, concorda? Siga em


frente, novas informações estão por vir.

SEÇÃO 3
Ferramentas da qualidade
Você já viu o conceito de qualidade e também um pouco do histórico
de como esse assunto se desenvolveu desde o século XX até os dias de
hoje.
Mas como será que se pode gerenciar a qualidade? Que meios são utiliza-
dos para medi-la e para conferir se o produto está adequado aos padrões
Figura 4: Philip B. Crosby desejados?
Fonte: Rollins College Ao longo dos anos, com o desenvolvimento de estudos nessa área, sur-
giram diversos meios para contribuir com o gerenciamento da qualidade,
que também são conhecidos como “ferramentas da qualidade”. Aqui
você verá algumas delas.

QUALIDADE DE SOFTWARE 15
5S
É muito provável que você já tenha ouvido falar em 5S. Atualmente,
essa ferramenta é muito utilizada pelas empresas que buscam a melhoria
da qualidade.
Segundo Silva (1994), o nome 5S tem origem em cinco palavras japo-
nesas, que representam cinco atitudes a serem realizadas para melhorar
a qualidade dos ambientes de trabalho. As palavras estão descritas na
figura a seguir.

Figura 6: Significado dos 5S

A implantação de um programa de 5S deve ser feita na ordem que apa-


rece no quadro a seguir.

Nessa etapa deve-se descartar tudo que não é usado e


1 SEIRI Senso de utilização
deixar apenas o que é útil.

Nessa etapa deve-se colocar cada coisa em seu lugar, pre-


2 SEITON Senso de ordenação ferencialmente com etiquetas ou alguma identificação de
onde se encontra cada item.

3 SEISO Senso de limpeza Essa etapa indica que se deve manter o ambiente limpo.

Essa etapa diz respeito a manter um ambiente saudável,


4 SHEIKETSU Senso de saúde e higiene sempre arejado, com iluminação adequada e livre de obje-
tos ou situações que possam causar acidentes.

Essa é a etapa mais importante, pois indica que tudo o que


5 SHITSUKE Senso de autodisciplina
foi feito até a etapa 4 deve ser mantido como um hábito.

Quadro 1: Programa 5S

16 CURSOS TÉCNICOS SENAI


A ideia do 5S é tão disseminada que muitos trabalhadores que aprendem
O nome Ciclo PDCA repre-
a usá-la nas empresas passam a aplicá-la também em suas casas e no seu senta que as etapas devem
dia a dia. se repetir ciclicamente. Isso
significa que, após planejar,
executar, fazer o controle
e agir sobre os pontos que
PDCA precisam de ajustes, será
Conforme Deming (1990), o ciclo PDCA é uma ferramenta de gerencia- necessário replanejar, execu-
mento da qualidade que trata de quatro ações que devem ser executadas tar esse novo planejamento,
para a garantia da qualidade. A sigla PDCA refere-se a quatro palavras fazer um controle sobre os
novos resultados obtidos e
em inglês. Confira a seguir:
agir novamente no que for
necessário. Após isso, todo o
processo deve ser feito nova-
Representa a fase em que é necessário fazer um mente e de forma constante.
Plan Planejar planejamento para a qualidade estabelecendo
metas a serem atingidas.

Do Executar É a fase em que o planejamento é executado.

É o ponto em que se faz uma verificação sobre


Check Controlar a execução do planejamento e comparam-se os
resultados alcançados com as metas estabelecidas.

Essa fase depende dos resultados obtidos na etapa


anterior: se forem positivos, as ações serão para
Act Agir reforçar os resultados; se forem negativos, as
ações devem ser corretivas, isto é, devem buscar a
correção dos resultados não alcançados.

Quadro 2: Ciclo PDCA

É bem provável que você já tenha visto uma figura representativa do


clico PDCA como a que aparece a seguir. Esta figura deve ser lida no
sentido horário, iniciando pela letra P, passando pelo D, pelo C e che-
gando ao A.

Figura 7: Ciclo PDCA


Fonte: Rodrigues (2010)

QUALIDADE DE SOFTWARE 17
Diagrama de Causa-Efeito, ou Diagrama de Ishikawa
Quando ocorre um problema relacionado à qualidade, pode ser necessá-
rio investigar suas causas para tentar eliminá-lo ou corrigi-lo.
Uma das ferramentas que podem ser usadas para visualizar as possíveis
causas de um problema é o diagrama de causa-efeito, criado pelo japo-
nês Kaoru Ishikawa, e também conhecido como diagrama espinha de
peixe pelo seu formato de desenho.

Figura 8: Kaoru Ishikawa


Fonte: Qualidade Brasil (2010)

O diagrama de Ishikawa também pode ser utilizado para determinar


quais fatores seriam necessários para se chegar a um determinado ob-
jetivo.
Observe nas figuras a seguir como Madeira (2010) ilustra muito bem
esses dois possíveis usos para o diagrama. Em uma situação, essa fer-
ramenta é usada para descobrir o que seria necessário para se obter um
bom restaurante. Em outra, aponta as possíveis causas que poderiam
levar ao problema de alto consumo de combustível.

18 CURSOS TÉCNICOS SENAI


Figura 9: Diagrama usado na busca de fatores que levem a um objetivo
Fonte: Madeira (2010)

Figura 10: Diagrama usado na busca das causas de um problema


Fonte: Madeira (2010)

Com a análise dos diagramas você encerra os estudos da primeira uni-


dade. Porém, a busca por novos conhecimentos não acabou. Pesquise
sobre os temas, converse com o professor, discuta com seus colegas,
enfim, explore todas as oportunidades de aprendizagem.
Agora prepare-se para uma nova jornada.

QUALIDADE DE SOFTWARE 19
Unidade de
estudo 2
Seções de estudo

Seção 1 – Engenharia de software e


seus objetivos
Seção 2 – Elementos do processo de
software
Seção 3 – Fases genéricas do proces-
so de software
Processo de Software

Seção 1
Engenharia de software e seus objetivos
Agora que você já estudou as principais características da qualidade apli-
cada aos produtos e aos processos industriais, verá como a qualidade de
software situa-se na grande área da engenharia de software.

Pressman (1995) afirma que “[...] a engenharia de software compre-


ende um conjunto de etapas que envolve métodos, ferramentas e pro-
cedimentos” que permite controlar o processo de desenvolvimento,
contribuindo para “a construção de software de alta qualidade produ-
tivamente”.
Segundo ROCHA (2001),melhorar a qualidade do software é o princi-
pal objetivo da engenharia de software). Por tudo isso, os estudos sobre
qualidade de software são pertinentes à engenharia de software.

Fonte: Office

QUALIDADE DE SOFTWARE 21
Seção 2
Elementos do processo de software
Conforme você viu, a engenharia de software envolve métodos, ferramen-
tas e procedimentos para o processo de desenvolvimento de software.
Aqui serão esclarecidos os significados desses três elementos, conforme
proposto por Pressman (1995).

Figura 6: Elementos do processo de software

Os métodos dizem respeito às atividades que indicam como o software


deve ser feito. Constituem um conjunto amplo de atividades a serem
desenvolvidas ao longo de todo o processo de desenvolvimento, entre
elas o planejamento e as estimativas de projeto, o levantamento dos re-
quisitos do sistema, a codificação, os testes e a manutenção do software.
As ferramentas representam o conjunto de hardware, software e banco
de dados que dá apoio à construção do software. As ferramentas CASE
(Computer Aided Software Engineer) são um importante exemplo de ferra-
menta usada no processo de software. De forma simplificada, pode-se
dizer que o CASE está para a área de desenvolvimento de software assim
como o CAD/CAM está para a área de projeto e desenvolvimento de
produtos.
Os procedimentos indicam a sequência em que os métodos serão apli-
cados com o uso das ferramentas disponíveis. Isso significa que os pro-
cedimentos unem os métodos e as ferramentas de modo que o software
possa ser construído de forma adequada. Por meio dos procedimentos é
possível fazer o controle, o que auxilia na melhoria da qualidade.

É importante enfatizar que a qualidade de software deve estar presente em


todos os elementos envolvidos no processo de desenvolvimento.

Lembre-se de que o conhecimento se adquire por meio de uma cons-


trução significativa da aprendizagem. Vamos trilhar novos caminhos do
conhecimento?

22 CURSOS TÉCNICOS SENAI


SEÇÃO 3
Fases genéricas do processo de software
Você deve se lembrar que o processo de desenvolvimento de software é
composto de diversas fases que se complementam e contribuem para se
obter um software com qualidade.
Existem muitas propostas escritas sobre as fases que compõem o ciclo
de vida do software e certamente você já ouviu falar delas ao longo dos
seus estudos.
De um modo simplificado e genérico, pode-se dizer que o processo de
desenvolvimento de software é composto basicamente de três fases (RO-
CHA, 2001):
▪▪ A fase de definição, que indica o que deve ser feito: quais dados
serão processados, que funções serão necessárias, quais serão o desem-
penho, as restrições e os critérios usados.
▪▪ A fase de desenvolvimento, que indica como o software será feito:
como serão implementadas as estruturas de dados e as funções do
software, como ele será traduzido para uma linguagem de programação e
como serão realizados os testes.
▪▪ A fase de manutenção diz respeito às mudanças no software: quais
alterações corretivas (para corrigir erros), adaptativas (que permitam a
adequação do software quando ocorrem mudanças no meio em que ele
atua) ou perfectivas (que implementam melhorias ou novas funcionali-
dades no software).

Figura 7: Fases do desenvolvimento de software

Mas qual a importância de conhecer as fases do processo de software para


o estudo da qualidade de software?

Como você pôde ver, algumas propostas relativas à qualidade em software


dizem respeito à qualidade no processo. Nesses casos, é muito impor-
tante conhecer como o processo de desenvolvimento de software deve ser
conduzido para assegurar a melhoria de sua qualidade.
A próxima unidade apresenta a você requisitos de qualidade, então se
prepare para fazer novas descobertas.

QUALIDADE DE SOFTWARE 23
Unidade de
estudo 3
Seções de estudo

Seção 1 – atores de qualidade de software


Seção 2 – Métricas da qualidade de software
Seção 3 – Pilares da qualidade de software
Seção 4 – Qualidade do processo x qualidade
do produto
Requisitos de Qualidade

SEÇÃO 1
Fatores de qualidade de
software
Até aqui você acompanhou a evo- Mas como a qualidade pode ser avaliada?
lução da qualidade implantada pe-
las empresas, principalmente dos A resposta para essa pergunta começou a surgir com um trabalho de
pontos de vista da produção e da J. McCall, em 1977, em que foram definidos os principais fatores que
administração. A partir de agora, afetam a qualidade do software. Esses fatores foram divididos em três
o foco estará voltado à qualidade principais categorias:
de software. Será possível observar
que os conceitos até aqui apresen- ▪▪ operação do produto;
tados serão úteis também na área ▪▪ revisão do produto;
de desenvolvimento de software. ▪▪ transição do produto.
Você já estudou os elementos e as
fases que compõem o processo de A figura a seguir mostra os fatores de qualidade propostos por McCall
desenvolvimento de software. Para (1977).
iniciar, vale começar com um con-
ceito de qualidade de software defi-
nido por Pressman (1995, p.724).

Qualidade de software é defini-


da como conformidade a requi-
sitos funcionais e de desempe- Manutenção Portabilidade
nho explicitamente declarados, Flexibilidade Reutilização
a padrões de desenvolvimento Testabilidade Interoperabilidade
Revisão do Transição
claramente documentados e a Produto do Produto
características implícitas que são
esperadas de todo software pro-
fissionalmente desenvolvido.
Operação do
Produto

É importante frisar a palavra con-


formidade que aparece na defi- Correção Confiabilidade Usabilidade Integridade Eficiência
nição anterior. Como você já viu,
a conformidade é a base da qua-
Figura 8: Fatores da qualidade de software de McCall
lidade. Isso significa que há um Fonte: Martinho (2010)
padrão que está sendo seguido,
ou seja, que algo está sendo feito
conforme previsto.

QUALIDADE DE SOFTWARE 25
Na categoria Operação do produto foram definidos os seguintes fatores:

Categoria Operação do produto

Corretitude (ou correção) Indica se o software está correto, ou seja, se ele faz aquilo que se espera dele.

Indica se o software é confiável, isto é, se gera resultados precisos nos quais


Confiabilidade
se pode sempre confiar.

Indica se o software roda com um desempenho (velocidade) dentro de um


Eficiência
limite aceitável e desejável.

Diz respeito à segurança do software (como no acesso apenas a pessoas


Integridade
autorizadas).

Indica o grau de facilidade de uso do software, ou seja, se ele é fácil de ser


Usabilidade
operado do ponto de vista do usuário.

Quadro 3: Categoria operação do produto

Quanto à categoria Revisão do produto, os fatores são:

Categoria Revisão do produto

Indica o grau de facilidade para localizar e corrigir erros no programa,


Manutenibilidade
isto é, se é fácil fazer manutenção corretiva no software.

Representa o grau de facilidade de fazer alterações no software, ou


Flexibilidade
seja, se é fácil fazer alterações em suas funcionalidades.

Testabilidade Indica o grau de facilidade para se testar o software.

Quadro 4: Categoria revisão do produto

Com relação à categoria Transição do produto, os fatores definidos foram:

Categoria Transição do produto

Representa a possibilidade de usar o software em outro hardware ou


Portabilidade
com outro sistema operacional.

Indica se há a possibilidade de reaproveitar partes do software para


Reusabilidade
compor softwares diferentes que tenham funcionalidades comuns.

Interoperabilidade Indica a possibilidade de o software interagir com outros softwares.

Quadro 5: categoria transação do produto

Os fatores de qualidade citados até aqui representam características que


podem ser desejadas num produto de software. Para cada software, algumas
dessas características podem ser mais importantes que outras. Algumas,
por outro lado, podem ser irrelevantes para a avaliação de algum software.
No entanto, é importante que você conheça e entenda cada uma delas
para estar apto a avaliar qualquer uma delas.

26 CURSOS TÉCNICOS SENAI


SEÇÃO 2
Métricas da qualidade de software
Agora que você já estudou os fatores que podem afetar a qualidade do
software, conhecerá também as métricas relacionadas à qualidade.

As métricas são as formas de medir a qualidade. Elas normalmente


estão associadas a uma escala de valores. Pode-se associar, por exem-
plo, o valor 0 como nota mínima, para indicar nível baixo, e 10 como
nota máxima, para indicar o nível mais alto.

As métricas propostas por James McCall são (PRESSMAN, 1995):

Auditabilidade Mede a facilidade (ou dificuldade) em checar a conformidade com os padrões estabelecidos.
Acurácia Mede a precisão (grau de correção) dos resultados produzidos pelo software.
Grau de comunicação Mede o nível de comunicação entre os dispositivos usados no software.
Inteireza Mede o grau de implementação de uma funcionalidade.
Concisão Mede o nível de compactação dos programas (por exemplo, o tamanho dos programas).

Mede a uniformidade das técnicas de projeto e de documentação usadas ao longo do


Consistência
processo de desenvolvimento.

Padronização de dados Mede o uso de padrões de estruturas de dados no software.

Tolerância a erros Mede o grau de danos causados quando ocorre uma falha na execução do software.

Eficiência de execução Mede o grau de desempenho (velocidade) do software em execução.

Expansibilidade Mede o quanto é possível expandir (ampliar) o software.

Generalidade Mede a amplitude de componentes do software para que sejam usados em outras aplicações.

Independência de
Mede o grau de independência do software em relação ao hardware.
hardware

Instrumentação Mede o quanto o software consegue monitorar a si mesmo, detectando e tratando erros.

Mede o grau de independência das funções do programa em relação ao todo, ou seja, o


Modularidade
quanto está dividido em módulos.
Operabilidade Mede a facilidade (ou dificuldade) de operação do software.
Segurança Mede o grau de segurança e controle de acesso aos programas e aos dados.

Mede o grau de documentação dos programas-fonte (comentários esclarecedores dentro


Autodocumentação
das linhas de código).
Simplicidade O grau de facilidade (ou dificuldade) de compreender um programa.

Independência do
Mede o grau de independência do software em relação ao sistema operacional.
software básico

Rastreabilidade Mede a capacidade de se rastrear um componente do software em relação aos seus requisitos.

Mede a facilidade de ensino (ou de aprendizado) do software para novos usuários que
Treinamento
precisem aprender a trabalhar com ele.

Quadro 6: Métricas de James McCall


Fonte: Adaptado de Pressmann (1995)

QUALIDADE DE SOFTWARE 27
Agora que você viu as métricas relacionadas à qualidade de software,
veja qual a relação entre elas e os fatores de qualidade. A tabela a seguir
demonstra quais métricas devem ser usadas para avaliar cada fator de
qualidade (PRESSMAN, 1995, p. 730-731):

Tabela 1: Fatores de qualidade x métricas de qualidade

FATORES DE QUALIDADE

Interoperabilidade
Manutenibilidade
Confiabilidade

Reusabilidade
Portabilidade
Testabilidade
Flexibilidade

Usabilidade
Corretitude

Integridade
Eficiência
Auditabilidade X X
Acurácia X
Comunicação X
Inteireza X
Concisão X X X
Consistência X X X X
Dados comuns X
MÉTRICAS DE QUALIDADE

Tolerância a erros X
Eficiência de execução X
Expansibilidade X
Generalidade X X X X
Independência de hardware X X
Instrumentação X X X
Modularidade X X X X X X X
Operabilidade X X
Segurança X
Autodocumentação X X X X X
Simplicidade X X X X
Independência do software básico X X
Rastreabilidade X
Treinamento X
Fonte: Adaptado de Pressman (1995)

Para esclarecer melhor, a tabela demonstra o que deve ser medido (mé-
trica) em cada indicador de qualidade (fator).
Por exemplo, a métrica Concisão (5ª linha da tabela) pode ser usada para
medir os fatores:
▪▪ Eficiência: quanto mais conciso for um programa (menos linhas)
mais eficiente ele tende a ser.
▪▪ Manutenibilidade: programas mais concisos podem facilitar o
entendimento e, consequentemente, a manutenção corretiva.
▪▪ Flexibilidade: programas mais concisos podem simplificar a im-
plantação de melhorias ou a adequação de suas funcionalidades.

28 CURSOS TÉCNICOS SENAI


Da mesma forma, todas as métricas relacionam-se com um ou mais Todas as atividades relacionadas
fatores de qualidade na tabela, indicando em que tipo de medição elas aos pilares da garantia da quali-
auxiliam. dade de software são contínuas e
Vamos em frente? Na próxima seção você vai conhecer os pilares da cíclicas e devem estar presentes
qualidade de software. em todas as fases do desenvolvi-
mento.

SEÇÃO 3
Pilares da qualidade de software Você percebeu que há gran-
de semelhança entre os pila-
Nesta seção você vai conhecer a definição de garantia da qualidade de res do processo de garantia
software e como as empresas devem agir para garantir essa qualidade. da qualidade de software e o
A garantia da qualidade de software constitui-se de um conjunto de tarefas clássico ciclo PDCA? Em am-
cujos fundamentos têm relação com os estudos de qualidade ao longo bos há atividades de planeja-
mento, execução, verificação
do século XX. A figura a seguir resume o processo de garantia da qua-
e ação. Outra semelhança é
lidade de software. que ambos são cíclicos (pro-
cessos repetitivos) e contínu-
os (permanecem ao longo de
todas as etapas de produção).
Pilares da qualidade de software

Planejamento Garantia da Controle da


da Qualidade Qualidade Qualidade

Atividades, técnicas e
Atividades relativas ao Atividades, técnicas e
procedimentos para
planejamento da procedimentos com
medir e monitorar a
qualidade e à prevenção objetivo de identificar
qualidade do processo e
de defeitos. erros no software.
do produto de software.

Figura 9: Pilares da qualidade de software


Fonte: Adaptado de Bartié (2002)

Sobre os pilares da qualidade de software, pode-se afirmar que:


▪▪ Planejamento da qualidade: visa a identificar os padrões de quali-
dade que serão utilizados e a definir como satisfazê-los.
▪▪ Garantia da qualidade: envolve estruturação, sistematização e
execução de atividades que garantam a qualidade em todas as etapas
do desenvolvimento do software, sempre atendendo ao planejamento da
qualidade anteriormente estabelecido.
▪▪ Controle da qualidade: diz respeito ao monitoramento dos resulta-
dos das atividades de garantia de qualidade. Isso significa que o contro-
le da qualidade acompanha as ações de garantia de qualidade e, quando
necessário, propõe ações corretivas e preventivas.

QUALIDADE DE SOFTWARE 29
SEÇÃO 4
Qualidade do processo x qualidade do produto
É comum encontrar duas formas distintas de medir, controlar e garantir
a qualidade. Uma abordagem é a qualidade do produto, que foca o re-
sultado do processo produtivo, isto é, aquilo que é produzido. A aborda-
gem de qualidade do processo tem como foco a forma como se realiza
a produção, ou seja, o processo produtivo.

Figura 10: Processo produtivo

Dentro do contexto de qualidade de software “[...] não é possível estabe-


lecer um processo de garantia da qualidade que não enfoque simultane-
amente o produto tecnológico e o processo de desenvolvimento deste
software” (BARTIÉ, 2002, p. 17).
Ainda assim é possível distinguir as duas dimensões de qualidade da
seguinte forma:
▪▪ Dimensão da qualidade do processo de software: tem como
foco a avaliação da qualidade dos diversos artefatos gerados durante o
ciclo de desenvolvimento de software. Esses artefatos incluem documen-
tos, como os requisitos levantados, diagramas, tabelas, modelos etc.,
que devem ser verificados à medida que são produzidos. As atividades
de verificação desses artefatos são conhecidas como testes de verifica-
ção, ou testes estáticos.
▪▪ Dimensão da qualidade do produto: tem como foco a validação
dos produtos de software gerados durante o processo de desenvolvi-
mento. Os testes feitos nos produtos são conhecidos como testes de
validação, ou testes dinâmicos.

30 CURSOS TÉCNICOS SENAI


Testes de verificação, ou testes estáticos:
realizados nos artefatos/documentos.

Testes de validação, ou testes dinâmicos:


realizados nos produtos de software.

Figura 11: Dimensão do processo x dimensão do produto


Fonte: Superdownloads (2010)

Agora que você viu que a qualidade do software pode ser avaliada tanto
com foco no processo como com foco no produto, o próximo passo é
apresentar alguns modelos de qualidade de software que se fundamentam
nessa distinção. Embarque em mais uma viagem ao mundo do conheci-
mento na próxima unidade.

QUALIDADE DE SOFTWARE 31
Unidade de
estudo 4
Seções de estudo

Seção 1 – Visão geral


Seção 2 – Norma ISO/IEC 9126
Seção 3 – Norma ISO/IEC 14598
Seção 4 – Norma ISO/IEC 12119
Normas de Qualidade
do Produto de Software

SEÇÃO 1
Visão geral
Lembra do que você estudou so- Você deve lembrar de ter estudado os fatores de qualidade de software
bre a diferença entre qualidade do definidos por James McCall, em 1977). Você perceberá que eles são a
produto e qualidade do processo? base para muitas normas de qualidade de software que serão apresentadas
Qualidade do produto de software a partir daqui!
foca o resultado do desenvolvi-
mento do software, ou seja, naquilo
que é produzido. Já a qualidade do
processo está relacionada ao pro-
cesso produtivo.
Nesta unidade você conhecerá
três normas ISO/IEC que aju-
dam a apurar a qualidade do pro-
duto de software.

A sigla ISO representa a In-


ternational Organization for
Standardization (Organização
Internacional para Padroni- Figura 11: Fatores de qualidade de McCall
zação), uma entidade que Fonte: Adaptado de Pressmann (1995)
estabelece normas e padrões
para os mais variados seg-
mentos em todo o mundo. SEÇÃO 2
Norma ISO/IEC 9126
A norma ISO/IEC 9126 trata de um conjunto de características que
A sigla IEC vem de Internatio-
visam à avaliação de um produto de software. São seis as características
nal Electrotechnical Commis-
sion (Comissão Internacional avaliadas por essa norma, conheça-as.
de Eletrotécnica), entidade
que ajuda no estabelecimen- Mede a capacidade do software em satisfazer as neces-
Funcionalidade sidades dos clientes, ou seja, executar adequadamente
to de padrões.
as funções esperadas.
Medida da capacidade do software em relação à tole-
Confiabilidade rância a falhas, incluindo a possibilidade de recuperação
Muitas normas conhecidas mun- em caso de falha.
dialmente foram estabelecidas em Usabilidade Refere-se à medida da facilidade de uso do software.
conjunto entre a ISO e a IEC, Eficiência Mede o nível de desempenho do software.
tendo sua denominação ISO/ Manutenibilidade Medida da facilidade para se fazer alterações no software.
IEC.
Indica a facilidade de transferência do software para
Portabilidade
outro ambiente operacional.
Quadro 3: Características do software

QUALIDADE DE SOFTWARE 33
Além das características avaliadas, a norma ISO/IEC 9126 apresenta
três diferentes visões possíveis para se alcançar um software de qualidade.
São elas:
▪▪ Visão do usuário – diz respeito ao atendimento das expectativas do
usuário, para quem o software será desenvolvido. Essa visão está associa-
da às funcionalidades, ao desempenho e à facilidade de uso.
▪▪ Visão do desenvolvedor – está relacionada a medidas internas de
qualidade do software, conhecidas apenas por quem participa do proces-
so de desenvolvimento. Uma das preocupações pode ser a facilidade
para dar manutenção no software.
▪▪ Visão do gerente de desenvolvimento – diz respeito a uma visão
mais abrangente, que busca medir a qualidade geral do software em
desenvolvimento.

Vamos conhecer mais uma norma?

SEÇÃO 3
Norma ISO/IEC 14598
A norma ISO/IEC 14598 deve ser usada em conjunto com a ISO/IEC
9126 e tem como objetivo a avaliação dos produtos de software. Ela pos-
sui seis desdobramentos, confira:

Visão geral Faz uma apresentação geral da norma e de seus desdobramentos.


Planejamento Apresenta requisitos, recomendações e orientações que auxiliam no
e gestão processo de avaliação dos produtos de software.
Processo para
Destina-se ao uso durante o processo de desenvolvimento do software.
desenvolvedores
Processo para Tem como foco a avaliação do ponto de vista do cliente que irá adquirir
adquirentes o software.
Fornece orientações para que avaliadores independentes (pessoas que
Processo para
não estão envolvidas no processo de desenvolvimento) possam verifi-
avaliadores
car a qualidade do software.

Documentação do Define como deve ser a documentação relativa à avaliação de um pro-


módulo de avaliação duto de software.
Quadro 4: Avaliação dos produtos de software(itálico)

Como foi dito, essa norma é complementar à norma ISO/IEC 9126,


já que é mais atual e expande a avaliação das características descritas
originalmente.
Siga adiante!

34 CURSOS TÉCNICOS SENAI


SEÇÃO 4
Norma ISO/IEC 12119
A norma ISO/IEC 12119 estabelece requisitos de qualidade para “pa-
cotes de software”. Entende-se por “pacote de software” aqueles produtos
vendidos de forma idêntica a usuários distintos. Eles são também co-
nhecidos como “softwares de prateleira” ou “pacotes fechados”, pois os
clientes que os adquirem não o fazem por encomenda indicando seus
requisitos, apenas compram o produto pronto. Muitas vezes é necessário
adequar os processos da empresa para adaptá-los ao software adquirido.
Essa norma também é complementar à norma ISO/IEC 9126 e descre-
ve, adicionalmente, os seguintes requisitos para avaliação de pacotes de
software, veja:

Indica que o pacote de software deve con-


ter claramente uma descrição detalhada de
Descrição do produto
suas propriedades que orientem os possí-
veis clientes na compra do produto.

Recomenda que o pacote de software deve


conter um conjunto completo de documen-
Documentação do usuário tos que orientem o usuário que irá operá-
-lo. Esses documentos podem ser em papel
ou em meio eletrônico.
Orienta sobre a necessidade de o pacote de
software conter todos os programas e da-
Programas e dados
dos necessários para sua correta instalação
e utilização.
Quadro 5: requisitos de avaliação de pacotes de software (itálico)

Mais uma vez vale salientar que a norma ISO/IEC 12119 só faz sentido quan-
do usada em conjunto com a norma 9126, que descreve as seis principais
características que podem ser aplicadas também aos pacotes de software.

Uma nova unidade lhe convida a explorar novos conceitos. Vamos lá?

QUALIDADE DE SOFTWARE 35
Unidade de
estudo 5
Seções de estudo

Seção 1 – Visão geral


Seção 2 – Norma ISO/IEC 12207
Seção 3 – Normas da série ISO 9000
Seção 4 – Norma ISO/IEC 15504 (SPICE)
Normas de Qualidade de
Processo de Software

SEÇÃO 1
Visão geral
Você já estudou normas de qua-
lidade relativas ao produto de sof-
tware que dão ênfase à avaliação
dos resultados obtidos ao longo
do ciclo de desenvolvimento.
Aqui você conhecerá normas
ISO de qualidade que focam no
processo de desenvolvimento do
software.
Mais adiante, você estudará alguns
modelos de qualidade também
focados no processo de desenvol-
vimento de software, mas que não
foram propostos pela ISO, e sim
por outras organizações.

SEÇÃO 2
Norma ISO/IEC 12207 Figura 12: Estrutura da norma ISO/IEC 12207
Fonte: Adaptado de Rocha (2001)
A norma ISO/IEC 12207 per-
tence à categoria de Tecnologia
da Informação e refere-se aos Agora acompanhe a descrição de cada processo.
processos de ciclo de vida de ▪▪ Processos fundamentais: refere-se ao conjunto de processos bási-
software. Vale lembrar que você cos que vão desde o início até o fim do ciclo de vida do software. Esses
já estudou as fases genéricas do processos são: aquisição, fornecimento, desenvolvimento, opera-
processo de desenvolvimento de ção e manutenção.
software como sendo: definição,
desenvolvimento e manutenção. ▪▪ Processos de apoio: refere-se ao conjunto de processos que auxi-
liam na qualidade do processo de desenvolvimento de software.
Para a norma 12207, os proces-
sos relativos ao ciclo de vida são ▪▪ Processos organizacionais: refere-se ao conjunto de processos
vistos com um nível de detalha- que devem ser usados pela empresa do ponto de vista administrativo a
mento muito maior que as fases fim de contribuir para o sucesso na busca pela garantia da qualidade no
genéricas estudadas. Além disso, desenvolvimento do software.
esses processos são divididos em
três categorias, conforme figura a
seguir.

QUALIDADE DE SOFTWARE 37
Além das categorias de processos envolvidos na norma 12207, estão
previstos também os princípios da gerência da qualidade, divididos
em três etapas básicas, veja:

1. Integração da qualidade no ciclo de vida: recomenda a utilização do


Ciclo PDCA durante todo o ciclo de vida do software.

2. Processo de garantia da qualidade: recomenda que o processo de ga-


rantia da qualidade seja implementado durante todo o ciclo de vida
do software.

3. Processo de melhoria: recomenda a busca pela melhoria contínua da


qualidade.

Em resumo, a norma ISO/IEC 12207 traz recomendações para a ga-


rantia da qualidade ao longo de todo o ciclo de vida do software,
desde sua definição até a manutenção.

Seção 3
Normas da série ISO 9000
Você já ouviu falar sobre a norma de qualidade da série ISO 9000?

Inúmeras empresas no Brasil e no mundo são certificadas pela ISO


9000 e divulgam amplamente essa informação na mídia como diferen-
cial competitivo.
A norma ISO 9000 foi criada, na verdade, como uma família de normas.
Dessa família, as mais importantes são:
▪▪ ISO 9001: é a mais completa, pois abrange todo o ciclo de vida de
um produto ou serviço e inclui requisitos para garantir a qualidade em
todas as etapas do processo.
▪▪ ISO 9002: possui requisitos para garantir a qualidade na produção,
na instalação e em serviços associados.
▪▪ ISO 9003: foca apenas a garantia da qualidade em inspeções e en-
saios finais de produtos.

Como se trata da mais abrangente, a norma ISO 9001 (versão 2000) é


aqui apresentada de forma mais detalhada. De qualquer modo, é impor-
tante salientar que o ponto mais importante é o foco no cliente: inicia-
-se com os requisitos desejados pelo cliente e termina-se com a medida
da satisfação do cliente em relação aos requisitos estabelecidos.

38 CURSOS TÉCNICOS SENAI


De forma simplificada, a figura a seguir demonstra os principais proces-
sos envolvidos na norma ISO 9001, versão 2000, que são:

a. responsabilidade da administração: contém os requisitos relativos


aos processos administrativos da empresa.

b. gestão dos recursos: contém os requisitos relativos a recursos hu-


manos, ambiente de trabalho e infraestrutura que são necessários
para garantia da qualidade.

c. realização do produto: contém requisitos referentes ao processo


produtivo (seja para empresas de produtos ou de serviços).

d. medição, análise e melhoria: contém requisitos relativos aos méto-


dos de medição necessários para dimensionar o nível de conformida-
de em todos os processos da organização.

Figura 13: Modelo de processos da ISO 9001:2000


Fonte: Qualiblog (2010)

Empresas de qualquer segmento que implantam uma norma ISO da


série 9000 passam a ser reconhecidas como empresas organizadas,
que têm seus processos bem estabelecidos e padronizados.

QUALIDADE DE SOFTWARE 39
SEÇÃO 4
Norma ISO/IEC 15504 (SPICE)
A norma ISO/IEC 15504 originou-se de um projeto denominado SPI-
CE que é uma sigla em inglês para Software Process Improvement and Ca-
papility dEtermination, que poderia ser traduzido para português como
melhoria dos processos de software e dimensão da capacidade.
A norma ISO/IEC 15504 possui duas dimensões, conforme demonstra
a figura a seguir:
▪▪ dimensão de processos: que trata de requisitos relativos ao processo
de desenvolvimento de software;
▪▪ dimensão da capacidade: determina seis níveis de maturidade dos
processos de uma organização.

Figura 14: Estrutura da norma ISO/IEC 15504

Na dimensão de processos a norma ISO/IEC 15504 baseia-se quase


que integralmente na ISO/IEC 12207, que trata dos processos de ciclo
de vida de software e está dividida em três categorias básicas de processos.
Essas categorias você conheceu anteriormente, mas estão simplificadas
na figura a seguir para que você tenha a oportunidade de lembrar.

Figura 15: Estrutura da Norma ISO/IEC 12207

40 CURSOS TÉCNICOS SENAI


Na dimensão de capacidade, essa norma classifica o processo de de-
senvolvimento de software de uma organização em seis possíveis níveis,
acompanhe:
▪▪ Nível 0, ou incompleto: indica que não há implementação de
nenhum processo padronizado, portanto não há garantias de que os
resultados esperados sejam alcançados com sucesso.
▪▪ Nível 1, ou executado: indica que os resultados desejados são alcan-
çados, mas que o planejamento e a execução não seguem um padrão
rigoroso que garantam a qualidade de forma contínua.
▪▪ Nível 2, ou gerenciado: indica que há padrões, tanto de planeja-
mento como de execução dos processos, que garantem que os resulta-
dos sempre sejam alcançados com um nível de qualidade satisfatório.
▪▪ Nível 3, ou estabelecido: indica que os padrões de planejamen-
to e de execução existentes seguem os princípios estabelecidos pela
engenharia de software, o que garante que os resultados terão sempre o
mesmo padrão de qualidade.
▪▪ Nível 4, ou previsível: indica que há padrões de planejamento e de
execução coerentes com aqueles estabelecidos pela engenharia de sof-
tware, além de medições detalhadas de desempenho e de medidas quan-
titativas de capacidade do processo. Essas medidas permitem prever as
medidas de qualidade dos resultados com relevante grau de precisão.
▪▪ Nível 5, ou em otimização: indica que todos os níveis anteriores
foram atingidos e que o objetivo passa a ser a busca contínua pela
melhoria do processo.

Figura 16: Níveis de capacidade da norma ISO/IEC 15504 (SPICE)

O projeto SPICE, que deu origem à norma ISO/IEC 15504, foi criado
a partir do desenvolvimento de outros projetos que previam níveis de
maturidade no processo de desenvolvimento de software, como é o caso
do CMM, que você estudará mais adiante.
A próxima unidade vem cheia de novidades. Veja o que preparamos para
você.

QUALIDADE DE SOFTWARE 41
Unidade de
estudo 6
Seções de estudo

Seção 1 – Visão geral


Seção 2 – Gerenciamento de processo
Seção 3 – Níveis de maturidade
Modelo de Capacitação
CMM/CMMI

SEÇÃO 1 SEÇÃO 2
Visão geral Gerenciamento de processo
A sigla CMM origina-se de Capa- Para o modelo CMM, um processo é composto de três elementos-chave:
bility Maturity Model, que pode ser
▪▪ as pessoas que participam do planejamento, da execução e do con-
traduzido como Modelo de Capa-
trole do processo;
cidade e Maturidade. Foi idealiza-
do pelo Instituto de Engenharia ▪▪ os procedimentos e métodos que indicam como o processo deve ser
de Software da Universidade Car- realizado;
negie Mellon, nos Estados Uni- ▪▪ as ferramentas e os equipamentos que são utilizados ao longo do
dos, com o objetivo de estabele- processo.
cer um padrão de qualidade para
desenvolvimento de software.
O CMM estabelece cinco níveis
de maturidade para o processo de
desenvolvimento de software. Se-
gundo esse modelo, uma empresa
pode ser classificada pelo seu ní-
vel de maturidade e quanto maior
o nível, maior a qualidade dos re-
sultados obtidos no processo de
desenvolvimento de software.
Desde a sua criação, surgiram
várias versões do modelo CMM.
Para padronizá-lo em um só, foi
desenvolvido o modelo CMM in-
tegrado ou, simplesmente, CMMI.
O modelo CMM/CMMI nasceu
das ideias de qualidade propostas
por Shewhart, Deming e Juran,
Figura 16: Componentes de processos segundo o CMM/CMMI
como o ciclo PDCA, que você já Fonte: Adaptado de Côrtes (2001)
estudou.

Segundo a proposta do CMM, esses três componentes são igualmente


Por ser um dos modelos de importantes e a qualidade do processo depende da qualidade aplicada a
qualidade mais antigos na cada um deles.
área de desenvolvimento de
software, o CMM/CMMI é Preparado para seguir mais um percurso?
também um dos mais difun-
didos no mundo todo.

QUALIDADE DE SOFTWARE 43
SEÇÃO 3
Níveis de maturidade
Conforme já foi dito, o CMM/CMMI propõe uma classificação de ma-
turidade de processo de desenvolvimento de software em cinco níveis,
que você conhecerá a seguir (CÔRTES, 2001):
▪▪ Nível 1 – inicial: indica que o processo consegue gerar um produto
no final do desenvolvimento, mas com prazos e custos mais ou menos
fora do controle.
▪▪ Nível 2 – repetível: indica que, apesar de não se ter clareza sobre
como o processo é conduzido, ainda assim há pontos de controle
intermediários com relação a prazos e custos, o que permite ações cor-
retivas que contribuem para um resultado final com grau de qualidade
satisfatório.
▪▪ Nível 3 – definido: indica que as fases do ciclo de vida utilizam os
princípios de engenharia de software, o que gera um melhor controle
tanto ao longo do desenvolvimento do software como no resultado final
obtido que passa a ter um bom nível de qualidade.
▪▪ Nível 4 – gerenciado: indica que todos os processos ao longo do
ciclo de vida são detalhadamente controlados, possibilitando total con-
trole do início ao fim do desenvolvimento do software e garantindo um
nível de qualidade de alto padrão.
▪▪ Nível 5 – otimizado: indica que a busca pela melhoria constante da
qualidade passa a ser o grande objetivo.

Observe na figura a seguir os níveis propostos pelo CMM de forma


simplificada.

Figura 17: Níveis de maturidade CMM


Fonte: Adaptado de Rocha (2001)

44 CURSOS TÉCNICOS SENAI


Vale salientar que, segundo o modelo CMM, uma organização de de-
senvolvimento de software é classificada como mais madura ou menos
madura. Nesse contexto, maturidade representa a adequada utilização de
ferramentas de planejamento, controle e garantia da qualidade aplicadas
ao desenvolvimento de software.
Agora você é convidado a começar a próxima unidade para conhecer a
acessibilidade em software. Aproveite para explorar esse tema e fazer da
sua aprendizagem um processo de construção do conhecimento.

QUALIDADE DE SOFTWARE 45
Unidade de
estudo 7
Seções de estudo

Seção 1 – Interação humano-computador


Seção 2 – Recomendações para interfaces
com usuários
Seção 3 – Acessibilidade em software
Acessibilidade em Software

SEÇÃO 1 SEÇÃO 2
Interação humano- Recomendações para
computador interfaces com usuários
Você já estudou os diversos as- A área de IHC já produziu inúme-
pectos abordados na qualidade ras pesquisas sobre como devem
de software tanto do ponto de vista ser as interfaces com os usuários
da qualidade do produto como da gerando vários livros e incontá-
qualidade do processo de desen- veis documentos com informa-
volvimento. ções muito relevantes.
Agora o foco é um tema especí-
fico da qualidade de software que
trata da interface com o usuário.
Essa interface pode ser entendida
como o meio pelo qual o usuá-
rio se comunica com os sistemas
computacionais, ou seja, como
ele efetua as entradas e como ele Nesta unidade não será possível
recebe as saídas. Como já foi es- abordar todos os aspectos relacio-
tudado, um software de qualidade nados à IHC, mas serão aponta-
precisa ser fácil de aprender e de dos alguns princípios que podem
usar (critério Usabilidade). contribuir para a busca de uma in-
terface mais amigável e, portanto,
de melhor qualidade. No entanto, aqui você estudará
apenas alguns dos principais tó-
A área que se dedica a estu- picos relacionados a recomenda-
dar as interfaces é denomina- ções de como desenvolver essas
da Interação Humano-Com- Interfaces mal projetadas po-
interfaces.
putador (IHC). A IHC estuda a dem comprometer seriamen-
interação do ser humano com te a qualidade de um softwa- Em seu livro sobre engenharia de
os sistemas computacionais e re. Como afirma Sommerville software, Pressman (1995) sugere
por isso investiga, entre ou- (2003), “[...] uma interface algumas diretrizes para os desen-
tros assuntos, a forma como que é difícil de ser utilizada, volvedores quanto a interfaces de
o cérebro humano aprende, na melhor das hipóteses, re- sistemas computacionais. Algu-
compreende e se comporta sultará em um alto nível de mas dessas diretrizes estão sinteti-
diante de elementos visuais, erros”. zadas a seguir, acompanhe:
auditivos etc.
▪▪ Mostre somente informações
que sejam relevantes e evite ex-
cesso de dados que podem atra-
palhar ou confundir o usuário.
▪▪ Procure não passar dados em
excesso para o usuário e use for-
matos de apresentação que sejam
facilmente compreendidos, como
gráficos e diagramas.

QUALIDADE DE SOFTWARE 47
▪▪ Use nomes, cores, abreviaturas, siglas e termos que sejam consisten-
tes e compreensíveis para o usuário.
▪▪ Permita que o usuário mantenha o contexto visual caso os dados
não caibam na tela de uma só vez. Ele precisa saber que parte do todo
está visualizando (mais para cima, mais para baixo, mais para direita ou
mais para esquerda).
▪▪ Produza mensagens de erro significativas e que possam ser interpre-
tadas corretamente pelo usuário.

No quadro a seguir você tem acesso a alguns princípios propostos por


Sommerville (2003) para projetos de interfaces com usuários.

Princípios Descrição
Familiaridade Os termos e conceitos apresentados devem ser conhecidos pelos usu-
com usuário ários (dentro de sua capacidade de conhecimento).

Deve-se usar sempre o mesmo princípio em operações semelhantes


Consistência em todo o sistema (mesma forma de inserir e deletar dados, mesmos
botões, mesmas posições etc.).

Mínimo O sistema deve se comportar sempre de maneira previsível, evitando


de surpresa surpresas que podem levar a confusões.

O usuário sempre deve ter a possibilidade de recuperar os dados após


Facilidade
ações mal executadas (operação de desfazer ou de recuperar dados
de recuperação
perdidos).

Orientação O sistema deve fornecer auxílio ao usuário, guiando-o quando tiver


do usuário dúvidas ou quando ocorrerem erros.

A interface deve prever recursos que atendam a todo tipo de usuário


Diversidade
que possa vir a operar o sistema, inclusive aqueles com necessidades
de usuários
especiais.

Quadro 3: Princípios propostos para projetos de interfaces com usuários

Você estudará o princípio da diversidade de usuários com mais deta-


lhes na próxima seção.

SEÇÃO 3
Acessibilidade em software
O termo acessibilidade já deve ser familiar a você, pois atualmente se
ouve falar constantemente em inclusão social e nos modos para garantir
o acesso aos bens e serviços para as pessoas portadoras de necessidades
especiais.
No Brasil, várias leis já foram aprovadas com o objetivo de dar condições
a essas pessoas de serem incluídas nos diversos setores da sociedade.

48 CURSOS TÉCNICOS SENAI


▪▪ para deficientes auditivos: substituição de elementos sonoros por
A Lei no 10.098 (BRASIL, visuais, como o uso de legendas em filmes ou em músicas; em vídeos,
2000) traz a seguinte defini- usar intérprete da Língua Brasileira de Sinais (Libras), utilizada para co-
ção sobre acessibilidade: “[...] municação com pessoas com deficiência auditiva – em vídeos; e melho-
possibilidade e condição de
ria da qualidade de elementos visuais com foco nesse tipo de usuário.
alcance para utilização, com
segurança e autonomia, dos
espaços, mobiliários e equi- O site Acessibilidade Brasil traz um conjunto de ações de acessibilidade em
pamentos urbanos, das edifi- software já desenvolvidos no país. Você pode buscar mais informações em
cações, dos transportes e dos <www.acessobrasil.org.br/>.
sistemas e meios de comuni-
cação, por pessoa portadora
de deficiência ou com mobili-
dade reduzida”.

Nos últimos anos, tanto o go-


verno como as empresas têm
buscado implantar cada vez mais
condições de acessibilidade a por-
tadores de necessidades especiais.
Muitos avanços foram feitos, mas
ainda há muitas ações a serem re-
alizadas.

Figura 19: Logotipo do site Acessibilidade Brasil

Lembre-se de que, como desenvolvedor de software, é seu papel buscar o


atendimento a todo tipo de usuário dos sistemas que você ajudou a desen-
volver.
Figura 18: Símbolo da acessibilidade

A partir de agora, você é convidado conhecer a autoria de software, as-


Na área de desenvolvimento de sunto da próxima unidade. Compartilhe ideias e dúvidas com o seu pro-
software existem várias iniciativas fessor e colegas. O aprendizado coletivo é muito importante para seu
que buscam permitir o uso de sis- crescimento profissional.
temas computacionais por pesso-
as com necessidades especiais. Al-
gumas das iniciativas que podem
ser citadas são:
▪▪ para cegos ou deficientes
visuais: sistemas que permitem a
substituição de elementos visuais
por elementos sonoros, a am-
pliação visual em alto grau e a
impressão em Braille;

QUALIDADE DE SOFTWARE 49
Unidade de
estudo 8
Seções de estudo

Seção 1 – A lei do software no Brasil


Seção 2 – Software livre
Autoria em Software

SEÇÃO 1
A lei do software no Brasil
No Brasil, até o ano de 1998, não existia legislação especial para proteger
os direitos autorais de quem desenvolve software. A Lei no 9.609 (BRA-
SIL, 1998) estabeleceu que os direitos dos criadores de software fossem
equivalentes aos direitos de escritores. Assim, os desenvolvedores de
programas têm direitos sobre suas “obras” por 50 anos. Durante esse
período, outros interessados podem ter acesso ao software mediante Con-
trato de Licença de Uso.
Não é obrigatório que um programador registre seu programa junto ao
Instituto Nacional de Propriedade Intelectual (INPI), mas ele precisa
ter seus direitos assegurados. No entanto, é possível fazê-lo apenas para
facilitar a comprovação da autoria para o caso de disputa legal.

Fonte: Nick Benjaminsz

No caso de empresas (chamadas pessoas jurídicas), os direitos sobre os


programas criados pertencem a elas e isso deve estar escrito no contrato
de trabalho de seus empregados. Esse também é o caso de um cliente
que contrata o desenvolvimento de um software específico e para uso
exclusivo, o que também deve estar descrito em contrato.
Vamos adiante?

QUALIDADE DE SOFTWARE 51
SEÇÃO 2
Software livre
Há um movimento contrário ao que se conhece como software proprie-
tário: o Movimento do Software Livre, criado a partir do Projeto GNU
por Richard Sttalman, pesquisador do Massachussets Institute of Technology
(MIT).

Figura 20: O Projeto GNU desenvolveu uma licença que permite livre uso do sof-
tware
Fonte: Arana (2010)

O grupo criou uma licença de uso de software denominada “Licença Pú-


blica GNU, que se aplica à cópia, distribuição e modificação dos códigos
e dá liberdade para se alterar ou usar o código em novos programas”
(REINALDO FILHO, 2002, p. 238).

52 CURSOS TÉCNICOS SENAI


Figura 21: Richard Sttalman, o idealizador do Projeto GNU
Fonte: Mac4Ever (2010)

Um dos softwares mais conhecidos e disseminados pelo Movimento do Sof-


tware Livre é o sistema operacional Linux, criado por Linus Torvalds e usado
no mundo todo.

Você pode buscar mais informações a respeito do Movimento do


Software Livre no endereço <http://br-linux.org/faq-softwarelivre>.
A Lei no 9.609 regulamenta os direitos autorais de criadores de
software. Disponível em <http://www.planalto.gov.br/ccivil/Leis/
L9609.htm>.

Explore essas informações. Faça da pesquisa um meio constante de


aprendizado. Nesta unidade você teve a oportunidade de conhecer o que
a legislação define e, assim, atuar no desenvolvimento de software com
qualidade e segurança.

QUALIDADE DE SOFTWARE 53
Finalizando
Prezado aluno,
esta unidade curricular apresentou os principais fundamentos na área de qualidade de software. Você
acompanhou o histórico da qualidade, que iniciou no “chão de fábrica” das indústrias e expande-se
até os dias atuais com a busca constante pela melhoria da qualidade em todos os setores.
Na área de desenvolvimento de software você conheceu os principais modelos de qualidade tanto
com ênfase no produto como no processo.
Além disso, você viu os principais conceitos relacionados à acessibilidade em software dentro da
grande área denominada interação humano-computador.
Finalmente, conheceu alguns princípios relacionados a direitos autorais que interessam a desenvol-
vedores.
Agora você pode aprofundar seus estudos a partir das fontes de informação sugeridas ao longo
do conteúdo e na bibliografia da unidade curricular, com o objetivo de melhorar constantemente a
qualidade dos softwares!
Sucesso!

QUALIDADE DE SOFTWARE 55
Referências
▪▪ BARTIÉ, Alexandre. Garantia da qualidade em software: adquirindo maturidade orga-
nizacional. Rio de Janeiro, RJ: Elsevier, 2002.

▪▪ BRASIL. Lei nº 9.609, de 19 de fevereiro de 1998. Dispõe sobre a proteção da pro-


priedade intelectual de programa de computador, sua comercialização no País, e
dá outras providências. Disponível em: <www.planalto.gov.br/ccivil/Leis/L9609.htm>.
Acesso em: 30 out. 2010.

▪▪ ______. Lei nº 10.098, de 19 de dezembro de 2000. Estabelece normas gerais e critérios


básicos para a promoção da acessibilidade das pessoas portadoras de deficiência ou
com mobilidade reduzida, e dá outras providências. Disponível em: <www.planalto.
gov.br/ccivil_03/Leis/L10098.htm>. Acesso em: 29 out. 2010.

▪▪ CAMPOS, Vicente Falconi. TQC: controle da qualidade total (no estilo japonês). 4. ed.
Belo Horizonte: Fundação Christiano Ottoni, 1992.

▪▪ CÔRTES, Mario Lúcio; CHIOSSI, Thelma C. S. Modelos de qualidade de software.


Campinas: Unicamp, 2001.

▪▪ DEMING, W. Edwards. Qualidade: a revolução da administração. Rio de Janeiro, RJ: Sa-


raiva, 1990.

▪▪ REINALDO FILHO, Demócrito. Direito da informática: temas polêmicos. Bauru: EDI-


PRO, 2002.

▪▪ ROCHA, Ana Regina C.; MALDONADO, José Carlos; WEBER, Kival Chaves. Qualidade
de software: teoria e prática. São Paulo, SP: Prentice Hall, 2001.

▪▪ SILVA, João Martins da. 5S: o ambiente da qualidade. Belo Horizonte: Fundação Christiano
Ottoni, 1994.

▪▪ SOMMERVILLE, Ian. Engenharia de software. São Paulo, SP: Addison-Wesley, 2003.

QUALIDADE DE SOFTWARE 57
Equipe de Desenvolvimento de Recursos Didáticos

Coordenação de Educação a Distância


Beth Schirmer

Coordenação Projetos EaD


Maristela de Lourdes Alves

Coordenação de Desenvolvimento de Recursos


Didáticos
Gisele Umbelino

Projeto Educacional
Angela Maria Mendes
Israel Braglia

Projeto Gráfico
Daniela de Oliveira Costa
Jordana Paula Schulka
Juliana Vieira de Lima

Design Educacional
Rozangela Aparecida Valle

Capa, Ilustrações, Tratamento de Imagens


D’imitre Camargo Martins
Diego Fernandes
Luiz Eduardo Meneghel

Diagramação
Carlos Filip Lehmkuhl Loccioni

Revisão e Fechamento de Arquivos


Daniela de Oliveira Costa
Juliana Vieira de Lima

Revisão Ortográfica e Normatização


FabriCO

QUALIDADE DE SOFTWARE 59

Você também pode gostar