
Tutorial UML (partea a V-a). Class Diagram
Etichete: UML
Class diagram este un tip de diagramă utilizată pentru descrierea structurii statice, adică a entităţilor sau claselor existente într-un sistem. Acest tip de diagramă este utilizat cel mai adesea de către dezvoltatori pentru specificarea claselor dar poate fi foarte util şi pentru specificarea structurii unor sisteme sau subsistem dintr-un business real.
Elementele utilizate şi notaţiile lor sunt următoarele:
Element | Descriere | Notaţie |
Clasă | O clasă este reprezentată printr-un dreptunghi cu trei compartimente: în cel de sus se trece numele clasei, în mijloc se trec atributele clasei iar jos se trec operaţiile specifice clasei. | ![]() |
Moştenire | Moştenirea este o relaţie care indică faptul că o clasă moşteneşte caracteristicile unei clase părinte. Sensul săgeţii indică sensul în care se poate spune despre clasa copil că este o<-i>, sau este de tipul<-i> clasă părinte. | ![]() |
Asociere | Asocierea este o relaţie generică între două clase. Aceste relaţii pot fi de tipurile pot defini şi regulile numerice de asociere (unu la unu, unu la mai mulţi, mai mulţi la mai mulţi). | ![]() |
Dependenţă | Atunci când o clasă depinde de o altă clasă, în sensul că utilizează acea clasă ca şi atribut al său, se foloseşte relaţia de dependenţă. | ![]() |
Agregare | Agregarea indică o relaţie de tip întreg-parte (se poate spune despre clasa părinte că are clase de tip copil). În această relaţie, clasa copil poate exista şi fără clasa părinte. | ![]() |
Compoziţie | Această relaţie derivă din agregare dar se utilizează atunci când o clasă copil nu poate exista decât în cazul existenţei clasei părinte. | ![]() |
În reprezentarea clasei atributele şi operaţiile sunt declarate în compartimentele speciale din dreptunghi, astfel:
- atributele:
numele atributului : tipul atributului = valoare implicită
- operaţiile:
numele operaţiei (parametri) : tipul valorii returnate
Atunci când diagrama este folosită pentru a modela structuri de business se pot folosi tipurile de date specifice business-ului, nu programării, de exemplu: minut, dată calendaristică, minut etc.

Moştenirea este o relaţie prin care se indică faptul că o clasă moşteneşte caracteristicile clasei părinte. În plus, clasa copil poate avea propriile caracteristici.

Asocierea arată existenţa unei relaţii între clase. În exemplul de mai jos, între Persoană şi Autovehicul următoarea relaţie: o Persoană poate avea zero, unul sau mai multe Autovehicule.

Un tip special de asociere este indicat printr-o clasă de asociere. Altfel spus, relaţia în sine este o clasă.
În exemplul de mai jos, relaţia dintre Articol şi Lista de preţuri este de tip mai mulţi la mai mulţi: un Articol poate să apară pe mai multe Liste şi o Listă poate avea mai multe Articole. Pe Liste diferite Articolele pot avea preţuri diferite.

Dependenţa indică faptul că o clasă depinde de altă clasă, în sensul în care o funcţie oarecare depinde de un parametru al său.

Agregarea indică faptul că o clasă părinte are elemente de tipul clasei copil. În exemplul de mai jos Ţara poate avea mai multe Judeţe dar, în acelaşi timp, un Judeţ poate exista chiar şi în cazul în care clasa Ţara nu există.

Într-o relaţie de tip compoziţie clasa copil nu poate exista decât dacă există o instanţă a clasei părinte. În exemplul de mai jos instanţa clasei Comisie există atâta timp cât există instanţa clasei Examen.

Adrian Ionescu

