Você está na página 1de 56

RUBIO MARTIN S FORTES

MODELO GERAL PARA ELABORAO DE APLICAES WEB

Trabalho de concluso de curso apresentado ao Curso de Cincia da Computao.

UNIVERSIDADE PRESIDENTE ANTNIO CARLOS

Orientador: Prof. Elio Lovisi Filho


Co-orientadora: Profa. Dbora Paiva

2
BARBACENA
2003

3
RUBIO MARTIN S FORTES

MODELO GERAL PARA ELABORAO DE APLICAES WEB

Este trabalho de concluso de curso foi julgado adequado obteno do grau de


Licenciado em Cincia da Computao e aprovado em sua forma final pelo Curso de Cincia
da Computao da Universidade Presidente Antnio Carlos.

Barbacena MG, dia de ms de ano.

______________________________________________________
Prof. Elio Lovisi Filho - Orientador do Trabalho
______________________________________________________
Prof. Frederico de Miranda Coelho - Membro da Banca Examinadora
______________________________________________________
Prof. Lorena Sophia C. de Oliveira - Membro da Banca Examinadora

AGRADECIMENTOS

Os mais sinceros agradecimentos aos professores


orientadores, a Coordenao do Curso de Bacharelado
de Turismo do Centro de Estudos Superiores Aprendiz e
ao Bacharel em Turismo Andr Martin.

RESUMO

Um cliente para realizar uma viagem turstica, isto , , procura sempre informaes concisas e
precisas sobre o destino a ser alcanado. Como nos dias atuais as informaes esto dispostas
de maneira dispersa, em vrios sites de turismo, empresas areas e hotis, o projeto visa reunir
tais informaes em um nico modelo de website, facilitando assim a pesquisa do turista,
utilizando-se das tcnicas de Engenharia de Software voltada aplicaes Web.
Palavras-chave: Web Engineering , Turismo, Aplicaes Web

SUMRIO

LISTAS....................................................................................................................................................................7
1 INTRODUO ...................................................................................................................................................9
2 ENGENHARIA DE SOFTWARE PARA WEB: VISO GERAL...............................................................12
3 DESENVOLVIMENTO DE UMA APLICAO PARA O DOMNIO DO TURISMO..........................32
4 MODELAGEM DA APLICAO DE TURISMO ......................................................................................40
5 CONCLUSES..................................................................................................................................................51
REFERNCIAS BIBLIOGRFICAS...............................................................................................................55
ANEXO I INTERFACE PREVISTA..............................................................................................................56

LISTAS

Figura 2.1 - rvore de Requisitos de Qualidade.................................................................16


Figura 2.2 - Estrutura Linear...............................................................................................23
Figura 2.1 - Estrutura em Grade..........................................................................................23
Figura 2.2 - Estrutura Hierrquica.......................................................................................24
Figura 2.3 - Estrutura em Rede............................................................................................24
Figura 3.1 Website modificado por indivduo no autorizado.........................................34
Figura 3.2 Website com informaes inexistente.............................................................34
Figura 3.3 Falha na pesquisa de destinos pelo website....................................................35
Figura 4.1 Caso de Uso Usurio/Agncia........................................................................41

8
Figura 4.2 Caso de Uso Informante/Web Master.............................................................42
Figura 4.3 Diagrama de Classes.......................................................................................47
Figura 4.4 Diagrama de Atividade...................................................................................48
Figura 4.5 Diagrama de Estados.......................................................................................49

1 INTRODUO

1.1 JUSTIFICATIVA
Com o grande desenvolvimento da rea de turismo no mundo, a necessidade de
informaes sobre vias de acesso, meios de transporte, vagas em hotis, e outras informaes
referentes ao mesmo, se tornaram extremamente necessrias.
Num mundo globalizado onde a concorrncia entre empresas tursticas muito
forte, a rapidez com que a informao prestada ao cliente fundamental. Com isso surgiu a
idia de se desenvolver uma rede integrada entre empresas tursticas e hotis, de forma que as
informaes possam fluir com maior rapidez.
Quando um cliente chega uma agncia turstica e est interessado em adquirir
um pacote turstico, ideal que sejam passadas todas as informaes quanto vagas,
condies climticas atuais e previstas do local imediatamente requisio, para que o cliente
opte por adquiri-lo o quanto antes.
Existem hoje em dia, websites especializados no assunto, mas no entanto, segundo
a classe de profissionais de turismo, esses websites so confusos e inconsistentes.
Um dos grandes problemas desses sites o fato de que aplicaes desse tipo so
desenvolvidas de maneira ad hoc, isto , so implementados sem as metodologias de
engenharia de software, e ainda, a engenharia de software tradicional no suporta muitas das
vezes, as necessidades de um meta-modelo para aplicaes voltadas para web.

10

1.2OBJETIVO
O Projeto visa a modelagem de um website onde essas informaes estariam
dispostas de maneira organizada e consistente. Essa modelagem servir de meta-modelo para
futuras implementaes poupando assim tempo em desenvolvimento.

Como

ser

um

modelo geral para websites de turismo, a anlise de requisitos ser definida atravs de uma
pesquisa feito junto ao Centro de Estudos Superiores Aprendiz LTDA, onde ministrado o
curso de Bacharelado em Turismo, visando um apanhado geral sobre as informaes
necessrias para o website.

1.3 VISO GERAL


Esta monografia apresenta em seu segundo captulo uma viso geral sobre a
Engenharia de Software para Web, analisando os atributos de qualidade de uma aplicao
voltada para Web como Segurana e Padres da Internet, formulao e anlise de um Sistema
Voltado para Web, Modelos de aplicaes voltadas para Web, e ainda, os testes a serem feitos
e a gerncia do projeto.
No terceiro captulo, a monografia apresenta as etapas do desenvolvimento de
uma aplicao de turismo voltada para Web, detalhando o seu plano de desenvolvimento, a
especificao de requisitos e requisitos funcionais, os requisitos de qualidade que englobam a
confiabilidade da aplicao, eficincia e a portabilidade.
No quarto captulo, so apresentados os modelos gerais da aplicao de turismo
voltada para Web. So apresentados os diagramas de caso de uso, a descrio das classes e
seus respectivos eventos, o diagrama de classes, o diagrama de atividades e finalmente o
diagrama de estados.
No captulo das concluses, so apresentadas a reviso da monografia, as
concluses da monografia e as recomendaes para futuros trabalhos.

11

12

2 ENGENHARIA DE SOFTWARE PARA WEB: VISO


GERAL

Segundo Pressman [PRE2002], a Engenharia de Software voltada para Web uma


cincia ainda em evoluo. O autor aborda aspectos gerais da Engenharia de Software
tradicional a Engenharia de Software voltada para Web apresentando os tpicos relacionados
de forma a facilitar o desenvolvmento de aplicaes voltadas para Web.
Gennaro Costagliola, Filomena Ferruci e Rita Francese [GEN2000], apresentam
em seu artigo Web engineering: Models and Methodologies for the Design os Hypermidia
Applications os modelos e metodologias para aplicaes hipermdia na engenharia de Web.
Nora Koch e Andras Kraus [NOR2002], demonstram como a linguagem UML
aplicada no desenvolvimento de aplicaes voltadas para Web em seu artigo The Expressive
Power of UML based Web Engineering.
Grady Booch, James Rumbaugh e Ivar Jacobson, [GRA2000], criadores da
linguagem UML, detalham a linguagem no livro UML Guia do Usurio apresentando
todos os tipos existentes de diagramas e facilitadores para o desenvolvimento da aplicao
voltada para Web.
Como as aplicaes Web se tornaram integradas s estratgias de mercado de
grandes e pequenas empresas, a necessidade de se construir um modelo confivel, vivel e
adaptvel, a Engenharia de Software para Web vem se tornando cada vez mais importante. A
Engenharia de Software para Web, no uma cpia perfeita da Engenharia de Software, mas
utiliza boa parte de seus conceitos fundamentais. Como os sistemas e as aplicaes Web
tendem a se tornar cada vez mais complexas, a utilizao de tcnicas usuais da Engenharia de
Software, criariam um modelo no-suficiente para garantir um modelo aceitvel, podendo

13
assim uma falha, comprometer toda a estrutura da aplicao. Por isso a necessidade de utilizar
uma Engenharia de Software especfica para Web, onde novas tcnicas e mtodos para
modelagem da aplicao garantem um bom planejamento e gerenciamento do projeto de
software [PRE2002].
As aplicaes voltadas para Web necessitam de cuidados especiais em sua fase de
modelagem. As tcnicas e mtodos propostos pela Engenharia de Software tradicional, apesar
de serem inteiramente funcionais para as aplicaes no voltadas para Web, no determinam
todos os aspectos para que a aplicao voltada para Web seja bem projetada. Novos aspectos
surgem quando tratamos de aplicaes voltadas para Web. Esses aspectos so descritos no
decorrer deste captulo.

2.1ATRIBUTOS DE SOFTWARE VOLTADO PARA WEB


H caractersticas em que um Software voltado para Web se diferencia da maioria
dos softwares convencionais. Essas caractersticas so encontradas na grande maioria das
aplicaes Web [PRE2002].
Intensidade de Trfego na Rede: Pela prpria natureza, uma aplicao Web deve
ser implementada em uma rede de computadores. Com isso, aspectos relacionados
velocidade em que os dados trafegam por ela devem ser analisados, de forma a
no causar congestionamentos;
Direcionador de Contedo: Na maioria dos casos, a aplicao Web tem como
finalidade principal, apresentar ao usurio final contedo hipermdia, como textos,
sons, vdeos e figuras; e
Evoluo Contnua: Em softwares convencionais, as atualizaes so planejadas
de forma sistemtica e programada. J em aplicaes Web podem sofrer vrias
modificaes ao longo de sua existncia, chegando e ocorrer em determinados
casos, atualizaes em tempo real.

14
As aplicaes voltadas para web se diferenciam das aplicaes convencionais no
aspecto de funcionarem em uma rede de computadores menos veloz que as redes locais onde
as aplicaes contam com velocidade suficiente para que no haja trfego prejudicial ao seu
desempenho. Na rede mundial de computadores, a intensidade de trfego de informaes e a
limitao fsica imposta pelos meios de transmisso prejudicam as aplicaes voltadas para
Web.
Outro aspecto fundamental, que as aplicaes convencionais so muito
diferentes das aplicaes voltadas para Web no sentido de no necessitarem de um caminho
especfico para a apresentao das informaes. Nas aplicaes voltadas para Web,
geralmente h a necessidade de se conduzir o usurio numa pesquisa das informaes com um
direcionador de contedo.
As aplicaes voltadas para Web possuem atualizaes freqentes e necessrias.
Nenhum software convencional tem essa caracterstica. Na aplicao voltada para o turismo
por exemplo, as tarifas de transporte e hospedagem podem variar continuamente de acordo
com variaes de cmbio e as condies climticas so alteradas diariamente.
Na criao de uma estrutura para um Software voltado para Web, a mesma deve
conter aspectos que facilitem a administrao das atualizaes que possa vir a ocorrer
[PRE2002].

Os cuidados contnuos com a aplicao e com a entrada de informaes, permitem


que a aplicao se torne estvel, mas alguns aspectos devem ser considerados [PRE2002]:
Imediatismo: Aplicaes voltadas para Web, possuem um imediatismo que,
geralmente no encontrado em nenhum outro tipo de software. As atualizaes
so constantemente necessrias, pois o contedo a ser apresentado pela aplicao
varia de acordo com informaes atualizadas. Assim, o desenvolverdor deve
utilizar mtodos de planejamento, anlise, design, implementao e testes que
foram adaptados para softwares voltados para Web.

15
Segurana: Como aplicaes voltadas para Web esto em rede, devemos limitar o
nmero de usurio que tm permisso para acessar as informaes. Nesse caso, o
desenvolvimento deve ser feito com base em uma estrutura que proveja segurana
e integridade dos dados, permitindo que apenas usurios que tenham privilgio
acessem informaes pertinentes ao seu grupo de usurio.
Esttica: Uma boa interface garante conforto ao usurio, provendo maior
compreenso e at em alguns casos, como em e-commerce, induzir o usurio a se
sentir confortvel ao adquirir um determinado produto. Os dados so apresentados
de forma organizada e objetiva evitando que o usurio se perca dentro da
aplicao. Muitas cores em tonalidades fortes e que se contrastam com outros tons
no so aconselhveis.
As aplicaes voltadas para Web so acessadas por vrios usurios ao mesmo
tempo. Com isso, o trfego de informaes aumenta e isso gera sobrecarga na aplicao. O
Desenvolvedor deve se preocupar em desenvolver uma aplicao que gere resultados rpidos,
pois o usurio geralmente no se sente confortvel em esperar.
Como foi dito, muitas pessoas acessam as informaes de uma aplicao voltada
para Web. As permisses de acesso a informaes devem ser definidas para que usurios noprivilegiados acessem determinadas funes e dados da aplicao.
Um aspecto importante se tratando de aplicaes voltadas para Web a esttica da
aplicao. O usurio acessa a aplicao e espera que a mesma lhe apresente os dados de forma
agradvel e confortvel. Uma aplicao sem esttica tende a perder o acesso de seus usurios
no caso de outras aplicaes semelhantes apresentarem uma esttica melhor.
Essas caractersticas gerais se aplicam a todas as aplicaes Web, mas em nveis
diferentes de influncia. As categorias a seguir so mais comumente encontradas no trabalho
de Engenharia de Software para Web [PRE2002].
Informaes: Contedo somente para leitura, contendo navegao simples e links
simples.

16
Download: O usurio efetua download de determinado arquivo de um dado
servidor.
Adaptvel: O usurio configura o contedo de acordo com suas prprias
necessidades.
Interao: O usurio tem a capacidade de se comunicar com uma comunidade de
usurios atravs de chats, menssagens instantneas ou quadro de avisos.
User input: forma mais bsica de comunicao entre o usurio e a aplicao.
Orientado a Transao: O usurio faz uma requisio e a aplicao retorna uma
determinado resultado;
Orientado a Servio: A aplicao prov um determinado servio ao usurio, por
exemplo, um clculo de juros sobre prestaes a serem pagas;
Portal: A aplicao disponibiliza canais para outros contedos na Web, fora do
domnio da aplicao;
Acesso a Banco de Dados: O usurio pode requerer consultas em um determinado
Banco de Dados disponibilizado pela aplicao voltada para Web;
Data Warehousing: O usurio requisita um conjunto de dados em vrios Banco de
Dados.
Na aplicao desenvolvida para o domnio do turismo, algumas dessas
caractersticas no so aplicveis. Nela, so utilizados alm da informaes, a interao do
usurio com a aplicao, a orientao a transao na requisio de origens e destino, a
orientao a servio no clculo dos valores a serem apresentados e o acesso a banco de dados
na busca das informaes das cidades de origem e destino.

17
2.1.1

ATRIBUTOS DE QUALIDADE
O nmero de utilizadores de aplicaes Web atualmente incalculvel. As

previses para o aumento desse nmero de usurios, so cada vez mais otimistas. Com esse
enorme nmero de pessoas utilizando servios de aplicaes Web, fica complicado de
satisfazer ao gosto de todos os usurios. H aqueles que preferem aplicaes que
disponibilizam contedos completos ao invs de exibir informaes especficas, alguns
preferem aplicaes com animaes flash e outros somente texto, e as variaes no terminam
por a [PRE2002].
A figura 2.1, denominada rvore de requisitos de qualidade por Olsina [OLS99]
mostra de maneira sucinta, o que uma aplicao Web se tornar uma aplicao Web de altaqualidade.
Entendimento global do site
Respostas On-line e help
Interface bem definida
Usabilidade

Caractersticas Especiais

Busca e respostas compatveis


Funcionalidade

Caractersticas de navegao
Caractersticas de domnio da aplicao

Processamento de links corretos

Qualidade da
Aplicao Web

Confiabilidade

Recuperao de erros
Validao de Dados de entrada
Tempo de resposta aceitvel

Eficincia

Velocidade de gerao da pgina


Velocidade de gerao dos grficos
Facilidade de correo

Manutenabilidade

Adaptabilidade
Extensabilidade

Figura 2.4 - rvore de Requisitos de Qualidade [OLS99]


Esses requisitos de qualidade so indispensveis no desenvolvimento de
aplicaes voltadas para Web. No entanto, a modelagem apresentada por essa monografia no

18
abrange esses aspectos pois os mesmos devem ser analisados em sua fase de
desenvolvimento. A modelagem no possui por exemplo a capacidade de se medir a
eficincia de uma aplicao voltada para Web, pois a mesma medida atravs de testes cujos
parmetros so analisados em sua fase de funcionamento.
2.1.2

SEGURANA
Pelo fato da aplicao voltada para Web estar disponibilizada em uma rede, a

princpio o acesso s informaes esto abertas para acesso no-autorizado. Em alguns casos,
o acesso no-autorizado a informaes por pessoas com intenes maliciosas pode causar
danos ao contedo disponibilizado.
Existem hoje, vrias tcnicas de proteo disponveis como criptografia de dados,
firewalls e outros mtodos. A utilizao desses mtodos, diminui a possibilidade do acesso
malicioso e do acesso a contedos no disponibilizados a usurios com menos privilgios
[PRE2002].
Como foi visto anteriormente na seo 2.1 dessa monografia, a necessidade em se
definir nveis de autorizao para o acesso das informaes indispensvel numa aplicao
voltada para Web. Porm, necessria uma abordagem ao aspecto da segurana em nvel de
acesso aos dados no servidor em que a aplicao est instalada. Vrios mtodos de segurana
de dados se aplicam a diferentes nveis de proteo. A criptografia visa a camuflagem das
informaes e garante proteo em seu transporte. Os firewalls por sua vez, garantem a
integridade dos servidores da aplicao contra as invases de usurios no-autorizados pelo
sistema operacional.

2.1.3

PADRES DA INTERNET
Durante muito tempo, a linguagem padro da Internet foi o HTML (Hypertext

Markup Language) que trazia consigo a possibilidade da incluso de texto, figuras, animaes
e sons. Um novo padro est chegando ao desenvolvimento de aplicaes voltadas para Web.
O XML (Extensible Markup Language), com a utilizao do XML, o significado das tags

19
comuns so definidas na informao transmitida ao site cliente, ou seja, o contedo
atualizado dinamicamente [PRE2002].
A flexibilidade dessas linguagens proporciona o desenvolvimento de uma
aplicao voltada para Web com vantagens em relaes s demais linguagens. A grande
maioria dos servidores de aplicaes e seus respectivos clientes aceitam as aplicaes
desenvolvidas em HTML e XML de maneira nativa, sem que haja a necessidade de instalao
de plugins adicionais, como o caso da linguagem PHP.

2.2 UM ARCABOUO PARA ENGENHARIA DE SOFTWARE PARA


WEB
A necessidade de se utilizar um gerenciamento slido sobre os princpios de
Engenharia tornou-se muito importante. Torna-se ento necessrio o desenvolvimento de um
Web framework que envolva modelo de processos efetivo, constitudo por atividades e tarefas
de engenharia [PRE2002].
A Engenharia de Software para Web comea com o processo de Formulao
atividade que identifica os pontos chaves e os objetivos da aplicao e estabelece o escopo
para o primeiro incremento. O Planejamento estima os custos do projeto, avalia riscos
associados ao desenvolvimento e define um cronograma para o desenvolvimento da
aplicao. A Anlise estabelece os requisitos tcnicos para a aplicao e identifica o contedo
que ser incorporado, bem como a esttica da aplicao [PRE2002].
A atividade da engenharia, incorpora duas tarefas paralelas. O Projeto de
Contedo e Produo, que so tarefas a serem executadas pelo pessoal no-tcnico da equipe
de desenvolvimento. Nessa parte, so definidos os elementos de texto, grficos, udio e vdeo
que sero integrados a aplicao Web [PRE2002].
A Produo de Pgina uma atividade de construo que utiliza muito as
ferramentas para desenvolvimento de aplicaes Web. O Contedo adquirido na fase de
engenharia ento mesclado com o projeto de arquitetura, navegao, e interface para

20
produo de pginas em HTML, XML, e outras linguagens orientadas a processo, como o
Java. Na fase de Teste, so verificados os scripts, links e outros aspecto navegacionais da
aplicao Web [PRE2002].
Finalmente o projeto levado a Avaliao do Cliente, para verificar se os
requisitos foram bem utilizados e a aplicao realmente solucionou o dado problema
[PRE2002].
Na aplicao para o domnio do turismo o Projeto de contedo e Produo
totalmente desenvolvido por profissionais das reas envolvidas com turismo. A prestao de
informaes sobre as cidades feita pelas prefeituras, as condies climticas pelos rgos
responsveis, os meios de transporte pelas empresas de transporte e a hospedagem pelos
hotis, pousadas e reas de camping.

2.3 FORMULAO E ANLISE DE UM SISTEMA VOLTADO PARA


WEB
Formulao e anlise de um sistema voltado para Web, consiste em aplicar uma
srie de atividades de engenharia de software que comea com a identificao dos pontoschaves gerais e termina com um modelo de anlise ou uma especificao de requisitos do
sistema [PRE2002].
A Formulao permite ao cliente e ao desenvolvedor estabelecerem os pontos
cruciais do sistema e seus objetivos para a construo da aplicao voltada para Web. A
Anlise a atividade que identifica os dados, a funcionalidade, e os requerimentos
comportamentais para a aplicao voltada para Web [PRE2002].

2.3.1 FORMULAO
Um conjunto de questionamentos devem ser elaborados para que se possa
comear a formulao. So elas [PRE2002]:

21

Qual a principal motivao para o desenvolvimento da aplicao voltada


para Web?

Porque a aplicao necessria?

Quem ir utilizar a aplicao?

A resposta a cada uma dessas simples questo deve ser dada de forma mais
sucinta possvel. Assim que todos os pontos-chaves das informaes e da aplicao estiverem
definidos, um perfil de usurio criado. Esse perfil determina quais as melhores
configuraes da aplicao para melhor satisfazer ao usurio final [PRE2002].
A formulao se faz necessria pelo fato de existirem vrios tipos de aplicaes
voltadas para Web. Hoje em dia, quase todos os servios existentes em forma presencial
podem ser adaptados para uma aplicao voltada para Web.

2.3.2 ANLISE
Quatro tipos de anlises devem ser considerados para a criao de um escopo
completo para uma aplicao voltada para Web [PRE2002].
Anlise de contedo: Nessa anlise todo o contedo da aplicao voltada para
Web analisado. Incluindo textos, imagens, vdeos e demais recursos a serem
utilizados.
Anlise de interao: analisada a maneira que o usurio se interagir com a
aplicao voltada para Web.
Anlise Funcional: O uso de cenrios criados na fase de anlise de interao
definem as aes da aplicao voltada para Web. Todas as operaes e funes
so descritas em detalhes.
Anlise de Configurao: O ambiente e a infra-estrutura em que a aplicao
voltada para Web estar hospedada so analisados. Ela poder estar sendo

22
utilizada numa Intranet ou Extranet. Nessa fase tambm definido qual banco de
dados ser utilizado para a aplicao voltada para Web.
Embora uma especificao de requisitos detalhada de uma aplicao voltada para
Web seja recomendada, esses documentos so raros pois a evoluo contnua da aplicao
torna-os obsoleto [PRE2002].
As anlises descritas acima so de suma importncia para o desenvolvimento de
uma aplicao voltada para Web. Com essas anlises o desenvolvimento da aplicao se torna
mais consistente, evitando o desperdcio de tempo e evitando tambm que informaes
desnecessrias sejam includas no projeto.

2.4MODELOS PARA APLICAES VOLTADAS PARA WEB


Para elaborar um modelo baseado em Web efetivamente, o desenvolvedor deve
utilizar com quatro elementos tcnicos.
Princpios e mtodos de modelagem: Modularidade com alta coeso de
informaes, ocultao de informaes, elaborao gradativa, e outras heursticas da
Engenharia de Software que tornam a aplicao voltada para Web fcil de ser adaptada,
evoluda, testada e usada. O UML por exemplo pode ser adaptado para a Engenharia de
Software voltada para Web [NAN98].
Golden Rules: Aplicaes voltadas para Web vm sendo desenvolvidas h anos.
Com isso os desenvolvedores criaram um conjunto de regras que podem ser reutilizadas para
elaborao da aplicao voltada para Web.
Design Patterns: o Design Pattern um modelo geral que desevolvido para
solucionar um problema genrico e que pode ser utilizado para implementao de outras
aplicaes voltadas para Web. Podem ser utilizados no somente nos elementos funcionais
como tambm na documentao, grficos e na prpria modelagem da aplicao.

23
Templates: Um modelo pode ser utilizado para se construir o esqueleto da
moldura do design pattern. O template implicitamente separa o contedo hipermdia da
especificao estrutura do modelo.
A utilizao desses elementos proporciona ao desenvolvedor uma srie de
facilidades em sua fase de implementao. O uso de design patterns e templates por exemplo,
economiza muito tempo na implementao de uma aplicao voltada para Web por se
tratarem de modelos j existentes que na maioria das vezes as alteraes necessrias para
adapt-los as mais diversas necessidades so mnimas.

2.4.1

PROJETO DA ARQUITETURA
O Modelo de arquitetura para sistemas baseados em Web, define toda a estrutura

hipermdia da aplicao, aplica o design pattern e os templates que iro compor a aplicao
[PRE2002].
2.4.1.1 Estruturas de Aplicaes voltadas para Web
Em geral as arquiteturas de engenharia esto ligadas diretamente aos pontoschaves da aplicao voltada para Web, ao contedo que ser apresentado, aos usurios que
iro utilizar a aplicao e filosofia de navegao estabelecida. O desenvolvedor pode optar
por quatro tipos de estruturas apresentadas a seguir [POW98]:
Estrutura Linear: geralmente utilizada para representar estruturas de seqncias
de interaes e pode haver algumas variaes. Um bom exemplo para esse tipo de estrutura,
seria uma aplicao que serve como tutorial para um determinado fim. Um outro exemplo
seria o caso em que o usurio tenha que entrar com os dados em forma seqencial. Essa
estrutura exemplificada pela figura 2.2.

24

Figura 2.5 - Estrutura Linear [POW98]


Estrutura em Grade: Utilizada em casos em que a aplicao voltada para Web
possa ser representada em duas ou mais dimenses. Imagine o caso de e-commerce, onde so
apresentados diversos produtos semelhantes de vrias empresas. Os tipos de produtos
estariam dispostos em linha horizontal e os diversos fabricantes em linha vertical. Essa
estrutura representada pela figura 2.3.

Figura 2.6 - Estrutura em Grade [POW98]


Estrutura Hierrquica: sem dvida a mais utilizada por aplicaes voltadas para
Web. partir de uma pgina principal, o usurio escolhe um determinado trajeto a ser seguido
e com isso, pginas abaixo da hierarquia vo sendo apresentadas [PRE2002]. Vale lembrar
que, o usurio pode mudar de uma pgina para outra pgina da mesma hierarquia. A estrutura
apresentada pela figura 2.4.

25

Figura 2.7 - Estrutura Hierrquica [POW98]


Arquitetura em Rede: Nessa arquitetura, as pginas esto dispostas de maneira que
o usurio tem livre acesso a todas as pginas a partir de qualquer uma das pginas. Isso
garante flexibilidade ao usurio. A estrutura est representada pela figura 2.5.

Figura 2.5 - Estrutura em Rede [POW98]


As estruturas apresentadas acima podem ser combinadas para melhor representar
um determinado tipo de aplicao voltada para Web para compor novas estruturas. A maioria
da estrutura pode ser hierrquica e em algumas partes se apresentar de forma linear
[PRE2002].
Cada aplicao voltada para Web possui suas caractersticas especficas. Em cada
uma delas necessria a utilizao de uma estrutura em especial.

26
No modelo proposto pela monografia, a estrutura utilizada ser a estrutura linear,
por se tratar de uma aplicao que no necessita de navegao. O desenvolvedor pode projetar
a aplicao de forma que todas as informaes estejam dispostas em apenas uma pgina.
2.4.1.2 Design Patterns (Modelos-padro)
Um Design Pattern uma abordagem genrica que pode ser utilizada para
solucionar vrios problemas especficos.
Quando o processamento de dados requerido dentro de uma aplicao voltada
para Web, os modelos-padro propostos por [BUS96], [GAM95] e outros so aplicveis. Os
modelos-padro de navegao propostos por [BER98] permitem ao usurio se orientar dentro
da aplicao. Os modelos-padro propostos so:

Cycle um padro que permite ao usurio retornar pagina visitada


anteriormente.

Web Ring implementa uma grande rede em anel que liga o hipertexto em
um num determinado tour.

Contour ocorre quando um anel choca-se com outro permitindo a


navegao entre os demais anis.

Counterpoint padro que adiciona comentrios ao hipertexto, o qual


interrompe a narrativa para dar maiores explicaes sobre o assunto.

Morrorword o contedo apresentado usando diferentes meios, cada um


com pontos de vista diferente.

Sieve padro que induz o usurio a fazer determinadas opes com


intuito de direcion-lo a uma determinada informao.

Neighborhood padro que usa uma navegao uniforme entre as pginas


para prover uma navegao consistente ao usurio.

27
Esses modelos-padro podem ser modificados de acordo com a necessidade de
cada aplicao a ser desenvolvida [PRE2002].

2.4.2

PROJETO DE NAVEGAO
Assim que a estrutura da aplicao voltada para Web e seus componentes

estiverem definidos, o desenvolvedor deve definir caminhos para o usurio poder navegar de
forma eficiente na aplicao para acessar seus contedos e servios. Para completar, deve
tambm identificar a semntica de navegao para os vrios tipos de usurios e definir os
mecanismos de execuo da aplicao [PRE2002].
Uma aplicao voltada para Web de grande porte pode vir a ter vrios tipos de
usurios, como usurios comuns, usurios registrados, usurios com privilgios, entre outros.
Com isso, cada conjunto de usurio ter permisso de acesso somente quelas determinadas
pelo desenvolvedor [PRE2002].
Com a definio dessas permisses, a modelagem de navegao deve encaminha
o usurio pelos dados que ele tem acesso, evitando assim que ele se perca em reas restritas
[PRE2002].
Prosseguindo na modelagem de navegao, o desenvolvedor deve definir os
mecanismos de cada link de navegao e qual o melhor componente a ser usado para exibir
esse link, tais como, textos, botes entre outros [PRE2002].
Na modelagem proposta por essa monografia, o projeto de navegao torna-se
dispensvel, pois a aplicao pode apresentar todas as informaes em uma nica pgina.
claro que existem diversas maneiras de se implementas uma aplicao a partir do modelo
apresentado, mas o objetivo principal da aplicao para o domnio de turismo simplificar ao
mximo as consultas referentes a viagens a serem realizadas.

28
2.4.3

PROJETO DA INTERFACE
As aplicaes voltadas para Web tm algumas caractersticas especiais que no

so encontradas em aplicaes comuns e devem ser consideradas [PRE2002].


A interface de uma aplicao votada para Web sua primeira impresso. Ela
revela o valor de seu contedo e a sofisticao de seus servios e capacidade de
processamento. Nielsen e Wagner [NIE96] sugerem algumas regras bsicas para
implementao de interface em aplicaes voltadas para Web.

Erros de servidores geralmente levam os usurios a sarem do site para


procurarem informaes em outros sites.

A leitura na tela do computador, geralmente vinte e cinco por cento mais


lenta que a leitura normal. No se deve colocar textos muito extensos para
evitar o cansao do usurio.

Evitar as mensagens pgina em construo pois as mesmas causas


expectativas e desapontamento ao usurio.

Usurios preferem no rolar a tela. As informaes principais devem estar


dispostas de maneira a facilitar a leitura em resolues mais comuns.

Os menus de navegao e as barras de links no topo da pgina devem ser


desenvolvidas consistentemente, e devem estar disponveis em todas as
pginas que o usurio navegar.

A esttica nunca pode prejudicar a funcionalidade.

As opes de navegao devem ser bvias. O usurio no deve ter que


procurar na tela a maneira que ele vai acessar outros contedos ou
servios.

29
Uma interface bem projetada causa ao usurio uma boa impresso do contedo
que est sendo visitado. Ela no precisa ser agressiva e sim bem estruturada e
ergonomicamente confortvel aos olhos do usurio [PRE2002].
O projeto de interface define a aparncia da aplicao voltada para web. As cores
utilizadas, a disposio dos dados na pgina e a induo ao correto uso da aplicao so
caractersticas importantes definidas nesta fase. Um exemplo de interface onde a disposio
das informaes e funes da aplicao para o domnio do turismo encontrado no Anexo I
deste trabalho. Vale lembrar que o prottipo da interface apresentada, visa apenas a
disposio dos dados a serem informados de forma consistente e objetiva e no a utilizao de
cores e demais aspectos grficos..

2.5 TESTANDO A APLICAO VOLTADA PARA WEB


A fase de teste consiste em fazer exaustivos exerccios sobre o software com
intuito de achar possveis falhas no decorrer de sua utilizao. Como uma aplicao Web
reside em uma rede de computadores, ela ser utilizada por diversos sistemas operacionais,
browsers, plataformas de hardware e protocolos de comunicao, e isso faz com que a busca
por erros se torne uma tarefa exaustiva para os desenvolvedores [PRE2002].
A seguir so apresentados passos para realizao de testes na aplicao voltada
para Web [PRE2002].

O modelo de contedo revisado para identificao de erros.

O modelo de Design revisado para encontrar erros de navegao.

Os componentes de processos selecionados so testados individualmente.

A arquitetura construda e os testes de integrao so realizados.

Os testes de funcionalidade e de entrega de contedo so efetuados.

30

A aplicao instalada em vrios ambientes de utilizao e testados em


todos esses ambientes.

Finalmente, a aplicao monitorada por usurios anteriormente


contactados, os beta-testers.

Como aplicaes voltadas para Web evoluem continuamente, as atividades de


teste deve ser contnua, conduzida pelo grupo de suporte da aplicao [PRE2002].
Na aplicao desenvolvida para o domnio do turismo, as informaes devero ser
sempre atualizadas e conferidas pelos responsveis pelo prestao dessas informaes e pelos
desenvolvedores da aplicao. Devido ao grande nmero de modificaes realizadas, como
por exemplo a variao de cmbio e condies climticas, o grupo de suporte da aplicao
deve sempre manter contato com seus informantes para que dados incorretos sejam
apresentados aos seus usurios.

2.6GERNCIA DO PROJETO
Engenharia para Web um processo complicado e necessita de vrios
profissionais trabalhando em paralelo para produzir uma aplicao voltada para Web que
possua qualidade.
Alguns profissionais so imprescindveis para o bom desenvolvimento da
aplicao Web [PRE2002].

Desenvolvedor de Contedo Rene as informaes relacionadas ao


contedo da aplicao. Devem trabalhar com direitos de exibio da
informao, coletar dados e tratar a parte relacionada ao marketing.

Web Publisher Deve organizar o contedo coletado para a incluso na


aplicao.

31

Engenheiro de Web Como temos dito, o engenheiro de Web deve fazer a


anlise, modelagem de arquitetura, modelagem de interface e modelagem
navegacional.

Especialista em Suporte Como aplicaes voltadas para Web evoluem


continuamente, o especialista em suporte deve estar sempre dando
manuteno aplicao.

Administrador Tambm chamado Web master, a pessoa responsvel


pela administrao dia-a-dia da aplicao, como trfego na aplicao.

O papel de cada membro da equipe de desenvolvimento deve sempre ser bem


definido para que o processo de engenharia seja bem realizado. Cada profissional,
desempenhando bem suas funes, garante um projeto final bem elaborado.

32

3 DESENVOLVIMENTO DE UMA APLICAO PARA O


DOMNIO DO TURISMO

3.1 PLANO DE DESENVOLVIMENTO

3.1.1 OBJETIVOS
O objetivo principal do projeto criar um modelo genrico que possa ser utilizado
de forma a possibilitar ao usurio a consulta especfica a informaes relacionadas s cidades
de origem e destino desejadas com todas as informaes relacionadas meio de transporte,
hospedagem e atraes tursticas dessas cidades de maneira organizada.

3.1.2 FUNES PRINCIPAIS


A aplicao fornecer dados relativos a viagens tursticas de forma que o cliente
possa encontrar todos os dados necessrios para efetuar uma viagem com segurana e
conforto.
Sero informadas aos usurios, todas as informaes sobre destino pretendido,
meio de transporte e seus respectivos horrios e valores e, quais as opes de hospedagem.
Essas informaes, devero ser concisas e consistentes, evitando desperdcio de
tempo e informaes concorrentes.

33
3.1.3 QUESTES DE DESEMPENHO
Por se tratar de uma aplicao Web, as informaes a serem apresentadas, devero
ser apresentadas de forma rpida e objetiva, evitando uma quantidade excessiva de sons e
vdeos na aplicao.
Caso seja considerada a hiptese da utilizao de vdeos, o mesmo dever ser
exibido atravs de uma pgina parte da aplicao principal, evitando assim de carregar a
aplicao e estressar o usurio.

3.1.4 RESTRIES TCNICAS ADMINISTRATIVAS


Como a aplicao Web tratar de informaes reunidas de vrios informantes
como hotis, empresas de transporte, e de rgos responsveis por meteorologia, essas
informaes sero apresentadas de forma totalmente atualizadas caso haja o correto
fornecimento das mesmas. Principalmente no que se refere a vagas disponveis em hotis e
pousadas e disponibilidade de horrios e passagens nas empresas de transporte.

3.1.5 AVALIAO DOS MODELOS EXISTENTES


Os websites existentes rede mundial de computadores no apresentam em sua
maioria os atributos citados no captulo anterior. Um exemplo claro dessa afirmao, foi uma
analise feita no site http://www.ipanorama.com, onde as informaes referentes cidade de
Barbacena-MG por exemplo, foram alteradas intencionalmente por um indivduo o que
mostra claramente a falta de segurana discutida no item 2.1.2, e mostrado na figura 3.1.

34

Figura 3.1 Website modificado por indivduo no autorizado


Outro website analisado, o http://www.brazilpersontour.com.br/, apresentou
falhas em seus links, direcionando o usurio a contedos ainda no existentes como no caso
de aluguis de espaos no link de eventos, onde o usurio no encontra as informaes
necessrias para o mesmo. Isto est demonstrado na figura 3.2 abaixo:

Figura 3.2 Website com informaes inexistentes


Outro website analisado falhou em relao ao requisito de qualidade
usabilidade. No website www.aviagem.com.br, o usurio pode fazer pesquisa por destinos

35
variados, mas o website no apresenta de forma clara quais os destinos que a aplicao possui
armazenado ao invs de apresentar uma lista de destinos, o que induz ao erro do usurio. O
Website no encontrou a cidade de Barbacena como demonstrado na figura 3.3.

Figura 3.3 Falha na pesquisa de destinos pelo website.

3.2 ESPECIFICAO DE REQUISITOS DA APLICAO

3.2.1 REQUISITOS FUNCIONAIS

3.2.1.1 Insero e Manuteno de Informaes


a) o usurio entrar com o dado referente ao destino, meio de transporte e
hospedagem desejada.
b) o Web Master ser o responsvel pela insero e manuteno dos referentes
dados:

Destino

36

Dado um determinado destino, apresentado ao usurio as condies


climticas em determinadas estaes do ano, informando as temperaturas
mdias nesses perodos e ainda informar as condies climticas atualizadas e
se possvel, com previses. So informados tambm, quais as atraes
tursticas do destino, como festas regionais, culinria e opes alternativas de
turismo na regio do destino.

Transporte

So informadas as formas de transporte existentes para se chegar ao destino


desejado, por exemplo, transporte areo, transporte terrestre, transporte fluvial,
indicando os locais de embarque e desembarque, os respectivos valores, o
tempo estimado de viagem para cada tipo de transporte e as datas possveis
para partida e retorno. So informados ainda, quais so as opes de ligao
aeroporto-hotel-aeroporto.

Hospedagem

Nas informaes referentes a hospedagem so informados os tipos de


hospedagem existentes como hotis, pousadas, reas de camping, com as
respectivas localizaes, os valores para quartos individuas, para casais ou
ainda coletivos, os detalhes dos servios oferecidos pelo local de hospedagem,
bem como opes extras de servios e a disponibilidade de vagas ou reservas
para determinadas datas.
c) a aplicao deve permitir alteraes realizadas pelo Web master nos itens
listados no item b.
d) a aplicao deve permitir excluso de informaes pelo Web master nos itens
listados no item b.

37
a) a aplicao deve informar periodicamente, quais os destinos mais consultados.
3.2.1.2 Consultas da aplicao
a) Na aplicao Web, o usurio contar com uma pesquisa ampla porm objetiva;
ele fornecer o destino pretendido. Com isso, sero apresentadas as
informaes referentes ao destino como clima e atraes tursticas em suas
respectivas pocas do ano. Por exemplo, digitado o destino pretendido
Barbacena a aplicao apresentar as mdias de temperaturas em
determinadas pocas, as festas regionais com suas respectivas datas previstas e
quais os pontos tursticos da cidade.
b) Dado o destino, sero apresentados os meios de transporte disponveis e a partir
da escolha do usurio, sero apresentados seus horrios e outras informaes
de acordo com o item 3.2.1.1.b.
c) Definido o meio de transporte, a aplicao requisita do usurio, o tipo de
hospedagem desejado e apresenta as opes com suas respectivas
disponibilidades de vagas, valores e outras informaes de acordo com o item
3.2.1.1.b.
d) A velocidade de consulta, se tratando de uma aplicao Web, depender da
velocidade de conexo do usurio. No caso de linhas discadas, que seria a
princpio, a pior das hipteses, a consulta no deve levar mais que 20 segundos.

3.3 REQUISITOS DE QUALIDADE

3.3.1 CONFIABILIDADE
A aplicao deve ser concisa e objetiva, apresentando dados atualizados e
corretos, e apresentados de forma organizada. Os dados a serem informados ao usurio so
fornecidos por entidades responsveis por turismo como agncias tursticas, secretarias

38
municipais e estaduais de turismo, hotis, pousadas e empresas de transporte. Cabe ao Web
master apresent-las com exatido e responsavelmente, j que o objetivo da aplicao que o
usurio no necessite de confirmaes posteriores.

3.3.2 EFICINCIA
A aplicao deve prever conexes de baixa velocidade, portanto, seu contedo
hipermdia deve ser apresentado de forma mais coerente possvel para que as respostas s
consultas sejam apresentadas em tempo confortvel ao usurio.

3.3.3 PORTABILIDADE
A aplicao Web deve ser desenvolvida em linguagem comum a todos os tipos de
browsers do mercado. Assim sendo, poder ser adaptado para servidores Unix, Linux ou da
plataforma Windows. A maioria das aplicaes existente hoje em dia, so desenvolvidas em
linguagem PHP ou ASP, utilizando o banco de dados MySQL que um software freeware.
Os requisitos de qualidade apresentados acima, so requisitos analisados na fase
de implementao e testes da aplicao voltada para web. A modelagem proposta por esse
trabalho aborda outros tipos de requisitos de qualidade:

3.3.4 MANUTENABILIDADE
As alteraes nos contedos que so freqentes e s vezes tem que serem
imediatas, no interferem

nas caractersticas da estrutura global da aplicao mantendo

sempre a estrutura inicial.

3.3.5 ENTENDIBILIDADE
Atravs de modelos graficamente representados, o desenvolvedor compreende
melhor o que deve ser implementado. O uso de padres para elaborao dos diagramas na

39
modelagem, como o UML que foi utilizado neste caso, facilita o entendimento global para
todos os desenvolvedores.

3.3.4 FLEXIBILIDADE
As alteraes nas estruturas apresentadas podem ser feitas desde que no se perca
o foco inicial da aplicao. Isto no impede que o desenvolvedor mude a estrutura, mas deve
sempre estar atento ao objetivo principal que a objetividade com que a aplicao apresenta
as informaes.

40

4 MODELAGEM DA APLICAO DE TURISMO

4.1 DIAGRAMAS DE CASOS DE USO


Os diagramas de caso de uso so importantes para apresentar os comportamentos
dos elementos do sistema [PRE2002]. No caso da aplicao de Turismo, so apresentados
dois casos de interao. No primeiro, representado pela Figura 4.1, apresentada a parte da
aplicao que representa a interao entre o usurio da aplicao e a entidade agncia que
trata de apresentar as informaes solicitadas pelo usurio. No segundo, representado pela
figura 4.2, apresentada a parte da aplicao que representa a interao entre os informantes,
no caso, prefeituras, hotis e empresas de transporte. e o Web master que o responsvel pela
apresentao desses dados na aplicao.

41

Aplicao

Escole Origem

Escolhe Destino

Escolhe Transporte

Usurio

Escolhe Hospedagem

Aplicao

Calcula Valores

Informa dados

Figura 4.1 Caso de Uso Usurio/Aplicao


No diagrama de caso de uso Usurio/Aplicao, o usurio escolhe a cidade de
origem e a aplicao verifica e apresenta os dados referentes cidade de origem. O usurio
escolhe a cidade de destino e a aplicao verifica e apresenta os dados referentes cidade de
destino. A aplicao ento, verifica e apresenta os dados referentes ao destino. A aplicao
disponibiliza os tipos de transporte existentes para se levar ao destino. A aplicao apresenta
as possibilidades de hospedagem. O usurio escolhe o tipo de hospedagem e a aplicao
calcula os valores totais e apresenta o resultado final ao usurio.

42

Aplicao

Informa Dados

Informante
Confere Dados

Web Master

Apresenta Dados

Prefeituras

Emp. Transporte
Hoteis

Figura 4.2 Caso de Uso Informante/Web Master


No caso de uso Informante/Web Master, os diversos tipos de informantes,
prefeituras, hotis/pousadas e empresas de transporte informam os dados referentes a suas
respectivas reas e o web master confere a integridade das informaes. Uma vez conferidos,
os dados devem retornar aos informantes para confirmao formal das informaes. Dado o
sucesso do recebimento das informaes, o web master apresenta as informaes na
aplicao.

4.2 CLASSES E EVENTOS

4.2.1 CLASSE CIDADE


A classe CIDADE a classe definida para armazenar informaes referentes as
cidades de origem e destino escolhidas pelo usurio. Nela est contida o CODIGO da
CIDADE, que a identificao nica da mesma, o NOME que a descrio da cidade e UF
que identifica o Estado a que pertence a cidade.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com

43
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.2 CLASSE ATRA_TUR


A classe ATRA_TUR armazena os dados referentes s atraes tursticas
existentes em uma determinada cidade dentre eles a descrio da atrao, o tipo da atrao
(festas, pontos tursticos, etc.) e os perodos em que ocorrem tais atraes. No caso de pontos
tursticos, os valores de perodo sero referentes s melhores datas para se visitar o local.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.3 CLASSE CULINRIA


A classe CULINARIA armazena dados referentes a culinrias tpicas que
possuem as cidades referenciadas e com os hotis que possuem culinria diferenciada.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o

44
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.4 CLASSE CLIMA


A classe CLIMA armazenas dados referentes s condies climticas em
determinados perodos do ano, as temperaturas mdias nos perodos e o tipo de clima geral da
localidade.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.5 CLASSE EMPRESA


A classe EMPRESA armazena informaes sobre as empresas de transporte ou
hospedagem que disponibilizam servios para efetuar o transporte dos clientes de sua origem
e destino e a hospedagem disponvel para a determinada cidade de destino. Esta classe est
dividida em outras duas subclasses Emp_Transporte e Emp_Hospedagem pois, as
caractersticas de cada uma so distintas mas compartilham atributos em comum.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

45
4.2.7 CLASSE VAGAS
A classe VAGAS tem a funo de armazenas informaes referentes a vagas
disponveis nos hotis e pousadas. So informados o tipo de vaga (casal, solteiro ou coletivo),
o nmero de vagas disponveis e o valor das mesmas.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.8 CLASSE SERVIOS


A classe SERVIOS armazenas os servios bsicos e extras das hospedagens
disponveis na cidade.
Seus eventos so: CADASTRAR - que armazena as informaes no Banco de
Dados retornando falso se algum erro for detectado ou verdadeiro caso a insero ocorra com
sucesso, CONSULTAR - que retorna os dados referentes a classe e demais informaes
agregadas, EDITAR que altera os dados cadastrados retornando falso se algum erro for
detectado ou verdadeiro caso a edio ocorra com sucesso e APAGAR que elimina o
registro do Banco de Dados retornando falso se algum erro for detectado ou verdadeiro caso a
excluso ocorra com sucesso.

4.2.9 CLASSE AGNCIA


A classe AGNCIA foi determinada para receber informaes das classes
CIDADE e EMPRESA para que nela sejam tratadas as informaes e apresentar os resultados
para o usurio.

46
Seus eventos so: CALC_Tempo Que calcula o tempo estimado de viagem entre
a cidade de origem e a cidade de destino, CALC_VALOR_TRANSP que calcula o valor
individual e total do transporte do usurio e CALC_VALOR_HOSP que calcula os valores
referentes hospedagem escolhida pelo usurio.

4.3 DIAGRAMA DE CLASSES


Uma classe a descrio de um conjunto de objetos que compartilham os mesmos
atributos, operaes, relacionamentos e semntica. Atributos so qualidades especficas de
classes, isto , um atributo uma determinada caracterstica da classe [GRA2000].
Abaixo apresentado pela figura 4.3 o diagrama de classes para a aplicao de
turismo.

47

Atra_Tur
-Nome : String
-Descrio : String
-Tipo : Short
-Periodo_Ini : Date
-Periodo_Fim : Date
+Cadastrar() : Boolean
+Consultar() : String
+Editar() : Boolean
+Apagar() : Boolean

1..*

Culinaria
-Nome : String
+Cadastrar() : Boolean
+Consultar() : String
+Editar() : Boolean
+Apagar() : Boolean

Clima

1..*

1..*

0..*

-Codigo : Short
-Epoca_Ini : Date
-Epoca_Fim : Date
-Temperatura : float
-Pluv : float
+Cadastrar() : Boolean
+Consultar() : Integer
+Editar() : Boolean
+Apagar() : Boolean

1
Cidade
1
1

Vagas
-Tipo : String
-Numero : Short
-Valor : float
+Cadastrar() : Boolean
+Consultar()
+Editar() : Boolean
+Apagar() : Boolean
1

1..*

-Codigo : Integer
-Nome : String
-UF : String
+Cadastrar() : Boolean
+Consultar() : Integer
+Editar() : Boolean
+Apagar() : Boolean

1..*

1..*

Empresa
-Codigo : Integer
-Nome : String
-Telefone : String
-Fax : String
-e-mail : String
-Website : String
-Endereco : String
+Cadastrar() : Boolean
+Consultar()
+Editar() : Boolean
+Apagar() : Boolean

1..*
Agncia

1..*
1

-Origem : Integer
-Destino : Integer
-Transporte : Integer
-Hospedagem : Integer
-Partida : Date
-Retorno : Date

Transporte

+Calc_Tempo() : float
+Calc_Valor_Transp() : float
+Calc_Valor_Hosp() : float

1..*

Emp_Hospedagem

Emp_Transporte

-Classificao
-Unidades
+Verificar_Vagas()

-Tipo_Transp
-Guich
+Verificar_Passagem()
+Verificar_Horario()

0..*

-Nome : String
-Embarque : String
-Valor : float
+Cadastrarnsp() : Boolean
+Consultar()
+Editar() : Boolean
+Apagar() : Boolean

Servicos
1

1..*
1..*

-Tipo : String
-Descricao : String
-Valor : String
+Cadastrar() : Boolean
+Consultar()
+Editar() : Boolean
+Apagar() : Boolean

Figura 4.3 Diagrama de Classes


A utilizao da herana das classes Emp_Hospedagem e Emp_Transporte foi
necessria porque tratando-se de empresas de tranposte e hospedagem, as classes possuem
atributos em comum, porm possuem atributos especficos de cada subclasse. Isso garante ao
modelo uma consistncia maior em manutenibilidade pela facilidade em fazer alteraes nas
subclasses, a compreensibilidade do modelo melhora elo fato das subclasses serem apenas a
parte distinta da classe e a flexibilidade, pois novas subclasses podem ser includas sem alterar
o modelo drasticamente.

48

4.4 DIAGRAMAS DE ATIVIDADES


O diagrama de atividades visa primeiramente demonstrar graficamente o processo
ocorrido em determinada parte da aplicao. Na figura 4.4 mostrado o diagrama de
atividade na consulta de um usurio a uma determinada origem escolhendo-se o destino.
Usurio

Aplicao

Escolher
Origem

Procurar
Origem

Apresentar Dados

Escolher
Destino

Procurar
Destino

Apresentar Dados

Confirmar

Imprimir
Relatrio

Figura 4.4 Diagrama de Atividade


Primeiramente o usurio escolhe a origem de partida, a aplicao procura os dados
referentes cidade de origem e os apresenta ao usurio. Com isso o usurio est apto a

49
escolher a cidade de destino. A aplicao procura os dados referentes ao destino e apresenta
ao usurio. Com a confirmao do usurio a aplicao informa as opes de transporte e
hospedagem para o usurio. Uma vez escolhidos o transporte e a hospedagem, o programa
imprime um relatrio com todos os dados.

4.5 DIAGRAMAS DE ESTADOS


O diagrama de estados na UML mostra a seqncia de estados que um objeto se
apresenta em determinados pontos da aplicao com suas respectivas aes, eventos e
condies de espera, associados com suas transies. [NOR2002]
A figura 4.5 abaixo apresenta o diagrama de estados da aplicao de turismo.

Procurando
Origens

Pgina
Carregada
Procurando
Destinos

Apresentando
Cidades Origem

Apresentando
Cidades Destino

Origem Escolhido

Destino Escolhido

Falso

Falso
Procurando
Origem por Codigo

Procurando
Destino por Codigo

Verdadeiro
Apresentando
Dados

Verdadeiro

Falso
Procurando
Transporte
Meio
Escolhido
Verificando
Disponibilidade

Procurando
Hospedagem

Apresentando
Dados

Hospedagem
Escolhida
Falso

Verificando
Vagas
Confirmao

Confirmao
Calculando
Valores
Valores
Calculados
Apresentando
Dados

Imprimindo
Relatrio

50
Figura 4.5 Diagrama de Estados
No momento inicial, a pgina principal da aplicao apresentada. A aplicao
exibe uma cidade origem padro e uma cidade destino padro para facilitar o entendimento do
usurio. Escolhida a cidade de origem, a aplicao procura por cdigo os dados referentes a
essa cidade e os apresenta. Quando o usurio escolhe a cidade de destino, a aplicao procura
por cdigo da cidade os dados referentes e disponibiliza a pesquisa de meio de transporte e
meio de hospedagem existentes para essa cidade, verificando vagas e horrios. Caso seja
confirmado o destino, transporte e hospedagem, a aplicao calcula os valores totais e os
apresenta em relatrio e na prpria aplicao.

51

5 CONCLUSES

2.7 REVISO
Esta monografia apresentou em seu segundo captulo uma viso geral sobre a
Engenharia de Software para Web, apresentando os atributos de qualidade de uma aplicao
voltada para Web como Atributos de Qualidade, Segurana e Padres da Internet, Formulao
e anlise de um Sistema Voltado para Web, Modelos de aplicaes voltadas para Web, e
ainda, os Testes a serem feitos e a gerncia do projeto.
No terceiro captulo, a monografia apresentou as etapas do desenvolvimento de
uma aplicao de turismo voltada para Web, detalhando o seu plano de desenvolvimento, a
especificao de requisitos e requisitos funcionais, os requisitos de qualidade que englobam a
confiabilidade da aplicao, eficincia e a portabilidade.
No quarto captulo, foram apresentados os modelos gerais da aplicao de turismo
voltada para Web. Foram apresentados os diagramas de caso de uso, a descrio das classes e
seus respectivos eventos, o diagrama de classes, o diagrama de atividades e finalmente o
diagrama de estados.

2.8 CONCLUSES
A utilizao das tcnicas de modelagem da engenharia de software no
desenvolvimento de aplicaes voltadas para Web ainda hoje uma ferramenta pouco
utilizada pelos desenvolvedores. O desconhecimento de tais tcnicas e metodologias ou ainda
a ideologia de que aplicaes voltadas para Web no necessitam de tratamento especial em

52
seu projeto, vem fazendo com que diversas aplicaes Web hoje em utilizao na rede
mundial de computadores tenham seus aspectos fundamentais de qualidade questionados
pelos usurios.
Um exemplo prtico desse fato, so as aplicaes voltadas para prestar
informaes tursticas a clientes de agncias tursticas. Na maioria delas, as informaes esto
dispostas de forma confusa e ineficientemente apresentadas aos usurios.
A utilizao de tcnicas de modelagem da Engenharia de Software para o
desenvolvimento de aplicaes voltadas para Web, tem importncia fundamental para se
chegar a uma aplicao de qualidade.
Com isso, as modelagens apresentadas, visam ajudar aos desenvolvedores de Web
sites tursticos servindo de um ponto de partida para o desenvolvimento da aplicao de
turismo voltada para Web. A partir dos modelos bsicos apresentados, os desenvolvedores
podem adaptar os mesmo as suas necessidades especficas sem alterar a caracterstica
principal das mesmas que implantar a Engenharia de Software para a aplicao voltada para
Web utilizando esses modelos para o desenvolvimento de uma aplicao com qualidade.
No modelo proposto por esse trabalho, o usurio tem mais possibilidades de
chegar ao resultado desejado pois as informaes so mais completas e mais especficas do
que as apresentadas pelas aplicaes analisadas. Os itens que diferenciam a aplicao voltada
para web proposta por essa monografia, que caracterizam a superioridade em relao aos
demais sites analisados, http://www.brazilpersontour.com.br/, http://ipanorama.globo.com/ e
www.aviagem.com.br, esto descritos a seguir:

Nenhum dos websites analisados disponibilizam a opo de se escolher uma


determinada cidade de origem o que impossibilita ao usurio de planejar um roteiro
turstico. No website http://ipanorama.globo.com/, so apresentados apenas os links
para as pginas da cidade, onde a maioria delas no apresenta as informaes
apresentadas pelo modelo proposto.

53

O modelo proposto apresenta informaes sobre meios de transportes e o que ocorre


no site http://www.brazilpersontour.com.br/ por exemplo, apresentado ao usurio
apenas os links para companhias areas, o que dificulta a pesquisa do usurio.

O modelo apresentado rene todas as informaes necessrias para o usurio dispostas


de maneira objetiva e clara. Nos demais websites, essas informaes esto em pginas
diferentes o que dificulta ta pesquisa do usurio.
Um fato que deve ser considerado que o modelo proposto resulta de uma idia

inovadora para websites de turismo. No existe ainda uma aplicao que faa tudo o que o
modelo prope para que sejam feitas comparaes diretas entre os modelos. No entanto,
levando em considerao que um usurio acessa um website de informaes tursticas para
realizar uma viagem, as aplicaes existentes hoje na rede mundial de computadores falham
no fornecimento das informaes necessrias para realizar uma viagem seja por falta de
informao ou desorganizao das informaes apresentadas.

2.9 RECOMENDAES
As ferramentas de modelagem so muito versteis e funcionais. Comeando por
esse princpio, o desenvolvedor deve sempre comear seu projeto de software obedecendo as
metodologias e tcnicas da Engenharia de Software como a elaborao dos diagramas
apresentados nesse trabalho.
Cabe aos que pretendem implementar a aplicao de turismo voltada para web,
tomar esse documento como passo inicial e de acordo com suas necessidades, aprimor-lo e
desenvolver novas modelagens partir do que se encontra disponvel nesse documento.
As ferramentas de implementao de aplicaes Web so muito variadas. Devido
a flexibilidade de algumas linguagens, estas so mais utilizadas. A linguagem PHP por
exemplo, oferece ao desenvolvedor vrios recursos para que a aplicao atenda todos os seus
requisitos. Ento, poderia facilmente atender a aplicao de turismo voltada para web

54
trabalhando com o banco de dados MySQL, que alm de ser um software gratuito, atende a
todas as especificaes de um gerenciador de banco de dados.
Quanto a interface, as ferramentas so mais diversificadas ainda. Aplicaes
desenvolvidas em Macromedia Dreamweaver e Macromedia Flash, possibilitam ao web
designer preparar uma interface confortvel e com recursos avanados de design.
A escolha das ferramentas de implementao e de interface grfica varia de
desenvolvedor para desenvolvedor. Nesse caso, o que importa que essa escolha no altere a
estrutura apresentada nesta monografia e que, no torne desconfortvel a navegao do
usurio na aplicao.

55

REFERNCIAS BIBLIOGRFICAS

[PRE2002]PRESSMAN, Roger S. Software Engineering: McGRaw-Hill , 2002.


[GEN2000 et. al.] Gennaro Costagliola, Filomena Ferrucci, Rita Francese. Web
Engineering: Models and Methodologies for the design of Hypermidia Applications:
Dipartimento di Matematica e Informatica, Universit di Salerno Via S. Allende, Italy 2000.
[NOR2000 et. Al.] Nora Koch, Andreas K.,. The Expressive Power of UML based Web
Engineering: Ludwing-Maximilians-Universitt Mchen, Germany 2000.
[GRA2000] Grady B., James R., Ivar J., UML Guia do Usurio: Ed. Campus, Rio de Janeiro
Brasil, 2002.
[BUS 96] Bushmann, M. et, al., Pattern-Oriented Software Architecture, Wiley, 1996.
[GAM95] Gamma, E., et. Al., Design Patterns, Addison-Wesley, 1995.
[BER98] Bernstein, M., Patterns in Hypertext, Proc. 9th ACM Conf. Hypertext, ACM Press,
1998, pp. 21-29.
[NIE96] Nielsen, J. and A. Wagner, User Interface Design for the WWW, Proc. CHI 96
conference on Human Factors in Computing Systems, ACM Press, 1996, pp. 330-331.
[OLS99] Olsina, L., et. al., Specifying Quality Characteristics and Attributes for Web
Sites, Proc. First ICSE Workshop on Web Engineering, ACM, Los Angeles, 1999.

56

ANEXO I INTERFACE PREVISTA