Sunteți pe pagina 1din 15

Proiectarea sistemelor

informatice
Seminar 6 - Limbajul UML
Diagrama de mașini cu stări
Modelează starea dinamică a unui obiect specific.

Diagrama de Starea reprezintă o perioadă sau o situaţie din existenţa unui obiect
maşini cu care satisface în acel moment anumite condiţii, efectuează anumite
activităţi sau aşteaptă anumite evenimente.
stări
Evenimentele determină tranziţia unui obiect dintr-o stare în alta.

Nu toate evenimentele sunt aplicabile în contextul tuturor stărilor.


Pot exista condiţii care să condiţioneze apariţia unui anumit eveniment.
Stări
• Stare - este reprezentată ca un dreptunghi cu colţuri rotunjite.
• Stare compusă – este o stare care conţine substări (stări imbricate).
• Stare submaşină – folosită pentru a reutiliza o parte a unei diagrame stări în alte
diagrame de stări; comportamentul este activat ca şi un apel de subrutină în programare
Stare iniţială şi stări finale
• Stare iniţială
• Pseudostare (obiectul nu poate ramane în acea stare)
• Semnifică începutul vieţii unui obiect.
• Stare finală
• Stare reală
• Marcheaza sfarşitul secvenţei de stări
• Obiectul poate ramâne în starea finala pentru totdeauna
• Nod de terminare
• Pseudostare
• Termină maşina de stări
• Execuția se termină imediat fără a executa activități de ieșire
Tranziţii
• Obiectul tranzitează dintr-o stare în alta când apare un eveniment şi
când sunt îndeplinite anumite condiţii.
• Tranziţia este reprezentată ca o săgeată de la o stare existentă către o
stare de intrare / ţintă.
• Tranziţia poate conţine:
✓ Declanşator: este cauza unei tranziţii care poate fi un de eveniment, o
schimbare într-o condiţie sau trecerea timpului.
✓ Condiţie: o condiţie care trebuie să fie adevărată pentru ca declanşatorul
să determine tranziţia.
✓ Efect: Acţiune care va fi invocată de obiect ca urmare a tranziţiei.
Activități
• Cu excepţia stării iniţiale şi a celei finale, fiecare stare are un nume,
atributele proprii unei stări, acţiunile şi activităţile efectuate.
• Acţiunile speciale includ:
• Entry / intrare - acțiune efectuată la intrarea într-o stare.
• Exit / ieșire - acțiune efectuată la ieșirea dintr-o stare.
• Do / acțiune efectuată pe parcursul unei stări; evenimentele externe pot întrerupe acțiunile Do.
• Defferable trigger – eveniment intern, care nu declanșează o tranziție la altă stare.
Decizii
• Decizie – o pseudostare ce realizează o bifurcaţie condiţională. Evaluează
condiţiile declanşatorilor tranziţiilor de ieşire pentru a alege o singură tranziţie
de ieşire.
Exemple de maşini cu stări
Bune practici – diagrame de mașini cu stări
⮚Se recomandă crearea unei diagrame de mașini cu stări pentru obiectele al căror
comportament se schimbă în funcție de starea obiectului.
⮚Pentru a respecta convențiile de citire de la stângă la dreapta și de sus în jos, starea
inițială trebuie desenată în colțul din stânga sus al diagramei și starea finală trebuie
desenată în partea dreaptă jos a diagramei.
⮚Numele stărilor trebuie să fie simple, intuitive și descriptive. Acestea vor fi denumite
printr-un adjectiv sau printr-o expresie care desemnează o caracteristică.
⮚Toate condițiile mutual exclusive este nevoie să se excludă reciproc. Este necesară
verificarea acoperirii tuturor situațiilor posibile.
⮚Toate tranzițiile ar trebui să aibă asociate un eveniment. În caz contrar, starea
obiectului nu s-ar putea schimba niciodată.
⮚ Stările unui obiect trebuie să se regăsească în atributele clasei respective
⮚ Acţiunile realizate în diferite stări se vor regăsi ca operaţii ale clasei respective
Aprofundăm- 1
O diagramă de mașini cu stări se realizează pentru:
a) Un caz de utilizare
b) Atributele unei clase
c) Obiectele unei clase
d) O activitate
Aprofundăm- 2
Numele unei stări este desemnat printr-un:
a) Substantiv
b) Adjectiv
c) Verb
d) O activitate
Aprofundăm- 3
O acțiune specială de tip do:
1. Se realizează la intrarea într-o stare
2. Se realizează pe parcursul unei stări
3. Se specifică pe tranziția între stări
4. Se specifică în interiorul unei stări

Variante (răspuns unic):


a) 1+4
b) 1+3
c) 2+4
d) 2+3
Aprofundăm- 4
O tranziție în diagrama de mașini cu stări include:
a) Atribut, condiție, efect
b) Declanșator, condiție, efect
c) Stare, condiție
d) Declanșator, stare, efect
Lucru la seminar
Să se întocmească diagrama de stare pentru clasa cameră din scenariul de mai jos.

Scopul proiectului este realizarea aplicaţiei informatice pentru gestiunea activităţii unei unităţi
hoteliere. În vederea cazării, un client poate solicita rezervarea uneia sau mai multor camere prin e-
mail sau telefonic. Pentru aceasta furnizează recepţionerului informaţii privind perioada de cazare şi
tipurile de camere solicitate. Clienţii vor beneficia de reduceri dacă rezervă cel puţin 3 camere sau dacă
perioada de cazare depăşeşte 5 zile. Recepţionerul verifică disponibilitatea camerelor şi îl înştiinţează
pe client de acest lucru precum şi de costul estimat al cazării. Dacă nu există camere disponibile
conform solicitării, recepţionerul poate oferi clientului alternative. De asemenea, clientul poate solicita
un discount (suplimentar sau nu), iar recepţionerul va decide fezabilitatea discountului, fiind asistat
obligatoriu de managerul hotelului. În situaţia în care clientul este de acord cu preţul propus, se va
proceda la realizarea rezervării. Pentru clienţii noi, recepţionerul solicită datele de identificare, pe care
le introduce în aplicaţie.
Odată ajuns la hotel, şi dacă a făcut în prealabil o rezervare, clientul va furniza datele de identificare ale
sale şi/sau ale rezervării şi se face cazarea. Dacă nu există o rezervare, se va verifica disponibilitatea
camerelor pentru perioada cerută. Atunci când se găseşte o astfel de cameră, se face cazarea. La finalul
sejurului, recepţionerul întocmeşte o listă cu toate serviciile solicitate de client şi preţul acestora. Lista
trebuie validată de client, după care se întocmeşte factura finală. Factura poate fi plătită parţial sau
integral, prin transfer bancar, numerar sau folosind un card bancar. Totodată, înainte de a părăsi
hotelul, clientul este rugat să completeze un formular prin care să evalueze serviciile oferite de unitatea
hotelieră. După eliberarea camerei, camerista verifică starea acesteia și informează recepția.
Studiu individual

Comerț Învățământ Servicii


electronic universitar medicale

Realizați o diagramă de mașini cu stări pentru una dintre cele trei categorii de sisteme

S-ar putea să vă placă și