Sunteți pe pagina 1din 21

Tehnici de proiectare software

Anul III,Semestrul I

TRUE/FALSE
F 1. Un actor este totdeauna o persoana?

T 2. O relatie de extindere(specificata prin stereotipul <<extend>>) este folosita pentru


modelarea caracteristicilor optionale ale sistemului.

F 3. Diagramele de secventa nu se folosesc pentru a modela comportari asincrone.

MULTIPLE CHOICE

1. Cu ce simbol se reprezinta o dependent (dependency) ?


a. o linie
b. o linie cu un triunghi aratand spre elementul dependent
c. o linie punctata cu o sageata punctand spre elementul dependent
d. o linie punctata cu o sageata punctand spre elementul de care depinde

2. Generalizarea inseamna:
a. polimorfism
b. asociere
c. mostenire
d. compunere

3. Un nod poate reprezenta (alegeti variant complete) :


a. un computer
b. orice dispozitiv fizic
c. un server de aplicatie
d. toate de mai sus

4. O diagrama de colaborare este un exemplu de :


a. diagrama de secventa
b. diagrama de clasa
c. diagrama de activitate
d. diagrama de interactiune

5. Se considera urmatoarele enunturi :


I. generalizarease refera la subtipuri
II. clasificarea se refera la subtipuri
III. generalizarea se refera la instantele obiectelor
IV. clasificarea se refera la instantele obiectelor
Alegeti raspunsul corect :
a. II si III sunt adevarate
b. I si IV sunt false
c. II si III sunt false

6. O tranzitie de la o stare sursa la o stare tinta se reprezinta astfel :


a. o sageata solida pe care se trece o actiune
b. o sageata solida pe care se trece evenimentul , o virgula (“,”), urmata de actiune
c. o sageata solida pe care se trece evenimentul, un slash (“/”), urmat de actiune
d. o sageata solida pe care se trece o actiune, un slash (“/”), umat de eveniment

7. Ce tip de eveniment standard ce poate declansa actiuni starilor se foloseste atunci cand
obiectul paraseste starea respective ?
a. entry
b. exit
c. do

8. Se considerea urmatorul simbol in UML : - - - - - - - - - ->


Acesta reprezinta :
a. o tranzitie
b. o asociere
c. o realizare
d. o compunere
e. o agregare

9. Daca un obiect e atat creat, cat si distrus in timpul interactiunii se foloseste constrangerea:
a. {create}
b. {destroyed}
c. {transient}
d. {createDestroyed}
Exemplu de grila
Anul 3, sem.1, Tehnici de proiectare software

TRUE/FALSE

T 1. Un caz de utilizare trebuie sa interactioneze cu cel putin un actor

F 2. UML se poate folosi numai ca schita

F 3. Intr-o diagrama a cazurilor de utilizare, trebuie sa existe numai actori pincipali

F 4. O diagrama de clasa este o vedere dinamica asupra sistemului

F 5. O subclasa are acces la membrii privati ai superclasei?

MULTIPLE CHOICE

1. Se considera urmatorul simbol in UML:

El reprezinta:
a. o clasa numita “Abonat”
b. un obiect numit “Abonat”
c. un obiect anonim din clasa “Abonat”
d. altceva decat raspunsurile de mai sus

2. Se considera urmatorul simbol in UML:

El reprezinta:
a. un mesaj sincron
b. un mesaj asincron
c. un mesaj de raspuns
d. un mesaj simplu

3. Intr-o relatie de extindere (<<extend>>), sageata puncteaza


a. spre cazul de utilizare de baza
b. spre cazul de utilizare extins

4. Cum este cunoscut grupul oamenilor de stiinta care sunt asociati cu UML?
a. The Dynamic Duo
b. The Three Musketeers
c. The Three Amigos
5. Diagramele de activitate difera de flowchart-uri deoarece diagramele de activitate suporta
a. culoarele (swimlanes)
b. comportament paralel (parallel behaviour)
c. noduri de decizie
d. actiuni
Tema 1

I
1. Ce reprezintă acronimul OMG?
2. Un model bun UML va conţine cel puţin o diagramă de fiecare tip?
3. Cu ce simbol se reprezintă un caz de utilizare (use-case)?
4. Un actor poate fi doar o persoană?
5. Cum este indicat un stereotip?
6. O relaţie de incluziune este folosită pentru reutilizarea comportării modelate de
un alt caz de utilizare?
7. De ce anume este reflectată în implementare generalizarea în UML? (alegeţi
dintre polimorfism, agregare, moştenire, interfeţe)

II
Modelaţi cu ajutorul diagramelor de clasă gestiunea împrumutului de cărţi în cadrul
unei biblioteci.
RASPUNSURI

1. OMG (Object Management Group) este un consortiu deschis de companii care


controleaza standardul UML. OMG a fost format pentru a construi standard de
suporta interoperabilitatea, in mod special a sistemelor software orientate-obiect.
2. Da,consider ca un foarte bun model UML trebuie sa contina o diagrama de
fiecare tip.Dar in functie de aspectul care ne intereseaza putem folosi numai
anumite diagrame pentru modelare,de secventa sau colaborare.
3. Un caz de utilizare se reprezinta printr-o elipsa, sub care, sau in interiorul careia
se trece numele use-case.

NumeCazUtilizare

NumeCazUtilizare

4. Un actor poate fi orice sau oricine interactioneaza cu un sistem(trimite sau


receptioneaza mesaje de la sistem sau schimba informatii cu acesta.Actorul exista
in afara sistemului si joaca un rol in cadrul acestuia.Actorul nu este un utilizator
individual al sistemului si din acest motiv el este o entitate(o clasa) si nu o
instanta.Actorii pot fi persoane, sisteme software si sisteme hardware.
5. Stereotipul este un concept introdus in UML, care perimite extinderea
elementelor de baza pentru a crea noi elemente. Un stereotip reprezinta un inteles
specific asociat unui element.El se reprezinta printr-un cuvant intre paranteze
unghiulare duble (“<< >>”),scris deasupra sau dedesubtul numelui elementului
asociat.Un stereotip transforma un element in altul cu un inteles nou.Ex: daca
atasam stereotipul <<table>> clasei Cursuri,acesta va reprezenta o baza de date
tabelara.

<<Table>>

Cursuri
6. True,dependenta modeleaza situatiile in care un use-case foloseste
comportamentul definit in alt use-case. Se foloseste relatia <<include>>,care este
o relatie obligatorie. Relatia de dependenta se poate stabili numai intre
use-case-uri. Cazul in care un use-case foloseste functionalitatea oferita de un alt
use-case reprezinta o dependenta de tip include.

Comportamentul use-case-ului B este inclus in use-case-ul A. B este de sine


statator, insa este necesar pentru a asigura functionalitatea use-case-ului de baza
A. Dependenta de tip include se foloseste si pentru a scoate in evidenta un
comportament comun daca B este inclus in mai multe use-case-uri de baza.

7. Relatia de generalizare se foloseste pentru a modela conceptul de mostenire intre


clase. O clasa A este derivata (subclasa) din alta clasa B, numita clasa de baza
sau superclasa. Relatia de generalizare mai poate fi numita si relatie de tip is a (
este un fel de) in sensul ca o instanta a clasei derivate A este in acelasi timp o
instanta a clasei de baza B (superclasa). Clasa A mosteneste toate atributele si
metodele clasei A. Ea poate adauga noi atribute sau metode sau le poate redefini
pe cele existente.
II

Fisa ImprumutBD Exemplar carte

-cota: integer -cota

-dataImprumut -numarInventar

-dataRestituirePrevazuta -calitateCarte

-dataRestituireEfectiva

-penalizare

+creareImprumut() 1..*

+anulareImprumut()

+eliberareImprumut(0 1

1..* 0..* Registru Inventar

#DataInregistrare

Biblioteca 1..* #TitluCarte

#AutorCarte

0..* 1 #NrInventar

Cititor sistem informatic #Stare

#nume biblioteca #exemplarPierdut

#prenume #DataCasare

#nrFisa +dataInregistrare()

#dataInscriere +dataCasare()

#dataAnulare

#nrCartiImprumutate

#nrZileImprumut

+Inscriere()

+Anulare()
Tema 2

I
1. Ce este o interfaţă?
2. Care este cel mai rapid (din punct de vedere al duratei) proces software? Care e
principalul lui dezavantaj?
3. La ce se referă <<xor>>? Explicaţi.
4. Cum este indicată o metodă publică? Dar un atribut privat?
5. O relaţie de extindere este obligatorie? Ce exprimă ea?
6. Cum se reprezintă grafic un pachet?
II
Se consideră următoarea reprezentare:

a) Interpretaţi multiplicităţile din figură (adică scrieţi propoziţiile corespunzătoare:


exemplu „O companie poate angaja....” etc)
b) Ce tip de clasă este „Job”?
RASPUNSURI
I
1. Interfata unui obiect cuprinde multimea tuturor atributelor publice ale acelui
obiect.Interfata unui obiect poate fi considerate ca o interfata a clasei daca toate
obiectele din aceeasi clasa au aceeasi interfata.Interfata contine numai operatiile, nu
si codul care implementeaza operatiile.Aceasta se reprezinta in UML printr-un cerc
la care i se ataseaza numele interfetei.
SAU
Interfata unei entitati (clase sau componente) reprezinta un set de operatii pe care
entitatea le pune la dispozitia celorlalte entitati si care sunt ascunse prin incapsulare.
Se modelează cu acelaşi simbol ca şi clasele. Interfaţa are numai operaţii. Pentru a le
putea deosebi de clase se plasează stereotipul <<interface>> sau caracterul “I” la
începutul numelui interfeţei respective.
Reprezentarea grafica unei interfete in UML :

Interfetele pot fi realizate de o componenta si se numesc interfete de export, sau


folosite de o componenta si atunci se numesc interfete de import.
2. Cel mai rapid proces software,din punct de vedere al duratei este modelul
RAD(Rapid Application Development),un model de proces de dezvoltare software
incrementala.Acesta este o adaptare “high-speed” a modelului secvential
liniar.Dezavantajele modelului RAD:
- Nu e potrivit pentru toate tipurile de aplicatii.Daca un sistem nu poate fi
modularizat,construirea componentelor pentru RAD este dificila.
- RAD nu e potrivit cand riscurile tehnice sunt mari,acestea aparand cand o
aplicatie noua foloseste intens o noua tehnologie sau cand un software nou
trebuie sa fie interoperabil cu cele vechi,existente.
3. XOR reprezinta in UML o asociere exclusiva.XOR este o constrangere a doua sau
mai multor asocieri si specifica faptul ca o clasa poate participa la cel mult o
asociere la un moment dat. Se reprezinta ca o linie punctata intre asocieri, impreuna
cu restrictia {xor}.
4. O metoda publica este indicate cu un “+” in fata numelui metodei pentru vizibilitate
publica ,ceea ce indica ca orice clasa poate executa acea metoda.
Atributele private sau informationale sunt atribute ale unei clase clasificate dupa
gradul de vizibilitate.Acestea pot fi accesate numai in cadrul clasei respective si
sunt precedate de semnul “-“.
5. Nu, o relatie de extindere foloseste stereotipul <<extend>> si este doar
optionala.Comportamentul unui use case poate fi extins de catre un alt use case.
Relatia de extindere este o generalizare a unui use case prin adaugarea de actiuni
noi. Un extend poate include comportamentul use case-ului extins, in functiile de
conditiile de extindere.
6. Un pachet se reprezinta grafic in UML astfel :

Pachet

II
a.Relatia este urmatoarea: O companie, employer, poate avea mai multi angajati,
employee, iar o persoana poate fi angajata la mai multe companii de-a lungul
timpului.
b.”Job” este o clasa de asociere.
Tema 3

1. O subclasă are acces la membrii superclasei?


2. Dacă o clasă are mai mulţi părinţi şi fiecare părinte introduce o operaţie cu acelaşi
nume, există conflict de nume? Dacă da, cum se poate rezolva.
3. O clasă de asociere se referă la o clasă de legătură (linking class). Adevărat sau
fals?
4. Care e principala diferenţă dintre agregare şi compunere?
5. UML e un standard şi toată lumea e de acord că trebuie folosit. Adevărat sau fals?
6. Cum se reprezintă un atribut de clasă?
7. Descrieţi modelul de proces cascadă.
8. Un caz de utilizare poate interacţiona cu cel mult 2 actori. Adevărat sau fals?
9. Cum se specifică pe diagramă actorii secundari?
10. Unde sunt recomandate diagramele de secvenţă?

RASPUNSURI

1. Da,o subclasa are acces la membrii superclasei.Subclasele mostenesc atributele si


operatiile claselor parinte sau superclaselor.
2. Da,exista conflict de nume.Se poate rezolva introducand o supraclasa care sa le
generalizeze pe cele existente.
3. True. O clasa de asociere, linking class, se refera la o relatie de legatura sau
asociere (association).
4. Agregarea este o asociere ce modelează o relaţie parte-întreg ,asociere intre doua
clase care se refera una la alta precum intregul la partile sale. Este reprezentată ca
un romb gol ataşat la capătul asocierii de lângă clasa agregat. Relaţia de agregare
este deci un caz particular al relaţiei de asociere. Ea poate avea toate elementele
unei relaţii de asociere, însă în general se specifică numai multiplicitatea. In
cadrul unei agregari, elementul “parte” mai exista si dup ace elementul “ intreg”
este distrus.
Compunere este o formă mai puternică a agregării Partea are „timpul de viaţă”
al întregului. Întregul poate avea responsabilitatea directă pentru crearea sau
distrugerea părţii sau poate accepta o altă parte creată şi mai apoi să paseze
„responsabilitatea” altui întreg.Relatia se simbolizeaza cu o linie continua cu
romb plin.
5. True.
UML nu este un simplu limbaj de modelare orientat pe obiecte, ci în prezent,
este limbajul universal standard pentru dezvoltatorii software din toata lumea.
UML este succesorul propriu-zis al celor mai bune trei limbaje de modelare
anterioare orientate pe obiecte (Booch, OMT, and OOSE). Uml se constituie din
unirea acestor limbaje de modelare si în plus detine o expresivitate care ajuta la
rezolvarea problemelor de modelare pe care vechile limbaje nu o aveau.
6. Notatia UML pentru o clasa este un dreptunghi impartit in 3 compartimente;
numele clasei, atributele si operatiile. Atributele de clasa se trec in casuta de sub
numele clasei si au valori comune tuturor instantelor clasei.Acestea se reprezinta
scriind in casuta numele date atributelor subliniat.
Sintaxa unui atribut:
[vizibilitate] nume: tip_expresie [=valoarea_initiala{lista proprietati}]

Reprezentarea grafica a unei clase cu atribute si operatiuni in UML :

7. Modelul de proces secvential liniar sau cascada presupune urmatoarele activitati:


a. Stabilirea cerintelor pentru elementele sistemului – realizarea ingineriei de
sistem si a modelarii
b. Necesitatea intelegerii comportarii software-uui,interfetei, performantelor
dorite – analiza cerintelor software.
c. Designul structurii datelor,arhitecturii software-ului,reprezentarea interfetei si
detaliul procedural.
d. Generarea codului care presupune transpunerea design-ului in program.
e. Testarea programului pentru depistarea eventualelor erori,defecte si esecuri.
8. False.Un caz de utilizare poate interactiona cu cel putin un actor.
9. De regula actorii secundari se trec in partea dreapta a unei diagrame si se
specifica ca sunt secundari scriindu-se cuvantul secondary pe asociere, de partea
actorului.
10.Diagrama de secventa prezinta o colaborare dinamica dintre un numar de
obiecte,punandu-se accent pe secvente de mesaje trimise intre acestea pe masura
scurgerii timpului. Notaţia grafică este un tabel care are pe axa X obiecte, iar pe
axa Y mesaje ordonate crescător în timp.Diagramele de secventa se folosesc
atunci cand cel mai important aspect urmarit este timpul. Pentru cazurile de
utilizare sunt recomandate alaturi de diagramele de activitate.
Exemplu de diagrama de secventa :
Tema 4

1. Daţi exemple de diagrame statice. Unde se foloseşte fiecare dintre aceste


diagrame?
2. Modelaţi enunţul: „O companie are mai multe departamente.”
3. Clasificaţi tipurile de mesaje.
4. La ce se referă culoarele (swimlanes)? Exemplu.
5. Cum se reprezintă o subcolaborare?

RASPUNSURI
1.Diagramele statice sau structural, descriu structura, responsabilitatile sistemului
informatics,componentele executabile ale sistemului, locatiile fizice de executie
si nodurile de stocare a datelor.Din aceasta categorie fac parte:
* diagrame ale claselor
* diagrame ale obiectelor
* diagrame ale cazurilor de utilizare
* diagrame ale componentelor
* diagrame de desfasurare
* Diagrama claselor(Class Diagram) descrie structura unui sistem in
general,avand in component clase,stereotipuri si relatiile dintre ele.
* Diagrama obiectelor(Object Diagram) descrie structura unui sistem la un
anumit moment.Aceasta prezinta mai multe instante ale unei clase si e formata
din obiecte si relatiile dintre ele.
* Diagrama cazurilor de utilizare(Use Case Diagram) descrie functionalitatea
unui sistem.Aceasta prezinta actorii externi, cazurile de utilizare identificate
numai din punct de vedere al actorilor,nu si din interior, precum si relatiile dintre
actori si cazurile de utilizare.Acest tip de diagrama reflecta modul static de
vizualizare a cazurilor de utilizare asupra sistemului dar si modul de organizare
si modelare a comportamentului unui sistem.
* Diagrama componentelor(Component Diagram) sau diagrama de
implementare, descrie structura fizica a codului in termenii componentelor de
cod si relatiile dintre acestea.Acest tip de diagrama realizeaza o mapare de la
aspectul static(logic) la aspectul componentelor.Diagramele de componente
reflecta vederea static de implementare asupra sistemului.
* Diagrama de desfasurare(Deployment Diagram) indica arhitectura fizica pe
care este implementat sistemul, calculatoarele, device-urile(noduri ale
sistemului) si conexiunile dintre ele.
2.Este o agregare.Se foloseste relatia one-to-many.

consists of
Com
Company Department
1 *

3. In UML exista mai multe tipuri de mesaje si anume:


a. mesaje sincrone – specifice functionarii procedural
b. mesaje de raspuns -,reprezentarea fiind optionala ------
c. mesaje asincrone - nu asteapta raspuns, obiectul fiind active
d. mesaje simple - nu asteapta raspuns,obiectul pierzand controlul
4.Tehnica culoarelor(swimlanes) se foloseste in UML atunci cand o diagram de
activitate nu ofera indicii referitoare la elementul care este responsabil pentru
fiecare activitate.Astfel o diagrama de activitate se imparte in zone
paralele,numite culoare de activitati pentru a se evidentia elementul pentru
actiunea din fiecare zona.In UML culoarele se reprezinta prin regiuni
verticale,paralele, separate prin linii solide.Fiecare culoar are in partea de sus o
eticheta care indica elementul responsabil pentru acea activitate. Fiecare
responsabilitate este repartizata unei clase sau organizatii si fiecare activitate
este alocata unui culoar.
Exemplu de diagrama cu culoare :

5. O subcolaborare se foloseste pentru ca interactiunea sa fie descrisa la un nivel


mai inalt de abstractie. Subcolaborarea, adica o submultime de obiecte impreuna
cu legaturile dintre ele poate fi privita ca un singur element si reprezentata ca un
pachet.
Tema 5

1. Ce reprezintă barele de sincronizare? Scurt exemplu.


2. Să se modeleze cu ajutorul diagramelor de stare funcţionarea unui lift.
3. Cum se reprezintă în UML o componentă?
RASPUNSURI
1. Exista posibilitatea ca mai multe activitati sa se execute in paralel.Acest fapt
implica concurenta (concurrency).In UML sincronzarea fluxurilor de control
se reprezinta cu ajutorul asa numitelor bare de sincronizare. O bara de
sincronizare se reprezinta in UML cu ajutorul unei linii ingrosate. O bara de
sincronizare permite imbinarea (JOIN) si bifurcarea (FORK) ramificatiilor
parelele in interiorul unui fir de executie al unui caz de utilizare sau a unei
metode.
Tranzitiile care pleaca dintr-o baza de sincronizare se declanseaza simultan.
Bara de sincronizare join reprezinta sincronizarea a doua sau mai multor
fluxuri de control. La join fiecare flux de control asteapta pana cand toate
celelalte fluxuri de intrare ajung in acel punct. Daca o bara are mai multe
tranzitii de intrare si o singura tranzitie de iesire, aceasta indica faptul ca
toate intrarile trebuie sa se produca inainte sa se produca tranzitia de iesire.
Acest flux se numeste synchronization control.
Bara de sincronizare fork poate avea o tranzitie de intrare si doua sau mai
multe tranzitii de iesire prezentand un flux de control independent.
Activitatile de sub fork sunt concurente. Aceasta indica faptul ca toate
tranzitiile de iesire se petrec odata cu tranzitia de intrare. Acest tip de flux se
numeste splitting control.
Reprezentare grafica in UML a barelor de sincronizare:

Ex.
Daca un client face o comanda la un furnizor, actiunile “verificare stoc” si
“verificare bonitate client” se declanseaza independent.
2. - pasagerul apasa butonul de la un etaj;
- sistemul liftului detecteaza semnalul declansat la etajul respectiv precum
si numarul etajului de la care a fost apelat;
- liftul porneste si se opreste la etajul de la care a fost actionat butonul;
- se deschi usile;
- pasagerul intra si apasa butonul etajului dorit; in cazul mai multor
pasageri, se apasa butoanele etajelor dorite de fiecare in parte;
- usile se inchid;
- liftul opreste intai la cel mai apropiat etaj fata de cel de la care s-au facut
comenzile;
- usile se deschid;
- pasagerul iese;
- usile se inchid;
- liftul opreste la urmatorul etaj in conformitate cu comanda initiala;
- usile se deschid;
- pasagerul urmator iese;
- usile se inchid;
- liftul stationeaza la etajul unde a coborat ultimul pasager;
Diagrama de stare :
3. O componenta este o parte fizica dintr-un sistem, un lucru real care exista pe
un calculator. In UML notiunea ce componenta poate sa desemneze atat un
tip(categorie ) de obiecte, cat si fiecare obiect din tipul respectiv(instanta
tipului).
De exemplu o aplicatie executabila este o componenta care reprezinta un
tip(categorie),in timp ce o aplicatie care se executa la un moment dat, care
are o identitate in momentul executiei, este o instanta a acelui tip.
Reprezentare grafica a unei componente in UML:

Exemplu de componenta in UML:


Tema 6

1. Modelaţi enunţul: „Profesorii ţin cursuri, la care se înrolează studenţi. Fiecare student
înrolat într-un curs primeşte o notă finală.”.
2. Rolul unui actor este implicit principal? Adevărat sau fals.
3. La ce se referă restricţia {transient}?
RASPUNSURI

1. Diagrama ar putea arata astfel :

2. True.Implicit, rolul unui actor e “principal”(“primary”); dacă nu e aşa, se indica


că rolul e “secundar”(“secondary”) pe asociere, de partea actorului.Pe cât e
posibil, actorii principali se trec în stânga diagramei, iar cei secundari în dreapta
acesteia.
3. Obiectele create in timpul unei colaborari vor avea constrangerea {new}, iar cele
distruse in timpul colaborarii vor avea constrangerea {destroyed}.Constrangerea
{transient}, echivalenta cu restrictia {new}{destroyed} se foloseste atunci cand
un obiect aste atat creat cat si distrus in timpul aceleiasi interactiuni.
Tema 7

1. Prin ce se deosebeşte o diagramă de secvenţă de o diagramă de colaborare?


2. Cum se specifică o condiţie? Exemple.
3. Câte stări finale pot exista într-o diagramă de stare?
4. Ce este un pachet? Cum se reprezintă în UML un pachet?
5. Ce reprezintă evenimentele standard entry, do şi exit?

RASPUNSURI

1. Diagramele de secventa arata ca un obiect este creat prin plasarea


acestuia in josul paginii.Distrugerea unui obiect este reprezentata printr-un
X la sfarsitul dreptunghiului reprezentand perioada de activare.Daca un
obiect a fost distrus de catre un alt obiect va exista un mesaj de la obiectul
care efectueaza operatia de distrugere catre semnul X.
Diagramele de colaborare arata care obiecte sunt create si distruse in
timpul interactiunii folosind stereotipurile <<create>> si <<destroy>>
inaintea mesajelor corespunzatoare. In plus faptul ca un obiect a fost creat
sau distrus in cadrul interactiunii se poate reprezenta prin constrangeri
plasate in interiorul dreptunghiului care reprezinta obiectul.
2. In UML transmiterea unui mesaj poate depinde de indeplinirea unei
conditii. In cadrul diagramei conditiile vor aparea intre paranteze drepte si
se vor pozitiona in fata mesajelor corespunzatoare.
Exemple de conditii:

a. CD-urile pot fi obisnuite si se pot imprumuta pe o perioada mai lunga


sau speciale si se imprumuta pe o perioada mai scurta de timp.(pe o
diagrama de colaborare)
b. Aceleasi conditii ca mai sus dar intr-o diagrama de secventa:

3. O stare finală reprezintă ultima acţiune dintr-o diagramă de activitate si


indică starea unui element la sfârşitul vieţii sale, când el este distrus. Într-o
diagramă de stare, putem avea zero sau mai multe stări finale. În UML, o
stare finală se reprezinta prin două cercuri mici concentrice, din care cel
interior este plin, la care sosesc săgeţi de la stările sistemului, astfel:

4. Un pachet(package) reprezinta un mecanism de grupare a elementelor de


modelare. In UML, un pachet defineste un mecanism de organizare a
elementelor in grupuri legate semantic. Rezulta ca un element de modelare
nu poate fi prins in mai multe pachete, dar un pachet poate importa
elemente de modelare din mai multe pachete, iar dupa import le considera
ca si cand ar fi proprietatea lui. Un pachet poate sa aiba vizibilitate, prin
care se precizeaza modalitatea prin care alte pachete ii pot accesa
continutul. Sunt folosite pentru structurarea modelului iar in cadrul unei
diagrame de clsasa sunt folosite pentru specificarea explicita a ierarhiilor.
(Un pachet poate contine o clasa sau chiar sute de clase) Un pachet poate
avea o interfata care ii reda comportamentul.

Reprezentarea grafica a unui pachet in UML :

. Pachet
5. Pentru reprezentarea unei stari se foloseste un dreptunghi cu colturile
rotunjite avand trei compartimente: numele starii, variabile de stare si
evenimente si actiuni (ultimele doua sunt trecute in ultimul compartiment).
In UML exista 3 tipuri de evenimente standard care pot declansa
actiuni starilor si anume :
- entry – specifica actiunea care se produce atunci cand obiectul intra in
starea respectiva;
- exit – specifica actiunea care se executa atunci cand obiectul paraseste
starea respectiva;
- do – specifica actiunea care se executa atunci cand obiectul se afla in
starea respectiva.
Sintaxa unui eveniment in UML :
Nume eveniment (listă_parametri) [condiţie_gardă]

Reprezentarea grafica a evenimentelor in cadrul unei stari :