grile rezolvate + teme la tehnci de proiectare software

21
Tehnici de proiectare software Anul III,Semestrul I TRUE/FALSE 1. Un actor este totdeauna o persoana? 2. O relatie de extindere(specificata prin stereotipul <<extend>>) este folosita pentru modelarea caracteristicilor optionale ale sistemului. 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

Upload: mugurciup

Post on 15-Jun-2015

552 views

Category:

Documents


10 download

DESCRIPTION

Modele grile rezolvate + TEME la Tehnci de Proiectare Software

TRANSCRIPT

Page 1: Grile rezolvate  + TEME la Tehnci de Proiectare Software

Tehnici de proiectare software Anul III,Semestrul I TRUE/FALSE

1. Un actor este totdeauna o persoana?

2. O relatie de extindere(specificata prin stereotipul <<extend>>) este folosita pentru modelarea caracteristicilor optionale ale sistemului.

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

MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
T
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Typewritten Text
F
Page 2: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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}

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 3: Grile rezolvate  + TEME la Tehnci de Proiectare Software

Exemplu de grila Anul 3, sem.1, Tehnici de proiectare software

TRUE/FALSE

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

2. UML se poate folosi numai ca schita

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

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

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

MUGUR
Typewritten Text
T
MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 4: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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

MUGUR
Rectangle
Page 5: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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

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.

NumeCazUtilizare

<<Table>> Cursuri

Page 6: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 7: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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()

MUGUR
Typewritten Text
II
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
Page 8: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 9: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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 :

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.

Pachet

Page 10: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 11: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 12: Grile rezolvate  + TEME la Tehnci de Proiectare Software

Exemplu de diagrama de secventa :

Page 13: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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)

* 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.

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 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 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

Company

Department

Page 14: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 15: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 16: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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 :

Page 17: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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:

Page 18: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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.

Page 19: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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)

Page 20: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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

Page 21: Grile rezolvate  + TEME la Tehnci de Proiectare Software

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 :