NDICE
Introduo......................................................................................................................... 3 1. A Evoluo da Web ...................................................................................................... 4 2. O que Engenharia para a Web.................................................................................... 5 3. Caractersticas de Aplicativos para a Web.................................................................... 6 4. Modelo de Processo...................................................................................................... 8 5. Formulao e Anlise ................................................................................................. 11 5.1 Formulao ........................................................................................................... 11 5.2 Anlise .................................................................................................................. 12 6. Projeto......................................................................................................................... 13 6.1 Projeto de Arquitetura .......................................................................................... 13 6.2 Projeto de Navegao ........................................................................................... 15 6.3 Projeto de Interface............................................................................................... 15 7. Testes .......................................................................................................................... 18 8. Gerenciamento............................................................................................................ 20 8.1 A equipe de desenvolvimento .............................................................................. 20 8.2 Gerenciamento de Projeto .................................................................................... 22 8.3 Gerenciamento de Configurao .......................................................................... 23 Concluso ....................................................................................................................... 24 Referncias Bibliogrficas.............................................................................................. 25
Introduo
O nmero de sistemas e aplicativos para a Web tem crescido muito nos ltimos anos, causando um grande impacto na histria da computao. Com a sua importncia aumentando, tambm se faz necessrio o uso de uma abordagem disciplinada para a construo destes sistemas. Abordagens utilizadas na Engenharia de Software tradicional passaram a ser adotadas na construo de sistemas para a Web. Os aplicativos para a Web so diferentes de outras categorias de software e tm caractersticas exclusivas: so dirigidos a contedo, esto em constante evoluo, tm curto prazo de desenvolvimento, dentre outras. O grande desafio passa a ser adaptar as tcnicas existentes para uso na Web, criando assim o que chamado de Engenharia para a Web (Web Engineering). Este trabalho corresponde a um estudo de tais tcnicas e da maneira com que elas vm sendo adotadas pelos desenvolvedores de sistemas para a Web.
1. A Evoluo da Web
A Web foi inicialmente concebida com o intuito de compartilhar informaes cientficas entre alguns poucos cientistas. O contedo era esttico e apenas textual, no havia imagens, sons, animaes ou contedo gerado dinamicamente para cada usurio, a interao era limitada, a navegabilidade era fcil, alto desempenho era desejvel, mas no essencial, os sites eram desenvolvidos por apenas uma pessoa ou um pequeno grupo. Mas a Web evoluiu e hoje ouvimos msica, vemos filmes, compramos e vendemos produtos, conhecemos pessoas e inmeros outros usos que no poderiam ser imaginados dez anos atrs. Murugesan destaca que a Internet levou apenas quatro anos para estar em 30% dos lares americanos. um tempo bem curto quando comparado a outros produtos: o telefone levou 40 anos, o rdio levou 35 anos, o videocassete demorou 20 anos, a televiso 26 anos e o prprio computador levou 19 anos. [MUR00] [GIN01b] Escopo e complexidade foram aumentando, pequenos servios foram cedendo espao para grandes aplicativos, e com isso tambm aumentou a complexidade dos projetos e as dificuldades de desenvolvimento, manuteno e gerenciamento. Tudo feito com pouca disciplina, sem preocupao com tcnicas e mtodos padronizados ou maneiras de controlar a qualidade. A atitude predominante era: Vamos fazer rpido, no h tempo para planejar, e acabou gerando aplicativos com grande probabilidade de ter problemas como baixo desempenho e falhas. Na Web problemas como esses so ainda mais graves que no software tradicional, pois como afirma Nielsen: a distncia entre um site e seus concorrentes sempre de apenas poucos cliques. [NIE00] Falta de planejamento, projetos mal feitos e falta de gerenciamento acabam tendo conseqncias srias. Segundo Ginige e Murugesan, 84% dos sistemas entregues no atendem s necessidades do cliente; 79% dos projetos so entregues com atrasos e 63% tm custo maior que o oramento previsto. Mais de 50% dos sistemas prontos so de baixa qualidade e faltam funcionalidades necessrias. [GIN01] Como resultado, desenvolvedores e usurios, comearam a se preocupar com a maneira como sistemas Web complexos esto sendo criados, bem como com seus nveis de desempenho, qualidade e integridade. E a surge a Engenharia para a Web.
7 transmisso de dados preciso implementar medidas rgidas de segurana no aplicativo e na infra-estrutura do mesmo. Esttica: inegvel que boa parte do apelo dos aplicativos para a Web o seu visual. Quando um aplicativo projetado para vender produtos ou idias, esttica pode ser to importante para o sucesso quanto o projeto tcnico. Estas caractersticas gerais se aplicam a todos os aplicativos para Web, mas com diferentes graus de influncia. Podemos categorizar os aplicativos Web desta forma: Informacional. Contedo apenas para leitura fornecido com navegao simples e links. Download. Um usurio faz o download de informaes dos servidores apropriados. Personalizvel. O usurio personaliza o contedo para suas necessidades especficas. Interao. Comunicao entre uma comunidade de usurios ocorre em salas de bate-papo, fruns ou mensagens instantneas. Entrada de Usurio. Entradas baseadas em formulrios so os mecanismos primrios para a comunicao necessria. Orientado a transaes. O usurio faz um pedido que atendido pelo aplicativo. Orientado a servios. O aplicativo fornece um servio para o usurio. Portal. O aplicativo direciona o usurio para outros contedos ou servios fora do domnio do portal do aplicativo. Acesso a Banco de Dados. O usurio faz uma consulta em um banco de dados e extrai informaes. Data warehousing. O usurio consulta uma coleo de grandes bancos de dados e extrai informaes. A chave para o sucesso conviver com as restries impostas por estas caractersticas e mesmo assim construir um bom aplicativo.
4. Modelo de Processo
medida que os aplicativos para a Web evoluem de estticos para dinmicos necessrio aplicar um gerenciamento slido e os princpios de engenharia passam a ter fundamental importncia. necessrio, portanto, desenvolver um modelo de desenvolvimento que atenda tais requisitos de forma eficiente. seguinte modelo: (PRE01) Pressman prope o
O processo comea com a formulao uma atividade que identifica as metas e objetivos do aplicativo e determina um escopo para o primeiro incremento. O planejamento estima os custos do projeto, avalia riscos associados com o desenvolvimento, elabora um cronograma bem definido para o primeiro incremento, e um menos definido para os demais. Na Anlise so estabelecidos os requisitos tcnicos e identificados os itens de contedo que sero incorporados. Requisitos para projeto grfico (esttica) tambm so definidos. A atividade de Engenharia incorpora duas atividades paralelas ilustradas no lado direito da figura. Projeto de Contedo e Produo so tarefas desenvolvidas pelos membros no-tcnicos da equipe. O objetivo destas tarefas projetar, produzir e/ou obter todos os textos, grficos, contedo de udio e vdeo que sero integrados ao aplicativo. Ao mesmo tempo, uns conjuntos de tarefas tcnicas de projeto so conduzidos. Gerao das Pginas uma atividade de construo que faz uso pesado de ferramentas de automatizao. O contedo definido na atividade de engenharia
9 fundido com os projetos de arquitetura, navegao e interface para produzir pginas em HTML, XML e outras linguagens orientadas a processo (como Java). Integrao com middleware (CORBA, DCOM ou JavaBeans) tambm feita durante esta atividade. A atividade de Teste tenta descobrir erros em applets, scripts e formulrios; e ajuda a garantir que o aplicativo ir funcionar corretamente em diferentes ambientes (com diferentes browsers). Cada incremento produzido como parte do processo revisto durante a Avaliao do Cliente. Neste ponto mudanas so pedidas (extenses de escopo ocorrem). Estas mudanas sero integradas ao sistema no prximo ciclo do processo incremental. Murugesan destaca alguns passos para a construo de um aplicativo para a Web de sucesso: (MUR00) Entender o funcionamento geral e operacional do ambiente dos sistemas; Identificar e especificar requisitos tcnicos e no-tcnicos; Desenvolver uma arquitetura apropriada; Tratar satisfatoriamente as limitaes no-tcnicas; Identificar sub-projetos ou sub-processos para implementar a arquitetura; Desenvolver e implementar os sub-projetos; Incorporar mecanismos apropriados e efetivos para gerenciar a evoluo e as manutenes. O autor tambm destaca os problemas que normalmente ocorrem: Inconsistncia das informaes; Manuteno normalmente utiliza muitos recursos e tempo; Falta de escalabilidade; Necessidade de um visual comum; No incio, requisitos so muito vagos; Os requisitos iro mudar consideravelmente durante o desenvolvimento e especialmente quando o aplicativo j estiver em uso; A tecnologia tambm vem mudando muito rapidamente.
Pesquisas conduzidas por McDonald e Welland mostram que grande parte dos desenvolvedores para a Web no utilizam um processo de desenvolvimento bem definido e documentado. E dos que esto utilizando processos bem definidos e
10 documentados, apenas alguns poucos esto utilizando modelos padronizados pela indstria de software; os outros esto utilizando modelos criados dentro da prpria organizao. As pesquisas tambm mostraram que na maioria dos casos o processo se foca na Implementao. Anlise de Requisitos e Projeto normalmente esto combinadas no comeo do projeto e as atividades de Teste so conduzidas em conjunto com a implementao, isto quando so feitas. [MCD01]
11
5. Formulao e Anlise
Formulao e Anlise de sistemas e aplicativos para a Web representam uma seqncia de atividades de engenharia que comeam com a identificao das metas e objetivos do aplicativo, e terminam com o desenvolvimento de um modelo de anlise ou especificao de requisitos para o sistema. A Formulao permite que o cliente e o desenvolvedor estabeleam um conjunto comum de metas e objetivos para a construo do aplicativo. Ela tambm ajuda a identificar o escopo do trabalho de desenvolvimento e fornece meios de determinar o sucesso do projeto. Anlise uma atividade tcnica que identifica dados, funcionalidades e requisitos comportamentais de um aplicativo. [PRE01]
5.1 Formulao
As seguintes questes devem ser feitas no primeiro passo da etapa de formulao: Qual o principal motivo para desenvolvermos este aplicativo? Por que este aplicativo necessrio? Quem vai usar este aplicativo?
A resposta para cada uma destas perguntas deve ser determinada de maneira bem sucinta e objetiva. Atravs delas so identificadas as metas. H basicamente duas categorias de metas: Metas de informao. Indicam a inteno de fornecer contedo especfico e/ou informao para o usurio Metas de aplicativo. Indicam a habilidade de executar tarefas do aplicativo. Quando todas as metas de ambos os tipos forem identificadas, um perfil de usurio desenvolvido. Este perfil captura caractersticas relevantes dos usurios potenciais incluindo suas experincias, conhecimentos, preferncias, etc. Quando todas as metas e perfis de usurios estiverem desenvolvidos, a atividade de formulao ir focar a declarao de escopo do aplicativo para a Web. Em muitos
12 casos, as metas desenvolvidas esto integradas com esta declarao de escopo. Tambm importante, neste estgio, indicar os graus de integrao esperados e restries de conectividade. [PRE01]
5.2 Anlise
Durante esta etapa da Engenharia para a Web, quatro diferentes tipos de anlises so conduzidos: Anlise de Contedo: todo o contedo a ser fornecido pelo aplicativo identificado. Contedo inclui textos, grficos e imagens, dados de udio e vdeo. Anlise de Interao: a maneira pela qual o usurio interage com o aplicativo descrita em detalhes. Anlise Funcional: os cenrios de uso criados na anlise de interao iro definir operaes que iro ser utilizadas no aplicativo, que implicam outras funes de processamento. Todas as operaes e funes so descritas em detalhe. Anlise de Configurao: O ambiente e a infra-estrutura na qual o aplicado reside so descritos em detalhe. O aplicativo pode estar na Internet, em uma Intranet ou em uma Extranet. Pressman afirma que: apesar da especificao detalhada de requisitos ser recomendada para aplicativos complexos, raramente ela feita. Isto fica especialmente claro no resultado das pesquisas realizadas por McDonald e Welland. A argumentao mais comum que a evoluo contnua dos aplicativos para a Web torna os documentos de requisitos obsoletos antes mesmo de completar o desenvolvimento. Apesar disto ser verdade em alguns casos, necessrio definir ao menos um modelo de anlise para servir de base para a atividade de projeto que vem adiante. Minimamente se deve rever as informaes coletadas, modific-las conforme necessrio e organiz-las em um documento que pode ser passado aos projetistas. [PRE01] [MCD01]
13
6. Projeto
As caractersticas de curto prazo de desenvolvimento e rpida evoluo de sistemas para a Web foram os desenvolvedores a realizarem um projeto que resolva os problemas imediatos e que, ao mesmo tempo, crie uma arquitetura que comporte uma evoluo rpida. O problema, obviamente, que na tentativa de resolver apenas o problema imediato, acaba-se comprometendo a capacidade evolutiva do aplicativo. Este o dilema do projetista. [PRE01] Com o objetivo de fazer um projeto efetivo, o engenheiro deve se concentrar no reuso de quatro elementos tcnicos: Mtodos e Princpios de Projeto: Modularidade eficiente (alta coeso e baixo acoplamento) e outras heursticas da construo de software devem ser utilizadas tambm para a Web. Pode-se utilizar inclusive os mtodos de projetos para sistemas orientados a objetos, pois a hipermdia define objetos que interagem atravs de um protocolo de comunicao que bem parecido com o utilizado na orientao a objetos. Alm disso, h grande variedade de mtodos para projeto de hipermdia. Regras de Ouro (Golden Rules): Sistemas para a Web j vm sendo construdos h uma dcada. Neste tempo, os projetistas desenvolveram um conjunto de heursticas que podem ser reaplicadas durante o projeto de novos aplicativos. Padres de Projetos (Design Patterns): So abordagens genricas utilizadas para resolver problemas genricos que podem ser adaptadas para resolverem uma grande variedade de problemas mais especficos. Modelos (Templates): um modelo pode ser utilizado para fornecer um esqueleto para qualquer tipo de padro de projeto que ser utilizado no aplicativo.
14 (templates) para montar a estrutura e permitir reuso. Uma atividade paralela chamada de Projeto de Contedo, deriva a estrutura geral e o esboo detalhado do contedo que ser apresentado no aplicativo. Nesta etapa definida a estrutura que ser utilizada, ou seja, a maneira como o contedo ser apresentado ao usurio, e como a navegao ser realizada. Pressman mostra quatro tipos de estruturas que podem ser utilizadas: [PRE01] Estrutura Linear: utilizada quando h seqncia previsvel de interaes, e eventualmente e alguma variao. Um Neste bom caso exemplo o seriam apresentaes de tutoriais com vrias pginas de informao, alm de grficos vdeos relacionados. contedo predominantemente linear. Estrutura de Grade: aplicada quando o contedo pode ser organizado categoricamente em duas (ou mais) dimenses. Um exemplo seria uma loja de instrumentos musicais, os produtos poderiam ser separados por tipo (violes, guitarras, contra-baixos, etc.) ou fabricantes, e o usurio teria a opo de escolher como quer navegar. Estrutura Hierrquica: a mais comum. Nela o usurio pode navegar por toda a hierarquia, no apenas na vertical, mas tambm na horizontal. Isto feito atravs de links que levam a outra parte da estrutura. uma estrutura que permite navegao rpida, mas que pode confundir o usurio. Estrutura de Rede ou Pure Web: similar ao modo como funciona a arquitetura de sistemas orientados a objetos. Nela cada componente (neste caso pginas) so projetados de modo que possam passar comandos (via links de hipertexto) para virtualmente qualquer outro componente do sistema. Esta abordagem cria bastante flexibilidade de navegao, mas pode confundir o usurio. Estes modelos de arquitetura descritos podem ser combinados para formar estruturas compostas. Por exemplo, a estrutura pode ser predominantemente hierrquica, mas uma parte dela pode ter caractersticas lineares, e uma outra parte ter uma estrutura de rede. O objetivo criar a estrutura ideal para o contedo a ser apresentado.
15
16 Erros no servidor, mesmo os menores, podem fazer com que um usurio deixe o site e procure a informao ou servio que deseja em outro lugar; No se deve forar o usurio a ler grandes quantidades de texto, principalmente se for texto explicando como operar o aplicativo ou navegar por ele; Avisos de Em Construo devem ser evitados, so links desnecessrios que causam uma expectativa do usurio que com certeza ir se desapontar; Usurios no gostam de rolar a tela, informaes importantes devem ser colocadas no topo, de forma que aparea logo que a pgina carregada; Menus e barras de navegao devem ser projetados de forma consistente, e devem estar disponveis em todas as pginas que o usurio ir navegar. No se deve contar com as funcionalidades do browser; Opes de navegao devem ser bvias, mesmo para o usurio casual. O usurio no pode ficar procurando pela tela at encontrar o que deseja. O Projeto de Interface deve se preocupar bastante com a usabilidade. Muitas vezes o projetista quer criar algo complexo, utilizando todas as mais recentes inovaes tecnolgicas e acaba criando algo difcil de usar, que far com que o usurio cometa muitos erros e desista de usar o site. Murugesan apresenta uma srie informaes e recomendaes que devem ser levadas em considerao pelo desenvolvedor que quer criar um bom aplicativo para a Web: [MUR00] Pessoas gastam horas clicando em um site para encontrar uma simples informao. Surfar na Web muito mais difcil do que parece. Os usurios (potenciais clientes) esto conseguindo navegar no seu site? Por que os humanos tm que se adaptar a tecnologia? Por que a tecnologia no se adapta aos humanos? Sua empresa no o pblico-alvo. Voc deve escrever seu site em uma linguagem que seus usurios compreendam.
17 Grandes erros continuam acontecendo na Web: links quebrados, cores no padronizadas, URLs que mudam e fazem com que links externos para seu site fiquem quebrados. Na Internet, sobrevive o mais fcil de usar. Se o usurio no consegue achar o produto, ele no ir compr-lo. Ateno com a usabilidade aumenta a porcentagem de visitantes que se tornam clientes. O usurio na Web tem pouca pacincia com sites lentos ou difceis de navegar, eles no querem ter de aprender como usar um site, eles devem simplesmente conseguir utiliz-lo, caso contrrio iro procurar a informao que desejam em outro lugar. Problemas de usabilidade ainda afetam a grande maioria dos sites, mesmo os sites mais conhecidos e j consolidados apresentam problemas que podem afastar visitantes que esto fazendo sua primeira visita. [MUR00] [BRE01]
18
7. Testes
Assim como na Engenharia de Software, na Engenharia para a Web as atividades de teste tambm visam encontrar erros. De fato, os testes nos aplicativos para a Web so um desafio ainda maior, pois estes aplicativos podem ser acessados utilizando diferentes browsers, sistemas operacionais, plataformas de hardware, etc. Pressman apresenta uma abordagem que adota os princpios bsicos para o teste de qualquer software e aplica estratgias e tticas que so recomendadas para sistemas orientados a objetos: [PRE01] 1. O modelo de contedo revisto para descobrir erros. Esta atividade de teste similar em muitos aspectos com a reviso de documentos impressos. Um site grande pode utilizar os servios de um editor profissional que ir descobrir erros de tipografia e gramtica, consistncia do contedo, representaes grficas, dentre outros. 2. O modelo de projeto revisto para descobrir erros de navegao. Cada cenrio exercitado de acordo com o projeto de arquitetura e navegao. Isto serve para encontrar erros de navegao onde o usurio no consegue chegar ao n desejado. Alm disso, cada link testado para garantir que correspondem ao que foi especificado na SNU para cada tipo de usurio. 3. Componentes selecionados passam por um processo de teste de unidade. Nos aplicativos para a Web o conceito de unidade muda. Cada pgina contm contedo, links, forms, scripts, etc. Nem sempre possvel testar cada uma dessas caractersticas individualmente. Em muitos casos, a menor unidade testvel a pgina. No software tradicional o teste de unidade focado em detalhes de algoritmo de um mdulo e dos dados que fluem pela interface do mdulo. Nos aplicativos para a Web este teste focado pelo contedo, processamento e links que esto nas pginas. 4. A arquitetura construda e testes de integrao so conduzidos. A estratgia para teste de integrao depende da arquitetura que foi escolhida. Se foi utilizada uma arquitetura linear, de grade ou hierrquica possvel integrar as pginas da mesma maneira que fazemos com
19 software tradicional. Porm, se foram utilizadas arquiteturas combinadas ou estrutura de rede, o teste de integrao passa a ser similar a abordagem usada para orientao a objetos. 5. O aplicativo j integrado testado em sua funcionalidade geral e contedo fornecido. Assim como na validao de software convencional, a validao de sistemas para a Web focada nas aes do usurio e nas sadas do sistema para o mesmo. Para ajudar na construo de testes de validao o testador deve se basear em casos de uso (usecase). 6. O aplicativo implementado em diferentes configuraes de ambientes e testado em sua compatibilidade com cada configurao. So definidos todos os provveis sistemas operacionais, browsers, plataformas de hardware e protocolos de comunicao. Testes so conduzidos para descobrir erros associados com cada uma das possveis configuraes. 7. O aplicativo testado por uma populao controlada de usurios. So selecionados de usurios que representem cada tipo de usurio que o sistema ter. O aplicativo testado por estes usurios e os resultados de suas interaes so avaliados para encontrar erros de contedo e navegao, questes de usabilidade e compatibilidade, bem como desempenho e confiabilidade do aplicativo.
20
8. Gerenciamento
Por causa do curto perodo de desenvolvimento e da constante evoluo de aplicaes para a Web, muitos perguntam: realmente necessrio gastar tempo gerenciando o desenvolvimento? Muitos desenvolvedores acabam optando por pouco ou nenhum gerenciamento. Isto no quer dizer que eles estejam certos. [PRE01] O desenvolvimento para a Web complicado. Muitas pessoas so envolvidas, freqentemente trabalhando em paralelo. A combinao de tarefas tcnicas e no tcnicas que ocorrem so um desafio para qualquer grupo de profissionais. Para evitar confuses, frustraes e falhas, um planejamento precisa ocorrer, riscos precisam ser considerados, um cronograma precisa ser estabelecido e acompanhado, e mecanismos de controle precisam ser definidos. A este conjunto de atividades chamamos Gerenciamento.
21 realizado pelo Web Publisher, que precisa entender o contedo, bem como a tecnologia do aplicativo. Web Engineer. Este se envolve em vrias atividades durante o desenvolvimento, incluindo levantamento de requisitos; anlise; projeto arquitetural, de navegao e de interface; implementao; e teste. Ele tambm precisa ter um conhecimento slido de tecnologia de componentes, arquitetura cliente/servidor, HTML/XML, tecnologias de banco de dados, e tambm conhecimento de conceitos multimdia, plataformas de hardware e software e segurana de redes. Especialista de Suporte. Este papel designado para as pessoas que sero responsveis por dar continuidade no suporte ao aplicativo para a Web. Como este tipo de aplicativo evolui continuamente, este especialista responsvel pelas correes, adaptaes e melhorias no site, incluindo atualizao de contedo, implementao de novos procedimentos e mudanas na navegao. Administrador. Tambm conhecido como Web Master, esta pessoa responsvel pela operao do site no dia-a-dia, incluindo desenvolvimento e implementao de regras para operao do aplicativo; fixao de procedimentos de suporte; implementao de procedimentos de segurana e direitos de acesso; medio e anlise de trfego; coordenao de mudanas de procedimentos; coordenao de especialistas de suporte. McDonald e Welland destacam que as equipes de desenvolvimento para aplicativos Web so normalmente menores que as equipes de desenvolvimento de software tradicional. Em ambos os casos as equipes so gerenciadas em pequenos grupos, mas a semelhana acaba a, pois no desenvolvimento de software tradicional as equipes so divididas em unidades menores para resolver diferentes problemas e executar diferentes tarefas. Mas no desenvolvimento para a Web, as equipes so divididas em grupos multidisciplinares, que construiro diferentes sees do aplicativo para a Web, mas em geral iro trabalhar em problemas similares. No decorrer do desenvolvimento de um software tradicional, as equipes devem interagir entre si, isto normalmente feito atravs de interfaces pr-definidas, com cada equipe vendo o trabalho das outras equipes
22 como caixas-pretas Na engenharia para a Web as equipes precisam se comunicar ainda mais, com o objetivo de reduzir o esforo e garantir consistncia. [MCD01]
23
24
Concluso
A evoluo rpida da Web e o impacto que ela tem causado nos ltimos anos bem significante. A maneira desordenada com que a maior parte dos 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/ou 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 trabalho. Infelizmente poucos desenvolvedores utilizam as tcnicas de engenharia, e os poucos que utilizam o fazem de forma restrita ou errnea. 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, Requisitos, Testes, Validao e Manuteno, que so reas importantes que ainda no recebem a ateno necessria, pois a maior parte dos desenvolvedores concentram-se apenas na fase de Implementao. Os estudos mostram que o uso de tcnicas de engenharia eficaz e eficiente, portanto os esforos devem ser concentrados nesta adaptao das tcnicas utilizadas na Engenharia de Software, incluindo o desenvolvimento de mtricas e tcnicas para o gerenciamento de projeto. Paralelamente precisa haver um trabalho para conscientizar desenvolvedores da importncia do uso destas tcnicas, mostrando como as mesmas poderiam tornar seu trabalho mais eficiente, trazendo tambm melhores resultados.
25
Referncias Bibliogrficas
[BIE98] BIEBER, Michael. Web Engineering. New Jersey Institute of Technology, 1998. <http://www-ec.njit.edu/~bieber/web-engineering.html> [BRE01] BREVE, Fabricio e WELLER, Daniel. Mtodos de Avaliao para Sites de Entretenimento. Universidade Metodista de Piracicaba, 2001. [GIN01] GINIGE, Athula e MURUGESAN, San. Web Engineering: An Introduction. IEEE Multimedia. Janeiro-Maro 2001. [GIN01b] GINIGE, Athula. Engineering A Better Website. University Of Western Sydney. Austrlia, Outubro de 2000. <http://aeims.uws.edu.au/talks/eng-web-sites.pdf> [GIN01c] GINIGE, Athula. Web Engineering in Action. University Of Western Sydney. Austrlia, Outubro de 2000 <http://aeims.uws.edu.au/talks/Webe-inaction.pdf> [MCD01] MCDONALD, Andrew e WELLAND, Ray. The University, Glasgow G12 8QQ, Scotland. 2001. <http://www.dcs.gla.ac.uk/~andrew/webe2001.pdf> [MUR00] MURUGESAN, San. Web Engineering For Sucessful Web Application Development. University Of Western Sydney. Austrlia, Outubro de 2000. <http://aeims.uws.edu.au/Talks/Web-ApWeb2000.PDF> [NIE00] NIELSEN, Jakob. Designing Web Usability. New Riders Publishing, 2000. [PRE01] PRESSMAN, Roger S. Software Engineering: A Practioners Approach. McGraw-Hill. 5 edio. 2001.