Conceito: Engenharia de Usabilidade
Essa orientação discute a Engenharia de Usabilidade. A Engenharia de Usabilidade (também denominada Design Centrado no Usuário) trata da construção de sistemas melhores através da compreensão de quem são usuários finais e do envolvimento de usuários nos requisitos, no design de interface com o usuário e nos esforços de teste.
Descrição Principal
Conceitos: 

Introdução

A Engenharia de Usabilidade (também denominada Design Centrado no Usuário) trata da construção de sistemas melhores através da compreensão de quem são os usuários e do envolvimento de usuários nos requisitos, no design de interface com o usuário e nos esforços de teste. Os conceitos básicos estão descritos em Conceito: Design Voltado ao Usuário, e devem ser lidos antes deste conceito. Esta página de conceito explica como o RUP (Rational Unified Process) trata atualmente as técnicas de engenharia de usabilidade.

Funções

Vários papéis do RUP são responsáveis pelas questões de usabilidade. Analista de Sistema eEspecificador de Requisitos devem ser qualificados em reunir e analisar informações sobre usuários, suas tarefas e seus ambientes, e em capturar essas informações nos requisitos. Este material é revisado pelo Revisor de Requisitos. As funções Testador e Analista de Teste são responsáveis principalmente pelos testes de usabilidade. O Designer da interface com o usuário é responsável pelo design e "visual shaping" da interface com o usuário. O Implementador seleciona e/ou desenvolve componentes da interface com o usuário para construir a interface funcional com o usuário.

O Coordenador de Projeto também tem uma função importante. Ele permite que os usuários se envolvam no processo de desenvolvimento e garante que a organização de desenvolvimento tenha a qualificação necessária para criar sistemas com usabilidade. Outras funções, como Gerente de Implementação, Desenvolvedor de Curso e Escritor Técnico também têm as responsabilidade de assegurar que o sistema implementado seja utilizável.

Disciplinas

As seções a seguir descrevem as disciplinas do RUP relacionadas às atividades e aos artefatos mais importantes para a usabilidade.

Requisitos

Da perspectiva de usabilidade, a disciplina Requisitos tem como foco:

  • compreensão de quem são os usuários e suas necessidades
  • identificação dos casos de uso que mais beneficiam os usuários.

As atividades e os artefatos específicos são:

Atividade Artefato Conteúdo Relacionado à Usabilidade
Identificar Pedidos dos Investidores Pedidos do Investidores

Essa atividade envolve a realização de entrevistas de usuários, questionários e workshops para compreender melhor o usuário e o seu ambiente. Isso inclui:

O gabarito do Artefato: Pedidos dos Investidores captura um perfil detalhado de usuário, incluindo formação educacional, conhecimentos de informática, experiência, ambiente existente, expectativas, metas, etc. Também captura uma descrição dos problemas e das prioridades da perspectiva do usuário. Os Pedidos dos Investidores são a matéria-prima da a partir da qual a Visão é compilada.

Desenvolver Visão Visão

A seção Ambiente de Usuário do gabarito Visão descreve o ambiente de trabalho dos usuários ou o que a ISO denomina Contexto do Ambiente [ISO 13407].

A seção Perfil do Usuário do gabarito Visão descreve o conhecimento do usuário, a formação técnica, as responsabilidades, os critérios de êxito, os produtos liberados, etc. Isso é o que a ISO denomina Contexto do Usuário [ISO 13407].

Localizar Agentes e Casos de Uso, Estruturar o Modelo de Caso de Uso, Detalhar um Caso de Uso Modelo de Caso de Uso

O Modelo de Casos de Uso descreve as tarefas (casos de uso) que os usuários (Agentes humanos) realizam. Ele captura semelhanças e relacionamentos entre Agentes, utilizando relacionamentos de generalização. Os Agentes são relacionados aos casos de uso. Isso é semelhante ao "Modelo de Função" de Constantine [CON99]. Os casos de uso são estruturados e relacionados um a outro e aos agentes por meio de relacionamentos deAssociação de comunicação, incluir, generalização, e extensão.

Os workshops são uma excelente forma de envolver o usuário. Consulte: Workshop de Casos de Uso

 

Agentes

As características dos atores humanos são captadas como atributos de Agentes. Isso inclui:

  • O escopo de responsabilidade do agente.
  • O ambiente físico no qual o agente utilizará o sistema.
  • O número de usuários representados por esse agente.
  • A freqüência com que o agente utilizará o sistema.
  • O nível de conhecimento que o agente tem sobre o domínio.
  • O nível de experiência em computação que o agente tem.
  • As características gerais dos atores como, por exemplo, o nível de conhecimento (formação educacional), implicações sociais (idioma) e idade.
 

Casos de Uso

Estes podem incluir casos de uso essenciais, conforme descrito por Constantine [CON99] (consulte Conceito: Design Voltado ao Usuário para obter uma discussão dos casos de uso essenciais). Requisitos específicos de usabilidade para um determinado caso de uso podem ser capturados como "Requisitos Especiais" na especificação de caso de uso.
Detalhar os Requisitos de Software

Especificações Suplementares

As Especificações Suplementares captam requisitos não especificados nos casos de uso. Isso inclui requisitos de disponibilidade e desempenho que podem estar diretamente ligados a usabilidade. Os requisitos gerais de usabilidade aplicáveis a vários casos de uso são capturados aqui, juntamente com a legislação e os padrões de usabilidade aplicáveis (consulte Conceito: Design Centrado no Usuário para obter detalhes sobre legislação e padrões de usabilidade).
Gerenciar Dependências Atributos de Requisitos À medida que os requisitos de usabilidade e de casos de uso são "descobertos", deve ser observada sua importância ou benefício. Isso requer consulta aos usuários e outros envolvidos. Outros atributos, como a freqüência de execução de um caso de uso, podem ser captados nesse artefato.
Revisar os Requisitos Controle de Mudanças Um esforço de desenvolvimento centrado no usuário busca maximizar o envolvimento dos usuários em todas as revisões de requisitos possíveis.
Capturar um Vocabulário Comum Glossário Capta a terminologia comum específica do domínio dos usuários para facilitar a comunicação e o entendimento entre usuários e o restante da equipe de desenvolvimento.

Existem algumas outras técnicas que podem ser úteis para as atividades Requisitos acima.

  • Diagramação de Afinidades [HOL96, BEY98] é uma técnica em que cada informação reunida sobre os usuários e suas tarefas é anotada em um pedaço de papel. Os usuários e analistas trabalharam em conjunto para agrupar as notas relacionadas ao cluster em grupos conceituais ou "afinidades". Essa atividade ajuda a promover um entendimento comum dos problemas, a importância relativa deles e seus relacionamentos.
  • Classificação de Cartões [CON99] é uma atividade semelhante em que as informações dos cartões de índice são organizadas em grupos. Os cartões também podem ser classificados por importância, freqüência, etc.
  • Modelagem Hierárquica de Tarefas [MAY99, CON99] analisa as tarefas atualmente executadas por usuários e as organiza em uma hierarquia. A hierarquia deve refletir como os usuários compreendem atualmente a organização de suas tarefas.

Análise e Design

Várias outras atividades nesta disciplina têm como foco a forma e o design da interface com o usuário. São elas:

Atividade

Artefato

Conteúdo Relacionado à Usabilidade

Design da interface com o usuário

Esboço Seqüencial

Mapa de Navegação

Esta atividade cria o que é geralmente conhecido como Design Conceitual [FER01]. Essa é a abstração inicial da interface do usuário, captando as principais janelas e caminhos de navegação apresentados ao usuário. Essa atividade enfatiza os casos de uso que orientam o design da interface do usuário.

Mapas de Navegação, consulte [CON99], fornecem uma visão geral dos caminhos de navegação entre os espaços de interação (telas, janelas e caixas de diálogo).

Protótipo da interface com o usuário Protótipo da Interface com o Usuário

É possível criar três tipos básicos de protótipos:

Desenhos (em papel)
Bitmaps (ferramenta de desenho)
Executáveis (interativo)
Na maioria dos projetos, você deve usar os três protótipos, na ordem listada acima.

A principal finalidade de criar um protótipo da interface do usuário é poder expor e testar a funcionalidade e a usabilidade do sistema antes de iniciar realmente o design e o desenvolvimento. Dessa forma, é possível garantir que o sistema correto esteja sendo criado antes de desperdiçar tempo e recursos no desenvolvimento.


As técnicas a seguir também podem ser úteis como parte do projeto da interface com o usuário:

  • A Classificação de Cartões [CON99], descrita anteriormente, também é útil para projetar a interface com o usuário. Cada item ou conteúdo de menu é representado por um cartão. Em seguida, os usuários organizam os cartões, agrupando-os logicamente.

Além das atividades descritas acima, as atividades de Análise e Design a seguir são complementares ao projeto da interface com o usuário:

Atividade

Artefato

Conteúdo Relacionado à Usabilidade

Análise de Caso de Uso Classe de Análise,
Realização de Caso de Uso

Consulte também:

Design de Classe

Esta atividade utiliza os resultados do projeto e da criação de protótipo da interface com o usuário e projeta as classes. Ao contrário dos protótipos, esse não é um trabalho conceitual de interface do usuário que seja descartável; destina-se a representar o design do sistema liberado.

Consulte também as diretrizes a seguir:

Orientação: Construindo Aplicativos da Web com o UML


Implementação

A implementação da interface com o usuário segue o Fluxo de trabalho de implementação geral. Observe que a implementação da interface com o usuário é geralmente feita como parte da atividade de design.

Teste

Teste de Usabilidade, incluindoTeste de Desempenho relacionados à usabilidade, devem ser iniciados quando houver modelos ou protótipo executáveis da interface com o usuário. O teste deve incluir verificação de usabilidade e requisitos de desempenho capturados nas Especificações Suplementares ou como "Requisitos Especiais" no Caso de Uso.

Implementação

Os usuários devem estar seriamente envolvidos naAtividade: Produto de Teste Beta, assim como final Teste de Usabilidade durante a Atividade: Gerenciar Teste de Aceitação.

Atividade: Desenvolver Material de Suporte inclui o desenvolvimento de material de treinamento e material de suporte ao sistema para assegurar que os usuários possam usar com êxito o produto de software fornecido.

Gerenciamento de Projeto

Gerenciamento de Projeto é a arte de equilibrar objetivos que competem entre si, gerenciar riscos e superar restrições para liberar com êxito um produto que atenda às necessidades dos clientes (que pagaram por ele) e dos usuários. De uma perspectiva de engenharia de usabilidade, a atividade mais crítica é Tarefa: Definir Organização e Formação de Equipe do Projeto. Essa atividade define a estrutura da organização, as interfaces externas, os papéis e as responsabilidades. Isso inclui a definição do grau de envolvimento dos usuários no processo de desenvolvimento e determina se os desenvolvedores devem ter experiência em métodos de engenharia de usabilidade.

Ambiente

A disciplina Ambiente inclui a definição do processo de desenvolvimento a ser seguido por um projeto ou organização. A Tarefa: Desenvolver Caso de Desenvolvimento (Produto de Trabalho: Caso de Desenvolvimento) define quais técnicas de engenharia de usabilidade serão aplicadas e como os diversos artefatos e atividades do RUP serão adaptados à incorporação dessas técnicas.

Uma outra atividade importante é Tarefa: Desenvolver Diretrizes Específicas do Projeto que cria o Produto de Trabalho: Diretrizes do Projeto que inclui diretrizes da interface com o usuário. Essas diretrizes ajudam a manter a consistência da interface do usuário, que pode ser uma ajuda significativa para a usabilidade. Elas também capturam os princípios de usabilidade a serem seguidos, como diretrizes para atalhos, recursos de "desfazer", saídas reconhecidas, interação sem modelos e assim por diante.

Iteração de Desenvolvimento e Fases

O ciclo de vida de software do RUP é dividido ao longo do tempo em quatro fases seqüenciais, cada uma concluída por um marco principal; cada fase é basicamente um intervalo de tempo entre dois marcos principais. A cada final de fase, uma avaliação é executada (Tarefa: Revisão de Marcos de Ciclo de Vida) para determinar se os objetivos da fase foram alcançados. Uma avaliação satisfatória permite que o projeto passe para a próxima fase.

Dentro de cada fase podem existir diversas iterações. Uma iteração é um loop completo de desenvolvimento que resulta em um release (interno ou externo) de um produto executável, um subconjunto do produto final em desenvolvimento, que cresce por incrementos, a cada iteração, para se tornar o sistema final. A usabilidade se beneficia bastante dessa abordagem iterativa. Ela permite que os usuários forneçam feedback antecipado sobre a usabilidade e evita um trabalho que não atenda às necessidades do usuário.

O usuário deve estar envolvido em cada iteração, a fim de refinar requisitos, avaliar conceitos de design e testar/avaliar a usabilidade de cada protótipo de prova de conceito e o sistema em desenvolvimento.

As seções a seguir descrevem os critérios de conclusão da fase relacionada à usabilidade e as principais atividades de cada fase.

Iniciação

Dois objetivos principais da Fase de Iniciação são Iniciação :

  • Estabelecer o escopo do software do projeto e as condições limite, incluindo uma visão operacional, critérios de aceitação e o que deve ou não estar no produto.
  • Discriminar os casos de uso críticos do sistema, os principais cenários de operação e o que direcionará as principais trocas de design.

Da perspectiva da engenharia de usabilidade, isso significa destacar as atividades relacionadas aos Requisitos e Modelagem de Negócios (se desempenhado):

  • compreensão de quem são os usuários e suas necessidades
  • identificação dos casos de uso que mais beneficiam os usuários.

A fase de iniciação muitàs vezes também é o momento para explorar o design conceitual e a criação de protótipo de "prova de conceito". Isso é verdadeiro quando os principais riscos do projeto estão relacionados às questões de usabilidade e interface do usuário. Teste de Usabilidade, incluindoTeste de Desempenho relacionados à usabilidade, devem ser iniciados quando houver modelos ou protótipo executáveis da interface com o usuário.

Elaboração

Como o RUP é um processo iterativo, os artefatos criados na Iniciação são revisitados e revisados com usuários a fim de gerenciar o escopo e garantir que o sistema em desenvolvimento atenda às necessidades do usuário.

Em Elaboração, o foco está na Arquitetura de Software - incluindo a arquitetura da interface com o usuário. 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. As atividades relacionadas à arquitetura de software geralmente aplicam-se à interface com o usuário - há produtos prontos para uso que devem ser avaliados, incluindo considerações de reutilização, seleção de mecanismos e padrões, etc.

Esta fase destaca as atividades de design da interface com o usuário e as atividades de suporte da disciplina 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.

Teste de Usabilidade, eTeste de Desempenho relacionado à usabilidade, deve focalizar qualquer requisitos de risco capturado nas Especificações Suplementares ou como "Requisitos Especiais" no Caso de Uso.

Construção

Em Construção, o foco está na implementação de casos de uso adicionais. Isso envolve incluir na interface com o usuário, ao mesmo que se mantém fiel ao modelo conceitual da interface com o usuário e das diretrizes da interface com o usuário capturadas nas Diretrizes Específicas do Projeto. Os Testes de Usabilidade continuam sendo muito importantes à medida que novos recursos são incluídos.

A seleção da funcionalidade a ser colocada em cada iteração é baseada no valor para os usuários.

Transição

O foco na Fase de transição inicia o deslocamento para a disciplina Implementação. Em um esforço de desenvolvimento centrado no usuário, você não 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 são finalizados na Transição, mas devem ser iniciados 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. É recomendável planejar pelo menos algumas iterações durante a transição, para que problemas com a liberação inicial sejam corrigidos e para que o feedback dos principais usuários seja incorporado.