FUNDAÇÃO EDSON QUEIROZ
UNIVERSIDADE DE FORTALEZA - UNIFOR
CENTRO DE CIÊNCIAS TECNOLÓGICAS-CCT
CURSO DE INFORMÁTICA
CLAUDIUS WALBER NÓBREGA DE ARAÚJO
8610205-6
ANÁLISE DOS PRINCÍPIOS DE USABILIDADE NUM
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
USANDO MATRIZ INTERATIVA DE AVALIAÇÃO
Fortaleza – 2004
CLAUDIUS WALBER NÓBREGA DE ARAÚJO
8610205-6
ANÁLISE DOS PRINCÍPIOS DE USABILIDADE NUM
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
USANDO MATRIZ INTERATIVA DE AVALIAÇÃO
O presente Trabalho de Conclusão de Curso
tem por finalidade Apresentar um instrumento
que auxilie na análise de Processos de
Desenvolvimento de Software.
Orientador: D.Sc .Elizabeth Sucupira Furtado
Fortaleza – 2004
ANÁLISE DOS PRINCÍPIOS DE USABILIDADE NUM
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
USANDO MATRIZ INTERATIVA DE AVALIAÇÃO
Claudius Walber Nóbrega de Araújo – 8610205-6
PARECER: ___________________________________
DATA: _____/_____/____________
BANCA EXAMINADORA:
DSC. ELIZABETH SUCUPIRA FURTADO
DR. ARNALDO DIAS BELCHIOR
AGRADECIMENTOS
A Deus e a N.S. de Aparecida, por terem me abençoado e dado força para subir mais
um degrau na escalada da vida.
À minha orientadora, Profª. Elizabeth, que apostou em uma idéia inovadora.
Aos meus familiares, pelo carinho e incentivo dispensados a minha pessoa, em
especial meu pai e minha esposa.
Aos professores que me incentivaram nos momentos mais difíceis, bem como os que
me elogiaram nos meus momentos de glória: Adbeel Gomes, Ângelo Brayner, Augusto Pedroza,
Arnaldo Belchior, Elizabeth Furtado, Fernando Parente, Francisco Arnoldo, Francisco Lúcio, José
Bezerra, José Wagner, Maikol Rodrigues, Manuel Américo, Marcos César, Micheline Elga ,
Nabor Cha gas e Sandra Freitas.
Aos amigos que contribuíram direta ou indiretamente para a realização deste trabalho,
em especial: Kênia Sousa.
RESUMO
Diversos autores tais como ((Furtado, 2003), (Pressman, 2000), (Paula Filho, 2003)), têm
ressaltado a importância de se obter software de qualidade. Muitos deles enfatizam que para
se obter software de qualidade é necessário que o Processo de Desenvolvimento de Software
– PDS, possua qualidade. A busca por qualidade no PDS é evidenciada pela aplicação de
normas, pela realização de atividades estabelecidas em métodos e pela gerência destas
atividades. Este Trabalho de Conclusão de Curso tem por finalidade reunir informações
quanto às etapas de um PDS e confronta- las com critérios de usabilidade. O instrumento com
a capacidade de reunir as etapas do PDS e os critérios de usabilidade foi definido como
Matriz Interativa de Avaliação – MIA. Como resultado desta aplicação, isto é, do uso da MIA
proposta, surgirão indicadores que auxiliarão desenvolvedores a verificar se durante um PDS
foram adotados critérios de usabilidade capazes de se obter um produto final com usabilidade.
SUMÁRIO
AGRADECIMENTOS
RESUMO
Lista de Acrônimos
Lista de Figuras
Lista Quadros
1 – INTRODUÇÃO
12
1.1. Conceitos Iniciais
12
1.2. Motivação
15
1.3. Objetivos
18
1.3.1. Geral
18
1.3.2. Específicos
18
1.4. Estrutura da monografia
19
2- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE – PDS
20
2.1 – Breve Histórico
20
2.1.1 – Fases de um Processo de Desenvolvimento de Software Genérico
21
2.1.2 – Principais Ciclos de Vida
23
2.2 – Princípios do Rational Unified Process – RUP
27
2.2.1 - Aspectos Dinâmicos
28
2.2.2 - Aspectos Estáticos
32
2.3 – Princípios do Unifed Process Interative – UPi
35
2.3.1 - Desenvolvimento do software iterativamente
36
2.3.2 - Gerenciamento dos requerimentos
36
2.3.3 - Uso de arquiteturas baseada em componentes
36
2.3.4 - Modelagem visual de um Software
36
2.3.5 - Verificação continua da qualidade do software
37
2.3.6 - Controle das mudanças no software
37
2.3.7 – Aspectos de Usabilidade do UPi
38
3 – PRINCÍPIOS DA INTERAÇÃO HUMANO COMPUTADOR (IHC) A
SEREM CONSIDERADOS NUM PDS
41
3.1 - Interação Humano Computador – IHC
41
3.2 – Princípios da Engenharia da Usabilidade
43
3.2.1 – Centralização de Foco no Usuário
43
3.2.2 – Recomendações Ergonômicas
46
3.2.3 – Testes de Usabilidade
48
3.3 – Princípios Relevantes de IHC
51
3.3.1 – Sensibilidade ao Contexto
51
3.3.2 – Uso de Modelos
51
3.3.3 – Desenvolvimento Dirigido por Pattern
55
3.3.4 – Independência de Dispositivos
58
3.4 – Conclusão
58
4 – MATRIZ INTERATIVA DE AVALIAÇÃO (MIA)
59
4.1 – Princípios das MIA
59
4.2 – Princípios de Usabilidade a Serem Incorporados na MIA
62
4.3 – Fases do RUP a serem Incorporados na Matriz Interativa de Avaliação
63
4.4 – Relacionamento Entre os Aspectos de Usabilidade e Fases do RUP e UPi
65
na MIA
4.5 – Análise dos Processos RUP e UPi, segundo a Intensidade e Uso de 77
Princípios de Usabilidade
4.6 – Síntese da Análise
87
5 – CONCLUSÕES
89
6 – BIBLIOGRAFIA
91
7. ANEXOS
LISTA DE ACRÔNIMOS
ABNT – Associação Brasileira de Normas Técnicas
HFES – Human Factors and Ergonomics Society
IHC – Interação Humano Computador
ISO – International Standards Organization
J2EE - Java 2 Platform, Enterprise Edition
MIA – Matriz Interativa de Avaliação
MVC – Modelo Visualização Controle
PDS – Processo de Desenvolvimento de Software
RUP - Rational Unified Process
SI – Sistema Interativo
UML - Unified Modeling Language
UNIFOR – Universidade de Fortaleza
UPi – Unified Process Interactive
UI – User Interface
LISTA DE FIGURAS
Figura 1 – Representação Gráfica do PDS Genérico
21
Figura 2 – Representação Gráfica do Ciclo de Vida em Cascata
24
Figura 3 – Representação Gráfica do Ciclo de Vida em Cascata com 25
Realimentação
Figura 4 – Representação Gráfica do Ciclo de Vida em Espiral
25
Figura 5 – Representação Gráfica do Ciclo de Vida Cone
26
Figura 6 – Arquitetura do RUP
28
Figura 7 – Exemplo de Storyboard para consulta em uma biblioteca
53
Figura 8 – Planificação Hierárquica de Tarefas
53
Figura 9 – Exemplo de Modelo de Tarefa
54
Figura 10 – Modelo de Interface Conceitual de um formulário de identificação
55
Figura 11 – Modelo 3 Camadas – MVC
56
Figura 12 – Matriz interativa de Leopold
60
Figura 13 – Passos para criação de uma Matriz Interativa de Avaliação
67
Figura 14 – Matriz Interativa de Avaliação (Exemplo)
68
LISTA QUADROS
Quadro 1 – Evolução do Processso de Desenvolvimento de Software – PDS
20
Quadro 2 – Interações entre Disciplinas da Fase de Iniciação do RUP e Princípios 69
de Usabilidade
Quadro 3 – Interações entre Disciplinas da Fase de Elaboração do RUP e
Princípios de Usabilidade
Quadro 4 – Interações entre Disciplinas da Fase de Construção do RUP e
Princípios de Usabilidade
Quadro 5 – Interações entre Disciplinas da Fase de Transição do RUP e Princípios
de Usabilidade
Quadro 6 – Interações entre Disciplinas da Fase de Iniciação do UPi e Princípios
de Usabilidade
Quadro 7 – Interações entre Disciplinas da Fase de Elaboração do UP i e Princípios
de Usabilidade
Quadro 8 – Interações entre Disciplinas da Fase de Construção do UPi e Princípios
de Usabilidade
Quadro 9 – Interações entre Disciplinas da Fase de Transição do RUP e Princípios
de Usabilidade
Quadro 10 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de
Usabilidade na Fase de Iniciação
Quadro 11 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de
Usabilidade na Fase de Elaboração
Quadro 12 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de
Usabilidade na Fase de Construção
Quadro 13 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de
Usabilidade na Fase de Transição
70
71
72
73
74
75
76
78
81
84
86
LISTA GRÁFICOS
Gráfico 1 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de 79
Usabilidade na Fase de Iniciação
Gráfico 2 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de 82
Usabilidade na Fase de Elaboração
Gráfico 3 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de 85
Usabilidade na Fase de Construção
Gráfico 4 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de 87
Usabilidade na Fase de Transição
1 – INTRODUÇÃO
1.1. Conceitos Iniciais
Para a melhor compreensão do presente trabalho é necessário que se faça
inicialmente pequena s considerações a respeito dos seguintes temas:
- Processo de Desenvolvimento de Software
- Qualidade de Software;
- Usabilidade de Software;
- Aspectos relativos a Interação Humano Computador – IHC;
- Rational Unifed Process – RUP
- Unifed Process Interative – UPi
Um Processo de Desenvolvimento de Software (PDS) pode ser definido como uma
espécie de algoritmo que exige o cumprimento de diversas etapas, dentre as quais se
destacam: levantamento de necessidades ou requisitos, análise, projeto, implementação e
testes.
Estas etapas incluem atividades diversas, sendo realizadas por uma equipe de
desenvolvedores e produzindo diversos artefatos.
Cada vez mais, estudos existem para que não somente o artefato tenha qualidade,
mas o PDS também.
13
Para que um PDS garanta a qualidade é necessário que ele seja concebido
contemplando alguns aspectos básicos, dentre os quais podemos destacar: Fase de
Planejamento bem elaborada, Atuação ativa da Equipe de Desenvolvedores, Geração de
Produtos intermediários antes da geração do Produto final e Acompanhamento e Participação
do Cliente no PDS, este último intimamente relacionado com o critério de usabilidade.
?
Planejamento – é de grande importância para o desenvolvimento de um projeto. São
merecedores de planejamento: organização da equipe, prazos, metodologia de trabalho,
técnicas e ferramentas, fases, produtos, forma de revisão, aprovação e acompanhamento.
O Planejamento, portanto é um dos fatores que auxiliam na busca de um resultado préestabelecido;
?
Atuação da Equipe de Desenvolvedores – este tópico influencia diretamente no
andamento do projeto, principalmente no que diz respeito às questões de distribuição de
tarefas, definição de responsabilidades e, principalmente, gerenciamento de conflitos.
?
Geração de Produtos – cada fase deve gerar produtos concretos (propostas, documentos
ou modelos compatíveis com a fa se na qual se encontra o projeto). Uma fase
adequadamente gerenciada e desenvolvida dará origem (gerará) o produto previsto;
?
Acompanhamento – o acompanhamento do projeto, associado às medidas corretivas
quando identificados desvios em relação ao planejado, é uma ação fundamental no
processo de desenvolvimento. Sem esta ação não se garante o resultado projetado; não se
cria condições de corrigir distorções nem contempla novas variáveis que certamente
surgem no desenvolvimento de um projeto;
?
Participação do cliente – o envolvimento e a participação do Cliente são de vital
importância ao perfeito desenvolvimento do projeto. Tal participação e envolvimento é a
garantia de se alcançar os resultados por ele esperado. O Cliente deve ser parceiro no
projeto, acompanhando seu andamento e participando ativamente das decisões. Esta ação
está intimamente relacionada com o critério de usabilidade do software a ser
desenvolvido.
14
No tocante à qualidade de um software, de acordo com Rocha (2001), relata que
existem diversas definições sobre o que é qualidade de software, sendo algumas delas:
?
Qualidade é estar em conformidade com os requisitos dos clientes;
?
Qualidade é antecipar e satisfazer os desejos dos clientes;
?
Qualidade é escrever tudo o que se deve fazer e fazer tudo o que foi escrito.
Para Pressman (2000), a qualidade de um software define-se como a
"Conformidade com os requisitos funcionais e de desempenho explicitamente definidos, com
standards de desenvolvimento documentados, com as características implicitamente
expectáveis de software profissionalmente desenvolvido". Esta definição, afirma Pressman
(2000), serve para realçar 3 pontos:
?
Os requisitos do software são a base a partir da qual se pode medir a qualidade. Falta
de conformidade com os requisitos é falta de qualidade;
?
Standards especificados definem um conjunto de critérios de desenvolvimento que
guiam a forma em que o software foi construído. Se os critérios não foram seguidos, o
resultado será seguramente falta de qualidade;
?
Há um conjunto de requisitos implícitos que muitas vezes não são mencionados. Se
apesar de respeitar os requisitos explícitos o software não cumprir os requisitos
implícitos, a qualidade será duvidosa.
Em termos de usabilidade, destacamos que esta se encontra diretamente ligada à
participação do usuário no processo de desenvolvimento do software. O fundamento da
usabilidade de software é facilitar o máximo possível a interação das pessoas com os sistemas,
sejam softwares desktops ou aplicativos de internet. A usabilidade, é atua lmente estudada na
área de Interação Humano Computador - IHC.
A IHC é uma área de pesquisa dedicada a estudar os fenômenos de comunicação
entre pessoas e sistemas computacionais. A IHC teve seu início como disciplina no fim dos
anos 70 e início dos anos 80. Inicialmente começou através de uma aliança entre profissionais
da informática e psicólogos. Agora o tema IHC é bastante diversificado e engloba diversas
15
disciplinas tais como psicologia, ciência da comunicação e da informação, letras, design,
antropolo gia, sociologia, etc. A pesquisa em IHC se preocupa em como se certificar da
usabilidade, o que quer dizer, produtos que são efetivos, eficientes e satisfatórios em seu uso.
Pesquisadores de IHC tentam entender o que os usuários querem fazer e como designers
podem ser ajudados a prover produtos que satisfaçam estas necessidades. (Monk, 2002)
1.2. Motivação
Como descrito anteriormente, existem vários aspectos a serem considerados
durante um PDS.
Garantir que um PDS seja perfeitamente executado não é uma tarefa
simples, posto requerer entrosamento entre a Gerência do Projeto com a Equipe de
Desenvolvedores e o Cliente, sem esquecer a utilização de Ferramentas adequadas.
Para a medição da qualidade de um PDS, deve-se fazer uma definição e seleção de
um conjunto de métricas. De acordo com Rocha (2001), as métricas devem ter por objetivo s:
caracterizar o projeto e seu contexto; medir, avaliar e sugerir melhorias em um processo de
software específico e; realizar estudos empíricos envolvendo medição e avaliação destes
processos.
Atualmente, existem diversas ferramentas que apóiam os PDS e que fazem uso de
métricas, dentre as quais se destacam:
FERRAMENTAS ESTIMATIVAS
?
COSTAR (Softstar Systems, 2003) – Ferramenta de custo de estimativa de software,
baseada no COCOMO1 (Boehm, 1981). Um gerente de projeto de software pode usar
o COSTAR, produzindo estimativas de duração, níveis de “staffing”, esforço e de
custo de um projeto.
?
COSMOS (Structural Research & Analysis Corporation, 2003)- Facilita a tarefa de
estimação para projetos de desenvolvimento de sistemas. O COCOMO permite que se
1
Modelo de estimação de custo COCOMO é usado por milhares de gerentes para projetar software é baseado em um estudo
de contagens de projetos de software.
16
estime o tamanho e o esforço do projeto, usando o Ponto de Função 2 (FPA) e modelos
de COCOMO.
?
Ferramenta de Estimação e de Análise do Software – Ferramenta baseada no Windows
para estimativa do esforço do desenvolvimento do software. Analisa e integra o FPA
com o modelo de COCOMO. Esta ferramenta é um poderoso ambiente que fornece o
feedback, relatórios e ferramentas imediatas para estimação e resolução rápida dos
problemas.
?
KnowledgePLAN
(Software
Productivity
Research,
1985)–
Esta
ferramenta
desenvolve uma estimativa inicial com esforço limitado e guia o usuário com
refinamentos através perguntas, possibilitando estimativas de esforço, programação,
custo, e exigências de recurso.
FERRAMENTAS DE DESENVOLVIMENTO
?
EPOS (Conradi, 1994) – Esta ferramenta possui um planejador inteligente que é
responsável pelo detalhamento de tarefas, gerando automaticamente uma rede de
subtarefas para cada tarefa composta.
?
SMART (Garg, 1994) – Utiliza uma ferramenta com base em conhecimento,
articulador para modelar, analisar e simular processos complexos.
?
ASSIST-PRO (Falbo, 1999a) – Trata-se de um assistente inteligente para apoiar a
definição de processos de software no contexto do meta ambiente TABA3 .
?
DEF-PRO (Machado, 2000a) – definição de um processo de software padrão para uma
organização, com base na Norma ISO/IEC 12207, nos modelos de maturidade (CMM
ou SPICE), em níveis de capacitação, nas características de desenvolvimento de
software da organização e no tipo de Ambiente de Desenvolvimento de Software –
ADS, para o qual está sendo definido o processo.
Conforme exposto, estas ferramentas são de grande valia aos desenvolvedores.
2
3
A técnica FPA quantifica funções contidas dentro do software em termos que são significativos aos usuários.
Projeto da UFRj.
17
Entretanto não se verificou que as ferramentas supracitadas, dessem apoio aos
princípios de usabilidade estudados neste trabalho.
A análise de um PDS sobre os aspectos de usabilidade não é novidade, porém este
trabalho tem a proposta de apresentar uma Matriz Interativa de Avaliação (MIA) que possa
promover a união das etapas de um PDS e os aspectos relacionados à usabilidade. O objetivo
é alcançar a maximização da compreensão de desenvolvedores e usuários (clientes), através
do inter-relacionamento entre as linhas e as colunas da matriz (MIA), no tocante aos
princípios de usabilidade.
Como exemplos de PDS, serão utilizados o Rational Unified Process – RUP e o
Unified Process Interactive – UPi (Sousa, 2002), que é uma derivação do primeiro. Segundo
Kruchten (2003), “o Rational Unifed Process - RUP é um processo de desenvolvimento de software iterativo
e incremental. O ciclo de vida do RUP é constituído por ciclos de desenvolvimento, cada um possuindo as
seguintes fases: concepção, elaboração, construção e transição.
Cada ciclo de desenvolvimento é constituído pela release de um produto executável, que pode ser
um subconjunto da visão completa mas que deve ser útil sob alguma perspectiva de engenharia ou do usuário.
Cada release é acompanhada por artefatos de apoio: planos, descrição da release, documentação do usuário, etc. ”
O Unifed Process Interative – UPi é uma derivação do RUP e tem como principal
diferencial a abrangência dos aspectos de IHC, os quais não são contemplados plenamente no
RUP básico.
18
1.3. Objetivos
1.3.1. Geral
O objetivo geral deste trabalho é apresentar um instrumento para auxiliar a equipe
de desenvolvimento na avaliação de um PDS no tocante aos aspectos relacionados à
usabilidade.
1.3.2. Específicos
Os objetivos específicos podem ser traduzidos da forma como se segue:
a) Reunir aspectos de usabilidade referentes às etapas elementares de um PDS, tais como:
?
Levantamento de Necessidades;
?
Análise;
?
Projeto e
?
Testes e Integração.
b) Integrar estes aspectos com os conceitos envolvidos nas etapas de desenvolvimento de
software, dando ênfase ao Rational Unified Process – RUP e ao Unified Process
Interactive - UPi, e apresentá- los em Matriz Interativa de Avaliação (MIA);
c) Fazer uma análise integrada das etapas de desenvolvimento de software do UPi, e
comparando com o RUP, versus os aspectos ligados à usabilidade, definidos no item
anterior.
19
1.4. Estrutura da monografia
O presente trabalho foi dividido em quatro etapas. Na primeira etapa foi feita uma
Introdução abordando conceitos iniciais, motivação, os objetivos do TCC e a apresentação da
estrutura da monografia.
Na segunda etapa do TCC, será feita uma contextualização a respeito de PDS,
abordando aspectos relativos ao histórico de um PDS, processo de engenharia de software,
principais ciclos de vida, fases de desenvolvimento, qualidade e usabilidade de software,
princípios do RUP, princípios de IHC e princípios do UPi.
A terceira etapa do trabalho contemplará os aspectos relacionados à avaliação da
qualidade de um software incluindo técnicas de avaliação e uma crítica quanto ao seu uso.
A etapa final do trabalho contemplará o instrumento proposto. Nesta etapa,
faremos um histórico do uso da Matriz Interativa de Avaliação – MIA e sua aplicabilidade.
Serão apresentados estudos do RUP e UPi frente aos princípios de Usabilidade, mostrando a
aplicação da MIA.
2- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE – PDS
2.1 – Breve Histórico
O Quadro 1, ilustra as características associadas a cada uma das eras
metodológicas até os dias atuais.
Quadro 1 – Evolução do Processo de Desenvolvimento de Software – PDS
ANOS
ERAS
CARACTERÍSTICAS
? Não cumprimento de cronogramas;
1960 a 1970
Pré –
Metodológica
? Custos estourados;
? Não aplicação de métodos;
? Cliente insatisfeito.
1970 a 1980
Início da era
Metodológica
? Identificação de fases para melhorar o gerenciamento
e desenvolvimento do software;
? Surgimento dos Ciclos de Vida.
? Proliferação de metodologias recomendando o uso de
heurísticas e técnicas para alcançar os melhores
1980 a 1990
Metodológica
produtos e baseadas em ciclos de vida.
? As metodologias tinham diferentes abordagens:
1. estruturada;
2. orientada a objetos;
21
3. modelagem
gráfica
de
informação –
case,
geradores de interface.
Filosofia: “não usar metodologia pode ser uma catástrofe.
Mas a adoção de metodologias não garante o aumento de
1990 a 2004
Pós –
produtividade. Eles rejeitam o desenvolvimento passo-a-
Metodológica
passo e a documentação detalhada. Elas são difíceis,
exigem um skill (habilidade, técnica, perícia) elevado e
pode ser cara aprender usando ferramentas associadas”.
2.1.1 – Fases de um Processo de Desenvolvimento de Software Genérico
Todo e qualquer PDS, deve seguir no mínimo as seguintes etapas: Levantamento
de Necessidades, Análise, Projeto, Implantação, Integração e Avaliação, as quais estão
representadas na Figura 1.
Figura 1 – Representação Gráfica de um PDS Genérico
A tarefa referente ao levantamento de necessidades ou requisitos é uma das mais
complexas dentro do contexto de um PDS. O levantamento deve considerar os requisitos
funcionais (o que o sistema vai fazer) e os requisitos não funcionais (aqueles relacionados
com à qualidade e à usabilidade).
22
Os requisitos não funcionais descrevem as facilidades do sistema; são diretamante
ligados aos fatores psicológicos. A não consideração desses fatores na análise de requisitos
constitui uma das principais razões de uma eventual insatisfação do usuário com relação a um
produto. Dentre os requisitos não funcionais merecem destaque : a Portabilidade (o sistema de
ser portável ou seja rodar em diversas plataformas e/ou dar suporte a vários idiomas), a
Usabilidade (facilidade de aprender e de usar um sistema) e a Segurança (por exemplo, o
sistema não deve permitir o acesso de pessoas não cadastradas, por meio de Login e Senha).
Diversos artefatos e ferramentas de registro e de documentação apóiam o
levantamento de requisitos, dentre os quais temos casos de uso, UML e as ferramentas
Requisit Pro e Rose.
Após o levantamento inicial dos requisitos, surge a etapa de Análise, a qual tem
como foco principal definir o que será feito.
Nesta fase, geralmente, se definem conceitos, faz-se o levantamento das entidades
através dos diagramas de classe, se estabelecem os relacionamentos (estáticos e dinâmicos),
modela-se o diagrama de estados, promove-se o detalhamento dos casos de uso e lança-se
uma proposta da interface do usuário (protótipo).
Na etapa de Projeto, deve-se realizar o detalhamento dos relacionamentos entre as
classes, confeccionar os dia gramas de colaboração e de seqüência, fazer a reavaliação dos
diagramas de estado, definir qual a linguagem de programação a ser utilizada, projetar o
banco de dados, se for o caso, confeccionar as interfaces gráficas reais (protótipos).
Uma vez projetado o sistema, resta implementá-lo. Este é mais um ponto
suscetível a fracassos, dessa vez em função de freqüentes falhas de qualidade. São inúmeros
os sistemas que, embora de concepção impecável, não são postos em produção no prazo (às
vezes nunca) e cujos custos superam o orçamento por conta de bugs e correções infindáveis.
23
Assim como a implementação, a integração do sistema é um tópico que também
merece bastante atenção, pois se o sistema não estiver bem integrado fica passível de diversos
tipos de falhas.
O processo de avaliação pode ser procedido de duas formas. Primeiramente,
através de testes diretamente no ambiente em que foi produzido, seja antes de repassar o
produto ao cliente. Outra forma de avaliação seria realizada por conta do cliente, no estilo de
uma versão para teste.
2.1.2 – Principais Ciclos de Vida
Um ponto de partida importante para a determinação de um processo de
desenvolvimento de software é a escolha do modelo de ciclo de vida.
a) codifica - remenda
É o ciclo de vida mais caótico e mais usado, porém é o menos recomendado. Sua
filosofia é que o desenvolvimento do produto deve se dar de imediato, sem planejamento
algum e a medida que os problemas (erros) forem surgindo, o software é “remendado”.
Nenhum processo definido é seguido, para alguns desenvolvedores, este modelo é
bastante atraente em virtude de não exigir sofisticação nenhuma, seja de âmbito técnico ou
gerencial. Este modelo representa alto risco, não apresenta formas de gerir e nem tão pouco
maneiras de fixar prazos concretos para entrega de produtos.
b) cascata
No modelo cascata (Royce, 1970), os processos são executados catedraticamente
em seqüência. Para que a fase seguinte seja executada, é necessário que o processo anterior
24
tenha sido concluído (ver Figura 2). Em virtude dos processos terem sido bem definidos, é
possível aplicar pontos de controle bem definidos. Estes pontos de controle facilitam ações
gerenciais.
O cascata, é conhecido por ser um ciclo de vida rígido e burocrático em virtude de
não admitir erros. O ciclo de vida em cascata possui a desvantagem de o cliente só ter acesso
ao seu produto no final do projeto, isto o caracteriza como um modelo de baixa visibilidade.
Figura 2 – Representação Gráfica do Ciclo de Vida em Cascata
c) cascata com realimentação
O modelo de ciclo de vida em cascata com realimentação é uma variação do ciclo
de vida em cascata, onde existe a possibilidade de retrocesso a um processo supostamente
concluído no qual a execução de um processo subseqüente detectou-se um erro em decorrente
do processo anterior. Neste ciclo de vida há a possibilidade de retrocesso para concerto de
erros. Isto todavia dificulta as ações gerenciais (ver Figura 3).
25
Figura 3 – Representação Gráfica do Ciclo de Vida em Cascata com Realimentação
d) espiral
Este modelo é baseado em iterações (Boehm, 1988). Cada nova iteração representa
uma volta no espiral (ver Figura 4). Permite a construção de produtos em prazos curtos com
agregação de no vas características e recursos à medida da necessidade.
Figura 4 – Representação Gráfica do Ciclo de Vida em Espiral
26
e) prototipagem evolutiva
Uma variante do modelo espiral com a característica de ser usada para construir
uma série de versões provisórias as quais são denominadas protótipos. Na medida do
desenvolvimento, os protótipos cobrem cada vez mais requisitos, até que atinja o produto
desejado. Definição progressiva dos requisitos. Este modelo apresenta alta flexibilidade e boa
visibilidade p/ clientes. Requer gestão sofisticada e desenho robusto para que não se desvie do
produto desejado.
f) entrega evolutiva
Este modelo é uma combinação dos modelos Cascata e Prototipagem evolutiva.
g) cone
O modelo de ciclo de vida denominado Cone (Furtado, 2001), é um modelo
incremental e iterativo, ou seja é dotado da possibilidade de retorno para reparar erros ou
inconsistências. É muito parecido com o modelo espiral. Todavia a principal diferença entre
os dois é que o modelo Cone na medida em que vão ocorrendo as iterações, va i ocorrendo
concomitantemente, um refino e um afunilamento dos processos.
Figura 5 – Representação Gráfica do Ciclo de Vida Cone
27
2.2 – Princípios do Rational Unified Process – RUP
O RUP, criado pela Rational Software Corporation, é um processo de
desenvolvimento amplo resultante da consolidação das melhores práticas de engenharia de
software. Sua meta é ser a fundação de metodologias de desenvolvimento, que garantam a
produção de software de alta qualidade, dentro dos cronogramas e orçamento previstos. O
RUP descreve como desenvolver software usando técnicas testadas e aprovadas
comercialmente.
O RUP tem sido amplamente utilizado no desenvolvimento de sistemas Java 2
Platform, Enterprise Edition - J2EE, podendo também ser aplicado a qualquer projeto baseado
em um modelo orientado a objetos, bem como em projetos baseados em componentes.
A arquitetura do RUP possui duas dimensões. O eixo horizontal representa os
ciclos de vida do projeto ao longo do tempo. O eixo vertical representa as disciplinas que
agrupam atividades necessárias à consecução de um projeto.
A primeira dimensão representa os aspectos dinâmicos do processo e é expressa
em termos de fases, iterações e marcos. A segunda dimensão representa os aspectos estáticos
do processo e é descrita em termos de componentes, disciplinas, atividades, diagramas,
artefatos, e funções. A Figura 6 ilustra a arquitetura do RUP, onde se verifica que nas
primeiras iterações é gasto mais tempo nos requisitos e, nas iterações mais tardias, é gasto
mais tempo na implementação.
28
Figura 6 - Arquitetura do RUP
Fonte: Rational.com
2.2.1 - Aspectos Dinâmicos
Conforme mencionado anteriormente, os aspectos dinâmicos são compostos pelas
fase desenvolvimento do RUP, que são: fase de Concepção ou Iniciação, fase de Elaboração,
fase de Construção e fase de Transição.
Na fase de Concepção ou Iniciação (Inception), o objetivo maior é alcançar uma
conformidade entre todos os interessados no sistema com relação aos objetivos determinados
ao longo de todo o projeto. A fase de Concepção é de primordial importância nos esforços de
desenvolvimento, aonde existem riscos significativos de negócio e requisitos que devem ser
levantados antes que o projeto possa prosseguir.
Esta fase representa o bloco inicial. Ela envolve a articulação da visão para o
sistema e o estabelecimento de um projeto formal para construir o sistema. Deve ser algo mais
29
do que uma boa idéia rabiscada em um papel de rascunho. Uma visão clara deve ser
expressada e o escopo do projeto definido. Estes itens serão a fundação para a próxima fase.
Do ponto de vista da engenharia de usabilidade, isto significa destacar as
atividades relacionadas à compreensão de quem são os usuários e suas necessidades além da
identificação dos casos de uso de maior relevância para os usuários.
A fase de iniciação muitas vezes também é o momento para explorar o design
conceitual e a criação de protótipo de “prova de conceito”. Isto é verdadeiro quando os
principais riscos do projeto estão relacionados às questões de usabilidade e interface do
usuário. O teste de usabilidade, incluindo o teste de desempenho relacionado à usabilidade,
deve ser iniciado quando houver moldes ou protótipos executáveis da interface do usuário.
Na fase de Elaboração (Elaboration), o domínio do problema é detalhado e o
escopo do projeto é definido em grandes detalhes. Tantos os requisitos funcionais como os
não- funcionais para o sistema devem ser definidos neste ponto. Os requisitos não- funcionais
podem ser encarados como fatores críticos para o sucesso, que descrevem o grau de risco
envolvido no desenvolvimento do sistema.
O resultado final desta fase é a arquitetura base do sistema J2EE e um cronograma
para a produção do sistema. Descrito como uma arquitetura na documentação do RUP,
qualquer mudança feita na fase de construção deve ser mínima.
Como o RUP é um processo iterativo, os artefatos criados na Iniciação são
revisados com os usuários a fim de gerenciar o escopo e garantir que o sistema em
desenvolvimento atenda às necessidades destes.
Nesta fase, a interface conceitual do usuário é definida, e os elementos críticos
e/ou de risco do design da interface do usuário são implementados. Ainda nesta fase, são
merecedoras de destaque as ações de design e modelagem de interface do usuário, referentes
às atividades da disciplina de Requisitos e as atividades de suporte provenientes da disciplina
30
de Análise e Design. Implementação e Teste também estão envolvidos, desde que a conclusão
da Elaboração precise que um sistema executável seja construído para que possa ser avaliado.
O objetivo da fase de Construção (Construction) é elucidar os requisitos
remanescentes e completar o desenvolvimento do sistema baseado na estrutura base da
arquitetura. Na fase de construção a ênfase é colocada na administração dos recursos e no
controle das operações visando otimizar os custos, cronogramas e qualidade. Neste sentido o
processo sofre uma transição do desenvolvimento de um produto intelectual durante as fases
de Concepção e Elaboração, para o desenvolvimento de um produto comercial durante as
fases de Construção e Transição.
A fase de construção começa desenvolvendo os detalhes da arquitetura base e
produz uma arquitetura final. Assim como em outras fases do desenvolvimento, é esperado
que a fase de construção possa envolver múltiplas iterações.
Nesta fase, conforme mencionado, foco é na implementação de mais casos de uso.
Isso envolve adicionar à interface do usuário, sem deixar de se manter fiel ao modelo
conceitual da interface do usuário e ao Guia de Interface do Usuário. O teste de usabilidade
continua sendo muito importante à medida que os novos recursos são adicionados.
A seleção da funcionalidade a ser colocada em cada it eração é baseada no valor
para os usuários.
O foco da fase de Transição (Transition), por sua vez, é o de assegurar que o
software esteja disponível para o usuário final. A fase de Transição se expande sobre várias
iterações, e inclui o teste do produto em preparação para o lançamento, além de pequenos
ajustes baseados nos retornos dos usuários. Neste ponto do ciclo de vida, o retorno do usuário
deve focar-se principalmente no refino do produto. Serão tratadas as questões de
configuração, instalação e utilização. Todas as principais questões estruturais devem ter sido
trabalhadas nas fases iniciais do ciclo de vida do projeto.
31
No final da fase de Transição, os objetivos devem ter sido alcançados, e o projeto
deve estar pronto para ser concluído. Em alguns casos, o final desta fase pode coincidir com o
início de outra fase do mesmo produto, levando a uma próxima geração ou versão do produto.
Para outros projetos, o final da fase de Transição, pode coincidir com a entrega dos artefatos a
terceiros, que podem ser responsáveis pelas operações, manutenção e aprimoramento do
sistema de entrega.
Em um esforço de desenvolvimento centrado no usuário, não se deve esperar até a
fase de Transição para envolver o usuário. Ele deve permanecer envolvido, principalmente
para fornecer feedback. Quando o usuário fica envolvido durante todo o desenvolvimento, o
teste beta e de aceitação formal geralmente é reduzido ou não existe. Assim, o feedback
detalhado do usuário e a aprovação ocorrem durante o esforço de desenvolvimento.
O desenvolvimento do material de treinamento e do material de suporte do sistema
é finalizado na Transição, mas deve ser iniciado nas fases iniciais, se possível, a fim de
permitir o feedback do usuário.
Na transição, existe um sistema de trabalho que pode ser usado pelos usuários
finais. É recomendado planejar pelo menos algumas iterações durante a transição, para que
problemas com a release inicial sejam corrigidos e para que o feedback dos principais
usuários seja incorporado.
À medida que as fases supracitadas são executadas em ordem e em um modelo
cíclico, deve surgir um produto de software usável, mas não necessariamente um produto que
atinge totalmente os requisitos do sistema. O desenvolvimento de software com RUP é como
construir uma casa, e então adicionar a garagem, depois adicionar a piscina, até que no fim se
tenha a casa que inicialmente se imaginava construir.
Este processo iterativo é considerado uma abordagem evolucionária para
desenvolvimento de software. Cada iteração resulta em melhoras e em um produto que está
um passo mais próximo do objetivo de um sistema completo. Cada fase no processo pode
também envolver múltiplas iterações antes que ela seja completada.
32
2.2.2 - Aspectos Estáticos
Nesta seção os aspectos estáticos do RUP serão destacados ressaltando algum
tratamento de usabilidade que seja feito ou recomendado. Estes aspectos são descritos em
termos de componentes, disciplinas, atividades, diagramas, artefatos e funções. As principais
disciplinas (Workflows de Processo) do RUP são Modelagem de Negócio (Business
Modeling), Requisitos (Requirements), Análise e Projeto (Analysis & Design), Implementação
(Implementation), Teste (Test), Implantação/Entrega (Deployment) e as principais disciplinas
de apoio : Configuração e Gerenciamento de Mudanças (Configuration & Change Mgmt),
Gerência de Projeto (Project Management) e Ambiente (Environment).
a) Disciplinas do RUP
Cada uma das quatro fases do RUP é adicionalmente dividida em iterações e
finalizada com um ponto de checagem que verifica se os objetivos daquela fase foram
alcançados. Toda iteração é organizada em termos de disciplinas, que são conjuntos de
atividades realizadas por responsáveis que produzem artefatos. As principais disciplinas são
descritas a seguir:
a1) Modelagem de Negócio: Provê um entendimento comum entre os stakeholders sobre
quais os processos de negócio que devem ser apoiados. A modelagem dos processos de
negócio é feita através dos use cases de negócio.
Quanto aos aspectos de usabilidade, deve-se levar em consideração a participação
efetiva do usuário para o processo de modelagem, haja vista a necessidade de identificar
os envolvidos, descrever as características destes e do ambiente de trabalho.
Os principais objetivos desta atividade são: identificar todos os “papeis” e
“elementos” do negócio; e descrever como as realizações de casos de uso de negócios são
executadas pelos trabalhadores e entidades de negócio.
33
a2) Gerenciamento de Requisitos: Objetiva capturar os requisitos que serão atendidos pelo
produto de software. Nas fases de iniciação e elaboração, a ênfase será maior nesta
disciplina de requisitos, pois o objetivo destas fases é o entendimento e a delimitação do
escopo do produto de software.
Do ponto de vista de usabilidade, a disciplina de Requisitos destaca a compreensão
de quem são os usuários e quais as suas necessidades, além da identificação dos casos de
uso que mais beneficiam os usuários.
Assim como na Modelagem de negócios, a participação do usuário nesta disciplina
deve ser efetiva. Pois se faz necessário compreender as necessidades dos envolvidos
(quais as necessidades reais). Normalmente esta atividade é executada durante as fases de
Iniciação e Elaboração.
A principal atividade da disciplina de requisitos é identificar solicitações dos
envolvidos, usando informações como regras de negócios, solicitações de melhoria,
entrevistas e workshop de requisitos.
Nesta disciplina é que se faz o detalhamento dos casos de uso, com maior
intensidade no final da fase de Iniciação e início da Elaboração. O refinamento destes se
dá ao longo das fases de desenvolvimento do software.
Na disciplina de Requisitos também é prevista a modelagem da Interface do
Usuário e Protótipos da Interface do Usuário.
a3) Análise e Projeto: Objetiva compreender mais precisamente os use cases definidos na
disciplina de requisitos, produzindo um modelo já voltado para a implementação que
deverá estar adequado ao ambiente de implementação. Esta disciplina é bastante utilizada
na fase de elaboração e durante o início da fa se de construção.
34
a4) Implementação: Objetiva a organização do código em termos de implementação de
subsistemas, implementam as classes e objetos em termos de componentes, testa os
componentes em termos de unidades e integra os códigos produzidos. Esta disciplina é
bastante utilizada na fase de construção.
a5) Teste: Objetiva analisar, através de testes, se os requisitos foram atendidos e que os
defeitos serão removidos antes da implantação. Os modelos de testes são criados para
descrever como os testes serão realizados. Sua ênfase é maior no final da fase de
construção e no início da fase de transição.
A disciplina de Testes do RUP contempla os testes de usabilidade, incluindo o
teste de desempenho relacionado à usabilidade. Estes testes devem ser iniciados quando
houver protótipos executáveis da interface do usuário.
a6) Implantação/Entrega: Objetiva produzir releases do produto e entregá- los aos usuários
finais. Isto pode incluir atividades de beta-teste, migração de dados ou software existente
e aceitação formal.
A disciplina de Implantação, embora tenha seu ponto de ápice na fase de
Transição, algumas atividades ocorrem em fases anteriores ao planejamento e à
preparação para a implantação. Dentre estas atividades cita-se o desenvolvimento de
material de suporte, desenvolvimento de material de treinamento, guia de interface do
usuário, etc.
Nesta disciplina muitos aspectos de usabilidade são considerados tendo em vista
ser o marco final do processo de desenvolvimento.
35
A Implantação descreve as atividades que garantem que o produto será
disponibilizado a seus usuários finais, de maneira a atender os aspectos de usabilidade.
b) Disciplinas de Apoio do RUP
O objetivo das disciplinas de apoio é auxiliar a execução das disciplinas principais.
São elas:
b1) Configuração e Gerenciamento de Mudanças: Controla as diversas versões dos artefatos
produzidos durante o projeto, garantindo sua integridade. Ou seja, assegura que os
resultados não sejam conflitantes.
b2) Gerência de Projeto: Fornece um framework para a gerência de projetos, orientações para
planejamento, alocação de recursos e gerência de riscos.
b3) Ambiente: Fornece a descrição para a organização do ambiente de desenvolvimento em
termos de processos e ferramentas.
2.3– Princípios do Unifed Process Interative – UPi
De acordo com Sousa (2002), o UPi possui características bastante similares ao
RUP, porém com algumas particularidades. O RUP foca em controle de escopo e risco,
definição de funcionalidades, projeto, implementação e integração de componentes, testes de
funcionalidade, controle de mudança, documentação, etc. O UPi foca nas características dos
usuários, tarefas que eles realizam, o ambiente onde eles estão e os dispositivos que eles usam
para realizar suas tarefas. Este foco está mais relacionado a fatores humanos, usabilidade,
acessibilidade, aceitabilidade, recomendações ergonômicas e modelagem de interface. Estes
aspectos, quando aplicados a um PDS, podem trazer benefícios como: minimização do tempo
de aprendizagem do sistema, maximização da velocidade em realizar tarefas com o sistema e
maximização da satisfação do usuário com o sistema.
Dentre as seis melhores práticas, adotadas pelo RUP, o UPi apresenta algumas
diferenças, dentre as quais citam-se:
36
2.3.1 - Desenvolvimento do software iterativamente
A grande vantagem do UPi no desenvolvimento do software interativo é que os
aspectos da IHC podem ser aplicados desde cedo dentro do ciclo de vida até que o produto
esteja pronto para a liberação, o que aumenta a qualidade do produto final. Um outro ponto
importante é que os protótipos podem ser gerados aplicando os resultados das técnicas de
modelagem que começam na disciplina de requisitos.
2.3.2 - Gerenciamento dos requisitos
A gerência de requisitos no RUP envolve controlar a func ionalidade requerida e
restrições do sistema. No UPi, vai além disso, incluindo a análise das tarefas dos usuários, do
ambiente onde estão sendo executadas suas tarefas, e dos dispositivos que estão usando. Estes
novos aspectos trazem outros benefícios, tais como, garantir que o software retrate a realidade
dos usuários.
2.3.3 - Uso de arquiteturas baseada em componentes
Assim como o RUP, o UPi adota uma definição modular da arquitetura, mas, mais
especificamente, sugere a adoção da arquitetura do n-camadas, junto com o padrão de projeto
MVC. Eles fornecem o software para ser dividido em camadas independentes, o que fornece a
maior qualidade de ser reutilizável e a maior flexibilidade.
2.3.4 - Modelagem visual de um Software
Os modelos propostos pelo UPi não são limitados aos modelos padrões da UML.
Os modelos propostos no UPi são: usuário, tarefa, contexto, e modelos do domínio. Estes
modelos podem diretamente ser auxiliados por cenários gráficos. Além disso, a UMLi pode
ser usada para modelar os aspectos relacionados a User Interface - UI. Embora a aplicação da
UMLi esteja sujeita à futuros trabalhos.
37
2.3.5 - Verificação continua da qualidade do software
No UPi, a avaliação da qualidade começa também cedo no ciclo de vida e foca em
áreas de maior risco. Diferente do RUP, o UPi possui seu foco voltado a usabilidade,
acessibilidade, e aceitabilidade. Além de focalizar na qualidade do produto, o UPi focaliza
também no processo de qualidade.
2.3.6 - Controle das mudanças no software
O desenvolvimento iterativo permite a flexibilidade no planejamento e na
execução o desenvolvimento do software, e permite a evolução dos requisitos, o UPi propõe
esforços de manutenibilidade para os modelos definidos durante a descoberta dos requisitos.
Além das seis melhores práticas, o UPi possui outras características importantes,
mencionadas a seguir:
-
Os usuários do UPi usam casos de uso para definir o comportamento do sistema. Além
disso, o processo de desenvolvimento é baseado também no usuário, na tarefa, no
contexto, e nos modelos do domínio. A saber as funcionalidades do sistema desejado
pelos usuários não é bastante para satisfazer suas necessidades. Desenvolvendo um
sistema que atenda a suas necessidades reais; de acordo com suas habilidades, tarefas,
e condições do ambiente; é mais próximo da realidade.
-
O UPi é uma estrutura de processo, isto é, pode ser usada como um modelo. Pode ser
ajustado de acordo com as necessidades específicas, e a cultura da organização
adotante. Desde que a IHC seja uma área de estudo que pretende se manter
continuamente a crescer, o UPi necessitará provavelmente de ajuste e sua flexibilidade
permitirá esta evolução.
38
-
O UPi é um processo apoiado por algumas ferramentas sugeridas, desenvolvidas por
grupos de peritos da IHC de todo o mundo. Algumas destas ferramentas são
apresentadas na seção seguinte. A estrutura de processo do UPi é dividida em duas
dimensões, da mesma maneira que o RUP, como descrita na Figura 6: a dimensão
dinâmica e estática. As fases nas dimensões dinâmicas são as mesmas definidas no
RUP. O que muda é a aplicação de aspectos da IHC em cada fase e em sua avaliação
em cada marco. Os elementos na dimensão estática, que são: os papeis, as atividades,
os artefatos, e disciplinas, possuem as mesmas definições e finalidades que essas
definidas no RUP. O que muda é o conteúdo de cada disciplina, isto é, quais
atividades serão executadas e quais artefatos serão produzidos para acomodar aspectos
de IHC e quais serão os papeis.
2.3.7. Aspectos de Usabilidade do UPi
A Disciplina de Modelagem de Negócio foca nas características dos usuários e do
ambiente. O modelo de usuário adiciona a perspectiva humana ao ponto de vista do negócio.
O entendimento dos profissionais do negócio da organização auxilia na definição das tarefas
de negócio. O modelo de contexto de uso auxilia na adaptação da interface do sistema às
restrições do ambiente, por exemplo, uso de desktops em laboratórios de pesquisa e palm tops
para o acompanhamento de produção em indústrias.
A Disciplina de Requisitos foca na geração de interfaces baseada em modelos e
em metas de usabilidade. O modelo de usuário ajuda na adequação do sistema às
características dos usuários e o modelo de tarefa especifica as tarefas executadas pelos
usuários e ajuda a predizer dificuldades dos usuários, avaliar sistemas, medir a complexidade
de sistemas, predizer desempenho de sistemas, etc. As metas de usabilidade dos usuários
diretamente influenciam a qualidade de uso do sistema, como fácil acesso a atalhos,
quantidade de informação que os usuários precisam recordar, etc.
A Disciplina de Análise e Projeto foca nos vários tipos de usuários, estilos de
interação, independência de diá logo e metas de usabilidade. Os diferentes tipos de usuários e
estilos de interação são considerados no aperfeiçoamento do modelo de usuário para tornar o
39
sistema mais acessível a diferentes usuários. A independência de dialogo representa a
separação das camadas de apresentação, controle, regra de negocio e dados durante a
definição da arquitetura do sistema. As metas de usabilidade são consideradas na escolha da
melhor opção do modelo de interface conceitual do sistema.
A Disciplina de Implementação foca na aplicação de recomendações ergonômicas.
As recomendações provêem consistência na interface, aumentam a produtividade do usuário,
minimizam o numero de erros, etc.
A Disciplina de Testes foca na avaliação do produto no ponto de vista do usuário.
Esta avaliação do sistema considera características dos usuários, as tarefas que realizam, o
ambiente onde estão trabalhando e a tecnologia que usam, além das metas de usabilidade.
A Disciplina de Implantação foca nas características dos usuários e em suas
percepções do software instalado. O treinamento e avaliação do sistema são realizados são
importantes para garantir adequação das adaptações aos usuários e acessibilidade e
aceitabilidade do sistema.
A Disciplina de Configuração e Mudança foca na participação ativa dos usuários e
no controle sobre os artefatos relacionados à geração de interface. A participação dos usuários
minimiza os erros de falta de relacionamento entre o sistema e as necessidades dos usuários.
O controle de mudanças nos modelos para geração de interface auxilia na analise de custo e
prazo antes da manutenção.
A Disciplina de Gerencia de Projetos foca nas necessidades do usuário e na garantia
da aplicação de recomendações ergonômicas. O foco nas necessidades do usuário e adquirida
com a aplicação de protótipos para a minimização de riscos no projeto. A aplicação de
recomendações ergonômicas é alcançada com a aplicação do documento de aceitação da
interface, o qual deve ser analisado pelo usuário para garantir que os aspectos avaliados nos
testes estão presentes no sistema.
40
A Disciplina de Ambiente foca na aplicação de recomendações na transição entre
os modelos para gerar interface de acordo com os requisitos dos usuários. O uso de
recomendações de transição garante a consistência entre os modelos e as metas de
usabilidade.
O foco em aspectos de IHC nas disciplinas do UPi trazem benefícios para os
profissionais envolvidos no processo de software e para os usuários. Os primeiros se
beneficiam com a diminuição de re-trabalho devido ao foco nas necessidades dos usuários
durante todo o processo de software. Os segundos se beneficiam com os aspectos de
usabilidade, aceitabilidade e acessibilidade, os quais levam a satisfação, adquirida com a
associação dos aspectos de IHC no processo de software.
Conforme visto ao longo deste capítulo, percebe-se que a evolução e o
aprimoramento dos PDSs são ações constantes. Estas ações se devem principalmente em
virtude dos processos de desenvolvimento estarem cada vez mais voltados para os princípios
de usabilidade.
3 – PRINCÍPIOS DA INTERAÇÃO HUMANO COMPUTADOR (IHC) A SEREM
CONSIDEREADOS NUM PDS
3.1 - Interação Humano Computador – IHC
Como já dito, a IHC é uma área de pesquisa dedicada a estudar os fenômenos de
comunicação entre pessoas e sistemas computacionais. “Teve início como disciplina no fim
dos anos 70 e início dos anos 80. Inicialmente começou através de uma aliança entre
profissionais da informática e psicólogos. Desde sua etnografia, a ergonomia e a teoria de
atividades foram recrutadas para a causa. A pesquisa em IHC se preocupa em como se
certificar da usabilidade, o que quer dizer, produtos que são efetivos, eficientes e satisfatórios
em seu uso. Pesquisadores de IHC tentam entender o que os usuários querem fazer e como
designers podem ser ajudados a prover produtos que satisfaçam estas necessidades (Monk,
2002).”
De acordo com Silva Filho (2003), a Interação Homem-Computador é uma área
multidisciplinar que envolve as áreas de Ciência da Computação, Psicologia, Fatores Humanos, Lingüística,
dentre outras. IHC está voltada para a aplicação do conhecimento destas disciplinas para produzir interfaces
amigáveis (ou “user-friendly”). Não é uma disciplina essencialmente voltada para o estudo de computação ou do
ser humano, mas para a comunicação entre estas duas entidades. Conhecimento sobre as limitações da
capacidade humana e restrições da tecnologia existente devem ser ponderados para oferecer ao usuário um meio
adequado através do qual eles podem interagir com os computadores.
42
Os seres humanos percebem as coisas através de seus sentidos, isto é, visual, auditivo e tato. Estes
sentidos habilitam o usuário de um sistema interativo a perceber a informação, armazená-la (em sua memória) e
processar a informação usando o raciocínio dedutivo ou indutivo. Em IHC, isto ocorre através do sentido da
visão, como por exemplo: relatórios, gráficos, etc. Neste caso, o olho e o cérebro trabalham juntos a fim de
receber e interpretar a informação visual baseada no tamanho, forma, cor(es), orientação e movimento. Muitos
elementos discretos de informação são apresentados simultaneamente para o homem absorver. Assim, uma
especificação apropriada de comunicação visual é o elemento chave de uma interface amigável.
Embora haja uma tendência para se utilizar manipulação/comunicação gráfica no projeto de
interface, muito da informação visual ainda é apresentada na forma textual. A leitura - o processo de extrair
informação do texto - é a atividade chave na maioria das interfaces. Os seres humanos precisam decodificar os
padrões visuais e recuperar o significado das palavras e frases. Neste caso, a velocidade do processo de leitura é
controlada pelo padrão de movimento do olho que escaneia o texto em sacadas do olho feitas em alta velocidade.
Adicionalmente, o tipo de caractere fonte, o comprimento de linha do texto e cor(es) afetam a facilidade na qual
o processo de leitura ocorre.
Quando a informação é extraída da interface, ela deve ser armazenada para ser recuperada
(lembrada) e utilizada posteriormente. Além disso, o usuário precisa lembrar de comandos e seqüências
operacionais de uso. Tais informações são armazenadas na memória humana (que é um sistema complexo)
composto de duas partes: a memória de curta duração que possui capacidade de armazenamento e tempo de
recordação limitados e a memória de longa duração que possui capacidade de armazenamento e tempo de
recordação ma iores e onde se tem o conhecimento do ser humano. Assim, se o projetista de uma interface HC
especifica uma interface que faz solicitações indevidas dessas duas memórias, então o desempenho do usuário do
sistema será degradado.
Finalizando, temos que a maioria das pessoas não aplica raciocínio indutivo ou dedutivo quando se
depara com um problema. Ao invés, é comum aplicar um conjunto de heurísticas (procedimentos, regras,
estratégias) baseadas no conhecimento de problemas similares. Tais heurísticas tendem a ser específicas do
domínio. Como conseqüência, uma interface HC deve ser especificada de modo que habilite o usuário a
desenvolver heurísticas para interação. Todavia, é importante observar que estas heurísticas deveriam
permanecer consistentes em diferentes domínios de interação.
43
3.2 – Princípios da Engenharia da Usabilidade
As fases do processo da engenharia da usabilidade estenderam o ciclo tradicional de
desenvolvimento que começava com a definição do produto e terminava com a entrega. O processo de design
para a usabilidade possui 4 fases: pré-design, design inicial, desenvolvimento interativo e pós-design.
A fase de Pré-design é caracterizada pela busca de informação e conceituação sobre o usuário e seu
contexto de trabalho e sobre sistemas relacionados, padrões de interface, guidelines, ferramentas de
desenvolvimento, etc. A fase de Design visa realizar um protótipo que siga princípios de usabilidade e verificar
empiricamente o design com usuários reais, para assegurar ter atingido as metas estabelecidas. Essa fase está
subdividida em: i) Design inicial, que é assegurada por fazer a especificação inicial da interface e ii)
Desenvolvimento Interativo, onde o desenvolvimento interativo é alimentado por feedback de testes até os
objetivos tenham sido alcançados.
Finalmente tem-se a fase de Pós-design com a Instalação do sistema no local de trabalho do usuário
e acompanhamento com medidas de reação e aceitação do sistema pelo usuário final.
Considerando a importância deste processo de usabilidade, destacamos três
princípios básicos que estão envolvidos nas suas fases: Centralizar Foco no Usuário,
considerar Recomendações Ergométricas (RE) e realizar Testes de Usabilidade.
3.2.1 – Centralização de Foco No Usuário
Segundo Oliveira (2002), para que um sistema atenda às necessidades de uma organização, é
preciso haver um entendimento global das mesmas por parte da equipe desenvolvedora. E, muitas vezes, o
próprio usuário não as conhece ou, mesmo, não sabe expressá-las de maneira clara. Porém, como todo cliente,
ele precisa conhecer bem o produto para que suas expectativas sejam bem atendidas. Este é um grande desafio
para os profissionais da informática, que lidam com produtos personalizados e de difícil fabricação. Para garantir
a satisfação do mesmo, a construção do sistema deve ser feita em sintonia com suas necessidades, através de sua
colaboração efetiva ao longo do projeto. É importante, então, que se estabeleçam critérios para se realizar uma
boa captura destas necessidades.
Um conceito imp ortante tem sido aplicado com sucesso por profissionais da engenharia de
software, o qual retrata a participação efetiva do usuário final no decorrer do processo. Denomina-se
44
Desenvolvimento Centrado no Usuário e se caracteriza pelo envolvimento constante do usuário durante toda a
construção do sistema. Desta forma, eles assegurarão à equipe de desenvolvimento um entendimento amplo de
suas necessidades e expectativas, proporcionando-lhe a criação de um produto com melhor usabilidade, em
tempo e custo reduzidos.
Tradicionalmente, o comportamento das equipes de desenvolvimentos de sistemas exerce pouca
influência sobre a participação contínua do usuário durante o projeto, muitas vezes restringindo-se apenas à fase
de análise dos requisitos. Sabemos, porém, que tal prática pode comprometer a criação de um produto bem
definido, resultando em custos elevados para execução de futuros reparos.
Esta problemática afeta grande parte das equipes, gerando retrabalhos significativos, o que pode
representar um alto prejuízo. Custos com análise, projeto e implementação são consideravelmente ampliados, em
alguns casos inviabilizando todo o esforço para a construção do sistema.
Normalmente, o foco do projeto é voltado para a arquitetura interna e desenvolvimento de código.
Em contrapartida, o desenvolvimento centrado no usuário enfatiza as perspectivas dos usuários finais, analisando
suas experiências, ambientes de trabalho, dificuldades, dentre muitos aspectos que lhes cercam.
Ao contrário do que ocorre em abordagens tradicionais, a necessidade de cooperação
multidisciplinar é característica importante em um desenvolvimento centrado no usuário. Profissionais de
diversas áreas devem atuar no projeto, garantindo excelência ao produto e, consequentemente, a satisfação do
cliente.
Outro importante diferencial entre a abordagem centrada no usuário e a tradicional encontra-se no
processo de validação do sistema pelos usuários. Na primeira isto ocorre iterativamente ao longo de todo o ciclo,
antecipando reparos em custo e tempo bem menores. Na segunda, esta validação normalmente é feita somente
após a entrega inicial do produto. De acordo com Clements (1999), existem cinco princípios que caracterizam o
desenvolvimento centrado no usuário (user-centered design), os quais são descritos a seguir.
a) Princípios do Projeto Centrado no Usuário
1º Princípio: Entender os Usuários
Este princípio é a base de todo o projeto. A equipe de desenvolvimento deve entender bem a
realidade e expectativas dos usuários finais, com o foco voltado para a forma atual de execução de suas
atividades e como irão desempenhá-las no futuro. Para isto, precisará conhecer tais tarefas, ferramentas
45
utilizadas, problemas que enfrentam com elas e as características chaves do ambiente em que executam estas
atividades.
Uma técnica bastante utilizada para o entendimento dos usuários é a modelagem de cenários de
utilização em interação com o ambiente de estudo.
2º Princípio: Projetar toda a Experiência do Usuário
O desenvolvimento do sistema deve direcionar-se para uma solução baseada na experiência dos
usuários, considerando todo o seu contexto a respeito do conhecimento e habilidade com sistemas interativos.
Algumas características devem ser incorporadas ao sistema, tornando-o atraente, intuitivo e fácil de adquirir,
configurar, aprender e utilizar. Isto tornará o software adaptado ao nível dos usuários finais.
Para atingirmos tal característica de sistema adaptativo faz-se necessário o envolvimento de
especialistas de diversas áreas no projeto, como especialistas em fatores humanos da área de Interação HumanoComputador (IHC).
3º Princípio: Avaliar o Projeto
Em processos centrados no usuário, é comum a existência de técnicas que proporcionem avaliações
do projeto, evitando maiores desgastes na construção do sistema. Estes mecanismos asseguram um
desenvolvimento eficaz, pois utiliza o critério de codificar apenas o que fora validado pelo usuário.
A maneira mais apropriada para garantir este feedback do cliente é a utilização de protótipos, que
representam um esboço do produto final. Apesar de não possuírem todas as funcionalidades do sistema,
permitem uma prévia interação do usuário, auxiliando-o no processo de validação.
4º Princípio: Avaliar a Competitividade
Este princípio concentra-se na avaliação da competitividade do novo produto, com um foco para as
soluções antecessoras e concorrentes, identificando o grau de qualidade e aceitação das mesmas pelo usuário, a
fim de colocar a equipe desenvolvedora em sintonia com o mercado existente. Isto permitirá uma anális e
criteriosa de importantes requisitos do sistema. Isto, então, servirá de subsídio para a construção de um produto
com maior nível de aceitabilidade.
46
5º Princípio: Gerenciar Usuários
O último princípio consiste no gerenciamento de usuários. Inclui atividades como:
- despertar o envolvimento dos usuários;
- garantir aos usuários o entendimento com relação à sua participação nas tomadas de decisão;
- escolher os usuários apropriados para a realização de testes em módulos específicos;
- adquirir o conhecimento e necessidades específicas dos usuários;
- motivar os usuários para a definição dos critérios de avaliação.”
3.2.2 – Recomendações Ergonômicas
As Recomendações Ergonômicas também são conhecidas como heurísticas de
usabilidade e princípios ergonômicos, são sugestões de projeto sobre aspectos de interface,
que orientam no desenvolvimento de Sistemas Interativos - SI. Elas permitem determinar a
melhor maneira que as informações devem ser mostradas ao usuário durante sua interação
com o SI (por exemplo, o fato de mostrar somente as informações mais necessárias ou de
permitir ao usuário cont rolar o diálogo com o sistema) (Furtado, 1997).
Vanderdonckt (1999) apresentou a seguinte classificação sobre recomendações:
? Regras para projeto: que compreendem um conjunto de funções e/ou especificações
operacionais que determinam o projeto de uma interface de usuário em particular. São
normalmente apresentadas como regras físicas, formatos de telas e janelas;
? Guidelines: são princípios de avaliação e/ou projeto a serem considerados no projeto
de interface de usuário. Eles são normalmente incorporados em grandes documentados
chamados de “conjunto de guidelines” ou “guias ergonômicos”;
? Padrões ou Normas: compreendem um conjunto de especificações funcionais e/ou
operacionais com o intuito de padronizar o projeto de interfaces de usuário. São
definidos por organizações nacionais ou internacionais que promovem a padronização,
47
como a Associação Brasileira de Normas Técnicas - ABNT no Brasil, a International
Standards Organization - ISO na Europa (partes 14, 16 e 17), que se referem, dentre
outros, a estilos de diálogos (tais como menu, comandos, etc.) e a HFES (Human
Factors and Ergonomics Society) nos Estados Unidos;
? Guias de estilo: são documentos que normalmente são produzidos por uma
organização e disponibilizados comercialmente. Podemos citar como exemplos de
guias de estilo: OSF/Motif; Open Look; VUE da HP; CUA da IBM, entre outros e;
? Algoritmos Ergonômicos: aparecem como componentes de software que objetivam
sistematizar a implementação de um aspecto do projeto de interfaces usando
geralmente regras de produção para representarem as recomendações ergonômicas.
Um conjunto de critérios ergonômicos são normalmente usados em vários métodos
de inspeção da usabilidade (Scapin,1993). Dente eles:
i) 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.);
ii) Carga de trabalho, refere-se à brevidade das apresentações (concisão), às entradas
(ações mínimas) e à densidade informacional visando reduzir a carga do usuário e
melhorar a eficiência do diálogo;
iii) Controle explícito, define-se no caráter explícito das ações do usuário e no controle
que ele tem sobre os processamentos;
iv) Adaptabilidade, refere-se às possibilidades de personalização do sistema que são
oferecidas ao usuário;
v) Gestão de erros, diz respeito a mecanismos que permitem evitar ou reduzir a ocorrência
de erros;
vi) Consistência, refere-se à forma na qual as escolhas na concepção da interface são
conservadas idênticas em contextos idênticos, e diferentes para contextos diferentes;
vii) Significado dos códigos e denominações, avalia se os códigos e denominações são
claros e significativos para os usuários do sistema e;
viii) Compatibilidade, verifica a compatibilidade do sistema com as expectativas e
necessidades do usuário em sua tarefa.
48
3.2.3 – Testes de Usabilidade
Os testes de usabilidade surgiram no lendário laboratório PARC da Xerox e foram
aplicados pela primeira vez pela equipe de cientistas que desenvolveu o computador ALTO,
com o objetivo de definir quantos botões deveriam ser colocados num mouse.
A expressão "teste de usabilidade" na verdade descreve um conjunto de métodos
de avaliação de produtos e designs de produtos que apresentam três características em
comum:
-
Usa-se pessoas representativas da população para as quais o produto é dirigido;
-
Requere-se que estas pessoas realizem tarefas "típicas" ou "críticas" com o produto;
-
Recolhe-se dados sobre esta atividade.
Existem vários tipos de teste de usabilidade, dentre os quais destacam-se:
-
Medição de Performance : Dá-se uma lista de tarefas para o usuário executar em um
ambiente controlado (ou observa-se o usuário em sua rotina diária) e mede-se
grandezas como:
-
?
Tempo gasto para completar cada tarefa
?
Número de erros cometidos pelos usuários
?
Número de comandos e funções nunca utilizados pelos usuários
?
Número de consultas do usuário ao manual do sistema
Pensamento em voz alta (thinking aloud ): Consiste basicamente em fazer um
usuário verbalizar seus pensamentos enquanto utiliza o sistema sob teste (Denning,
1990), anotando-se os pontos onde ocorre um erro ou dificuldade. Há muitas variações
do método básico, como por exemplo:
49
-
Aprendizagem por co-descoberta (Kennedy, 1989): dois usuários usam o sistema
juntos. Captura interações entre usuários e torna mais natural a verbalização.
-
Teste retrospectivo: o usuário é convidado a comentar sua própria atuação, gravada
em vídeo.
-
Protocolo de Pergunta (Kato, 1986): há uma interação explícita (o "treinador") entre
o usuário e o aplicador do teste. O usuário pode perguntar ao treinador, geralmente um
assistente do aplicador ou um usuário experiente, qualquer questão relacionada ao
sistema.
É interessante que os desenvolvedores do produto estejam envolvidos diretamente
no planejamento dos testes, uma vez que os resultados dos mesmos influenciarão nos rumos
de seu trabalho (Dumas, 1989). No caso dos testes de verbalização de pensamento, em
particular, há evidências na literatura de que há ganhos significativos quando os
desenvolvedores/projetistas efetivamente participam do teste (Wright, 1991).
Os testes de usabilidade também têm seus problemas (Holleran, 1991). Como em
todo teste, deve-se prestar atenção aos aspectos de confiabilidade e validade. A confiabilidade
de um teste diz se o mesmo resultado seria conseguido caso o teste fosse repetido e a validade
diz se o resultado do teste reflete realmente o atributo que se queria testar. O que torna essas
grandezas um problema é, por um lado, a grande variabilidade entre os us uários em termos de
habilidade (Egan, 1988) e, por outro lado, descuidos metodológicos por parte dos testadores
(incluir no teste usuários que não são usuários típicos do produto, por exemplo).
Testes com usuários devem incluir uma variada gama de audiências. É importante
mesclar testes com pessoas que têm e que não têm familiaridade com os sistemas, já que os
experts e os novatos demonstram comportamentos diversos e às vezes opostos. O mesmo
ocorre com pessoas de idades e educação diferentes.
Os testes de usabilidade devem ser realizados desde o início do projeto e feitos
individualmente (com uns 3 usuários típicos de cada classe de usuário, um de cada vez) com
acompanhamento de um avaliador da equipe de desenvolvimento o qual deve anotar tudo que
50
acontece (tempo de execução das tarefas, numero de erros, comentários do usuário, etc.) que
for importante para melhorar o produto. Como acontecem muitas coisas ao mesmo tempo, é
recomendado que a avaliação seja filmada para uma analise posterior mais detalhada.
O fato dos testes serem feitos com um acompanhamento sistemático do avaliador,
que logo vai recebendo feedback do usuário para melhorar o produto, e o fato deles serem
feitos desde o início do ciclo de desenvolvimento são importantes para a melhor, mais barata
e mais rápida identificação e correção de problemas.
Uma outra forma de trabalhar a usabilidade é através do Participatory Design
(design participado) que é uma espécie de “brainstorming” onde participam os vários
intervenientes no processo (utilizadores, designers, programadores).
Os testes de usabilidade podem ser registrados em vídeo ou em áudio, onde
usuários interagem com um sistema computadorizado, em laboratórios equipados para checar
a eficiência das interfaces gráficas. Os testes de usabilidade são empregados largamente na
indústria de software dos EUA, no desenvolvimento de websites e na telefonia móvel.
Os testes de usabilidade envolvem a interação com usuários reais, cumprindo
tarefas reais do produto. Se por um lado eles são mais caros e mais complexos que a avaliação
heurística, por outro lado eles permitem captar erros mais sérios e mais difíceis de serem
constatados.
Vale lembrar que heur ísticas de usabilidade são princípios que as interfaces devem
seguir para atingir uma boa usabilidade. De posse de uma interface do usuário (ou um
protótipo ou especificação dela), os próprios projetistas podem fazer uma avaliação de sua
usabilidade (Nielsen, 1993).
A análise heurística pode ser utilizada em qualquer altura do desenvolvimento de
um sistema, no entanto deve ser efetuada na primeira fase do projeto. Pode dar-se aos peritos
51
apenas alguns esboços em papel do futuro sistema e a partir daí poderá ser feita um a primeira
análise heurística da usabilidade. Os problemas descobertos nesta fase inicial poupam
dinheiro porque não é necessário reconceber o sistema, uma vez que ele ainda está só em
papel.
3.3 – Princípios Relevantes de IHC
Apesar da centralização do foco no usuário, a consideração de RE e a realização de
testes de usabilidade, serem os pilares da usabilidade de um produto, é necessário que
consideremos outros princípios fundamentais de usabilidade.
3.3.1 - Sensibilidade ao Contexto
O tema sensibilidade ao contexto é bastante explorado na literatura de IHC existem diversos
trabalhos de desenvolvimento de interfaces sensíveis ao contexto. Um contexto de uso de um Sistema Interativo
(SI) é definido por três classes de entidades (Calvary et al, 2003):
? Os usuários do sistema que têm a intenção de usar (ou quem efetivamente usam) o sistema;
? A plataforma, que corresponde ao hardware (dispositivos de interação) e ao software (toolkit,
sistema operacional) e;
? O ambiente físico, espaço onde a interação acontece.
3.3.2 - Uso de Modelos
A adoção de modelos (como o modelo de casos de uso e o diagrama de colaboração) ajuda os
desenvolvedores a representarem especificações genéricas (como as necessidades dos usuários) e especificações
detalhadas (como a troca de mensagem entre objetos que colaboram), respectivamente. Uma vez representadas
as especificações, é possível fazer a integração entre elas. Outra vantagem de se usar modelos, é a possibilidade
de se fazer matrizes de rastreabilidade, auxiliando na realização de testes, implementação e manutenção de um
SI. Existem na literatura de IHC várias ferramentas que geram interfaces de forma automática ou semiautomática a partir de modelos (tal como: A RTStudio (Thevenin, 2001)), porém ainda não existe nenhuma
ferramenta comercial disponível. A ferramenta CASE ROSE, comercialmente disponível, permite a geração de
scripts de classes a partir dos modelos de dados. Os modelos usados em IHC são os seguintes:
52
?
Cenários
Cenários são narrativas textuais, pictóricas ou encenadas, de situações fictícias, mas plausíveis
(senão desejáveis) de uso situado da aplicação. Devem ser ricos em contextualização e possuir um foco
claro que transmita aos usuários e designers as idéias sendo testadas.
O levantamento de requisitos sobre as tarefas e os usuários pode ser melhor realizado quando os
analistas procuram descrever situações do processo de trabalho. Os métodos baseados em cenários
consistem de uma coleção de narrativas de situações no domínio do problema que permitem a
identificação de componentes de design. Assim, eles são um meio de representação de fácil
compreensão para os usuários envolvidos (muitas vezes de formação bastante heterogênea) que passam
a poder avaliar, criticar e fazer sugestões. Eles permitem a reorganização de componentes e tarefas do
domínio. Isto ocorre porque quando se introduz novas tecnologias, parte do contexto de tarefa de uma
organização é alterado. Nesta reengenharia, novas tarefas e práticas são incorporadas enquanto outras
são eliminadas.
Os cenários também podem ser utilizados para formar uma base de casos (Carey & Rusli, 1995),
que pode ser utilizada tanto no aprendizado de IHC quanto no reuso de designs. Neste caso, ao invés de
se utilizar cenários para tentar prever possíveis situações de uso, os cenários são registros de situações
reais, que podem ser comparadas em diversos níveis, como em desempenho e eficiência de
determinadas escolhas e decisões de design.
?
Storyboard (protótipo abstrato)
Esta técnica envolve a especificação através de imagens de situações de uso. Ela serve para apoiar
o momento que o projetista de interface deve fazer um estudo do sistema sob o ponto de vista do
usuário, verificando para cada cenário, por exemplo, que informações estarão disponíveis para o usuário
durante a realização de uma determinada atividade. Em seguida, ele deve especificar a interface
definindo seus componentes de interação.
Esta técnica está bastante relacionada com cenários. Entretanto, enquanto cenários utilizam
principalmente narrativas para a descrição dos casos de uso, o storyboard utiliza desenhos e ilustrações,
utilizando papel ou computadores (ver Figura 7).
53
Assim, os cenários são mais adequados para a análise das tarefas, enquanto storyboard permite a
validação dos cenários e a elaboração de protótipos não operacionais para designs iniciais. Além disto,
o storyboard é usado de maneira mais livre.
Figura 7 – Exemplo de Storyboard para consulta em uma biblioteca
?
Modelo de tarefa
Para representar as tarefas do usuário identificadas nos cenários, existem na literatura de IHC,
vários modelos de tarefa. Um modelo de tarefa serve para representar tarefas que o usuário realiza
quando interagindo com um sistema interativo.
Um esquema de modelo muito freqüentemente usado é baseado na planificação hierárquica, onde
uma tarefa é composta em sub-tarefas, que por sua vez são compostas por ações, que se situam no nível
mais baixo da hierarquia (ver Figura 8).
Figura 8 – Planificação Hierárquica de Tarefas
54
Uma tarefa é descrita por um objetivo do usuário, uma lista de sub-tarefas (os procedimentos)
necessárias para atingir o objetivo, assim como suas restrições estruturais e temporais. As relações
estruturais são: e- executar todas as sub-tarefas; ou- executar pelo menos uma das sub-tarefas e altexecutar somente uma das sub-tarefas. As relações temporais são: SEQ (sub-tarefas seqüenciais) executar as sub-tarefas seqüencialmente e PAR (sub-tarefas paralelas dependentes) - executar as subtarefas de forma aleatória.
A definição de tarefa é recursiva, visto que uma sub-tarefa é também uma tarefa, distinguindo-as
apenas pelo nível de abstração.
Além disto, pode-se definir características das tarefas que serão relevantes no processo de geração
da interface de usuário, tais como: se a tarefa é disparada pelo usuário (e que tipo de usuário, especificar
seu papel) ou automática (disparada pelo sistema), se a tarefa pede ou mostra informações na tela, se a
tarefa é obrigatória ou facultativa, repetitiva, interrompível, sua importância e freqüência de uso.
A Figura 9 ilustra um exemplo de um modelo de tarefas para um sistema de Manutenção de
pedidos de CD pela WEB. Mais especificamente, para o usuário Comprador realizar a Manutenção do
Pedido, ele pode visualizar o pedido, e em seguida, alterar as quantidades dos CDs ou removê-los;
Figura 9 – Exemplo de Modelo de Tarefa.
55
?
Modelo de Navegação ou Modelo de interface conceitual
O Modelo de Interface Conceitual consiste na representação das interfaces de um sistema a nível
conceitual (Furtado, 1997). Ele é representado por um conjunto de espaços, sub-espaços e objetos de
interação detentores de características particulares e organizados segundo uma ordem apropriada. Os
espaços correspondem cada um a toda a área espacial que o usuário pode observar e/ou interagir. Os
sub-espaços são cada uma das sub-áreas espaciais que constituem um espaço. Os objetos de interação
representam os dispositivos com os quais os usuários podem interagir. A Figura 10 apresenta um
Modelo de Interface Conceitual representando um formulário de identificação de um usuário para
acesso a um curso de educação a distância. Este formulário é composto dos seguintes objetos de
interação: um objeto do tipo entrada de dados para o nome do usuário, outro objeto do mesmo tipo para
a senha do usuário, e um terceiro do tipo clique para a submissão das informações inseridas nos dois
primeiros objetos.
Figura 10 – Modelo de Interface Conceitual de um formulário de identificação
3.3.3 - Desenvolvimento dirigido por pattern
Patterns são componentes de software reutilizáveis que podem ser acessados e integrados a uma
estrutura já existente. O uso de patterns objetiva promover o reuso de soluções anteriormente já usadas e
testadas. Para isto é realizada uma análise dos componentes considerando a especificação de requisitos do
sistema corrente. Durante a realização desta atividade pode ocorrer a modificação de requisitos, caso queira que
os componentes selecionados reflitam os requisitos. Do contrário, a análise é refeita procurando soluções
alternativas antes de se passar para o projeto do sistema com reuso.
Destacam-se na literatura de IHC os patterns de usabilidade, que são oriundos de Recomendações
ergonômicas (RE) .
56
Um exemplo de um pattern é o pattern de arquitetura MVC.
A arquitetura MVC fornece uma maneira de dividir a funcionalidade envolvida na manutenção e
apresentação dos dados de uma aplicação. A arquitetura MVC não é nova e foi originalmente desenvolvida para
mapear as tarefas tradicionais de entrada, processamento e saída para o modelo de interação com o usuário.
Usando o padrão MVC fica fácil mapear esses conceitos no domínio de aplicações multicamadas.
Na arquitetura MVC o modelo representa os dados da aplicação e as regras do negócio que
governam o acesso e a mo dificação dos dados. O modelo mantém o estado persistente do negócio e fornece ao
controlador a capacidade de acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo.
Um componente de visualização renderiza o conteúdo de uma parte particular do modelo e
encaminha para o controlador as ações do usuário; acessa também os dados do modelo via controlador e define
como esses dados devem ser apresentados.
Um controlador define o comportamento da aplicação, é ele que interpreta as ações do usuário e as
mapeia para chamadas do modelo. Em um cliente de aplicações Web essas ações do usuário poderiam ser
cliques de botões ou seleções de menus. As ações realizadas pelo modelo incluem ativar processos de negócio ou
alterar o estado do modelo. Com base na ação do usuário e no resultado do processamento do modelo, o
controlador seleciona uma visualização a ser exibida como parte da resposta a solicitação do usuário. Há
normalmente um controlador para cada conjunto de funcionalidades relacionadas.
A arquitetura de 3 camadas que esta representada na Figura 11 mostra uma implementação do
modelo MVC . O modelo MVC se preocupa em separar a informação de sua apresentação.
Figura 11 – Modelo 3 Camadas - MVC
57
Camada de apresentação ou visualização - Não esta preocupada em como a informação foi
obtida ou onde ela foi obtida apenas exibe a informação.
?
inclui os elementos de exibição no cliente : HTML , XML , ASP , Applets .
?
É a camada de interface com o usuário.
?
É usada para receber a entrada de dados e apresentar o resultado
Camada de lógica da Aplicação - É o coração da aplicação . Responsável por tudo que a
aplicação vai fazer.
?
modela os dados e o comportamento por atrás do processo de negócios
?
se preocupa apenas com o armazenamento , manipulação e geração de dados
?
É um encapsulamento de dados e de comportamento independente da apresentação.
Camada de Controle - determina o fluxo da apresentação servindo como uma camada
intermediária entre a camada de apresentação e a lógica.
?
controla e mapeia as ações
Vantagens do modelo MVC :
1.
Como o modelo MVC gerencia múltiplos visualizadores usando o mesmo modelo é
fácil manter , testar e atualizar sistemas múltiplos
2.
É muito simples incluir novos clientes apenas incluindo seus visualizadores e
controles
3.
Torna a aplicação escalável
4.
É possível ter desenvolvimento em paralelo para o modelo , visualizador e controle
pois são independentes.
Desvantagens do modelo MVC:
1.
Requer uma quantidade maior de tempo para analis ar e modelar o sistema
2.
Requer pessoal especializado
3.
Não é aconselhável para pequenas aplicações
58
3.3.4 - Independência de Dispositivos
Este tópico envolve dois lados: da representação interna, que seria a independência
do dispositivo de armazenamento e da representação externa, que seria a ndependência dos
dispositivos de interação (como: desktop, palm, celular, etc.).
3.4 - Conclusão
Atualmente existe uma grande preocupação por parte dos desenvolvedores de
software, em torná-los cada vez mais “amistosos” aos usuários. Diversos artefatos e princípios
de IHC têm apoiado esta afirmativa dentre os quais citam-se: centralização de foco no
usuário, uso de recomendações ergonômicas, realização de testes de usabilidade, sensibilidade
ao contexto, uso de modelos (em especial Modelo de Tarefas e Modelo conceitual de
Interface), desenvolvimento dirigido por pattern, independência de dispositivos e o uso da
engenharia da usabilidade.
4 – MATRIZ INTERATIVA DE AVALIAÇÃO (MIA)
4.1 – Princípios das MIA
As Matrizes Interativas de Avaliação são utilizadas corriqueiramente em diversas
áreas, seja na engenharia, arquitetura, áreas de saúde, administrativas, legislativas, etc.
As MIAs têm por finalidade facilitar os processos de decisão, através do
cruzamento de diversas variáveis. Por exemplo, na área de Meio Ambiente se faz uma
avaliação entre componentes ambientais (dispostas eixo X) e as etapas do projeto (dispostas
no eixo Y).
O processo de definição e identificação das variáveis não é muito simples e deve
seguir alguns critérios. Dentre os critérios a serem seguidos se destacam: a importância da
variável dentro do contexto geral do projeto, a freqüência de uso da variável, etc.
Na interação (relação) entre as variáveis que formam a matriz de avaliação são
promovidas valorações. Estas valorações podem ser definidas de diversas maneiras. Exemplo:
se a relação Custo X Benefício para certo produto apresentar um valor 2, dentro de uma escala
de valores representada pelos elementos 1, 2 e 3, esta relação pode ser interpretada em
equilíbrio. Notadamente, se for convencionado que para o valor 1 o Custo representar mais
que o Benefício e para o valor 3 o contrário.
60
O modelo de MIA adotado neste trabalho é baseado na matriz interativa
desenvolvida por (Leopold et al., 1971). Embora a matriz desenvolvida por Leopold seja
direcionada para avaliação de impactos ambientais, faremos uma adaptação para análise de
um PDS versus os Princípios de Usabilidade. A Figura 12 ilustra o conceito da matriz de
Leopold e a adaptação proposta para este trabalho.
Figura 12 - Matriz interativa de Leopold
Ao utilizar a matriz de Leopold se deve considerar cada ação e seu potencial de
impacto sobre cada elemento. Quando se prevê um impacto, a matriz aparece marcada com
uma linha diagonal e a célula correspondente com essa interação, esta atividade refere-se ao
primeiro passo a ser tomado no processo de montagem da matriz.
Direcionando a matriz para o caso da avaliação de um PDS, as ações referem-se às
etapas de um PDS, o potencial de impacto é traduzido pela necessidade de possuir ou
contemplar os aspectos relativos à Usabilidade e os elementos são os princípios de
Usabilidade, quando se identificar que certa fase do PDS deva atender certo aspecto de
Usabilidade, a célula da matriz aparece hachurada (colorida), indicando essa interação.
O segundo passo do uso da matriz de Leopold é descobrir a interação em termos
de magnitude e importância. A magnitude de uma interação é sua extensão ou escala e se
descreve mediante a associação de um valor numérico compreendido entre 1 e 10, onde 10
representa a maior magnitude e 1 a menor. Os valores próximos a 5 na escala de magnitude
representam impactos de extensão intermediaria. A associação de um valor numérico da
magnitude de uma interação deve se basear numa valoração objetiva dos fatos relacionados
com o impacto previsto.
61
A importância de uma interação está relacionada com o significado que é, ou com
uma evolução das conseqüências prováveis do impacto previsto. A escala de importância
também varia de 1 a 10, em que 10 representa uma interação muito importante e 1 uma
interação relativa de pouca importância. A associação deste valor numérico de importância
tem caráter subjetivo e pessoal e deve traduzir o pensamento do grupo ou da equipe
multidisciplinar responsável pelo estudo.
Neste Trabalho, não serão avaliados os itens referentes à Magnitude e Importância,
para as interações entre o PDS e os Princípios de Usabilidade. Na realidade será feita uma
avaliação quantitativa referente à intensidade com que ocorre a realização de uma Ação,
dentro de cada Disciplina do PDS. A avaliação segue o padrão de comportamento mostrado
na Figura 6, Capítulo 2. Será utilizada uma escala de 1 a 3. Onde o valor 1 representa baixa
intensidade do uso de artefatos de usabilidade, o valor 2 média intensidade e o valor 3 alta
intensidade. Esta avaliação foi feita apenas na forma interpretativa das curvas daquele gráfico.
Para que se obtenha maior acuracidade, quanto a intensidade do uso dos princípios de
usabilidade, necessário se faz uma pesquisa mais profunda junto aos especialistas em IHC,
bem como desenvolvedores que utilizam os PDSs em pauta.
Um dos aspectos mais atrativos da matriz de Leopold é que ela pode se expandir
ou contrair-se isto é apresenta a possibilidade de se decidir se o número de ações deve
aumentar ou diminuir. As vantagens principais de utilizar a matriz de Leopold consiste em
que é muito útil como instrumento de screening 4 para desenvolver uma identificação de
impactos e pode proporcionar um desenvolvimento visual dos elementos impactados e das
principais ações que causem impactos.
A agregação do número de linhas e colunas que haviam sido indicados com
interações podem ilustrar a evolução do impacto. Podem-se utilizar outras elaborações
adicionais para discutir os resultados de uma matriz de interação simples.
4
screening – refere-se ao processo de seleção, classificação, filtragem, separação.
62
A matriz de Leopold pode utilizar-se também para identificar impactos benéficos e
adversos mediante o uso de símbolos adequados como o (+) e (-) . Adicionalmente, a matriz
de Leopold pode ser empregada para identificar impactos em varias fases temporais de
projeto, por exemplo, para as fases de construção, exploração (operação) e abandono, e para
descrever os impactos associados a vários âmbitos especiais.
No caso da avaliação do PDS sobre os princípios de Usabilidade, os conceitos de
benéfico e adverso serão adaptados para os seguintes:
- Benéfico ? Atende os princípios de Usabilidade (Célula hachurada)
- Adverso ? Não será contemplado.
4.2 – Princípios de Usabilidade a Serem Incorporados Na MIA
Na Matriz Interativa de Avaliação (MIA), serão utilizados os princípios listados a
seguir, os quais são compostos por ações.
-
-
-
Sensibilidade ao Contexto
?
Modelagem do Usuário
?
Definição da Plataforma
?
Definição do Ambiente Físico
Uso de Modelos
?
Construção de Cenários
?
Construção de Storyboard
?
Construção de Modelo de Tarefa
?
Construção de Modelo de Interface Conceitual
Reuso
?
Uso de Patterns
63
?
Guia de Estilos
-
Manter Independência de Dispositivos
-
Engenharia da Usabilidade
?
Considerar Foco no Usuário
?
Envolver o Usuário no PDS
?
Considerar Requisitos de Usabilidade
?
Uso de Recomendações Ergonômicas
?
Realização de Testes de Usabilidade
?
Construção de Protótipos
4.3 – Fases do RUP a Serem Incorporados Na Matriz Interativa de Avaliação
Na MIA, serão utilizadas as fases do PDS listadas a seguir, as qua is são divididas
em fases de Planejamento (Concepção/Iniciação e Elaboração) e Produção (Construção e
Transição).
-
PLANEJAMENTO
?
Concepção/Iniciação
?
Modelagem de Negócios
?
Requisitos
?
Análise e Design
?
Implementação
?
Testes
?
Implantação
?
Gerência de Configuração e Mudanças
?
Gerência de Projeto
64
?
?
-
Ambiente
Elaboração
?
Modelagem de Negócios
?
Requisitos
?
Análise e Design
?
Implementação
?
Testes
?
Implantação
?
Gerência de Configuração e Mudanças
?
Gerência de Projeto
?
Ambiente
PRODUÇÃO
?
?
Construção
?
Modelage m de Negócios
?
Requisitos
?
Análise e Design
?
Implementação
?
Testes
?
Implantação
?
Gerência de Configuração e Mudanças
?
Gerência de Projeto
?
Ambiente
Transição
?
Modelagem de Negócios
?
Requisitos
?
Análise e Design
65
?
Implementação
?
Testes
?
Implantação
?
Gerência de Configuração e Mudanças
?
Gerência de Projeto
?
Ambiente
Conforme mencionado anteriormente, as atividades genéricas das fases do RUP e
do UPi são análogas. Desta forma não será feita a exposição das fases do UPi.
4.4 – Relacionamento Entre os Aspectos de Usabilidade e Fases do RUP e UPi Na MIA
Para se efetuar o relacionamento entre os princípios de Usabilidade e as fases do
RUP e UPi, é necessário que se faça uma análise detalhada, procurando identificar a
necessidade de cada aspecto de Usabilidade, relacionado com cada Fase/Disciplina do RUP e
UPi.
Em primeiro lugar, deve-se fazer um rol incluindo os princípios de Usabilidade a
serem verificados, concomitantemente se deve m relacionar as fases dos processos. Esta etapa
de execução foi apoiada por 2 especialistas em IHC (D.Sc. Elizabeth Sucup ira Furtado e
Kênia Sousa), bem como o trabalho de alunos (Souza et al, 2004) do Mestrado em
Informática Aplicada da UNIFOR.
Cumprida a primeira etapa, deve-se iniciar a análise propriamente dita. Esta
análise, conforme mencionado, tem o propósito de averiguar detalhadamente em qual fase e
em qual disciplina do RUP e do UPi devem ser considerados os princípios de Usabilidade. No
tocante ao UPi, esta etapa foi assistida por Kênia Sousa. Quanto ao RUP, usou-se como base o
trabalho de Souza et al (2004).
66
Como resultado desta análise, serão geradas 2 (duas) MIAs, sendo uma para
comportar a avaliação do RUP e outra para a avaliação do UPi. O número de variáveis
escolhidas para compor o eixo X de cada MIA é 36 as quais representam as Fases (4) e as
Disciplinas (9) tanto para o RUP quanto UPi. Como as fases são compostas por disciplinas,
então temos então 4 (Fases) * 9 (Disciplinas) = 36 (variáveis). O mesmo raciocínio é seguido
para a composição do eixo Y onde foram identificadas 16 variáveis que representam os
Princípios de Usabilidade. Desta forma cada MIA possuirá 576 células, as quais representam
as interações entre as Fase/Disciplinas de um PDS X Princípios de Usabilidade.
Depois de realizada a análise supracitada, é gerado um resumo (Quadros 2 a 9). A
partir deste resumo, deve-se então proceder o preenchimento da MIA. Vale salientar que não
há necessidade de que toda a MIA seja preenchida, e nem seria possível haja vista não
existirem alguns relacionamentos. O preenchimento da MIA é realizado da seguinte maneira:
10 – Caso seja identificado no quadro resumo o relacionamento entre a disciplina do PDS e os
Artefatos/Ações de Usabilidade, a célula da MIA referente a este evento, deve ser
hachurada;
20 – Verificar o valor da intensidade na coluna de mesmo nome e marcar este valor na a célula
da MIA referente a este evento;
30 – Caso não ocorram interações entre as Disciplinas e Princípios de Usabilidade, a MIA
permanece inalterada.
A Figura 13 mostra de forma resumida os passos que deram origem às MIAs
apresentadas neste trabalho, bem como os especialistas envolvidos em cada etapa de
desenvolvimento.
67
Figura 13 – Passos para criação de uma Matriz Interativa de Avaliação
A Figura 14 ilustra um trecho da Matriz Interativa de Avaliação preenchida. As
MIAs preenchidas são apresentadas em Anexo no Capítulo 7.
68
Figura 14 – Matriz Interativa de Avaliação (Exemplo)
69
Quadro 2 – Interações entre Disciplinas da Fase de Iniciação do RUP e Princípios de
Usabilidade
FASES DO RUP
DISCIPLINAS
Modelagem de
Negócios
INICIAÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Definição da Plataforma
Definição do Ambiente Físico
Considerar Foco no Usuário
Envolver Usuário no PDS
Realização de Testes de
Usabilidade
Envolver Usuário no PDS
Intensidade
3
3
3
3
3
1
3
3
1
1
1
1
1
1
1
1
1
70
Quadro 3 – Interações entre Disciplinas da Fase de Elaboração do RUP e Princípios de
Usabilidade
FASES DO RUP
DISCIPLINAS
Modelagem de
Negócios
ELABORAÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Intensidade
Modelagem do Usuário
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Considerar Foco no Usuário
Envolver Usuário no PDS
Realização de Testes de
Usabilidade
Considerar Foco no Usuário
Envolver Usuário no PDS
3
3
3
3
Envolver Usuário no PDS
2
3
2
3
3
2
3
1
2
2
2
2
1
2
1
1
71
Quadro 4 – Interações entre as Disciplinas da Fase de Construção do RUP e Princípios de
Usabilidade
FASES DO RUP
DISCIPLINAS
Modelagem de
Negócios
CONSTRUÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Intensidade
Modelagem do Usuário
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Considerar Foco no Usuário
Envolver Usuário no PDS
Realização de Testes de
Usabilidade
Considerar Foco no Usuário
Envolver Usuário no PDS
1
1
1
2
Envolver Usuário no PDS
3
2
3
2
1
3
1
1
3
3
3
3
1
3
1
1
72
Quadro 5 – Interações entre as Disciplinas da Fase de Transição do RUP e Princípios de
Usabilidade
FASES DO RUP
DISCIPLINAS
Modelagem de
Negócios
TRANSIÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Considerar Foco no Usuário
Envolver Usuário no PDS
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Protótipos
Considerar Foco no Usuário
Envolver Usuário no PDS
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Considerar Foco no Usuário
Envolver Usuário no PDS
Realização de Testes de
Usabilidade
Considerar Foco no Usuário
Envolver Usuário no PDS
Envolver Usuário no PDS
Intensidade
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
73
Quadro 6 – Interações entre as Disciplinas da Fase de Iniciação do UPi e Princípios de
Usabilidade
FASES DO UPI
DISCIPLINAS
Modelagem de
Negócios
INICIAÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Modelo de Tarefas
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Storyboard
Construção de Modelo de Tarefas
Construção de Modelo de
Interface Conceitual
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Realização de Testes de
Usabilidade
Envolver Usuário no PDS
Considerar Foco no Usuário
Intensidade
3
3
3
3
3
3
3
2
3
3
1
1
1
1
1
2
2
2
1
1
1
1
1
1
1
1
Envolver Usuário no PDS
1
Uso de Recomendações
Ergonômicas
Uso de Recomendações
Ergonômicas
3
3
74
Quadro 7 – Interações entre as Disciplinas da Fase de Elaboração do UP i e Princípios de
Usabilidade
FASES DO UPI
DISCIPLINAS
Modelagem de
Negócios
ELABORAÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Modelo de Tarefas
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Storyboard
Construção de Modelo de Tarefas
Construção de Modelo de
Interface Conceitual
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Realização de Testes de
Usabilidade
Envolver Usuário no PDS
Considerar Foco no Usuário
Envolver Usuário no PDS
Intensidade
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
3
2
2
1
1
Envolver Usuário no PDS
2
Uso de Recomendações
Ergonômicas
Uso de Recomendações
Ergonômicas
3
3
75
Quadro 8 – Interações entre as Disciplinas da Fase de Construção do UPi e Princípios de
Usabilidade
FASES DO UPI
DISCIPLINAS
Modelagem de
Negócios
CONSTRUÇÃO
Requisitos
Análise e Design
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Modelo de Tarefas
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Storyboard
Construção de Modelo de Tarefas
Construção de Modelo de
Interface Conceitual
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Uso de Padrões
Uso de Guia de Estilos
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Realização de Testes de
Usabilidade
Envolver Usuário no PDS
Considerar Foco no Usuário
Envolver Usuário no PDS
Intensidade
1
1
1
1
1
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
Envolver Usuário no PDS
3
Uso de Recomendações
Ergonômicas
Uso de Recomendações
Ergonômicas
3
3
76
Quadro 9 – Interações entre as Disciplinas da Fase de Transição do UPi e Princípios de
Usabilidade
FASES DO UPI
DISCIPLINAS
Modelagem de
Negócios
TRANSIÇÃO
Requisitos
Análise e Design
Implementação
Testes
Implantação
Gerência de
Configuração e
Mudanças
Gerência de Projeto
Ambiente
AÇÕES DE
USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
Modelagem do Usuário
Considerar Requisitos de
Usabilidade
Construção de Modelo de Tarefas
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Storyboard
Construção de Modelo de Tarefas
Construção de Modelo de
Interface Conceitual
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Uso de Padrões
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações
Ergonômicas
Realização de Testes de
Usabilidade
Envolver Usuário no PDS
Considerar Foco no Usuário
Envolver Usuário no PDS
Intensidade
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
Envolver Usuário no PDS
3
Uso de Recomendações
Ergonômicas
Uso de Recomendações
Ergonômicas
3
3
77
4.5 – Análise dos Processos RUP e UPi, segundo a Intensidade e Uso de Princípios de
Usabilidade
A análise dos processos de desenvolvimento de Software será feita segundo os
critérios identificados na MIA. Levaram-se em consideração as Fases de desenvolvimento,
Iniciação, Elaboração, Construção e Transição. Em cada Fase será feito um comparativo entre
o RUP e UPi, onde serão considerados os Artefatos e as Ações utilizadas, bem como a
intensidade de uso destes. Vale lembrar que a distribuição de intensidade é baseada na Figura
6 - Arquitetura do RUP.
Para cada Fase do RUP e do UPi, serão apresentados um Gráfico de
comportamento e um Quadro comparativo. Nos gráficos, são representas as somatória s das
intensidades do uso de Artefatos e Ações versus as Disciplinas de cada Fase. Vale ressaltar
que tais gráficos possuem apenas caráter ilustrativo e que na confecção destes procurou-se
representar a preocupação de cada PDS com os Princípios de Usabilidade.
78
Quadro 10 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Iniciação
FASE
DISCIPLINAS
Modelagem de Negócios
Requisitos
AÇÕES DE USABILIDADE
Modelagem do Usuário
3
3
Definição do Ambiente Físico
Definição da Plataforma
-
3
3
Considerar Foco no Usuário
3
3
Envolver o Usuário no PDS
TOTAL
3
9
3
15
Modelagem do Usuário
3
3
Considerar Requisitos de Usabilidade
3
3
Construção de Modelo de Tarefas
Considerar Foco no Usuário
3
2
3
Envolver o Usuário no PDS
3
3
Construção de Protótipos
1
13
14
Construção de Storyboard
-
1
Construção de Modelo de Tarefas
-
1
Construção de Modelo de Interface Conceitual
Uso de Padrões
-
1
1
Uso de Guia de Estilos
-
1
Considerar Foco no Usuário
Envolver o Usuário no PDS
1
1
2
2
Uso Recomendações Ergonômicas
-
2
Construção de Protótipos
TOTAL
1
3
11
Definição da Plataforma
1
-
Definição do Ambiente Físico
1
-
Uso de Padrões
-
1
Uso de Guia de Estilos
Considerar Foco no Usuário
1
1
1
Envolver o Usuário no PDS
1
1
Uso Recomendações Ergonômicas
TOTAL
4
1
5
Realização de Testes de Usabilidade
1
1
Envolver o Usuário no PDS
TOTAL
1
1
2
Considerar Foco no Usuário
-
1
TOTAL
0
1
1
1
1
1
0
3
3
0
3
3
INICIAÇÃO
TOTAL
Análise e Design
Implementação
Testes
Implantação
Gerência de Configuração Envolver o Usuário no PDS
e Mudanças
Gerência de Projeto
Ambiente
Intensidade
RUP UPi
TOTAL
Uso Recomendações Ergonômicas
TOTAL
Uso Recomendações Ergonômicas
TOTAL
79
UPi
Ambiente
Gerência de
Projeto
Ger. Config.
Mudanças
Implantação
Testes
Implementação
RUP
Requisitos
Modelag.
Negócios
Intensidade (Uso de Princípios de
Usabilidade)
16
14
12
10
8
6
4
2
0
Análise e
Design
Fase de Iniciação
Disciplinas
Gráfico 1 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Iniciação
Ao analisarmos o Gráfico 1 e o Quando 10, percebemos que na Fase de Iniciação
o UPi, dá maior ênfase aos Princípios de Usabilidade.
No que tange a Disciplina de Modelagem de Negócios, o UPi possui a vantagem
de considerar inclusive o Ambiente Físico e a Plataforma de desenvolvimento, além da
Modelagem de Negócios, o Foco no Usuário e a Participação do Usuário.
Na Disciplina de Requisitos, percebe-se que os PDSs estudados, apresentam
abordagem um pouco divergentes. O RUP, utiliza a técnica de Prototipagem, enquanto o UPi
utiliza o Modelo de Tarefas.
No tocante a Disciplina de Análise e Design, percebe-se a grande diferença entre o
RUP e UPi. O UPi apresenta preocupação muito maior com o usuário. Nesta Disciplina o
principal diferencial está na intensidade com que são utilizados os princípios de Usabilidade,
bem como a maior variedade de artefatos e ações que o UPi utiliza.
80
Na Disciplina de Implementação, o RUP e o UPi são praticamente equivalentes.
Todavia a abordagem é um pouco diferenciada. Enquanto o RUP dá ênfase a Plataforma e o
Ambiente Físico, o UPi se preocupa com o Uso de Guias de Estilos, Uso de Padrões e
Recomend ações Ergonômicas. Em ambos os processos a intensidade do o uso dos artefatos e
ações referentes à Usabilidade é baixa.
Em Testes, percebe-se que além do uso de Testes de Usabilidade, o UPi
incrementa esta Disciplina com a Participação do Usuário.
Para as disciplinas Implantação, Gerência e Configuração de Mudanças, Gerência
de Projetos e Ambiente, apenas o UPi, apresenta preocupação com os Princípios de
Usabilidade. A maior intensidade desta preocupação, reside nas Disciplinas de Gerência de
Projeto e Ambiente.
Conforme demonstrado no Quadro 10 e no Gráfico 01, percebe-se que tanto o
RUP quanto o UPi, apresentam maior preocupação para os princípios de Usabilidade, nas
disciplinas de Modelagem de Negócios e Requisitos. Sendo que o UPi faz uso de uma
quantidade maior de Artefatos e Ações.
81
Quadro 11 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Elaboração
FASE
DISCIPLINAS
AÇÕES DE USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Modelagem de Negócios
Definição da Plataforma
Considerar Foco no Usuário
Envolver o Usuário no PDS
TOTAL
Modelagem do Usuário
Considerar Requisitos de Usabilidade
Construção de Modelo de Tarefas
Requisitos
Considerar Foco no Usuário
Envolver o Usuário no PDS
Construção de Protótipos
TOTAL
Construção de Storyboard
Construção de Modelo de Tarefas
ELABORAÇÃO
Construção de Modelo de Interface Conceitual
Uso de Padrões
Análise e Design
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver o Usuário no PDS
Construção de Protótipos
TOTAL
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Implementação
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver o Usuário no PDS
Uso de Recomendações Ergonômicas
TOTAL
Realização de Testes de Usabilidade
Testes
Envolver o Usuário no PDS
TOTAL
Considerar Foco no Usuário
Implantação
Envolver o Usuário no PDS
TOTAL
Gerência de Configuração Envolver o Usuário no PDS
TOTAL
e Mudanças
Gerência de Projeto
Ambiente
Uso de Recomendações Ergonômicas
TOTAL
Uso de Recomendações Ergonômicas
TOTAL
Intensidade
RUP UPi
3
3
3
3
3
3
3
3
9
15
3
3
3
3
3
3
3
3
3
2
14
15
3
3
3
3
3
3
3
1
3
2
6
21
2
2
2
3
3
2
2
1
2
3
9
13
2
2
2
2
4
1
1
1
1
2
2
2
2
2
2
3
0
3
3
0
3
82
Fase de Elaboração
20
15
10
5
UPi
Ambiente
Gerência de
Projeto
Ger. Config.
Mudanças
Implantação
Testes
Implementação
RUP
Análise e
Design
Requisitos
0
Modelag.
Negócios
Intensidade (Uso de Princípios de
Usabilidade)
25
Disciplinas
Gráfico 2 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Elaboração
O comportamento tanto do RUP quanto do UPi, nesta Fase é bastante parecido
com a Fase de Iniciação. As principais diferenças estão nas intensidades dadas ao uso de
Artefatos e Ações realizadas nas Disciplinas de Análise e Design e Implementação.
Ao compararmos o comportamento dos PDSs mostrados no Gráfico 2 e o Quadro
11, percebemos que o UPi, nas Disciplinas de Análise e Design e Implementação apresenta
enfoque bastante superior ao RUP.
Nesta Fase nota-se também a crescente preocupação quanto aos Princípios de
Usabilidade para as disciplinas de Testes e Implantação.
Para as disciplinas Implantação, Gerência e Configuração de Mudanças, Gerência
de Projetos e Ambiente, apenas o UPi, apresent a preocupação com os Princípios de
Usabilidade. A maior intensidade desta preocupação, reside nas Disciplinas de Gerência de
Projeto e Ambiente.
83
Conforme demonstrado no Quadro 11 e no Gráfico 02, percebe-se que tanto o
RUP quanto o UPi, apresentam maior preocupação para os princípios de Usabilidade, nas
disciplinas de Modelagem de Negócios e Requisitos. Sendo que o UPi faz uso de uma
quantidade maior de Artefatos e Ações.
84
Quadro 12 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Construção
FASE
DISCIPLINAS
AÇÕES DE USABILIDADE
Modelagem do Usuário
Definição do Ambiente Físico
Modelagem de
Negócios
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
TOTAL
Modelagem do Usuário
Considerar Requisitos de Usabilidade
Construção de Modelo de Tarefas
Requisitos
Considerar Foco no Usuário
Envolver Usuário no PDS
Construção de Protótipos
TOTAL
Construção de Storyboard
Construção de Modelo de Tarefas
CONSTRUÇÃO
Construção de Modelo de Interface Conceitual
Uso de Padrões
Análise e Design
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações Ergonômicas
Construção de Protótipos
TOTAL
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Implementação
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações Ergonômicas
TOTAL
Realização de Testes de Usabilidade
Testes
Envolver Usuário no PDS
TOTAL
Considerar Foco no Usuário
Implantação
Envolver Usuário no PDS
TOTAL
Gerência de
Configuração e
Envolver Usuário no PDS
Gerência de Projeto
Ambiente
TOTAL
Uso de Recomendações Ergonômicas
TOTAL
Uso de Recomendações Ergonômicas
TOTAL
Intensidade
RUP UPi
1
1
1
1
1
1
1
1
3
5
2
2
2
2
3
2
3
1
3
3
10
13
3
3
3
3
3
1
3
1
3
3
3
2
24
3
3
3
3
3
3
3
1
3
3
7
21
3
3
3
3
6
1
2
1
2
2
4
3
3
3
3
3
0
3
3
0
3
85
Fase de Construção
Intensidade (Uso de Princípios de
Usabilidade)
30
25
20
15
10
5
UPi
Ambiente
Gerência de
Projeto
Ger. Config.
Mudanças
Implantação
Testes
Análise e
Design
Implementação
RUP
Requisitos
Modelag.
Negócios
0
Disciplinas
Gráfico 3 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Construção
Conforme Gráfico 3 e Quando 12 percebe-se que na Fase de Construção, ocorre
maior ênfase dos Princípios de Usabilidade nas Disciplinas de Análise e Design,
Implementação e Testes.
Na Disciplina de Requisitos, percebe-se que o UPi apresenta maior preocupação
com o Foco no Usuário, assim como a participação deste, notadamente quando comparado
com o RUP.
No tocante a Disciplina de Análise e Design, o RUP destaca-se apenas no que diz
respeito ao processo de Prototipagem, o qual o UPi não utiliza. Para os demais Artefatos e
Ações a abordagem do UPi é bem mais completa e apresenta maior intensidade.
Na Disciplina de Implementação, as maiores vantagens do UPi são traduzidas
em termos da consideração da Plataforma, do Ambiente Físico, Uso de Guias de Estilos, a
intensidade da Participação do Usuário e as Recomendações Ergonômicas.
86
Quadro 13 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Transição
FASE
DISCIPLINAS
AÇÕES DE USABILIDADE
Modelagem do Usuário
Modelagem de Negócios
Definição do Ambiente Físico
Definição da Plataforma
Considerar Foco no Usuário
Envolver Usuário no PDS
TOTAL
Modelagem do Usuário
Requisitos
Considerar Requisitos de Usabilidade
Construção de Modelo de Tarefas
Considerar Foco no Usuário
Envolver Usuário no PDS
TOTAL
Construção de Storyboard
Construção de Modelo de Tarefas
TRANSIÇÃO
Construção de Modelo de Interface Conceitual
Uso de Padrões
Análise e Design
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações Ergonômicas
Construção de Protótipos
TOTAL
Definição da Plataforma
Definição do Ambiente Físico
Uso de Padrões
Implementação
Uso de Guia de Estilos
Considerar Foco no Usuário
Envolver Usuário no PDS
Uso de Recomendações Ergonômicas
TOTAL
Testes
Realização de Testes de Usabilidade
Envolver Usuário no PDS
TOTAL
Considerar Foco no Usuário
Implantação
Envolver Usuário no PDS
TOTAL
Gerência de Configuração e Envolver Usuário no PDS
TOTAL
Mudanças
Gerência de Projeto
Uso de Recomendações Ergonômicas
TOTAL
Ambiente
Uso de Recomendações Ergonômicas
TOTAL
Intensidade
RUP UPi
1
1
1
1
1
1
1
1
3
5
1
1
1
1
1
1
1
2
5
1
1
1
1
1
1
1
1
1
1
1
3
8
1
1
1
1
1
1
1
1
1
1
5
5
3
3
3
3
6
3
3
3
3
6
6
3
3
3
3
3
0
3
3
0
3
87
UPi
Ambiente
Gerência de
Projeto
Ger. Config.
Mudanças
Implantação
Testes
Análise e
Design
Implementação
RUP
Requisitos
9
8
7
6
5
4
3
2
1
0
Modelag.
Negócios
Intensidade (Uso de Princípios de
Usabilidade)
Fase de Transição
Disciplinas
Gráfico 4 - Comparativo entre o RUP e UPi, quanto ao uso dos Princípios de Usabilidade na
Fase de Transição
De acordo com o Gráfico 4 e o Quando 13, nota-se na Fase de Transição, o maior
foco nos Princípios de Usabilidade é destinado às Disciplinas de Testes e Implantação, tanto
para RUP quanto para UPi.
Na Disciplina de Testes o UPi, um diferencial por incluir a o seu foco na
Participação do Usuário, além dos Testes de Usabilidade, comum a ambos os processos.
No que diz respeito a Disciplina de Implantação, o RUP e o UPi possuem a
mesma abordagem. Ambos preocupam-se com o Foco no Usuário e a Participação deste.
4.6 – Síntese da Análise
Conforme demonstrado ao longo do item 4.5, percebe-se que o UPi possui maior
enfoque nos Princípios de Usabilidades, utilizados neste trabalho, do que o RUP. Merecendo
destaque a Utilização do Modelo de Tarefas, utilizado com maior intensidade nas Fases de
Elaboração e Construção, nas Disciplinas de Requisitos e Análise e Design; a utilização do
88
Modelo de Interface Conceitual, realizado com maior intensidade nas Fases de Elaboração e
Construção, na Disciplina de Análise e Design; Uso de Guias de Estilos com maior
intensidade nas Fases de Elaboração e Construção, Disciplinas de Análise e Design e
Implementação; as Recomendações Ergonômicas, o Foco no Usuário e a Participação deste,
levados em consideração em todas as Fases de desenvolvimento.
5 – CONCLUSÕES
Espera-se este trabalho tenha alcançado o objetivo de tornar mais ágil e fácil o
processo de análise de um PDS. Vale ressaltar que este trabalho não teve por finalidade,
promover ou mesmo desprezar qualquer um dos Processos de Desenvolvimento de Software
envolvidos.
O instrumento (MIA) apresentado neste trabalho mostrou que possui a capacidade
de representação de um PDS versus os Princípios de Usabilidade, de maneira simples e de
fácil compreensão. Conforme descrito anteriormente, as MIAs são extremamente dinâmicas,
ou seja, em uma MIA pode-se representar inúmeros processos. Podem-se desenvolver MIAs
para analisar requisitos de qualidade de um PDS ou mesmo de um software, ou ainda analisar
apenas aspectos ligados aos Requisitos Funcionais ou Não Funcionais de um sistema, etc.
Quanto aos processos analisados, nota-se que o UPi apresentou maior preocupação
no que diz respeito à utilização dos Princípios de Usabilidade, listados neste trabalho. Este
fato era de se esperar tendo em vista que o UPi é um “descendente” do RUP e foi
desenvolvido para suprir as deficiências deste quanto aos Princípios de Usabilidade. A
novidade apresentada aqui diz respeito a representação dos Princípios, sob a forma de uma
matriz, na qual se identifica de forma clara, onde o UPi apresenta diferenças em relação ao
RUP.
90
Durante a evolução deste estudo, pode-se perceber a importância da adoção dos
Princípios de Usabilidade em processos de desenvolvimento de software, o que nos leva a crer
que se for garantido que um PDS cumpra os princípios mínimos de Usabilidade, é bem
provável que os produtos gerados por este, assegurem estes princípios.
Vale ressaltar que o presente trabalho faz parte, apenas, do desenvolvimento inicial
de uma metodologia que ainda pode ser bastante explorada em trabalhos futuros.
6 - BIBLIOGRAFIA
Boehm, Barry W. A spiral model of software development and enhancement. IEEE Computer.
1988.
Choose Technologies. Utilizando o RUP com Análise Essencial. Disponível em:
<http://www.choose.com.br/infochoose/artigos/40art03.htm>. Acesso em: 10/04/2004.
Companhia de Informática do Paraná – CELEPAR. Revista Eletrônica Bate Byte. Edição 104
– Dezembro 2000. Aderência do RUP à Norma ISSO/IEC 12207. Disponível em:
<http://www.pr.gov.br/batebyte/edicoes/2000/bb104/software.htm>, Acesso em: 02/05/2004.
Crosby, Philip. Quality is Free. McGraw-Hill, 1979.
Cybiz
S/A.
Oferta.
RUP
Disponível
<http://www.cybiz.com.br/gcon/Navega.jsp?pIdMenuConteudo=602>,
Acesso
em:
em:
12/05/2004.
Denning, Susan et alli. "The Value of Thinking-Aloud Protocols in Industry: A Case Study at
Microsoft Corporation", in Proceedings of the Human Factors Society 34th Annual Meeting,
Test and Evaluation: Verbal Protocols as a Research Tool in Human Factors, vol. 2, pp. 12851289, 1990.
92
Drumond, Fernanda Paiva. Especificação de Requisitos do Sistema CEP 1.0 - Cálculo de
Esforço em Postes. Relatório Técnico DSE. DCC/UFMG: Belo Horizonte, 1998.
Dumas, Joseph S. "Stimulating Change Through Usability Testing", in ACM SIGCHI
Bulletin, vol. 21, no. 1, pp. 37-44, 1989.
Egan, Dennis E. et alli. "Dealing with Diversity: Approaches to Individual Differences in
Human-Computer Interaction", in Proceedings of ACM CHI'88 Conference on Human
Factors in Computing Systems, pp. 79-81, 1988.
Furtado, Elizabeth – Notas de Aulas: Curso de Engenharia de Software. UNIFOR, 2003.
GARVIN, D..What Does Product Quality Mean?. Sloan Management Review, Nº4- 1984.
Gillies, Alan C., Software Quality: Theory and Management. ITCP, 1992.
Gould, J. D., Boies, S. J. & Lewis, C. "Making Usable, Useful, Productivity-Enhancing
Computer Applications. Communications of the ACM, vol. 34, no. 1, pp. 74-85.
Graham, McLeod; Smith, Derek."Managing Information Technology Projects. ITCP, 1996.
Hix, Deborah & Hartston, H. Rex. Developing User Interfaces; Ensuring Usability Through
Product & Process. John Wiley& Sons, 1993.
Holleran Patrick A. "A Methodological Note on Pitfalls in Usability Testing", Behaviour and
Information Technology, vol. 10, no. 5, pp. 345-357, 1991.
93
IHC Brasil. O que é IHC?. Disponível em: <http://www.sbc.org.br/ihc/index.php>. Acesso
em: 15/04/2004.
Instituto
Do
Software
Do
Ceará.
Qualidade
de
Software.
Disponível
em:
<http://www.insoft.softex.br. Acesso em: 10/04/2004.
ISO/FDIS 9241-11 Ergonomic Requirements for Office Work with Visual Display Terminals
(VDTs) - Part 11: Guidance on Usability. International Standards Organization.
Jeffries, Robin & Desurvire, Heather. "Usability Testing vs. Heuristic Evaluation: Was There
a Contest?", in ACM SIGCHI Bulletin, vol. 24, no. 4, pp. 39-41, 1992.
Kato, Takashi, "What `Question-Asking Protocols' Can Say about the User Interface", in
International Journal of Man-Machine Studies, vol. 25, no. 6, pp. 659-673, 1986.
Kennedy, Sue. "Using Video in the BNR Usability Lab", in ACM SIGCHI Bulletin, vol. 21,
no. 2, pp. 92-95, 1989.
Koivunen, M.; Nieminen, M. & Riihiaho, S. "Launching the Usability Approach: Experience
at Helsinki University of Technology", in ACM SIGCHI Bulletin, vol. 27, no. 2, pp. 54-60,
1995.
Kruchten, Philippe, Rational Unified Process made easy: A practioner’s guide to the RUP,
Addison-Wesley, 2003.
Leopold, L.B.; Clarke, F.S.; Hanshaw, B. et al. A procedure for evaluating environmental
impact. Washington: U. S. Geological Survey, 1971. 13p. (circular 645).
Lund, Arnold M. "Ameritechs Usability Laboratory: from Prototype to Fina l Design", in
Behaviour and Information Technology, vol. 13, nos. 1, 2, pp. 67-80, 1994.
94
Lund, Arnold M. & Tschirgi, J.E. "Designing for People: Integrating Human Factors into the
Product Realization Process", in IEEE Journal on Selected Areas in Communications, vol. 9,
no. 4, pp. 496-500, 1991.
Marconi, Marina de Andrade, Lakatos, Eva Maria. Metodologia Científica. 3. ed. São Paulo:
Atlas, 2000.
Microsoft Corporation. The Windows Interface Guidelines for Software Design. Disponível
em: <http://www.microsoft.com/win32dev/uiguide/>, Acesso em: 01/04/2004.
Myers, Brad A. & Rosson, Mary B. "Survey on User Interface Programming", in Proceedings
of ACM CHIÆ92 Conference on Human Factors in Computing Systems, Tools and
Techniques, pp. 195-202, 1992.
Newsletter. Qualidade de Software (VII). O Modelo de Pressman.
Disponível em:
<http://www.gismedia.pt/newsletter/newsletter.cfm?edinum=20&p=3>.
Acesso
em:
15/04/2004
Nielsen, Jakob. "Guerrilla HCI: Using Discount Usability Engineering to Penetrate the
Intimidation Barrier", in Cost-Justifying Usability. Academic Press, 1994.
Nielsen, Jakob. Usability Engineering. Academic Press, Chestnut Hill, l993.
Oliveira, Rafael Braga de, O Desenvolvimento de Sistemas Interativos Centrado no Usuário e
de Fácil Manutenção Baseado no Processo RUP Usando a UML – Monografia – Fortaleza :
Universidade de Fortaleza, 2002. 62 p. p. 39 - 40
Pádua, Wilson P. F. & Salles, Juliana. PROSE û Processo Padrão para Sistemas de
Engenharia; Projeto CASE. Relatório Técnico DSE. DCC/UFMG, Belo Horizonte, 1997.
95
Pádua, Wilson P. F. Engenharia de Software: Fundamentos, Métodos e Padrões. 2. ed. Rio de
Janeiro: LTC, 2003.
Pádua, Wilson P. F. Manual de Processos Versão 1.0; CASE - Programa de Capacitação em
Sistemas de Engenharia. Relatório Técnico DSE. DCC/UFMG, Belo Horizonte, 1996.
Pressman, Roger S. Engenharia de software. Makron Books, 2001.
Ribeiro JR., Aloísio A. Análise Heurística de Usabilidade; Um Tutorial. Disponível em:
<http://www.dcc.ufmg.br/~aarj/usabilidade/heur.html>, DCC/UFMG, Belo Horizonte, 1998.
Acesso em: 01/04/2004.
Rocha, Ana Regina Cavalcante da, Maldonado, José Carlos, Weber, Kival Chaves. Qualidade
de Software: Teoria e Prática. 1. ed. São Paulo: Prentice Hall, 2001.
Royce, W. W. Managing the developmentof large software systems: concepts and techniques.
In: Proceedings Of Wescon. Ago. 1970.
Silva Filho, Antonio Mendes da - Professor do Departamento de Informática da UEM. Doutor
em Ciência da Computação – Revista Espaço Acadêmico – Ano II – No 25 – Junho 2003.
Sousa, Kênia Soares. UPi – An Approach to Integrate Human-Computer Interaction Aspects
in a Software Development Process. Fortaleza: 2002.
Souza, Gabriela Telles,
Albuquerque, Danielle F., Nunes Francisco José. Uma Análise
Quantitativa e Qualitativa do RUP e MyRUP Quanto aos Aspectos de Usabilidade. Fortaleza:
2004.
Thevenin, David. Adaptation in Human Computer Interaction: the case of Plasticity 21
December 2001. Disponível em:
<http://publications.imag.fr/publications/theses/2001/Thevenin.David/notice-anglais.html>
Acesso em: 02/05/2004.
96
Wright, Peter C. & Monk, Andrew F. "The Use of Think-Aloud Evaluation Methods in
Design",
in
ACM
SIGCHI
Bulletin,
vol.
23,
no.
1,
pp.
55-57,
1991.
7. ANEXOS
A seguir são apresentas as MIAs que representam as Fases do RUP e UPi versus
os Princípios de Usabilidade.
Download

Download.