Autarquia Educacional do Vale do São Francisco – AEVSF Faculdade de Ciências Aplicadas e Sociais de Petrolina - FACAPE Centro de Engenharia e Ciências

Tecnológicas – CECT Curso de Ciência da Computação

Desenvolvimento de Interfaces Prototipação

Prof. Jorge Cavalcanti jorgecav@facape.br

Interface Humano Máquina

Regras de ouro no desenvolvimento de interfaces
Shneiderman (1998)

• • • • • • • •

Busca de consistência Permitir uso de atalhos para experientes Oferecer feedback informativo Organização dos diálogos de interação Prover prevenção de erros e fácil tratamento Prover fácil reversão das ações Suportar controle local das ações Reduzir a demanda por memorização “Para o usuário, a interface é o sistema”
Interface Humano Máquina

Regras de ouro no desenvolvimento de interfaces
• Consistência: este item cobre aspectos relativos desde terminologia empregada, passando por seqüências de ações executadas em situações semelhantes, até detalhes como cores, fontes e menus; • Atalhos para usuários experientes: a disponibilização de teclas de atalho ou de outras formas de acelerar o processo de interação é muito importante para tornar o sistema mais produtivo a usuários experientes;
Interface Humano Máquina

Regras de ouro no desenvolvimento de interfaces
• Feedback informativo: é essencial que o usuário saiba o que está acontecendo com o sistema para ter segurança sobre a execução das tarefas requisitadas; • Organização dos diálogos de interação: as seqüências de ações para desempenhar uma determinada tarefa devem ser organizadas em grupos com início e fim bem definidos, a fim de deixar claro ao usuário o que deve ser feito para executar algo e quando uma tarefa está concluída;
Interface Humano Máquina

Regras de ouro no desenvolvimento de interfaces
• Prevenção de erros de usuários: Todos os esforços devem ser empenhados no sentido de prevenir a maior quantidade de falhas possível. • Reversibilidade de ações: Devem ser oferecidos recursos para corrigir erros durante a execução do sistema, como o comando de desfazer ações anteriores. Prover boas mensagens de erros e possuir recursos de ajuda on-line para facilitar a busca de soluções em situações confusas são expedientes que também facilitam bastante a vida dos usuários;
Interface Humano Máquina

Regras de ouro no desenvolvimento de interfaces
• Controle do usuário sobre o sistema: sendo o usuário o elemento racional da relação homem-computador, ele deve se sentir com o controle da situação em que está envolvido com o sistema; • Redução da necessidade de memorização: o usuário deve precisar memorizar o mínimo de informações possível sobre a interação com o sistema. Para tanto, na medida do possível, comandos devem ser substituídos por opções de menu, números de objetos por nomes, dentre outros, além de ser essencial o acesso do usuário à documentação do sistema para esclarecer eventuais dúvidas.
Interface Humano Máquina

Prototipação - Conceitos
• É uma abordagem baseada numa visão evolutiva do desenvolvimento de software, afetando o processo como um todo. Esta abordagem envolve a produção de versões iniciais - protótipos (análogo a maquetes para a arquitetura) - de um sistema futuro com o qual pode-se realizar verificações e experimentações para se avaliar algumas de suas qualidades antes que o sistema venha realmente a ser construído.
Interface Humano Máquina

Prototipação - Conceitos
• Um protótipo é um sistema de demonstração que se apresenta aos usuários e Stakeholders de forma a validar os requisitos conhecidos ou obtê-los quando os requisitos conhecidos são vagos ou indefinidos. • Um protótipo pode ser usado como meio de comunicação entre os diversos membros da equipe de desenvolvimento ou mesmo como meio de nós mesmos testarmos a nossas idéias (Sommerville, Sawyer 1997). • Os Stakeholders são as pessoas ou organizações que são de alguma forma afetadas pelo sistema e/ou que tem diretamente ou indiretamente influência nos requisitos do sistema.

Interface Humano Máquina

Prototipação - Conceitos
• Um outro motivo para recorrer a prototipação é que geralmente os Stakeholders não conseguem especificar o que pretendem, mas perante um sistema e após uma breve utilização, facilmente especificam o que não pretendem. • A experiência permite concluir que o sistema final será tanto melhor quanto mais iterativo for o processo de desenvolvimento do protótipo (Rogers, Sharp, Preece, 2002). • Os protótipos podem ser desenvolvidos usando tecnologias que em nada se assemelham com as do sistema final (Kotonya, Sommerville 1998).
Interface Humano Máquina

Prototipação - Conceitos
• Os protótipos podem ser elaborados recorrendo a diversas técnicas, materiais e consequentemente, apresentam diversos custos (Rogers, Sharp,Preece 2002). • Podem ser um conjunto de folhas de papel com as interfaces do sistema desenhadas, elaboradas em alguma aplicação de efetuar apresentações, maquetes a 3 dimensões, um pedaço de software, um vídeo em que se simula uma tarefa, entre muitas outras possibilidades. • A prototipação tem sempre como fim permitir aos usuários interagirem com a visão do sistema final.
Interface Humano Máquina

Prototipação - Problemas
• O tempo de desenvolvimento de protótipos está dependente da experiência das pessoas envolvidas. O tempo dos protótipos iniciais pode ser demorado, enquanto se adquire a experiência de como elaborar protótipos de forma rápida e eficiente (Kotonya, Sommerville 1998). • Em algumas circunstâncias o desenvolvimento de protótipos atrasa o desenvolvimento e origina um aumento do custo do sistema final. O sistema obtido com base nos resultados da elaboração dos protótipos é melhor mas poderá não ser recompensador (Kotonya, Sommerville 1998). • Alguns requisitos, como requisitos de “em tempo real” e requisitos não funcionais podem ser difíceis ou mesmo impossíveis de implementar num protótipo (Sommerville, Sawyer 1997) (Kotonya, Sommerville 1998).
Interface Humano Máquina

Prototipação - Implementação
• Desde o inicio do desenvolvimento do protótipo que deve estar bem definido quais são os objetivos a serem atingidos com o desenvolvimento do protótipo. • Os usuários que experimentarem o protótipo devem saber claramente com são os objetivos do protótipo de forma a não haver falsas expectativas e levar a fracasso da experiência.
Interface Humano Máquina

Prototipação - Implementação
• Após termos definido os objetivos, temos de decidir quais os requisitos a implementar no protótipo. • É necessário nesta fase estabelecer um compromisso entre os requisitos a implementar e os que não serão implementados. • Dependendo do tipo de prototipagem adotada, prototipagem de baixa fidelidade ou alta fidelidade, diferentes compromissos serão necessários estabelecer.

Interface Humano Máquina

Prototipação - Implementação
• Após termos definido os objetivos, temos de decidir quais os requisitos a implementar no protótipo. • É necessário nesta fase estabelecer um compromisso entre os requisitos a implementar e os que não serão implementados. • Dependendo do tipo de prototipagem adotada, prototipagem de baixa fidelidade ou alta fidelidade, diferentes compromissos serão necessários estabelecer. • O tempo de desenvolvimento do protótipo é essencial que seja o mais curto possível. O rápido desenvolvimento do protótipo permitirá que os utilizadores experimentem o protótipo na fase inicial do desenvolvimento, minimizando os custos associados as alterações nos requisitos.

Interface Humano Máquina

Protótipos - Classificação
• Protótipos de Baixa Fidelidade: são aqueles que não se assemelham com o produto final (Rogers, Sharp, Preece 2002).
– São úteis para a exploração e testes na fase inicial de desenvolvimento do sistema. – São simples, baratos e de fácil produção e alteração facilitando deste modo a exploração e teste de idéias. – Estes tipos de protótipos nunca são desenvolvidos com o objetivo de serem incorporados no produto final.

Interface Humano Máquina

Protótipos de Baixa Fidelidade:
• Aspectos positivos:
– – – – Custos Reduzidos; Menor tempo de desenvolvimento; Eficiente para recolha de requisitos de interface; Eficiente e facilita múltiplos testes de opções de design.

• Aspectos negativos:
– Reduzida utilidade após a definição do documento de requisitos (ex: na fase de testes do sistema final); – Definição incompleta (ou limitada) do esquema de navegação; – Verificação limitada de erros; – Especificação pobre para codificação; – Utilidade limitada para testes de usabilidade.
Interface Humano Máquina

Protótipos - Classificação
• Protótipos de Alta Fidelidade: Os protótipos de alta fidelidade são aqueles que mais se assemelham com o produto final (Rogers, Sharp, Preece 2002).
– Utilizam as mesmas técnicas e materiais que o sistema final (Rogers, Sharp, Preece 2002). – São os protótipos indicados quando os objetos são a venda do sistema ou o teste de problemas técnicos. – O protótipo ainda deve ter funcionalidades limitadas e os requisitos não funcionais, normalmente, não estão implementados.

Interface Humano Máquina

Protótipos de Alta Fidelidade:
• Aspectos positivos:
– – – – Possuir funcionalidades semelhantes às do sistema final; Permitir a definição completa do esquema de navegação; Permitir elevado grau de interatividade com os utilizadores; Permitir a exploração e testes diversos com um elevado grau de realismo; – O Protótipo é um documento de requisitos; – Facilita a venda da idéia do sistema final;

• Aspectos negativos:
– – – – Custos maiores de desenvolvimento; Elevado tempo de desenvolvimento; Pode aumentar demais as expectativas dos usuários; Não serve para coleta de requisitos, pois os mesmos já estão incluídos no protótipo.
Interface Humano Máquina

Comparando os protótipos
Tipo BaixaFidelidade Vantagens •Custos mais Baixos •Vários conceitos de design •Problemas de layout de tela •Identificar requisitos de mercado •Prova de conceito Desvantagens •Verificação de erros limitada •Especificação de código fraca •Conduzido pelo facilitador •Utilidade limitada depois da fase de requisitos •Pouco útil para testes de usabilidade •Limitações de fluxo e navegacionais •Mais caro para desenvolver •Consome muito tempo na criação •Ineficiente para provas de conceito •Ineficaz para aquisição de requisitos

Alta-fidelidade

•Funcionalidade Completa •Interactivo Completamente •Conduzido pelo usuário •Esquema navegacional •Exploração e Teste •Look “Produto acabado” •Especificação “viva” •Ferramenta de vendas e marketing
Interface Humano Máquina

Tipos de Protótipos
• Protótipos em papel: é desenvolvido um conjunto de interfaces associadas a cenários de utilização que são apresentados aos usuários.
– Este tipo de prototipação é barata e eficiente (Rogers, Sharp, Preece, 2002)(Kotonya, Sommerville 1998). – É mais indicada quando o sistema a desenvolver é software. Não é necessário desenvolver software executável. – Os analistas e usuários percorrem estes cenários, simulando a utilização do sistema, sendo analisado as reações dos utilizadores, a informação requerida e a forma de interação com o sistema. – Este método é muito eficiente para sistemas interativos, sendo considerado como protótipo de baixa fidelidade (Rogers, Sharp, Preece, 2002).

Interface Humano Máquina

Interface Humano Máquina

Interface Humano Máquina

Tipos de Protótipos
• Protótipo “Wizard of Oz”: uma pessoa simula as respostas dos sistemas em resposta as ações dos usuários.
– Este tipo de prototipagem é relativamente barata visto apenas a interface do sistema ter de ser desenvolvida (Kotonya, Sommerville 1998). – Os usuários interagem com o que parece ser o sistema em que as suas ações são analisadas por um pessoa que simula a resposta do sistema. – É particularmente útil quando o sistema a desenvolver tem por base numa interface existente. – Este tipo de protótipo é de baixa fidelidade (Rogers, Sharp, Preece, 2002).

Interface Humano Máquina

Interface Humano Máquina

Tipos de Protótipos
• Protótipo automático: é utilizado linguagens de programação 4GL ou outras linguagens que permitem um rápido desenvolvimento de protótipos executáveis, podendo ser utilizadas IDE´s.
– Este tipo de prototipagem é a mais cara (Kotonya, Sommerville 1998). – Envolve o desenvolvimento de software, recorrendo a linguagens de programação de alto nível, que simule as funcionalidades do sistema. – O problema principal do desenvolvimento de protótipos executáveis é de os usuários não simularem a real utilização do sistema final devido ao fato de muitos dos requisitos não funcionais do sistema não estarem provavelmente implementados em conjunção com falta de treino.

Interface Humano Máquina

Interface Humano Máquina