You are on page 1of 10

Engenharia de Software para WEB

Daniela de Ftima Turquette


1
1
Cincia da Computao Universidade Presidente Antnio Carlos (UNIPAC)
Barbacena MG Brasil
daniturquette@yahoo.com.br
Resumo. O desenvolvimento e avaliao de Software tradicional
normalmente no so adequados ao desenvolvimento de aplicativos na WEB.
Esses sistemas devem ser desenvolvidos com enfoque forte no usurio e ter um
ciclo de vida rpido e uma grande preocupao com acessibilidade. Este
artigo descreve a importncia da Engenharia de Software para obter sistemas
bem projetados e implementados. Apresentando as vantagens que motivam a
sua utilizao, suas caractersticas, as principais diferenas entre a
Engenharia de Software Tradicional e a Engenharia de Software voltada para
desenvolvimento de WEB e um estudo de caso do site das Lojas Americanas
para exemplificar o uso da Engenharia de Software e os benefcios trazidos
por ela em aplicaes WEB.
1. Introduo
O surgimento de novas tecnologias e meios de multimdias fez com que um novo meio
de comunicao ganhasse espao no mercado, a internet. Antes do seu advento, os
meios de comunicao existentes (revistas, livros, TV, rdio) para repassar a
informao, permitiam controlar mais facilmente o contedo do que era produzido. A
internet se expandiu rapidamente e a WEB se tornou o principal veculo para prestao
de servios computacionais, atingindo um nmero cada vez maior e diversificado de
usurios.
possvel realizar quase tudo atravs desse mundo virtual: compras, pesquisas,
cursos distncia, programao de viagens, transaes bancrias alm de economia de
correio e burocracia. Com isso as organizaes comerciais esto explorando as
potencialidades da WWW para se apresentarem ao pblico e, ao mesmo tempo, vender
seus produtos e servios com rapidez e ampliar o seu universo de consumidores, que
esto se tornando cada vez mais exigentes, e escolhendo entre os sites visitados aqueles
que melhor resolvam seus problemas.
Para garantir a qualidade e a satisfao dos usurios, facilitar a manuteno e o
desenvolvimento necessrio a utilizao da Engenharia de Software especial que
atenda as caractersticas especficas da WEB; j que a Engenharia Tradicional no
atende totalmente aos requisitos dessas aplicaes.
A tendncia do mercado est voltada para o desenvolvimento para WEB,
portanto os profissionais que no utilizarem as metodologias da Engenharia de Software
para WEB, que ainda uma cincia em evoluo, no conseguiro produzir Software
com qualidade e por esta razo estaro fora do mercado.
Este artigo tem por objetivo apresentar a Engenharia de Software para o
desenvolvimento de aplicativos WEB, demonstrando as suas caractersticas e as
principais diferenas entre a mesma e a Engenharia de Software Tradicional, bem com
exemplificar suas vantagens e benefcios atravs do estudo de caso do site das Lojas
Americanas.
O presente artigo est organizado em oito sees, dispostas conforme a seguinte
estruturao:
A primeira seo apresenta a introduo, onde h uma descrio geral do assunto
abordado. A segunda seo realizada uma breve introduo sobre a Engenharia de
Software Tradicional e Engenharia para WEB. Na terceira seo so apresentadas
as caractersticas e principais diferenas entre as duas Engenharias de Software. A
quarta seo aborda os conceitos de Engenharia de Software para WEB, assim como os
aspectos que devem ser considerados para desenvolvimento de uma aplicao WEB e os
requisitos de qualidade indispensveis para o sucesso destes aplicativos. Na quinta
seo feito o estudo de caso do site das Lojas Americanas, por tratar-se de uma loja
virtual que j recebeu vrios prmios e apresentar os critrios de alta qualidade
necessrios a qualquer aplicao WEB.A sexta seo composta pelo Modelo de
Processo para aplicaes WEB, apresentando as fases para sua criao e a importncia
de seu desenvolvimento de maneira adequada. Na stima seo so feitas as
consideraes finais e na oitava seo esto as referncias bibliogrficas e leituras
complementares utilizadas para o desenvolvimento deste artigo.
2. Engenharia de Software Tradicional e Engenharia para WEB
Tanto a Engenharia de Software tradicional quanto a Engenharia de Software para a
WEB preocupam-se em facilitar o desenvolvimento e manuteno de produtos de
Software complexos, aplicando para isso mtodos, tcnicas, ferramentas case, e modelos
especficos. Todas essas metas e tcnicas utilizadas visam gerenciar a qualidade de
produo, prazos e pessoas envolvidas no projeto. Mesmo que as duas engenharias
tenham o mesmo objetivo e que a Engenharia de Software para o desenvolvimento de
WEB utilize alguns princpios da Engenharia Tradicional, no possvel utilizar as
mesmas tcnicas da Engenharia de Software Tradicional na Engenharia de Software
para o desenvolvimento de aplicativos para WEB.
O desenvolvimento e avaliao de Software tradicional normalmente no so
totalmente adequados o desenvolvimento de aplicativos na WEB. Esses sistemas devem
ser desenvolvidos com enfoque forte no usurio, ter um ciclo de vida rpido e uma
grande preocupao com a acessibilidade.
3. Diferenas entre Engenharia de Software Tradicional e Engenharia de
Software para Desenvolvimento WEB.
3.1 Ciclo de vida do produto desenvolvido
Uma das principais diferenas entre as duas Engenharias o ciclo de vida do produto a
ser desenvolvido. A evoluo do Software tradicional muitas vezes menor que a
evoluo de um aplicativo para WEB, devido as tecnologias e informaes estarem em
constante evoluo. O que influi realmente no ciclo de vida de uma aplicao para WEB
seu desenvolvimento ser uma mistura de arte e programao, entre marketing e
computao, entre relaes internas e externas alm da multidisciplinaridade envolvida:
vrias pessoas com diferentes conhecimentos necessitam trabalhar juntas (designers,
Webmasters, programadores, publicitrios etc) fazendo com que o seu desenvolvimento
se torne um desafio.
3.2 Pblico alvo
Uma aplicao convencional possui um pblico muitas vezes definido de usurios, que
pode ser controlado, enquanto que no desenvolvimento para WEB alm de
diversificado, o nmero de usurios pode ser muito maior, s vezes sendo impossvel
saber exatamente o perfil de todos os usurios que iro interagir com o sistema a ser
construdo.
3.3 Tecnologias Utilizadas
As tecnologias utilizadas na produo de Software tradicional aplicando tcnicas de
engenharia de Software so mais estveis, isto decorre do fato que o desenvolvimento
deste tipo de Software ocorre a muito mais tempo, alm disso, existem excelentes
ferramentas disponveis para anlise, projeto, implementao e testes. J no
desenvolvimento de WEB as tecnologias esto em constante evoluo, embora existam
diversas ferramentas ao nvel de implementao, existem poucas para anlise, projetos e
outras atividades para o desenvolvimento.
4. Engenharia para WEB
A Engenharia de Software deve ser utilizada para WEB para garantir o desenvolvimento
de Aplicaes com alta qualidade e grande eficincia. Os aplicativos que adotam os
princpios da Engenharia apresentam diversas vantagens como: facilidade de criao e
comunicao entre as equipes multidisciplinares; garantia de acompanhamento das
evolues tecnolgicas e cumprimento de prazos; documentao de todas as fases do
projeto de modo a facilitar a manuteno; diminuio de custos de criao e
manuteno; e principalmente proporcionam ao usurio uma navegao agradvel,
intuitiva e organizada.
Pela sua prpria natureza, os aplicativos WEB so implementados em uma rede
de computadores; so caracterizados tambm por uma evoluo contnua, atualizaes
freqentes e modificaes em tempo real. Existem diversas maneiras para apresentao
da informao ao usurio dependendo da necessidade de conduz-lo a um caminho
especfico ou deix-lo traar seus prprios caminhos.
4.1.Aspectos a serem considerados para o desenvolvimento de aplicaes WEB
Segundo Pressman (2002, p.754) alguns cuidados devem ser tomados pelo
desenvolvedor em uma aplicao:
Imediatismo: os aplicativos para WEB so acessados por vrios usurios ao
mesmo tempo. Com isso o trfego de informao aumenta e isso gera sobrecarga na
aplicao. O desenvolvedor deve se preocupar em criar uma aplicao que gere
resultados rpidos;
Segurana: existe uma dificuldade de limitar ou controlar o nmero de usurios
que iro acessar um aplicativo WEB, pois est disponvel via rede. Para proteger o seu
contedo necessrio implementar medidas rgidas de segurana no aplicativo, na
transmisso dos seus dados e na sua infra-estrutura. Uma medida de segurana seria
definir permisses impedindo assim que pessoas no autorizadas acessem determinadas
funes e dados da aplicao. Outra medida a utilizao da criptografia de dados no
caso de operaes de compra, movimentao financeira, leiles, etc;
Esttica: a esttica de uma aplicao to importante quanto o seu projeto. O
usurio deseja que a informao seja apresentada da forma mais agradvel e confortvel
possvel. Uma aplicao sem esttica tende a perder o acesso de seus usurios no caso
de outras aplicaes semelhantes e que apresentarem uma esttica melhor.
4.2 Avaliao da qualidade de uma Aplicao WEB.
Os usurios da Internet possuem pontos de vista diferentes sobre o que constitui uma
boa aplicao. Muitos apreciam grficos atraentes, enquanto outros textos simples, boa
navegao, muita informao, ou ainda informaes resumidas. Mas quando se fala em
alta qualidade, as seguintes caractersticas definidas por Olsina (1999) e detalhadas por
ROCHA (2001) so indispensveis por qualquer usurio:
Usabilidade: entendimento geral do site, feedback e help on-line, facilidade de
localizao das informaes, ausncia de erros na navegao, disponibilidade de
atalhos.
Funcionabilidade: recursos de busca e recuperao, caractersticas de navegao e
navegador e caractersticas relacionadas ao domnio da aplicao.
Confiabilidade: processar corretamente todos os links, recuperar erros, validar,
recuperar dados de entrada do usurio, tolerncia falhas, segurana.
Eficincia: ser eficiente no tempo de resposta, rapidez na gerao de pginas e de
grficos.
Manutenibilidade: ter facilidade na correo, adaptao e extensibilidade.
5. Estudo de Caso Lojas Americanas
As lojas virtuais desempenham um papel estratgico para qualquer negcio na Internet.
Atravs delas que o visitante ser apresentado aos produtos e, se interessado, ir se
sentir motivado para realizar a compra. Neste momento a qualidade da loja virtual em
transmitir informaes precisas, sua confiabilidade, segurana e facilidade de navegao
so fatores decisivos.
Para exemplificar o uso da Engenharia de Software, bem como suas
caractersticas e importncia em aplicaes WEB, ser utilizada a loja virtual
AMERICANAS.COM, por j ter recebido os seguintes prmios:
IBest Categoria B2C (Business to Consumer): Melhor site de comrcio
eletrnico do Brasil em 2005 / 2004 / 2003 / 2002 / 2001 pelo jri popular.
iBest 2001 - Prmio Revelao: Site revelao de 2000 pelo jri oficial.
Info Exame 2000 - Loja on-line: Melhor loja on-line do Brasil em 2000.
Info Exame 2000 - Site do ano: Melhor site do Brasil em 2000.
Prmio Summit de Varejo 2002: Case "Brazils Premmiere e-commerce
company".
Folha iBrands 2001: Loja de Departamento mais lembrada pelo internauta
brasileiro.
O site foi avaliado segundo os seguintes critrios de alta qualidade
indispensveis a qualquer aplicao para WEB:
5.1 Usabilidade
Trata-se de um site comercial, uma loja virtual com objetivo de apresentar seus
produtos da maneira mais simples possvel, possibilitando a todos os tipos de usurios
uma navegao fcil e rpida.
Os produtos so divididos por categoria de modo que no haja dificuldade para
encontr-los. Cada categoria ainda subdivida com a inteno de fornecer varias opes
ao usurio de como localizar as informaes desejadas. Exemplo de uma compra: A
Categoria CD subdividida em artista e gnero musical; na maioria das vezes apenas
uma dessas duas opes de busca conhecida pelo usurio, no caso da busca por artista,
os nomes so apresentados em ordem alfabtica, ao selecionar um artista traz a listas de
todos os seus CDs por ordem de lanamento, permitindo assim ao usurio encontrar
mais facilmente o CD procurado.
O site dispe de atalhos em todas as pginas, atravs dos mecanismos de apoio a
navegao: menus, saltos arbitrrios etc; apresenta tambm um servio de atendimento
ao cliente, que possui perguntas separadas por assunto tanto sobre como utilizar o site
quanto como realizar uma compra e localizar um produto alm de help on-line.
5.2 Funcionalidade
Diversas funcionalidades so oferecidas pelo site, entre elas est a disponibilidade de
recursos de busca, atravs do mecanismo de Pesquisa presente em todas as categorias do
site. Possui tambm um sistema de identificao que agiliza o processo de compras, este
sistema armazena apenas os dados cadastrais (nome, sexo, telefone, e-mail). Assim alm
de facilitar as compras futuras cria de acordo com o perfil do usurio, ofertas especiais,
um atendimento personalizado na prxima compra, onde o cliente ser recebido
nominalmente com uma saudao especial, e estabelece um vnculo com este cliente
enviando constantemente e-mail contento ofertas especiais e informaes sobre a loja.
Outras funcionalidades so os servios Avise-me e Histrico de Pedidos, o
primeiro utilizado para informar ao cliente quando um produto j est disponvel em
estoque, j o segundo permite acompanhar o processamento do pedido desde aprovao
do pagamento at a entrega transportadora. No caso de alteraes neste
processamento, o sistema envia automaticamente e-mail de alerta ao cliente, os pedidos
tambm so confirmados via e-mail.
O site apresenta tambm espao para contato em caso de dvidas e sugestes.
5.3 Confiabilidade
Foi observado no site o processamento correto de todos os links, e a presena de
mecanismos de validao (dados cadastrais, CPF) e mecanismos de tratamento de erro
(mensagem acusando que o CPF no vlido ou alerta sobre quantos caracteres deve
possuir a senha).
5.4 Segurana
O aplicativo possui foco na segurana e est entre os principais sites do Brasil que
criaram o programa Internet Segura, ele oferece uma srie de garantias de privacidade e
segurana dos dados pessoais. Os dados pessoais so criptografados e as informaes
so codificadas antes de serem transmitidas. Em hiptese alguma o nmero do carto e
outras informaes relativas ao pagamento so armazenadas aps processar a compra,
ocorrre a destruio destes dados e a compra est sujeita a confirmao atravs de
telefone e e-mail.
A segurana do site certificada pela Verisign: a maior autoridade de segurana
na Internet; o que garante que todo cliente pode fornecer tranqilamente seus dados no
processo de compra.
O site afirma tambm que no comercializa informaes pessoais de seus
clientes, mas agrupam estas informaes segundo determinados critrios objetivando
um melhor atendimento conforme o perfil do usurio.
Todas as mudanas na poltica de privacidade so publicadas no site.
5.5 Eficincia
Em diversas mquinas com diferentes configuraes de browsers, sistemas
operacionais, o site carregou rapidamente sem causar espera ao usurio, o que tambm
contribui para isso o fato da interface apresentar poucas faixas de propaganda e o
mnimo de animao.
Sempre que um usurio realiza um evento o aplicativo gera uma resposta, os
desenvolvedores se preocuparam em tratar erros e enviar alertas de mensagens aos
usurios para evitar que os mesmos ficassem perdidos na navegao e no soubessem se
suas operaes foram realizadas ou no.
5.6 Manutenibilidade
No estudo de caso disponvel no foi possvel avaliar esta caracterstica pois o acesso ao
aplicativo nessas condies no permitido.
5.7 Projeto de Arquitetura
Este aplicativo um exemplo da combinao das diferentes estruturas para apresentar o
contedo ao usurio.
A Estrutura Linear se mostra presente ao efetuar uma compra, o usurio
obrigado a seguir o seguinte caminho: Sacola, Identificao, Pagamento e Confirmao
Final.
Este processo gera uma senha e um login para o usurio e proporciona mais
segurana a transao, permitindo que s o usurio realmente cadastrado efetue a
compra atravs de uma srie de validaes.
A Estrutura em Grade utilizada nas subdivises existentes dentro de cada
categoria, de modo a facilitar o entendimento do usurio e agilizar a navegao. Um
exemplo seria a subdiviso da categoria CD em artista e gnero musical.
J a Estrutura de Rede permite o acesso a todas as pginas a partir de qualquer
uma delas, e empregada atravs do menu.
5.8 Interface e Esttica
Conforme matria publicada no site Livra.com pesquisas demonstraram que o Site das
Lojas Americanas apresenta uma interface agradvel, de fcil navegao, bem
desenhada e interativa (atravs dos servios de cadastro de usurio, compras, histrico
das compras, help on-line).
As cores utilizadas para construo da interface no desapontam os usurios, no
so cores fortes e berrantes e esto de acordo com o logotipo da empresa.
Outras caractersticas positivas da interface so a presena de menus em todas as
pginas, assim como outros mecanismos de navegao e a ausncia de links que no
levam a lugar nenhum ou Em Construo que causam certo desapontamento ao
usurio.
6. Modelo de Processo para Aplicaes WEB
A utilizao dos princpios de Engenharia apresenta fundamental importncia para o
desenvolvimento de um modelo eficiente de aplicao tanto para WEB quanto para
aplicativos tradicionais.
PRESSMAN (2002) prope um modelo que inicia pela formulao, e seguido
pelo planejamento, anlise, projeto, testes, gerncia de projeto e configurao.
Na formulao o desenvolvedor deve procurar identificar os objetivos da
aplicao, os pontos chaves, alm de traar um perfil do usurio final. O planejamento
deve ser o prximo passo, nele o desenvolvedor dever avaliar os riscos e custos
associados ao desenvolvimento da aplicao. A etapa seguinte a anlise, se
desenvolvida adequadamente pode-se garantir uma aplicao de sucesso. O contedo a
ser oferecido pelo aplicativo ser definido nesta etapa, assim como cada detalhe das
funes, das operaes, da configurao onde a aplicao reside e das maneiras como o
usurio poder interagir com o sistema.
A anlise na Engenharia de Software para WEB enfrenta barreiras para ser
utilizada pelos desenvolvedores do mesmo modo que a anlise na Engenharia de
Software Tradicional, pois o contedo est em constante evoluo, o que implica em
dificuldade na resoluo imediata de problemas e dificuldade em manter toda
documentao atualizada.
Como os aplicativos para WEB possuem evoluo contnua, isso acaba forando
que um engenheiro da WEB estabelea um projeto que resolva rapidamente o
problema, e ao mesmo tempo defina uma arquitetura para a aplicao que tem a
capacidade de evoluo ao longo do tempo.
Existem quatro elementos tcnicos definidos por PRESSMAN (2002) que
auxiliam o desenvolvedor da aplicao so eles: Modularidade eficiente, Regras de
Ouro, Padres de Projeto e Modelos (Templates).
Estes modelos que possuem eficincia garantida, quando utilizados s trazem
benefcios por apresentarem solues para problemas comuns a diversos tipos de
aplicaes.
Seguindo as atividades propostas pelo modelo de processo, esto o projeto de
arquitetura e projeto de navegao (1) e o projeto de interface (2).
Em (1) definida a estrutura que ser utilizada para apresentar o contedo ao
usurio e como a navegao ser realizada, ou seja, os caminhos e mecanismos de
navegao para atingir os objetivos desejados pelo usurio.
Segundo PRESSMAN h quatro estruturas: Estrutura Linear onde o usurio
levado a seguir uma seqncia de caminhos pr-estabelecidos pelo desenvolvedor; a
Estrutura de Grade que permite dividir o contedo em categorias, essa estrutura facilita
muito o entendimento do site e fornece opes de navegao ao usurio; Estrutura
Hierrquica a mais usada, apesar de tornar a navegao mais rpida pode confundir o
usurio, pois possibilita atravs de links deslocar a qualquer parte do site e por ltimo a
Estrutura de Rede que bem flexvel, neste tipo de estrutura o usurio tem acesso a
todas as pginas, a partir de qualquer uma delas. Seria interessante para apresentar o
contedo de uma maneira ideal, a combinao entre todas essas estruturas.
Em (2) toda a preocupao voltada para a Interface, pois ela tem um papel
fundamental: funciona como um carto de vista de qualquer aplicativo para WEB. A
Interface deve ser muito bem projetada e planejada para atrair a ateno do usurio,
impedindo assim que ele procure outro local capaz de satisfaz-lo melhor.
A utilizao de mtodos de Engenharia de Software pode ser de grande utilidade
para se obter uma boa interface: projetar bem os menus e barras de navegao de forma
que fiquem disponveis em todas as pginas que o usurio navegar; no contar com as
funcionalidades do browser; opes de navegao devem se bvias, informaes
importantes devem ser colocadas no topo e permitir que o usurio saia do site caso
ocorram erros no servidor (NIELSEM, 2000).
MURUGESAN (2000) afirma que sites que apresentam usabilidade aumentam a
probabilidade dos visitantes se tornarem clientes. A usabilidade realmente define a
sobrevivncia de uma aplicao na WEB. A aplicao deve ser construda utilizando
uma linguagem fcil que o usurio compreenda e consiga navegar por todo site
encontrando o que deseja. Uma aparncia agradvel, sem cores berrantes, textos
extensos e avisos indesejveis como Em construo tambm so fatores atrativos para
aplicao.
Para finalizar o modelo processo para aplicaes WEB, so realizados os testes,
com a mesma inteno dos testes realizados na Engenharia Tradicional: encontrar erros.
Portanto os testes feitos para WEB exigem um esforo maior, pois, os aplicativos
podem ser acessados utilizando diferentes browsers, sistemas operacionais, plataformas
de hardware, alm de estarem disponveis para um nmero no definido de usurios.
importante observar que a gerncia de projeto e a gerncia de configurao
devem ser aplicadas a todas as etapas anteriores, pois, possibilitam o controle tanto do
contedo quanto do pessoal envolvido no desenvolvimento.
7. Concluso
A evoluo rpida da WEB e o impacto que ela tem causado nos ltimos anos so bem
significantes. A maneira desordenada com que muitos aplicativos para a WEB so
construdos preocupante, principalmente quando analisamos as pesquisas que mostram
que a grande maioria dos sites tem problemas de funcionalidade e usabilidade.
As tcnicas criadas e j consolidadas na Engenharia de Software podem ser
utilizadas e isto uma vantagem. Porm, preciso fazer algumas adaptaes, tendo
muito cuidado com todas as caractersticas especficas de sistemas para a WEB que
foram estudadas neste artigo.
Poucos so os desenvolvedores que utilizam as tcnicas de engenharia
corretamente. Este um problema que tambm ocorre na Engenharia de Software, mas
na Engenharia para a WEB a incidncia ainda maior. Os problemas ocorrem
principalmente nas reas de anlise, projeto, testes, validao e manuteno, que so
reas importantes que ainda no recebem a ateno necessria, pois a maior parte dos
desenvolvedores concentra-se apenas na fase de implementao.
A contribuio deste artigo demonstrar que o uso de tcnicas de engenharia
eficaz e eficiente, e quando aplicadas de maneira adequada produzem aplicaes com
qualidade, e que certamente iro sobreviver no atual mercado, que se encontra cada vez
mais seletivo e exigente.
8. Referncias Bibliogrficas
Pressman, R. S., Engenharia de Software, 5. ed. So Paulo: Mc. Graw Hill, 2002.
Nielsen, J., Designing WEB Usability, New Riders Publishing, 2000.
Rocha, A.R., Maldonado, J.C. e Weber, K. C., Qualidade de Software: Teoria e Prtica;
Prentice Hall, So Paulo, 2001.
Olsina, L. O., (2002) Metodologa Cuantitativa para la Evaluacin y Comparacin de
la Calidade Sitios WEB. La Pampa, Argentina.
http://gidis.ing.unlpam.edu.ar/ingles/personas/olsinal/olsinal.html, Agosto.
Murugesan, S., (2002) WEB Engineering For Sucessful WEB Application
Development. University Of Western Sydney, Austrlia.
http://aeims.uws.edu.au/talks/web-apweb2000.pdf, Setembro.
8.1 Leituras Complementares
Especializao em Engenharia de Websites
http://www.dct.ufms.br/~espec/, Agosto.
Desenvolvimento Tradicional x Desenvolvimento para WEB
http://www.javafree.org/news/view.jf?idNew=852, Setembro.
Lojas Americanas
www.lojasamericanas.com.br, Novembro
Livra.Com
http://br.livra.com/topic_all.asp?To=2171, Novembro.

You might also like