Engenharia de Software Interface HomemComputador Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Interface com o Usuário • Os usuários costumam julgar os sistemas pela sua interface, ao invés de julgá-los pela sua funcionalidade • Uma interface mal projetada pode fazer um usuário cometer erros catastróficos • Um projeto de interface ruim é a razão porque muitos softwares não são nunca usados Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Evolução da Interface com Usuário • 50s – Interfaces são painel de controles do hardware – usuário são engenheiros • 60-70s – Interfaces são programas em linguagens como COBOL, FORTRAN • 70-90s – Interfaces são comando num interpretador de comandos (shell) • 80s – Interfaces gráficas com aplicativos • 90s – Interfaces multimídia e interfaces baseadas na Web (browser-based software) • 00s - Interface tornam-se ubíqua – estão em todo lugar e em dispositivos móveis. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Interfaces Gráficas • A maioria dos sistemas, hoje em dia, apresenta uma interface gráfica (GUI – Graphic User Interface) • Alguns sistemas legados ainda apresentam interface baseada em texto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Interface Gráfica - Vantagens • São fáceis de aprender • O usuário pode passar facilmente de uma tarefa para outra e pode interagir com diferentes aplicações – A informação permanece visível na sua própria janela quando o usuário muda o foco • Permite interação rápida, usando toda a tela Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Projeto Centrado no Usuário • Processo de Projeto de Interface Analyse and understand user activities Produce paperbased design prototype Design prototype Evaluate design with end-users Produce dynamic design prototype Executable prototype Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Evaluate design with end-users Implement final user interface Princípios do projeto de interface • Os projetistas de interface devem levar em conta as necessidades, experiência e capacidade dos usuários • Os projetistas devem estar atentos às limitações físicas e mentais dos usuários e reconhecer que pessoas cometem erros • Princípios de projeto de interface são aplicáveis, apesar de nem todos os princípios serem aplicáveis a todos os projetos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Princípios do projeto de interface • Familiaridade – A interface deveser baseada em termos e conceitos familiares ao usuário. Exemplo: documentos e pastas ao invés de arquivos e diretórios • Consistência – Comandos, menus, ícones, janelas etc devem obedecer a um formato, a um padrão • Surpresa mínima – Se um comando funciona de uma certa forma, o usuário deveser capaz de predizer o comportamento de um comando relacionado Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Princípios do projeto de interface • Recuperabilidade – O sistema deve prover formas de o usuário desfazer erros • Guias – Ex: help, manual on-line, mensagens de alerta • Diversidade de usuários – O sistema deve se adequar às necessidades dos diversos tipos de usuário Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Formas de interação • • • • • Manipulação direta Menus Formulários Linguagem de comando Linguagem natural Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Manipulação direta • Vantagens – Interação rápida e intuitiva – Fácil de aprender • Desvantagens – Pode ser difícil de implementar – Precisa de metáforas visuais para tarefas e objetos • Exemplos – Video games, softwares CAD Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Menus • Vantagens – Evitam erros do usuário – Pouca digitação • Desvantagens – Interação lenta para usuários experientes – Pode se tornar complexa se existirem muitas opções • Exemplos – Sistemas touch-screen Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Formulários • Vantagens – Entrada de dados simples – Fácil de aprender • Desvantagens – Precisa de muito espaço na tela • Exemplos – Cadastro em sites Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Linguagem de comando • Vantagens – Poderoso e flexível • Desvantagens – Difícil de aprender – Gerenciamento deerros deficiente • Exemplos – Sistemas operacionais (no Windows,: IniciarExecutar) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Linguagem natural • Vantagens – Acessível a usuários casuais – Fácil de estender • Desvantagens – Precisa de mais digitação – Sistemas de entendimento de linguagens naturais são pouco confiáveis • Exemplos – Sistemas de busca na web Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Apresentação das informações • Informações estáticas e dinâmicas • Gráficos, figuras, textos, textos destacados, cores... • Dicas para uso de cores: – – – – – – Não use muitas cores Use o esquema de cores para suportar ações Permita que os usuários definam o esquema de cores Projete para monocromático e depois adicione as cores Tenha consistência no uso de cores Evite combinações confusas de cores (ex: cores muito parecidas) – Use a mudança de cor para mostrar mudança de status – Fique atento à possibilidade de a resolução ser baixa Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Suporte ao usuário • Help on-line, mensagens de erro e de alerta, documentação • Mensagens devem ser polidas, concisas, consistentes e construtivas • Sistemas de ajuda devem prover informações, ajudar o usuário a usar o sistema e indicar o que fazer para solucionar problemas • A documentação do sistema deve ser feita considerando as diferentes necessidades e os diferentes tipos de usuário Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Usabilidade • Qualidade do sistema que avalia – – – – – – utilidade para o usuário facilidade de aprendizado facilidade de uso produtividade do usuário satisfação do usuário flexibilidade na utilização Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho