Você está na página 1de 17

UNIDADE 1

A EXPERIÊNCIA DOS USUÁRIOS NA WEB

OBJETIVO DA UNIDADE

Nesta unidade o leitor poderá identificar o significado dos sistemas web,

a linguagem que é utilizada em seu desenvolvimento, o software que o usuário

utiliza para acessar um sistema web ou website, quais elementos de hardware

e de software são responsáveis pela disponibilização do conteúdo de um site e

como é feito o processo de acesso à essa informação.

Também será visto os diferentes propósitos de um website, os problemas mais comuns encontrados em sites hoje disponíveis na rede, e como acontece o ciclo de desenvolvimento de um sistema web.

1 – SISTEMAS WEB

Um sistema Web é um termo utilizado para determinar sistemas de informática desenvolvidos e dedicados a um propósito particular e que são também conhecidos como web sites.

Os sites são escritos utilizando a linguagem HTML e acessados utilizando um programa chamado navegador ou web browser, os quais são programas disponíveis nos computadores dos usuários para acesso de sites ou páginas da web, como exemplo: Opera, Internet Explorer, Google Chrome, Safari, Mozilla Firefox, etc.

Os web sites, consistem em páginas HTML estáticas ou páginas dinâmicas. As páginas estáticas se constroem utilizando puramente a linguagem HTML, o que não permite que a página seja disponibilizada com funcionalidades além de links, textos, imagens e no máximo conteúdos multimídia, como video e áudio. Já uma página dinâmica utiliza tecnologias como JSP, PHP ou ASP e pode ser caracterizada por possuir efeitos especiais.

Um site ou uma página para estar disponível à um usuário, requer também de um software conhecido como servidor Web (ex.: Apache ou o IIS), que é responsável por aceitar pedidos HTTP de clientes, através de seus navegadores, e enviá-los respostas HTTP, que são as páginas web. Toda comunicação é baseada no modelo cliente-servidor.

FIGURA 1 – SOLICITAÇÕES DE PÁGINAS WEB

FIGURA 1 – SOLICITAÇÕES DE PÁGINAS WEB Fonte: http://www.dimap.ufrn.br/~jair. Quando um usuário

Fonte: http://www.dimap.ufrn.br/~jair.

Quando um usuário solicita acesso à um site, através de um browser, disponível em seu computador, o processo realizado se incia com a conexão entre o servidor web e o computador do usuário que solicita acesso. Como não é possível determinar a hora exata que este servidor receberá solicitações de acesso, todos os servidores web deverão estar disponível 24 horas por dia. Após a solicitação, o pedido do usuário é processado, e o servidor devolve os dados. Sendo que qualquer tipo de arquivo pode ser disponibilizado pelo servidor e enviado como resultado de um pedido HTTP.

Em linhas gerais, quando é solicitado à um navegador o acesso à uma página web (ex: http://www.ifpa.edu.br/teste), este quebra a URL em três partes: o protocolo (http), o nome do servidor (www.ifpa.edu.br) e o nome do arquivo (teste).

O navegador se comunica com um servidor de nomes, para traduzir o nome do servidor (www.ifpa.edu.br) em um endereço IP, que é usado para se conectar ao

servidor web. Através da porta 80, o navegador forma uma conexão com o servidor web em questão, seguindo as normas do protocolo HTTP. Feita a conexão o navegador solicita o arquivo desejado (teste) e o servidor web envia então o texto HTML da página Web para o navegador.

Como foi visto, e exemplificado na figura abaixo, a interface de usuário é responsável pela visualização e envio de informações do lado cliente, através da utilização do browser, e o núcleo funcional, caracterizado pelo servidor web, é responsável pelo processamento das solicitações do usuário e pela geração dinâmica da interface no lado servidor. Sendo que cliente e servidor mantêm toda a comunicação através da internet.

FIGURA 2 – INTERFACE DE USUÁRIO

através da internet. FIGURA 2 – INTERFACE DE USUÁRIO Fonte: http://www.dimap.ufrn.br/~jair. 1.1 – PROPÓSITO

Fonte: http://www.dimap.ufrn.br/~jair.

1.1 – PROPÓSITO DOS SISTEMAS WEB

Os web sites podem ser desenvolvidos para atenderem vários propósitos, dependendo da empresa ou do indivíduo que o desenvolve, conforme é descrito abaixo:

a) Sites Informativos: Sites de jornais, revistas, blogs e podcasts, são

classificados como informativos, pois são utilizados para veicular notícias de

qualquer punho.

b) Sites Funcionais: São utilizados por empresas que utilizam este veículo

como forma de divulgar seus trabalhos ou manter contato com seus clientes, fornecedores, etc. No caso de lojas, estas podem manter sites comerciais, para venda de produtos ou recrutamento de funcionários. Podem também ser classificados aqui sites de bancos que garantem o acesso às contas e

transações financeiras através do internet banking.

c) Sites de Entretenimento: São os sites que servem para a comunicação

de usuários com outros conectados na rede de computadores, ex: sites de relacionamento, fóruns, chats. Também encontra-se os sites que disponibilizam

informações que divirtam o usuário.

Na imagem a seguir, é ilustrado os diferentes tipos de sites:

FIGURA 3 – PROPÓSITO DOS WEB SITES

FIGURA 3 – PROPÓSITO DOS WEB SITES Fonte: http://www.dimap.ufrn.br/~jair. Os sites se tornaram ao longo dos

Fonte: http://www.dimap.ufrn.br/~jair.

Os sites se tornaram ao longo dos anos instrumentos de publicidade extremamente eficientes. Empresas utilizam este meio como forma de divulgação de suas campanhas, não se restringindo apenas ao radio, televisão, jornal, folhetos, etc. Podendo constituir um empreendimento completo, desde a divulgação de seus serviços, venda de produtos e recrutamento de funcionários.

Entretanto para que esta forma de divulgação aconteça, os sites precisam estar referenciados em buscadores globais, como exemplo: google, para que novos usuários tenham acesso.

Os sites também podem ser classificados quanto à audiência, que pode ser coorporativo ou aberto ao público em geral. Os sites classificados como coorporativos são aqueles que possuem seu público restrito e acesso controlado, ex: geralmente sites disponíveis apenas para funcionários de uma empresa (acessado através de uma VPN ou intranet) ou alunos. Já os sites classificados como aberto ao público em geral, são qualquer site disponível na internet e capaz de ser acessado por qualquer usuário.

1.2 - PROBLEMAS COMUNS NO DESENVOLVIMENTO DE SITES

Conforme

Conrado

Adolpho,

(www.webinsider.uol.com.br):

em

sua

matéria

para

site

da

uol

“Sites que nos impingem execráveis pop-ups, layouts inexplicáveis e apresentações não solicitadas só nos fazem perder tempo e faz com que tenhamos experiências negativas com as marcas que os assinam. Tecnologia muitos sites tem de sobra, porém, há uma absoluta ausência de usabilidade.”

Muitas empresas de sucesso apresentam uma certa deficiência de usabilidade na interface de seus sites, segue abaixo alguns pontos comuns, que podem ser discutidos e nos capítulos seguintes será descrito algumas sugestões para evitar tais erros aqui relatados:

a) Web sites mal definidos e projetados;

b) Necessidade de atualização constante das informações, ou seja, sites

eternamente em construção;

c) Evolução extremamente rápida da tecnologia;

d) Falta de modelos de processo;

e) Planejamento errado e estouro dos prazos e custos;

f) Equipes mal organizadas e sem a competencia adequada;

g) Falta de documentação e dificuldades de implementação e manutenção.

Geralmente estes erros citados acima acontecem devido:

a) Algumas vezes sistemas web são desenvolvidos sem planejamento,

partindo-se diretamente para a implementação;

b) Normalmente não são feitas a definição de objetivos, análise de

requisitos, design, testes e manutenção;

c) E as competências profissionais são muitas e não são encontradas em

um único profissional, mas em um time de profissionais qualificados.

Portanto todo e qualquer sistema web que for desenvolvido precisa ser legível, atrativo, organizado, correto, atualizado, adequado aos usuários, adequado à tecnologia, adequado ao propósito, functional, eficiente, robusto, confiável, bem documentado, testável, portável e reutilizável.

simples

complicado é fácil, tornar o complicado simples é criatividade”.

Charles

Mingnus,

músico

Americano,

disse

certa

vez

“tornar

o

1.3 - PERFIL DE USUÁRIOS E PROFISSIONAIS DA ÁREA DE INTERFACE

Para que qualquer sistema web seja desenvolvido, o responsável pela criação deverá conhecer os diferentes tipos de usuário que poderão utilizar este sistema.

Baseado no conhecimento do usuário, o desenvolvedor, determina que tipo de interface poderá ser utilizada para melhor atender o público alvo.

Conforme Santos (2009), os usuários podem seguir os seguintes perfis:

a) Usuários Novatos ou Aprendizes: Para este tipo de usuário, as

interfaces deverão possui passo-a-Passo, devem ser restrita, e deve possuir informações claras, evitando que usuário desista do acesso ao site por falta de informação;

de

b)

Infrequentes:

Usuários

Casuais

ou

Deve

possuir

interfaces

Instruções claras, como por exemplo o uso de menus;

c) Usuários Frequentes: Deve possuir interfaces com atalhos, permitindo

criar comandos para ações frequentes;

d)

eficiência, rapidez, liberdade e poder;

e) Usuários Portadores de Alguma Deficiência: Para este tipo de usuário,

deve-se possuir uma interface que se adeque à deficiência do usuário, como por exemplo o uso de áudio para usuários com deficiência visual.

flexibilidade,

Usuários

Experientes:

Deve

possuir

interfaces

com

Da mesma forma que há uma variabilidade de usuários de sites da web, há também uma divisão de tarefas entre os profissionais que trabalham na área de interface gráfica, dentre eles:

a)

facilidades visuais para facilitar a troca de informações;

b) Desenvolvedores de hardware: Criam dispositivos que facilitam a

manipulação de sistemas, como dispositivos acionados pela voz, gestos, entre outros;

on-line,

treinamentos a distância e facilitam o aprendizado de novos sistemas.

e

Designer

de

Software:

Desenvolvem

linguagens

de

consulta

c) Desenvolvedores

na

área

educacional:

Criam

tutoriais

1.4 - CICLO DE VIDA DE UM SOFTWARE

Sabe-se que avaliar a qualidade de um produto é essencial, para que tenha-se certeza de que há seriedade neste, mas avaliar a qualidade do processo de produção deste produto é mais importante, porque a partir dessa avaliação pode-se obter um produto melhor.

Em desenvolvimento de software as avaliações tanto de produção, quanto de produto são muito utilizadas. Hoje, há normas que certificam o processo de produção de software e o produto pronto.

Para isso, todo o desenvolvimento de softwares é baseado em fases, que quando dispostas em sequência, obtêm-se o ciclo de vida do sistema.

Portanto o ciclo de vida de um software, conforme Fonseca (2001), é descrito possuindo as seguintes fases:

a) Análise de Requisitos

Esta fase visa identificar o tipo de serviço de processamento de dados a ser executado (manutenção de um software existente ou a criação de um outro), os objetivos a serem alcançados, recursos e prazos necessários para a execução do projeto.

O Resultado é um documento denominado Anteprojeto, contendo o modelo

lógico preliminar do software. A aprovação deste documento pelo usuário torna-se pré-

requisito para a continuidade do trabalho.

b) Projeto Lógico

Nesta fase o objetivo é a especificação detalhada dos elementos do software a nível lógico. Além disso, deve-se tratar da especificação detalhada dos procedimentos externos ao computador, tais como:

Captação das informações;

Preparo e envio para processamento;

Crítica e correções;

Distribuição das saídas.

O produto é um documento denominado Manual do Software - Parte I - Projeto

Lógico, que deverá ser submetido ao usuário para análise e aprovação.

c) Projeto Físico

Tendo como base o Projeto Lógico, o objetivo nesta fase é o de detalhar os elementos do software a nível físico.

O Produto é um documento denominado Manual do Software - Parte II - Projeto

Físico, que conterá a especificação técnica completa do software, visando a sua implementação.

d)

Implementação

 

O

objetivo

desta

fase

é

o

desenvolvimento

e

simulação

do

software

especificado no Projeto Físico.

O resultado são os programas fontes, devidamente testados. Estes, por sua

vez, devem ser entregues ao usuário.

e) Implantação

Tem como objetivo o treinamento do usuário, a conversão/inicialização de arquivos e a implantação do software para produção.

Nesta fase, é elaborado e entregue o Manual do Usuário, assim como o Termo de Encerramento do Desenvolvimento do Software, onde o analista ou empresa desenvolvedora declara que o software, uma vez implantado, está entregue e considerado, aceito: devendo o mesmo entrar no período de garantia.

f) Operação

Nesta Fase são executadas as atividades de produção do software pelo usuário, com acompanhamento inicial da execução das rotinas, avaliação da performance, pequenos ajustes e análise de resultados.

Na imagem abaixo, pode-se observar graficamente as fases do ciclo de vida de um software, citadas acima:

FIGURA 4 – CICLO DE VIDA DE UM SOFTWARE

Análise Requisitos Projeto Lógico Projeto Físico Implementação Implantação Acompanhamento
Análise
Requisitos
Projeto
Lógico
Projeto
Físico
Implementação
Implantação
Acompanhamento

Fonte: www2.dem.inpe.br/ijar/essencial01.doc

Sabe-se que o processo de criação de um software, baseado nas fases citadas, também é conhecido como Engenharia de Software, e este parte de três pressupostos básicos, conforme [Rocha e Baranauskas, 1999]: o resultado do design é um produto, seja ele um artefato, máquina ou sistema; o produto é derivado de especificações fornecidas pelo cliente – em princípio com conhecimento suficiente e poder de computação essa especificação pode ser mecanizada. Finalmente, uma vez que o cliente e o designer concordaram com as especificações, há pouca necessidade de contato entre eles até a entrega do produto.

Alguns modelos podem ser utilizados na criação de um software, o modelo em Cascata visa a descrição das ações a serem tomadas de maneira linear, conforme a imagem abaixo:

FIGURA 5: MODELO EM CASCATA

Fonte: Rocha e Baranauskas, 1999 Este modelo especificado, envolve alguns problemas, como: não há a

Fonte: Rocha e Baranauskas, 1999

Este modelo especificado, envolve alguns problemas, como: não há a possibilidade de expressar os requisitos do usuário antes que algum design tenho sido elaborado. Para isso foi proposto o modelo em Espiral.

FIGURA 6: MODELO EM ESPIRAL

Fonte: Rocha e Baranauskas, 1999 O modelo espiral descreve um fluxo de atividades cíclico e

Fonte: Rocha e Baranauskas, 1999

O modelo espiral descreve um fluxo de atividades cíclico e evolutivo constituído de quatro estágios.

a) No estágio 1 devem ser determinados objetivos, soluções alternativas e restrições.

b) No estágio 2, devem ser analisados os riscos das decisões do estágio anterior. Durante este estágio podem ser construídos protótipos ou realizar-se simulações do software.

c) O estágio 3 consiste nas atividades da fase de desenvolvimento, incluindo design, especificação, codificação e verificação. A principal característica é que a cada especificação que vai surgindo a cada ciclo - especificação de requisitos, do software, da arquitetura, da interface de usuário e dos algoritmos e dados - deve ser feita a verificação apropriadamente.

d) O estágio 4 compreende a revisão das etapas anteriores e o planejamento da próxima fase. Neste planejamento, dependendo dos resultados obtidos nos estágios anteriores - decisões, análise de riscos e verificação, pode-se optar por seguir o desenvolvimento num modelo Cascata (linear). Por exemplo, se já no primeiro ciclo, os requisitos forem completamente especificados e validados pode-se optar por seguir o modelo Cascata. Caso contrário, pode-se optar pela construção de novos protótipos, incrementando-o, avaliando novos riscos e replanejando o processo.

O modelo estrela, é muito conhecido no meio IHC, e é caracterizado por ser flexível. Todas as fases do modelo são similares ao modelo em cascata, a diferença está na avaliação do projeto que é o ponto central, e o início do processo pode acontecer em qualquer uma das atividades mostradas, por exemplo: pode-se começar pela implementação, ou pela prototipagem, ou pela especificação de requisitos, etc.

FIGURA 7: MODELO ESTRELA

especificação de requisitos, etc. FIGURA 7: MODELO ESTRELA Fonte: Rocha e Baranauskas, 1999 Shneiderman (1998) propõe

Fonte: Rocha e Baranauskas, 1999

Shneiderman (1998) propõe um modelo para o projeto de software baseado em três itens: No início do processo o designer deve requerer um conjunto de guidelines (princípios e regras de design); ferramentas para prototipagem, exemplo: Java, Borland Delphi, Visual Basic, etc; e os testes de usabilidade, o qual é feito por especialistas e/ou usuários do sistema.

FIGURA 8: MODELO DE SHNEIDERMAN

Fonte: Rocha e Baranauskas, 1999 Sendo assim, como pode ser visto na imagem acima, a

Fonte: Rocha e Baranauskas, 1999

Sendo assim, como pode ser visto na imagem acima, a interface de um software deve ser construída baseada nos três pilares descritos: guidelines, ferramentas de software e por fim os testes de usabilidade. O modelo a ser escolhido será influenciado pelo tipo do sistema a ser desenvolvido, o tamanho, a complexidade e o propósito, também deve ser considerado se o sistema a ser desenvolvido é novo ou será feita um adaptação a um já existente.

Mas para um sistema se tornar usual, não basta este seguir os modelos citados nesta unidade, deve haver uma preocupação com a usabilidade desde a fase inicial do projeto.

Por este motivo, podemos dividir a engenharia de usabilidade em três fases:

Pré-design, design incial/design interativo e pós-design, como pode ser visto na imagem 9.

FIGURA 9: MODELO DA ENGENHARIA DE USABILIADE

FIGURA 9: MODELO DA ENGENHARIA DE USABILIADE Fonte: Rocha e Baranauskas, 1999 O primeiro estágio, chamado

Fonte: Rocha e Baranauskas, 1999

O primeiro estágio, chamado de pré-design é responsável por conhecer os usuários e definir o que eles estão fazendo com o sistema, baseado nessas respostas é que o sistema deve ser organizado. Também nesta fase é feita uma análise comparativa de produtos similares, além de metas de usabilidade (esclarecidas na unidade II) também devem ser estabelecidas.

No segundo e no terceiro estágio, conforme [Rocha e Baranauskas, 1999]: é recomendado o uso de métodos participativos, uma vez que, embora os usuários não sejam designers, são muito bons em reagir a design que não os agrada ou não funciona na prática. É recomendado, ainda, o uso de guidelines gerais – aplicáveis a qualquer interface, guidelines de categoria específica aplicáveis à classe de sistema sendo desenvolvido e guidelines específicas para o produto. A fase do desenvolvimento iterativo é baseada na prototipagem e testes empíricos a cada iteração do ciclo de desenvolvimento. Avaliação qualitativa é aplicada ao sistema em processo de design para verificação dos aspectos da interface que funcionam e principalmente dos que causam problemas. Em interfaces quase terminadas são feitas medições quantitativas para checagem das metas.

No último estágio, que compreende o pós-design, é conhecido por conduzir um estudo sobre como o uso do novo produto impactou na vida do usuário, baseado nessas informações, dados podem ser coletados para uma construção de um novo produto ou uma re-formulação do já em uso.

1.5 - HARDWARE E SOFTWARE DE UM WEB SITE

Durante o processo do ciclo de vida de um software/web site, deve-se observar as características do hardware no lado cliente, do meio de comunicação e do hardware no lado servidor, onde será armazenado o site para acesso.

Todo desenvolvimento do site deve ser planejado baseado no hardware disponibilizado pelos seus clientes. Como por exempo: CPU, memória, monitor, disco, adaptador de rede, sistema operacional, browser e plug-ins.

Portanto ao se desenvolver um sistema web, deve-se observar o seu público alvo, e analisar itens como o tamanho do monitor no qual será exibido o conteúdo, sua resolução, número de cores, tipo do monitor, como também a velocidade da placa de video, do disco, dos barramentos, e principalmente tamanho de memória principal disponível e velocidade de processamento. O mesmo é demonstrado na imagem abaixo:

FIGURA 10 – REQUISITOS MÍNIMOS DO CLIENTE

imagem abaixo: FIGURA 10 – REQUISITOS MÍNIMOS DO CLIENTE Fonte: http://www.dimap.ufrn.br/~jair. Para o lado cliente,

Fonte: http://www.dimap.ufrn.br/~jair.

Para o lado cliente, algumas diretrizes devem ser aplicadas, como:

a) Teste da interface do site em diferentes plataformas;

b) Teste dos estilos e scripts;

c) Verificação da legibilidade das cores em diferentes tecnologias de

monitores;

d) Verificação do tempo médio de carregamento das páginas na

plataforma escolhida pelo usuário;

Além de preocupações com o hardware que seu cliente estará usando, deve ser feito um planejamento quanto ao meio de comunicação entre o lado cliente e o lado servidor, que usualmente é a Internet: como se configura a rede física e quais protocolos são utilizados. Algumas diretrizes também são aplicadas em preocupação com a conexão entre os dois lados:

a) A rede tem um impacto muito forte na utilização dos sites?

b) Variáveis que afetam a velocidade da rede devem ser analisadas,

como: Largura de banda, Latência, Utilização da rede, Regra do link mais

fraco.

c)

Comutação de pacotes;

d)

Roteamento;

e)

Protocolo TCP/IP – Tempo de transmissão imprevisível, Início lento,

possível rapidez posterior;

f) Protocolo HTTP – Falta de suporte a proxies e caches na versão 1.0;

g) Endereçamento – URIs, DNS (Domain Name Service)

Após o planejamento para o lado cliente e seu meio de comunicação, deve-se observar quais equipamentos e programas deverão estar disponíveis no lado servidor. Para isso deve haver um planejamento quanto à Cpu, memoria ram, disco, adaptador de rede, sistema operacional, servidor http, middleware, banco de dados. Requisitos estes que estão detalhados abaixo:

a) Velocidade de CPU, do disco (capacidade de armazenamento), do

barramento são importantíssimos, e memória RAM, pois os números de acesso requer maior desempenho do servidor;

PARA SABER MAIS

Para saber mais sobre o que foi abordado na unidade I, ler sobre Comutação de dados, roteamento, protocolo TCP/IP, serviços oferecidos pela camada aplicação e análise de sistemas.

REFLEXÕES SOBRE A APRENDIZAGEM

Não são todos os web sites que passam por todo o processo de desenvolvimento descrito nesta unidade, o que não torna esse procedimento menos importante.

Sempre que possível, se faz necessário o planejamento de qualquer sistema, dentro das técnicas citadas de engenharia de software, assim o produto evita alguns problemas de desenvolvimento vistos em muitos sites.

RESUMO DA UNIDADE

Pode-se observar nesta unidade, o conceito de um sistema web, o objetivo de sua utilização, que podem ser para informar ou para o entretenimento. Os diferentes tipos de usuário de web sites e sistemas web, que são desde usuários experientes até usuários portadores de alguma deficiência. Observou-se também a importancia de um planejamento de um software antes de seu desenvolvimento, que é o ciclo de vida de um software. E por fim conheceu-se quais os requisitos mínimos de software e hardware tanto do lado cliente, quanto do lado servidor.

SUGESTÕES DE LEITURA

Segue abaixo algumas sugestões de leitura:

ANA PAULA OLIVEIRA DOS SANTOS. Resiliência em Sistemas Web. –

Disponível em:

Universidade

de

São

Paulo

USP.

2009.

www.ime.usp.br/~ana/Monografias/Resiliencia.pdf.

RHYCARDO L. MONTEIRO. Ciclo de Vida de um Software. 2007. Disponível em:

http://www2.unemat.br/rhycardo/download/ciclo_de_vida.pdf