Sunteți pe pagina 1din 11

Diagrame de clasă

- exemple -
Scopuri urmărite:
• Să se facă distincţia dintre agregări şi
compuneri
• Folosirea corectă a generalizărilor şi
claselor abstracte
• Folosirea corectă a asocierilor
• Restricţii dintre asocieri
• Noi analysis patterns
Se consideră enunţurile:

1. Un director conţine fişiere


2. O cameră conţine pereţi
3. Modemurile şi tastaturile sunt periferice de intrare/ieşire
4. O afacere bursieră presupune vânzare sau cumpărare
5. Un cont bancar poate aparţine unei persoane fizice sau
juridice
6. Doi oameni pot fi căsătoriţi

Temă. Determinaţi relaţia statică potrivită (agregare, compunere,


generalizare sau asociere) pentru fiecare dintre propoziţiile de mai
sus. Desenaţi diagrama corespunzătoare.
1. Un director conţine fişiere

E agregare.

Poate fi compunere?

Da, deoarece : - Multiplicitatea nu depăşeşte 1 către director

- Dacă un director e şters, atunci şi toate fişierele conţinute


de acesta vor fi şterse
2. O cameră conţine pereţi

E agregare.

Poate fi compunere?

Nu, pentru că multiplicitatea nu e cel mult 1 (un perete poate aparţine la mai
multe camere alăturate)
Obs. Se consideră (pentru completarea multiplicităţii) că o cameră
poate conţine cel puţin un perete (circular).
3. Modemurile şi tastaturile sunt periferice de intrare/ieşire.
E generalizare, cu observaţia că supraclasa e abstractă, dar şi incompletă
(există şi alte tipuri de periferice de intrare/ieşire). Vezi Glosar de termeni

4. O afacere bursieră presupune vânzare sau cumpărare


E generalizare.
5. Un cont bancar poate aparţine unui persoane fizice sau juridice
Deoarece cuvântul cheie e aparţine şi nu este o, atunci avem de-a face cu o
asociere.

O soluţie imediată
(deşi incorectă) ar fi:

Obs. Contul va fi deschis unei persoane fizice sau juridice. Prin urmare,
PersFizica şi PersJuridica trebuie excluse mutual.

Vezi Glosar de termeni


5. Un cont bancar poate aparţine unui persoane fizice sau juridice
(continuare)
A două soluţie ar fi să se creeze o supraclasă abstractă Party ce are
specializările PersFizica şi PersJuridica:

Obs. Pattern-ul “Party” e o metodă de modelare a entităţilor care au nume şi


adrese unice (aşa cum au persoana fizică sau persoana juridică):
6. Doi oameni pot fi căsătoriţi
Această propoziţie introduce caracteristica de definire a unei relaţii între
obiectele aceleiaşi clase (Asociere reflexivă).

Se poate adăuga restricţia ca două persoane de acelaşi sex să nu se


căsătorească:
6. Doi oameni pot fi căsătoriţi (continuare)
O soluţie poate fi obţinută dacă considerăm clasa Persfizica drept supraclasă
pentru clasele specializate Barbat şi Femeie:
Glosar de termeni
Asocierea exclusivă sau asocierea XOR este o constrângere a două sau a
mai multor asocieri şi specifică faptul că o clasă poate participa la cel mult o
asociere la un moment dat. Se reprezintă ca o linie punctată între asocieri,
împreună cu restricţia {xor}. inapoi la slide

Generalizarea incompletă ({incomplete}) este generalizarea implicită în


care nu există restricţii cu privire la numărul de subclase ale unei superclase,
caz în care ne este permis să adăugăm noi descendenţi. inapoi la slide

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