Artigo do tipo Exemplos Praticos
Recursos especiais neste artigo:
Conteúdo sobre boas práticas
Porque esse artigo é útil
Usabilidade de aplicações é uma etapa importante nos projetos de software, ela é um dos fatores que determinam o sucesso ou fracasso do projeto junto ao usuário. Ter ao menos os conceitos básicos sobre usabilidade em mente é muito importante para todo profissional de TI. Em virtude da importância e complexidade deste tema, é cada vez mais comum o uso de bibliotecas prontas voltadas exclusivamente para a camada de apresentação das aplicações.

Este artigo será útil para relembrar os conceitos básicos sobre Usabilidade de aplicações e também para conhecer uma biblioteca que não é muito comum no Brasil, mas que é muito poderosa, chamada Ext.Net.

Um projeto de software envolve inúmeras questões como o pleno entendimento das regras de negócio, o atendimento dos requisitos, a arquitetura da aplicação, a tecnologia que será empregada, o plano de testes, a elaboração de manuais, e também por um item que em alguns casos passa despercebido, mas que é muito importante para o sucesso de um projeto de software: a Usabilidade da aplicação, que nada mais é do que a interface da aplicação com o usuário do software, também conhecida como IHC (Interface Humano Computador).

Ao desenvolver um software, além de atender todos os requisitos de negócio, também devemos ter como objetivo criar um produto que seja de fácil operação pelo usuário. Para atendermos essa necessidade não precisamos necessariamente criar um padrão a partir do zero, podemos utilizar bibliotecas prontas e adaptarmos estas bibliotecas para as nossas necessidades, gerando assim uma economia de tempo durante esta fase do projeto. Existem diversas bibliotecas voltadas para esse foco principalmente para o desenvolvimento no ambiente web, estas bibliotecas disponibilizam uma série de componentes que nos ajudam na padronização e na garantia usabilidade da interface da aplicação. Além disso, outra vantagem do uso bibliotecas prontas é o fato delas já terem sido testadas em diferentes tipos de navegadores, gerando uma compatibilidade maior do projeto. Pode-se citar como exemplo destes tipos de bibliotecas a jQuery UI, a DOJO e a Ext.Net.

Dentre as bibliotecas citadas, a Ext.Net é a menos conhecida no Brasil, por esta razão ela será o alvo deste artigo. Para apresentar esta biblioteca, serão desenvolvidos alguns exemplos ilustrando a utilização de alguns componentes.

Para que possamos aproveitar ao máximo as facilidades geradas por essas bibliotecas, é necessário termos ao menos um conhecimento básico sobre o conceito de Usabilidade, conceitos estes que também poderão ser vistos neste artigo.

A usabilidade é tão relevante que é citada em diversas normas que regulamentam essa etapa do projeto. Segundo a ISO/IEC 9126, usabilidade é “um conjunto de atributos de software relacionado ao esforço necessário para seu uso e para o julgamento individual de tal uso por determinado conjunto de usuários”, além disso, essa norma define métricas para garantir a usabilidade, sendo elas:

· Inteligibilidade, em que o objetivo é responder a pergunta: é fácil entender os conceitos utilizados?

· Apreensibilidade, ou seja, é fácil aprender a utilizar o software?

· Operacionabilidade, ou seja, é fácil operar e controlar a aplicação?

Outra norma importante é a ISO/IEC 12119, que trata da avaliação de pacotes de software, ela descreve de maneira mais detalhada as características descritas na norma ISO/IEC 9126, tais como:

· Mensagens de erro com informações necessárias para a solução da situação de erro. Em outras palavras, a mensagem precisa ser simples, direta e objetiva para que informe ao usuário sobre o que está acontecendo e como deverá proceder.

· Diferenciação dos tipos de mensagem, ou seja, permita que o usuário consiga distinguir uma mensagem de erro, uma mensagem de aviso, ou uma mensagem de confirmação. Para isso, a melhor maneira é usar imagens ou cores nas mensagens.

· Alertas claros e objetivos para as consequências de uma determinada confirmação a ser realizada pelo usuário. É de fundamental importância que o software interaja com o usuário, mas esta comunicação não pode ser cansativa, precisa ser direta, portanto não crie mensagens com textos enormes, uma vez que a probabilidade do usuário ler a mensagem diminui conforme a quantidade de linhas da mensagem aumenta.

Existem outras normas que também tratam do assunto, como a ISO 9241, que é focada mais no ponto de vista do usuário e define conceitos como eficácia, eficiência e satisfação. Já a ISO 14598 é voltada ao processo de avaliação da qualidade do software.

Mas ao mesmo tempo em que essa etapa é tão importante, nem sempre é dada a ela a devida atenção durante o desenvolvimento do software, inclusive alguns profissionais da área acham essa etapa irrelevante e nem sequer planejam a usabilidade da aplicação. Uma boa estratégia para promover a usabilidade do software é planejá-la em conjunto com o cliente, afinal, será ele que irá utilizar o software, e por mais que o projeto esteja com todas as funcionalidades funcionando adequadamente e com todos os requisitos de negócio atendidos, se a usabilidade não for boa, o usuário não ficará plenamente satisfeito com o aplicativo.

Um bom exemplo da importância dessa fase do projeto são os terminais de atendimento bancário: coloque-se na situação de ter que criar um aplicativo que será usado tanto por pessoas que possuem muito pouco ou nenhum conhecimento com computadores, quanto por pessoas que possuem grande conhecimento. Além disso, esse aplicativo precisa ser intuitivamente simples para que não seja necessário nenhum tipo de treinamento ou manual de operação. É por isso que nestes casos as empresas investem em testes específicos para a usabilidade do software.

Usabilidade do ponto de vista do usuário

Quando desenvolvemos um software, temos que facilitar ao máximo a vida do usuário quando o mesmo estiver operando o sistema. Durante o desenvolvimento temos que direcionar a interface do software, tornando-o intuitivo o suficiente para que, mesmo com pouco ou sem treinamento, o usuário consiga utilizar o aplicativo sem apresentar dificuldades.

Baseado nisso são listadas abaixo algumas situações que precisamos tratar no software para que o mesmo atenda essa necessidade do usuário.

a) Padronização dos botões e componentes da tela: devemos padronizar o posicionamento dos botões e demais componentes da aplicação em todas as telas da aplicação. Do ponto de vista do usuário é muito desagradável ter que clicar no botão Gravar que em algumas telas está no canto inferior esquerdo, e em outras no canto inferior direito.
Precisamos também utilizar sempre o mesmo nome para a mesma funcionalidade, por exemplo: se sua aplicação possui diversas telas, e nessas telas existe um botão que grava uma informação no banco de dados, utilize o mesmo titulo para este botão em todas as telas da aplicação. Evite ter em uma tela um botão com o titulo Gravar e na outra um botão com o titulo Salvar, isso pode confundir o usuário. A mesma regra se aplica aos ícones destes botões. Considerando este mesmo cenário, procure utilizar o mesmo ícone nestes tipos de botões, muitas pessoas associam a funcionalidade de um botão pelo ícone.

b) Dicas de utilização dos componentes da tela: este é um recurso muito interessante e que, quando bem empregado, facilita muito o entendimento do usuário sobre os componentes da tela, normalmente chamado de tooltips. Os tooltips são aqueles textos explicativos que aparecem quando o usuário posiciona o mouse sobre o componente. Mas cuidado, um texto mal redigido ou com dupla interpretação poderá causar um entendimento errôneo por parte do usuário que poderá gerar uma má utilização do software.

c) Mensagens emitidas pelo software: assim como vimos nas normas da ISO, não é recomendado utilizar frases longas e que não sejam claras e objetivas, isso desestimulará a leitura por parte do usuário, pois nem sempre ele terá paciência de ler até o fim. Portanto, se precisar utilizar uma “message box” ou um “alert”, procure utilizar somente quando for realmente necessário, sempre utilize textos curtos, simples e objetivos, e principalmente, que facilite e não dificulte a vida do usuário, por exemplo: em uma tela ou formulário com vários campos, se o usuário esqueceu de preencher o campo senha, o sistema deve emitir um alerta ao usuário do tipo: “O campo senha deve ser preenchido”, e de preferência posicionar o foco neste campo, e não exibir uma mensagem genérica do tipo: “Formulário inconsistente”. Neste tipo de situação, o software além de identificar o problema no preenchimento dos dados, deve também auxiliá-lo no preenchimento correto das informações.
Outro exemplo é a utilização de mensagens de confirmação para as funcionalidades que podem gerar algum tipo de prejuízo ao usuário como, por exemplo, o botão que possui a funcionalidade de exclusão de registros, antes de excluir a informação, é importante que o software questione o usuário se o mesmo tem certeza que deseja realizar tal operação, até porque pode acontecer do usuário ter clicado sem intenção no botão e ...

Quer ler esse conteúdo completo? Tenha acesso completo