capa_curvas.
pdf 1 29/03/11 13:46
Universidade do Sul de Santa Catarina
Qualidade de Software
Disciplina na modalidade a distância
Palhoça
UnisulVirtual
2011
qualidade_de_software.indb 1 15/04/11 10:23
Créditos
Universidade do Sul de Santa Catarina – Campus UnisulVirtual – Educação Superior a Distância
Avenida dos Lagos, 41 – Cidade Universitária Pedra Branca | Palhoça – SC | 88137-900 | Fone/fax: (48) 3279-1242 e 3279-1271 | E-mail: cursovirtual@[Link] | Site: [Link]/unisulvirtual
Reitor Unisul Assistente e Auxiliar de Luana Borges da Silva Gerência de Desenho Jeferson Pandolfo
Ailton Nazareno Soares Coordenação Luana Tarsila Hellmann e Desenvolvimento de Karine Augusta Zanoni
Maria de Fátima Martins (Assistente) Luíza Koing Zumblick Materiais Didáticos Marcia Luz de Oliveira
Vice-Reitor Fabiana Lange Patricio Maria José Rossetti Márcia Loch (Gerente)
Tânia Regina Goularte Waltemann Marilene de Fátima Capeleto Assuntos Jurídicos
Sebastião Salésio Heerdt Ana Denise Goularte de Souza Bruno Lucion Roso
Patricia A. Pereira de Carvalho Desenho Educacional
Chefe de Gabinete da Paulo Lisboa Cordeiro Cristina Klipp de Oliveira (Coord. Grad./DAD) Marketing Estratégico
Coordenadores Graduação Silvana Souza da Cruz (Coord. Pós/Ext.)
Reitoria Adriano Sérgio da Cunha Paulo Mauricio Silveira Bubalo Rafael Bavaresco Bongiolo
Rosângela Mara Siegel Aline Cassol Daga
Willian Máximo Aloísio José Rodrigues Ana Cláudia Taú Portal e Comunicação
Ana Luísa Mülbert Simone Torres de Oliveira
Vanessa Pereira Santos Metzker Carmelita Schulze Catia Melissa Silveira Rodrigues
Pró-Reitora Acadêmica Ana Paula R. Pacheco Carolina Hoeller da Silva Boeing Andreia Drewes
Arthur Beck Neto Vanilda Liordina Heerdt
Miriam de Fátima Bora Rosa Eloísa Machado Seemann Luiz Felipe Buchmann Figueiredo
Bernardino José da Silva Gestão Documental Flavia Lumi Matuzawa Marcelo Barcelos
Pró-Reitor de Administração Catia Melissa S. Rodrigues Lamuniê Souza (Coord.) Gislaine Martins Rafael Pessi
Fabian Martins de Castro Charles Cesconetto Clair Maria Cardoso Isabel Zoldan da Veiga Rambo
Diva Marília Flemming Daniel Lucas de Medeiros Jaqueline de Souza Tartari Gerência de Produção
Pró-Reitor de Ensino Fabiano Ceretta Eduardo Rodrigues João Marcos de Souza Alves Arthur Emmanuel F. Silveira (Gerente)
José Carlos da Silva Junior Guilherme Henrique Koerich Francini Ferreira Dias
Mauri Luiz Heerdt Horácio Dutra Mello Josiane Leal
Leandro Romanó Bamberg
Letícia Laurindo de Bonfim Design Visual
Itamar Pedro Bevilaqua Marília Locks Fernandes
Campus Universitário de Jairo Afonso Henkes
Lygia Pereira Pedro Paulo Alves Teixeira (Coord.)
Tubarão Lis Airê Fogolari Adriana Ferreira dos Santos
Janaína Baeta Neves Gerência Administrativa e Luiz Henrique Milani Queriquelli
Diretora Jardel Mendes Vieira Financeira Alex Sandro Xavier
Milene Pacheco Kindermann Marina Melhado Gomes da Silva Alice Demaria Silva
Joel Irineu Lohn Renato André Luz (Gerente) Marina Cabeda Egger Moellwald
Jorge Alexandre N. Cardoso Ana Luise Wehrle Anne Cristyne Pereira
Campus Universitário da Melina de La Barrera Ayres Cristiano Neri Gonçalves Ribeiro
José Carlos N. Oliveira Anderson Zandré Prudêncio Michele Antunes Corrêa
Grande Florianópolis José Gabriel da Silva Daniel Contessa Lisboa Daiana Ferreira Cassanego
Nágila Hinckel Diogo Rafael da Silva
Diretor José Humberto D. Toledo Naiara Jeremias da Rocha Pâmella Rocha Flores da Silva
Hércules Nunes de Araújo Joseane Borges de Miranda Rafael Bourdot Back Edison Rodrigo Valim
Rafael Araújo Saldanha Frederico Trilha
Luciana Manfroi Thais Helena Bonetti Roberta de Fátima Martins
Campus Universitário Luiz G. Buchmann Figueiredo Valmir Venício Inácio Higor Ghisi Luciano
Roseli Aparecida Rocha Moterle Jordana Paula Schulka
UnisulVirtual Marciel Evangelista Catâneo Sabrina Bleicher
Maria Cristina S. Veit Gerência de Ensino, Pesquisa Marcelo Neri da Silva
Diretora Sabrina Paula Soares Scaranto Nelson Rosa
Maria da Graça Poyer e Extensão Viviane Bastos
Jucimara Roesler Mauro Faccioni Filho Oberdan Porto Leal Piantino
Moacir Heerdt (Gerente) Patrícia Fragnani de Morais
Moacir Fogaça Aracelli Araldi Acessibilidade
Nélio Herzmann Vanessa de Andrade Manoel (Coord.) Multimídia
Equipe UnisulVirtual Onei Tadeu Dutra Elaboração de Projeto e Letícia Regiane Da Silva Tobal
Reconhecimento de Curso Sérgio Giron (Coord.)
Patrícia Fontanella Mariella Gloria Rodrigues Dandara Lemos Reynaldo
Diretora Adjunta Rogério Santos da Costa Diane Dal Mago
Patrícia Alberton Vanderlei Brasil Avaliação da aprendizagem Cleber Magri
Rosa Beatriz M. Pinheiro Fernando Gustav Soares Lima
Tatiana Lee Marques Francielle Arruda Rampelotte Geovania Japiassu Martins (Coord.)
Secretaria Executiva e Cerimonial Gabriella Araújo Souza Esteves
Jackson Schuelter Wiggers (Coord.) Valnei Carlos Denardin Extensão Conferência (e-OLA)
Roberto Iunskovski Jaqueline Cardozo Polla Carla Fabiana Feltrin Raimundo (Coord.)
Marcelo Fraiberg Machado Maria Cristina Veit (Coord.) Thayanny Aparecida [Link] Conceição
Tenille Catarina Rose Clér Beche Bruno Augusto Zunino
Rodrigo Nunes Lunardelli Pesquisa
Assessoria de Assuntos Sergio Sell Daniela E. M. Will (Coord. PUIP, PUIC, PIBIC) Gerência de Logística Produção Industrial
Internacionais Mauro Faccioni Filho(Coord. Nuvem) Jeferson Cassiano A. da Costa (Gerente) Marcelo Bittencourt (Coord.)
Murilo Matos Mendonça Coordenadores Pós-Graduação
Aloisio Rodrigues Pós-Graduação Logísitca de Materiais Gerência Serviço de Atenção
Assessoria de Relação com Poder Bernardino José da Silva Anelise Leal Vieira Cubas (Coord.) Carlos Eduardo D. da Silva (Coord.)
Público e Forças Armadas Abraao do Nascimento Germano Integral ao Acadêmico
Carmen Maria Cipriani Pandini Maria Isabel Aragon (Gerente)
Adenir Siqueira Viana Daniela Ernani Monteiro Will Biblioteca Bruna Maciel
Walter Félix Cardoso Junior Salete Cecília e Souza (Coord.) Fernando Sardão da Silva André Luiz Portes
Giovani de Paula Carolina Dias Damasceno
Karla Leonora Nunes Paula Sanhudo da Silva Fylippy Margino dos Santos
Assessoria DAD - Disciplinas a Renan Felipe Cascaes Cleide Inácio Goulart Seeman
Distância Leticia Cristina Barbosa Guilherme Lentz
Marlon Eliseu Pereira Francielle Fernandes
Patrícia da Silva Meneghel (Coord.) Luiz Otávio Botelho Lento Holdrin Milet Brandão
Carlos Alberto Areias Rogério Santos da Costa Gestão Docente e Discente Pablo Varela da Silveira
Enzo de Oliveira Moreira (Coord.) Rubens Amorim Jenniffer Camargo
Cláudia Berh V. da Silva Roberto Iunskovski Juliana Cardoso da Silva
Conceição Aparecida Kindermann Thiago Coelho Soares Yslann David Melo Cordeiro
Capacitação e Assessoria ao Jonatas Collaço de Souza
Luiz Fernando Meneghel Vera Regina N. Schuhmacher Docente Avaliações Presenciais Juliana Elen Tizian
Renata Souza de A. Subtil Simone Zigunovas (Capacitação) Graciele M. Lindenmayr (Coord.) Kamilla Rosa
Gerência Administração Alessandra de Oliveira (Assessoria)
Assessoria de Inovação e Acadêmica Ana Paula de Andrade Maurício dos Santos Augusto
Qualidade de EAD Adriana Silveira Angelica Cristina Gollo Maycon de Sousa Candido
Angelita Marçal Flores (Gerente) Alexandre Wagner da Rocha
Denia Falcão de Bittencourt (Coord) Fernanda Farias Cristilaine Medeiros Monique Napoli Ribeiro
Andrea Ouriques Balbinot Elaine Cristiane Surian Daiana Cristina Bortolotti Nidia de Jesus Moraes
Carmen Maria Cipriani Pandini Secretaria de Ensino a Distância Juliana Cardoso Esmeraldino Delano Pinheiro Gomes Orivaldo Carli da Silva Junior
Iris de Sousa Barros Samara Josten Flores (Secretária de Ensino) Maria Lina Moratelli Prado Edson Martins Rosa Junior Priscilla Geovana Pagani
Giane dos Passos (Secretária Acadêmica) Fabiana Pereira Fernando Steimbach Sabrina Mari Kawano Gonçalves
Assessoria de Tecnologia Adenir Soares Júnior Fernando Oliveira Santos Scheila Cristina Martins
Osmar de Oliveira Braz Júnior (Coord.) Tutoria e Suporte
Alessandro Alves da Silva Claudia Noemi Nascimento (Líder) Lisdeise Nunes Felipe Taize Muller
Felipe Jacson de Freitas Andréa Luci Mandira Marcelo Ramos Tatiane Crestani Trentin
Jefferson Amorin Oliveira Anderson da Silveira (Líder)
Cristina Mara Schauffert Ednéia Araujo Alberto (Líder) Marcio Ventura Vanessa Trindade
Phelipe Luiz Winter da Silva Djeime Sammer Bortolotti Osni Jose Seidler Junior
Priscila da Silva Maria Eugênia F. Celeghin (Líder)
Douglas Silveira Andreza Talles Cascais Thais Bortolotti
Rodrigo Battistotti Pimpão Evilym Melo Livramento
Tamara Bruna Ferreira da Silva Daniela Cassol Peres
Fabiano Silva Michels Débora Cristina Silveira Gerência de Marketing
Fabricio Botelho Espíndola Francine Cardoso da Silva Fabiano Ceretta (Gerente)
Coordenação Cursos Felipe Wronski Henrique Joice de Castro Peres Relacionamento com o Mercado
Coordenadores de UNA Gisele Terezinha Cardoso Ferreira Karla F. Wisniewski Desengrini
Indyanara Ramos Eliza Bianchini Dallanhol Locks
Diva Marília Flemming Maria Aparecida Teixeira
Marciel Evangelista Catâneo Janaina Conceição Mayara de Oliveira Bastos Relacionamento com Polos
Roberto Iunskovski Jorge Luiz Vilhar Malaquias Patrícia de Souza Amorim Presenciais
Juliana Broering Martins Schenon Souza Preto Alex Fabiano Wehrle (Coord.)
qualidade_de_software.indb 2 15/04/11 10:23
Vera Rejane Niedersberg Schuhmacher
Qualidade de Software
Livro didático
Design instrucional
Dênia Falcão de Bittencourt
Carolina Hoeller da Silva Boeing
Viviane Bastos
5ª edição
Palhoça
UnisulVirtual
2011
qualidade_de_software.indb 3 15/04/11 10:23
Copyright © UnisulVirtual 2011
Nenhuma parte desta publicação pode ser reproduzida por qualquer meio sem a prévia autorização desta instituição.
Edição – Livro Didático
Professora Conteudista
Vera Rejane Niedersberg Schuhmacher
Design Instrucional
Dênia Falcão de Bittencourt
Carolina Hoeller da Silva Boeing
Viviane Bastos
Projeto Gráfico e Capa
Equipe UnisulVirtual
Diagramação
Vilson Martins FIlho
Frederico Trilha (5a ed.)
Revisão Ortográfica
Jaqueline Tartari
005.3
S41 Schuhmacher, Vera Rejane Niedersberg
Qualidade de software : livro didático / Vera Rejane Niedersberg
Schuhmacher ; design instrucional Viviane Bastos. – 5. ed., rev. e atual. –
Palhoça : UnisulVirtual, 2011.
230 p. : il. ; 28 cm.
Inclui bibliografia.
1. Software – Controle de qualidade. 2. Programas de computador. I.
Bastos, Viviane. II. Título.
Ficha catalográfica elaborada pela Biblioteca Universitária da Unisul
qualidade_de_software.indb 4 15/04/11 10:23
Sumário
Apresentação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Palavras da professora. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Plano de estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
UNIDADE 1 - Qualidade: conceito e aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . 17
UNIDADE 2 - A qualidade do processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
UNIDADE 3 - Qualidade do produto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
UNIDADE 4 - Métricas de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
UNIDADE 5 - Qualidade da interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
UNIDADE 6 - Os mecanismos da percepção humana. . . . . . . . . . . . . . . . . . . 137
UNIDADE 7 - O processo de design centrado no usuário. . . . . . . . . . . . . . . 167
UNIDADE 8 - Avaliação da usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Para concluir o estudo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Referências. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Sobre a professora conteudista. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Respostas e comentários das atividades de autoavaliação. . . . . . . . . . . . . . 221
Biblioteca Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Anexos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
qualidade_de_software.indb 5 15/04/11 10:23
qualidade_de_software.indb 6 15/04/11 10:23
Apresentação
Este livro didático corresponde à disciplina Qualidade de
Software.
O material foi elaborado visando a uma aprendizagem autônoma
e aborda conteúdos especialmente selecionados e relacionados
à sua área de formação. Ao adotar uma linguagem didática
e dialógica, objetivamos facilitar seu estudo a distância,
proporcionando condições favoráveis às múltiplas interações e a
um aprendizado contextualizado e eficaz.
Lembre-se que sua caminhada, nesta disciplina, será
acompanhada e monitorada constantemente pelo Sistema
Tutorial da UnisulVirtual, por isso a “distância” fica
caracterizada somente na modalidade de ensino que você optou
para sua formação, pois na relação de aprendizagem professores
e instituição estarão sempre conectados com você.
Então, sempre que sentir necessidade entre em contato; você tem
à disposição diversas ferramentas e canais de acesso tais como:
telefone, e-mail e o Espaço Unisul Virtual de Aprendizagem,
que é o canal mais recomendado, pois tudo o que for enviado e
recebido fica registrado para seu maior controle e comodidade.
Nossa equipe técnica e pedagógica terá o maior prazer em lhe
atender, pois sua aprendizagem é o nosso principal objetivo.
Bom estudo e sucesso!
Equipe UnisulVirtual.
qualidade_de_software.indb 7 15/04/11 10:23
qualidade_de_software.indb 8 15/04/11 10:23
Palavras da professora
Já não é novidade o uso do computador como ferramenta de
trabalho, como meio de comunicação, como uma ferramenta
utilizada para vendas de produtos dos mais variados tipos,
inclusive treinamento e educação. São muitas as áreas de atuação
e o uso cada vez mais intenso no cotidiano do homem torna
preemente o pensamento sobre o desenvolvimento de qualidade.
Nos dias atuais, o termo qualidade está presente no seu
cotidiano, em comerciais de TV, na propaganda de prefeituras e
do governo, no trabalho, em hospitais e na divulgação dos mais
diversos produtos, do iogurte ao sabão em pó que você compra.
Isso acontece porque as organizações que buscam o sucesso
empresarial devem estar preparadas para aceitar grandes
desafios técnicos e aproveitar as oportunidades de negócios
através da implantação de um processo contínuo de
transformação e melhoria da qualidade de seus produtos. A
melhoria da qualidade do produto de software passa pelo uso
de normas técnicas e a adaptação de modelos de processos.
A qualidade da interface é um fator determinante sendo
necessário estabelecer um bom nível de conversação entre
usuário e sistema computacional. Em uma boa interface o
usuário deve aprender a tarefa e não a tecnologia, o sistema
ideal deve esconder a tecnologia, ser transparente ao usuário e
confortável na utilização.
Estudos estimam que 80% das aplicações são formatadas a
partir de entradas fornecidas pelo usuário ou saídas destinadas
ao usuário. Assim, 80% das aplicações destinam-se à interface
homem-máquina. Quando você projeta uma interface de
forma adequada, entre outros benefícios, poupa o usuário do
uso excessivo da carga mental para a realização de suas tarefas,
aumenta sua concentração e motivação para o trabalho.
qualidade_de_software.indb 9 15/04/11 10:23
Universidade do Sul de Santa Catarina
Nesta disciplina, você vai estudar a importância da qualidade
do processo e produção de software e a importância do uso de
medidas para o desenvolvimento de qualidade. Durante seu
estudo, vai conhecer aspectos relevantes à área de Interface
Humano-Computador por meio de conceitos, técnicas e métodos
que vão auxiliar seu dia a dia no projeto de interfaces, tornando
seus aplicativos mais acessíveis ao usuário final.
Bons estudos!
Vera Rejane Niedersberg Schuhmacher
10
qualidade_de_software.indb 10 15/04/11 10:23
Plano de estudo
O plano de estudo visa a orientar você no desenvolvimento da
disciplina. Ele possui elementos que o ajudarão a conhecer o
contexto da disciplina e a organizar o seu tempo de estudo.
O processo de ensino e aprendizagem na UnisulVirtual leva
em conta instrumentos que se articulam e se complementam,
portanto, a construção de competências se dá sobre a
articulação de metodologias e por meio das diversas formas de
ação/mediação.
São elementos desse processo:
o livro didático;
o Espaço UnisulVirtual de Aprendizagem (EVA);
as atividades de avaliação (a distância, presenciais e de
autoavaliação);
o Sistema Tutorial.
Ementa
Definição da qualidade. Conceitos, políticas e filosofia da
qualidade. Componentes básicos da função de qualidade.
Ciclos dos produtos. Programas da qualidade. Qualidade de
processo e produto. As principais referências acadêmicas e
normativas do Brasil e do mundo. Qualidade de interfaces.
Usabilidade: definição e métodos para avaliação.
qualidade_de_software.indb 11 15/04/11 10:23
Universidade do Sul de Santa Catarina
Objetivos
Geral:
Identificar a importância da qualidade e dos fatores humanos no
processo de desenvolvimento de software.
Específicos:
Reconhecer a importância da qualidade no processo de
desenvolvimento de software.
Reconhecer diferentes normas e observar as necessidades
da empresa, além de identificar a que mais se adapta às
necessidades da empresa desenvolvedora.
Incentivar o estudo mais aprofundado acerca do tema
qualidade de software.
Apresentar os conceitos básicos que envolvem a interface
humano-computador.
Estudar os conceitos relacionados à memorização que
permitam integrar ao projeto aspectos que a promovam.
Identificar a importância do uso de cores e sua melhor
aplicação nos produtos.
Proporcionar o estudo sobre a aplicação e as
características de diferentes técnicas de avaliação
baseadas em conceitos de IHC.
Apresentar o processo de design centrado no usuário e
sua repercussão no projeto da interface.
Carga Horária
A carga horária total da disciplina é 60 horas-aula.
12
qualidade_de_software.indb 12 15/04/11 10:23
Qualidade de Software
Conteúdo programático/objetivos
Veja, a seguir, as unidades que compõem o livro didático desta
disciplina e os seus respectivos objetivos. Estes se referem aos
resultados que você deverá alcançar ao final de uma etapa de
estudo. Os objetivos de cada unidade definem o conjunto de
conhecimentos que você deverá possuir para o desenvolvimento
de habilidades e competências necessárias à sua formação.
Unidades de estudo: 8
Unidade 1 - Qualidade: conceito e aplicação
Nesta unidade, serão abordados os conceitos básicos de
qualidade, sua importância no mercado atual e possíveis
utilizações a partir dos mecanismos certificadores existentes.
Também serão apresentados os passos necessários para a
condução de um programa de qualidade, assim como a proposta
de atividades de garantia de qualidade.
Unidade 2 - Qualidade do processo
A qualidade do processo de software envolve conceitos
relacionados a todas as atividades presentes em seu
desenvolvimento, e é sobre ela que esta unidade vai tratar.
Assim, o estudo desta unidade possibilita conhecer o conceito
de qualidade no processo de desenvolvimento de software e as
normas e os padrões reconhecidos internacionalmente e que
promovem qualidade ao mesmo.
Unidade 3 - Qualidade do produto
Apresenta as normas utilizadas na avaliação da qualidade do
produto e os seus objetivos e características.
13
qualidade_de_software.indb 13 15/04/11 10:23
Universidade do Sul de Santa Catarina
Unidade 4 - Métricas de software
Esta unidade aborda a importância do uso de métricas no
processo de desenvolvimento de software e seu impacto no
processo de qualidade. Aqui também serão abordadas as técnicas
diretas, como o LOC, e o Ponto por Função, assim como o novo
modelo de mensuração existente no mercado o PSM – Practical
Software Measurement.
Unidade 5 – Qualidade da interface
Esta unidade possibilita compreender que a qualidade do
software passa por um fator fundamental e a facilidade de uso
do software pelo usuário. Aqui será abordado, também, sobre
as normas de qualidade, como a ISO 9241, que procuram
estabelecer critérios para que a qualidade da interface seja
oferecida ao seu usuário final.
Unidade 6 – Os mecanismos da percepção humana
Nesta unidade, será abordada a importância dos mecanismos de
percepção humana como a visão, a audição, o tato, a memória no
mecanismo de interpretação das interfaces oferecidas ao usuário final.
Unidade 7 – O processo de design centrado no usuário
Esta unidade apresenta o universo do design centrado no usuário,
apontando o usuário final como peça fundamental no processo
de desenvolvimento do software. O ciclo da engenharia de
usabilidade, as características do design centrado no usuário e o
design participativo serão apresentados como métodos para um
bom desenvolvimento de interface.
Unidade 8 – Avaliação da usabilidade
Esta unidade apresenta os métodos para a avaliação da
usabilidade de um produto. O uso de métodos como checklist,
avaliações heurísticas, questionários entre outros são abordados
mostrando sua potencialidade no processo avaliativo.
14
qualidade_de_software.indb 14 15/04/11 10:23
Qualidade de Software
Agenda de atividades/ Cronograma
Verifique com atenção o EVA, organize-se para acessar
periodicamente a sala da disciplina. O sucesso nos seus
estudos depende da priorização do tempo para a leitura, da
realização de análises e sínteses do conteúdo e da interação
com os seus colegas e professor.
Não perca os prazos das atividades. Registre no espaço
a seguir as datas com base no cronograma da disciplina
disponibilizado no EVA.
Use o quadro para agendar e programar as atividades relativas
ao desenvolvimento da disciplina.
Atividades obrigatórias
Demais atividades (registro pessoal)
15
qualidade_de_software.indb 15 15/04/11 10:23
qualidade_de_software.indb 16 15/04/11 10:23
1
unidade 1
Qualidade: conceito e
aplicação
Objetivos de aprendizagem
Interagir com conceitos fundamentais
relacionados à qualidade.
Perceber a necessidade de qualidade no processo
de trabalho de empresas de desenvolvimento de
software.
Entender o conceito de SQA – Software Quality
Assurance.
Seções de estudo
Seção 1 Conceito de qualidade
Seção 2 Passos em direção à política de qualidade
Seção 3 Atividades da garantia de qualidade.
Seção 4 Normas e Padrões
qualidade_de_software.indb 17 15/04/11 10:23
Universidade do Sul de Santa Catarina
Para início de estudo
Falar sobre qualidade parece banal, entretanto, é um assunto
que está em nosso dia a dia, é moderno e atual. É certo que você
ao ser questionado sobre qualidade quase que imediatamente
consegue formar uma opinião sobre o assunto. Esta opinião
baseia-se, na maioria das vezes, em experiências pessoais
relacionadas ao nosso cotidiano.
Mas o que é qualidade em uma empresa? Quais suas implicações
em uma empresa que desenvolve software? Como implantar um
processo de controle de qualidade em uma organização?
Difíceis de responder, estas questões nos levam imediatamente a
pensar que qualidade, com certeza, é sinônimo de perfeição. Mas
qualidade não é sinônimo de perfeição. Qualidade é algo relativo,
dinâmico por natureza e naturalmente evolutivo.
A qualidade possui uma característica única: o
tratamento de qualidade em uma empresa de
software depende da especificidade dos objetivos
definidos pela empresa e das atividades delineadas
para atingir estes objetivos.
A crescente competitividade do mercado de software impulsiona
as empresas a melhorar a qualidade de seus produtos, processos e
mecanismos. Esta evolução é muitas vezes iniciada sem que para
a organização esteja claro o real significado desta iniciativa e suas
implicações a curto e longo prazo.
Qualidade pode ser o diferencial de uma empresa, pode alavancar
seu sucesso, mas sua inexistência ou mau planejamento pode
determinar seu fracasso.
Então, preparado para o estudo? Siga em frente e inicie o estudo
sobre este assunto tão importante no mercado atual!
18
qualidade_de_software.indb 18 15/04/11 10:23
Qualidade de Software
Seção 1 – Conceito de qualidade
Qualidade é um conceito complexo, porque possui significados
diversos para diferentes pessoas, e se apresenta de forma
altamente dependente, conforme o contexto.
Portanto, não é nada fácil estabelecer a existência de medidas
simples de qualidade aceitáveis para todos.
Para estimar ou melhorar a qualidade de software
numa organização, segundo Kitchenham et al. (1996),
é preciso definir as características de qualidade que se
está interessado e, então, decidir como serão medidas.
Diferentes conceitos expressam a qualidade de um produto de
software, tendo como base visões diferenciadas conforme a função
do indivíduo ou sua posição no processo de desenvolvimento.
Você pode dizer que:
Qualidade é estar em conformidade com os requisitos
dos clientes. Neste caso, qualidade se exprime a partir da
satisfação de todas as necessidades expressas pelo cliente
durante a análise de requisitos.
Qualidade é antecipar e satisfazer os desejos dos clientes.
Neste caso, observa-se que a partir de um produto
existente o desenvolvedor procura a evolução do
produto, acrescentando novas funcionalidades ou
apropriando o produto com novas tecnologias, muitas
vezes antes do cliente solicitar evolução dele.
Um exemplo disto é o caso de lançamentos de
novos modelos de celulares. Você se lembra dos
primeiros celulares que realmente só serviam
para realizar uma ligação telefônica? Agora, com a
implementação de funcionalidades, como escutar
músicas, acesso à internet, interatividade, recursos
de gravação de áudio, câmera, WIFI etc., a indústria
está antecipando os desejos do cliente. Figura 1.1 - Smartphone Nokia.
Fonte: Disponível em <http://
[Link]/wp-content/
uploads/2009/08/[Link]>.
Unidade 1 19
qualidade_de_software.indb 19 15/04/11 10:23
Universidade do Sul de Santa Catarina
E finalmente, você pode expressar o termo qualidade
simplesmente dizendo que é escrever tudo o que se deve
fazer e fazer tudo o que foi escrito. Neste caso, o reflexo
do desenvolvimento precisa assegurar que tudo o que foi
documentado será realizado pelo desenvolvedor.
1.1. E a qualidade de software?
Pressman (1995 p.125) define a qualidade de software como a
Concordância com os Requisitos Funcionais e de
Desempenho claramente colocados, Padrões de
Desenvolvimento explicitamente documentados e
características implícitas que são esperadas de todo
software profissionalmente desenvolvido.
Onde:
Requisitos de software formam a base a partir da qual
a qualidade é avaliada. Representam as necessidades na
forma de funcionalidades solicitadas pelo cliente. Falta
de concordância com os requisitos é falta de qualidade.
Padrões especificados definem um conjunto de critérios
de desenvolvimento que orientam a maneira como o
software é construído. Se o critério não for seguido,
certamente haverá falta de qualidade.
Requisitos implícitos, que na maioria das vezes não são
mencionados, também são conhecidos como requisitos
não funcionais. (Ex: a possibilidade de portabilidade
para diferentes sistemas operacionais, a necessidade de
segurança em um site de e-commerce). Se o software
atende aos requisitos explícitos, mas falha nos requisitos
implícitos, a qualidade é suspeita.
Em 1990, Campos descreveu qualidade de software como uma
tríade construída sobre os seguintes fatores:
A qualidade intrínseca do produto ou serviço que pode
ser atestada por sua conformidade com as normas.
O custo que corresponde ao preço pelo qual o usuário se
dispõe a pagar.
20
qualidade_de_software.indb 20 15/04/11 10:23
Qualidade de Software
O atendimento que pode ser entendido como a
satisfação do usuário quanto a tempo, espaço e
quantidade.
Você percebeu que o conceito de qualidade difere de autor para
autor, mas todos os conceitos apontam para uma mesma direção:
a satisfação das necessidades do usuário. Para se alcançar esta
satisfação, é necessário que a empresa desenvolvedora passe a
considerar qualidade como um trabalho contínuo, conquistado
diariamente na busca pela melhoria dos produtos e/ou do
processo de desenvolvimento.
1.2. Por que qualidade ?
Quando se aborda o problema da qualidade, você precisa ter claro
o que se entende por qualidade de software. Mais claro ainda,
precisa estar a razão pela qual você deve se preocupar com a
qualidade de software.
Acompanhe a seguir alguns fatores interessantes:
O uso de um software com bugs não é nada agradável,
além de trazer prejuízos para o cliente. Imagine uma
página de e-commerce com bug no formulário de compras,
muitos clientes deixarão de comprar até que o problema
seja resolvido. Um bug pode fazer um banco como o
Banco do Brasil, por exemplo, perder milhões e perder a
confiança dos correntistas.
O aumento de qualidade sempre é acompanhado por
aumento de produtividade e redução de custos. Como?
Você vai ter menos retrabalho e menor índice de refugo.
Na terceira via, você terá um aumento na satisfação do
cliente, o que pode refletir nas vendas do produto.
Qualidade hoje é sinônimo de competitividade. Em
um mercado tão acirrado, o cliente hoje exige do
desenvolvedor a comprovação de que seu produto
realmente apresenta quesitos de qualidade. Isto se dá, na
maioria das vezes, pelo uso de certificações internacionais.
Leia a seguir uma reportagem que apresenta a importância da
qualidade de software e o mercado brasileiro.
Unidade 1 21
qualidade_de_software.indb 21 15/04/11 10:23
Universidade do Sul de Santa Catarina
Exportação cresce, mas desafios continuam
O Brasil encerrou o ano de 2010 com US$ 4 bilhões em exportações
de software e serviços de tecnologia da informação (TI) - US$ 500
milhões acima da meta estimada pelo setor - e o equivalente a
um crescimento de 33,3% em relação a 2009, quando o mercado
brasileiro exportou um volume de US$ 3 bilhões.
Os números, apurados pela Associação Brasileira das Empresas
de Tecnologia da Informação (Brasscom), mostram que a
atividade já não é o patinho feio de outrora e supera segmentos
econômicos tradicionais. As exportações das indústrias têxteis
e de calçados, por exemplo, atingiram US$ 1,8 bilhão em 2009
e US$ 2 bilhões em 2010, segundo dados do Ministério do
Desenvolvimento, Indústria e Comércio Exterior. O órgão não
tem dados específicos sobre as exportações da indústria de
software e serviços de TI.
Apesar disso, a soma de US$ 4 bilhões ainda é considerada baixa
para um mercado que movimentou globalmente cerca de US$
101 bilhões em 2010, segundo a consultoria IDC, e que tem como
seu principal expoente a Índia. [...]
A questão que permanece para as empresas brasileiras é o que
fazer para aumentar sua participação no bolo mundial - uma
dúvida que o setor tenta responder, com sucesso apenas relativo,
há muitos anos.
Para Djalma Petit, diretor de mercado da Associação para
Promoção da Excelência do Software Brasileiro (SOFTEX), nada
indica que a Índia perderá a liderança nos próximos anos. “A
disputa é para ver quem vai abocanhar uma parcela significativa
do restante desse mercado”, afirma o executivo, que cita China e
Rússia entre os principais concorrentes do Brasil.
As entidades do setor no país traçaram como meta alcançar US$
20 bilhões em exportações em 2020. Para 2011, a expectativa
é exportar US$ 5 bilhões. Atingir esse objetivo, no entanto, vai
exigir superar barreiras comuns a outros segmentos, como a
valorização do real, além de questões específicas da área de TI.
“O grande gargalo ainda é a mão de obra, seja pelo custo ou
pela falta de profissionais”, diz Benjamin Quadros, presidente da
BRQ IT Services. No ano passado, a empresa obteve no exterior
10% de seu faturamento, de R$ 240 milhões, com a prestação de
serviços a 30 clientes internacionais.
Um estudo recente da Softex, mostra que em 2010 o déficit de
mão de obra no setor de TI foi de 71 mil profissionais. Se nada
for feito, obter um profissional especializado no futuro será uma
22
qualidade_de_software.indb 22 15/04/11 10:23
Qualidade de Software
tarefa árdua. Para 2020, a projeção é de que 300 mil vagas não
serão preenchidas por falta de mão de obra. [...]
A despeito dessas mudanças, porém, é consenso entre os
executivos do setor que as companhias brasileiras precisam
definir uma estratégia mais eficiente de concorrência no exterior,
que não esteja baseada meramente no preço - um quesito no
qual a Índia é imbatível.
O ponto que deveria ser mais explorado é a qualidade dos
sistemas criados no país, uma qualidade que tem levado algumas
companhias nacionais a participações significativas no mercado
interno, mesmo concorrendo com grandes multinacionais.
Claudio Bessa, diretor de operações internacionais e novos
negócios da Totvs - empresa que obtém 5% de suas receitas com
exportações -, diz que o fato de o mercado interno ser muito
sofisticado trouxe vantagens para o país. “Até por conta de
adversidades fiscais, legais e econômicas, temos experiência para
desenvolver sistemas que outros países não têm”.
Entre as áreas e segmentos de atividade nos quais as companhias
brasileiras conseguiram conquistar espaço, estão o setor
financeiro, telecomunicações, varejo e governo eletrônico.
[...]
Fonte: DRSKA, Moacir. Revista Valor Econômico. Publicado em 21/01/2011.
Disponível em: <[Link]
aspx?qs_codNoticia=278>. Acesso em: 02 fev. 2011.
Imagine sua empresa exportando software para a
Inglaterra. Sua empresa não é conhecida, mas precisa
ser apresentada ao mercado internacional. Uma boa
carta de referência pode ser uma certificação de
qualidade reconhecida internacionalmente, como
uma norma ISO, por exemplo.
Quando você inicia um programa de qualidade em uma empresa,
deve ter em mente a necessidade de estabelecer aspectos técnicos
(desenvolvimento de padrões e técnicas que possibilitem a
implementação de todas as atividades) e culturais (todos na empresa
devem aceitar a prática da qualidade, todos os funcionários devem
estar conscientes de suas responsabilidades dentro do processo).
Unidade 1 23
qualidade_de_software.indb 23 15/04/11 10:23
Universidade do Sul de Santa Catarina
A decisão de desenvolver a empresa neste sentido
passa por programas de educação e treinamento
sobre qualidade para todos os membros da equipe.
Quando você der partida em um processo de qualidade, tenha em
mente que a qualidade ocorre pelo elo de pequenas ações, onde cada
uma ocorrerá é fundamental para se atingir o objetivo maior. A
qualidade está diretamente ligada ao trabalho de cada funcionário,
do analista de requisitos ao responsável pelo suporte ao cliente.
- Agora que você já estudou sobre a importância da qualidade
de software, estude, na próxima seção, sobre os passos a serem
seguidos na direção da qualidade.
Seção 2 – Passos em direção à política de qualidade
Quando a empresa decide por uma política de qualidade, dois
escopos são bem definidos:
Aprimorar o processo de desenvolvimento e, em
consequência, melhorar a qualidade do produto resultante.
Avaliar a qualidade do produto visando emitir
documento oficial sobre a qualidade de um software e
sua conformidade em relação a uma norma ou padrão.
Definido o escopo que se pretende atingir, existem dois passos
importantes para dar partida neste processo:
Preparação de uma política de qualidade – a gerência da
empresa deve formular a política de qualidade desejada,
validando-a para que posteriormente seja comunicada e
implantada em todos os segmentos da empresa.
Estabelecer uma equipe de suporte em qualidade –
ao implementar uma política de qualidade, torna-se
necessário estabelecer um quadro de funcionários
responsáveis pelo aumento da qualidade. Esta equipe
será responsável por estabelecer e manter um programa
de qualidade em toda a organização, incluindo tarefas
24
qualidade_de_software.indb 24 15/04/11 10:23
Qualidade de Software
como planejamento, monitoramento e avaliação
dos procedimentos adotados. A gerência deve estar
representada em um comitê de qualidade diretamente
ligado à equipe de execução do projeto de qualidade.
Em uma empresa de software, você tem a possibilidade de avaliar a
qualidade do processo de software e a qualidade do seu produto.
Qual a diferença entre qualidade do processo de
software e a qualidade do produto de software?
O processo de software é formado pelo conjunto de
atividades, métodos, práticas e tecnologias utilizadas para
desenvolver e manter software e produtos relacionados.
Quando é avaliado o processo de software, avaliam-se
todas as etapas do processo de produção do produto, da
análise do problema à manutenção do mesmo no cliente. Se
a empresa possui um processo de desenvolvimento imaturo,
seu projeto não é rigorosamente cumprido, o controle da
qualidade e as funcionalidades do produto podem ficar
comprometidos e os custos de manutenção podem ser
elevados. Todo o projeto pode ficar comprometido.
Quando a qualidade do produto de software é
avaliada você estará avaliando o produto desenvolvido
pela empresa, não se preocupando basicamente com o
processo de desenvolvimento do mesmo, mas sim com a
qualidade externa que deve estar explicitamente definida
na Especificação de Requisitos do Projeto e pela qualidade
interna formada por atributos que são geralmente
acrescentados pela empresa.
Como buscar a qualidade?
Assim como é difícil chegar a um consenso sobre o conceito de
qualidade, também são grandes as diferenças entre técnicas e
métodos para obtê-la.
Unidade 1 25
qualidade_de_software.indb 25 15/04/11 10:23
Universidade do Sul de Santa Catarina
Os softwares podem ser divididos em dois grandes grupos:
Pacotes ou suítes: compõem a maioria dos programas
aplicativos, programas de aquisição e uso praticamente
imediato que atendem ao grande público em geral.
São programas planejados para um usuário comum,
padrão, logo podem não corresponder a exigências mais
específicas.
Softwares personalizados: são planejados e escritos
geralmente por programadores e consultores para atender
a uma determinada tarefa específica. Na maioria das
vezes, o número de usuários que irá utilizá-lo é restrito.
Quando você fala de qualidade de software para estes dois
grupos, deve lembrar que a estratégia proposta para se alcançar
esta meta passa obrigatoriamente por diferentes fatores.
Um produto de software personalizado tem um público-alvo
conhecido, que normalmente possui um vínculo com a empresa
desenvolvedora. No caso dos pacotes, este público é desconhecido,
sendo possível estudá-lo apenas por meio de amostras e o vínculo
com os desenvolvedores na maioria das vezes não existe.
Seção 3 – Atividades da garantia de qualidade
As atividades de garantia de qualidade - SQA – Software Quality
Assurance apontam para atividades que devem apoiar o processo
de desenvolvimento de qualidade. Pressman (1995) descreve as
7 atividades necessárias para que o processo ocorra de forma
eficiente:
I - Aplicação de métodos e ferramentas técnicas: apoia
o projeto, especificações e desenvolvimento de maior
qualidade.
26
qualidade_de_software.indb 26 15/04/11 10:23
Qualidade de Software
II - Realização de revisões técnicas: deve avaliar a
qualidade do artefato de software gerado pela etapa do
desenvolvimento (especificação, modelagem, casos de
teste etc.).
III - Atividades de testes: devem complementar as
revisões e outras técnicas, ajudando na detecção de erros;
IV - Aplicação de padrões: na documentação, no
projeto, no estilo de codificação, na aplicação de testes,
no processo etc.
A documentação torna o processo de software visível,
por isto deve ser consistente e legível. Os padrões podem
ser determinados por normas internacionais ou pela
empresa, caso possua um padrão interno para o processo.
V - Controle de alterações: mudanças no software
tendem a produzir novos erros ou mesmo problemas em
outros módulos do sistema. O controle de mudanças
durante o desenvolvimento e a manutenção é essencial
para garantir a qualidade, pois permite rastrearmos o
problema e também tornar a alteração conhecida por
toda a equipe de desenvolvimento.
VI - Medição: é necessário estabelecer métricas para
rastrear a qualidade do software. Medindo, poderemos
saber se as ações de melhoria deram resultado e assim
mostrar à administração que os recursos destinados às
melhorias foram bem empregados.
Medições também são usadas para indicar a qualidade
do produto e a produtividade das pessoas para a avaliar
benefícios derivados de novos métodos e ferramentas e para
justificar pedidos de novas ferramentas ou treinamento.
Um exemplo de métrica de produto são as técnicas que
medem o comprimento de um módulo em linhas de código
e o número de módulos chamados por outro módulo.
VII - Manutenção de registros: manter histórico com
resultados de revisões, auditorias, controle de alterações e
outras atividades de garantia de qualidade, que devem ser
levados ao conhecimento dos desenvolvedores.
Unidade 1 27
qualidade_de_software.indb 27 15/04/11 10:23
Universidade do Sul de Santa Catarina
O item 2, sobre revisões técnicas, é um dos pontos determinantes
do SQA.
As revisões devem ser aplicadas em vários pontos durante o
desenvolvimento do software. Para realizá-las, você vai utilizar
a diversidade de um grupo de pessoas para apontar melhorias
necessárias ao produto, confirmar as partes de um produto em
que uma melhoria não é desejada ou necessária, realizar um
trabalho técnico com uma qualidade mais uniforme afim de
torná-lo mais administrável.
As revisões podem ser feitas de diferentes maneiras:
Discussão de um problema técnico na hora do café
(quantas vezes você ficou horas e horas tentando resolver
um problema e simplesmente não conseguiu?). Durante
um momento informal (tomando um cafezinho com
seu colega), você pode chegar a esta solução, talvez por
sugestão do seu interlocutor ou porque você relaxou e
conseguiu enxergar a famosa “luz no final do túnel”.
Apresentação do projeto de software para uma audiência
de clientes, administradores e pessoal técnico. Imagine
que você vá apresentar a primeira solução de design da
página, uma apresentação perante o cliente vai validar
suas ideias com as exigências do cliente.
Revisões Técnicas Formais inclui avaliações técnicas de
software realizadas em pequenos grupos (walkthrough).
Segundo Pressmann (1995), em uma revisão técnica formal tem-
se objetivos claros:
descobrir erros de função, lógica ou implementação em
qualquer representação do software;
verificar se o software que se encontra em revisão atende
a seus requisitos;
garantir que o software tenha sido representado de
acordo com padrões predefinidos;
obter um software que seja desenvolvido uniformemente;
tornar os projetos mais administráveis.
28
qualidade_de_software.indb 28 15/04/11 10:23
Qualidade de Software
Além destes objetivos, você vai ter o ganho de um espaço de
treinamento que possibilita, tanto ao bolsista quanto ao gerente
de projeto, a observação e interação sobre diferentes abordagens,
a análise, projeto e implementação de software.
Outro ponto forte da revisão formal é a promoção do backup e
continuidade. Várias pessoas se familiarizam com partes do
software que de outro modo poderiam não conhecer.
A revisão técnica formal é conduzida em uma
reunião e será bem-sucedida se for planejada,
controlada e cuidada.
Independentemente do formato de revisão técnica, toda reunião
de revisão deve:
Envolver de 3 a 5 pessoas na revisão (se o número de
pessoas for maior, será difícil manter uma linha coerente
de discussão).
Preparar previamente a reunião (essa preparação não
deve exigir mais de 2 horas de trabalho de cada pessoa).
Durar menos de 2 horas (um tempo maior torna a
reunião improdutiva pelo cansaço dos temas e mesmo
pela dificuldade de se manter o foco da reunião).
A revisão técnica formal focaliza uma parte específica
(pequena) do software - maior probabilidade de
descobrir erros.
Quando você fizer uma revisão técnica, tenha em mente um
conjunto mínimo de diretrizes, que de acordo com Pressmann
(1995) são:
1) Revise o produto, não o produtor (evite revanches entre
colaboradores).
2) Fixe e mantenha uma agenda (refute intervenções de
participantes fora da pauta).
3) Limite o debate e a refutação (evite a formação de polêmicas
durante a revisão).
Unidade 1 29
qualidade_de_software.indb 29 15/04/11 10:23
Universidade do Sul de Santa Catarina
4) Enuncie as áreas problemáticas, mas não tente resolver cada
problema anotado (as reuniões acontecerão semanalmente, o
problema pode ser pauta da próxima reunião).
5) Faça anotações por escrito.
6) Limite o número de participantes e insista numa preparação
antecipada.
7) Desenvolva uma lista de conferência (checklist) para cada
produto que provavelmente será revisto.
8) Atribua recursos e uma programação de tempo para as revisões
técnicas formais (jamais marque reuniões de revisão para depois
do expediente, isto fará com que a produtividade e a qualidade da
reunião fiquem abaixo do esperado).
9) Realize um treinamento significativo para todos os revisores
(deixe claro a importância da revisão).
10) Reveja suas antigas revisões.
Figura 1.2 - Revisões técnicas formais.
Fonte: Pressman (1995).
30
qualidade_de_software.indb 30 15/04/11 10:23
Qualidade de Software
Seção 4 – Normas e Padrões
Um dos pontos mais atuais do controle de qualidade é o uso
de normas e padrões de qualidade para avaliar o processo e o
produto de software.
Segundo Koscianski (2007), as normas são criadas a partir do
trabalho de especialistas de todo o mundo. Ao serem definidas,
tornam-se a base para a especificação de produtos, organizam o
fornecimento de serviços podendo chegar à colaboração para a
elaboração da legislação em vários países.
Quais são as normas e padrões de qualidade?
Quando se iniciaram o desenvolvimento de normas e padrões, o
principal objetivo foi criar um padrão único mundial de forma
que, mesmo não tendo nenhum contato entre as empresas, fosse
possível garantir a qualidade de seu trabalho (uma empresa
de desenvolvimento de software educacional da Tailândia
dificilmente conhece uma empresa de desenvolvimento de
software educacional do Brasil, o cliente na Ásia que irá comprar
o produto, talvez não conheça o histórico das duas empresas).
A definição de um padrão surge normalmente de uma
necessidade que é solucionada. Existem, no entanto, dois tipos de
padrões: “de facto”e “de jure”.
Segundo Koscianski (2007), “de facto” é uma expressão utilizada
para definir um padrão conhecido e aplicado na prática, mas que
não possui uma regulamentação escrita na forma de uma lei ou
norma. Um exemplo de padrão “de facto” é o padrão UML (Unified
Modeling Language utilizado para a modelagem de sistemas de
software) e o padrão CORBA (Common Object Request Broker
Architecture). Já o padrão “de jure” é formalizado na forma de lei.
Neste caso, são reconhecidos e aprovados por instituições
consideradas adequadas para sua avaliação, como é o caso das
normas ISO. Este documento é emitido a partir de uma avaliação,
baseando-se em critérios unívocos para todas as empresas que
Unidade 1 31
qualidade_de_software.indb 31 15/04/11 10:23
Universidade do Sul de Santa Catarina
fizerem uso da mesma avaliação. A norma pode ser internacional,
regional ou nacional, dependendo de sua área de aplicação.
Existem várias empresas de normalização espalhadas pelo
mundo, a citar:
DIN - Deutches Institut für Normung.
IEEE - Instituto de Engenharia Elétrica e Eletrônica.
ISO - International Organization for Standardization,
fundada em 1947, coordena o trabalho de 127 países
membros para promover a padronização de normas
técnicas em âmbito mundial.
IEC - International Electrotechnical Commission, fundada
em 1906, conta com mais de 50 países e publica normas
internacionais relacionadas com eletricidade, eletrônica e
áreas afins.
ABNT - Associação Brasileira de Normas Técnicas, fundada
em 1940, edita as normas nacionais. Trata-se de uma
entidade privada sem fins lucrativos que representa o
Brasil nas entidades de normalização internacional como
a ISO e a IEC.
JTC1 - Joint Technical Committe 1 é a primeira comissão
conjunta (criada pela ISO e pelo IEC) responsável pela
criação de normas relacionadas à tecnologia da informação.
A certificação é normalmente restrita a uma linha de produtos
ou serviços. Existem centenas de normas, cada uma delas propõe
padrões e processos sob diferentes aspectos e características. A
empresa que contrata uma certificação deve considerar na escolha
da norma o tipo de produto que desenvolve, seus objetivos com
a aplicação da norma e o reconhecimento de sua clientela em
relação a mesma.
O número de normas relacionadas ao desenvolvimento de
software tem crescido significativamente, observe a seguir
algumas mais conhecidas:
ISO 9001:2000 – Requisitos para sistemas de
gerenciamento de qualidade.
32
qualidade_de_software.indb 32 15/04/11 10:23
Qualidade de Software
ISO/IEC90000-3 – Diretrizes para aplicação da norma
ISO 9001 ao software.
ISO12207 – Trata o processo de ciclo de vida de
software.
ISO/IEC12119 – Avalia pacotes de software, requisitos
de qualidade e testes.
ISO/IEC14598-1 – Avalia a qualidade dos produtos de
software.
ISO9126 – Trata o modelo de qualidade baseado em
características.
ISO/IEC25000 – Modelo de qualidade de software,
nova versão da série 14598 e 9126.
ISO9241 – Ergonomia de software.
ISO/IEC20926 – Medida de software por ponto por
função.
ISO 15408 – Norma para produtos que propõe requisitos
de segurança e descreve a avaliação de sistemas em
relação a estes requisitos. Apresenta um conjunto de três
volumes: o primeiro discute definições e metodologia; o
segundo lista um conjunto de requisitos de segurança; o
terceiro apresenta metodologias de avaliação.
ISO 15504 – Norma voltada ao processo, determina a
capacidade dos processos de uma empresa, orientando-a
para uma melhoria contínua de seus processos.
Programa Brasileiro da Qualidade e Produtividade em
Software - PBQP Software
Em junho de 1993, foi instalado no Brasil o Subcomitê Setorial
da Qualidade e Produtividade em Software - SSQP/SW, hoje
PBQP - Software, instituído a partir do Grupo de Trabalho GT4:
Qualidade e Produtividade em Software, da Câmara Setorial
de software, concebido e estruturado no âmbito do Programa
Unidade 1 33
qualidade_de_software.indb 33 15/04/11 10:23
Universidade do Sul de Santa Catarina
Brasileiro da Qualidade e Produtividade - PBQP. Este programa
se iniciou a partir da preocupação do governo brasileiro com a
globalização do mercado de informática e a competitividade da
indústria de software no mercado internacional.
O PBQP-Software procura estimular a adoção de normas,
métodos, técnicas e ferramentas da qualidade e da engenharia de
software, promovendo a melhoria da qualidade dos processos,
produtos e serviços de software brasileiros, de modo a tornar
as empresas mais capacitadas a competir em um mercado
globalizado (MCT, 2005). Além de incentivar a qualidade por
meio de incentivos fiscais às empresas de software, também
promove pesquisas nacionais sobre a aplicação de qualidade no
segmento de desenvolvimento de software. Estes resultados
assim como informações sobre órgãos certificadores são
disponibilizados ao público em geral.
Na sala virtual desta disciplina, você encontra textos
complementares sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e bons estudos!
Síntese
Nesta unidade, você foi apresentado à qualidade de software e
sua importância junto ao cliente e às empresas que desenvolvem
software. Embora muitas empresas iniciem seus investimentos
em qualidade, motivados pela garantia de competitividade
ou mesmo pelas vantagens imediatas de mercado, ao longo
da aplicação de metodologias e padrões, a empresa acaba por
perceber o retorno de sua aplicação em termos de aumento de
produtividade e diminuição de problemas como manutenção e
retrabalhos de projeto.
A qualidade é inquestionável em sua importância. Isto pode ser
comprovado pela preocupação, cada vez mais contundente, das
empresas e sua corrida em busca de certificações. O controle feito
34
qualidade_de_software.indb 34 15/04/11 10:23
Qualidade de Software
para a garantia da qualidade de software pode ser realizado em
dois momentos: durante a sua geração (processo) e após estar
finalizado (produto).
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) De acordo com o que você estudou sobre qualidade de software,
assinale nas sentenças a seguir (V) para as consideradas verdadeiras ou
(F) para as falsas.
a) ( ) A qualidade de software está diretamente ligada a conformidade
com os requisitos do cliente.
b) ( ) A qualidade do produto de software independe da qualidade do
processo de software.
c) ( ) Os requisitos implícitos do software representam as necessidades
do cliente em termos de funcionalidades.
d) ( ) Na avaliação do produto de software, a preocupação é com
a qualidade externa do produto, como por exemplo a interface do
produto.
e) ( ) Na avaliação do processo, deve-se considerar o conjunto de
atividades, métodos, práticas e tecnologias utilizadas para desenvolver
e manter software e produtos relacionados.
Unidade 1 35
qualidade_de_software.indb 35 15/04/11 10:23
Universidade do Sul de Santa Catarina
2) Assinale a alternativa correta:
a) ( ) A avaliação da qualidade apresenta 3 escopos bem definidos:
o aprimoramento do processo de desenvolvimento, a avaliação da
qualidade do produto e a avaliação da satisfação do cliente em relação
ao produto de software.
b) ( ) As revisões podem ser feitas de três maneiras: por discussão,
apresentação e revisões técnicas formais.
c) ( ) As revisões devem ser aplicadas em 2 pontos específicos do
projeto:na especificação de requisitos e na análise dos algoritmos.
d) ( ) Na apresentação, o projeto ou parte dele é apresentado para os
desenvolvedores.
3) Relacione a 2ª coluna com a 1ª:
a) Métricas ( ) Definem um conjunto de critérios de
desenvolvimento que orientam a maneira como
b) Revisão técnica o software é construído.
formal
( ) Procura descobrir erros de função, lógica ou
c) Padrão implementação em qualquer representação do
d) Organismos software verificando se atende a seus
normativos requisitos.
( ) Indicam a qualidade do produto, a
produtividade das pessoas que produzem o
produto, avaliam benefícios derivados de novos
métodos e ferramentas.
( ) Criam padrões mundiais garantindo a
qualidade dos produtos, um de seus
representantes é o comitê ISO.
Saiba mais
Para aprofundar as questões abordadas nesta unidade, você
poderá pesquisar em:
SOMMERVILLE, Ian. Engenharia de Software. São Paulo:
Prentice-Hall, 2003. (leia o Cap. 24 - Gerenciamento de
Qualidade do livro).
36
qualidade_de_software.indb 36 15/04/11 10:23
2
unidade 2
Qualidade do processo
Objetivos de aprendizagem
Entender o universo da qualidade no processo das
empresas desenvolvedoras de software.
Conhecer a norma ISO/IEC 12207 relacionada à
qualidade do processo.
Compreender os principais conceitos do modelo
CMM e CMMI e sua importância no cenário de
desenvolvimento de software.
Seções de estudo
Seção 1 O processo de qualidade
Seção 2 ISO/IEC 12207
Seção 3 ISO/IEC 15504
Seção 4 Capability Maturity Model - CMM
Seção 5 Capability Maturity Model Integration -
CMMI
qualidade_de_software.indb 37 15/04/11 10:23
Universidade do Sul de Santa Catarina
Para início de estudo
A globalização da economia e do mundo dos negócios, quando
relacionada às tecnologias e sistemas, impulsiona cada vez mais a
reestruturação das empresas no sentido da promoção da qualidade.
Não basta apenas querer a qualidade, é necessário reestruturar a
empresa movendo-a neste sentido. No entanto, a reestruturação
de uma empresa é um processo complexo, e, quando o cenário
é uma empresa de desenvolvimento de produtos de software, o
quadro fica ainda mais complicado.
Existem várias estratégias que buscam a promoção da qualidade,
como normas e modelos que auxiliam este processo e encontram-
se em franca ascendência no Brasil, entre elas figura a norma
ISO/12207. Focada no processo e no cliente, esta norma é
específica para o processo de desenvolvimento de software.
Além da qualidade do processo, também surgem no mercado
modelos centrados nos conceitos de maturidade dos processos
e na capacidade dos processos de software. O modelo CMM
(Capability Maturity Model) apresenta uma abordagem que
permite a avaliação dos processos da empresa e enquadramento
da organização em níveis de maturidade. A evolução e a
dificuldade de aplicação do CMM a pequenas empresas, sua
complexidade e seu alto custo de implementação promoveram
a evolução para o projeto CMMI (Capability Maturity Model
Integration). Centenas de organizações do mundo inteiro estão
migrando seus esforços de melhoria de processos para o modelo
integrado CMMI, e até o final de 2002 cerca de 7.000 pessoas
realizaram o curso de Introdução ao CMMI ministrado pelo SEI
(Software Engineering Institute da Carnegie Mellon University) e
pelos seus parceiros autorizados.
Nesta unidade, você vai estudar alguns pontos sobre a qualidade
do processo e seus benefícios junto à qualidade do produto final
da organização.
Bons estudos!
38
qualidade_de_software.indb 38 15/04/11 10:23
Qualidade de Software
Seção 1 – O processo de qualidade
O processo de software, segundo Humphrey (1995), é uma
sequência de estágios para desenvolver ou manter o software,
apresentando estruturas técnicas e de gerenciamento para o uso
de métodos e ferramentas e incluindo pessoas para as tarefas do
sistema.
A avaliação de processos de software pretende, de acordo com
Oliveira (1995):
compreender o estado dos processos de uma
organização, oferecendo a melhoria dos mesmos;
promover a conformidade dos processos em uma
organização com um requisito em particular ou uma
classe de requisitos;
determinar a adequação dos processos de uma outra
organização com um contrato ou uma classe de contratos.
Quando se fala em qualidade do processo de software,
lembre-se que um requisito básico é o de que todas as
atividades envolvidas sejam sistemáticas e passíveis de
repetição independente de quem as execute.
A qualidade de um produto de software é dependente da
qualidade do processo pelo qual ele é construído e mantido.
Quando você atua sobre o processo de software você pode
defini-lo, gerenciá-lo, medi-lo e melhorá-lo. Mas para definir o
processo de software, é necessário conhecer o processo atual, ou
seja, determinar a capacidade do processo, avaliar a proposta de
melhorias e a possível evolução deste.
Além de definir o processo, você precisa descrevê-lo em detalhes
para que todos os seus colaboradores consigam usá-lo de forma
consistente.
O que envolve a realização de um modelo de processo?
Unidade 2 39
qualidade_de_software.indb 39 15/04/11 10:23
Universidade do Sul de Santa Catarina
Lembre-se que a implantação de um programa de qualidade
se inicia pela definição e implantação de um processo de
software. A partir daí, o processo deve estar documentado, ser
compreendido e seguido.
Métodos
Ferramentas Procedimentos
Processo
Figura 2.1 - Modelo de Processo
Fonte: Elaboração do Autor.
O modelo do processo envolve o uso de métodos, procedimentos,
que precisam definir a relação entre os métodos, e as ferramentas
utilizadas para simplificar a utilização dos métodos. A
automatização das tarefas e uma equipe treinada nos métodos e no
uso das ferramentas propiciam um processo de qualidade
- A melhoria da qualidade do processo já não é uma preocu-
pação isolada de uma ou outra empresa. A sociedade SOFTEX
desenvolve um trabalho para a promoção da melhoria da qua-
lidade do processo de software por meio de um modelo de refe-
rência. Para conhecer mais sobre a SOFTEX, leia, a seguir, um
trecho do artigo de Maurício F. Galimberti.
40
qualidade_de_software.indb 40 15/04/11 10:23
Qualidade de Software
Software: uma abordagem brasileira
Com a missão de “transformar o Brasil em um centro de
excelência na produção e exportação de software”, a sociedade
SOFTEX atua de diversas formas e em diversas frentes para o
crescimento e difusão da indústria brasileira de software.
Um dos últimos empreendimentos da sociedade SOFTEX está
relacionado à melhoria de processos de software. Em virtude
do cenário mundial de demanda por produtos e processos de
qualidade, a SOFTEX criou o projeto “Melhoria de Processos
de Software Brasil” ([Link]), que é formado pelo Modelo de
Referência e pelo Modelo de Negócio. O [Link] visa a melhoria
de processos de software em empresas brasileiras, a um custo
acessível, especialmente na grande massa de micro, pequenas e
médias empresas.
O Projeto [Link] tem como objetivo principal definir e
implementar o Modelo de Referência para melhoria de processo
de software (MR mps) em 120 empresas, até junho de 2006, com
perspectiva de mais 160 empresas nos dois anos subsequentes”.
O projeto tem como objetivos secundários disseminar, em
diversos locais no país, a capacitação no uso do modelo (cursos
de Introdução ao MR mps e cursos e provas para Consultores de
Implementação e Avaliadores do modelo); o credenciamento
de instituições implementadoras e/ou avaliadoras do modelo,
especialmente instituições de ensino e centros tecnológicos; a
implementação e avaliação do modelo com foco em grupos de
empresas.
Fonte: GALIMBERTI, Maurício F. Disponível em: <[Link]
artigo_7.asp>. Acesso em: 20 fev. 2006.
Atualmente, são inúmeras as normas e os diferentes modelos
de definição, avaliação e melhoria dos processos. Por isso, nesta
disciplina, você conhecerá algumas, tais como:
a norma ISO/IEC 12207 – Processos do Ciclo de Vida
do Software;
o modelo CMM – Capability Maturity Model;
o modelo CMMI – Capability Maturity Model
Integration;
a norma ISO/IEC 15504; e
o modelo de referência [Link].
Unidade 2 41
qualidade_de_software.indb 41 15/04/11 10:23
Universidade do Sul de Santa Catarina
Seção 2 – ISO/IEC 12207
A norma ISO/IEC 12207 Information Technology – Software
Life Cycle Processes (Processos do ciclo de vida do software) foi
aprovada em 1995. Esta norma estabelece processos, atividades
e tarefas a serem aplicados na aquisição, fornecimento,
desenvolvimento, manutenção e operação do software. Além de
promover um processo de ciclo de vida bem definido.
A norma pode ser aplicada para qualquer tipo de atividade, como
por exemplo atividades aeroespaciais, equipamentos médicos,
telecomunicações, comerciais, militares etc.
Os usuários-alvo da norma são compradores e fornecedores com
conhecimentos técnicos considerados elevados e que estejam
envolvidos em projetos que apresentam riscos em termos de
custos, prazos, qualidade ou técnicos. Ela descreve a arquitetura
de processos de ciclo de vida do software, mas não especifica os
detalhes de como implementar ou realizar as atividades e tarefas
incluídas nos processos.
Tratar do processo não significa limitar a empresa em
termos de decisões, em outras palavras, na norma
não são prescritos métodos de desenvolvimento
a serem seguidos ou mesmo definidos modelos
específicos de ciclo de vida que devam ser adotados.
Da mesma forma, não são estabelecidos modelos de
documentação que devam ser seguidos. Na verdade,
ela apenas indica onde a empresa deve chegar para
certificar-se, mas não como deve fazer isto.
A norma é composta por 17 processos do ciclo de vida
organizados em três grandes classes. A seguir, conheça
sinteticamente quais são as classes e seus processos:
42
qualidade_de_software.indb 42 15/04/11 10:23
Qualidade de Software
Classes Processos Inclui
aspectos referentes à definição da necessidade de adquirir um software
Processos 1 - Aquisição (produto ou serviço), pedido de resposta, seleção de fornecedor,
fundamentais se gerência da aquisição e aceitação do software.
prolongam do
início à execução do preparar uma proposta, assinatura de contrato, determinação dos
2 - Fornecimento
desenvolvimento, recursos necessários, planos de projeto e entrega de software.
operação ou análise de requisitos, projeto, codificação, integração, testes, instalação
manutenção do 3 - Desenvolvimento e aceitação do software.
software durante
todo o seu ciclo de 4 - Operação a operação do software e suporte operacional aos usuários.
vida.
5 - Manutenção atividades de quem faz a manutenção do software.
planejamento, projeto, desenvolvimento, produção e manutenção
6 - Documentação dos documentos necessários a gerentes, engenheiros e usuários do
software.
7 - Gerência de Configuração controle de armazenamento, liberações, manipulação, distribuição e
modificação de cada um dos itens que compõem o software.
garante que os processos e produtos de software estejam em
8 - Garantia da Qualidade conformidade com os requisitos e os planos estabelecidos.
Processos de apoio determina se os produtos de software de uma atividade atendem
9 - Verificação
auxiliam outros completamente aos requisitos ou condições impostos a eles.
processos. determina se os produtos e o produto final ( sistema ou software)
10 - Validação atendem ao uso específico proposto.
define as atividades para avaliar a situação e os produtos de uma
11 - Revisão Conjunto atividade de um projeto.
determina de forma independente a conformidade de produtos
12 - Auditoria identificados e atividades com planos, requisitos e contrato.
definir a forma para analisar e resolver os problemas de
13 - Resolução do Problema qualquer natureza ou fonte, descobertos durante a execução do
desenvolvimento, operação ou manutenção.
Processos
organizacionais 14 - Gerência trata do gerenciamento de processos,
implementam uma
estrutura constituída hardware, software, ferramentas, técnicas, padrões de
15 - Infraestrutura
de processos de desenvolvimento, operação ou manutenção.
ciclo de vida e estabelece atividades para estabelecer, avaliar, medir, controlar e
pessoal associados, 16 - Melhoria melhorar um processo de ciclo de vida de software.
melhorando
continuamente
a estrutura e os 17 - Treinamento relaciona atividades para prover e manter o pessoal treinado.
processos.
Quadro 2.1 - Classes e processos da norma ISO/IEC 12207
Fonte: Elaborado pelo Autor.
Unidade 2 43
qualidade_de_software.indb 43 15/04/11 10:23
Universidade do Sul de Santa Catarina
Observe que cada uma das classes apresenta os seus processos
definidos e os seus usuários potenciais.
No processo de aquisição e fornecimento, a visão é de
contrato, os usuários são clientes e fornecedores.
No processo de operação, temos a visão operacional
onde os usuários são o operador e o usuário.
Na visão de engenharia, temos os processos
de desenvolvimento e manutenção em que os
usuários serão a equipe de manutenção e a equipe de
desenvolvimento.
Todos os processos de apoio fazem parte da visão da
equipe de apoio e são utilizados por ela.
Seção 3 – ISO/IEC 15504
A ISO/IEC 15504 tem por objetivo a avaliação de
processos propondo a melhoria contínua ou a
determinação de seu nível de capacidade.
A ISO 15504 define um framework para avaliação de processos
de software e baseia-se nas melhores características de vários
modelos existentes, tais como: CMM, Trillium e Bootstrap,
SPICE, além das Normas ISO 9001/9000-3 (interpretação da
ISO9000 para software) e ISO/IEC 12207.
A versão atual da norma é internacional e introduz o conceito de
modelo de referência de processo. Para ser aplicada a software, a
norma deve ser complementada com a ISO 12207.
O modelo de referência de processo contém uma descrição de
escopo e uma descrição de requisitos. Koscianski (2007) relata
que cada requisito estabelece os resultados esperados da execução
de cada processo.
44
qualidade_de_software.indb 44 15/04/11 10:23
Qualidade de Software
A ISO/IEC 15504 é composta por cinco partes:
Parte 1 - Conceitos e vocabulários;
Parte 2 - Estrutura do processo de avaliação;
Parte 3 – Recomendações para realização de uma
avaliação;
Parte 4 – Recomendações para melhoria de processos e
determinação de capacidade;
Parte 5 – Exemplo da aplicação.
De acordo com Koscianski (2007), quando se pretende
realizar uma medição usando esta norma, deve ser definido
primeiramente o modelo de medição (PAM), o qual realiza a
identificação dos elementos da organização a serem examinados.
Neste caso, são definidos dois indicadores: as práticas-base e os
artefatos produzidos. Estes indicadores irão apoiar o controle da
execução do processo.
Por meio do PAM, conforme mostra Koscianski (2007), a
norma estabelece os níveis de capacidade para todos os níveis de
processo, são eles:
Nível 0 ou incompleto – processo não implementado.
Nível 1 ou executado – o processo atinge os objetivos
apesar de pouco planejamento e rigor no processo.
Nível 2 ou gerenciado – o processo é planejado,
monitorado e ajustado.
Nível 3 ou estabelecido – o processo é implementado de
forma sistemática.
Nível 4 ou previsível – existe um controle sobre o
processo verificando o alcance de metas desejadas.
Nível 5 ou otimizado – o processo é melhorado de forma
continua para atingir melhores resultados.
Na sala virtual desta disciplina, você encontra um
texto complementar sobre a experiência da aplicação
da Norma ISSO/IEC 15504 na empresa InfoGlobo
Comunicações. Acesse a sala virtual e bons estudos!
Unidade 2 45
qualidade_de_software.indb 45 15/04/11 10:23
Universidade do Sul de Santa Catarina
MPSBR – Melhoria do Processo de Software Brasileiro
Segundo a SOFTEX (2007), o [Link] é um programa para
Melhoria de Processo do Software Brasileiro coordenado pela
Associação para Promoção da Excelência do Software Brasileiro
(SOFTEX), contando com apoio do Ministério da Ciência
e Tecnologia (MCT), da Financiadora de Estudos e Projetos
(FINEP) e do Banco Interamericano de Desenvolvimento (BID).
Ele é baseado nas normas ISO / IEC 12207, ISO / IEC 15504 e
na realidade do mercado de software brasileiro. Além disso, ele
é compatível com o CMMI. Uma de suas principais vantagens
é o seu custo reduzido para certificações, sendo assim, ideal para
micros, pequenas e médias empresas.
O [Link] está descrito por meio de documentos em formato de
guias, que são listadas a seguir:
guia geral - contém a descrição geral do [Link]
e detalha o Modelo de Referência (MR-MPS), seus
componentes e as definições comuns necessárias para seu
entendimento e aplicação;
guia de aquisição - descreve um processo de aquisição de
software e serviços correlatos. É descrito como forma de
apoiar as instituições que queiram adquirir produtos de
software e serviços correlatos, apoiando-se no MR-MPS;
guia de avaliação - descreve o processo e o método de
avaliação MA-MPS, os requisitos para avaliadores líderes,
avaliadores adjuntos e Instituições Avaliadoras (IA); e
guia de implementação - composto de 7 partes,
cada uma delas descrevendo como implementar um
determinado nível do MR-MPS.
De acordo com a SOFTEX (2007), o [Link] baseia-se
nos conceitos de maturidade e capacidade de processo para a
avaliação e melhoria da qualidade e produtividade de produtos
de software. Assim, o [Link] se divide em três partes: Modelo
de Referência (MR-MPS), Método de Avaliação (MA-MPS) e
Modelo de Negócio (MN-MPS).
46
qualidade_de_software.indb 46 15/04/11 10:23
Qualidade de Software
Método de Avaliação (MA-MPS)
O método considera a aderência aos processos estabelecidos
para cada nível e a adequação dos atributos de processo (AP)
que implementam os processos. O grau de implementação dos
resultados dos atributos de processo (RAP) deve ser avaliado a
partir de indicadores, que são:
direto (D) - documentos comprovam que a atividade foi
realizada;
indireto (I) - artefatos intermediários resultantes de
alguma atividade;
afirmação (A) - entrevista com os membros do projeto
avaliado.
O grau de implementação dos indicadores deve ser avaliado:
totalmente implementada (T); largamente implementada (L);
parcialmente implementada (P); e não implementada (N).
(MPS, 2007).
Quando a empresa decide por fazer uso do MPSBR, pode
definir a unidade organizacional que será avaliada (um setor, uma
divisão, a empresa toda). A avaliação possui validade de 2 anos,
devendo ser submetidos dois projetos concluídos e dois projetos
em andamento para o processo de avaliação.
Modelo de Referência (MR-MPS)
Este modelo define níveis de maturidade, que são uma
combinação entre processos e sua capacidade. A definição dos
processos segue os requisitos para um modelo de referência de
processo, que estão especificados na ISO/IEC 15504-2.
O MR-MPS é dividido em 7 níveis de maturidade, que se inicia
no nível G e vai progredindo até o nível A. São eles:
nível A (em otimização);
nível B (gerenciado quantativamente);
nível C (definido);
nível D (largamente definido);
nível E (parcialmente definido);
Unidade 2 47
qualidade_de_software.indb 47 15/04/11 10:23
Universidade do Sul de Santa Catarina
nível F (gerenciado);
nível G (parcialmente gerenciado).
De acordo com a SOFTEX (2007), para cada um destes sete
níveis de maturidade, é atribuído um perfil de processos que
indicam onde a organização deve colocar o esforço de melhoria.
O quadro a seguir exibe os níveis de maturidade do modelo, os
seus processos e as capacidades necessárias para cada nível.
Nível Processo Capacidade
A Inovação e implementação na Organização AP1.1, AP2.1, AP2.2,
Análise e resolução de Causas AP3.1 e AP3.2
B Desempenho do Processo Organizacional AP1.1, AP2.1, AP2.2,
Gerência Quantitativa do Projeto AP3.1 e AP3.2
C Análise de Decisão e Resolução AP1.1, AP2.1, AP2.2,
Gerência de Risco AP3.1 e AP3.2
D Desenvolvimento de Requisitos AP1.1, AP2.1, AP2.2,
Solução Técnica AP3.1 e AP3.2
Integração do Produto
Instalação do Produto
Liberação do Produto
Verificação
Validação
E Treinamento AP1.1, AP2.1, AP2.2,
Avaliação e Melhoria do Processo Organizacional AP3.1 e AP3.2
Definição do Processo Organizacional
Adaptação do Processo para Gerência de Projeto
F Medição AP1.1, AP2.1 e AP2.2
Gerência de Configuração
Aquisição
Garantia da Qualidade
G Gerência de Requisitos AP1.1 e AP2.1
Gerência de Projetos
Quadro 2.2 - Níveis de maturidade do [Link].
Fonte: Colenci (2008).
48
qualidade_de_software.indb 48 15/04/11 10:23
Qualidade de Software
De acordo com Colenci (2008), processos consistem em um
conjunto de operações realizadas segundo métodos próprios,
desenvolvidos para o entendimento de necessidades estabelecidas
ou implícitas. Eles respondem ao “como fazer”.
Segundo o SOFTEX (2007), os processos são agrupados
de acordo com o seu objetivo principal no ciclo de vida do
software. Este agrupamento consiste em 3 diferentes classes de
processos, que são:
fundamental - atende o início e a execução do
desenvolvimento, operação ou manutenção dos produtos;
de apoio - auxilia outro processo e ajuda no sucesso e
qualidade do projeto de software;
organizacional - uma empresa pode usar estes processos
em nível coorporativo para estabelecer, implementar e
melhorar um processo do ciclo de vida.
A figura a seguir demonstra as classes de processos
fundamentais, organizacionais e de apoio do [Link],
bem como destaca os pontos a serem considerados no
desenvolvimento de software.
Unidade 2 49
qualidade_de_software.indb 49 15/04/11 10:23
Universidade do Sul de Santa Catarina
Processos Fundamentais Processos Organizacionais
Aquisição Gerência de Projetos
Gerência de Requisitos Definição do Processo Organizacional
Desenvolvimento de Requisitos Adaptação do Processo para Gerência do Projeto
Solução Técnica Avaliação e Melhoria do Processo Organizacional
Integração do Produto Gerência de Riscos
Treinamento
Gerência Quantitativa do Projeto
Desempenho do Processo Organizacional
Análise de Causas e Resoluções
Implantação de Inovações na Organização
Processos de Apoio
Garantia da Qualidade Verificação
Gerência de Configuração Validação
Medição Análise de Decisão e Resolução
Quadro 2.3 – Classes de processos do [Link].
Fonte: Colenci (2008).
50
qualidade_de_software.indb 50 15/04/11 10:23
Qualidade de Software
Seção 4 – Capability Maturity Model - CMM
O CMM, ou modelo para a melhoria da maturidade da
organização, foi desenvolvido pelo Software Engineering Institute.
O projeto foi inicialmente financiado pelas forças armadas
americanas que queriam que fosse estabelecido um padrão de
qualidade para os softwares desenvolvidos a ela. Deste modo,
um alerta oportuno a fazer, é que como o projeto todo previa
o desenvolvimento de grandes projetos, por isso seu uso para
projetos menores deverá ser cuidadoso, pois precisa ser adaptado
com a realidade da organização que pretende utilizá-lo.
O CMM pode ser entendido como um modelo para a
melhoria da maturidade da organização. Mas o que é
maturidade de uma organização?
Acompanhe o raciocínio: quando uma empresa é imatura, todo
o processo é improvisado, a empresa não possui base histórica
sobre seu processo de desenvolvimento, logo não há maneira
objetiva de julgar a qualidade do produto. Normalmente, em
uma organização imatura a qualidade e a funcionalidade do
produto são sacrificadas, pois não existe um rigor no processo
a ser seguido, sendo que a equipe invariavelmente encontra-se
envolvida na resolução de crises imediatas.
Um exemplo prático é quando o desenvolvimento
encontra-se com um atraso de 60 dias no projeto do
cliente X. Mas na minha empresa tenho 3 equipes,
em diferentes projetos. Para compensar este atraso
e atender o cliente X, eu retiro a equipe que está
desenvolvendo para o cliente B (que estava com o
cronograma em dia ) 3 desenvolvedores e os escalo
no projeto, procurando colocá-lo em dia. O que você
acha que vai acontecer? Resolverei o problema do
cliente X? Criarei um novo problema para o cliente B?
Resolverei todos os problemas com esta atitude?
É difícil dizer o que irá acontecer, na verdade é pouco previsível
o resultado desta operação, mas o que é certo é a imaturidade
do processo.
Unidade 2 51
qualidade_de_software.indb 51 15/04/11 10:23
Universidade do Sul de Santa Catarina
A consequência da imaturidade é o alto custo de
manutenção de seus produtos, a baixa produtividade,
a qualidade duvidosa e um risco elevado quando se
deseja fazer alguma inovação tecnológica.
Para melhor entender o contexto, imagine ainda a seguinte
metáfora: você foi convocado para fazer parte de um time de
futebol, mas na verdade não foram definidas as posições pela
competência dos jogadores, alguns jogam, outros olham e a
maioria reclama e ainda por cima tenta impor suas ideias sobre
como melhorar a partida e ganhar o jogo. Apesar da confusão,
seu time pode vencer, é bem provável que isto ocorra pela
capacidade pessoal de um ou outro jogador, mas você não pode
garantir que o mesmo se repita ou que o jogo possa ser de alguma
maneira controlado. Moral da história, este time é imaturo.
Na mesma medida, isto ocorre frequentemente em empresas
desenvolvedoras de software. Mesmo que a empresa seja imatura,
não significa que ela não possa produzir um excelente produto.
Mas será que ela conseguirá repetir este sucesso? Talvez todo o
projeto esteja na mão de apenas um desenvolvedor e a saída deste
membro da equipe pode literalmente fechar a empresa!
Uma organização considerada madura apresenta alguma
características, como por exemplo:
Na organização madura, estão bem claros e definidos
todos os papéis e responsabilidades.
A empresa possui uma base histórica de seus processos
e decisões. A qualidade dos processos e produtos é
completamente monitorada, sendo que seu processo pode
ser constantemente atualizado e melhorado.
Em uma organização madura, a comunicação entre
gerências e seus grupos é eficiente e motivada pela
empresa.
Como consequência deste processo, a empresa tem a
satisfação de cronogramas, funcionalidades, custos e
qualidade do produto.
52
qualidade_de_software.indb 52 15/04/11 10:23
Qualidade de Software
O CMM é um modelo que não abrange áreas de empresa
como recursos humanos e finanças, isto significa que seu uso
não garante a viabilidade da organização. Seu principal foco
é o processo, promovendo para as empresas que o usam o
conhecimento e melhoria dos seus processos, utilizando-se de
práticas definidas. (KOSCIANSKI e outros, 2007).
O CMM descreve princípios e práticas dos quais
depende a maturidade do processo de software, assim
permite o apoio às organizações que pretendem
aumentar a maturidade de seu processo por um
caminho evolutivo.
Deste modo, o CMM permite ao cliente e ao empresário medir a
maturidade da empresa segundo princípios preestabelecidos.
Quais são os níveis de maturidade?
O CMM foi dividido em cinco níveis de maturidade
relacionados ao desenvolvimento do software: inicial, repetitivo,
definido, gerenciado, otimizado.
Unidade 2 53
qualidade_de_software.indb 53 15/04/11 10:23
Universidade do Sul de Santa Catarina
Figura 2.2 - Níveis do CMM
Fonte: Elaborado pelo Autor.
Cada um dos níveis possui áreas-chaves que estabelecem temas
que devem ser abordados por meio de metas e que, na verdade,
identificam as questões essenciais que caracterizam o nível.
Observe a figura 2.2, para cada área-chave existem práticas-
chaves. As práticas-chave especificam “o que” deve ser feito
para implementar o modelo como: documentos, treinamentos,
políticas definidas para as atividades, medições e análises.
As práticas-chaves nunca estabelecem “como” elas
devem ser implementadas, somente definem “o que”
deve ser realizado.
A figura também mostra que o nível gerenciado possui
duas áreas-chaves: o Gerenciamento de Qualidade e o
Gerenciamento Quantitativo do Processo. Para você entender
melhor as características de cada nível apresentado na figura 2.2,
leia atentamente o texto que segue.
54
qualidade_de_software.indb 54 15/04/11 10:23
Qualidade de Software
1º Nível CMM:
No primeiro nível, o inicial, o processo de desenvolvimento
é desorganizado e até caótico. Poucos processos são definidos
e o sucesso no desenvolvimento depende da competência das
pessoas. Grande parte dos problemas para empresas neste nível
são de ordem gerencial e não técnica. O gerente não possui a
visibilidade do processo e de como ele ocorre e, com certeza,
terá problemas na definição e cumprimento de cronograma,
orçamentos e manutenção da qualidade.
2º Nível CMM:
No segundo nível, o repetitivo, os processos básicos de
gerenciamento de projeto estão estabelecidos e permitem
monitorar custos, cronograma e funcionalidade. A disciplina
necessária ao processo está estabelecida de forma a poder ser
repetida com sucesso em projetos com aplicações semelhantes.
Neste nível já existem padrões na empresa que são seguidos
pela equipe, já é possível acompanhar custos, cronogramas e
planejamento.
3º Nível CMM:
O nível definido possui as atividades de gerenciamento e as
de engenharia do processo de desenvolvimento de software
documentadas, padronizadas e integradas em um padrão de
desenvolvimento da organização. Todos os projetos utilizam
uma versão aprovada e adaptada do processo padrão de
desenvolvimento de software da organização.
Sempre que a empresa está neste nível, a evolução do produto é
visível através do processo.
4º Nível CMM:
No nível 4, o nível gerenciado, a gerência consegue tomar
suas decisões sobre bases objetivas, todo o processo é medido
e gerenciado quantitativamente. Produto e processo de
desenvolvimento de software são entendidos e controlados
quantitativamente.
Unidade 2 55
qualidade_de_software.indb 55 15/04/11 10:23
Universidade do Sul de Santa Catarina
Neste nível medidas de qualidade e produtividade são coletadas
em todos os projetos, ocorre a avaliação e análise contínua do
desempenho. É estabelecido o controle estatístico de processos.
5º Nível CMM:
Quando a empresa chega no nível 5, o melhoramento contínuo
do processo é conseguido pelo “feedback” quantitativo dos
processos e pelo uso pioneiro de ideias e tecnologias inovadoras.
A melhoria contínua do processo é proporcionada pela
realimentação quantitativa do processo e pela implementação
de novas ideias e tecnologias. Em outras palavras, a empresa
consegue medir quantitativamente o impacto e a eficiência das
mudanças implementadas.
No nível 5 são identificados os pontos fracos e defeitos,
promovendo uma ação preventiva sobre causas. Assim como,
mudanças mais significativas de processos ou de tecnologias são
feitas a partir de análises de custo/benefício com base em dados
quantitativos cuja coleta iniciou-se no nível 4.
Como está o Brasil no ranking de qualificação CMM?
Apesar de complexo em sua implantação, o número de adesões de
empresas brasileiras vem crescendo. Para você ter conhecimento,
acompanhe o quadro a seguir:
O Processo de Avaliação no Brasil
No último relatório do SEI/CMU, publicado em setembro de
2005 com dados até junho do mesmo ano, o Brasil encontra-se
em 14º lugar dentre os países com maior número de avaliações
CMM realizadas por esse instituto (após ter permanecido na
13ª posição desde dezembro de 2001), sendo o único país da
América Sul que aparece com mais de 20 avaliações (29); Chile
possui 20 avaliações; Argentina, Colômbia, Peru, Uruguai e
Venezuela aparecem com menos de 10 avaliações.
A Integrated System Diagnostics Brasil - ISD-Brasil, subsidiária da
norte-americana ISD Inc, conta com as credenciais do SEI para
56
qualidade_de_software.indb 56 15/04/11 10:23
Qualidade de Software
efetuar avaliações oficiais e com profissionais autorizados a
conduzir avaliações de processos com resultados reconhecidos.
Organizações com Qualificação CMM no Brasil – 1997-2005
Nível Atual
Desde No ano Até o ano
2 3 4 5
1997 1 1 1
1998 1 1 2
1999 2
2000 2
2001 4 4 6
2002 3 1 4 10
2003 16 1 17 27
2004 6 3 9 36
16
2005 15 1
52
Total 41 10 1 52
Quadro 2.2 - Ranking brasileiro de qualificação CMM
Fonte: ISD - Brasil.
No Brasil, existe apenas uma empresa classificada no nível 4 de
maturidade e somente 8 empresas possuem o nível 3.
A figura a seguir mostra alguns números do CMM no Brasil.
Figura 2.3 - Organizações com Qualificação CMM no Brasil – 1997-2006
Fontes: ISD Brasil, Procesix, empresas qualificadas e imprensa especializada, compilado por MCT/SEPIN/
DIA. Disponível em: <[Link]
Acesso em: 20 jun. 2006.
Unidade 2 57
qualidade_de_software.indb 57 15/04/11 10:23
Universidade do Sul de Santa Catarina
Seção 5 – Capability Maturity Model Integration - CMMI
No rastro do modelo CMM e de sua boa aceitação, criaram-se
novos modelos como o P-CMM para gestão de recursos humanos
e o SE-CMM moldado à engenharia de sistemas.
Os novos modelos, no entanto, apresentavam estruturas,
formatos e terminologia diferentes, o que dentro de uma
organização provoca incoerências quando diferentes modelos
são necessários. O CMMI foi criado com o intuito de integrar
estes diferentes modelos, assim, o modelo possui heranças dos
modelos Software CMM – Staged, o SECM – Continuous e o
IPD CMM – Hybrid.
O foco do CMMI baseia-se nas disciplinas de um
desenvolvimento integrado do produto e processo, o
desenvolvimento de sistemas (incluindo software ou não), o
desenvolvimento de software, a subcontratação e a integração dos
modelos e redução dos custos com melhorias de processo.
Fazem parte dos principais objetivos do CMMI:
aumento do foco das atividades;
integração dos processos existentes;
ISO 15504
A norma define um eliminar inconsistências;
modelo bi-dimensional
cujo objetivo é a realização
reduzir duplicações;
de avaliações do processo
fornecer terminologia comum;
do software e sua
melhoria. assegurar consistência com a norma ISO 15504;
flexibilidade e extensão para outras disciplinas.
Koscianski (e outros, 2007) descreve quatro disciplinas para o CMMI:
Engenharia de sistemas – a partir das necessidades,
restrições e qualidades apontadas pelo cliente, o
engenheiro de software propõe soluções resultantes do
ciclo de desenvolvimento.
Engenharia de software – propõe a aplicação de forma
sistemática, disciplinada e quantificável do desenvolvimento,
operação e manutenção do software (IEEE).
58
qualidade_de_software.indb 58 15/04/11 10:23
Qualidade de Software
Desenvolvimento e integração de produtos e processos
– abordagem sistemática que usa como parceiros os
conhecedores do negócio, proporcionando um melhor
conhecimento sobre as necessidades do futuro cliente. Estes
processos se integram aos demais processos da organização.
Aquisição - em muitas situações é necessária a parceria
com fornecedores que implementam recursos para o
produto a ser desenvolvimento. Esta disciplina monitora
a aquisição destes recursos.
Quais são os níveis no CMMI?
Observe a seguir que no CMMI ocorre uma mudança nos nomes
dos níveis em relação ao CMM:
Nível SW-CMM (v 1.1) CMMI
1 Inicial Executado - Inicial
2 Repetível Gerenciado
3 Definido Definido
4 Gerenciado Quantitativamente Gerenciado
5 em Otimização em Otimização
Quadro 2.3 - Comparação CMM e CMMI.
Fonte: Elaboração do Autor.
Os cinco níveis do CMMI são na verdade as áreas do processo.
Para que a empresa atinja um determinado nível, deve praticar
obrigatoriamente todos os estágios relacionados a ele.
1º Nível CMMI:
No nível inicial, a organização possui um controle de processos
informal. O processo é caótico, não existe padronização, o
cumprimento de prazos é raro e as falhas relacionadas aos
requisitos do cliente são comuns. O sucesso do projeto é baseado
em esforços individuais.
Unidade 2 59
qualidade_de_software.indb 59 15/04/11 10:23
Universidade do Sul de Santa Catarina
2º Nível CMMI:
No nível gerenciado, ocorre um gerenciamento básico do projeto,
os requisitos fazem parte de processos planejados, medidos e
controlados. Os processos são divididos em projetos individuais.
O contato com o cliente a definição de prazos e aplicação de
padrões já é prática comum na organização, estes padrões podem,
no entanto, variar de projeto a projeto.
Neste nível, o CMMI possui sete estágios:
gerência de requisitos;
garantia de qualidade do processo e do produto;
planejamento do projeto;
gerência e controle do projeto;
medição e análise;
gerência de configuração;
gerência de fornecedores.
3º Nível CMMI:
O terceiro nível caracteriza-se pela padronização do processo
constituído de vários projetos. Isto significa que os padrões,
métodos e procedimentos já estão sedimentados na organização,
sendo utilizados em todos os projetos. Neste nível, os processos
são ricamente detalhados e possui doze estágios:
definição do processo organizacional;
desenvolvimento de requisitos;
gerência de riscos;
análise de decisão e resolução;
integração do produto;
verificação;
validação;
foco no processo organizacional;
60
qualidade_de_software.indb 60 15/04/11 10:23
Qualidade de Software
treinamento organizacional;
gerência de projeto integrado;
desempenho do processo organizacional;
solução técnica.
4º Nível CMMI:
No nível gerenciado quantitativamente, vários processos
são acompanhados, mantendo-se a mesma padronização e
fazendo-se uso de técnicas quantitativas. No quarto nível,
os processos passam pela gerência estatística, dados que até
então eram qualitativos são transformados em quantitativos.
Esta quantificação promove uma melhoria na previsão sobre o
comportamento dos processos do desenvolvimento. Neste nível, o
CMMI possui dois estágios:
desempenho do processo organizacional;
gerência quantitativa do processo.
5º Nível CMMI:
No quinto nível, otimizado, ocorre a melhoria contínua do
processo. No quarto nível, são obtidos dados quantitativos sobre
os processos e sua consequente análise leva a reformulação do
processo a fim de melhorar sua performance. Isto também ocorre
pela implementação de novas tecnologias e ferramentas. Os
processos são medidos e avaliados.
Neste nível, o CMMI possui dois estágios:
inovação e implantação na organização;
análise e resolução de causas.
Você sabia?
A Stefanini foi a primeira companhia nacional a
conquistar o nível 5 do CMMI que confere à empresa
um padrão de qualidade internacional na engenharia
de software.
Unidade 2 61
qualidade_de_software.indb 61 15/04/11 10:23
Universidade do Sul de Santa Catarina
O credenciamento CMMI é considerado hoje por empresas e
pelo governo como fundamental para o processo de incremento
da exportação de software.
Exportação de Software e o CMMI
[...]
Mas o que é qualidade de software? Como medir a qualidade
de um artefato de software? Como concluir que um produto
tem qualidade inferior a outro? Podemos tentar responder essas
perguntas a partir de vários argumentos, mas para alcançarmos
exatidão com certeza gastaremos muito tempo e dinheiro.
Uma das formas de atestar a qualidade de uma empresa
fabricante de software e seus produtos e abrir as portas para a
exportação é investir na aquisição de “selos” de qualidade, como
o CMMI - Capability Maturity Model® Integration.
Nota: CMMI não é uma certificação, é resultado de uma avaliação
que atesta a maturidade/capacidade de uma empresa em
desenvolver software com qualidade. A avaliação positiva é
concluída a partir da emissão de um laudo pelo SEI – Software
Engineer Institute. Este laudo atesta que a empresa avaliada está
em conformidade com as boas práticas do CMMI.
O investimento médio para adequação dos processos às praticas
do CMMI é de R$ 250 mil, mas existe variação do investimento de
acordo com os cenários avaliados. No Brasil, esse valor já oscilou
entre R$ 150 mil e R$ 1,5 milhão. O tempo médio para chegar
a um nível de maturidade oscila entre 12 e 45 meses (tanto o
investimento quanto o tempo variam de acordo com o porte da
unidade avaliada e o nível de maturidade almejado).
Nota: Os dados citados não incluem empresas que possuem o
SW/CMM ou o SE/CMM.
Mas por que o número de empresas brasileiras que possuem
CMMI é tão pequeno? [...] Onde está o fator limitador para
as empresas obterem o CMMI? Cultura, carência financeira,
comodismo, falta de incentivo do governo?
Fonte: VENTURA, Plínio. Disponível em: <[Link]
Acesso em: 28 fev. 2011.
62
qualidade_de_software.indb 62 15/04/11 10:23
Qualidade de Software
Na sala virtual desta disciplina, você encontra textos
complementares sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e bons estudos!
Síntese
A Software Engineering Institute publicou, em estudos recentes,
números que impressionam relacionados à melhoria de
desempenho em empresas que investiram em qualidade. Estas
empresas tiveram um aumento médio de produtividade de 35% por
ano, já o número de bugs encontrados após a entrega foi reduzido
em 39%. Estes números levaram a um aumento de produtividade e
redução de custos, retrabalho e manutenção em uma proporção de
5 para 1, chegando a 9 para 1 em alguns casos.
Estes números comprovam que a implantação de modelos
(CMM) ou normas (ISO 12207), mesmo com custos
consideráveis de implementação, trazem a longo prazo retornos
em termos de qualidade que pode ser quantificada no aumento
da produtividade e dos lucros da empresa.
Outro modelo importante, o CMMI, construído sobre a
estrutura do CMM, procura apresentar-se de uma forma mais
abrangente, englobando diversas disciplinas em um único
modelo, com uma única estrutura, metodologia comum,
nomenclatura padrão, podendo ser utilizado no desenvolvimento
de produtos, serviços e manutenção, reunindo as melhores
práticas de outros modelos. Apesar de recente já possuir uma boa
representação no Brasil.
A soma destes modelos proporciona um escopo de escolha
razoável para todas as empresas que pretendem promover a
melhoria de suas organizações por meio de processos mais
controláveis e dinâmicos.
Unidade 2 63
qualidade_de_software.indb 63 15/04/11 10:23
Universidade do Sul de Santa Catarina
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) O modelo CMM - Capability Maturity Model avalia a maturidade
das organizações. A partir disso, relacione as características com as
respectivas descrições. Observe que podem ocorrer repetições.
a) definido ( ) também conhecido como processo previsível.
b) otimizado ( ) ocorrem treinamentos do grupo e a definição do
processo da organização.
c) inicial
( ) resolução de crises imediatas.
d) gerenciado
( ) promove o gerenciamento quantitativo do
e) repetitivo processo.
( ) não existe base histórica.
( ) promove o gerenciamento de requisitos e a
garantia da qualidade.
( ) permite o gerenciamento de mudança do
processo e prevenção de defeitos.
( ) também conhecido como processo disciplinado.
2) Complete as lacunas com as seguintes expressões:
Os níveis de maturidade – as áreas-chaves do processo –
características comuns – as atividades
No modelo CMM, pode-se dizer que:
a) As áreas-chaves do processo são organizadas por _______________
necessárias para a implementação.
b) __________________ são necessárias para atingirmos os objetivos
c) __________________ indicam a capacidade do processo.
d) As características comuns contêm práticas-base que descrevem
__________________.
64
qualidade_de_software.indb 64 15/04/11 10:23
Qualidade de Software
3) Existem alguns requisitos necessários para que se inicie um processo de
qualidade. Descreva-os.
4) Relate como é organizada a norma ISO/IEC 12207.
Unidade 2 65
qualidade_de_software.indb 65 15/04/11 10:23
Universidade do Sul de Santa Catarina
Saiba mais
Para aprofundar os assuntos abordados nesta unidade, você
poderá pesquisar no seguinte livro:
KOSCIANSKI, Andre. SOARES, Michel dos Santos.
Qualidade de software. 2ª. Ed. São Paulo: Novatec, 2007.
66
qualidade_de_software.indb 66 15/04/11 10:23
3
unidade 3
Qualidade do produto
Objetivos de aprendizagem
Conhecer as normas utilizadas na avaliação da
qualidade do produto.
Compreender os objetivos das normas e suas
características.
Seções de estudo
Seção 1 Qualidade do produto de software.
Seção 2 ISO/IEC 9126
Seção 3 ISO/IEC 14598
Seção 4 ISO/IEC 12119
qualidade_de_software.indb 67 15/04/11 10:23
Universidade do Sul de Santa Catarina
Para início de estudo
Nos dias atuais, os clientes de software, estão cada vez mais
familiarizados com a tecnologia e mais experientes no processo
de aquisição de seus produtos. A consequência imediata é o
aparecimento de clientes cada vez mais exigentes, e para os
desenvolvedores de software, a consequência é a busca da qualidade
de seus produtos. O uso de métodos de avaliação baseados em
normas é uma forma eficiente e segura de se atingir este objetivo.
A Organização Internacional para Padronização – ISO – lançou
um conjunto de normas de qualidade elaboradas especificamente
para a padronização da avaliação da qualidade de produtos de
software. As normas internacionais de avaliação de produto de
software são recentes e a compreensão completa do processo de
avaliação exige a análise de duas normas, a ISO/IEC 9126 e a
ISO/IEC 14598.
A ISO/IEC 9126 descreve um modelo de qualidade e alguns
exemplos de métricas que podem ser utilizados na avaliação de
produto de software. Já a ISO/IEC 14598, oferece uma visão
geral dos processos de avaliação de produtos de software e
fornece guias de requisitos para avaliação.
Nesta unidade, a proposta é que você inicie o estudo sobre
modelos de avaliação do produto e suas principais características.
Sinta-se à vontade para o estudo exploratório sobre a qualidade
do produto de software.
68
qualidade_de_software.indb 68 15/04/11 10:23
Qualidade de Software
Seção 1 – Qualidade do produto de software
Você pode entender por qualidade do produto de software como:
Um conjunto de características que devem ser
alcançadas em um determinado grau para que o
produto atenda às necessidades do usuário.
O detalhamento destas características, chegando ao nível de
atributos e sua avaliação, é que determinam a qualidade do
produto de software.
Imagine o seguinte exemplo: você ganha de presente
de aniversário um bolo maravilhoso de seus colegas
de trabalho. Quando você olha ou mesmo come o
bolo, só consegue avaliar o produto final, é possível
você avaliar atributos como o sabor e a aparência (por
exemplo), mas torna-se difícil avaliar como ocorreu o
processo de produção, o padrão de higiene utilizado
na confecção do bolo ou mesmo a qualidade dos
ingredientes usados.
Para se avaliar um produto de software, é necessário usar um
modelo que organize os atributos considerados importantes no
Lembre-se: a avaliação de
processo de avaliação, que possibilite a avaliação do produto de um produto de software
software e, principalmente, que permita o entendimento de como requer planejamento,
cada atributo influência positiva ou negativamente na qualidade controle e uso de técnicas
do produto. Estes modelos são expressos e aceitos pelo mercado adequadas de avaliação.
na forma de normas técnicas.
Quais são os modelos que avaliam a qualidade do
produto de software?
Quando você avalia a qualidade do produto de software, é
necessário verificar por meio de técnicas e atividades operacionais
o quanto os requisitos são atendidos. Estes requisitos são na
verdade as necessidades expressas em termos quantitativos ou
qualitativos e que definem as características do software.
Unidade 3 69
qualidade_de_software.indb 69 15/04/11 10:23
Universidade do Sul de Santa Catarina
Existem várias normas associadas ao produto, mas para efeito
de estudo desta disciplina (conforme os objetivos), serão
apresentadas as seguintes:
ISO/IEC 9126 – Qualidade do produto de software;
ISO/IEC 14598 – Avaliação de produtos de software;
ISO/IEC 12119 – Testes e requisitos de qualidade em
pacotes de software.
Ao fazer um exame sistemático para avaliar a qualidade do
produto, você precisa ter : um processo de avaliação que seja
responsável por fornecer passos a serem seguidos por “quem”
irá avaliar a qualidade do produto.
Como funciona o relacionamento entre as normas?
A norma 14598 oferece um processo de avaliação adaptado para
as três visões:
a visão do desenvolvedor;
a visão do comprador; e
a visão do avaliador.
Neste processo, a especificação do modelo de qualidade utilizado
é o da norma ISO/IEC 9126.
Simplificando: a norma ISO/IEC 14598 oferece
os procedimentos para realização do processo de
avaliação e a ISO/IEC 9126 oferece o modelo do que
deve ser avaliado no produto.
70
qualidade_de_software.indb 70 15/04/11 10:23
Qualidade de Software
Observe que a ISO 9126 fornece os critérios para avaliar o
produto de software como funcionalidade, portabilidade,
usabilidade etc. A ISO 14598 faz o suporte da avaliação e apóia o
próprio processo avaliativo.
A figura a seguir mostra como ocorre o relacionamento entre as
normas. Observe.
Figura 3.1 - Relacionamento entre a norma ISO/IEC 9126 e ISO/IEC 14598.
Fonte: ISO 9126 (1997).
Observe na figura a abrangência da norma ISO/IEC 14598 sobre
o processo de avaliação e o uso da ISO/IEC 9126 na aplicação
das métricas.
Unidade 3 71
qualidade_de_software.indb 71 15/04/11 10:23
Universidade do Sul de Santa Catarina
Seção 2 - ISO/IEC 9126
A Norma ISO/IEC 9126 é utilizada como referência para o
processo de avaliação do produto de software.
É definida como um conjunto de atributos que tem
impacto na capacidade do software de manter o
seu nível de desempenho dentro de condições
estabelecidas por um dado período de tempo.
Segundo Rocha (2001), esta norma está dividida em duas partes:
o modelo de qualidade para características externas e
internas; e
o modelo para qualidade em uso.
A norma NBR 13596 é a tradução oficial para o português,
realizada pela ABNT, da norma ISO/IEC 9126 - Information
Technology- Software Quality Characteristics and Metrics
(Tecnologia da Informação – Características e Métricas de
Qualidade de Software).
Quando a norma ISO/IEC 9126 é utilizada?
Você pode utilizar esta norma:
na avaliação das especificações do software durante
o desenvolvimento para verificar se os requisitos de
qualidade estão sendo atendidos;
na descrição das características e atributos do software
implementado, por exemplo nos manuais de usuário;
na avaliação do software desenvolvido antes da entrega
ao cliente;
na avaliação do software desenvolvido antes da aceitação
pelo cliente.
72
qualidade_de_software.indb 72 15/04/11 10:23
Qualidade de Software
A norma está dividida em 4 grandes partes:
Norma Parte
1 - modelo de qualidade, fornece características e subcaracterísticas de qualidade,
sendo uma norma essencialmente de definições.
2 - define métricas externas para a medição das características e subcaracterísticas
de qualidade da ISO/IEC 9126-1. Essas métricas referem-se a medições indiretas
ISO/IEC 9126
de um produto de software, a partir da medição do comportamento do sistema
computacional do qual o produto faz parte.
3 - estabelece métricas internas para a avaliação de um produto de software.
Essas métricas referem-se a medições diretas de um produto, a partir de suas
características internas, sem que seja necessária a execução do programa.
4 - estabelece métricas de qualidade em uso.
Quadro 3.1 – Norma ISO/IEC 9126 e suas partes
Fonte: ISO, (1997).
Como são classificados os atributos de qualidade no
modelo de qualidade para características externas e
internas?
Este modelo de qualidade classifica os atributos de qualidade em
seis grandes características, as quais, por sua vez, são descritas na
forma de subcaracterísticas. Acompanhe a seguir, com atenção,
quais são elas:
Classificação Subcaracterísticas
Funcionalidade - as Adequação existência de um conjunto de funções apropriadas para as tarefas requeridas.
funções e propriedades
específicas do produto
que satisfazem as Acurácia o produto gera resultados precisos ou dentro do esperado pelo cliente.
necessidades do
usuário, descreve o que Interoperabilidade avalia a capacidade de interagir e interoperar com outros sistemas de acordo com
faz o software como e o que foi especificado.
quando. o produto está de acordo com as convenções, as normas ou os regulamentos
Conformidade estabelecidos.
Segurança no aptidão para prevenir os acessos não autorizados a programas e dados.
acesso
Continua...
Unidade 3 73
qualidade_de_software.indb 73 15/04/11 10:23
Universidade do Sul de Santa Catarina
Classificação Subcaracterísticas
Confiabilidade - Maturidade estado de maturação do software, detectada por sua baixa frequência de falhas.
conjunto de atributos
que evidenciam a capacidade do produto para manter determinados níveis de desempenho
capacidade do software Tolerância a falhas mesmo na presença de problemas ou mesmo em caso de violação nas interfaces
de manter seu nível especificadas.
de desempenho sob
condições estabelecidas atributos do software que evidenciam sua capacidade de restabelecer seu nível
durante um período de Recuperabilidade de desempenho e recuperar os dados diretamente afetados em caso de falha e o
tempo estabelecido. esforço necessário para que isto aconteça.
Usabilidade - a
usabilidade refere-se facilidade com que o usuário reconhece a lógica de funcionamento de um
Inteligibilidade
ao esforço necessário produto e sua aplicação.
para usar um produto
de software assim
como o julgamento Apreensibilidade medida da facilidade encontrada pelo usuário para aprender a utilizar o produto.
individual do uso por
um conjunto explícito
ou implícito de Operacionalidade facilidade oferecida para operar e controlar operações pertinentes ao software.
usuários.
Portatilidade - Adaptabilidade faculdade do produto poder ser adaptado a novos ambientes.
facilidade do software
poder ser transferido
de um ambiente para Instalabilidade facilidade de instalação do produto de software.
outro.
Conformidade o produto apresenta-se compatível com os padrões ou convenções de
com padrões de portatilidade.
portatilidade
Substituibilidade o produto de software pode ser substituído por outro, sem grandes esforços.
Eficiência - observa-se Comportamento medida do tempo de resposta e de processamento, assim como as taxas de
nesta característica o no tempo processamento (throughput), ao executar as funções prescritas.
nível de desempenho
do software e a
quantidade de Comportamento atributos do software que evidenciam seu tempo de resposta, tempo de
recursos utilizados dos recursos processamento e velocidade na execução de suas funções.
sob condições
estabelecidas.
Manutenibilidade Analisabilidade característica de ser possível diagnosticar deficiências e causas de falhas.
- refere-se ao esforço
necessário para a característica que o produto deve ter de forma a facilitar modificações e
realização de alterações Modificabilidade remoções de defeitos.
específicas no produto
de software. Estabilidade medida do risco de efeitos inesperados provenientes de modificações.
Testabilidade facilidade do produto ser testado.
Quadro 3.1 – Norma ISO/IEC 9126 e suas partes.
Fonte: ISO (1997).
74
qualidade_de_software.indb 74 15/04/11 10:23
Qualidade de Software
A norma ISO/IEC 9126-4 evidencia a qualidade em
uso do produto.
A qualidade em uso refere-se ao alcance pelo usuário de metas
como efetividade, produtividade, segurança e satisfação. Rocha
(2001) descreve as quatro metas:
Efetividade: refere-se à capacidade do produto
de software possibilitar ao usuário atingir metas
especificadas como acurácia (resultados precisos) e
completeza em um contexto especificado de uso.
Produtividade: refere-se à capacidade do produto
de software de possibilitar aos usuários utilizar uma
quantidade adequada de recursos em relação à efetividade
alcançada em um contexto de uso especificado. O
produto de software, quando executa, ocupa CPU,
memória dentro de um valor adequado para o tipo de
objetivo para o qual foi desenvolvido?
Segurança: refere-se à capacidade do produto de
software oferecer níveis aceitáveis de risco de danos e
pessoas, negócios, software, propriedade ou ambiente em
um contexto de uso especificado.
Satisfação: refere-se à capacidade do produto de
software em satisfazer as necessidades do usuário em um
contexto de uso especificado.
Os requisitos de qualidade não são os mesmos para
todos os softwares?
Apesar de todos os requisitos de qualidade serem importantes,
observa-se que de acordo com o tipo de negócio apropriado
ao software temos requisitos de qualidade que se tornam mais
relevantes. Assim, um requisito acaba sendo mais impactante do
que o outro.
Unidade 3 75
qualidade_de_software.indb 75 15/04/11 10:23
Universidade do Sul de Santa Catarina
Observe o exemplo a seguir:
Sistema Sistema
Características
Contabilidade Controle Mísseis
Usabilidade
Funcionalidade
Eficiência
Manutenibilidade ou
Manutenção
Portabilidade
Confiabilidade
Em um sistema de controle de mísseis, por exemplo,
a eficiência do software e sua confiabilidade são mais
importantes do que sua portabilidade ou usabilidade.
Em um sistema contábil, a usabilidade é tão importante quanto
sua funcionalidade.
Quem está no Brasil certificando a norma ISO/IEC 9126?
Temos no Brasil as seguintes empresas certificadoras da norma
ISO/IEC 9126:
CTI, Campinas / SP;
INSOFT, Fortaleza / CE;
Centros SOFTEX Gênesis;
GENE-JF, Juiz de Fora / MG;
GENORP, Londrina / PR;
ICMC/USP, São Carlos / SP;
UNISINOS, São Leopoldo / RS.
76
qualidade_de_software.indb 76 15/04/11 10:23
Qualidade de Software
Conhecer as características e subcaracterísticas da
ISO/IEC 9126 apenas inicia o trabalho.
A norma ISO/IEC 9126 nos detalha aspectos que devem ser
avaliados em um produto para ser considerado de qualidade, mas
para fazer a avaliação é necessário a obtenção de maiores detalhes
sobre como fazer uma avaliação da qualidade de um software.
É neste contexto que entra a ISO/IEC 14598. Esta norma descreve
detalhadamente todos os passos para que se avalie um software.
Seção 3 - ISO/IEC 14598
A norma ISO/IEC 14598 define um processo de avaliação
da qualidade do software. Ela orienta que o seu uso deve ser
feito em conjunto com a norma ISO 9126, já que esta define as
métricas de qualidade de software.
A norma ISO/IEC 14598 inclui modelos para
relatórios de avaliação, técnicas para medição das
características, documentos necessários para avaliação
e fases da avaliação.
No processo de avaliação definido nesta norma, a identificação
das necessidades do usuário é um passo importante para a
qualidade do uso.
Tais requisitos são informais por natureza e precisam ser
formalizados. Eles podem ser quantificados e a qualidade de uso
avaliada em métricas (ISO/IEC 9126).
A norma leva em consideração três grupos de avaliadores:
Empresas que desenvolvem software que procuram
melhorar a qualidade de seu próprio produto.
Unidade 3 77
qualidade_de_software.indb 77 15/04/11 10:23
Universidade do Sul de Santa Catarina
Empresas que adquirem software possibilitando
determinar a qualidade do produto que irão adquirir.
Empresas que fazem certificação apoiando a emissão de
um documento oficial sobre a qualidade de um software.
Como a norma é apresentada?
A norma é apresentada no quadro a seguir, na forma de seis
processos, acompanhe:
Norma Processo
Visão Geral - A primeira parte da norma ensina a utilizar as outras normas do grupo. Ela apresenta a estrutura de
funcionamento da série de normas para a avaliação da qualidade do produto de software, assim como apresenta
a definição de termos técnicos utilizados no modelo.
Deve ser usada em conjunto com a ISO/IEC 9126 por todos aqueles que necessitem verificar a qualidade do
produto de software.
Planejamento e Gerenciamento - A segunda parte apresenta como fazer uma avaliação, de forma geral. A
norma apresenta requisitos, recomendações e orientações para uma função de suporte ao processo de avaliação
do produto de software. O suporte refere-se ao planejamento e a gestão do processo de avaliação e a tecnologia
necessária para realização da avaliação.
Esta norma apoia o processo de avaliação conforme o público-alvo.
Guia para Desenvolvedores - A terceira parte da norma propõe como avaliar sob o ponto do vista de quem
desenvolve. O desenvolvedor deve definir as condições sob as quais as medições devem ser executadas. Isto significa
ISO/IEC 14598
que deve identificar outros atributos cujos valores influem nas medições.
Lembre-se que esta norma pretende a definição e o acompanhamento e controle da qualidade durante o
desenvolvimento do software.
Guia para Aquisição - Como avaliar sob o ponto de vista de quem vai adquirir. A norma está dividida em dois
processos distintos: um para aquisição de produtos de software de prateleira e outro para aquisição de software sob
encomenda ou modificação em produtos de softwares existentes.
É muito usada na aceitação ou seleção de um produto de software.
Pense em como esta norma pode ser útil se você for o comprador de softwares aplicativos para sua empresa. De
forma segura, você vai poder avaliar qual o melhor produto para sua empresa entre tantos fornecedores!
Guia para Avaliação - O guia de avaliação apoia empresas de certificação: como avaliar sob o ponto de vista
de quem certifica. Fornece requisitos e recomendações para implementação prática de avaliação de produto de
software. Deve ser usada para a definição e acompanhamento de um processo de avaliação.
Módulos de Avaliação - O módulo de avaliação é uma norma de apoio, oferece detalhes sobre como avaliar
cada característica, definindo a estrutura e o conteúdo da documentação a ser utilizada para descrever um
módulo de avaliação.
Quadro 3.3 – Norma ISO/IEC 14598 e suas partes.
Fonte: NBR ISO 14598 (2002).
78
qualidade_de_software.indb 78 15/04/11 10:23
Qualidade de Software
Quais características são esperadas no processo de
avaliação da norma?
As características esperadas no processo, segundo Tsukumu
(1997), é que ele seja:
Repetitível – se você avaliar repetidamente um mesmo
produto, usando a mesma especificação da avaliação
realizada por um mesmo avaliador, deve produzir
resultados idênticos.
Reprodutível – se você avaliar repetidamente um
mesmo produto, usando a mesma especificação da
avaliação realizada por outro avaliador, deve produzir
resultados idênticos.
Imparcial – a avaliação não deve ser influenciada frente
a nenhum resultado particular.
Objetivo – os resultados da avaliação devem ser
factuais, não devem ser influenciados por sentimentos
ou opiniões do avaliador.
Quais as atividades propostas no processo de avaliação
da norma?
De acordo com a NBR ISO 14598/2002, são cinco as atividades
propostas:
Análise de requisitos da avaliação – na primeira
atividade, você descreve os objetivos da avaliação. Você
pode considerar pontos de vista do fornecedor, do
comprador, do desenvolvedor, entre outros.
Especificação da avaliação – nesta segunda atividade,
se estabelece o escopo da avaliação e as medidas a serem
executadas no produto submetido à avaliação nos seus
componentes.
Projeto de avaliação – nesta terceira atividade,
documentam-se os procedimentos a serem usados pelo
avaliador para executar as medidas especificadas na etapa
Unidade 3 79
qualidade_de_software.indb 79 15/04/11 10:23
Universidade do Sul de Santa Catarina
anterior. Nesta etapa o avaliador produz um plano de
avaliação, no qual descreve os recursos necessários para
executar a avaliação.
Fase de execução da avaliação – na quarta atividade, é
o momento onde se colhe os resultados da execução de
ações para medir e verificar o produto de software de
acordo com os requisitos da avaliação.
Aqui já se produz um rascunho do relatório de avaliação
e o registro da avaliação.
Conclusão da avaliação - a quinta e última atividade,
é onde deve ser revisado o relatório de avaliação e
disponibilizados os resultados do trabalho.
Seção 4 - ISO/IEC 12119
A norma ISO/IEC 12119, publicada em 1994, estabelece os
requisitos e instruções a respeito de como testar um pacote de
software, em relação aos requisitos estabelecidos para os pacotes
conhecidos como “software de prateleira”.
O escopo da norma refere-se ao pacote de software oferecido
no mercado e não aos processos de desenvolvimento e
fornecimento do software.
O que exatamente trata a norma?
Esta norma trata de todos os componentes do produto disponíveis
ao usuário (documentação, manual de instrução e guia de
instalação) na forma como são oferecidos e liberados para uso. Os
componentes de avaliação da norma são descritos na figura a seguir:
80
qualidade_de_software.indb 80 15/04/11 10:23
Qualidade de Software
Figura 3.2 - Estrutura da Norma ISO/IEC 12119.
Fonte: Adaptado de Tsukumo (1997).
4.1 - Requisitos de Qualidade
São requisitos de qualidade necessários para a realização da
avaliação:
Descrição do produto: é um documento que descreve as
propriedades do produto. Este documento deve orientar
compradores potenciais na avaliação da adequação do
produto antes de comprá-lo. Deve incluir declarações
sobre funcionalidade, confiabilidade, usabilidade,
eficiência, ou manutenção, e portabilidade.
Documentação do usuário: é o conjunto de
documentos que podem ser impressos (manuais do
usuário, instalação etc) ou digitais (Help, site de
ajuda) oferecidos para o usuário visando orientá-lo na
utilização do produto de software.
Programas e dados: conjunto completo de programas
de computador e dados para a aplicação do produto de
software. Deve descrever em detalhes cada uma das
funções do software.
Unidade 3 81
qualidade_de_software.indb 81 15/04/11 10:23
Universidade do Sul de Santa Catarina
4.2. Instruções para Teste
São instruções necessárias para a realização da avaliação:
Pré-requisitos de teste - lista de itens necessários ao
teste, incluindo documentos do pacote, componentes do
sistema e material de treinamento.
Atividades de teste - instruções detalhadas sobre os
procedimentos de teste, inclusive instalação e execução
de cada uma das funções descritas.
Registro de teste - informações sobre como os testes
foram realizados, de tal forma a permitir uma reprodução
destes testes. Deve incluir parâmetros utilizados,
resultados associados, falhas ocorridas e até a identidade
do pessoal envolvido.
Relatório de teste - relatório incluindo identificação
do produto, hardware e software utilizados,
documentos utilizados, resultados dos testes, lista
de não conformidade com os requisitos, lista de não
conformidade com as recomendações, datas etc.
Na sala virtual desta disciplina, você encontra textos
complementares sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e bons estudos!
82
qualidade_de_software.indb 82 15/04/11 10:23
Qualidade de Software
Síntese
A avaliação do produto de software tem sido utilizada por
empresas desenvolvedoras para assegurar a qualidade de seus
produtos. Para que esta avaliação ocorra com o sucesso, é
necessário o uso de um modelo de qualidade que estabeleça
claramente e permita avaliar os requisitos de qualidade, além
disto o processo de avaliação deve ser claramente definido e
estruturado. A ISO/IEC 9126-1 é um modelo de qualidade
que privilegia a visão do usuário não importando se é usuário
final, programador ou analista. O modelo é hierárquico formado
por níveis. No primeiro nível, estão definidas as características
de qualidade do produto e no segundo nível são definidas as
subcaracterísticas relacionadas a cada uma das características do
nível anterior.
A norma ISO/IEC 14598 é usada em conjunto com a ISO/IEC
9126-1, servindo de apoio e completando o processo de avaliação.
A ISO/IEC 14598 descreve inclusive modelos para relatórios de
avaliação, técnicas para medição das características, documentos
necessários para avaliação e fases da avaliação. A norma ISO/
IEC 12119 foi concebida para avaliação de “softwares de
prateleira”. Cada uma das três normas podem ser utilizadas de
forma complementar.
O uso de normas que avaliam o produto de software oferece
respaldo para as empresas de desenvolvimento na forma de
padrão e direcionamento para execução do processo, revertendo
em produtos de qualidade para o usuário final.
Unidade 3 83
qualidade_de_software.indb 83 15/04/11 10:23
Universidade do Sul de Santa Catarina
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) Identifique (V) Verdadeiro ou (F) Falso para as expressões que seguem:
a) ( ) A norma ISO 12119 é responsável pela avaliação de produtos de
software.
b) ( ) A norma NBR 13596 é a tradução para o português da norma ISO/
IEC 14598.
c) ( ) A ISO/IEC 9126 pode ser usada na avaliação do software
desenvolvido antes da entrega ao cliente ou antes da aceitação pelo
cliente.
d) ( ) A norma 14598 oferece um processo de avaliação adaptado para
três visões: a visão do desenvolvedor, a visão do comprador e a visão do
avaliador.
e) ( ) A parte 4 da ISO/IEC 9126 estabelece as métricas para avaliação da
qualidade de uso.
2) Assinale a(s) afirmativa(s) correta(s). É correto afirmar que para
determinar a qualidade do produto:
a) ( ) A qualidade do produto pode ser determinada simplesmente
pela satisfação do usuário.
b) ( ) A satisfação do cliente pode ser considerada como um atributo
entre outros a ser avaliado.
c) ( ) O uso de um modelo organiza os atributos a serem avaliados,
determinando claramente sua importância ou influência na qualidade
do produto.
84
qualidade_de_software.indb 84 15/04/11 10:24
Qualidade de Software
3) Relacione a 1ª coluna (as características da ISO/IEC 9126) com a 2ª (suas
subcaracterísticas):
a) Funcionalidade ( ) Inteligibilidade, aprensibilidade,
operacionalidade.
b) Confiabilidade
( ) Maturidade, tolerância a falhas,
c) Usabilidade recuperabilidade.
d) Eficiência ( ) Adequação, acurácia, interoperabilidade,
e) Manutenibilidade conformidade, segurança de acesso.
f) Portabilidade ( ) Comportamento no tempo e recursos.
( ) Analisibilidade, modificabilidade,
estabilidade, testabilidade.
( ) Adaptabilidade, Instabilidade,
substituibilidade.
4) Qual a importância na norma ISO/IEC 14598 da característica do
processo de avaliação ser reprodutível e imparcial?
Unidade 3 85
qualidade_de_software.indb 85 15/04/11 10:24
Universidade do Sul de Santa Catarina
5) Descreva os requisitos de qualidade necessários para a avaliação da
norma ISO/IEC 12119.
Saiba mais
Para aprofundar seu estudo sobre qualidade do produto, leia:
SOMMERVILLE, Ian. Engenharia de Software. São Paulo:
Editora Prentice-Hall, 2003.
86
qualidade_de_software.indb 86 15/04/11 10:24
4
unidade 4
Métricas de software
Objetivos de aprendizagem
Conhecer a importância do uso de medidas no
processo de desenvolvimento de software e
sua relação direta no controle do processo de
qualidade.
Tomar contato com técnicas e métodos de
medição reconhecidos pela comunidade de
desenvolvimento de software.
Seções de estudo
Seção 1 Por que medir?
Seção 2 Os tipos de métricas
Seção 3 PSM – Practical Software Measurement
qualidade_de_software.indb 87 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para início de estudo
Quando você observa uma empresa de desenvolvimento de
software com vários funcionários e logo imagina como o gerente
consegue acompanhar a produtividade de seus funcionários,
como administrar seus clientes e seus problemas, indiretamente
você está pensando no desempenho da empresa. E, é a partir
deste ponto, que se forma a ideia da necessidade de quantificar
fases do processo.
A necessidade de quantificar fases de processo pode ser
viabilizada a partir da utilização de um mecanismo de medição
que forneça um retrato da situação atual, de forma quantitativa.
A busca pela qualidade utilizando métricas de software deve ser
aplicada tanto às pessoas que produzem o produto, quanto para o
processo em que se desenvolve o mesmo produto.
Dificilmente se encontra uma organização de desenvolvimento
de software que não tenha, de alguma forma, uma infraestrutura
de medição, assim como é impossível imaginar um processo de
qualidade sem que o mesmo faça uso de medidas.
A partir das informações obtidas com a medição, você toma
decisões e estabelece ações de melhoria ou correções necessárias,
mas para medir é necessário definir o que medir, como medir e
como analisar o que foi medido.
Nesta unidade, você vai estudar algumas técnicas utilizadas na
medição de produtos e processos de software e sua relevância
para se obter a qualidade. Bem-vindo ao estudo da unidade
medidas de software!
88
qualidade_de_software.indb 88 15/04/11 10:24
Qualidade de Software
Seção 1 – Porque medir?
Quando você inicia o estudo de métricas ou medidas de
software vai encontrar nos livros de engenharia de software uma
justificativa que se repete em todos os autores:
Medições e métricas auxiliam a entender o processo usado para
se desenvolver um produto.
Mas você pode se perguntar: por que medir? A
implantação de um processo de qualidade não é o
suficiente para garantir a qualidade do produto?
A resposta infelizmente é não! Medindo, você pode saber se as
ações de melhoria implementadas no processo deram resultado.
Ao medir, você pode mostrar à administração que os recursos
destinados às melhorias foram bem empregados.
Resumindo: o uso de métricas apoia e valida quantitativamente a
evolução da qualidade do processo e consequentemente do produto!
E as medições, quando se trata de software?
Medições são necessárias para analisar a qualidade e a
produtividade do processo de desenvolvimento e manutenção, bem
como do produto de software construído.
Assim, você pode justificar a medição do software pensando
em uma forma de indicar a qualidade do produto, avaliar a
produtividade das pessoas que produzem o produto ou mesmo
para avaliar benefícios derivados de novos métodos e ferramentas,
justificando pedidos de novas ferramentas ou treinamento.
Para entender o alcance das métricas, é importante
dividi-las em duas categorias: as diretas e as indiretas.
Unidade 4 89
qualidade_de_software.indb 89 15/04/11 10:24
Universidade do Sul de Santa Catarina
Se você pensar em termos de medidas diretas no processo de
engenharia de software você deve incluir questões como custo e
esforço aplicados no processo.
Então pense: o que poderia ser uma medida direta? Você
poderia usar como medida direta o número de linhas de código
do programa, o número de erros observados durante os testes,
a quantidade de memória utilizada por um determinado
programa ou mesmo a quantidade de processador necessário
para rodar o programa.
Se você pensar em medidas indiretas do produto, então
vai estar medindo questões como a funcionalidade, a
qualidade, a complexidade, a eficiência, a confiabilidade e a
manutenibilidade do produto.
Imagine que você seja escalado para medir a
manutenibilidade de um web site. Neste caso, você
poderia usar como medida o tempo e o número de
pessoas necessárias para a realização de solicitações
de atualização do cliente, por exemplo.
Medidas diretas e indiretas: facilidades
As medidas diretas são mais fáceis de serem aplicadas quando
um padrão claro de medição é adotado antecipadamente, já as
indiretas são mais difíceis de serem medidas.
Acredito que a esta altura você já esteja convencido da
importância das métricas que permitem a melhoria do processo e
o aumento da qualidade do produto.
As métricas apropriadas para o processo e o produto
Para chegar a esta resposta e consequente à implementação de um
programa de métricas, é preciso identificar os tipos e categorias
de métricas existentes (métricas de tamanho de software,
métricas de qualidade, métricas de produtividade e outras) e os
usuários das métricas (os que farão uso dos resultados).
90
qualidade_de_software.indb 90 15/04/11 10:24
Qualidade de Software
Ao iniciar a aplicação de um programa de métricas, procure definir
métricas simples de entender e objetivas, exitando a influência de
julgamento pessoal na coleta, cálculo e na análise dos resultados.
As métricas usadas devem ser informativas, seus resultados
devem retornar na forma de informações que possibilitem avaliar
resultados de decisões e ações realizadas no passado (acertadas
ou não), que evidenciem a ocorrência de eventos presentes, bem
como prever a possibilidade de ocorrências de eventos futuros.
As métricas devem ser efetivas no custo, ou seja, o valor
da informação obtido como resultado das medições deve
compensar o custo de coletar, armazenar e calcular as métricas
(CAMPELO, 2002).
As características desejáveis em um conjunto de métricas
Algumas características desejáveis, segundo Brito e Abreu (1994),
relacionam que as métricas devem:
ser bem definidas;
ser dimensionáveis ou expressas em alguma unidade;
ser obtidas o mais cedo possível no ciclo de vida do sistema;
ser facilmente calculadas;
estar em uma escala que aumente sua precisão;
ser vistas como probabilidades de forma a permitir a
aplicação de teorias estatísticas sobre as mesmas;
A utilização de métricas, quando bem utilizadas, oferecem ao
gerente do projeto estimativas que são usadas para manter o projeto
dentro do cronograma e custo previstos.
O projeto de desenvolvimento de um software se assemelha em
muito a um rally. Muitos são os riscos que podem atrasar ou
comprometer a qualidade do projeto, o uso de estimativas minimiza
e até mesmo apoia o preparo da equipe para estas situações.
Para ilustrar bem esta comparação, leia com atenção o texto
que segue:
Unidade 4 91
qualidade_de_software.indb 91 15/04/11 10:24
Universidade do Sul de Santa Catarina
Métricas e estimativas de Software - O início de um rally de
regularidade
Imagine que você faça parte de uma equipe de rally, e que
você e sua equipe tenham que atravessar um deserto enorme
e cheio de obstáculos e que 50% dos fatores críticos de sucesso
dependam do seu navegador para estimar o tempo do percurso
e a distância. Agora imagine-se diante de um projeto de Sistemas
de Informação onde 50% dos fatores críticos de sucesso estão
nos prazos e custos. Certamente você terá que fazer uma
eficiente métrica e estimativa de software.
As métricas e estimativas de software vêm se tornando um dos
principais tópicos na Engenharia da Informação com a crescente
exigência de seus consumidores pela qualidade, rapidez,
comodidade e baixo custo de implantação e manutenção. É
impossível não enxergar tais técnicas como alavanca para um
produto de melhor qualidade, com custos adequados.
Mas existem ainda muitas barreiras que impedem os
profissionais da área de utilizarem tais técnicas ou de o fazerem
de maneira errônea, embora a literatura disponível atualmente
sobre engenharia da informação seja relativamente ampla e
variada, o que nos leva a questionar:
Tais questões nos levam a crer que algumas métricas e
estimativas de software ficaram obsoletas e outras ganharam
vigor nas épocas atuais, quando a busca da qualidade de
software vem crescendo com grande rapidez.
A métrica de software tem como princípios especificar as
funções de coleta de dados de avaliação e desempenho, atribuir
essas responsabilidades a toda a equipe envolvida no projeto,
reunir dados de desempenho pertencentes à complementação
do software, analisar os históricos dos projetos anteriores para
determinar o efeito desses fatores e utilizar esses efeitos para
pesar as previsões futuras. Estes princípios nos permite prever o
resto do processo, avaliar o progresso e reduzir a complexidade,
como numa prova de rally, onde a cada corrida ficamos mais
esclarecidos das condições e limites da equipe.
Fonte: GOMES, Álvaro Eduardo. Revista Linha de código. Publicado em:
09/05/2003. Disponível em: <[Link]
M%C3%A9tricas-e-Estimativas-de-SoftwareO-in%C3%ADcio-de-um-rally-de-
[Link]>. Acesso em: 7 fev. 2011.
Agora que você compreendeu a importância de medir, conheça
na próxima unidade quais são os tipos de métricas.
92
qualidade_de_software.indb 92 15/04/11 10:24
Qualidade de Software
Seção 2 – Os tipos de métricas
Pressman (1995) dividiu o domínio das métricas de software sob o ponto
de vista da aplicação em:
a) Métricas de qualidade: oferecem uma indicação de quanto o
software pode adequar-se às exigências implícitas e explícitas do
cliente. Normalmente, a qualidade é medida durante todo o processo
de engenharia de software (complexidade, modularidade e tamanho
do programa) e depois que o produto é entregue a seu usuário (número
de defeitos, manutebilidade do sistema). Tipicamente empresas
desenvolvedoras utilizam-se da norma ISO/IEC 9126, que possuem um
conjunto de métricas relacionadas às suas características.
b) Métricas de produtividade: concentra-se na saída do processo de
engenharia de software.
c) Métricas técnicas: concentra-se na característica do software, na sua
complexibilidade lógica e grau de manutenibilidade e não no processo
por meio do qual o software foi desenvolvido.
d) Métricas orientadas ao tamanho: são medidas diretas do software e
do processo por meio do qual ele é desenvolvido.
e) Métricas orientadas para função: são medidas indiretas do
software e do processo por meio do qual ele é desenvolvido, determina
de forma consistente o tamanho e a complexidade de um software.
f) Métricas orientadas às pessoas: compilam informações sobre
a maneira segundo a qual as pessoas desenvolvem software de
computador, e as percepções humanas sobre a efetividade das
ferramentas e métodos.
A classificação das métricas não é uma unanimidade, em alguns casos
parecem até redundantes, como no caso das métricas de produtividade
e orientadas ao tamanho. A seguir, acompanhe mais detalhes sobre as
métricas orientadas ao tamanho e a função:
Métricas orientadas ao tamanho
As métricas de software orientadas ao tamanho são medidas diretas do
software e do processo de desenvolvimento de software.
Unidade 4 93
qualidade_de_software.indb 93 15/04/11 10:24
Universidade do Sul de Santa Catarina
Imagine a seguinte situação: você tem uma pequena empresa de
desenvolvimento e mantém registros relacionados ao tamanho destes
projetos (em linhas de código) no decorrer dos últimos 5 anos.
Estes dados serão a base para alimentar um conjunto de métricas de
qualidade e de produtividade orientadas ao tamanho para cada projeto.
Observe a figura a seguir:
Projeto Esforço $ KLOC Pg/Doc Erros Pessoas
Folha de Pagamento 24 168 12.1 365 29 3
Contabilidade 62 440 27.2 1224 86 5
Contas a Pagar 43 314 20.2 1050 64 6
Legenda:
Esforço - número de meses de desenvolvimento
$ - custo em dólares ( X 100 )
KLOC - número de linhas de código ( X 100 )
PG/Doc - refere-se ao número de páginas de documentação
Erros - erros encontrados na fase de testes
Pessoas - número de pessoas envolvidas no desenvolvimento
Observe que as métricas orientadas ao tamanho giram em torno do
número de linhas de código (LOC) como a principal medida. Veja que, a
partir do quadro apresentado, torna-se possível calcular a produtividade, a
qualidade, o custo e o nível de documentação do projeto. Acompanhe:
Produtividade = KLOC/pessoa-mês
Qualidade = erros/KLOC
Custo = $/LOC
Documentação = páginas documentação/KLOC
Contas a Pagar
Produtividade = 20200 / 6 = 3366,67
Qualidade = 64/20200 = 0,003168
Custo = 31400/20200 = 1,55
Documentação = 1050/20200 = 0,05198
No sistema de contas a pagar, o custo por linha de código do projeto foi de
US$ 1,55, então foram implementadas 20.200 linhas a um custo de US$ 1,55
por linha de código. Já a produtividade da equipe foi de 3366,67 linhas de
código para cada membro da equipe de desenvolvimento.
Este tipo de métrica, orientada ao tamanho, possui como grande
vantagem sua fácil obtenção, o grande volume de literatura
94
qualidade_de_software.indb 94 15/04/11 10:24
Qualidade de Software
e dados históricos disponíveis. Mas seu uso possui muitos
opositores que criticam a dependência da métrica do tipo de
linguagem de programação. Seu uso com linguagens procedurais
é eficiente, mas de difícil utilização em linguagens não-
procedurais como linguagens orientadas a objetos (JAVA), pois
não considera questões como herança, penalizando programas
bem escritos. De qualquer maneira, sua aplicação depende de
uma base histórica de projetos anteriores.
Métricas orientadas à função
A métrica orientada à função mede o software através da
quantificação de sua funcionalidade fornecida ao usuário.
Consiste em um método para medição de software que
determina de forma consistente o tamanho e a complexidade de
um software, sob a perspectiva do usuário, independentemente
da tecnologia utilizada.
Não são contadas linhas de código. A métrica orientada à função
concentra-se na funcionalidade ou utilidade do programa. Uma
abordagem foi sugerida baseada nesta proposta chamada de
pontos por função (function point).
Os pontos por função (FPs) são derivados, usando-se uma
relação empírica baseada em medidas de informações e
complexidade do software.
Pontos de Função e Medidas: o que é um Ponto de Função?
O que é Tamanho Funcional?
Tamanho funcional é uma medida de tamanho de software
baseada em uma avaliação padronizada dos requisitos lógicos
dos usuários. Semelhante aos metros quadrados de uma casa,
pontos de função são independentes dos métodos físicos,
ferramentas ou linguagem de desenvolvimento utilizados para
construir o software. O processo de cálculo de pontos de função
está contido no Manual de Práticas de Contagem (atualmente
em sua versão 4.0) do Grupo Internacional de Usuários de Pontos
de Função (IFPUG).
Unidade 4 95
qualidade_de_software.indb 95 15/04/11 10:24
Universidade do Sul de Santa Catarina
O que são Pontos de Função?
Da mesma maneira que a medida em metros quadrados do
tamanho de uma casa não permite deduzir a velocidade com a
qual a casa pode ser construída ou o seu tempo de construção,
o tamanho em Pontos de Função NÃO mede a produtividade
ou o esforço de desenvolvimento. Pontos de função medem
o tamanho do QUE o software faz, ao invés de COMO ele é
desenvolvido e implementado. Isto significa que, dado um
conjunto de requisitos de usuário, o tamanho funcional do
software será o mesmo, seja ele desenvolvido com a utilização
de COBOL ou DB2, usando desenvolvimento rápido de
aplicações (RAD) ou métodos estruturados de desenvolvimento.
Como calcular pontos de função?
Pressmann (1995) identifica as funções de negócio no cálculo do
ponto de função em 5 funções principais:
Entradas (EE) - são informações fornecidas ao sistema
pelo usuário, ou seja, entrada de dados no sistema feitas
pelo usuário, por exemplo a inclusão, alteração ou exclusão
dos dados cadastrais para fazer sua ficha na locadora, ou o
lançamento dos dados de um DVD recebido pela locadora.
Saídas (SE) - as saídas são relatórios, mensagens de erro,
telas do sistema. Usando como exemplo, um sistema de
videolocadora uma SE seriam relatórios de clientes, a
impressão do bloqueto de assinatura de retirada de fita.
Consultas (CE) - são perguntas diretas em uma base de
dados ou em um arquivo que busca por dados específicos,
usam chaves simples, requerem resposta imediata e não
fazem nenhuma atualização (saídas para as consultas do
usuário). Você pode contar aqui telas de consulta, como a
tela para verificar se o DVD que você deseja alugar está na
locadora ou não, ou mesmo uma tela de consulta do seu
cadastro para verificar pendências de pagamento.
96
qualidade_de_software.indb 96 15/04/11 10:24
Qualidade de Software
Arquivos (ALI) - cada agrupamento lógico de dados,
que pode ser uma parte do banco de dados ou um arquivo
convencional, é contado. Um exemplo de ALI é o arquivo
que armazena as informações de todos os clientes e os
DVDs da locadora.
Interfaces Externas (AIE) - com outro sistema, todas
as interfaces legíveis por máquina, como arquivos de
dados em fita ou disco que sejam usadas para transmitir
informações a outro sistema, são contadas.
Imagine um processo que exija a transmissão de
dados como no caso de duplicatas cobradas por
um determinado banco. O seu sistema gera as
duplicatas e posteriormente estas são transmitidas
para o sistema do banco que irá cobrá-las. Este é um
exemplo de interface externa).
Quando as funções (EE, SE, CE, ALI, AIE) são avaliadas,
você vai ponderar a complexidade das funções em baixa, média
ou alta. São atribuídos pesos de acordo com a complexidade de
cada função de negócio. Por exemplo, se você tiver uma entrada
de dados em um dos programas do sistema considerado como
complexa, você vai multiplicar 1 X 6 e o valor da contagem para
este programa será 6.
Parâmetro de Contagem Fator de Ponderação Pontos
medida
Simples Médio Complexo
EE X3 X4 X6
SE X4 X5 X7
CE X3 X4 X6
ALI X7 X 10 X 15
AIE X5 X7 X 10
Unidade 4 97
qualidade_de_software.indb 97 15/04/11 10:24
Universidade do Sul de Santa Catarina
Veja outro exemplo:
Imagine que você pretenda calcular o ponto por
função de um sistema simples, composto apenas por
um cadastro de alunos, cadastro de notas, relatório
em ordem alfabética de aluno e exportação dos dados
do aluno para um arquivo no formato Excel que será
utilizado por outro setor da escola. O primeiro passo
vai ser a identificação das funções do negócio.
Contagem:
ALI = 02 (temos no sistema o arquivo de alunos e o arquivo de notas)
AIE = 0
SE = 01 (como saída, só existe uma listagem de alunos em ordem alfabética)
(existem duas entradas de dados, uma para inclusão de dados do aluno
EE = 02 e outra para inclusão de notas)
(os dados do aluno são exportados para que possam ser consultados no
CE = 01 arquivo Excel)
Todos os tipos de função serão considerados de
complexidade SIMPLES neste exemplo.
Fator de Ponderação
Parâmetro Contagem Pontos
de medida
Simples Médio Complexo
EE 02 X3 06
SE 01 X4 04
CE 01 X3 03
ALI 02 X7 14
AIE X5 0
Total 27
Para calcular os pontos por função, você vai utilizar
esta fórmula:
FP = contagem total x [0,65 + 0,01 x SOMA(Fi)]
98
qualidade_de_software.indb 98 15/04/11 10:24
Qualidade de Software
O que é a SOMA(Fi)?
A Fi representa um fator de ajuste sobre fatores que influenciam
a implantação do software.
Este fator de ajuste é extraído de uma lista de fatores (exemplo:
14 fatores) adaptada às necessidades da empresa, podendo ser
modificada de acordo com suas necessidades.
A tabela apresentada é um exemplo de fatores que
podem ser considerados na avaliação:
1. Comunicação de dados
2. Processamento de dados distribuído (funções
distribuídas)
3. Performance
4. Configuração do equipamento
5. Volume de transações
6. Entrada de dados on-line
7. Interface com o usuário
8. Atualização on-line
9. Processamento complexo
10. Reusabilidade
11. Facilidade de implantação
12. Facilidade operacional
13. Múltiplos locais
14. Facilidade de mudanças
Fonte: Koscianski (2007)
Cada fator deve ser pontuado com valores de 0 a 5, de acordo
com sua influência sobre o processo de desenvolvimento:
0: Sem influência 3: Médio
1: Incidental 4: Significativo
2: Moderado 5: Essencial
Acompanhe que na tabela a seguir o fator de ajuste do sistema de
alunos pela contagem dos fatores. Lembre-se que esta contagem
é um exemplo e pode ser diferente de acordo com o projeto ou
mesmo a situação da empresa desenvolvedora.
Unidade 4 99
qualidade_de_software.indb 99 15/04/11 10:24
Universidade do Sul de Santa Catarina
Fator Contagem
1. Comunicação de dados 0
2. Processamento de dados distribuído (Funções Distribuídas) 0
3. Performance 3
4. Configuração do equipamento 3
5. Volume de transações 2
6. Entrada de dados on-line 3
7. Interface com o usuário 4
8. Atualização on-line 5
9. Processamento complexo 0
10. Reusabilidade 0
11. Facilidade de implantação 0
12. Facilidade operacional 0
13. Múltiplos locais 0
14. Facilidade de mudanças 0
Total 20
Neste caso, considere que a performance do software tem uma
influência média no projeto, que a atualização on-line de notas é
essencial que a interface do usuário é um fator significativo para o
sucesso do produto.
Assim, substituindo na fórmula:
FP = contagem total x [0,65 + 0,01 x SOMA(Fi)]
FP = 27 X [ 0,65 + 0,01 X 20 ]
FP = 22,95
Ao chegar ao valor do ponto por função (22,95), você pode usar
as seguintes medidas para cálculos de produtividade, qualidade e
custos já utilizados anteriormente usando KLOC:
Calcular a produtividade > Produtividade = FP/pessoa-mês.
Calcular a qualidade > Qualidade = defeitos/FP.
Calcular o custo > Custo = $/FP.
Calcular a documentação > Documentação = páginas de documentação/FP.
100
qualidade_de_software.indb 100 15/04/11 10:24
Qualidade de Software
Lembre-se: para usar as métricas de ponto por função
para uma proposta orientada a objetos, é necessário
adaptar a contagem dos pontos considerando o
número de classes, número de cases, número de
métodos, médias de métodos, médias de métodos
por classe, linhas de código por método, profundidade
máxima da hierarquia de classes, a relação existente
entre métodos públicos e privados, entre outros.
Quais são os benefícios das métricas orientadas à função?
As métricas orientadas à função apresentam vários benefícios,
sendo usadas como:
forma de dimensionar aplicações;
veículo para quantificar custo, esforço e tempo;
ferramenta para cálculo de índices de produtividade e
qualidade do mesmo;
fator de normalização para comparar software.
Hoje ela é usada em conjunto na implantação do modelo CMM
e CMMi como apoio à implantação das áreas-chaves Gerência
de Requisitos, Planejamento e Acompanhamento de Software e
Gerência de Subcontratação de Software.
O uso do ponto por função ultrapassou as barreiras para avaliação
da qualidade e sua quantificação está sendo usada inclusive para a
aquisição de produtos de software.
Unidade 4 101
qualidade_de_software.indb 101 15/04/11 10:24
Universidade do Sul de Santa Catarina
A Solução Australiana para os Projetos de Desenvolvimento
de Sistemas
O governo do Estado de Victoria, Austrália, possui um orçamento
anual para software da ordem de US$ 26 milhões, cerca de R$ 66
milhões, sendo o líder nacional na utilização da TI para prover
serviços aos cidadãos.
Assim como outras organizações ela também tem enfrentado
sérios problemas no desenvolvimento de software.
Anteriormente, os preços eram fixos nas contratações de
desenvolvimento. Os fornecedores cotavam preços baixos nas
licitações, a fim de ganhar o contrato, na expectativa de que o
cliente solicitasse muitas alterações no decorrer do projeto. Essas
alterações eram cobradas a um preço alto, de modo a compensar
o preço baixo original.
A solução adotada foi a contratação baseada em um preço
fixo por ponto de função. Com base em uma especificação
preliminar, é licitado o preço por ponto de função.
O fornecedor é escolhido com base no preço oferecido e na
capacitação técnica. O pagamento é efetuado com base no
preço por ponto de função contratado, no tamanho do software
entregue e nas modificações solicitadas ao longo do projeto.
Fonte: AGUIAR, Mauricio. A Solução Australiana para os Projetos de
Desenvolvimento de Sistemas. PMI Information Systems Local Intest Group
– Rio. Disponível: <[Link] Acesso em:
19 jan. 2011.
No Brasil, empresas como Correios, Serpro, Dataprev e Caixa
Econômica Federal selecionam e pagam seus fornecedores
usando pontos por função. Neste caso, é utilizado para
determinar custo, qualidade e produtividade.
Agora que você conhece algumas métricas existentes no mercado,
estude na próxima seção um modelo de mensuração que foi
desenvolvido recentemente.
102
qualidade_de_software.indb 102 15/04/11 10:24
Qualidade de Software
Seção 3 - PSM – Practical Software Measurement
PSM é um modelo de mensuração patrocinado pelo
Departamento de Defesa Americano (DoD). Este modelo é
bastante recente e foi publicado pela primeira vez em 1997.
Apesar de novo, tem sido usado no mundo todo como base para
elaborar a Process Area Measurement and Analysis do CMMI e foi
padronizado pela norma ISO/IEC 15939 Software Engineering –
Software Measurement Process Framework.
Segundo Aguiar (2005), o PSM é adaptado para abordar os
objetivos, questões e requisitos de informação específicos do
sistema e do software, pertinentes a cada programa ou projeto. O
processo de medição do PSM é definido a partir de um conjunto
de 9 melhores práticas, denominadas princípios da medição.
Você sabia?
Fazem parte do desenvolvimento do PSM,
organizações muito diferentes como a Força Aérea, a
Marinha e o Exército americano, a Boeing, o Mitre, GTE
entre outros.
Segundo Aguiar (2002), o modelo de estruturação de atividades
de mensuração em um projeto de software, o PSM, deve resolver
alguns problemas básicos:
especificar formalmente as medidas que serão utilizadas
no processo;
conduzir o processo de medição.
O PSM atinge estes dois problemas fazendo uso de 2 modelos:
o modelo de informação e o modelo de processo. A seguir,
conheça mais detalhes sobre cada um destes modelos.
Unidade 4 103
qualidade_de_software.indb 103 15/04/11 10:24
Universidade do Sul de Santa Catarina
Modelo de Informação
No modelo de informação, você vai definir a estrutura e as
medidas que serão utilizadas no projeto. Neste modelo, existem
alguns conceitos:
Atributo – propriedade considerada fundamental sob
o ponto de vista de necessidades da informação (um
atributo importante pode ser as horas trabalhadas ou
mesmo as funcionalidades que você obtém a partir das
especificações do projeto).
Método – operação que mapeia o atributo para uma
escala (você pode usar o ponto por função para obter o
tamanho do projeto ou contar o tamanho do projeto em
número de horas ou mesmo linhas de código).
Medida básica – resultado da aplicação do método sobre
o atributo (se você aplicar o ponto por função vai ter como
medida básica o tamanho do projeto em pontos por função).
Função – algoritmo que combina duas ou mais medidas
básicas (se você contou o projeto em pontos por função,
pode dividir estes pontos pelo número de horas
trabalhadas nele, assim terá a medida do esforço para seu
desenvolvimento).
Modelo – algoritmo que combina medidas e critérios
de decisão.
Indicador – estimativa que promove uma baseline para
tomada de decisões.
104
qualidade_de_software.indb 104 15/04/11 10:24
Qualidade de Software
Figura 4.1 - Construção Mensurável.
Fonte: Aguiar (2005).
Modelo de Processo
O modelo de processo é um roteiro que apoia a equipe de
medição na condução das atividades para a execução da mesma.
O modelo é composto de três pontes principais: os processos
técnicos gerencias, os processos centrais de mensuração e a
avaliação da mensuração.
Unidade 4 105
qualidade_de_software.indb 105 15/04/11 10:24
Universidade do Sul de Santa Catarina
Figura 4.2 - Modelo de Processo.
Fonte: Aguiar (2005).
De acordo com a figura, observe que o processo que o processo
mais central compreende as atividades centrais de medição.
Neste processo, você tem atividades fundamentais como o
planejamento da medição.
Para planejar a medição, é necessário a execução de 3 subprocessos:
O primeiro deles é a identificação e priorização das
necessidades de informação. Neste subprocesso, você
considera questões como objetivos, itens críticos, ambiente
de execução, melhorias e mudanças necessárias. O PSM
classifica estas necessidades em categorias como prazo e
progresso, recursos e custo, tamanho e estabilidade do
produto, qualidade do produto, performance do processo,
eficácia da tecnologia e satisfação do usuário.
A segunda atividade deve ser a seleção e especificação das
medidas. Nesta etapa você vai selecionar os indicadores,
medidas básicas e derivadas.
106
qualidade_de_software.indb 106 15/04/11 10:24
Qualidade de Software
A terceira atividade é a integração da medição aos
processos de apoio. Nesta atividade, você vai analisar como
os dados serão coletados e analisados.
Todos os procedimentos de coleta de dados devem ser integrados
aos processos que fornecem dados. No plano de medição, você vai
ter o artefato gerado neste processo, com toda sua documentação.
Outro processo central é a execução da medição composto por 3
atividades principais:
A primeira atividade é a coleta e o processamento de
dados. Aqui você realiza a coleta de dados considerando a
especificação contida no plano de medição, sua preparação
e armazenamento de forma que a informação seja
facilmente recuperável.
A segunda atividade, análise dos dados, envolve a
transformação das medidas básicas em indicadores e sua
utilização em questões relacionadas ao planejamento e
ações corretivas.
A última atividade do processo de execução é a produção
de recomendações. Nesta etapa, são feitas avaliações do
projeto e projeções para o futuro.
Além deste processo central, você também tem processos
periféricos, como avaliar medição onde são avaliadas as medidas,
o próprio processo de mensuração e a base de experiência são
avaliadas e melhorias são identificadas e implementadas.
Outro processo periférico é o estabelecimento e sustentação
de compromissos que propõe obtenção do comprometimento
organizacional, definição de responsabilidades, previsão de recursos
e revisão do progresso do programa de mensuração.
Apesar do PSM ser um modelo relativamente novo, sua aceitação
no mercado tem sido expressiva principalmente ao ser combinada
com modelos como o CMM e o CMMI.
Unidade 4 107
qualidade_de_software.indb 107 15/04/11 10:24
Universidade do Sul de Santa Catarina
Síntese
O interesse pelo uso de métricas por empresas desenvolvedoras
de software tem aumentado de forma surpreendente nos últimos
anos. Isto tem ocorrido pelo reconhecimento por parte das
empresas, da necessidade de se estabelecerem métodos e medidas
consistentes que acompanhem a avaliação, o planejamento, o
gerenciamento e a evolução dos processo de produção.
A melhoria do processo acontece pela medição de seus atributos
significativos e pelo desenvolvimento de uma série de métricas
que forneçam indicadores capazes de apontar uma estratégia de
melhoria para este processo.
Medir não traz benefícios relacionados somente ao cumprimento
de prazos ou mesmo à estimativa de custo de um projeto, mas
traz benefícios gerais ao funcionário, possibilitando melhoria
no dimensionamento de sua carga de trabalho. Possibilitar
cursos e treinamentos, reequilibrar divisões de tarefas, alterar
processos considerados difíceis readequar equipes são alguns
dos resultados possíveis por meio da análise do processo de
medição. Nesta unidade, observou-se que técnicas e métodos
independentes, como o ponto por função e o PSM, podem ser
usados isoladamente ou em conjunto com outros modelos, como
no caso do CMM. Verificou-se que fundamental no processo de
medição é a definição do que medir, como medir e como analisar
os resultados desta medição.
108
qualidade_de_software.indb 108 15/04/11 10:24
Qualidade de Software
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) Identifique (D) para as medidas Diretas e (I) para as Indiretas:
a) ( ) Número de erros ocorridos na fase de testes.
b) ( ) Confiabilidade no sistema de arquivos do projeto.
c) ( ) Horas de manutenção do produto
d) ( ) Número de relatórios de consulta existentes no projeto.
e) ( ) Portabilidade do produto.
f) ( ) Usabilidade da interface.
2) Tendo em vista o que você estudou sobre métricas, leia as sentenças a
seguir e, para cada uma, elabore uma justificativa.
a) Métricas devem ser obtidas o mais cedo possível no ciclo de vida do
sistema.
Unidade 4 109
qualidade_de_software.indb 109 15/04/11 10:24
Universidade do Sul de Santa Catarina
b) Métricas devem ser vistas como probabilidades, de forma a permitir a
aplicação de teorias estatísticas sobre as mesmas.
110
qualidade_de_software.indb 110 15/04/11 10:24
Qualidade de Software
3) Imagine-se na seguinte situação: você desenvolveu um projeto contábil
com a implementação de 27.200 linhas de código com uma equipe de
5 pessoas, o projeto teve um custo de U$44.000 em um período de 62
meses.
A seguir, calcule a produtividade e o custo por linha de código deste
projeto.
4) Identifique (V) Verdadeiro ou (F) Falso para as seguintes afirmativas
sobre ponto por função :
a) ( ) Pontos por função medem o que o software faz.
b) ( ) Pontos por função medem o esforço de desenvolvimento.
c) ( ) As saídas computadas no ponto de função são relatórios e
mensagens de erro do sistema.
d) ( ) Bases de dados com informações persistentes, como cadastros
de produtos em um sistema de estoque, são os arquivos computados
no ponto de função.
e) ( ) As funções do ponto de função podem ser avaliadas somente em
alta e baixa.
f) ( ) A definição de atributos do que deve ser relevante para
considerar uma função como de complexidade alta, deve ser definido
pela empresa que implanta a métrica.
Unidade 4 111
qualidade_de_software.indb 111 15/04/11 10:24
Universidade do Sul de Santa Catarina
5) Quais são os dois modelos usados pelo PSM?
6) Descreva a seguir quais são as atividades existentes no planejamento
da medição.
Saiba mais
Para aprofundar os assuntos abordados nesta unidade você
poderá pesquisar o seguinte livro:
PRESSMAN, Roger S. Engenharia de software. São Paulo:
Makron Books, 1995.
112
qualidade_de_software.indb 112 15/04/11 10:24
5
unidade 5
Qualidade da interface
Objetivos de aprendizagem
Compreender a relevância e os conceitos
relacionados à interface humano- computador –
IHC no processo de qualidade.
Identificar a usabilidade como requisito da
qualidade.
Analisar o usuário-alvo e o contexto de utilização
da interface com base em conceitos de usabilidade.
Determinar os principais aspectos da usabilidade
de uma interface.
Seções de estudo
Seção 1 Interface humano-computador
Seção 2 O início da usabilidade
Seção 3 Os fundamentos para usabilidade
qualidade_de_software.indb 113 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para início de estudo
O uso da tecnologia da informação se disseminou pelo mundo
nos últimos 10 anos. Os avanços desta tecnologia, passando
do desenvolvimento de novas linguagens à nanotecnologia,
revolucionaram o seu cotidiano propondo facilidades, aumento
de produtividade, entretenimento e eficiência. É impossível
descrever em adjetivos o alcance destas novas tecnologias.
O uso de sistemas computacionais já era considerado revolucionário,
mas ao ingressar no mundo da internet o usuário conheceu a
globalização, o mundo está ao seu alcance por meio de sites e dos
mais diversos produtos oferecidos em suas páginas coloridas.
No segundo trimestre de 2010, a base mundial de domínios na
internet cresceu cerca de 12,3 milhões, o que representa 7% em
relação ao mesmo período de 2009. No Brasil, segundo estudo
publicado pela VeriSign, o número de domínios subiu 5% em
base anual. Neste relatório, o Brasil aparece como o sétimo maior
registrador de novos domínios com código de país do mundo,
entre abril e junho. Esta grande oferta de sites e o uso cada vez
mais intenso da tecnologia no dia a dia do cidadão comum,
no entanto, nem sempre produz uma interação agradável. Para
muitos sites, a interação torna-se um obstáculo intransponível
para o usuário, provocando erros, distrações, fadiga e frustração.
Nesta unidade, você irá perceber que a melhoria da interação
do seu cliente final e das interfaces que você constrói a partir da
visão de IHC apoiam a qualidade do produto de software.
Seção 1 - Interface humano-computador
Talvez você já tenha presenciado alguém elogiar um sistema. “O
sistema que usei no banco X é sensacional, fiz um pagamento de
um título como se estivesse em um caixa de atendimento pessoal”.
No entanto, sabemos que a realidade é, muitas vezes, bem diferente.
114
qualidade_de_software.indb 114 15/04/11 10:24
Qualidade de Software
Você pode imaginar os motivos pelos quais, apesar de
tantos avanços da área de tecnologia, ainda tenhamos
tantas dificuldades para interagir com sistemas
informatizados?
Isto acontece porque o sistema deveria esconder a tecnologia, em
outras palavras, os usuários não deveriam notar sua presença. As
pessoas deveriam estar preocupadas em aprender a tarefa e não a
utilizar a tecnologia.
Se fosse assim, no caso apresentado a seguir, a esposa estaria
focada no objetivo de realizar a tarefa (pagar o resgate do marido)
e a tecnologia seria usada para aumentar sua produtividade, seu
poder ou divertimento, sendo portanto invisível ou transparente
para o usuário.
É justamente deste ponto que trata o estudo da disciplina de
IHC – Interface Humano Computador. Segundo a ACM
SIGCHI (2005), interação humano-computador é uma área de
pesquisa dedicada a estudar os fenômenos de comunicação entre
pessoas e sistemas computacionais.
Entre os principais objetivos do IHC estão:
a produção de sistemas usáveis, seguros e funcionais;
desenvolver ou melhorar a segurança, utilidade,
efetividade e usabilidade de sistemas computacionais.
Estudos em IHC estão fortemente ligados à
aceitabilidade da interface e consequentemente a
qualidade do produto de software.
Um fator importante e árduo nesta área de
conhecimento é o entendimento sobre o meio, a
forma e a ordem com que o homem interage com o
sistema computacional, a fim de atingir seu objetivo
ao executar sua tarefa.
Toda interação envolve diálogos orientados pela tarefa, entre o
homem e o sistema computacional. O sucesso deste diálogo é
dependente das informações fornecidas pelo homem ao sistema
Unidade 5 115
qualidade_de_software.indb 115 15/04/11 10:24
Universidade do Sul de Santa Catarina
e do feedback promovido pelo sistema. IHC é, portanto, o estudo
da relação existente entre o homem e o computador, sendo
que nenhum aspecto do homem nem do sistema é considerado
irrelevante. Absolutamente tudo deve ser estudado, permitindo a
perfeita comunicação e principalmente, observando-se os limites
de cada um: homem e computador.
Imagine que eu tenha lhe presenteado com este celular,
só que para poder ficar com ele você deve completar a
seguinte tarefa em 3 segundos: adicionar meu nome e
telefone na agenda do celular. Você conseguiria?
Esta tarefa parece simples, mas pode ser extremamente
complexa, não é mesmo?
Por quê? Esta complexidade está ligada à
dificuldade imposta para que a interação ocorra.
Predominantemente, se deve a problemas de projeto
da interface. A cada novo celular é exigido que o
cliente se adapte a forma de executar as tarefas e
não o contrário. Muitas vezes a interface não oferece
sequências e coerência para o usuário, neste caso o
mesmo se sente perdido e incerto sobre seus passos.
Não raro, executa a tarefa para alcançar seu objetivo
com a sensação de que não vai ter sucesso.
Qual é a definição da interface humano-computador ?
A interface humano-computador é definida como o componente
interativo do software, capaz de transformar as entradas de
usuários e ativar funcionalidades do sistema promovendo feedback
e coordenação destas interações.
A interface pode ser vista, ainda, como a parte do sistema,
encarregada de mapear as ações do usuário na aplicação do
processamento de requisições e apresentação de seus resultados
pelo sistema.
A interface é o meio que permite a comunicação entre o
usuário e o computador.
116
qualidade_de_software.indb 116 15/04/11 10:24
Qualidade de Software
Seção 2 - O início da usabilidade
Você já ouviu falar na palavra usabilidade? Mas com certeza
já ouviu falar de sites da internet ou sistemas que irritam ou
frustram seu usuário pela dificuldade encontrada em atingir um
determinado objetivo, como comprar um produto.
Talvez até você mesmo já tenha passado por este sentimento
de impotência ao instalar um software em sua máquina. não
conseguindo entender o que deve ser feito para emitir um
determinado relatório ou mesmo como a ferramenta funciona. E
que tal aquela situação constrangedora na fila do caixa eletrônico
em que o sujeito não consegue completar uma tarefa? Ou ainda
quando após o preenchimento de um longo cadastro na internet,
você confirma os dados e lhe é apresentada uma mensagem
solicitando a digitação de um campo obrigatório. Mas ... surpresa!!
Todo o cadastro foi limpo e você deve reiniciar a digitação.
Como você se sente? Bom, estes exemplos são na verdade exemplos
da falta de usabilidade de um produto.
O que é usabilidade?
O termo usabilidade começou a ser usado ainda na década de 80
por ciências como a Ergonomia e a Psicologia. Inicialmente, foi
utilizado o termo “amigável” em apologia a uma versão traduzida
da expressão “user-friendly”. Esta expressão amigável, no entanto,
era subjetiva, levando a conflitos em casos em que uma interface
perfeitamente amigável para um usuário experiente tornava-se
um tormento incalculável para um usuário inexperiente.
Unidade 5 117
qualidade_de_software.indb 117 15/04/11 10:24
Universidade do Sul de Santa Catarina
A usabilidade depende da existência de três componentes para
que possa existir:
Figura 5.1 - Os três componentes da usabilidade.
Fonte: Elaboração do Autor.
A usabilidade está relacionada à qualidade
A usabilidade do produto de software indica a
facilidade com que seu usuário se relaciona com a
interface que deve usar diariamente.
Um usuário que faz uso de uma interface que não atende a suas
necessidades, ou seja, que dificulta a execução de suas tarefas
diárias, atinge diretamente a qualidade do produto de software
apesar do produto, em muitas situações, atender requisitos de
qualidade como portabilidade ou confiabilidade.
O critério usabilidade está presente em normas como a ISO 9126,
onde é tratada como uma das características a serem observadas
na avaliação do produto, e possui normas completas que tratam
do assunto, como é o caso da norma ISO 9241 – Requisitos
Ergonômicos para Trabalho de Escritórios com Computadores e a
ISO13407 Human-centred design processes for interactive systems.
Segundo Medeiros (1999), a norma ISO/IEC 9241 – Ergonomic
requirements for office work with Visual Display Terminals (VDTs)
teve seu primeiro draft apresentado em fevereiro de 1993,
elaborada pelo Comitê Técnico ISO/TC 159 (Ergonomia) e Sub-
comitê SC 4 (Ergonomia de Interação Homem-Sistema). A norma
é composta por 17 partes, são elas:
118
qualidade_de_software.indb 118 15/04/11 10:24
Qualidade de Software
1. General Introduction
2. Guidance on task requirements
3. Visual display requirements
4. Keyboard requirements
5. Workstation layout and postural requirements
6. Environmental requirements
7. Display requirements with reflections
8. Requirements for displayed colours
9. Requirements for non-keyboard input devices
10. Dialogue principles
11. Guidance on usability specification and measures
12. Presentation of information
13. User guidance
14. Menu dialogues
15. Command dialogues
16. Direct manipulation dialogues
17. Form filling dialogues
Medeiros (1999) relata que a norma aborda aspectos relativos a
requisitos da tarefa, ambiente e estação de trabalho, hardware e
software abordados por assunto nas seguintes partes:
Introdução - parte 1
Recomendações sobre requisitos da tarefa - parte 2
Estação de trabalho e ambiente - partes 5 e 6
Ergonomia do hardware - partes 3, 4, 7, 8 e 9
Ergonomia da interface de software - partes 10 a 17
Unidade 5 119
qualidade_de_software.indb 119 15/04/11 10:24
Universidade do Sul de Santa Catarina
Qual é a importância do usuário?
No design de um projeto, o usuário é peça fundamental. Para
o sucesso do projeto, é necessária a identificação do usuário que
fará uso do sistema proposto.
Ao trazer o usuário para o centro do projeto, você pode
focar claramente em suas necessidades, características e
particularidades. Quando o sistema a ser desenvolvido
compreende uma organização com cargos e funções claras,
este trabalho torna-se relativamente simples, sendo possível
mapear seu usuário, identificar suas principais características e
necessidades.
Mas quando o usuário do projeto pode ser qualquer indivíduo,
como no caso de um site web? Como proceder? Como identificar
o usuário do web site? O usuário pode ser qualquer pessoa
conectada à rede mundial de computadores.
Uma saída para este contexto é analisar uma amostra da
população-alvo. Assim será possível detectar o segmento que se
pretende atingir e conseguir uma boa taxa de aceitação.
Por exemplo, para um site que pretende a venda
de produtos para o mercado odontológico, mesmo
tentando atingir o mercado de forma globalizada, é
possível melhorar a interface quando utiliza-se uma
amostra de usuários com as seguintes características:
identifica-se profissionais, odontólogos, que estejam
dispostos a colaborar no projeto;
diversifica-se as faixas etárias da população,
procurando ser abrangente neste quesito;
são introduzidos na amostra profissionais com ou
sem experiência no uso da internet;
procura-se diversificar a localização geográfica da
amostra, diversificando tanto quanto possível a
cidade, estado ou mesmo o país de origem.
120
qualidade_de_software.indb 120 15/04/11 10:24
Qualidade de Software
Como próximo passo, procure pensar no usuário, tentando
identificar o que ele pensa quando vê o site. Imagine que o
usuário realize tais indagações:
O sistema tem a informação ou o serviço que eu preciso?
Onde posso encontrar a informação ou o serviço?
Como posso solicitar este serviço?
Quais informações devo fornecer?
Qual foi o resultado? Era o que eu queria?
Para que serve este elemento?
O que significa esta figura?
Para onde “leva” este link?
Quais aspectos do usuário precisam ser avaliados?
A norma ISO 9241, parte 11 editada em 1988, sugere que sejam
avaliados os seguintes aspectos referentes ao usuário:
Tipos de usuário – identifique todos os usuários
primários (usuários que farão entrada de dados no
sistema) e secundários (usuários que farão uso de
consultas e relatórios).
Habilidades e conhecimentos – para cada usuário
identificado, relacione suas características como
habilidade/conhecimento no produto, habilidade/
conhecimento do sistema, experiência na tarefa,
experiência organizacional, nível de treinamento,
habilidade nos dispositivos de entrada, qualificações,
habilidade de linguagem, conhecimento geral.
Atributos pessoais – idade, gênero, capacidades físicas,
limitações físicas, habilidade intelectual, atitude e motivação.
Unidade 5 121
qualidade_de_software.indb 121 15/04/11 10:24
Universidade do Sul de Santa Catarina
Usuários Primários:
Médicos – 34 médicos, todos possuem
especialização, conhecimentos básicos de
informática, noção do funcionamento e
procedimentos da clínica. A faixa etária se
encontra entre 30 e 48 anos. Nenhum médico
possui qualquer deficiência física.
Atendentes – 2 atendentes possuem o segundo
grau completo, razoável experiência em
informática e conhecimento do processo de
funcionamento da clínica. Estão na clínica há
aproximadamente 3 anos. Faixa etária de 25 a 35
anos, nenhuma deficiência física.
Quando projetamos, temos que pensar que o design deve ser
consistente com as características cognitivas, físicas e sociais
do usuário.
Ao nos aproximarmos do usuário, aspectos específicos são
identificados, o projeto deve reconhecer estilos particulares de
um determinado público.
Imagine-se desenvolvendo um sistema que será
utilizado por indivíduos da terceira idade (talvez um
site que venda produtos voltados para este público).
Quando pensamos sob o ponto de vista cognitivo,
pessoas mais velhas têm problemas de perda da
acuidade visual relacionada à percepção de cores e
visualização de textos. Além da acuidade visual, o
idoso passa por questões relacionadas à diminuição
da capacidade de memorização e talvez, ainda
tenhamos que considerar que ele possa ter problemas
motores para realizar apontamentos com o mouse.
Neste caso, você projetista deverá conduzir o usuário
de forma a resolver suas necessidades, atingindo seus
objetivos de forma confortável, tentando prevenir este
obstáculos.
Um ponto fundamental é a observação de características
culturais, religiosas, econômicas e éticas do nicho da
população que se tornará o público-alvo do site.
122
qualidade_de_software.indb 122 15/04/11 10:24
Qualidade de Software
Você sabe o que o usuário quer?
Quando você desenvolve um site, deve considerar a existência
de usuários que gostam de ir direto ao seu objetivo, sem ter que
passar por subetapas.
Pensando assim, o site de um loja virtual, por exemplo, oferece
a possibilidade de encontrar o produto desejado a partir dos
links de departamento ou por meio de um mecanismo de busca.
Assim, o cliente não precisa necessariamente saber qual a
classificação do produto dentro da loja virtual e pode procurar a
máquina fotográfica diretamente pelo mecanismo de busca.
Mas o site não pode desconsiderar o cliente que aprecia entrar no
setor desejado para verificar as marcas existentes até encontrar o
produto que deseja.
Oferecendo estas duas opções, você está pensando no perfil dos
diferentes usuários.
O que fazer para melhorar a usabilidade?
O uso da barra de ferramentas com ícones que permitem o acesso
rápido para tarefas mais frequentes é uma forma de melhorar e
adaptar a interação do usuário.
Figura 5.2 - Barra de ferramentas Microsoft Office.
Fonte: Microsoft Office.
Uma vez entendida a necessidade da interface e sua usabilidade,
na seção seguinte estude e conheça alguns fundamentos da
usabilidade.
Unidade 5 123
qualidade_de_software.indb 123 15/04/11 10:24
Universidade do Sul de Santa Catarina
Seção 3 – Os fundamentos para usabilidade
Rocha (2000) relata que, em 1998, cerca de três bilhões de dólares
deixaram de ser ganhos na Web norte-americana por causa de
design mal feito de páginas, que dificultava a compra em vez de
facilitar. A IBM constatou que o recurso mais popular em seu site
era a função de busca, porque as pessoas não conseguiam descobrir
como navegar, e o segundo mais popular era o botão ajuda.
A solução foi um amplo processo de redesign, envolvendo
centenas de pessoas e milhões de dólares. Resultado: na primeira
semana depois do redesign, em fevereiro de 1999, o uso do botão
de ajuda caiu 84% enquanto as vendas aumentaram 400%.
Nielsen define, em 1993, que a usabilidade de
um sistema está diretamente associada ao grau
de aceitação do mesmo, ou a sua capacidade de
satisfazer as necessidades e exigências do usuário em
potencial e outros usuários atingidos pelo sistema,
como clientes e gerentes.
Para Nielsen (1993), a definição de usabilidade pode ser
determinada por múltiplos componentes e está tradicionalmente
associada a atributos como:
a facilidade de aprendizagem do sistema;
sua eficiência de uso;
a capacidade com que o sistema promove a
memorização das ações necessárias para que o usuário
atinja seus objetivos;
um bom controle da gestão de erros, minimizando e
refutando situações possíveis de ocorrências;e,
principalmente a satisfação que o sistema promove ao
usuário ao ser utilizado.
Os fundamentos da usabilidade baseiam-se na tarefa do usuário e
nas características e diferenças individuais dos usuários.
124
qualidade_de_software.indb 124 15/04/11 10:24
Qualidade de Software
Por que a facilidade de aprendizagem é importante para a
usabilidade?
Imagine um usuário novato, que interage com o sistema pela
primeira vez. O sistema é fácil de aprender, é previsível. O usuário
consegue a partir de interações anteriores determinar o resultado
de uma interação futura e constrói um modelo mental de como o
sistema se comporta, determinando uma ação futura baseada em
interações realizadas no passado.
Este modelo mental pode ser construído a partir do seu sistema ou
até da experiência do usuário com outros sistemas e aplicativos e
principalmente com o mundo real.
Um bom exemplo disto são os caixas bancários. Você
é correntista do Banco do Brasil e então torna-se
correntista do Bradesco. Ao usar o caixa eletrônico,
vai usar o seu modelo mental do sistema que você já
conhece, isto provavelmente irá ajudá-lo e tranquilizá-
lo em suas primeiras interações.
Outra questão importante sugere que ao pensarmos em nosso
mundo real o uso de ícones sugestivos que lembram ações do mundo
real facilitam ações que seriam difíceis de explanar textualmente,
por exemplo: o uso da lixeira para remover, a tesoura para cortar, a
impressora para imprimir etc.
O uso de uma mensagem em vermelho traz ao usuário
uma lembrança: alerta, pare. Esta previsibilidade vem
da lembrança, talvez, de sinais de um semáforo de
placas de pare que são vermelhas, assim como o verde
intuitivamente nos leva a pensar que a passagem está
livre e podemos seguir em frente.
Para uma melhor
compreensão, visualize
no anexo, no final do
livro didático, esta figura
colorida.
Figura 5.3 - Uso da previsibilidade no favorecimento da aprendizagem.
Fonte: a) Bp blogspot. b) Internet Explorer 6.
Unidade 5 125
qualidade_de_software.indb 125 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para tornar o sistema fácil de aprender (seja ele um sistema para
desktop ou um site web) uma ação importante é fazer uso da
generalização.
A generalização permite ao usuário estender um
conhecimento adquirido em sistemas similares e que
são aplicados no seu software.
Um exemplo desta possibilidade são os sites de biblioteca digital.
A sequência de ações de acesso para a maioria dos acervos é
padronizada. Isto faz com que o usuário sinta-se familiarizado
com as mais diferentes bibliotecas.
Acompanhe, a seguir, a descrição de como funciona a tarefa de
pesquisa rápida, que normalmente é composta por 3 passos.
Passo 1 – Selecionar o tipo de pesquisa (rápida)
Figura 5.5 – Passo 1: consulta ao acervo de uma Biblioteca Digital.
Fonte: Disponível em: <[Link]
126
qualidade_de_software.indb 126 15/04/11 10:24
Qualidade de Software
Passo 2 – Informar o assunto a pesquisar: Web
Figura 5.6 – Passo 2: consulta ao acervo de uma Biblioteca Digital.
Fonte: Disponível em: <[Link]
Passo 3 – Recebimento do resultado da pesquisa
Figura 5.7 – Passo 3: consulta ao acervo de uma Biblioteca Digital.
Fonte: Disponível em: <[Link]
De uma forma geral, a maneira de realizar a busca em uma
biblioteca digital segue um raciocínio para facilitar a busca. Os
usuários em uma biblioteca geralmente estão à busca de informações
e, para isto, fazem uso de algumas informações em comum, como
nome da obra, autores, editora, ISBN. Por isso, para ser de fácil
aprendizado, o sistema deve ser compatível com o contexto de uso.
Unidade 5 127
qualidade_de_software.indb 127 15/04/11 10:24
Universidade do Sul de Santa Catarina
Como você estudou no início desta unidade, o sistema precisa
atender às necessidades dos usuários, isto significa: necessidades
psicológicas, culturais e técnicas.
As tarefas necessitam ser organizadas de acordo com as
expectativas e costumes dos usuários. Deve-se evitar termos
técnicos e privilegiar o uso de terminologias familiares.
Nielsen (1999) afirma que, se o usuário é um especialista na área
abordada pelo projeto, deve se adotar terminologia especializada
e uma maior densidade de informações. Para usuários leigos, a
quantidade de informações deve ser maior, fazendo-se uso de
manuais, glossários e telas mais detalhadas.
É importante determinar estas diferenças. O excesso de
informações para um usuário especialista torna o sistema
enfadonho. A economia de informações para um usuário leigo
pode levar o usuário a desistir da interação!
Para determinar o grau de habilidade do usuário de um sistema,
você pode solicitar que ele execute um conjunto de tarefas típicas,
dentro de um tempo mínimo predeterminado para a conclusão.
O tempo e o sucesso ou não da interação darão parâmetros para
identificarmos o grau de experiência na tarefa.
Como identificar a eficiência de uso?
Quando se fala sobre eficiência, tem-se um aspecto importante
a ser relacionado, o tempo de resposta ou o tempo necessário
para que o sistema informe ao usuário alterações em seu estado.
Frequentemente, você pode escutar algum usuário com o
seguinte comentário:
- A página demora a carregar! A resposta demora a ser exibida!
- A atualização do banco é muito lenta!
Neste caso, quando a resposta imediata é impossível, o usuário
deveria receber um feedback indicando que sua solicitação está
sendo processada.
128
qualidade_de_software.indb 128 15/04/11 10:24
Qualidade de Software
Outro aspecto importante na eficiência de uso é a portabilidade. No
caso da internet, quantas vezes você tentou carregar uma página e ela
ficou pela metade por não ser compatível com o browser?
Figura 5.8 - Feedback visual para processamentos demorados.
Fonte: Outlook Express 6.0.
Indicadores de progressão evitam aquela situação em que você
fica na dúvida se o processamento é lento ou se o sistema está
travado.
Por que a facilidade de memorização deve ser
considerada na construção do seu sistema?
Sabe como é possível perceber se seu software possui facilidade
implícita no design (sequências de ações e opções de design fáceis
de memorizar)?
Imagine uma situação onde o usuário fez uso do seu
software aproximadamente um ano, mas quando ele
volta a utilizá-lo realiza todas as ações para realizar
a tarefa de forma segura e tranquila. Nesta situação
você pode dizer que o usuário provavelmente não
precisou reaprender a forma de interagir com o
sistema, ele na verdade não esqueceu de como o
sistema funciona.
Unidade 5 129
qualidade_de_software.indb 129 15/04/11 10:24
Universidade do Sul de Santa Catarina
No caso de sistemas disponibilizados na web, tem-se cada
vez mais a visita de usuários casuais e, por isto, é importante
concebermos o site permitindo a rápida memorização. Um
aspecto fundamental para o usuário no aprendizado é o uso
de títulos, rótulos e nomenclatura familiar que conduzem o
usuário durante a tarefa.
Um exemplo característico é o da declaração do
imposto de renda, desde o acesso ao site até o uso do
sistema, agora disponível também na web, deveria
ser considerado o fato de que programadores,
médicos, costureiras, ou seja, todos os profissionais de
diferentes faixas culturais farão uso do sistema, mas
apenas uma vez por ano. O que você acha? O software
para declaração de imposto de renda preenche este
quesito de usabilidade?
Figura 5.9 - Trabalho anual da declaração do Imposto de renda.
Fonte: Disponível em: <[Link]
Acesso em: 03 mar. 2011.
Como lidar com os erros durante a utilização do
sistema?
Mesmo o usuário experiente não espera enfrentar qualquer tipo
de problema, nem cometer erros induzidos pela má qualidade do
sistema. Situações como erros de programação ou informações que
130
qualidade_de_software.indb 130 15/04/11 10:24
Qualidade de Software
levam o usuário a situações de erro devem ser detectadas antes da
publicação do site ou da disponibilização do sistema a seu usuário.
Durante o design reserve um bom tempo para a confecção de
mensagens de erro coerentes, e principalmente úteis ao usuário
para restaurar a tarefa. A possibilidade de corrigir erros e/
ou restaurar o cenário anterior à ocorrência do mesmo, é
fundamental para a credibilidade do projeto.
Ao encontro da satisfação do usuário
O usuário tem que gostar de utilizar seu produto. Ao refletir sobre
um produto para a Web, você terá que considerar que para muitos
usuários a cor do site, imagens, animações, som, entre outros fatores,
podem ser preponderantes à velocidade ou mesmo à eficiência
do site. Para detectar o grau de satisfação do usuário, sugere-se a
aplicação de um questionário de satisfação onde o usuário possa
classificar sua experiência ao utilizar seu produto. A avaliação deve
ser conduzida por um grupo representativo de usuários.
Use a consistência como norma!
O projeto gráfico consistente torna o projeto harmônico.
Tarefas similares requerem ações similares, assim como ações
iguais devem acarretar efeitos iguais. Quando uniformizamos
o uso da cor, tamanho e localização de elementos, facilitamos
automaticamente o aprendizado e mesmo sua visualização.
Um exemplo claro é a confusão que sentimos ao
utilizarmos a barra de ferramentas do editor de textos
de nosso colega de trabalho que está personalizada
com outros elementos ou mesmo com outra
sequência de localização.
Unidade 5 131
qualidade_de_software.indb 131 15/04/11 10:24
Universidade do Sul de Santa Catarina
Flexibilizar para atrair o usuário
Ao permitir que o usuário adapte sua interface às suas preferências
ou que ele execute sua tarefa de diferentes maneiras, você estará
contribuindo para que o mesmo sinta-se familiarizado ao projeto.
Ao oferecer diferentes formas de chegar a uma determinada
informação, por um mecanismo de busca ou por hiperlink, você
estará permitindo um acesso personalizado de acordo com os
hábitos do usuário.
No portal da Justiça Federal é possível para o
deficiente visual, alterar o tamanho da fonte para
maior ou menor e ainda alterar a versão para
monocromática ou para alto contraste. Estes recursos
promovem o acesso do deficiente visual ao portal
confortavelmente.
Figura 5.10 - Flexibilizar o projeto adaptando as necessidades do usuário.
Fonte: Disponível em: <[Link] Acesso em: 03 mar. 2011
O tema da usabilidade e desenvolvimento merece uma pesquisa
continuada do projetista. Por isso, é importante ampliar o estudo
sobre este assunto.
132
qualidade_de_software.indb 132 15/04/11 10:24
Qualidade de Software
Síntese
Nesta unidade, o termo usabilidade tornou-se parte do seu
cotidiano como projetista de interface. Aqui você percebeu que
para facilitar o uso da interface é obrigatório o uso de recursos
de flexibilidade, de consistência, da importância de incorporar
mecanismos de memorização e do cuidado necessário no controle
de erros e de suas mensagens.
O envolvimento do usuário, conhecendo suas habilidades e
características, promove o projeto de interfaces mais seguras e
confortáveis para o cliente final. Então, pronto para aplicar a
usabilidade na prática?
Na próxima unidade, você vai aprofundar seus conhecimentos
a partir de conceitos relacionados ao mecanismo de percepção
humano, aliado fundamental do projeto de interfaces.
Unidade 5 133
qualidade_de_software.indb 133 15/04/11 10:24
Universidade do Sul de Santa Catarina
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) Como surgiu o termo usabilidade?
2) Relacione os conceitos a seguir:
a) Usuário ( ) Estuda o diálogo existente entre usuário e
computador.
b) Interface humano-
computador ( ) Entendido como sendo a parte de um
sistema computacional com a qual uma
c) Interface pessoa entra em contato física, perceptiva e
conceitualmente.
( ) Fundamental para a caracterização das
necessidades e descrição da execução da
tarefa.
134
qualidade_de_software.indb 134 15/04/11 10:24
Qualidade de Software
3) Leia com atenção o enunciado e responda às questões que seguem:
Imagine que um cliente encomendou o desenvolvimento de um site para
uma Pet shop. O site deve permitir ao internauta a compra de diferentes
produtos para cães, gatos, pássaros e ramsters. Além da venda de rações,
vestuário, medicamentos e acessórios, o site deve também apresentar os
serviços de hotel, banho, tosa e clínica veterinária.
a) No site da Pet Shop, descreva qual o recurso que você pode propor para
promover a flexibilidade
b) Sabendo que grande parte dos visitantes do site serão casuais e que
visitarão o site muito esporadicamente, o que você pode fazer para
torná-lo fácil sob o aspecto da aprendizagem?
Unidade 5 135
qualidade_de_software.indb 135 15/04/11 10:24
Universidade do Sul de Santa Catarina
4) Assinale com [V] Verdadeiro ou [F] Falso:
( ) A experiência do usuário não interfere na quantidade de material de
ajuda que deve ser oferecido no site.
( ) Na ocorrência de um erro, é importante fornecer uma solução, uma
opção de contato técnico ou uma forma de retomar a navegação.
( ) O uso de metáforas do mundo real,raramente apoiam o
aprendizado na utilização do site.
( ) O uso de rótulos claros em campos de dados minimiza a ocorrência
de erros de digitação.
( ) Tempos de respostas lentos não são aspectos que interferem na boa
usabilidade do site.
( ) Quanto menor o número de ações que usuário terá que realizar para
atingir seu objetivo, melhor para a usabilidade do site.
( ) O uso de mensagens de erro que propiciem a correção são
fundamentais para a interação.
( ) As páginas do site, quando impressas, perdendo a formatação,
o que não é problema, pois o site pode ser visto perfeitamente no
monitor de vídeo.
Saiba mais
Para aprofundar os assuntos abordados nesta unidade, você
poderá pesquisar o seguinte livro:
ROCHA, H.V.; BARANAUSKAS, M. C. C. Design e
avaliação das interfaces humano-computador. 12ª Escola de
Computação, São Paulo, IME-USP, 2000.
136
qualidade_de_software.indb 136 15/04/11 10:24
6
unidade 6
Os mecanismos da percepção
humana
Objetivos de aprendizagem
Compreender a necessidade de utilização de
mecanismos que permitam facilitar o processo
perceptório e de memorização dos seres humanos.
Entender o mecanismo fisiológico de
reconhecimento dos sentidos.
Perceber os cuidados necessários para o uso da cor.
Observar a necessidade de projetos de interface
que privilegiem a construção de modelos mentais.
Seções de estudo
Seção 1 Como os seres humanos percebem o
mundo
Seção 2 Visão humana, audição e tato
Seção 3 Como ocorrem os modelos mentais
qualidade_de_software.indb 137 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para início de estudo
Alguma vez você já se perguntou como seu(sua) colega de
trabalho consegue lembrar de assuntos tratados em uma reunião
que aconteceu na empresa há um ano? Por que seu cliente
simplesmente não consegue perceber que o fundo amarelo indica
obrigatoriedade dos campos? Por que a interface gráfica torna-se
mais fácil de usar do que uma interface de comandos?
Muitas vezes as pessoas acreditam que a facilidade de memorização,
a capacidade de perceber nuances em figuras é uma habilidade do
indivíduo que de certa maneira é considerado uma herança genética.
Mas na verdade, isto acontece pela capacidade do indivíduo de
perceber e reconhecer. Parte desta capacidade é determinada por
fenômenos fisiológicos, podendo ser melhorada ou piorada de acordo
com o uso que você faz de determinados elementos.
A partir deste ponto de vista, torna-se importante compreender
as capacidades e os limites dos seres humanos para saber
aproveitá-los da melhor forma possível no projeto de interfaces.
Em outras palavras, no projeto de interação é possível fazer
uso de conceitos conhecidos relacionados à visão, audição,
processamento e armazenamento da informação, tirando o
melhor proveito possível da capacidade do indivíduo.
Nesta unidade, você vai estudar e compreender como o
indivíduo percebe o mundo ao seu redor, armazena e processa as
informações, de forma a desenvolver projetos mais adequados e
adaptados aos seres humanos.
Seção 1 – Como os seres humanos percebem o mundo?
O ser humano absorve do meio ambiente em que vive todas
as informações necessárias à sua sobrevivência. Quando você
acorda pela manhã, ao abrir os olhos, reconhece informações
que são percebidas e processadas, isto ocorre pelo tratamento
da informação sensorial. Ao tratar estas informações, órgãos
perceptivos são ativados gerando ações e reações.
Este mecanismo complexo é capaz de explicar os motivos pelos
quais você lembra com mais habilidade de algumas informações,
138
qualidade_de_software.indb 138 15/04/11 10:24
Qualidade de Software
porque uma determinada cor ou fonte na tela influência na
legibilidade ou mesmo a forma e a velocidade com que você lê
uma informação na tela.
Acompanhe, a seguir, alguns exemplos e situações em que
podemos observar a complexidade da percepção humana.
Observe a figura a seguir. Procure ler os nomes das cores
contidas em cada palavra; busque dizer o nome das cores, e não
as palavras.
Para uma melhor
compreensão, visualize
no anexo, no final do
livro didático, esta figura
colorida.
Figura 6.1 – Os nomes das cores.
Fonte: Elaboração do Autor.
O nosso cérebro produz uma sensação estranha, pois o lado
direito tenta indicar a cor, mas o lado esquerdo insiste em indicar
a palavra. Mas o que acontece ou como acontece quando um
estímulo físico é percebido pelo ser humano de uma forma
diferente do que ele é na realidade?
Analise a figura a seguir: nela estão desenhados sete rostos.
Observe com atenção e procure identificá-los.
Unidade 6 139
qualidade_de_software.indb 139 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para uma melhor
compreensão, visualize Figura 6.2 – Rostos de pessoas.
no anexo, no final do livro Fonte: Disponível em: <[Link] Acesso em: 4 jan. 2011.
didático, estas figuras
coloridas. A figura seguinte foi trabalhada com apenas 3 cores: o verde,
o branco e o rosa. No entanto, numa olhada rápida, pode-se
perceber mais cores.
Figura 6.3 – Ilusão de cores.
Fonte: Disponível em: <[Link] Acesso em: 18 jun. 2006.
140
qualidade_de_software.indb 140 15/04/11 10:24
Qualidade de Software
Todas estas figuras incríveis comprovam as atividades de
percepção do ser humano e sua interpretação. A percepção deve
ser usada de forma a auxiliar na comunicação que se deseja obter
no projeto de interfaces. Ao interagir com computadores, o
usuário recebe informações que são apresentadas de forma visual
ou auditiva no computador. O usuário, por sua vez, responde por
meio da entrada de informações no computador.
Em 1983, Card, Moran e Newel descreveram o Modelo de
Processamento Humano que é uma visão simplificada do
processamento humano envolvido em uma interação.
Figura 6.4 - Modelo Humano de Processamento de Informação.
Fonte: Elaboração do Autor.
No Modelo Humano de Processamento de Informação, são
estabelecidos três subsistemas:
a) Sistema perceptual - sinaliza estímulos do mundo
exterior;
b) Sistema motor - controla ações viabilizando respostas
para o sistema cognitivo;
c) Sistema cognitivo - provê o processamento que conecta
os dois outros sistemas utilizando-se de informações da
Memória de Curta Duração e da Memória de Longa
Duração para a tomada de decisão.
Unidade 6 141
qualidade_de_software.indb 141 15/04/11 10:24
Universidade do Sul de Santa Catarina
No sistema cognitivo, há três procedimentos, que são:
1. Resolução de problemas - o usuário procura solucionar as
tarefas que não são familiares. Esta tarefa ocorre a partir
de conhecimentos adquiridos anteriormente por tentativa e
erro, analogias ou mesmo pela subdivisão do problema.
2. Tomada de decisão - o usuário procura resolver o
problema. Quando ocorre uma situação nova, percebe-se,
no processo de decisão, várias alternativas, para que no
final ocorra a escolha de uma delas.
3. Pensamento criativo.
- Na interface humano-computador, existem três canais per-
ceptivos considerados significativos: a visão (acuidade, cor,
ilusão de ótica), a audição e o tato. Por isso, a proposta para
a próxima seção é que você estude sobre algumas das carac-
terísticas principais destes canais.
Seção 2 - Visão humana, audição e tato
Quando se fala em interface humano-computador, os canais
perceptivos possíveis de serem utilizados são visão humana,
audição e tato. Destes sentidos, é a visão, sem dúvida, o sentido
mais importante na interação com o computador.
O olho humano é o órgão responsável pela recepção
da visão.
O olho é formado pelo globo ocular que é uma esfera com
aproximadamente 2,5 cm de diâmetro. Quando você fixa o olhar
sobre um objeto, a imagem deste objeto atravessa a córnea depois,
passa pela íris que é responsável por regular a quantidade de luz
recebida por meio da pupila.
142
qualidade_de_software.indb 142 15/04/11 10:24
Qualidade de Software
Figura 6.5 - Globo Ocular.
Fonte: Disponível em: <[Link]
Após atravessar o cristalino, a imagem é focada sobre a retina
(invertida, depois o cérebro acerta isto!).
Você conhece o mecanismo de uma máquina
fotográfica?
Nosso globo ocular pode ser comparado a uma máquina
fotográfica. O cristalino seria a objetiva, a íris o diafragma e
a retina seria a placa ou película. Quando a imagem chega ao
cristalino, é ajustada, sendo levada para trás ou para frente,
permitindo que ela se projete sobre a retina.
Nossa retina está provida de duas espécies de células sensíveis à luz:
os bastonetes e os cones.
Cones e bastonetes
Os bastonetes permitem a visão para intensidades
luminosas muito pequenas (noite, crepúsculo). Recebem
apenas impressão de luminosidade e nenhuma impressão
cromática. Por isto, quando saímos da cama à noite no
escuro, os objetos coloridos aparecem sem cor, nossa visão
está por conta dos bastonetes. Os bastonetes (120 milhões
de células) não percebem diferenças finas de forma e cor.
Unidade 6 143
qualidade_de_software.indb 143 15/04/11 10:24
Universidade do Sul de Santa Catarina
Os cones permitem a impressão colorida em claridades
média e grande (visão diurna), assim, a imagem fornecida
é mais nítida e detalhada. Existem três tipos de cones
(três milhões de células) no olho humano, cada um
distingue uma cor diferente: vermelho, verde ou azul.
Você sabia?
A quantidade de cones vermelho, verde ou azul é
40:20: 1. É por este motivo que sua sensibilidade para
o azul é muito menor do que para o vermelho. Em
outras palavras, você vê um número maior de tons de
vermelho do que azuis.
Campo Visual
A capacidade de percepção das cores está diretamente relacionada
ao campo visual. A distribuição das células fotoreceptoras não
é uniforme. Observe a figura a seguir: na área central, existem
Acuidade Visual - apenas células do tipo cone (1); no campo central (2), existem
é a capacidade do olho células do tipo cone e bastonetes; e na área periférica, encontram-
de distinguir entre dois
se apenas bastonetes (3).
pontos próximos a qual
depende de diversos Na região da fóvea (1) ocorre a projeção da imagem do objeto
fatores, em especial
focalizado. Nós enxergamos com nitidez somente objetos
do espaçamento dos
fotorreceptores na retina
focados na fóvea.
e da precisão da refração
A fóvea permite que a luz atinja os fotorreceptores sem passar
do olho.
pelas demais camadas da retina, maximizando a acuidade visual.
Segundo Ventura (1994), no fundo do olho, está o ponto cego,
insensível à luz, não há cones nem bastonetes, e dele emergem o
nervo óptico e os vasos sanguíneos da retina.
Segundo Winckler (2000), a área central da visão (1) é a responsável
pela leitura e deve receber máxima percepção e contraste. O campo
central (2) deve contrastar com a área central com uma relação de
2:1 e o campo visual periférico que não deve exceder de 10:1. A área
periférica percebe apenas movimentos e vultos.
144
qualidade_de_software.indb 144 15/04/11 10:24
Qualidade de Software
Para uma melhor
compreensão, visualize
no anexo, no final do
livro didático, esta figura
colorida.
Figura 6.6 - Campo Visual.
Fonte: Winckler (2000).
Para uma melhor compreensão, visualize no anexo, no final do
livro didático, esta figura [Link] as seguintes situações:
1) Você já chegou ao cinema após o início da sessão? Saiu da
ante-sala com muita claridade e entrou na sala de projeção
exatamente no momento em que a cena estava muito escura?
Provavelmente, você sentiu dificuldades para enxergar. A
cegueira momentânea é causada pela acomodação dos cones e
aumento da sensibilidade dos bastonetes. O inverso também
acontece; quando saímos de uma sala com baixa luminosidade
para um gramado em um dia de sol intenso.
2) Imagine aquela sensação de profundidade que você tem ao
observar um objeto dentro de um jogo de futebol. A percepção de
profundidade é feita através da sobreposição dos objetos. Em uma
cena, podemos identificar a distância dos objetos em relação ao
observador através da comparação de tamanho dos mesmos.
Formação de imagens coloridas na retina
Em 1966, Isaac Newton descobriu que a luz branca, como a luz
do sol, ao passar por um prisma de cristal se decompõe em luz
de diferentes cores, formando um espectro como o arco-íris (em
radiações de larguras variáveis: magenta, alaranjado, amarelo,
verde, azul ciano, anil e violeta). Ou seja, Newton demonstrou
que sem luz não existe cor!
Unidade 6 145
qualidade_de_software.indb 145 15/04/11 10:24
Universidade do Sul de Santa Catarina
A impressão destas radiações sobre a retina do olho é o que
distinguimos como cor.
Você sabia?
Quando você vê um arco-íris, você está vendo a luz
solar decomposta nestas 7 cores. Você sabe o que
funciona como prisma neste caso? As gotículas de água!
A cor pode ser definida como um comprimento de onda.
O comprimento de onda para o vermelho é de 580 nm
(nanômetros), para o verde 540 nm e para o azul 440 nm.
Durante todo o processo da percepção visual, o
cristalino se modifica, se adapta, de modo a focalizar
sobre a retina a imagem do objeto visualizado.
A acomodação e convergência do cristalino depende da cor do
objeto visualizado. Isto acontece porque as ondas verde, azul e
vermelha convergem a diferentes distâncias da retina.
Na figura a seguir, é possível observar que as ondas vermelhas
convergem além da superfície da retina, enquanto os
comprimentos de ondas verdes sobre a retina e azuis convergem
antes da retina. Quando focalizamos objetos avermelhados,
o cristalino se torna mais convexo, como se o objeto estivesse
próximo do observador. Quando focalizamos um objeto azul,
o cristalino fica menos convexo (mais relaxado), como se objeto
estivesse distante. (WINCKLER, 2000).
146
qualidade_de_software.indb 146 15/04/11 10:24
Qualidade de Software
Para uma melhor
compreensão, visualize
no anexo, no final do
livro didático, esta figura
colorida.
Figura 6.7 - Foco sobre a retina.
Fonte: Borges (2003).
O uso de cores intensas causa fadiga visual justamente pela
necessidade constante de adaptação do cristalino. Imagine
o uso do azul e do vermelho simultaneamente, as diferentes
profundidades de foco são fatigantes!
A cegueira para algumas cores
Você sabia que o daltonismo é uma deficiência na visão que
dificulta a percepção de uma ou de todas as cores? Na sua
variação mais comum, o daltônico não distingue o vermelho do
verde.
O daltonismo é uma deficiência quase que exclusivamente
masculina, para 10% da população masculina apenas 1% das
mulheres apresentam o problema. No projeto Web, é preciso
considerar esta parcela da população fazendo uso da luminância,
de forma a permitir a diferenciação da cor.
Que tal você verificar sua acuidade visual? O teste, a seguir,
tenta detectar a deficiência da percepção da cor – o daltonismo.
Observe as esferas na figura e procure identificar os números
nelas contido. Em tempo, os números nas esferas são o 5 e o 6!
Unidade 6 147
qualidade_de_software.indb 147 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para uma melhor compreensão,
visualize no anexo, no final do livro
didático, esta figura colorida.
Figura 6.8 – Teste de visão?
Fonte: Disponível em: <[Link]
Talvez você esteja se perguntando: como o indivíduo daltônico
diferencia as luzes verdes e vermelhas do semáforo, já que para
esse indivíduo as duas cores são apenas variações do cinza?
Ao utilizar-se da cor, você deve fazer uso do conhecimento já
disponível que se encontra na forma de recomendações para o
melhor uso da cor, servindo como mecanismo de comunicação.
Recomendações para o uso das cores
Como você já viu, as cores exercem diferentes efeitos fisiológicos
sobre o organismo humano e tendem a produzir vários juízos e
sentimentos.
A cor é um elemento fundamental em qualquer processo
de comunicação e merece uma atenção especial.
São apresentadas a seguir, algumas recomendações sobre o uso da
cor coletadas em Parizotto (1997), Winckler (2002), Robertson
(1993), Nielsen (1996) e Schneidermann (2000), acompanhe:
1ª - Recomenda-se que as cores de uma página na Web não
sejam selecionadas separadamente, e sim dentro de um contexto
geral. A aparência de uma janela pode ser alterada quando outras
janelas são abertas na mesma tela.
2ª - Recomenda-se que sejam respeitadas as diferenças culturais
e fisiológicas entre os indivíduos. Pessoas idosas têm uma
sensibilidade reduzida para cores, o que, por sua vez, pode requerer
o uso de cores mais brilhantes. Alguns países têm cores associadas
148
qualidade_de_software.indb 148 15/04/11 10:24
Qualidade de Software
a alguns objetos e fatos, no Japão marginais usam chapéu azul,
no Egito o amarelo é a cor da alegria e prosperidade, as caixas de
correio são vermelhas na Inglaterra, azuis nos Estados Unidos,
amarelas na Grécia e verdes ou amarelas no Brasil.
3ª - Recomenda-se o uso de um grupo limitado de cores, dando
ao usuário a opção de mudá-las no máximo de “cinco mais ou
menos duas”. Desse modo, as páginas de um mesmo site estarão
mais propensas a terem um “padrão” consistente.
4ª - Use a cor como uma forma de informação adicional ou
aumentada. Evite confiar na cor como o único meio de expressar
um valor ou uma função particular.
5ª - Use cor para realçar ao invés de usar sublinhado (e use
sublinhado ao invés de itens piscando). Restrinja o uso do
sublinhado para links, para não confundir o usuário.
6ª - Sempre que possível, evite usar cores muito quentes, tais
como o rosa e o magenta. As cores muito quentes parecem pulsar
na tela e ficam difíceis de focalizar.
7ª - Se for usado um fundo colorido, selecione as cores do
texto, de modo a obter o contraste mais forte entre o texto e o
fundo. Isso aumenta a visibilidade e a legibilidade do texto.
8ª - Recomenda-se o uso mnemônico da cor. O uso mnemônico
da cor é empregado respeitando os estereótipos para criar fortes
associações e ajudar no reconhecimento, na lembrança e no tempo
de busca. Em alguns sites, como o Submarino, percebemos a divisão
das seções fazendo uso da cor para diferenciá-las.
9ª - Use cores brilhantes e contrastantes com cautela. Esses
elementos atraem a atenção do usuário e o seu emprego deve ser
reservado para áreas importantes, caso contrário, o usuário pode
achar mais difícil saber para onde olhar e ficar confuso.
10ª - Use cores monocromáticas para o texto sempre que for
possível. As cores monocromáticas são mais nítidas, aumentando a
legibilidade e visibilidade do texto.
11ª - Recomenda-se o uso de uma cor neutra para fundos. As
cores neutras (por exemplo, cinza-claro) aumentam a visibilidade
das outras cores.
Unidade 6 149
qualidade_de_software.indb 149 15/04/11 10:24
Universidade do Sul de Santa Catarina
12ª - Não use simultaneamente alto croma e cores que estejam
muito distantes no espectro solar. Para relações figura-figura e
muitas figura-fundo, fortes contrastes de vermelho/verde, azul/
amarelo, verde/azul e vermelho/azul criam vibrações, ilusões de
sombras e imagens posteriores.
13ª - Use um código de cores consistente e familiar, com
referências apropriadas. As denotações comuns no ocidente são
as seguintes:
Vermelho: pare, perigo, quente, fogo.
Amarelo: cuidado, devagar, teste.
Verde: ande, OK, livre, vegetação, segurança.
Azul: frio, água, calmo, céu.
Cores quentes (amarelo, laranja, vermelho, violeta):
ação, resposta requerida, proximidade.
Cores frias (azul, turquesa, verde-mar, verde-alface):
status, informação de fundo, distância.
Cinza, branco e azul: neutralidade.
14ª - Use a cor para aumentar a informação mostrada em
preto e branco. No que concerne ao aprendizado e compreensão,
a cor é superior ao preto e branco em termos do tempo de
processamento e de reações emocionais, mas não há diferença na
habilidade em interpretar a informação. A cor é mais apreciável e
a memória para informação colorida também parece ser superior
do que em preto e branco.
15ª - Recomenda-se projetar primeiramente em preto e branco,
e então adicionar a cor. A cor aumenta o processamento cognitivo
e visual de uma informação que funciona bem em preto e branco,
pois ajuda a localizar, classificar e associar imagens.
16ª - Evite o uso de blink. O uso intensivo de piscar (blink)
um texto ou imagem causa fadiga visual. Dependendo das cores
usadas para fundo e texto ou imagem, o olho precisa reposicionar
o correspondente sensor da cor a ser usada em cada instante do
efeito de piscar, ou dependendo das cores usadas reposicionar o
foco a cada instante.
150
qualidade_de_software.indb 150 15/04/11 10:24
Qualidade de Software
17ª - Evite fundos escuros. Fundo preto não é recomendado, pois
há poucas cores que contrastam e causa cansaço visual. No caso de
impressão em P & B, a cor usada para o texto ou imagem pode ser
convertida para escuro e se confundir com o fundo (além de gastar
grande quantidade de toner/tinta).
18ª - Não usar cores alternativas para links. Pode-se acrescentar
cores para casos alternativos como (mantendo-se os padrões):
Link ainda não visitado que fica na mesma página
(âncora) - verde.
Link já visitado na mesma página - rosa.
Link para o modo hierarquicamente superior - laranja/
amarelo âmbar.
19ª - Não tornar a tela muito brilhante ou escura, use as cores
brilhantes em áreas pequenas e cores suaves em áreas maiores.
20ª - Procure evitar cores que juntas causam ilusões óticas como:
verde/vermelho
azul/amarelo
verde/azul
vermelho/azul
21ª - Use combinações legíveis para texto/fundo:
preto/branco
branco/preto
amarelo/preto
verde/preto
branco/vermelho
preto/amarelo
preto/verde
ciam/magenta
branco/marrom
Unidade 6 151
qualidade_de_software.indb 151 15/04/11 10:24
Universidade do Sul de Santa Catarina
amarelo/marrom
verde/marrom
ciam/marrom
magenta/marrom
22ª - Use as cores da fóvea e periféricas apropriadamente,
a fóvea fica na região central da retina, é composta de cones
sensíveis ao detalhe:
use azul para áreas grandes ou formas pequenas, azul é
bom para fundo de tela;
use vermelho e verde no centro do campo visual e não
na periferia;
use preto, branco, amarelo e azul na periferia do campo
visual.
23ª - Lembre-se que cor mal utilizada é pior do que não usar cores.
Como usar a audição nos projetos de interface?
O uso da audição é frequentemente, pouco ou mal utilizado nos
projetos de interface, apesar de ser um recurso rico e que permite
a imersão do usuário.
Estudos científicos demonstram que o ser humano responde mais
rapidamente aos estímulos sonoros que os estímulos visuais.
A audição fornece informações sobre objetos que podem não
estar no campo visual do usuário (como por exemplo, um beep
que solicita a atenção do usuário).
Segundo Gayton (2002), o ouvido humano possui, no entanto, uma
capacidade limitada de 80dB para suportar a pressão sonora e de 20
Hz a 20 KHZ para a percepção dos sons. Mas cuidado, o ouvido
apresenta sua melhor percepção nas frequências de 2 KHz a 4 KHz.
Quais são as dicas para o uso de sons?
152
qualidade_de_software.indb 152 15/04/11 10:24
Qualidade de Software
O uso de som em sua interface deve ser utilizado quando se
deseja:
obter a atenção do usuário;
apresentar informações de estado interno do sistema;
apresentar um recurso de confirmação de uma ação;
como recurso alternativo para propiciar a navegação.
Você sabia?
A capacidade de exposição do ser humano a ruídos
é crítica: um indivíduo pode ficar exposto por apenas
30 minutos a um ruído de 105dB e 4 horas para um
ruído de 90dB sem que haja sequelas ao mecanismo
auditivo. O que pode produzir um som com mais
de 90dB? O quadro a seguir, mostra a intensidade
observada para alguns tipos de sons:
Murmúrio 15 dB´s
Conversação em voz baixa 20 dB´s
Interior de residência de campo 25 dB´s
Interior de residência de cidade 45 dB´s
Escritório 55 dB´s
Orquestra sinfônica a dez metros de distância 85 dB´s
Martelo penumático 90 dB´s
Ruído numa rua central 95 dB´s
Cabine de avião 100 dB´s
Começa limiar da dor (Fórmula 1) 120 dB`s
Conjunto de rock metaleiros 130 dB´s
Decolagem de avião a jato 140 dB´s
Quadro 6.1 – Intensidade sonora.
Fonte: Adaptado pelo Autor.
Como usar o tato nos projetos de interface?
O tato fornece informações sobre objetos que podem estar fora do
campo visual do usuário, mas não muito distantes. Seu uso hoje
está bastante ligado a aplicações de realidade virtual imersiva. Seu
uso é característico, pois permite uma resposta motora adequada.
Unidade 6 153
qualidade_de_software.indb 153 15/04/11 10:24
Universidade do Sul de Santa Catarina
As três principais sensações sinalizadas por diferentes receptores
relacionadas ao tato são:
a pressão;
a textura; e
a temperatura.
O tato é possível pelo uso do organismo de receptores de superfície.
Curioso?
Observe a figura a seguir, nela você percebe os Receptores
de Kause responsáveis pela sensação percebida de frio e os
Receptores de Ruffini que percebem as sensações de calor.
Para uma melhor compreensão,
visualize no anexo, no final do livro
didático, esta figura colorida.
Figura 6.9 – O sistema tátil.
Fonte: BEAR, M.F., CONNORS, B.W. & PARADISO, M.A. Neurociências: desvendando o Sistema
Nervoso. 2ª ed. Porto Alegre: Artmed Editora, 2002.
Segundo Bear (2002), os Discos de Merkel são responsáveis pela
percepção do tato e pressão. Os Receptores de Vater-Pacini são
também responsáveis pela percepção da pressão e os Receptores
de Meissner pela percepção do tato. Quando você sente dor, esta
percepção é possível pela existência das terminações nervosas livres.
154
qualidade_de_software.indb 154 15/04/11 10:24
Qualidade de Software
Seção 3 – Como ocorrem os modelos mentais
O sistema cognitivo humano, segundo Cybis (2005), é
caracterizado pelo tratamento de informações simbólicas. Isso
significa dizer que as pessoas elaboram e trabalham sobre a
realidade através de modelos mentais ou representações que
montam a partir de uma realidade.
É o modelo que as pessoas têm de si próprias, dos outros,
do ambiente, e das coisas com as quais interagem. Pessoas
formam modelos mentais por meio da experiência,
treinamento e instrução. (NORMAN, 1983).
Quando o indivíduo interage com o ambiente, com outros
indivíduos ou com artefatos tecnológicos, ele passa a construir
modelos mentais das coisas com as quais interage, o modelo passa
a ser a sua visão da realidade.
Quando você fala de um sistema interativo, o modelo
mental construído pelo indivíduo sobre o sistema vai
ser diferente para cada indivíduo que utiliza o sistema.
Isto acontece porque cada um destes indivíduos teve diferentes
experiências passadas ou mesmo pela evolução do próprio
indivíduo dentro do processo de aprendizagem. Nossa habilidade
para executar modelos mentais é limitada pelos mecanismos
perceptuais e cognitivos.
Assim, os modelos mentais serão particulares a cada usuário,
sendo que modelos mentais desenvolvidos por projetistas e por
usuários se diferenciam grandemente.
Para o projeto de interfaces humano-computador, além da
variabilidade nos indivíduos e no tempo, é importante saber
o que favorece ou limita a elaboração, armazenagem e a
recuperação destas representações em estruturas de memória e
por meio da percepção da realidade.
Unidade 6 155
qualidade_de_software.indb 155 15/04/11 10:24
Universidade do Sul de Santa Catarina
Os mecanismos de memorização
A visão humana é o sentido que provê o maior volume de informações
a serem processadas pelo cérebro. Estima-se que metade do potencial
de processamento cerebral humano seja utilizado na organização de
informações visuais.
Nossos usuários de software percebem as informações por meio de um
sistema sensorial. Os novos recursos da tecnologia permitem que esta
percepção ultrapasse o sentido da visão fazendo uso da audição e do
tato. No mecanismo de percepção, olhos e cérebro atuam em conjunto
na interpretação das informações. Ao percebermos as informações,
as mesmas são codificadas e processadas usando-se argumentos de
raciocínio e armazenadas na memória para posterior recuperação.
A Memória
A memória é o mecanismo que nos permite recordar pessoas,
acontecimentos, coisas que aconteceram anteriormente. Desde
que o ser humano iniciou suas trajetória em áreas de pesquisa, o
funcionamento e as circunstâncias em que ocorre a memorização são
arduamente discutidos.
Nas últimas décadas, muito se tem estudado a respeito das
características e funcionamento da memória humana. Estudos
evoluíram permitindo a compreensão dos meios fisiológicos, de como o
ser humano armazena as informações, assim com as razões pelas quais
podemos perdê-las.
O uso deste conhecimento para os projetistas de software na
construção de projetos de Web, permite uma melhor adaptação
do projeto às características e delimitações da memória humana,
considerando suas habilidades e capacidade em termos cognitivos.
A natureza da memória pressupõe dois fatores:
a codificação (estratégias de memorização) e a
recordação.
A codificação vai permitir a maior ou menor facilidade de se
recordar determinada informação. A recordação pode ser livre ou por
reconhecimento (somos expostos a pistas que no reavivam a memória).
Quando reproduzirmos o que entrou, recupera-se a memória.
156
qualidade_de_software.indb 156 15/04/11 10:24
Qualidade de Software
Você sabia?
Richard Järnefelt de Helsinki, Finland, conquistou
em 1999 o Guinessbook com um repertório de 3.000
músicas tocadas no piano sem partituras, apenas com
o uso da memória.
Figura 6.10 - Recorde no Guinessbook.
Fonte: Disponível em: <[Link]
Quais são as partes da memória?
A memória humana pode ser dividida em três partes, cada uma
com diferentes características:
Memória rápida ou de curto termo.
Memória de trabalho ou sensorial.
Memória permanente ou de longo termo.
Acompanhe a seguir mais detalhes sobre cada parte:
a) Memória de Curto Termo
A memória de curto termo armazena informações na memória
em apenas um curto espaço de tempo, de 10 a 25 segundos no
máximo. É uma memória rápida e recebe as informações de
entrada captadas pelos órgãos dos sentidos (olhos, ouvidos, olfato
e tato) e os passa ao sistema cognitivo.
Nesta memória, são armazenadas respostas aos estímulos
como informações expressas pela fala, movimentos e
ações. As informações são armazenadas por um período de
Unidade 6 157
qualidade_de_software.indb 157 15/04/11 10:24
Universidade do Sul de Santa Catarina
aproximadamente 10 segundos e armazena poucas informações
a cada vez. A memória de curto termo guarda em média um
número de 7 informações captadas pelos órgãos dos sentidos
(MILLER, 1996 e BODDLEY, 1986). Para recuperar
informações armazenadas na memória de curto termo, a mesma
deve ser agrupada de forma significativa para o indivíduo.
Que tal repetirmos um experimento realizado em
1956 por Miller? Faça um ditado de 30 palavras
com seu amigo mais próximo. Finalizado o ditado,
peça para que ele escreva todas as palavras que ele
consegue recordar.
E então? Qual foi o resultado?
Este teste nos dá uma ideia da quantidade de
informação armazenada na memória de curto termo.
b) Memória Sensorial
A memória sensorial também é conhecida como memória de
trabalho. Na memória sensorial, são trabalhadas as informações
captadas pela memória de curto termo e, posteriormente,
enviadas à memória permanente. A memória de trabalho
pode armazenar informações por um tempo que pode variar
de minutos a dias, mas, mesmo assim, a informação será
posteriormente eliminada.
Você já estudou para fazer um concurso ou vestibular?
Cursinhos são especialistas em criar mecanismos
para conectar e organizar informações, de forma que
as mesmas permaneçam na memória permanente
permitindo que você as recupere mais tarde (dias,
meses, anos).
Você lembra de alguma situação onde estudou
para uma avaliação escolar e uma semana depois
não lembrava mais do conteúdo? Tente descrever a
fisiologia da célula ou os nomes dos rios que fazem
parte da Região Norte!
Quando o assunto não é considerado fundamental ou importante
para o indivíduo, ele não estabelece mecanismo de codificação.
158
qualidade_de_software.indb 158 15/04/11 10:24
Qualidade de Software
Desse modo, este conteúdo dificilmente irá atravessar as
fronteiras da memória sensorial. Lembramos do conteúdo até
realizar a prova, uma semana depois apesar de boa nota, não
lembramos mais do assunto e dificilmente repetiríamos a boa
nota sem estudar novamente.
A memória de curto termo recupera informação na memória
permanente. Mas quais mecanismos podemos usar para
registrarmos ou recuperarmos a informação na memória
sensorial? Podemos usar metáforas, analogias, regras e tudo
aquilo que de alguma maneira chame a atenção do indivíduo.
Lembra das famosas musiquetas cantadas por professores de
química e física?
c) Memória de longo termo
Quando armazenamos uma informação na memória de longo
termo, ela permanece na memória para sempre. Além da
possibilidade de recuperação, também temos a característica
relacionada à sua capacidade, até hoje não temos como
quantificar as informações que podem ser armazenadas nela ou
mesmo seu espaço.
Algumas informações são recuperadas diretamente da
memória permanente para a memória de curto prazo,
sem passar pela memória sensorial.
Isto acontece porque são informações utilizadas pelo indíviduo há
muito tempo e de forma repetida. Se neste momento perguntar
para você qual o seu nome? Quando você nasceu? Qual o nome
de sua esposa(o) ou namorada(o)? São respostas imediatas,
já estão a um longo tempo com você e não são necessários
mecanismos de recuperação.
Unidade 6 159
qualidade_de_software.indb 159 15/04/11 10:24
Universidade do Sul de Santa Catarina
Figura 6.11 - Esquema de Funcionamento da Memória.
Fonte: Schneiderman (1992).
Segundo Tulving (1985), a memória de longo termo apresenta
tipos de conhecimento:
o conhecimento procedimental;
o conhecimento semântico; e
o conhecimento episódico.
Tulving (1985, p. 386) define memória semântica como “uma
enciclopédia mental do conhecimento organizado que uma
pessoa mantém sobre palavras e outros símbolos mentais” É um
registro estruturado de fatos, conceitos e habilidades.
Por memória episódica, o autor ([Link]., p. 387) define como a
recordação consciente de “acontecimentos pessoalmente vividos
enquadrados nas suas relações temporais”. É o sistema de
memória mais especializado, o último a desenvolver-se na infância
e o primeiro a deteriorar-se na velhice. Armazena eventos e
experiências de forma serial. Já a memória procedimental, Tulving
define como sendo o sistema onde as deficiências de funcionamento
seriam mais difíceis de detectar. A memória procedimental seria
constituída por capacidades perceptivas e motoras que no decurso
do tempo e com a prática se transformaram em rotinas e hábitos e
que de pouco ou nada se tem consciência.
160
qualidade_de_software.indb 160 15/04/11 10:24
Qualidade de Software
Se você quer que seu usuário memorize algo, deve lembrar que:
o uso da repetição faz com que a informação seja
transferida da MCT para a MLT;
que a quantidade de informação retida é proporcional ao
tempo da prática;
otimize a memorização pela divisão da aprendizagem ao
longo do tempo;
ofereça a informação de forma estruturada, ela deve fazer
sentido e ser familiar ao usuário.
Lembre-se, o aprendizado depende da memorização. Você
pode facilitar o aprendizado apoiando a memorização pelo uso
de analogias, pela estruturação e organização da informação e
apresentado a informação em unidades incrementais.
Restrições de tempo em relação à memorização
Ben Schneiderman (1992), realizou vários estudos relacionados
ao mecanismo de memorização e percepção. Estes resultados nos
fornecem dicas para a boa utilização da memória em projetos de
interfaces. Nestes estudos, o pesquisador aponta a insatisfação de
usuários com mecanismos de interface onde o tempo de resposta
é superior a 2 segundos.
A razão para isto é que o ser humano guarda informações na
memória de curto termo por no máximo, 15 segundos. Quando
o usuário espera além deste tempo, ele precisa recordar o que
estava fazendo, o que torna a interação mais difícil e lenta. O
grande problema é que de acordo com a tarefa, os tempos de
resposta aceitáveis são diferentes, veja os resultados coletados por
Schneiderman (1992) e Galitz (1993):
digitar, movimentar o cursor, ou selecionar com o mouse:
50-150 milissegundos;
tarefas simples como o iniciar um browser: menos de 1
segundo;
introduzir dados para buscas de dados: 1-4 segundos;
tarefas complexas como cálculos, registros : 8-30
segundos.
Unidade 6 161
qualidade_de_software.indb 161 15/04/11 10:24
Universidade do Sul de Santa Catarina
O tempo de resposta é crucial para um bom projeto, assim como
o uso ao longo do projeto de mecanismos de codificação que
permitam tornar o site interessante é inesquecível.
Dicas para a boa utilização da memória do usuário
Evite a carga de elementos de multimídia, que levam
um intervalo de tempo longo para serem carregados em
conexões de baixa velocidade. O limite de tempo ideal
para operações de carga é 15 segundos.
Insira indicadores de feedback (barras de progressão,
ampulhetas girando, quando não é possível determinar o
tempo necessário até o término da tarefa) quando o tempo
de processamento é longo.
Figura 6.12- Indicadores de feedback
O sistema deve reagir após uma ação, em um tempo
máximo de 0,1 segundo.
1,0 segundo é o tempo limite para que o fluxo de
pensamento do usuário permaneça ininterrupto.
10 segundos é o tempo limite para manter a atenção do
usuário focada num diálogo.
10 segundos é o tempo que a memória de curto tempo se
mantém carregada com alguma informação captada pelo
sistema cognitivo.
As informações devem estar visíveis ao usuário por um
período que permita sua identificação e reconhecimento
(páginas que somem rapidamente sem dar oportunidade
de identificação são esquecidas com a mesma velocidade).
162
qualidade_de_software.indb 162 15/04/11 10:24
Qualidade de Software
Projetistas devem criar mecanismos para associação de
ações. Por exemplo, para voltar a um ponto anterior, deve
haver uma indicação explícita, como uma tecla Voltar.
Operações frequentes acabam sendo memorizadas na
memória de longo termo e a escolha de ícones para ações
deve ser consistente.
Nos dois exemplos <[Link]
[Link]> e <[Link]
[Link]>, o uso do carrinho
para indicar o ato de comprar em
sites de e-commerce são facilmente
interpretados, pois já foram
memorizados pela repetição de uso em
diferentes sites..
Figura 6.13- Ícones
[Link] [Link]
Projetistas devem tomar um cuidado redobrado com
operações que, pela repetição, tornam-se óbvias para o
projetista e acabam não sendo explicadas para o usuário,
mas que, na verdade não são óbvias para ele.
Na sala virtual desta disciplina, você encontra textos
complementares sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e, bons estudos!
Síntese
Nesta unidade, você estudou a importância dos mecanismos de
percepção do ser humano e seu uso para que o projeto de interação
de seu sistema seja utilizado com eficiência e segurança.
A maneira como o indivíduo percebe o mundo depende de sua visão,
audição de como o indivíduo percebe cores e formas. Ao usar sons,
cores e imagens, você pode estar comunicando ou prejudicando
seu usuário, pois reconhecer quando e como usar estes elementos
é fundamental. O uso dos sentidos de forma coerente facilita o
aprendizado e seu mecanismo de memorização.
Unidade 6 163
qualidade_de_software.indb 163 15/04/11 10:24
Universidade do Sul de Santa Catarina
Ao estudar esta unidade, você pôde entender como os homens
percebem o mundo ao seu redor, armazena e processa as
informações, ajuda a desenvolver projetos mais adequados e
adaptados aos seres humanos, que reconhecer é muito mais efetivo
que lembrar e, portanto, é necessário reduzir na interface o número
de componentes que precisam ser lembrados. A interface deve
ser desenvolvida de forma a ajudar o usuário a construir modelos
mentais adequados à sua interação com o sistema, facilitando assim
todo o processamento da informação.
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) Relacione os temas referentes ao armazenamento da memória:
A. Memória de curto termo ( ) Armazena a informação por um
espaço de 10 a 25 segundos.
B. Memória de trabalho
( ) Permite o armazenamento de
C. Memória de longo termo informações por um longo período.
( ) Armazena informações por horas e
até dias.
( ) É a memória responsável por
enviar informações para a memória
permanente.
( ) Armazena informações
relacionadas aos sentidos como fala,
audição.
( ) É a memória responsável por
recuperar informações da memória
permanente.
( ) Armazena no máximo sete
informações e as apaga da memória
rapidamente.
164
qualidade_de_software.indb 164 15/04/11 10:24
Qualidade de Software
2) Em termos de projeto de interface, quais artifícios você pode utilizar
para sensibilizar o usuário fazendo com que o mesmo “recorde” do
diálogo existente na sua página?
3) Sobre a visão humana é possível afirmar que :
( ) Os bastonetes permitem a visão noturna.
( ) Os bastonetes são responsáveis por impressões cromáticas.
( ) A visão em claridades médias e grandes é possibilitada pelos cones.
( ) Existem 3 tipos de bastonetes cada um é responsável pela distinção
de uma cor diferente (vermelho, verde ou azul).
Saiba mais
Para aprofundar os assuntos abordados nesta unidade você poderá
pesquisar o seguinte livro:
WINCKLER, M., BORGES, R.C., BASSO, K., Considerações
sobre o uso de cores em interfaces WWW. In: III Workshop de
Fatores Humanos em Sistemas e Computação, 2000, Gramado, RS.
Unidade 6 165
qualidade_de_software.indb 165 15/04/11 10:24
qualidade_de_software.indb 166 15/04/11 10:24
7
unidade 7
O processo de design centrado
no usuário
Objetivos de aprendizagem
Reconhecer conceitos relacionados ao design
centrado no usuário.
Compreender as etapas envolvidas no ciclo de
desenvolvimento de engenharia de usabilidade.
Perceber a importância do usuário em todo o
processo de design da interface.
Seções de estudo
Seção 1 A importância do design
Seção 2 Design centrado no usuário
Seção 3 Design participativo
qualidade_de_software.indb 167 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para início de estudo
Durante muito tempo, o projeto de um sistema servia para
a equipe de desenvolvimento fazer uma demonstração de
habilidade da tecnologia. O sistema era otimizado, e isto era
considerado fundamental. O objetivo era o funcionamento
utilizando-se o mínimo de recursos, mesmo que isto viesse a se
tornar um complicador torturante para o usuário da interface.
Esta situação fez surgir uma insatisfação crescente nos milhares de
usuários espalhados pelo mundo. A abordagem do design centrado
no usuário surgiu como reação às abordagens anteriores em que os
resultados insatisfatórios começavam a se acumular. Percebeu-se
que o usuário final do produto era realmente a figura central do
processo e que deveria de ser consultado no processo de tomada
de decisões para o projeto da tarefa e, consequentemente, que a
interface refletisse suas necessidades e opiniões.
O design centrado no usuário é uma filosofia que desloca o
desenvolvedor do mundo das máquinas e dados, para centrá-lo
em seu verdadeiro objetivo: o ser humano e sua interação com as
interfaces. Esta nova forma de visualizar o projeto começa com o
estudo do usuário (suas características, restrições e necessidades),
suas tarefas e atividades envolvidas em cada tarefa, o ambiente
onde executa seu trabalho e até aspectos organizacionais
envolvidos no processo.
Nesta unidade, você vai conhecer o design centrado no usuário,
suas etapas e metodologias aplicáveis no desenvolvimento de
produtos de software e sua contribuição para o desenvolvimento
de projetos adequados ao usuário final.
De modo a facilitar o seu estudo, é importante retomar o
conceito de design no contexto de um projeto.
168
qualidade_de_software.indb 168 15/04/11 10:24
Qualidade de Software
Seção 1 - Qual é a importância do design?
Design é um processo que nunca ocorre de forma estática, por
isso, não pode e não deve ser representado estaticamente. Ele é
dinâmico, sofre transformações durante o desenvolvimento de
soluções parciais e intermediárias que, por vezes, embora não
necessariamente, fazem parte do design final.
Na literatura, encontramos alguns sinônimos acerca do termo
design, tais como: criar, projetar, desenvolver, dar forma através
de uma sequência de atividades, entre outros. O design tanto se
aplica ao urbanismo (design urbano), à arquitetura (design da
habitação), como a um componente eletrônico, um automóvel
(design de produto) ou mesmo o design gráfico usado para
comunicar (por exemplo: interfaces).
A palavra design, ao ser usada no projeto gráfico de uma
interface, abrange mais do que a ideia da representação pictórica
ou de leiaute gráfico, ela engloba todo o processo no qual se
insere a representação ou o desenvolvimento do leiaute, processo
este que não pode ser dissociado do elemento humano que o
concebe, que o produz ou que se relaciona com o seu resultado
(MARTINEZ, 2003).
Unidade 7 169
qualidade_de_software.indb 169 15/04/11 10:24
Universidade do Sul de Santa Catarina
Disponível em: <[Link]>. Disponível em: <[Link]
Acesso em: 14 nov. 2006. Acesso em: 14 nov. 2006.
Disponível em: <[Link]>.
Acesso em: 14 nov. 2006.
Figura 7.1 - O design em suas diferentes formas
Todos os projetos em design são funcionais?
Na verdade, não. Nem sempre um projeto de design contempla
plenamente as necessidades de seu cliente. Segundo Dargan (1996),
o processo de design em engenharia muitas vezes oferece pouca
relação entre as ações do designer e as necessidades dos usuários.
Na verdade, ocorre uma “cegueira”, por parte do projetista, no
domínio de ações no qual os usuários vivem e trabalham. E,
quando se trata do projeto de interfaces tradicional, isto não é
diferente, muitas vezes o desenvolvimento do projeto é realizado
observando-se apenas os requisitos funcionais.
170
qualidade_de_software.indb 170 15/04/11 10:24
Qualidade de Software
Seção 2 - Design centrado no usuário
Ao iniciar um processo de design centrado no usuário, o sistema
será desenvolvido a partir das necessidades, capacidades e limitações
dos usuários. O design se reafirma a partir do conhecimento do
ambiente de trabalho do usuário, de suas características individuais
e principalmente do envolvimento do usuário em todo o processo
adaptando-se aos interesses do usuário.
Resumindo, o objetivo do design centrado no usuário deve estar
alinhado com a produção de sistemas fáceis de aprender e também
de usar. O sistema deve ser seguro, trazer a satisfação do cliente,
evoluindo e se adaptando às necessidades e à forma como o usuário
realiza suas atividades. E o principal: o design deve estar adequado às
características do usuário.
De acordo com Santos (2006),
a tecnologia não existe isoladamente, pois qualquer
sistema ou interface será utilizado por pessoas em
alguma instância. Difícil é entender quem é essa pessoa
ou grupo de pessoas. O ser humano deve ser visto como
elemento fundamental para o projeto de produtos ou
sistemas. Disto se entende que o real conhecimento das
características humanas informará ao projetista como
conduzir as soluções ao encontro dos requisitos da tarefa e
às necessidades do usuário. Deve-se ter sempre em mente
o fato de que qualquer interface ou sistema desenvolvido
será, em alguma instância, utilizado por pessoas.
O caminho em direção ao design centrado no usuário já é uma
realidade no marketing, pois se tornam cada vez mais comuns
campanhas com apelo ao individualismo e à diferenciação. Por
“individualismo” não cabe aqui nenhuma carga negativa ou
pejorativa a tais campanhas. Pelo contrário, creio que refletem bem o
atual momento da sociedade ocidental de consumo.
Uma determinada indústria de laticínios que, ao lançar
uma nova linha com variados tipos de leite, desenvolveu
uma série de anúncios onde figurava a frase que dizia, mais
ou menos, que havia um leite para cada tipo de pessoa. Os
anúncios foram bastante divulgados em revistas semanais
e cada peça apresentava sempre pessoas de diferentes
tipos físicos, idades, homens e mulheres, caracterizados
ora como executivos, ora como esportistas.
Unidade 7 171
qualidade_de_software.indb 171 15/04/11 10:24
Universidade do Sul de Santa Catarina
Este exemplo reflete a preocupação das empresas em se
diferenciarem através da oferta de produtos que supram diretamente
necessidades de diferentes grupos de consumidores, mostrando que
as diferenças têm que ser respeitadas e, além disso, pode-se tirar
proveito comercial, uma vez que existem possibilidades tecnológicas
para a chamada produção individual em massa.
Ainda conforme mostra com Santos (2006), por “usuário”, deve-
se entender qualquer pessoa que entre em contato com o sistema,
seja o trabalhador, o operador, o mantenedor, o instrutor, o
consumidor, seja no trabalho, no lazer ou no ócio.
A abordagem de projeto centrado no usuário assume que
é a pessoa que controla o sistema, que o opera, que dirige
o seu curso e monitora as suas atividades. Ao fazer isso, é
o operador quem tem metas e desejos e que pode mudar o
sistema através de seus procedimentos operacionais.
[...]
No desenrolar destas interações, as pessoas trazem para o
sistema um conjunto de fraquezas e qualidades inerentes
(incluindo experiências, expectativas, motivação e assim
por diante). O entendimento de tais características
contribui para a melhoria do sistema, a partir da adoção de
critérios como eficiência e segurança.
O Ciclo de engenharia de software
Ao pensar no design centrado no usuário, Cybis (2005) propõe
um modelo denominado “ciclo de engenharia de usabilidade”,
cuja estrutura está demonstrada na figura a seguir.
Figura 7.2 - O design iterativo centrado no usuário.
Fonte: Adaptado de Cybis (2005).
172
qualidade_de_software.indb 172 15/04/11 10:24
Qualidade de Software
O ciclo de engenharia de usabilidade prevê três etapas: a
análise, a síntese e avaliação. A seguir, acompanhe uma lista de
detalhamentos sobre características e cuidados a serem assumidos
durante o ciclo de engenharia da usabilidade.
1) A Etapa de análise
Na atividade de análise ocorre o reconhecimento da realidade
do trabalho do usuário. Para realizar a análise, é necessário
reconhecer o usuário que faz parte do processo (categorias, perfil,
habilidades, necessidades), entender e compreender a tarefa
(objetivos, elementos, condicionantes, estrutura, atributos...), o
ambiente físico, técnico e organizacional (equipamento, software,
iluminação, ruído, estilo de chefia etc).
1.a) Análise do usuário
O primeiro passo a ser realizado é a análise das características
do usuário-alvo. Não se pode esquecer que é necessário que
sejam reconhecidas as características das categorias de usuários
diretos do sistema.
A norma ISO 9241 parte 10 define tópicos que devem ser cobertos
para que você possa reconhecer claramente as características
do usuário, como o tipo (primário que interage com o sistema
alimentando seus dados; secundário que faz o acesso a consultas
frequentemente na forma de relatórios ou on-line e o indireto cuja
alimentação no sistema - pelo usuário primário - interfere em sua
atuação diária), atributos pessoais, habilidades e conhecimentos.
Figura 7.3 - Descrição do usuário (Norma ISO 9241-10)
Fonte: Do Autor.
Unidade 7 173
qualidade_de_software.indb 173 15/04/11 10:24
Universidade do Sul de Santa Catarina
Veja um exemplo prático: você deve desenvolver
uma interface para um sistema de contabilidade,
na empresa você sabe que farão uso direto do
sistema: contadores, auxiliares de contabilidade
(usuários primários, pois são responsáveis por
entradas e atualizações nos dados) e o próprio diretor
da empresa que deve consultar dados gerais da
contabilidade (usuário secundário).
Mas como você vai proceder a análise dos mesmos?
Determine os atributos pessoais dos 3 tipos de usuários
e habilidades genéricas para cada grupo. Depois
procure identificar a experiência dos mesmos na tarefa
e habilidades relacionadas ao uso do sistema. Observe
a experiência do usuário no uso do computador, na
manipulação de dispositivos como mouse/teclado.
Acrescente observações que possam interferir no uso de
seu novo sistema. Observe os itens atitude e motivação,
caso você perceba a existência de um usuário que
não apresenta uma atitude positiva em relação à
implementação, é melhor detectá-lo em etapas iniciais,
pois pode ser uma grande fonte de problemas futuros.
1.b) Análise do trabalho
Sempre que você realiza a análise do trabalho deve lembrar que
para especificar um novo trabalho é necessário conhecer como ele
é realizado para melhorá-lo.
Ao descrever como o usuário realiza seu trabalho, é possível
verificar e mesmo avaliar a complexidade da tarefa, sua
frequência, possíveis erros e momentos críticos que possam
produzir situações críticas.
Lembre-se:
Analisar o usuário na realização de tarefas em
situações normais é fundamental, mas analisar
e descobrir situações críticas ou de estresse são
igualmente importantes.
174
qualidade_de_software.indb 174 15/04/11 10:24
Qualidade de Software
Pense: em um ambiente como o sistema acadêmico
da Unisul, durante o semestre inteiro, o acesso de
alunos é relativamente estável (sendo considerado
como a situação normal de uso), mas no período de
matrícula o acesso ao sistema é mássico. Em apenas
3 dias, todos os alunos devem entrar no ambiente
para realizar sua matrícula (é um período crítico). Esta
informação é fundamental e deve ser prevista pelo
designer, pois pode condenar o projeto ao fracasso,
caso o ambiente não esteja preparado para tal.
Observe que o projeto da interface deve ser derivado de
resultados das análises realizadas.
Neste caso, todas as sequências que você identificar quando
realizar a decomposição das tarefas atuais podem ser respeitadas
no projeto do diálogo. Isto torna possível uma classificação
das tarefas existentes, de forma a utilizar esta classificação, por
exemplo, no projeto de menus. A definição de ações e opções
default no projeto podem ser resultado da análise da frequência de
uso ou importância na tarefa.
1.c) Análise das tarefas
A análise das tarefas é realizada por meio da análise de
documentação e de entrevistas com os representantes dos
usuários diretos e indiretos (CYBIS, 2005).
Você pode dar início a esta atividade realizando entrevistas com
gerentes, procurando a identificação de objetivos, procedimentos,
restrições, dados organizacionais, econômicos e expectativas
relacionadas à informatização.
O uso de entrevistas com usuários vai oportunizar o
conhecimento sobre como o usuário enxerga a tarefa que realiza e
suas considerações sobre a mesma.
1.d) Descrição das tarefas
Você vai descrever a tarefa que será realizada com seus casos de
uso principais, considerando seus principais usuários e gerentes
do sistema. Cybis (2005) sugere a descrição de blocos de tarefas a
partir dos elementos:
Unidade 7 175
qualidade_de_software.indb 175 15/04/11 10:24
Universidade do Sul de Santa Catarina
Objetivo último a alcançar.
Decomposição em subtarefas/subobjetivos.
Relações entre as subtarefas.
Nomes, denominações e definições das subtarefas.
Objetivos a alcançar nas subtarefas.
Métodos que o operador utiliza em cada subtarefa.
Estados inicial e final do sistema para cada subtarefa.
Pré e pós-condições das subtarefas.
A norma ISO 9241 parte 10 define tópicos que devem ser
cobertos para que você possa reconhecer claramente as tarefas
executadas para a realização dos objetivos do usuário:
Figura 4 - Descrição da tarefa (Norma ISO 9241-10)
Fonte: Do Autor.
É possível complementar a descrição destes blocos
usando-se o Método Analítico Descritivo – MAD
(SCAPIN, 1993) que permite uma compreensão mais
detalhada da forma hierárquica, tanto para tarefas
simultâneas, paralelas, sequenciais e alternativas. Para
saber mais sobre o M.A.D, acesse a Midiateca da sala
virtual da disciplina.
176
qualidade_de_software.indb 176 15/04/11 10:24
Qualidade de Software
1.e) Análise do ambiente
Quando você realiza a análise do trabalho atual, deve se
preocupar também com a descrição do ambiente de trabalho,
questões como o ambiente técnico, físico (iluminação, ruído),
atmosférico, cultural e social. Um ambiente com problemas de
ruído, iluminação ou mesmo temperatura (imagine o usuário
de sistemas em uma empresa como a Usiminas, que trabalha
próximo a um autoforno) interfere no uso do sistema pelo usuário
que não está em uma condição térmica ideal de uso.
Imagine um usuário que deve utilizar o ambiente que
você está projetando ao ar livre (técnicos agrícolas
utilizam notebooks e pads no controle de lavouras), a
interface fica prejudicada pela luminosidade.
Nestes dois exemplos, a partir da análise do ambiente você pode
propor alternativas de melhoria que aumentarão a performance
da interface.
1.f) Análise das atividades
Durante a análise das atividades, a presença do analista procura
a validação das descrições e informações que foram coletadas e
que compõem as representações sobre o trabalho. Assim, você
Esta etapa é mais eficiente
observa o que o usuário realmente faz para executar seu trabalho. quando se faz uso de
recursos que permitam o
registro em vídeo, áudio
A análise das atividades é a análise do comportamento ou mesmo por meio de
do homem no trabalho, confirmando ou invalidando anotações.
informações que você obteve na etapa de análise das
tarefas.
De acordo com Cybis (2005), ao realizar a análise das atividades
você vai reconhecer quais as informações que são:
necessárias e a ordem em que se tornam disponíveis;
difíceis de obter;
inúteis (não são utilizadas);
impertinentes (que atrapalham e induzem a erros de
interpretação).
Unidade 7 177
qualidade_de_software.indb 177 15/04/11 10:24
Universidade do Sul de Santa Catarina
Também deve-se obter informações complementares sobre as
atividades detectadas:
procure perceber quais são as atividades mais frequentes;
observe a duração;
o modo de utilização; e
fique atento às possíveis deficiências, problemas e
incidentes encontrados.
Lembre-se de identificar suas causas, os motivos do
aparecimento, frequência e os procedimentos possíveis para
recuperar a situação de normalidade.
2) A síntese
Na etapa de síntese, ocorre a especificação, o projeto e o
desenvolvimento da interface com o usuário.
Durante a etapa de síntese ,algumas atividades devem ser
realizadas:
de uso da interface e para o qual a mesma está sendo desenvolvida. Na
1ª especificação do contexto midiateca, você encontra na norma ISO 9241-10 um excelente modelo que
determina o que deve ser especificado nesta etapa.
fazendo uso do novo sistema. Em muitos casos, o próprio processo de
realização da tarefa é modificado e melhorado. Então, neste documento,
é necessário que fique claro como o processo deve ser executado e quais
2ª apresentar o processo de trabalho usuários devem realizá-lo.
Lembre-se, as características cognitivas da tarefa e do usuário devem ser
consideradas tanto na definição do processo como na escolha do usuário
que deve futuramente realizá-la.
em termos de usabilidade que a interface deve alcançar (incluindo
3ª especificação do desempenho especificações quantitativas e qualitativas). Neste caso, você pode fazer uso
de normas ou mesmo heurísticas (como as que serão vistas na unidade 4).
Todos os detalhes da especificação do contexto de uso devem ser
descritos. O uso de protótipos é fundamental neste momento, o centro
4ª elaboração do projeto da interface das atenções deve ser apenas a facilidade de uso para o usuário, então
esqueça, por enquanto, as questões relacionadas a funcionalidades e ao
desenvolvimento da mesma.
Continua ...
178
qualidade_de_software.indb 178 15/04/11 10:24
Qualidade de Software
é responsável pela especificação das regras que devem ser seguidas no
momento do projeto da interface. Isto significa que neste momento você
5ª etapa da síntese vai definir as recomendações ou normas que devem ser seguidas para que
a interface consiga promover a usabilidade.
Quadro 7.1 – Atividades da etapa de síntese.
Fonte: Cybis (2005).
3) A avaliação
Na última etapa do ciclo temos o processo de avaliação. Na
avaliação, você procura verificar se o projeto realizado representa
realmente a usabilidade desejada dentro das necessidades do cliente.
Assim, você percebe nesta etapa a eficácia que o usuário consegue
alcançar fazendo uso da interface para a realização de seu
trabalho, a satisfação do usuário nesta realização e a verificação
de aspectos relacionados a recursos necessários na realização da
tarefa, como carga mental do usuário ou mesmo incoerências da
interação que afetam o trabalho realizado.
Seção 3 – Design participativo
O Design participativo – PD teve início na região Escandinávia
(Suécia, Noruega, Dinamarca e Islândia) na década de 70, por Em inglês, Participatory
meio da colaboração de Kristen Nygaard, que procurou especificar Design.
os direitos dos trabalhadores de participar em decisões de design
relativas ao uso de novas tecnologias no trabalho.
Este movimento pretendia o desenvolvimento de competência
dos trabalhadores, de modo que estes pudessem influenciar
nas decisões que afetariam o trabalho e o seu ambiente.
Para Muller (1997), não há definição única para design
participativo, sua aplicação na interface humano-computador
é vista como uma prática que consiste na participação dos
usuários finais do sistema. Esta participação deve se dar por
meio de contribuições efetivas, que reflitam suas perspectivas e
necessidades em alguma fase do projeto e do desenvolvimento do
ciclo de vida do software.
Unidade 7 179
qualidade_de_software.indb 179 15/04/11 10:24
Universidade do Sul de Santa Catarina
Por design participativo deve ser entendido a
participação ativa dos usuários e não apenas
como meras fontes de dados utilizados para
responderem questionários ou que devem ser
observados ao utilizar o produto de software.
O PD baseia-se em três motivações que são convergentes,
segundo Muller e outros (1997):
a democrática (modelo escandinavo);
a da eficiência, habilidade e qualidade (modelo
americano); e
a do compromisso de compra (relação cliente/
fornecedor).
Classificação das técnicas aplicadas ao Participatory Design
Envolver as pessoas no desenvolvimento de projetos não é uma
tarefa simples. As técnicas mais conhecidas são: questionário,
entrevista e observação.
Considerando que nos estudos da Ergonomia de HCI a
participação dos usuários pode acontecer de três formas:
informativa, consultiva e participativa, os citados instrumentos de
pesquisas são utilizados para obter o envolvimento do usuário de
modo informativo quando ele contribui com informações para
o projeto a ser desenvolvido. No modo consultivo, os usuários
participam das decisões de projetos já existentes. A técnica de
observação é aplicada nos casos de análise da tarefa ou visitas ao
local de trabalho do usuário.
Fonte: Maria Esther Russo Lima. Disponível em: <[Link]
pdf/[Link]>. Acesso em: 12 jan 2006.
Existem várias técnicas no uso do PD. Na maioria das vezes,
são técnicas simples e de pouco comprometimento de recursos
como: brainstorming, storyboarding, workshops e até mesmo,
o uso de exercícios em papel e caneta. Dessas, a mais comum é
a Storyboarding, que consiste na especificação, por intermédio
de imagens, para descrever certas situações. Fortemente ligado à
técnica de cenários, o storyboarding pode atuar de forma conjunta
com estes. Esta técnica é muito utilizada na validação do formato
visual de cenários e na elaboração de protótipos não operacionais.
180
qualidade_de_software.indb 180 15/04/11 10:24
Qualidade de Software
Quais são os métodos do PD?
Existem hoje no mercado dezenas de métodos de PD, quem
podem ser usados especificamente em uma determinada fase do
desenvolvimento ou em qualquer fase. Veja alguns deles:
CSCW design – o objetivo do modelo é o trabalho com
cenários do trabalho, artefatos do trabalho, utilizando-se
de checklists que suportem a análise e a comunicação.
Contextual Inquiry - a Pesquisa Contextual (CE) é
uma técnica utilizada para examinar a compreensão
dos usuários sobre um sistema já utilizado ou a ser
desenvolvido, seu ambiente de trabalho, as tarefas por ele
realizadas, suas preferências e assuntos de interesse.
ETHICS - é um método participativo para desenvolver
sistemas e consiste em equilibrar os aspectos sociais e técnicos,
de modo a assegurar o aperfeiçoamento de um sistema
existente. Sua aplicação requer o uso de poucos materiais:
papeletas (post it), quadro-negro, ou similar, e caneta.
Group Elicitation – este método consiste de seis fases
de trabalho na forma de oficinas que promovem a
sustentação de decisões a partir do compartilhamento de
ideias em um formato de brainstorming.
Hiser Design Method – este método incorpora aspectos
de HCI para desenvolver sistemas com usabilidade
dentro da realidade do mundo real. São usados neste
modelo papéis, canetas e materiais normais do escritório
como papel utilizado para prototipação. A prototipação
por meio de aplicativos também é utilizada.
ORDIT - Organizational Requirements Definition
for IT systems - o método é formado por processos
e ferramentas que suportam uma comunicação entre
usuários do problema e colaboradores para gerar e
avaliar opções sociotécnicas alternativas para o futuro.
São usados na técnica materiais que possibilitem a
modelagem e a prototipação.
Unidade 7 181
qualidade_de_software.indb 181 15/04/11 10:24
Universidade do Sul de Santa Catarina
SSADM - Mmetodologia de análise e desenho estruturado
proposta por Learmonth em 1981 é um acrônimo para
“Structured Systems Analysis and Design Methodology”.
SSM - a metodologia tem como ponto forte a análise de
situações do problema, onde todas as partes interessadas
são incluídas, a fim de desenvolver perspectivas múltiplas
que possibilitem derivar soluções possíveis e desejáveis.
São usados subsídios como papel, flip-charts, canetas para
criar cenários e modelos.
Na sala virtual desta disciplina, você encontra material
complementar sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e bons estudos!
Síntese
Durante a unidade, você estudou a importância do uso do design
centrado no usuário para a concepção de produtos que não devem
apenas privilegiar a eficiência das funcionalidades, mas também
aspectos funcionais adequados às capacidades do usuário.
O design centrado no usuário reduz custos, pois aumenta a satisfação
e também a produtividade dos usuários, uma vez que sua solução
vai partir da análise de suas necessidades, evoluindo conforme suas
expectativas e sugestões.
O envolvimento dos usuários vai ocorrer já no início do projeto, para
tanto, é fundamental o contato com estas pessoas, descobrindo seus
processos mentais e expectativas, incluindo-os como parte integrante
do desenvolvimento, ouvindo suas dicas, necessidades, analisando sua
linguagem, nível cultural e receptividade.
A análise de tarefas vai esclarecer questões relacionadas ao seu dia
a dia, como são executadas as tarefas, os problemas, dificuldades e
momentos críticos do usuário durante as atividades que deve realizar
para atingir seus objetivos. O reconhecimento da tarefa permite
182
qualidade_de_software.indb 182 15/04/11 10:24
Qualidade de Software
a melhoria do processo e a identificação com o sistema, já que a
interface segue seus modelos mentais.
Mas apenas a análise não é suficiente, é necessário validar o projeto
com o usuário final verificando se todo o processo realmente absorveu
as expectativas do cliente.
Na próxima unidade, você vai estudar as técnicas de avaliação de
usabilidade, fundamentais na validação das decisões especificadas
durante o projeto de design.
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) A partir dos estudos realizados na unidade, na Análise do Usuário,
elabore 8 questões que possam ser aplicadas para identificar as
características de um usuário Aluno no ambiente de ensino da Unisul
Virtual.
Unidade 7 183
qualidade_de_software.indb 183 15/04/11 10:24
Universidade do Sul de Santa Catarina
2) Por que o processo de design é considerado dinâmico?
3) Qual a relação existente entre a análise da tarefa e a análise da
atividade?
184
qualidade_de_software.indb 184 15/04/11 10:24
Qualidade de Software
4) O design participativo vem sendo usado no mundo todo como uma
forma de produção de projetos estáveis e altamente aceitos pelo
usuário. Como você explicaria o sucesso do método neste sentido?
Unidade 7 185
qualidade_de_software.indb 185 15/04/11 10:24
Universidade do Sul de Santa Catarina
Saiba mais
Para aprofundar os assuntos abordados nesta unidade, você
poderá pesquisar o seguinte livro:
DIAS, Cláudia. Usabilidade na Web: criando portais mais
acessíveis. 2ª. Ed. Rio de Janeiro: Editora Alta Books, 2007.
186
qualidade_de_software.indb 186 15/04/11 10:24
8
unidade 8
Avaliação da usabilidade
Objetivos de aprendizagem
Conhecer os critérios de usabilidade de um
produto.
Aprender a avaliar um software.
Reconhecer técnicas de avaliação.
Seções de estudo
Seção 1 A importância em se avaliar interfaces
Seção 2 As técnicas prospectivas
Seção 3 As técnicas preditivas
Seção 4 As técnicas objetivas
qualidade_de_software.indb 187 15/04/11 10:24
Universidade do Sul de Santa Catarina
Para início de estudo
Quando você desenvolve um projeto, o desenvolvimento com
ideias e decisões faz com que nossa capacidade de avaliação fique
limitada, em função do envolvimento com o projeto. Existem
muitos métodos que podem determinar se sua interface é boa ou
ruim. Muitos destes métodos ocorrem em estágios iniciais do
projeto. Precisamos então, estabelecer exatamente quais critérios
devem ser avaliados e qual metodologia mais se adapta ao projeto.
Quando você realiza uma avaliação fundamentada na usabilidade,
deve verificar a satisfação ou insatisfação que o cliente tem ao
utilizar seu produto, a eficiência com que o usuário consegue
executar a tarefa completamente e os recursos necessários para tal.
Nesta unidade, você irá analisar algumas metodologias que nos
permitem avaliar os quesitos acima. Você vai ter a oportunidade
de colocar em prática algumas destas metodologias avaliando
seus próprios projetos!
Seção 1 - A importância em se avaliar interfaces
O motivo que nos leva a aplicar uma avaliação de interfaces
é garantir que o sistema reúna realmente todos os requisitos
necessários a uma interação confortável entre o usuário e a interface.
Para que você faça uma avaliação realmente efetiva, ela deveria
ser aplicada em todo o ciclo de vida do projeto de um aplicativo.
A aplicação de um teste específico para cada fase, depende da
aplicação e do que se pretende saber sobre o produto.
Em 1993, Hix afirmou que ao realizarmos uma avaliação de
usabilidade tem-se por finalidade:
validar a eficácia da interação entre o usuário/
software confrontando a execução das tarefas
pretendidas pelo usuário;
188
qualidade_de_software.indb 188 15/04/11 10:24
Qualidade de Software
verificar o quanto a interface foi eficiente durante
esta interação, observando aspectos relacionados ao
tempo necessário para realização da tarefa, problemas
encontrados, necessidade de uso de ajuda etc;
observar aspectos subjetivos como satisfação do usuário
com a interface.
A interação é completamente dependente do ambiente
físico, tipo de tarefa, tipo de usuário e equipamentos em
que ela ocorre. O sucesso ou o total fracasso da interação
são completamente dependentes destes fatores.
Em que situação pode-se usar cada uma delas?
De acordo com Cybis (2005), é possível distinguir três tipos de
técnicas de avaliação ergonômica:
técnicas prospectivas, que buscam a opinião do usuário
sobre a interação com o sistema;
técnicas preditivas ou diagnósticas, que buscam
prever os erros de projeto de interfaces sem a
participação direta de usuários;
técnicas objetivas ou empíricas, que buscam constatar
os problemas a partir da observação do usuário,
interagindo (utilizando) com o sistema.
A pergunta a se fazer é: em que situação se usa cada uma delas?
A figura a seguir tenta esclarecer esta dúvida apontando as
técnicas mais “interessantes” para cada etapa do ciclo de vida:
Unidade 8 189
qualidade_de_software.indb 189 15/04/11 10:24
Universidade do Sul de Santa Catarina
Figura 8.1 - Uso de técnicas de avaliação no decorrer do projeto.
Fonte: Elaboração do Autor.
O uso destas técnicas pode acontecer em etapas iniciais do projeto
conforme apresentado na figura 1. Durante a especificação
de requisitos e no projeto preliminar, pode-se aplicar técnicas
prospectivas. Quando estamos no projeto detalhado, aplicam-se
técnicas preditivas e durante a implementação lançamos mão das
técnicas objetivas.
Para o sucesso da avaliação da usabilidade de um software, é
fundamental reconhecer ou fazer uso destas técnicas.
Seção 2 - As técnicas prospectivas
As técnicas prospectivas baseiam-se na aplicação de
questionários/entrevistas com o usuário para avaliar sua satisfação
ou insatisfação em relação ao sistema e sua operação.
190
qualidade_de_software.indb 190 15/04/11 10:24
Qualidade de Software
O uso do questionário pode ser aplicado durante toda a vida útil
do sistema, sendo uma fonte primorosa de informações sobre
facilidades, dificuldades sugestões e críticas do usuário potencial.
Conheça, a seguir, dois modelos de questionários que são
utilizados para avaliar a usabilidade de sistemas: QUIS e SUMI.
O modelo QUIS
O QUIS - Questionaire for User Interaction Satisfaction é um
modelo de questionário de satisfação disponibilizado na internet,
desenvolvido por um time de pesquisadores da Human/Computer
Interaction Laboratory da Universidade de Maryland. Ele abrange
aspectos como legibilidade, leiaute de telas, significado de ícones,
interação e terminologia.
Veja na tabela a seguir um recorte do questionário QUIS.
Tabela 8.1 - Recorte do questionário QUIS
[Link] que aparecem na tela são: Confusas Claras
1 2 3 4 5 6 7 8 9 Não aplicável
5.4 Instruções para comando ou seleção são: Confusas Claras
1 2 3 4 5 6 7 8 9 Não aplicável
Fonte: Elaboração do Autor.
O modelo SUMI
O SUMI foi desenvolvido pelo Human Factors Research Group da
Universidade de Cork, Irlanda, e procura medir a usabilidade,
considerando percepção e atitudes dos usuários.
O questionário é distribuído em categorias como: usabilidade
geral, efeito psicológico, suporte ao usuário, facilidade de
aprendizado, eficiência, controle e análise consensual dos itens.
Se você pretende elaborar um questionário de satisfação, ou
adaptar um existente, observe os seguintes itens:
elabore um número pequeno de questões;
cuidado com questões ambíguas, seja sucinto;
permita ao usuário expressar sua opinião por meio de
sugestões e críticas.
Unidade 8 191
qualidade_de_software.indb 191 15/04/11 10:24
Universidade do Sul de Santa Catarina
Estudadas as técnicas prospectivas, na próxima seção conheça
mais um tipo de técnica de avaliação ergonômica, as técnicas
preditivas ou diagnósticas.
Seção 3 - As técnicas preditivas
Quando resolvemos utilizar técnicas preditivas, o uso de usuários
que participam de forma direta na avaliação não acontece.
Normalmente, a avaliação baseia-se em inspeções de versões
intermediárias ou versões finais.
Como são classificadas as técnicas preditivas?
Cybis (2000) classifica estas inspeções como:
Avaliações Analíticas envolvem a decomposição
hierárquica da estrutura da tarefa para verificar as
interações propostas.
Avaliações Heurísticas se baseiam nos conhecimentos
ergonômicos e na experiência dos avaliadores que
percorrem a interface ou seu projeto, para identificar
possíveis problemas de interação humano-computador.
Inspeções por Checklist dependem do conhecimento
agregado à ferramenta de inspeção, uma vez que se
destinam a pessoas sem uma formação específica em
ergonomia.
Acompanhe, a seguir, mais detalhes sobre cada uma destas técnicas.
192
qualidade_de_software.indb 192 15/04/11 10:24
Qualidade de Software
O uso das avaliações analíticas
O uso da avaliação analítica procura prever a usabilidade a partir
de modelos ou representações de sua interface e de seus usuários.
A avaliação é aplicada nas etapas iniciais do projeto, quando
inicia-se a concepção de interfaces humano-computador. Mesmo
que nesta fase tenhamos poucas certezas sobre o projeto, já
é possível verificar questões como a consistência, a carga de
trabalho e o controle do usuário sobre o diálogo proposto.
Quando se inicia o trabalho de especificação da futura tarefa
interativa, se pode utilizar formalismos como o GOMS (Goals,
Operators, Methods and Selections rules) e a MAD (Méthode
Analytique de Description des tâches). A seguir, conheça mais sobre
cada um deles:
O modelo GOMS
O modelo GOMS – Goals, Operations, Methods and Selection rules
(metas, operações, métodos e seleção de funções) foi proposto em
1983 por Card, Moran e Newell.
Este modelo agrupa técnicas de modelagem e de análise de
tarefas. Neste modelo, são descritos os métodos necessários à
realização de objetivos específicos.
Neste caso, você vê os métodos como uma série de passos que
consistem em operadores (ações) que os usuários realizam.
Quando há mais de um método disponível para a realização de
um objetivo, o modelo GOMS inclui regras de seleção (SRs)
que permitem escolher o método apropriado, dependendo do
contexto (PREECE, 1994).
O objetivo (Goals) é o que o usuário quer realizar, sua
meta.
É possível subdividir o objetivo geral em subobjetivos
hierarquicamente.
Unidade 8 193
qualidade_de_software.indb 193 15/04/11 10:24
Universidade do Sul de Santa Catarina
Ao acessar um site de banco na internet, posso ter o objetivo principal
de realizar um determinado pagamento. Mas tenho objetivos
menores como: informar conta, informar senha, dados da fatura.
O que é operador ?
O operador é uma ação que deve ser realizada a serviço de um objetivo.
Os operadores podem ser atos motores (clicar, teclar, arrastar,
mover rosto), cognitivos (lembrar, planejar, raciocinar),
perceptivos (ver, ouvir, sentir) ou uma combinação de todos.
Figura 8.2 - Uso de Operador na metodologia GOMS.
Fonte: Disponível em: <[Link] Acesso em: 6 mar. 2006.
O método é a sequência de passos para se atingir uma
meta.
Para efetuar a compra neste site do CD selecionado, posso
solicitar que o mesmo seja embrulhado para presente, entregue
em um determinado endereço, a venda seja parcelada em 2 vezes.
Selection rules expressam opções alternativas entre
métodos e operadores.
194
qualidade_de_software.indb 194 15/04/11 10:24
Qualidade de Software
O modelo MAD
O modelo MAD (Méthode Analytique de Description des Taches)
foi sugerido por Scapin (1989, 1990) e permite decompor as
tarefas em subtarefas.
O conceito de tarefa é representado por um objeto genérico chamado
de objeto-tarefa, que é definido por um conjunto de elementos.
Além disso, cada objeto-tarefa (folha da árvore hierárquica da
decomposição) é identificado por um nome e um número.
Assim, cada tarefa será representada pelas seguintes características:
Identificação da tarefa (número e nome).
Elementos da tarefa (finalidade, estágio inicial,
precondições, corpo da tarefa, pós-condições, estágio final).
Atributos da tarefa.
O uso das avaliações heurísticas
A avaliação heurística é uma técnica que propõe a
avaliação sistemática para identificação de problemas
de usabilidade.
Por ser uma técnica de fácil aplicação, é largamente utilizada.
Os problemas são detectados através de uma grade de análise
(formada por princípios reconhecidos de usabilidade) que
orientam o avaliador em aspectos relacionados às tarefas e
objetivos do usuário final (CYBIS 2005).
Quando você inicia este tipo de avaliação, é importante fornecer
aos avaliadores, antes da inspeção, informações sobre o contexto
de uso do site, possíveis cenários em que a interação ocorre e
passos necessários para que o usuário atinja suas metas.
As diferentes abordagens descritas por Pollier (1993) para se
conduzir uma avaliação heurística são:
Unidade 8 195
qualidade_de_software.indb 195 15/04/11 10:24
Universidade do Sul de Santa Catarina
por objetivos dos usuários. O avaliador aborda a
interface a partir de um conjunto de tarefas e subtarefas
principais dos usuários ou relacionadas aos objetivos
principais do software.
pela estrutura de interface. Por esta estratégia,
especialmente direcionada para diálogos por menu, o
avaliador aborda a interface como uma árvore de menu com
níveis hierárquicos das ações que permitem as transições de
um nível a outro. Dois encadeamentos são possíveis nessa
estratégia; exame por profundidade ou largura da árvore.
pelos níveis de abstração. O avaliador aborda a interface
como um modelo linguístico estruturado em camadas de
abstração que podem ser examinadas em dois sentidos; top-
down ou bottom-up.
pelos objetos das interfaces. O avaliador aborda a interface
como um conjunto de objetos.
pelas qualidades das interfaces. O avaliador aborda
a interface a partir das qualidades ou heurísticas de
usabilidade que elas deveriam apresentar.
Se você pretende realizar uma avaliação heurística,
considere como ideal o número de 3 a 5 avaliadores.
O uso de avaliadores experientes aumenta a chance de sucesso
na avaliação, pois a avaliação é baseada no conhecimento de
usabilidade dos avaliadores.
Para uma avaliação heurística é necessário que você obtenha
conhecimentos ergonômicos.
- Conheça, a seguir, mais detalhes sobre as heurísticas propos-
tas em 1993 por Scapin e Bastien.
Heurísticas ergonômicas de Bastien e Scapin
Segundo Cybis (2003), os critérios definidos por
Bastien e Scapin subdividem-se em oito critérios
principais de usabilidade que são subdivididos em
subcritérios elementares. Conheça-os a seguir.
196
qualidade_de_software.indb 196 15/04/11 10:24
Qualidade de Software
a) Condução
A condução refere-se aos meios disponíveis para aconselhar,
orientar, informar, e conduzir o usuário na interação com o
computador (mensagens, alarmes, rótulos etc.).
Uma boa condução facilita o aprendizado e a utilização do sistema
permitindo que o usuário:
saiba a qualquer tempo onde ele se encontra numa sequência
de interações ou na execução de uma tarefa;
conheça as ações permitidas, bem como suas consequências; e
obtenha informações suplementares (eventualmente por
demanda).
Quatro subcritérios participam da condução:
a presteza;
o agrupamento/distinção entre itens;
o feedback imediato, e
a legibilidade.
b) Carga de Trabalho
O critério carga de trabalho diz respeito a todos elementos da
interface que têm um papel importante na redução da carga cognitiva
e perceptiva do usuário e no aumento da eficiência do diálogo.
Quanto maior for a carga de trabalho, maior será a probabilidade
de se cometer erros. E também, quanto menos o usuário for
distraído por informações desnecessárias, mais ele será capaz de
desempenhar suas tarefas eficientemente. Além disso, quanto
menos ações forem necessárias, mais rápidas as interações.
O critério carga de trabalho está subdividido em dois subcritérios:
brevidade e densidade informacional.
Unidade 8 197
qualidade_de_software.indb 197 15/04/11 10:24
Universidade do Sul de Santa Catarina
Veja na figura a seguir, que, para realizar a busca do
imóvel por estado, o internauta deve percorrer toda
a lista de seleção até encontrar o estado desejado.
A caixa apresenta os estados sem nenhum tipo de
classificação, dificultando a localização do estado
desejado pelo usuário, aumentando a carga de
trabalho, pois terá que percorrer a lista lendo as letras
iniciais de todos os estados até encontrar o desejado.
Figura 8.3 - Exemplo de quebra do critério carga de [Link]:
Disponível em: <[Link] Acesso em: 6 mar. 2006.
Outro exemplo pode ser o menu de opções para a
opção extrato do caixa eletrônico do Banco do Brasil.
Caso você tenha acesso, observe, a numeração do
menu. Ela fere o critério carga de trabalho, pois não
é uma numeração que facilite a memorização, a
numeração salta de um item para o outro.
c) Controle Explícito
O critério controle explícito diz respeito tanto ao processamento
explícito pelo sistema das ações do usuário, quanto do controle que
os usuários têm sobre o processamento de suas ações pelo sistema.
Quando os usuários definem explicitamente suas entradas,
e quando estas entradas estão sob o controle deles, erros e
ambiguidades são limitados. Além disso, o sistema será melhor
aceito pelos usuários se eles tiverem controle sobre o diálogo.
198
qualidade_de_software.indb 198 15/04/11 10:24
Qualidade de Software
O critério controle explícito se divide em dois subcritérios:
ações explícitas do usuário, e
controle do usuário.
Um exemplo negativo de falta de controle do
usuário ocorre em caixas eletrônicos onde você está
tentando realizar o pagamento de uma conta por
meio do código de barras, mas, até você conseguir
dobrar adequadamente o papel de forma a realizar
a leitura do código de barra, o sistema é “restartado”
(isto é, termina o prazo de sistema ativo) e volta à tela
inicial. Provavelmente, você ficará irritado e reiniciará
o processo.
Outro exemplo: no site do grupo Pão de Açúcar, a
promoção oferecida de dados exclusivos é apresentada
sobre o conteúdo da página, sem que o internauta
possa evitar esta ocorrência, ele não tem controle
sobre a apresentação. Além disto, o usuário para ler
o conteúdo da página tem que fechar a janela, o que
aumenta o número de ações para iniciar a interação.
Figura 8.4 - Exemplo de quebra do critério Controle Explícito.
Fonte: Disponível em: <[Link] Acesso em: 6 mar. 2006.
Unidade 8 199
qualidade_de_software.indb 199 15/04/11 10:24
Universidade do Sul de Santa Catarina
d) Adaptabilidade
A adaptabilidade de um sistema diz respeito a sua capacidade
de reagir conforme o contexto, conforme as necessidades e
preferências do usuário.
Uma interface não pode atender ao mesmo tempo a todos os seus
usuários em potencial. Para que ela não tenha efeitos negativos
sobre o usuário, esta interface deve, conforme o contexto, se
adaptar ao usuário. Por outro lado, quanto mais variadas são
as maneiras de realizar uma tarefa, maiores são as chances que
o usuário possui de escolher e dominar uma delas no curso
de seu aprendizado. Deve-se, portanto, fornecer ao usuário
procedimentos, opções e comandos diferentes, permitindo-lhe
alcançar um mesmo objetivo.
Dois subcritérios participam da adaptabilidade: a
flexibilidade e a consideração da experiência do usuário.
A adaptabilidade se refere à flexibilidade e aos meios colocados à
disposição do usuário que lhe permitem personalizar a interface,
a fim de levar em conta as exigências da tarefa, de suas estratégias
ou seus hábitos de trabalho. Ela corresponde também ao número
de diferentes maneiras à disposição do usuário para alcançar
um certo objetivo. Trata-se, em outros termos, da capacidade da
interface se adaptar às variadas ações do usuário.
No exemplo a seguir, o usuário pode listar os produtos
por ordem de produto, menor ou maior preço e
marca. Isto flexibiliza a utilização do site.
Figura 8.5 - Exemplo positivo de adaptabilidade.
Fonte: Disponível em: <[Link] Acesso em: 6 mar. 2006.
200
qualidade_de_software.indb 200 15/04/11 10:24
Qualidade de Software
e) Gestão de Erros
A gestão de erros diz respeito a todos os mecanismos
que permitem evitar ou reduzir a ocorrência de erros,
e, quando eles ocorrem, que favoreçam sua correção.
Este critério diz respeito aos mecanismos empregados para
detectar e prevenir os erros de entradas de dados ou comandos,
ou possíveis ações de consequências desastrosas e/ou não
recuperáveis. Refere-se também à qualidade das mensagens, à
pertinência, à legibilidade e à exatidão da informação dada ao
usuário sobre a natureza do erro cometido (sintaxe, formato
etc.), e sobre as ações a executar para corrigi-lo.
Três subcritérios participam da gestão dos erros:
proteção contra os erros;
qualidade das mensagens de erro;
correção dos erros.
Unidade 8 201
qualidade_de_software.indb 201 15/04/11 10:24
Universidade do Sul de Santa Catarina
Na figura 6, ao iniciarmos a interação, foi solicitada
a busca no estado da Bahia para casas com locação
disponível para temporada.
Figura 8.6 - Exemplo de quebra do critério Carga do Trabalho e Consistência.
Fonte: Disponível em: <[Link] Acesso em: 6
mar. 2006.
O resultado da busca foi esta página, onde o
internauta se pergunta: digitei algo errado? Onde
estão os imóveis da Bahia?
Neste caso, temos um erro de apresentação. Por outro
lado, se ele quiser continuar a interação mesmo assim,
a informação já digitada na figura 5.4 (estado) deve
ser redigitada, o que duplica a carga de trabalho do
usuário. Mas nesta página, somente o estado do Rio de
Janeiro está disponível, quando na primeira tínhamos
uma lista de estados a ser selecionada! Isto nos traz
problemas de gestão de erros, compatibilidade. Se o
usuário entrou na pesquisa porque queria um imóvel na
Bahia, como só posso locar no Rio de Janeiro?
f) Homogeneidade
O critério homogeneidade refere-se à forma na qual as escolhas
na concepção da interface (códigos, denominações, formatos,
procedimentos etc.) são conservadas idênticas em contextos
idênticos e diferentes para contextos diferentes.
202
qualidade_de_software.indb 202 15/04/11 10:24
Qualidade de Software
Observe os botões desta página (clique aqui,
pesquisar, entrar). Eles são homogêneos no projeto
de design?
Figura 8.7 - Exemplo da quebra do critério homogeneidade.
Fonte: Disponível em: <[Link] Acesso em: 6
mar. 2006.
Observe que a fonte do rótulo dos botões é diferente
em todos os botões, assim como a cor do rótulo, a
forma do botão e a cor do botão.
Os procedimentos, rótulos, comandos etc. são mais facilmente
reconhecidos, localizados e utilizados quando seu formato,
localização ou sintaxe são estáveis de uma tela para outra, de uma
seção para outra. Nestas condições, o sistema é mais previsível e a
aprendizagem mais generalizável; os erros são diminuídos.
É necessário escolher opções similares de códigos, procedimentos,
denominações para contextos idênticos e utilizar os mesmos meios
para obter os mesmos resultados.
É conveniente padronizar tanto quanto possível todos os objetos
quanto ao seu formato e sua denominação e padronizar a sintaxe
dos procedimentos.
A falta de homogeneidade nos menus, por exemplo, pode
aumentar consideravelmente o tempo de procura.
Unidade 8 203
qualidade_de_software.indb 203 15/04/11 10:24
Universidade do Sul de Santa Catarina
g) Compatibilidade
O critério compatibilidade refere-se ao acordo que possa existir entre:
as características do usuário (memória, percepção, hábitos,
competências, idade, expectativas, etc.) e das tarefas;
a organização das saídas, das entradas e do diálogo de
uma dada aplicação;
o grau de similaridade entre diferentes ambientes e
aplicações.
A eficiência é aumentada quando:
os procedimentos necessários ao cumprimento da tarefa são
compatíveis com as características psicológicas do usuário;
os procedimentos e as tarefas são organizadas de maneira
a respeitar as expectativas ou costumes do usuário; e
quando as traduções, as transposições, as interpretações,
ou referências à documentação são minimizadas.
Os desempenhos são melhores quando a informação é apresentada
de uma forma diretamente utilizável (telas compatíveis com o
suporte tipográfico, denominações de comandos compatíveis com
o vocabulário do usuário etc.).
h) Significado dos Códigos e Denominações
O critério significado dos códigos e denominações diz respeito à
adequação entre o objeto ou a informação apresentada ou pedida
e sua referência.
Termos pouco expressivos para o usuário podem ocasionar
problemas de condução onde ele pode ser levado a selecionar
uma opção errada.
Se você utiliza uma codificação significativa, a recordação e o
reconhecimento são melhores, se isto não ocorre, o usuário é
conduzido a cometer erros.
204
qualidade_de_software.indb 204 15/04/11 10:24
Qualidade de Software
Há alguns anos atrás, o site do Detran/SC apresentava
esta interface:
Figura 8.8 - Exemplo da quebra do critério significado dos códigos.
Fonte: Disponível em: <[Link] Acesso em: 6 mar. 2006.
A inspeção cognitiva da intuitividade
Esta técnica é um tipo de avaliação heurística, em que os
especialistas enfocam especificamente os processos cognitivos que
se estabelecem quando o usuário realiza a tarefa interativa pela
primeira vez (KIERAS e POLSON, 1991).
Ela visa avaliar as condições que o software oferece para que o
usuário faça um rápido aprendizado das telas e das regras de diálogo.
A intuitividade é o aspecto central na aplicação de
uma inspeção cognitiva.
Ao realizar esta inspeção, o avaliador precisa observar
atentamente a capacidade do usuário de realizar a tarefa, assim
como seu conhecimento no uso de sistemas informatizados.
Unidade 8 205
qualidade_de_software.indb 205 15/04/11 10:24
Universidade do Sul de Santa Catarina
O avaliador deve estar ciente do caminho a ser percorrido pelo
usuário para atingir seus objetivos. De posse destas informações
ele passa a percorrer os caminhos previstos para cada ação,
utilizando uma lista de verificação, conforme Cybis (2005):
Checklist inspeção cognitiva:
O usuário realiza a tarefa corretamente?
Ao encontrar-se no passo inicial de determinada tarefa, o
usuário, baseado no que lhe é apresentado, consegue realizar o
objetivo previsto pelo projetista?
O usuário percebe o objeto associado a esta tarefa? Este objeto
está suficientemente à vista do usuário?
O usuário reconhecerá o objeto como associado à tarefa? As
denominações ou representações gráficas são representativas
da tarefa e significativas para o usuário?
O usuário saberá operar o objeto? O nível de competência
na operação de sistemas informatizados é compatível com a
forma de interação proposta?
O usuário compreenderá o feedback fornecido pelo sistema
como um progresso na tarefa?
A ideia dos autores desta técnica é que os próprios projetistas
(você, por exemplo) possam aplicá-la durante o desenvolvimento
de um sistema interativo.
Como apresentar os resultados da avaliação
heurística?
Quando você detecta os problemas de usabilidade, eles devem ser
associados aos princípios de usabilidade que foram violados. Ao
fazer o relatório, você pode ainda fazer sugestões quanto à solução
mais interessante. O relatório deve ser consistente, para tanto, a
padronização nas descrições dos problemas é fundamental.
Os problemas podem ainda ser classificados quanto ao grau de
severidade, o que permite uma maior sensibilização da equipe de
desenvolvimento.
206
qualidade_de_software.indb 206 15/04/11 10:24
Qualidade de Software
O uso das listas de verificação
As inspeções de usabilidade por listas de verificação são vistorias
baseadas em requisitos considerados necessários para atingir um
objetivo à luz de considerações ergonômicas.
A aplicação de uma lista de verificação ou um site pode ser realizada
por profissionais, não especialistas em ergonomia, com boas
possibilidades de sucesso. Isto é possível devido ao formato proposto
nas listas que normalmente são elaboradas de forma objetiva.
Como agrupar as questões?
As questões são agrupadas em categorias e solicitam a
confirmação ou negação das perguntas propostas:
O site apresenta mapa?
( ) sim ( ) não ( ) não aplicável
A página apresenta o uso de ícones significativos?
( ) sim ( ) não ( ) não aplicável
Na escolha de uma lista de verificação, é importante
observar se:
os resultados produzidos são uniformes e
abrangentes, em termos de identificação de
problemas de usabilidade;
a lista permite ao avaliador a inserção de
comentários;
sendo a lista automatizada, qual é o formato do
relatório final;
as categorias propostas atingem os objetivos de sua
avaliação.
Agora que você estudou as técnicas prospectivas e preditivas,
falta ainda as técnicas objetivas. Este é o tema da próxima seção.
Siga com determinação!
Unidade 8 207
qualidade_de_software.indb 207 15/04/11 10:24
Universidade do Sul de Santa Catarina
Seção 4 - As técnicas objetivas
As técnicas empíricas, que contam com a participação direta de
usuários, se referem basicamente aos ensaios de interação e às
seções com sistemas espiões.
Como fazer ensaios de interação?
Quando você realiza um ensaio de interação, o usuário
participa da avaliação por meio de uma amostra do público-alvo
utilizando-se do site a ser avaliado.
Você deve usar cenários com tarefas típicas ou críticas, os dados
são originados da observação dos usuários durante a interação.
Para a aplicação dos ensaios de interação, Chan (1996) sugere
algumas:
Teste com pares de usuários – pares de usuários são
colocados na execução das tarefas. Neste caso, o diálogo
entre os usuários é fortalecido, proporcionando a troca de
informações e auxiliando na execução de tarefas.
Teste com usuário e avaliador – o observador
acompanha a interação. Em caso de necessidade, auxilia
o usuário. O observador deve evitar o constrangimento
do usuário, permitindo que o mesmo execute a tarefa de
forma pessoal, sem interferências.
Verbalização simultânea – durante o teste, o usuário
comenta seu raciocínio. Nesta técnica, além da execução
da tarefa, o usuário verbaliza o raciocínio que o levou a
tomar esta ação.
208
qualidade_de_software.indb 208 15/04/11 10:24
Qualidade de Software
Ao aplicar esta técnica de ensaio de interação, observe:
Esclareça o usuário sobre o teste e sua finalidade.
Selecione usuários que queiram participar, não force
esta participação.
Respeite os limites do usuário. O cansaço ou
constrangimento muitas vezes invalidam os resultados
do ensaio.
O uso de câmaras de vídeo, gravadores e softwares
espiões (gravadores de eventos) colaboram para
a precisão do ensaio. Estes recursos permitem
que detalhes ocorridos durante a interação sejam
reproduzidos e revistos de forma mais minuciosa.
Deixe claro ao usuário que sua competência pessoal
não esta sendo avaliada mas sim a interface.
Na sala virtual desta disciplina, você encontra textos
complementares sobre os assuntos abordados nesta
Unidade. Acesse a sala virtual e bons estudos!
Síntese
Quando você estudou as três primeiras unidades, foram
apresentados conceitos e recomendações para garantir que
o projeto apresentasse um bom grau de usabilidade junto ao
usuário. Mas durante um projeto é comum que, apesar de todos
os cuidados, ocorram descuidos e que este descuido acabe por
gerar problemas de usabilidade na interface. Outra fonte de
problemas pode ser o desenvolvimento de um projeto sem a
observação de requisitos de usabilidade, assim, a garantia de
usabilidade do produto fica totalmente comprometida.
Nestes casos, a solução proposta na unidade 4 é a aplicação
de testes de usabilidade. Nestes testes, você pode garantir
que o sistema reúna os requisitos necessários a uma interação
confortável entre o usuário e a interface.
Unidade 8 209
qualidade_de_software.indb 209 15/04/11 10:24
Universidade do Sul de Santa Catarina
Você estudou nessa unidade diferentes técnicas como a
prospectiva (com intervenção direta do usuário) e a preditiva
(sem a participação efetiva do usuário). Durante o estudo, você
conheceu heurísticas, como as de Bastien e Scapin, que apóiam
avaliações heurísticas pautadas em políticas de usabilidade.
Foram apresentadas situações de uso para as diferentes
técnicas, como a utilização de listas de verificação, uma
atividade de avaliação bastante simples que não exige
conhecimento do usuário; avaliações por meio de ensaios de
interação em que o objetivo é reconhecer e identificar a forma
como o usuário atinge seus objetivos. No processo que está
sendo avaliado, utilizando-se a figura de um observador;
avaliações analíticas como o GOMS e o MAD em que tarefas
são decompostas, oferecendo o entendimento completo de
como o usuário realiza o seu processo de trabalho.
Atividades de autoavaliação
Ao final de cada unidade, você realizará atividades de autoavaliação. O
gabarito está disponível no final do livro didático. Esforce-se para resolver
as atividades sem ajuda do gabarito, pois, assim, você estará promovendo
(estimulando) a sua aprendizagem.
1) Assinale a(s) resposta(s) correta(s). O que você deve evitar quando está
elaborando questões para um questionário de satisfação?
( ) Elaborar um número de questões que cubra todos os aspectos da
interface, mesmo que isto represente um número elevado de questões.
Pois, quanto mais completo, melhor será seu grupo de informações
sobre o site.
( ) Evite sugestões do usuário ou você terá que modificar todo seu
projeto.
( ) Questões de duplo sentido confundem o usuário e devem ser evitadas.
( ) Incentive a expressão de críticas, pois as mesmas contribuem para o
aperfeiçoamento de seu projeto.
210
qualidade_de_software.indb 210 15/04/11 10:24
Qualidade de Software
2) Relacione a 1ª coluna com a 2ª, identificando o que pode e o que é
valido para:
a) Testes com pares de usuários. ( ) Esta técnica é utilizada
quando o projetista encontra
b) Testes com verbalização. dificuldades em entender a lógica
c) Testes com usuário e avaliador. de realização da tarefa por parte
do usuário, sendo que o usuário
d) Todas as técnicas. tem dificuldade em expressar esta
lógica.
( ) É fundamental na técnica que
o usuário se sinta confortável, sem
constrangimentos.
( ) Neste caso, o avaliador apoia
toda a interação e se for necessário
intervém oferecendo ajuda.
( ) A troca de ideias entre os
usuários provoca um ambiente
informal, fortalecendo a segurança
do usuário na execução da tarefa.
( ) Quando usamos esta técnica,
ocorre a verbalização da tarefa pelo
usuário.
Saiba mais
Para aprofundar os assuntos abordados nesta unidade, você
poderá pesquisar o seguinte livro:
CYBIS, W. Engenharia de Usabilidade: uma abordagem
ergonômica. Laboratório de Utilizabilidade, UFSC, 2003.
Unidade 8 211
qualidade_de_software.indb 211 15/04/11 10:24
qualidade_de_software.indb 212 15/04/11 10:24
Para concluir o estudo
Ao se dedicar ao estudo das unidades apresentadas neste livro
didático, você teve a oportunidade de interagir e consolidar
alguns conceitos sobre a qualidade do processo e do produto
e sobre os fatores que determinam uma boa interface
humano-computador sendo o principal deles: o usuário.
Contudo, vale ainda destacar mais um ponto:
- A qualidade do processo e do projeto se faz no dia a dia
da empresa, no comprometimento de toda uma equipe, do
gerente ao estagiário da empresa com a qualidade e com o
bom projeto.
Todavia, também, só comprometimento não é o suficiente,
é necessário o uso de métodos, normas, padrões que
direcionem o esforço da equipe e de medições que avaliem
suas melhorias e possíveis necessidades de correções, isto
é, é necessário competência.
É importante você observar que cada empresa possui sua
história e não existem modelos miraculosos que resolvam
os problemas de todas as empresas. O bom gerente deve
avaliar, conhecer e adaptar as melhores soluções para seu
contexto. Não existem modelos ou normas ideais, mas
soluções apropriadas construídas pelo uso de seu conjunto.
Você estudou parcialmente algumas destas soluções, para
colocá-las em prática, será importante você prosseguir
fazendo pesquisas, procure aprofundar seus estudos sobre
as que lhe despertaram interesse ou que sejam possíveis de
serem aplicadas em sua empresa.
Então, bons estudos!:
qualidade_de_software.indb 213 15/04/11 10:24
qualidade_de_software.indb 214 15/04/11 10:24
Referências
ACM SIGCH. Curricula forHuman-Computer Interaction.
Disponível em: <[Link] Acesso em: 13 ago. 2005.
AGUIAR, M. Gerenciamento Objetivo de Projetos com PSM.
Disponível em: <[Link] Acesso em: 8 fev.
2005.
AGUIAR, M. Practical Software Measurement: OCMM da
mensuração. Developers Magazine, Abril, 2002.
BADDELEY, A. D. Working memory. Oxford: Clarendon Press, 1986.
BASTIEN,C., Scapin, Critères ergonomiques de Scapin et Bastien.
Disponível em: <[Link] Acesso
em: 19 maio 2004.
BORGES, Cabral. Apostila de Técnicas de Apresentação.
Universidade Federal do Rio Grande do Sul, 2003.
BOYLE, CAILIN, Color: harmony for the web. Rockport Publishers
Inc, Massachusetts.
BRITO, Abreu F. MOOD – Metrics for Object-Oriented Design.
OOPSLA’94 Workshop on Pragmatic and Theoretical Directions in
Object-Oriented Software Metrics. 1994.
CAMPELO, G. M. C. A utilização de métricas na Gerência de
Projetos de Software Uma abordagem focada no CMM
Nível 2. Recife: Universidade Federal de Pernambuco, Centro de
Informática, Recife, 2002. Disponível em: <[Link]
com/~marcos_ae/tacade/[Link]#_Toc426210920 >. Acesso
em: 11 fev. 2005.
CAMPOS, Gilda Helena Bemardino de, ROCHA, Ana Regina.
Manual para a avaliação da qualidade de software
educacional: relatório técnico do Programa de Engenharia de
Sistemas e Computação. Rio de Janeiro: UFRJ, COPPE, 1990.
CARD, S.; MORAN, T.; Newell, A. The Psychology of Human-
Computer Interaction. Hillsdale, NJ: Erlbaum, 1983.
CHIOSSI, T.C.S. Modelos de qualidade de software. Campinas:
Editora da Unicamp, 2001.
COLENCI, Alfredo. Proposta de um modelo de referência para
desenvolvimento de software com foco na certificação. MPS.
BR. Tese de Doutorado – Escola de engenharia de São Carlos,
Universidade de São Paulo, São Carlos, 2008.
qualidade_de_software.indb 215 15/04/11 10:24
Universidade do Sul de Santa Catarina
CORDENONZI, Walkiria. Mapeamento de padrões internacionais de
qualidade de produto e de processo para um modelo conceitual de
gerência de processo e desenvolvimento de software. Dissertação de
Mestrado. UFRGS, 2000.
CYBIS, W. Engenharia de Usabilidade: uma abordagem ergonômica.
Laboratório de Utilizabilidade. Disponível em: <[Link]
br>. Acesso em: 28 maio 2005.
DEKKERS,C. Desmistificando pontos de função: entendendo a
terminologia. IT Metrics Strategies, October, 1998.
DRSKA, Moacir. Revista Valor Econômico. Publicado em 21/01/2011.
Disponível em: <[Link]
aspx?qs_codNoticia=278>. Acesso em: 02 fev. 2011.
DIAS, Cláudia. Usabilidade na Web: criando portais mais acessíveis. 2. Ed.
Rio de Janeiro: Editora Alta Books, 2007.
FIORINI, S. T. et al. Engenharia de software com CMM. Rio de Janeiro:
Brasport, 1998.
FRABRIS, S; GERMANI, R. Color: Proyecto y estética en las artes gráficas.
Madrid: 1973.
GAYTON, Arthur C., M. D.; HALL, John E., PH. D. Tratado de Fisiologia
Médica. 10. ed. Rio de Janeiro: Guanabara Koogan S.A., 2002.
HANSEN, JOHN T.; KOEPPEN, BRUCE M. Atlas de Fisiologia Humana de
Netter, ARTMED & Bookman, 2003.
HIX, D. & Hartson, H. R. Developing User Interfaces: Ensuring usability
through product & process,Wiley Professional Computing, 1993.
HUMPHREY, W.S. A discipline for software engineering. Reading MA:
Addison-Wesley Longman, Inc. 1995.
ISO/IEC. ISO 9241-11: ergonomic requirements for office work with visual
Display terminals (VDTs) – guidance on usability. Genebra, 1998.
ISO/IEC. ISO 9126-1. International Standard Information Technology –
Software Quality characteristics and metrics – Part 1: Quality characteristics
and sub-characteristics. Jan 1997.
JARBAS, Liliane Ventura.; NETO, C. C. Ametropias Oculares. Revista
Brasileira de Ensino de Física. Vol. 17, Nº 4, Dez., 1995.
KITCHENHAM BA. DESMET. A Method for Evaluating Software
Engineering Methods and Tools, TR96-09. Department of Computer
Science, University of Keele: Staff ordshire UK. 1996.
KOSCIANSKI, Andre. SOARES, Michel dos Santos. Qualidade de software.
2ª. Ed.. São Paulo: Novatec, 2007.
216
qualidade_de_software.indb 216 15/04/11 10:24
Qualidade de Software
MARTINEZ, M. Um método de web design baseado em usabilidade.
Tese (Doutorado), Escola Politécnica da Universidade de São Paulo, 2002.
MCANDREWS D.R. Establishing a Software Measurement Process.
Documento Nº. CMU/SEI-93-TR-16, 1993.
MEDEIROS, M. A. ISO 9241: uma proposta de utilização da norma para
Avaliação do Grau de Satisfação de Usuários de Software. Dissertação.
Universidade Federal de Santa Catarina, 1999.
MILLER, G. A. The magical number seven, plus or minus two: some limits on
our capacity for processing information. Psychological Review, 63, 81-97, 1956.
MULLER, Michel J.; HASLWANTER, Jean Hallewell; DAYTON, Tom.
Participatory practices in the software lifecycle. In: Handebook of
Human-Computer Interaction. cap. 11, 1997.
NEWMAN, W., Lamming, G. Interactive System Design. Addison Wesley
Publishers Ltd, Cambridge, 1996.
NIELSEN, Jakob. Projetando Websites. Rio de Janeiro: Campus, 2000.
NIELSEN, Jakob. Usability Engineering. Academic Press, 1993.
NORMAN, D.A. Some observations on mental models. In: GENTNER, D.;
STEVENS, A.L. Mental models. Hillsdale, NJ: Lawrence Erlbaum Associates,
1983.
PARIZOTTO, Rosamelia. Elaboração de um Guia de Estilos para Serviços
de Informação em Ciência e Tecnologia via Web. Dissertação submetida
à Universidade Federal de Santa Catarina, 1997.
PREECE, J.; ROGERS, Y.; SHARP, E.; BENYON, D.; HOLLAND, S.; CAREY, T.
Human-Computer Interaction. Addison-Wesley, 1994.
PRESSMAN, Roger S. Engenharia de software. São Paulo: Makron Books, 1995.
ROCHA, A.R.C, MALDONADO, J.,C., WEBER, K. Qualidade de Software.
Prentice Hall, 2001.
ROCHA, H.V.; BARANAUSKAS,M.C.C. Design e avaliação das interfaces
humano-computador. 12ª Escola de Computação, São Paulo, IME-USP,
2000. Disponível em: <[Link]
[Link]>. Acesso em: 8 dez. 2006.
ROCHA, Heloísa Vieira. Tutorial: por que estudar IHC? Fortaleza, IMIGRV,
2002.
SANTOS, Robson. A necessidade do design centrado no usuário.
Disponível: <[Link] Publicado em: 23
set. 2006. Acesso em: 02 mar. 2011.
SCAPIN, D. L. MAD: Une méthode analytique de description des tâches.
IN: Colloque sur l’engeniérie des interfaces homme-machine, Sophia-
Antipolis, France, INRIA, 1989.
217
qualidade_de_software.indb 217 15/04/11 10:24
Universidade do Sul de Santa Catarina
SCHNEIDERMAN, Ben. Designing the user interface, 2nd ed. Reading,
SOFTEX – Melhoria de Processo do Software Brasileiro: Guia Geral. Versão 1.2.
Campinas: SOFTEX, 2007.
STANLEY, Jacob W.; ASHWORTH, Clarice Francone.; LOSSOW, Walter J.
Anatomia e Fisiologia Humana. Addison-Wesley Publishing Co., 1992.
TSUKUMO, A. REGO, C.; AZEVEDO, G. Qualidade de software: visões de
produto e processo de software. II Escola Regional de Informática, São
Paulo: Sociedade Brasileira de Computação, Piracicaba, São Paulo, 1997.
TULVING, E. Episodic and semantic memory. In: TULVING, E.; DONALDSON,
W. (Eds.). Organization of memory. PP. 381-403. New York: Academic
Press, 1972.
TULVING, E. How many memory systems are there? American
Psychologist, 40, 385-398, 1985.
WINCKLER, M., BORGES, R.C., BASSO, K. Considerações sobre o uso
de cores em interfaces WWW. III Workshop de Fatores Humanos em
Sistemas e Computação, Gramado, 2000.
218
qualidade_de_software.indb 218 15/04/11 10:24
Sobre a professora conteudista
Vera Rejane Niedersberg Schuhmacher é mestre em
Engenharia de Produção com ênfase em Usabilidade de
Software pela Universidade Federal de Santa Catarina-
UFSC. Professora da Unisul desde 1998 em disciplinas
oferecidas nos cursos de Ciência da Computação e
Sistemas de Informação e Pós-graduação. Pesquisadora
do Núcleo de Computação, atua como Coordenadora do
NPU- Núcleo de Pesquisas em Usabilidade, prestando
consultoria em Engenharia de Software e Usabilidade
em empresas de tecnologias e projetos financiados por
órgãos de fomento como Finep, CNPq e Funcitec.
qualidade_de_software.indb 219 15/04/11 10:24
qualidade_de_software.indb 220 15/04/11 10:24
Respostas e comentários das
atividades de autoavaliação
Unidade 1
1) a) V; b) F; c) F; d) V; e) V.
2) Alternativa correta: b.
3) Sequência correta: c, b, a, d.
Unidade 2
1) Sequência correta: a, a, c, d, c, e, b, e.
2) No modelo CMM, pode-se dizer que:
As áreas-chaves do processo são organizadas por características
comuns necessárias para a implementação.
Áreas-chaves são necessárias para atingirmos os objetivos.
Níveis de maturidade indicam a capacidade do processo.
As características comuns contêm práticas-base que descrevem
as atividades.
3) Para que se inicie um processo de qualidade, é necessário
definir o processo de software a partir do reconhecimento do
processo atual, determinar a capacidade do processo e avaliar
a proposta de melhorias e evolução do processo de software.
Definido o processo, ele deve ser descrito em detalhes, de forma
a poder ser usado de maneira consistente.
4) A norma é definida em três grandes classes: os processos
fundamentais, que se prolongam do início à execução do
desenvolvimento, operação ou manutenção do software
durante todo o seu ciclo de vida; os processos de apoio, que
auxiliam outros processos; e os processos organizacionais, que
implementam uma estrutura constituída de processos de ciclo
de vida e pessoal associados, melhorando continuamente a
estrutura e os processos.
qualidade_de_software.indb 221 15/04/11 10:24
Universidade do Sul de Santa Catarina
Unidade 3
1) Sequência correta: a) F; b) F; c) V; d) V; e) V.
2) Alternativas corretas: b, c.
3) Sequência correta: c, b, a, d, e, f.
4) Estas duas características são fundamentais porque deve ser possível
repetir uma avaliação por um mesmo avaliador ou mesmo outro avaliador
e produzir resultados idênticos, se isto não ocorre, a avaliação não foi
realizada corretamente e seus resultados são questionáveis. O fato do
processo de avaliação ser reprodutível garante que seja possível avaliar o
produto repetidamente. Desta forma, você pode garantir a conformidade
com a norma. A imparcialidade é fundamental para garantir a credibilidade
da avaliação, pois a mesma não deve ser influenciada frente a nenhum
resultado particular. A imparcialidade garante que nada influencie o
processo de avaliação.
5) Para a realização da avaliação, é necessário que se tenha em mãos a
descrição do produto, documentação do usuário e os programas e dados.
Unidade 4
1) Sequência correta: a) D; b) I; c) D; d) D; e) I; f) I.
2) a) Ao serem estabelecidas as métricas de um projeto em uma fase inicial
do projeto, tem-se a chance de aplicá-las de forma efetiva em todo o
processo de desenvolvimento, se isto for realizado de forma tardia, etapas
importantes do processo não serão medidas, o que pode comprometer os
resultados do projeto.
b) O uso de medidas quantitativas e não qualitativas deve permitir o uso
de cálculos estatísticos permitindo, assim, a possibilidade de estimarmos
questões relacionadas ao projeto em andamento ou mesmo projetos
futuros com bases no passado.
3) R. Produtividade = 27.200/5 = 5.500 linhas p/p
Custo = 44.000/27.200 = U$ 1,62 por linha código
4) Sequência correta: a) V; b) F; c) V; d) V; e) F; f) V.
5) Os dois modelos usados pelo PSM são o modelo de informação onde
é definida a estrutura e as medidas que serão utilizadas no projeto e o
modelo de processo que estabelece um roteiro que apoia a equipe de
medição na condução das atividades para a execução da mesma.
6) No planejamento da medição, temos a identificação e priorização das
necessidades de informação, a seleção e especificação das medidas e a
integração da medição aos processos de apoio.
222
qualidade_de_software.indb 222 15/04/11 10:24
Qualidade de Software
Unidade 5
1) O termo usabilidade foi utilizado inicialmente por ciências como a
Ergonomia e a Psicologia. Em um primeiro momento, utilizou-se o termo
“user-friendly” intuitivamente tentando expressar questões relacionadas à
amigabilidade da interface. O uso desta expressão mostrou-se fraco para
expressar situações onde existem diferenças entre diferentes usuários
relacionados à sua aptidão e conhecimento da tarefa.
2) Sequência correta: b, c, a.
3) a) O site pode promover flexibilidade, oferecendo ao usuário
mecanismos alternativos para o alcance de seus objetivos. O uso de um
menu lateral é de uso corrente na internet, mas além dele você pode
oferecer um mecanismo de busca para que o usuário chegue ao seu
objetivo mais rapidamente.
b) Para tornar a sequência de interações mais fáceis de aprender para o
usuário, é importante selecionarmos uma amostra da população a fim de
identificarmos a forma como este usuário pensa sobre as tarefas propostas
no site.
Em outras palavras, o projeto de interações deve refletir a forma como
seu potencial usuário imagina que seriam realizadas. Outro aspecto a ser
considerado é o uso de mecanismos que promovam a boa condução da
tarefa no site, o oferecimento de mecanismos de ajuda consistentes com
a situação em que o usuário se encontra naquele momento e o cuidado
em manter um projeto de ícones adequados à ação proposta para eles.
A aprendizagem está intrinsecamente ligada ao uso de denominações
adequadas à linguagem do usuário.
4) Sequência correta: a) F; b) V; c) F; d) V; e) F; f) V; g) V; h) F.
Unidade 6
1) Sequência correta: a) A; b) C; c) B; d) B; e) A; f) C; g) B; h) A.
2) Um ponto forte no diálogo de uma página é o uso de metáforas do
mundo real. Um site de supermercado onde são vendidos produtos para
posterior entrega, por exemplo. O site deve ser estruturado, colocando
e utilizando a distribuição dos produtos de forma idêntica ou a mais
próxima possível do existente no supermercado real. Isto significa
utilizar-se da categorização dos produtos por corredores como ocorre no
supermercado. Por exemplo, produtos de limpeza, bebidas, confeitaria etc.
O cliente vai se recordar da sequência de forma automática, sentindo-se
confortável em um ambiente que ele já conhece.
Outra questão interessante, é fazer uso do que já faz parte da memória
popular, por exemplo, o uso de recursos como ícones.O uso do carrinho
de compras é o ideal neste projeto, pois é uma metáfora conhecida na
223
qualidade_de_software.indb 223 15/04/11 10:24
Universidade do Sul de Santa Catarina
internet e que ao mesmo tempo é próxima do mundo real. Os corredores
virtuais (produtos de limpeza, bebidas, confeitaria etc.) devem ser
disponibilizados o tempo todo em todas as páginas, evitando que o cliente
tenha que sair de um setor e procurar em um menu de outra página por
um produto desejado.
3) Sequência correta: a) V; b) F; c) V; d) F.
Unidade 7
1) Eis algumas sugestões de perguntas:
a) Qual é sua idade?
b) Você possui algum problema de deficiência visual?
c) Você possui algum problema de deficiência motora?
d) Você possui algum problema de deficiência auditiva?
e) Qual é seu grau de escolaridade?
f) Você possui computador em sua residência?
g) Você possui acesso à internet em sua residência?
h) Se a questão (f) for afirmativa, quais os aplicativos você costuma usar?
2) O processo de design é dinâmico porque sofre modificações,
transformações durante todo o seu ciclo de desenvolvimento. Estas
transformações são fundamentais, pois indicam a adaptação de
necessidades e expectativas que são incorporadas ao projeto.
3) A análise da atividade procura validar informações coletadas durante
a análise da tarefa. Além disto, soma informações que não foram obtidas
durante a análise da tarefa, como frequência, importância ou mesmo
redundâncias.
4) O sucesso do método se deve a intensa participação por meio de
técnicas simples do usuário em todas as etapas do projeto como
coparticipante e não somente como mero fornecedor de informações.
Unidade 8
1) Alternativa correta: c, ou seja, questões de duplo sentido confundem o
usuário e devem ser evitadas.
2) Sequência correta: a) A; b) C; c) B; d) A; e) B.
224
qualidade_de_software.indb 224 15/04/11 10:24
Biblioteca Virtual
Veja a seguir os serviços oferecidos pela Biblioteca Virtual aos
alunos a distância:
Pesquisa a publicações online
[Link]/textocompleto
Acesso a bases de dados assinadas
www. [Link]/bdassinadas
Acesso a bases de dados gratuitas selecionadas
[Link]/bdgratuitas
Acesso a jornais e revistas on-line
www. [Link]/periodicos
Empréstimo de livros
www. [Link]/emprestimos
Escaneamento de parte de obra*
Acesse a página da Biblioteca Virtual da Unisul, disponível no EVA
e explore seus recursos digitais.
Qualquer dúvida escreva para bv@[Link]
* Se você optar por escaneamento de parte do livro, será lhe enviado o
sumário da obra para que você possa escolher quais capítulos deseja solicitar
a reprodução. Lembrando que para não ferir a Lei dos direitos autorais (Lei
9610/98) pode-se reproduzir até 10% do total de páginas do livro.
qualidade_de_software.indb 225 15/04/11 10:24
qualidade_de_software.indb 226 15/04/11 10:24
Anexos
Imagens coloridas
Unidade 5
Figura 5.3 - Uso da previsibilidade no favorecimento da aprendizagem.
Fonte: a) Bp blogspot. b) Internet Explorer 6.
Unidade 6
Figura 6.1 – Os nomes das cores.
Fonte: Elaboração do Autor.
qualidade_de_software.indb 227 15/04/11 10:24
Universidade do Sul de Santa Catarina
Figura 6.2 – Rostos de pessoas.
Fonte: Disponível em: <[Link] Acesso em: 4 jan. 2011.
Figura 6.3 – Ilusão de cores.
Fonte: Disponível em: <[Link] Acesso em: 18 jun. 2006.
228
qualidade_de_software.indb 228 15/04/11 10:24
Qualidade de Software
Figura 6.6 - Campo Visual.
Fonte: Winckler (2000).
Figura 6.7 - Foco sobre a retina.
Fonte: Borges (2003).
229
qualidade_de_software.indb 229 15/04/11 10:24
Universidade do Sul de Santa Catarina
Figura 6.8 – Teste de visão?
Fonte: Disponível em: <[Link]
Figura 6.9 – O sistema tátil.
Fonte: BEAR, M.F., CONNORS, B.W. & PARADISO, M.A. Neurociências: desvendando o Sistema Nervoso.
2ª ed. Porto Alegre: Artmed Editora, 2002.
230
qualidade_de_software.indb 230 15/04/11 10:24
capa_curvas.pdf 1 29/03/11 13:46