UNIP INTERATIVA Projeto Integrado Multidisciplinar VII Cursos Superiores de Tecnologia Tecnologia
SISTEMA DE LOCADORA DE VEÍCULOS
Polo UNIP São LuísMA !"#$
UNIP INTERATIVA Projeto Integrado Multidisciplinar VII Cursos Superiores de Tecnologia Tecnologia
SISTEMA DE LOCADORA DE VEÍCULOS
RA: CURSO: Análise e Desenvolvimento de Sistemas SEMESTRE: 4º
Polo UNIP São LuísMA !"#$
RESUMO O principal desafio deste Projeto Integrado Multidisciplinar é criar um sistema para locadora de veculos! será necessário fa"er a análise e desenvolvimento do soft#are$ %o decorrer do tra&al'o! teremos algumas no()es de t*picos vistos em disciplinas do curso sendo colocados em prática! o +ue claramente ajudara,nos a desenvolver nossa capacidade de criar para encontrar e solucionar os pro&lemas relacionados com nossa futura profiss-o: analista de sistema! analista de &anco de dados! etc$ Mesmo o PIM sendo apenas um tra&al'o acad.mico para o&ten(-o da nota referente ao 4º perodo do curso de Análise e Desenvolvimento de Sistemas! no +ual o aluno irá se deparar com incerte"as! dificuldades e riscos! entregar o projeto finali"ado! levando em conta as tend.ncias atuais do mercado de tra&al'o! ele deve proporcionar ao usuário final uma ferramenta +ue supra plenamente todas suas as necessidades e alavancar ainda mais os nossos con'ecimentos na área de informática$
Palavras-chave: análise! veculos! sistema! soft#are$
ABSTRACT /'e main c'allenge of t'is Multidisciplinar0 Integrated Project is to create a s0stem for ve'icle rental compan0! 0ou need to do t'e anal0sis and soft#are development$ During t'e #or1! #e #ill 'ave some notions visa topics in course su&jects &eing put in place! #'ic' clearl0 'elped us to develop our a&ilit0 to create to find and solve t'e pro&lems related to our future profession: S0stem Anal0st! Anal0st data&ase! etc$ 2ven t'e PIM &eing just an academic #or1 to o&tain t'e note of t'e 4t' period of t'e course of S0stems Anal0sis and Development! in #'ic' t'e student #ill &e faced #it' uncertainties! difficulties and ris1s! deliver t'e finis'ed project! ta1ing into account current trends la&or mar1et! it s'ould provide t'e end user a tool t'at full0 meet all 0our needs and furt'er leverage our e3pertise in computer science .
Keys wor: anal0sis! ve'icles! s0stem! soft#are$
SUM!RIO
"
I#TRODU$%O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% $
&
DESE#VOLVIME#TO%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%& $5
6enário....................................................................................................... 7
2.2
7ustificativa do Projeto................................................................................... 7
$8
Ar+uitetura M96........................................................................................... 7
$4
Modelo 2ntidade elacionamento ...................................................................8
$;
$;$5
Diagrama de 6lasses .............................................................................. 9
$;$
Diagrama de Se+u.ncia.......................................................................... 9
$;$8
Diagrama de Atividades ......................................................................... 10
$;$4
Diagrama de Implanta(-o ...................................................................... 10
$@
Projeto de Sistema Para =oca(-o de 9eculos................................................10
'
CO#CLUS%O%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!'
(
RE)ER*#CIAS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!(
6
"
I#TRODU$%O O uso de computadores nas mais diversas áreas do con'ecimento 'umano
tem gerado uma crescente demanda por solu()es computadori"adas$ Para os iniciantes na 6i.ncia de 6omputa(-o! desenvolver soft#ares é! muitas ve"es! confundido com programa(-o$ 2ssa confus-o inicial pode ser atri&uda! pela forma como as pessoas s-o introdu"idas nesta área de con'ecimento! come(ando por desenvolver 'a&ilidades de raciocnio l*gico! através de programa(-o e estruturas de dados$ 6riar um soft#are de +ualidade atendendo aos re+uisitos do cliente é um desafio para o engen'eiro de sistemas$ Para tanto se fa" necessário utili"ar uma a&ordagem sistemática da engen'aria de soft#are c'amada processo de soft#are$ O Processo de soft#are possui vários modelos +ue tem em comum +uatro atividades fundamentais: a especifica(-o +ue consiste na defini(-o do soft#are a ser produ"ido e suas restri()es o desenvolvimento onde é feito o projeto de soft#are &em como a programa(-o a valida(-o +ue coloca o soft#are em verifica(-o para garantir +ue as necessidades dos clientes sejam atendidas e evolu(-o em +ue o soft#are é modificado para atender novos re+uisitos e tecnologias do cliente e do mercado$ %a fase de desenvolvimento seja +ual for o processo adotado pelo engen'eiro de soft#are temos o projeto de soft#are onde através do documento de re+uisitos e análise ela&orados na fase de especifica(-o! projetamos o soft#are determinando a sua ar+uitetura! projeto de &anco de dados assim como diagramas de classe! se+u.ncia e de distri&ui(-o! redu"indo a intangi&ilidade do +ue será produ"ido$ %este cenário! fre+uentemente n-o é possvel condu"ir o desenvolvimento de soft#are de maneira individual$ Pessoas t.m de tra&al'ar em e+uipes! o esfor(o tem de ser planejado! coordenado e acompan'ado$ 2ste projeto tem o o&jetivo de construir a documenta(-o de design para um sistema de loca(-o de veculos sendo necessário gerar os artefatos solicitados no projeto$
7
A pes+uisa a ser reali"ada neste tra&al'o pode ser classificada como &i&liográfica$ Isto por+ue deve a pes+uisa em m-os um estudo inicialmente da constru(-o de um protocolo de investiga(-o através de resumos e fic'amentos de livros da área! leituras de artigos e pes+uisas na internet! au3iliando na percep(-o das variáveis do projeto$
& &+"
DESE#VOLVIME#TO Ce,r.o O o&jetivo principal é criar um sistema para controlar a loca(-o de
veculos em um a empresa es pe ci ali "ad a! controlar a devolu(-o e o pagamento dessas loca()es$ A empresa é de propriedade dos irm-os empresários$ 2ssa dupla de jovens empresários resolveu criar uma empresa no ramo de loca(-o de veculos$ 2ntre muitas medidas tomadas para via&ili"ar o neg*cio! fe",se necessário desenvolver um sistema para controlar as loca()es dos veculos$ 2nt-o decidiram procurar os servi(os de desenvolvedora especiali"ada em soft#ares para criar o sistema$ Ap*s um m.s e f e t i v o de intenso tra&al'o! o designer do projeto teve um imprevisto e fe" uma viagem para atender um cliente estrangeiro$ A partir deste momento n*s en+uanto estudantes do curso de Análise e Desenvolvimento de Sistemas ficaremos responsáveis por condu"ir o projeto da+ui em diante até +ue o verdadeiro ar+uiteto assuma o seu papel novamente$ 9ale lem&rar! +ue o ar+uiteto passou todas as informa()es necessários para o desenvolvimento do sistema e em +ue estágio ele se encontrava$ O ar+uiteto informou +ue a fase de análise já 'avia sido concluda! e +ue a pr*3ima etapa de desenvolvimento seria a fase de projeto >denominada de design?$ 2.2
/0s1.2.ca1.va o Pro3e1o %o cenário atual de competividade +ue temos atualmente! as empresas
est-o &uscando e3pandir seus 'ori"ontes$ 2ssa tend.ncia re+uer +ue os profissionais sejam aproveitados ao má3imo principalmente no +ue di" respeito a produtividade! e com uma redu(-o su&stancial do tempo necessário para e3ecutar
8
suas atividades! diminuindo os custos na opera(-o! e permitindo +ue a empresa desenvolva e ten'a ainda mais seu potencial de competitividade! com um servi(o célere! seguro! efica" e tendo so&retudo um grande valor$
&+' Ar40.1e10ra MVC O M96 >model B vie# , controller? é um padr-o de ar+uitetura de soft#are permite fa"er a separa(-o em camadas dos elementos de um sistema! permitindo altera()es locali"adas$ C a &ase para gerenciamento em sistemas #e&$ A ar+uitetura do sistema é estruturada em tr.s componentes l*gico +ue fa"em a intera(-o entre si$ O componente modelo gerencia os dados e as opera()es +ue est-o associadas a esses dados$ A componente vis-o! define e gerencia como os dados s-o apresentados aos usuários$ O componente controlador gerencia a intera(-o do usuário! passando essas intera()es para a vis-o e modelo$
&+( Moelo E,1.ae Relac.o,a5e,1o O M2 B Modelo 2ntidade,elacionamento B C um modelo conceitual desenvolvido e proposto pelo Dr$ Peter Pin,S'an 6'en em 5E@ e é focado nos conceitos de: 2ntidades! atri&utos e relacionamentos entre as entidades$ 2ste tipo de modelagem de &ancos de dados tornou,se mundialmente famoso e possui grande recon'ecimento parte da 2ngen'aria de Soft#are! tornando os o&jetos o&servados no modelo de neg*cios em entidades$ 6omo o D2 B Diagrama 2ntidade elacionamento O D2 pode ser entendido como uma forma l*gica! gráfica e intuitiva de visuali"ar as concep()es +ue envolvem a modelagem dos dados de acordo com o modelo de dados 2ntidade,elacionamento$ %este diagrama! podemos ver claramente o conjunto de entidades! o conjunto de atri&utos das entidades e os relacionamentos e3istentes alin'ados de acordo com o entendimento do modelo de neg*cios proposto$ A estrutura D2 é composta por figuras geométricas! te3tos e nFmeros$ As figuras representam as entidades e os relacionamentos! sendo o primeiro representado por +uadrados ou retGngulos e o segundo por losangos$ Os te3tos
9
descrevem os nomes dos atri&utos +ue uma entidade possui e os nFmeros se referem H cardinalidade mapeada entre as entidades$
&+6 UML 7U,.2.e Moel.,8 La,80a8e9 A
&+6+" D.a8ra5a e Classes Diagrama de classes é considerado por muitos autores como o mais importante e o mais utili"ado diagrama da
10
&+6+& D.a8ra5a e Se40,c.a O diagrama de se+u.ncia e+uivale em modelar a intera(-o entre os o&jetos do sistema$ Permite identificar postos especficos de e3ecu(-o do sistema$ A visuali"a(-o do diagrama consiste identificar os o&jetos nas lin'as verticais$ Os relacionamentos s-o através de setas e o decorrer do tempo visuali"a(-o de cima para &ai3o$
&+6+' D.a8ra5a e A1.v.aes O Diagrama de atividade é um diagrama referenciado pela =inguagem de Modelagem
>
e
representa
os
flu3os
condu"idos
por
processamentos$ C essencialmente um gráfico de flu3o! mostrando o flu3o de controle de uma atividade para outra$ 6omumente isso envolve a modelagem das etapas se+uenciais em um processo computacional$ Os diagramas de atividade s-o importantes para a modelagem de aspectos dinGmicos de um sistema ou um flu3ograma! e tam&ém para a constru(-o de sistemas e3ecutáveis por meio de engen'aria de produ(-o reversa$
&+6+( D.a8ra5a e I5;la,1a<=o O diagrama de distri&ui(-o ou implanta(-o representa a configura(-o e a ar+uitetura do sistema em +ue estar-o ligados os respectivos componentes$ O diagrama de distri&ui(-o! ou de implanta(-o! mostra como os componentes s-o configurados para e3ecu(-o! em n*sN de processamento$
11
&+> Pro3e1o e S.s1e5a Para Loca<=o e Ve?c0los 2ste projeto para o Sistema de =ocadora de 9eculos$ Será especificada a ar+uitetura do sistema! através de uma proposta de desen'o da ar+uitetura e dos respectivos diagramas de classes e de se+u.ncia de implementa(-o! diagrama de
igura 5 , Desen'o da Ar+uitetura M96
onte: Autoria pr*pria distri&ui(-o! diagrama de atividades para o método calcularMulta>? e o diagrama entidade relacionamento$ Os diagramas est-o de acordo como a ar+uitetura M96! su&divididos em estere*tipos para mel'or delimita(-o do pro&lema e organi"a(-o das classes! o +ue facilitar a manuten(-o futura do sistema$
2sse modelo de ar+uitetura M96 mostrado na figura 5 +ue as classes +ue est-o na View a e3emplo a 9eiculoorm envia eventos de usuários ao Controller e tam&ém pode solicitar atuali"a()es do Model $ O Controller mapeia as a()es de usuário para atuali"ar o modelo e fa" a sele(-o de várias Views$ O Modelo fa" o encapsulamento do estado da aplica(-o e fa" notifica()es a View de mudan(as de estado$ /emos
12
uma classe +ue denominamos de Aplica(-oac'ada +ue fa" a seguran(a fa"endo a prote(-o da View e Model das comunica()es com sistemas e3ternos! gerenciando essa comunica(-o$
igura B Diagrama 2ntidade elacionamento
onte: autoria própria
13
igura Mostramos uma possvel solu(-o para o Diagrama 2ntidade elacionamento onde foi definida as entidades de acordo com o diagrama de classes! fa"endo a convers-o das agrega()es e associa()es do diagrama de classes para relacionamentos no diagrama entidade relacionamento$
igura 8 B Diagrama de 6lasse de Implementa(-o 6adastrar 6liente
onte: autoria própria
A figura 8 mostras a classe de Implementa(-o 6adastrar 6liente na a intera(-o do atendente com o cliente! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$
igura 4 , Diagrama de 6lasse de Implementa(-o 6adastrar 9eculo
onte: autoria própria
14
%A figura 4 mostra a classe de Implementa(-o 6adastrar 9eculo e a intera(-o do supervisor com o veculo! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$ igura ; , Diagrama de 6lasse de Implementa(-o 6onsultar 9eiculo Disponvel
onte: autoria própria
A figura ; mostra a classe de Implementa(-o 6onsultar 9eiculo Disponvel na intera(-o do atendente com o veculo! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$
A figura @ mostra a classe de Implementa(-o 6onsultar 9eiculo =ocado Dia e a intera(-o do supervisor com a loca(-o! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$ igura @ , Diagrama de 6lasse de Implementa(-o 6onsultar 9eiculo =ocadoEDia igura , Diagrama de 6lasse de Implementa(-o a"er devolu(-o do 9eiculo
onte: autoria própria onte: autoria própria
15
A classe de Implementa(-o a"er devolu(-o do 9eculo na figura E mostras total intera(-o do cliente com o veculo e a loca(-o! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$ igura , Diagrama de 6lasse de Implementa(-o eali"ar =oca(-o do 9eiculo
onte: autoria própria
A classe de Implementa(-o eali"ar =oca(-o do 9eculo na figura mostras clara intera(-o do supervisor com o veculo e a loca(-o! a multiplicidade &em como a visuali"a(-o intera(-o da View com o Controller previstos no modelo de ar+uitetura da figura 5$
16
igura , Diagrama de Se+u.ncia de Implementa(-o 6adastrar 6liente
onte: autoria própria
O diagrama de se+u.ncia 6adastrar 6liente na figura mostrada como ocorre a se+u.ncia das opera()es necessárias para inserir um cliente no sistema$ O atendente c'ama o formulário! o controller retorna uma vie# para +ue seja preenc'ido os dados do cliente! esses dados s-o enviados e assim persistindo no retorno da mensagem$
17
igura 5K , Diagrama de Se+u.ncia de Implementa(-o 6adastrar 9eculo
onte: autoria própria O diagrama de se+u.ncia 6adastrar 9eculo na figura 5K mostra como ocorre a se+u.ncia das opera()es necessárias para inserir um veculo no sistema$ O supervisor c'ama o formulário! o controle retorna uma vie# pra +ue seja preenc'ido os dados do veiculo! esses dados s-o enviados e persistidos retornando uma mensagem$
18
onte: autoria própria igura 55 , Diagrama de Se+u.ncia de Implementa(-o 6onsulta 9eculos Disponveis
onte: autoria própria
O diagrama de se+u.ncia 6onsulta 9eculos Disponveis na figura 55 mostra como ocorre a se+u.ncia das opera()es necessárias para consultar veculos disponveis no sistema$ O atendente c'ama o formulário! o controller retorna uma vie# pra +ue seja preenc'ido os dados do veculo consultado! esses dados s-o enviados e retornados através do método consultar9eiculo>? retornando uma lista de veculos disponveis
19
igura 5 , Diagrama de Se+u.ncia de Implementa(-o 6onsultar 9eculos =ocados no dia
onte: autoria própria O diagrama de se+u.ncia Mostra a 6onsultar 9eculos =ocados no dia na figura 5 mostra como se passa a se+u.ncia das opera()es necessárias para consultar veculos locados no dia no sistema$ O supervisor c'ama o formulário! o controller retorna uma vie# pra +ue seja preenc'ido os dados da consulta! esses dados s-o enviados e retornados através do método consultar=ocacaoDia>? retornando uma lista de loca()es com os parGmetros informados$
20
igura 58 , Diagrama de Se+u.ncia de Implementa(-o a"er Devolu(-o do 9eculo
onte: autoria própria
O diagrama de se+u.ncia a"er Devolu(-o do 9eculo na figura 58 mostra como ocorre a se+u.ncia das opera()es necessárias para fa"er a devolu(-o de veculos locados no sistema$ O atendente c'ama o formulário! o controller retorna uma vie# pra +ue seja preenc'ido os dados da devolu(-o! esses dados s-o enviados e retornados os dados do veculo$ O sistema calcula o valor a ser pago informa e emite um comprovante de devolu(-o$
21
igura 54 , Diagrama de Se+u.ncia de Implementa(-o eali"ar =oca(-o do 9eculo
onte: autoria própria
O diagrama de se+u.ncia eali"ar =oca(-o do 9eculo demonstrada na figura 54 mostras como ocorre a se+u.ncia das opera()es necessárias para reali"ar a loca(-o de um veculo no sistema$ O cliente c'ama o formulário! o controle retorna uma vie# para +ue seja preenc'ido os dados da loca(-o! o sistema atuali"a as informa()es do veculo escol'ido pelo cliente e efetua a loca(-o$
22
igura 5; , Diagrama de Atividades do Método 6alcularMulta>?
onte: autoria própria
O diagrama de atividades representada na figura 5; mostra como está definido o flu3o do método calcularMulta>?$ Ao fa"er a devolu(-o! se estiver no pra"o! emite uma mensagem de devolu(-o no pra"o$ Se estiver ap*s o pra"o! o sistema calcula a multa! emite mensagem ap*s o pra"o e emite o valor da multa$
23
igura 5@ , Diagrama de Distri&ui(-o
onte: autoria própria
A figura 5@ mostras a representa o diagrama de distri&ui(-o para o projeto do sistema para loca(-o de veculos$
24
'
CO#CLUS%O Ap*s e3tensa pes+uisa so&re a teoria envolvendo a fase de Projeto e a
aplica(-o da mesma! conseguiu,se! com .3ito! o&ter todos os con'ecimentos necessários para o entendimento deste importante Projeto Integrado Multidisciplinar 9II e assim permitindo colocar em prática todo o con'ecimento aprendido em sala de aula$ Dessa forma a e3pectativa foi maior para +ue o tra&al'o tivesse .3ito completo e coer.ncia! certamente foi necessário &em mais dedica(-o e empen'o na fase de pes+uisa e ela&ora(-o do mesmo$ %o decorrer deste tra&al'o! procurou,se utili"ar uma linguagem acessvel a praticamente a todas as fai3as etárias! ao mesmo tempo +ue se nivelava a teoria com prática de forma a propiciar o resultado apresentado inicialmente! +ue seria criar um sistema para =ocadora de 9eculos da empresa dos jovens irm-os! apresentados do manual do PIM 9II$ O
projeto oportuni"ou desenvolver as 'a&ilidades de análise
e
desenvolvimento de projeto! tril'ando todos os estágios para isso! &em como fa"er com +ue se tivesse uma intera(-o real com o mundo real de soft#ares e suas dificuldades encontradas ao longo do seu desenvolvimento$ 6om um projeto &em ela&orado e estruturado! a fase do Desenvolvimento pode encontrar uma ma3imi"a(-o da sua produtividade! uma ve" +ue os programadores ter-o um forte em&asamento oriundo da fase do Projeto$ A análise deste projeto sem dFvida atendeu as e3pectativas! pois novos con'ecimentos foram a&sorvidos e o o&jetivo principal foi atingido$
25
(
RE)ER*#CIAS
AMMA! 2$ Q2=M! $ 7OQ%SO%! $ 9=ISSID2S! 7$ Des.8, ;a11er,s ele5e,1s o2 re0sa@le o2 [email protected],1e so21ware$ second ed$ Addison,Resle0! 5;$ I$ Sommerville! E,8e,har.a e So21ware! S-o Paulo: Addison,Resle0! @ edi(-o! KK8$ 7$6$ Maldonado! S$6$P$$ a&&ri! /este de Soft#areN . In: 0al.ae e So21ware: Teor.a e Pr1.ca! 2ds$ A$$6$ oc'a! 7$6$ Maldonado! T$ Re&er! Prentice Qall! KK5$ MOADO! isele P$ RAPDIS: UM PROCESSO MDA PARA DESE#VOLVIME#TO DE SISTEMA DE I#)ORMA$%O+ KK@$ Artigo Sip*sio Jrasileiro de Sistema de Informa(-o$