Aplicaţie pentru gestionarea unei agenţii de turism
Student: Munteanu Alexandru
1
– CUPRINS –
1. Limbajul UML - prezentare generală 2. Diagrame UML – tipuri de diagrame 3. Prezentarea şi descrierea aplicaiei pentru gesti!narea unei agenii de turism ". #eprezentarea acti$ităil!r unei agenii de turism cu ajut!rul limbajului UML
2
UML (The Unified Modeling Language)
Lima!ul UML
UML nu este un simplu limbaj de m!delare !rientat pe !biecte% ci &n prezent% este limbajul uni$ersal standard pentru dez$!ltat!rii s!'t(are din t!ata lumea. UML este succes!rul pr!priu-zis al cel!r mai bune trei limbaje de m!delare anteri!are !rientate pe !biecte )*!!c+% ,M% ,,/0. UML se c!nstituie din unirea acest!r limbaje de m!delare si &n plus deine ! epresi$itate care ajută la rez!l$area pr!blemel!r de m!delare pe care $ec+ile limbaje nu ! a$eau. Limbajul de m!delare m!di'icat )UML - +e Uni'ied M!deling Language0 !'eră ar+itecturi de sisteme ce 'unci!nează pe analiza si pr!iectarea !biectel!r cu un limbaj c!respunzăt!r pentru speci'icarea% $izualizarea% c!nstruirea si d!cumentarea arte'actel!r sistemel!r s!'t(are si de asemenea pentru m!delarea &n &ntreprinderi. UML este un limbaj de m!delare care !'eră ! eprimare gra'ică a structurii si c!mp!rtamentului s!'t(are. Pentru această eprimare gra'ica se utilizează n!taiile UML. !taiile UML c!nstituie un element esenial al limbajului pentru realizarea pr!priu-zisă a m!delării si anume partea reprezentării gra'ice pe care se bazează !rice limbaj de m!delare. M!delarea &n acest limbaj se realizează prin c!mbinarea n!taiil!r UML &n cadrul elementel!r principale ale acest!ra denumite diagrame.
În cadrul limbajului UML descoperim 9 tipuri de diagrame:
diagrama cazurilor de utilizare
diagrama de secvenţă
diagrama de colaborare,
diagrama de clase )cea mai
diagrama de stări
diagrama de componente
diagrama de construcţie
utilizata0
3
diagrama de obiecte
diagrama de activităţi
n cele ce urmează $!r 'i prezentate n!taiile UML care $!r 'i grupate după diagramele c!respunzăt!are 'iecărei n!taii &n parte. 4naliza unei aplicaii implică realizarea mai mult!r categ!rii de m!dele% dintre care cele mai imp!rtante sunt5
Modelul de utilizare5 realizează m!delarea pr!blemel!r şi a s!luiil!r acest!ra
&n maniera &n care le percepe utilizat!rul 'inal al aplicaiei. Diagramă as!ciată5
diagramă de cazuri de utilizare
Modelul structural 5
se realizează pe baza analizei statice a pr!blemei şi
descrie pr!prietăile statice ale entităil!r care c!mpun d!meniul pr!blemei. Diagrame as!ciate5 diagramă de module, diagramă de clase
Modelul comportamental 5 pri$eşte descrierea 'unci!nalităil!r şi a succesiunii
&n timp a aciunil!r realizate de entităile d!meniului pr!blemei. Diagrame as!ciate5 diagrama (harta de stări, diagrama de colaborare, diagrama de
interacţiune
"iagramele UML
, diagrama !'eră utilizat!rului un mijl!c de $izualizare si de mane$rare a elementel!r de M!delare. Maj!ritatea diagramel!r se prezintă sub '!rma un!r gra'uri% c!mpuse din elemente si arce. Diagramele p!t arăta ! parte sau t!ate caracteristicile elementel!r de m!delare% c!n'!rm ni$elului de detaliu util &n c!ntetul unei diagrame date. Diagramele p!t grupa in'!rmaii interdependente% pentru a arăta% de eemplu caracteristicile m!ştenite de ! clasă. Diagramele UML sunt5 •
diagramele cazurilor de utilizare % care prezintă 'unciile sistemului din punct de $edere al utilizat!rului6 acestea sunt gra'uri de act!ri şi cazuri de utilizare% a$7nd ca arce relaiile dintre ele5 as!ciaiile &ntre act!ri şi cazuri de utilizare% generalizarea &ntre act!ri% incluziunea% etinderea şi generalizarea &ntre cazuri de utilizare6 "
•
diagrame de clasă % care prezintă structura statică &n termeni de clase şi as!cieri )relaii06 diagramele de clase sunt gra'uri% a$7nd ca n!duri &n general clase% dar put7nd c!nine şi pac+ete% inter'ee sau c+iar !biecte% iar ca arce relaiile dintre aceste elemente. aceste diagrame sunt !rganizate &n pac+ete% ele put7nd depinde de alte pac+ete sau c!nstituind baza pentru c!nstruirea un!r pac+ete. , clasă trebuie să aibă un nume unic &n cadrul pac+etului din care 'ace parte% ea put7nd 'i re'erită sub '!rma NumePachet::NumeClasă.
•
diagrame de colaborare % care sunt reprezentări spaiale ale !biectel!r% legăturil!r si interaciunil!r6 diagramele din această categ!rie sunt !rganizate &n jurul r!luril!r jucate de !biecte &n cadrul unei interaciuni% cuprinz7nd ast'el şi relaiile dintre !biecte6 eistă d!uă ni$eluri de reprezentare pentru diagramele de c!lab!rare5 -
ni$elul instanel!r – diagrama de c!lab!rare la ni$elul instanel!r este un gra'% a$7nd ca n!duri !biectele participante la c!lab!rare şi ca arce legăturile dintre ele% &ns!ite de stimulii transmişi prin intermediul acest!ra6 !biectele sunt reprezentate prin dreptung+iuri ce c!nin numele !biectului subliniat6 se p!ate prezenta şi r!lul !biectului &n c!lab!rare% '!l!sind n!taia generală5
NumeObiect’’Nume!olClasi"icator’:’NumeClasi"icator#’.’NumeClasi"icator
%$-
ni$elul speci'icaiei – diagrama de c!lab!rare la ni$elul r!luril!r este '!rmată din r!luri ale clasi'icăril!r şi ale as!ciaiil!r dintre aceştia% precum şi din mesajele transmise &ntre ele6 r!lul unui clasi'icat!r se prezintă &ntr-un dreptung+i% a$7nd un nume de tipul5
’’Nume!olClasi"icatir’:’NumeClasi"icator#’.’NumeClasi"icator$% •
diagrame de sec!enţă % care prezintă temp!ral !biectele si interaciunile l!r6 diagramele din această categ!rie categ!rii cuprind !biectele care 'ac parte dint-! anumită c!lab!rare şi descriu sec$ena de stimuli transmişi &ntre !biecte &n cadrul unei interaciuni6 ele cuprind şi ! dimensiune 8
temp!rală% de!arece 'iecărui !biect &i c!respunde ! linie de $iaă% trasată $ertical sub dreptung+iul ce c!nine numele !biectului6 timpul se scurge de sus &n j!s% iar stimulii sunt reprezentai prin săgei etic+etate% de la linia de $iaă a !biectului transmiăt!r către linia de $iaă a celui recept!r6 •
diagrame de componente % care prezintă c!mp!nentele 'izice ale unei aplicaii6 c!mp!nentele p!t 'i e&ecutabile, biblioteci dinamice, tabele, "i'iere de cod sursă, "i'iere de date, documente, elemente din modele orientate pe obiecte clasice6 durata de $iaă a c!mp!nentel!r di'eră% unele
eist7nd numai &n timpul c!mpilării% altele la editarea de legături% iar altele la m!mentul rulării6 diagramele de c!mp!nente sunt gra'uri de c!mp!nente şi inter'ee ale acest!ra% interc!nectate prin relaii de dependenă% generalizare% as!ciaie% agregare şi realizare6 •
diagrame de construcţie% care prezintă c!nstrucia c!mp!nentel!r pe disp!ziti$ele +ard(are6 acestea sunt gra'uri de n!duri% &n interi!rul căr!ra se reprezintă instane ale c!mp!nentel!r% rezidente la m!mentul rulării6 n!durile sunt '!l!site pentru a m!dela sup!rtul material al sistemului% ele 'iind elemente 'izice reprezent7nd resurse de prelucrare% precum pr!ces!are sau peri'erice6 reprezentarea UML se e'ectuează printr-un cub tridimensi!nal% a$7nd &n interi!r numele tipului de n!d% sau numele subliniat al instanei unui n!d6 relaia &ntre n!duri este de as!ciaie6
•
diagrame de stări"tranziţii % care prezintă c!mp!rtamentul unei clase &n termeni de stări6 diagramele de stări au la bază d!uă c!ncepte imp!rtante5 stările%
ce caracterizează $al!ri sau seturi de $al!ri ale !biectel!r% şi
evenimentele%
ce c!nstau din stimuli eterni% ce aci!nează asupra
!biectel!r şi determină ! tranziţie de la ! stare la alta6 •
diagrame de obiecte % care prezintă !biectele si relaiile l!r% 'iind nişte diagrame de c!lab!rare simpli'icate% 'ără reprezentarea mesajel!r trimise &ntre !biecte6 !biectele sunt instane ale clasel!r% caracterizate printr-un nume şi $al!ri speci'ice atributel!r. ele se prezintă &n UML &n m!d similar clasel!r% &n dreptung+iuri ce p!t a$ea unul sau d!uă c!mpartimente. Primul c!mpartiment c!nine numele !biectului şi numele clasei% precedat 9
de :5;% ambele 'iind subliniate6 cel de-al d!ilea c!mpartiment c!nine atributele% cu tipul l!r de date şi $al!rile speci'ice !biectului. •
diagrame de acti!ităţi % care reprezintă c!mp!rtamentul unei !peraii &n termeni de aciuni6 ele sunt cazuri particulare ale diagramel!r de stare% care nu descriu &nsa un 'lu de c!ntr!l bazat pe e$enimente% ci un pr!cedural% &n care t!ate sau maj!ritatea tranziiil!r se e'ectuează aut!mat% la terminarea aciunil!r e'ectuate &n interi!rul stăril!r6
•
diagramele de c!lab!rare &mpreună cu cele de sec$enă se numesc
diagrame de interacţiune pe c7nd diagramele de stare mai sunt denumite maşini cu stări 'inite% aut!mate% etc. #elaiile care se stabilesc &ntre d!uă elemente din cadrul unei diagrame p!t 'i5 -
act!r–'unci!nalitate – relaţie de asociere
-
act!r– act!r – relaţie de generalizare
-
'unci!nalitate–'unci!nalitate
-
relaţie
de
asociere,
de
generalizare 'i de dependenţă !elaţia de asociere
– m!delează ! c!municare &ntre elementele pe care le
c!nectează. 4ceste tip de relaie apare &ntre un act!r şi ! 'unci!nalitatea sau &ntre d!uă 'unci!nalităi )trans'er de date% trimitere de mesaje sau date0. !elaţia de generalizare –
se realizează &ntre elemente de acelaşi tip şi m!delează
situaii &n care un element este un caz particular al unui alt element. /lementul particular m!şteneşte relaiile &n care este implicat elementul general. !elaţia de dependenţă –
apare &ntre d!uă 'unci!nalităi şi m!delează situaii &n
care ! 'unci!nalitate '!l!seşte c!mp!rtamentul de'init &n altă 'unci!nalitate )include0 sau &n cazul &n care c!mp!rtamentul unei 'unci!nalităi p!ate 'i etins către ! altă 'unci!nalitate.
<
Pre#entarea $i de%&rierea a'li&aiei
4ceastă aplicaie &şi pr!pune gesti!narea unei agenii de turism. 4ccesul se 'ace pe baza unei pr!ceduri de identi'icare. /istă d!uă tipuri de utilizat!ri5 •
clienii ageniei de turism
•
angajaii ageniei de turism
4plicaia pune la disp!ziia clienil!r ! m!dalitate de a $izualiza lista de !'erte turistice disp!nibile şi p!sibilitatea de a selecta ! !'ertă din lista respecti$ă. =lientul &şi p!ate rezer$a ! destinaie &nsă% după alegerea destinaiei >% el are p!sibilitatea sa se răzg7ndească. Pentru a alege ! altă !'ertă% clientul trebuie să renune la !'erta iniială >. =lientul are p!sibilitatea de a pr!pune ! !'ertă turistică. n acest sens% clientul trebuie să 'acă ! descriere a destinaiei d!rite şi să speci'ice &n ce categ!rie se &ncadrează. n cadrul listei de categ!rii% 'iecare destinaie se &ncadrează &ntr-! singură categ!rie eistentă. , !'ertă de$ine $izibilă in lista de preuri numai după ce a '!st apr!bată de către un angajat al ageniei. ,'ertele p!t 'ii listate t!ate sau p!t 'i grupate pe categ!rii. Lista de !'erte este dinamică% &n sensul că se p!ate m!di'ica pe parcursul unui an )p!t 'i intr!duse n!i !'erte &n listă sau se p!t şterge !'erte &n cazul &n care nu sunt alese de niciun client0. =lientul p!ate $izualiza !'ertele pe t!t parcursul anului. 4plicaia !'eră p!sibilitatea angajail!r de a $izualiza ce !'erte şi-au ales clienii% iar &n cazul unui anumit pr!dus% eistă p!sibilitatea de a $edea de către cine a '!st ales. Destinaia este aleasă dintr-! listă &n care p!t 'i $ăzute t!ate circuitele care au '!st selectate de cel puin un client. De!arece p!t eista '!arte multe destinaii% este necesară p!sibilitatea $izualizării acest!ra grupate pe categ!rii. 4ngajatul are p!sibilitatea de a $edea care sunt destinaiile pr!puse de către clieni% mai mult% el are dreptul de a apr!ba sau respinge ! ast'el de pr!punere. n m!mentul &n care ! destinaie este apr!bată% ea de$ine $izibilă &n lista de circuite disp!nibile. n cazul respingerii unei destinaii% aceasta nu este ştearsă imediat din baza de date% angajatul put7ndu-se răzg7ndi )&n cazul &n care c!nsideră că destinaia pr!pusă p!ate aduce un $enit c!nsistent ageniei0% urm7nd a ! accepta ulteri!r. ?
4plicaia trebuie să pună la disp!ziia angajatului p!sibilitatea de a şterge de'initi$ din baza de date un anumit circuit. 4ngajatul p!ate $edea lista tutur!r circuitel!r eistente% lista sejururil!r alese de cel puin un client şi !'erta biletel!r de a$i!n. =!nturile create sunt gesti!nate de către angajai. /i trebuie să aibă p!sibilitatea creării@editării unui c!nt. Prin c!nceptul editare se &nelege p!sibilitatea m!di'icării tutur!r in'!rmaiil!r re'erit!are la un anumit client. !i utilizat!rii trebuie să aibă p!sibilitatea m!di'icării par!lei pr!prii. Pentru rez!l$area situaiil!r &n care un anumit client &şi uită par!la% angajaii $!r a$ea dreptul să seteze@genereze par!le pentru 'iecare client. De 'iecare dată c7nd par!la unui utilizat!r este m!di'icată )de utilizat!rul şi sau de către un angajat0% utilizat!rul $a 'i &nştiinat de acest lucru prin e-mail.
A
#iagrama de clase: Se!ur *++ • • • •
"e%tinaii
•
ume ară5 tring ,raş5 tring !tel5 tring Peri!adă sejur5 tring ari' cazare5 Enteger
,oteluri
ume +!tel5 tring L!calizare5 tring tructură de cazare5 tring D!tări cam5 tring er$icii incluse5 tring er$icii cu plată5 tring
• •
ume ară5 tring Descriere ară5 tring
• •
♦ ♦ ♦
♦ ♦
=reareCDestinaii)0 electeazăCDestinaie)0
♦
=!mpletareCejur)0 M!di'icareCejur)0 FtergereCejur)0 ipărireCejur)0
• • • •
• • • •
Hară plecare5 tring ,raş plecare5 tring Hară destinaie5 tring ,raş destinaie5 tring =!mpanie aeriană5 tring /scală5 tring ip bilet5 tring Galabilitate billet5 tring ari'5 Enteger
♦
/ditareC,'ertă)0 4dăugareC,'ertă)0
•
Clieni • • • • • • •
♦ ♦
♦
•
•
-fert. ilete a/ion •
•
♦ ♦
ume5 tring =P5 Enteger Data naşterii5 Enteger 4dresă5 tring ele'!n5 Enteger /-mail5 tring Date re'erit!are la c!ntractul &nc+eiat5 tring 4dăugareC=lieni)0 FtergereC=lieni)0 =ăutareC=lieni)0 M!di'icareC=lieni)0
♦ ♦
4dăugareC!teluri)0 GizualizareC!teluri)0
Re#er/.ri on0line • • • • • •
♦
ume client5 tring r. ele'!n5 Enteger !tel5 string taiune5 tring Peri!adă5 Enteger ip circuit5 tring GizualizareC#ezer$ări)0
Cir&uite *++
Cir&uit •
• • • • • • • •
♦ ♦
ip circuit5 tring ransp!rt5 tring Durată5 tring #ută5 tring er$icii incluse5 tring Peri!adă5 Enteger Pre5 Enteger Descriere5 tring
Utili#ator
♦ ♦
• • ♦ ♦ ♦
=!nt utilizat!r5 Enteger Par!lă5 tring =reareC=!nt)0 =reareCPar!lă)0 L!gin)0
Eniializare)0 GizualizareC=ircuite)0
1B
ume5 tring 4dăugareC=ircuit)0 FtergereC=ircuit)0
(iagrama )se Case principala
11
(iagrama )se Case client
12
(iagrama )se Case anga*at
13
(iagrama )se Case administrator
1"
(iagrama )se Case anga*at+
18
#iagrama de sec!ente
ecventa de -ogare/
ecventa de -Modi"icare a unui client/
ecventa de -tergere a unui cirucit/
19