• Nenhum resultado encontrado

Capítulo 3 – Usabilidade em Aplicações Web

3.1 Aplicações Web: conceito, atributos e categorias

3.1 Aplicações Web: conceito, atributos e categorias

Nos primeiros anos da World Wide Web (entre 1990 e 1995), os sites consistiam basicamente em um conjunto de páginas interligadas, que possibilitavam exibir informações textuais e alguns recursos gráficos de forma limitada. Com o passar do tempo e evolução das linguagens, ferramentas e tecnologias de desenvolvimento de software, foi possível agregar mais capacidade e diversidade de recursos computacionais aos sites, possibilitando o desenvolvimento de sistemas e aplicações baseadas na Web, também denominadas de Webapps (PRESSMAN, 2011).

Na última década, as aplicações Web evoluíram de tal maneira que passaram a fornecer, em um período de tempo cada vez menor, um conjunto diversificado de recursos e serviços, que vai desde funções de caráter mais geral como portais de notícias até funções especializadas como aplicações corporativas (SOMMERVILLE, 2007). Mais do que apoiar atividades, as aplicações Web estão colaborando para mudar a forma como as pessoas e organizações realizam compras (comércio eletrônico), buscam e fornecem informações (portais de notícias e governo eletrônico), comunicam-se (email e chats), emitem opiniões (blogs e redes sociais) e estudam (educação à distância) (PRESSMAN; LOWE, 2009).

O termo aplicação Web é definido por Kappel et al. (2006) como um sistema de software baseado em tecnologias e padrões do World Wide Web Consortium (W3C) que fornece recursos específicos da Web tais como conteúdo e serviços, por meio de uma interface de usuário denominada browser Web. Segundo Pressman (2011), as aplicações Web correspondem a uma das diferentes categorias de software listadas a seguir: software de sistema, software de aplicação, software científico/de engenharia, software embarcado, software para linha de produto, aplicações Web e software de inteligência artificial.

50 Na sua forma mais simples, as aplicações Web aparecem como pequenos sites que disponibilizam algumas páginas predominantemente informativas. Em outros casos, configuram-se como sofisticados ambientes de computação que integram muitos recursos computacionais e bancos de dados dispersos geograficamente (SOMMERVILLE, 2007). As aplicações Web reúnem atributos que vão além das características básicas de um software. Esses atributos são apresentados a seguir (PRESSMAN, 2011):

 Uso intensivo de redes: a rede, além fornecer a infraestrutura logística da aplicação Web, permite o acesso e comunicação dos usuários através de diversos meios (Internet, Extranet ou Intranet);

 Simultaneidade: uma grande quantidade de usuários pode utilizar uma aplicação Web em um determinado momento;

 Carga não previsível: a quantidade de usuários que acessa uma aplicação Web varia no decorrer do tempo. Em um dado momento, uma centena de usuários pode utilizar; em outro, algumas dezenas de milhares;

 Desempenho: as aplicações Web devem garantir um desempenho satisfatório. Caso contrário, os usuários poderão deixar de utilizar a aplicação com baixo desempenho;

 Disponibilidade: usuários de grandes aplicações populares da Web, por exemplo, contam em ter acesso a sites e aplicações 24 horas por dia, 7 dias por semana e 365 dias por ano (também conhecido por 24x7x365);

 Orientada a dados: aplicações Web têm como mídias principais texto, imagens, gráficos, áudio, vídeo e informações de bancos de dados;

 Sensibilidade no conteúdo: a qualidade e a natureza estética (de apresentação) do conteúdo são fatores relevantes para determinar o sucesso ou fracasso de uma aplicação Web;

 Evolução contínua: contrastando com os softwares convencionais (software de prateleira, por exemplo) que evoluem de forma planejada através de uma série de versões no decorrer dos anos, as aplicações Web evoluem rápida e constantemente;

 Imediatismo: a necessidade de colocar rapidamente no mercado um software é ainda maior quando se trata de aplicações Web. Estas podem, dependendo do contexto de negócio, ser disponibilizadas em semanas ou dias;

51  Segurança: devido ao fato de estarem disponíveis através da Internet, na maioria das vezes, as aplicações Web (o que inclui a infraestrutura que as suporta) precisam ser projetadas e desenvolvidas sob fortes mecanismos de segurança;

 Estética: a aparência (forma de apresentação) de uma aplicação Web é parte tão importante quanto o projeto técnico quando, por exemplo, uma aplicação é voltada para o mercado de vendas de produtos e serviços.

Além desses atributos, as aplicações Web podem reunir características que as enquadram em diversas categorias (PRESSMAN; LOWE, 2009). Tais categorias são apresentadas no quadro 3.1.

Quadro 3.1 – Categorias de Aplicações Web.

Categoria Descrição

Informativa Quando apresenta conteúdo somente de leitura, com navegação e links simples. De Baixa (download) Quando incorpora a capacidade informativa e de download de conteúdos. Personalizável Quando o conteúdo disponibilizado é adaptado às necessidades específicas dos usuários. Interação Quando componentes de interação são fornecidos como meio de comunicação entre os usuários. Entrada de Usuário Quando mecanismos de coleta de dados como, por exemplo, formulários são disponibilizados para os usuários. Orientada a Transação Quando respostas automáticas para as entradas de dados dos usuários são fornecidas (a exemplo de uma transação).

Orientada a Serviço Quando uma capacidade mais abrangente de assistência é apresentada. Portais Quando a aplicação Web recebe milhares de visitantes por dia e passa a dispor de uma grande variedade de fontes de informações. Acesso a Banco de Dados Quando bancos de dados são consultados para responder as entradas de dados fornecidas pelos usuários. Armazém de Dados Quando um componente de armazém de dados de grande escala é construído para armazenar e extrair informações.

52 Além dos atributos e categorias apresentados, é importante acrescentar que três aspectos estão incorporados na maioria dos projetos de desenvolvimento de aplicações Web (PRESSMAN; LOWE, 2009), a saber:

 Os requisitos evoluem com o tempo: quando se inicia um projeto de aplicação Web, é normal existir incertezas sobre certos elementos da estratégia de negócios, do conteúdo, da funcionalidade, questões de interoperabilidade, entre outros aspectos do problema;

 As mudanças ocorrem com frequência: sabendo-se que a incerteza se faz presente na maior parte dos projetos de aplicações Web, as mudanças nos requisitos, como consequência, tornam-se comuns. Ademais, o feedback do usuário obtido através de avaliações de incrementos já entregues e alterações na lógica de negócio também podem suscitar mudanças;

 As linhas de tempo são curtas: esse aspecto contribui para aliviar a criação de documentação em grande volume. No entanto, isso não impede que a análise do problema, o projeto e os testes sejam documentados de alguma forma.

Diante dessa realidade, as aplicações Web normalmente são construídas e entregues de forma incremental, isto é, ao longo de sucessivos ciclos de atividades. Em cada um desses ciclos são desenvolvidos incrementos10 da aplicação. O arcabouço de processo WebE discutido na próxima seção é um exemplo de modelo de processo para a Engenharia Web que utiliza essa estratégia.

Documentos relacionados