Diagrama de clasă ilustrează o vedere statică a unei aplicații. Reprezintă tipurile de obiecte care locuiesc în sistem și relațiile dintre ele. O clasă constă din obiectele sale și, de asemenea, poate moșteni de la alte clase. O diagramă de clasă este utilizată pentru a vizualiza, descrie, documenta diferite aspecte ale sistemului și, de asemenea, pentru a construi codul software executabil.
Afișează atributele, clasele, funcțiile și relațiile pentru a oferi o imagine de ansamblu asupra sistemului software. Constituie nume de clasă, atribute și funcții într-un compartiment separat care ajută la dezvoltarea software-ului. Deoarece este o colecție de clase, interfețe, asocieri, colaborări și constrângeri, este numită diagramă structurală.
Scopul diagramelor de clasă
Scopul principal al diagramelor de clasă este de a construi o vedere statică a unei aplicații. Este singura diagramă care este utilizată pe scară largă pentru construcție și poate fi mapată cu limbaje orientate pe obiecte. Este una dintre cele mai populare diagrame UML. Următoarele sunt scopul diagramelor de clasă prezentate mai jos:
- Acesta analizează și proiectează o vedere statică a unei aplicații.
- Descrie responsabilitățile majore ale unui sistem.
- Este o bază pentru diagramele de componente și de implementare.
- Încorporează inginerie directă și inversă.
Beneficiile diagramelor de clasă
- Poate reprezenta modelul obiect pentru sisteme complexe.
- Reduce timpul de întreținere, oferind o imagine de ansamblu asupra modului în care este structurată o aplicație înainte de codificare.
- Oferă o schemă generală a unei aplicații pentru o mai bună înțelegere.
- Reprezintă o diagramă detaliată prin evidențierea codului dorit, care urmează să fie programat.
- Este util pentru părțile interesate și dezvoltatori.
Componentele vitale ale diagramei de clasă
Diagrama de clasă este alcătuită din trei secțiuni:
- Scrieți cu majuscule litera inițială a numelui clasei.
- Plasați numele clasei în centrul secțiunii de sus.
- Numele unei clase trebuie scris în format aldine.
- Numele clasei abstracte trebuie scris în format cursiv.
- Atributele sunt scrise împreună cu factorii săi de vizibilitate, care sunt public (+), privat (-), protejat (#) și pachet (~).
- Accesibilitatea unei clase de atribute este ilustrată de factorii de vizibilitate.
- Un nume semnificativ ar trebui să fie atribuit atributului, care va explica utilizarea acestuia în interiorul clasei.
Relații
În UML, relațiile sunt de trei tipuri:
În exemplul următor, Student_Name depinde de Student_Id.
De exemplu, Contul curent, Contul de economii și Contul de credit sunt forma generalizată a Contului bancar.
De exemplu, un departament este asociat cu colegiul.
Multiplicitate: Acesta definește o gamă specifică de instanțe permise de atribute. În cazul în care nu este specificat un interval, unul este considerat ca o multiplicitate implicită.
sincronizarea firelor
De exemplu, mai mulți pacienți sunt internați într-un singur spital.
Agregare: O agregare este un subset de asociere, care reprezintă are o relație. Este mai specific decât asocierea. Ea definește o relație parțială de întreg sau parte de relație. În acest tip de relație, clasa copil poate exista independent de clasa părinte.
Compania cuprinde un număr de angajați și chiar dacă un angajat demisionează, compania încă există.
Compoziţie: Compoziția este un subset de agregare. Prezintă dependența dintre părinte și copilul său, ceea ce înseamnă că dacă o parte este ștearsă, atunci cealaltă parte este, de asemenea, eliminată. Reprezintă o relație între o parte.
O agendă de contacte constă din mai multe contacte, iar dacă ștergeți agenda, toate contactele se vor pierde.
Clasele de abstracte
În clasa abstractă, niciun obiect nu poate fi o entitate directă a clasei abstracte. Clasa abstractă nu poate fi nici declarată, nici instanțiată. Este folosit pentru a găsi funcționalitățile din cadrul claselor. Notarea clasei abstracte este similară cu cea a clasei; singura diferență este că numele clasei este scris cu caractere cursive. Deoarece nu implică nicio implementare pentru o anumită funcție, cel mai bine este să folosiți clasa abstractă cu mai multe obiecte.
Să presupunem că avem o clasă abstractă numită deplasare cu o metodă declarată în interiorul ei și acea metodă va fi numită ca a conduce () . Acum, această metodă abstractă de clasă poate fi implementată de orice obiect, de exemplu, mașină, bicicletă, scuter, bicicletă etc.
Cum se desenează o diagramă de clasă?
Diagrama de clasă este utilizată cel mai pe scară largă pentru a construi aplicații software. Acesta nu reprezintă doar o vedere statică a sistemului, ci și toate aspectele majore ale unei aplicații. O colecție de diagrame de clasă în ansamblu reprezintă un sistem.
Câteva puncte cheie de care trebuie să țineți cont atunci când desenați o diagramă de clasă sunt prezentate mai jos:
- Pentru a descrie un aspect complet al sistemului, se sugerează să se dea un nume semnificativ diagramei de clasă.
- Obiectele și relațiile lor ar trebui să fie recunoscute în prealabil.
- Trebuie cunoscute atributele și metodele (responsabilitățile) fiecărei clase.
- Un număr minim de proprietăți dorite trebuie specificat, deoarece un număr mai mare de proprietăți nedorite va duce la o diagramă complexă.
- Notele pot fi folosite la cerere și atunci când dezvoltatorului pentru a descrie aspectele unei diagrame.
- Diagramele trebuie redesenate și reluate de câte ori pentru a fi corectate înainte de a produce versiunea finală.
Exemplu de diagramă de clasă
O diagramă de clasă care descrie sistemul de comenzi de vânzare este prezentată mai jos.
Utilizarea diagramelor de clasă
Diagrama de clase este folosită pentru a reprezenta o vedere statică a sistemului. Joacă un rol esențial în stabilirea diagramelor de componente și de implementare. Ajută la construirea unui cod executabil pentru a efectua inginerie înainte și înapoi pentru orice sistem, sau putem spune că este folosit în principal pentru construcție. Reprezintă maparea cu limbaje orientate pe obiecte care sunt C++, Java etc. Diagramele de clasă pot fi utilizate în următoarele scopuri:
- Pentru a descrie vederea statică a unui sistem.
- Pentru a arăta colaborarea dintre fiecare instanță în vizualizarea statică.
- Pentru a descrie funcționalitățile realizate de sistem.
- Pentru a construi aplicația software folosind limbaje orientate pe obiecte.