Relații ale diagramei de clasă UML explicate cu exemple
Publicat: 2012-03-01Diagramele de clasă sunt principalele blocuri ale modelării orientate pe obiecte, așa că este important să înțelegeți diferitele relații ale diagramei de clasă și modul în care acestea vă afectează soluția. Le-am enumerat mai jos cu exemple.
Creately simplifică crearea diagramelor de clasă arătând relația logică bazată pe context.
Relații cu diagrama de clasă
Clasele sunt interconectate între ele în moduri specifice. În special, relațiile din diagramele de clasă includ diferite tipuri de conexiuni logice. Următoarele sunt astfel de tipuri de conexiuni logice care sunt posibile în UML:
- Asociere
- Asociația Dirijată
- Asociația reflexivă
- Multiplicitate
- Agregare
- Compoziţie
- Moștenire/Generalizare
- Realizare
Asociere
este un termen larg care cuprinde aproape orice legătură logică sau relație între clase. De exemplu, pasagerii și compania aeriană pot fi conectate ca mai sus.
Asociația Dirijată
se referă la o relație direcțională reprezentată de o linie cu un vârf de săgeată. Capul săgeții descrie un flux direcțional conținut de container.
Asociația reflexivă
Acest lucru se întâmplă atunci când o clasă poate avea mai multe funcții sau responsabilități. De exemplu, un membru al personalului care lucrează într-un aeroport poate fi un pilot, un inginer aviatic, un dispecer de bilete, un gardian sau un membru al echipajului de întreținere. Dacă membrul echipajului de întreținere este condus de inginerul aviatic, ar putea exista o relație gestionată prin două cazuri din aceeași clasă.
Multiplicitate
este asocierea logică activă atunci când se descrie cardinalitatea unei clase în raport cu alta. De exemplu, o flotă poate include mai multe avioane, în timp ce un avion comercial poate conține de la zero până la mulți pasageri. Notația 0..* din diagramă înseamnă „de la zero la multe”.
Agregare
se referă la formarea unei anumite clase ca rezultat al unei clase care este agregată sau construită ca o colecție. De exemplu, clasa „biblioteca” este formată din una sau mai multe cărți, printre alte materiale. În agregare, clasele conținute nu depind puternic de ciclul de viață al containerului. În același exemplu, cărțile vor rămâne așa chiar și atunci când biblioteca este dizolvată. Pentru a afișa agregarea într-o diagramă, trageți o linie de la clasa părinte la clasa copil cu formă de romb lângă clasa părinte.
Pentru a afișa agregarea într-o diagramă, trageți o linie de la clasa părinte la clasa copil cu formă de romb lângă clasa părinte.
Compoziţie
Relația de compoziție este foarte asemănătoare cu relația de agregare. singura diferență fiind scopul său cheie de a sublinia dependența clasei conținute de ciclul de viață al clasei container. Adică, clasa conținută va fi ștearsă atunci când clasa container este distrusă. De exemplu, buzunarul lateral al unei genți de umăr va înceta să mai existe odată ce geanta de umăr este distrusă.
Pentru a afișa o relație de compoziție într-o diagramă UML, utilizați o linie direcțională care conectează cele două clase, cu o formă de romb umplută adiacentă clasei de container și săgeata direcțională către clasa conținută.
Moștenire / Generalizare
se referă la un tip de relație în care o clasă asociată este un copil al alteia în virtutea asumării acelorași funcționalități ale clasei părinte. Cu alte cuvinte, clasa copil este un tip specific al clasei părinte. Pentru a arăta moștenirea într-o diagramă UML, o linie continuă de la clasa copil la clasa părinte este desenată folosind un vârf de săgeată necompletat.
Realizare
denotă implementarea funcționalității definite într-o clasă de către o altă clasă. Pentru a arăta relația în UML, din clasa care definește funcționalitatea clasei care implementează funcția este trasă o linie întreruptă cu un vârf de săgeată necompletat. În exemplu, preferințele de imprimare care sunt setate utilizând interfața de configurare a imprimantei sunt implementate de către imprimantă.
Desenarea diagramelor de clasă folosind Creately
Ne-am gândit mult la relații când am construit instrumentele noastre de diagramă de clasă. Conectorii noștri se adaptează la context și arată doar cele mai logice relații atunci când conectăm clase. Acest lucru a redus semnificativ șansele de a face o greșeală.
Creați o diagramă de clasă >>
Desenarea de la zero poate fi greoaie. Puteți începe imediat să utilizați diagramele noastre de clasă proiectate profesional. Răsfoiți exemplele noastre de diagrame de clasă și alegeți-o pe cea care este strâns legată de sistemul dvs.
Ce sunt diagramele de clasă?
Diagramele de clasă sunt blocul principal al modelării orientate pe obiecte. Acestea sunt folosite pentru a arăta diferitele obiecte dintr-un sistem, atributele lor, operațiunile lor și relațiile dintre ele.
Următoarea figură este un exemplu de clasă simplă:
În exemplu, este descrisă o clasă numită „cont de împrumut”. Clasele din diagramele de clase sunt reprezentate de casete care sunt împărțite în trei:
- Partiția de sus conține numele clasei.
- Partea din mijloc conține atributele clasei.
- Partiția de jos arată operațiunile posibile care sunt asociate cu clasa.
Exemplul arată cum o clasă poate încapsula toate datele relevante ale unui anumit obiect într-un mod foarte sistematic și clar. O diagramă de clase este o colecție de clase similare cu cea de mai sus.
Mai sunt întrebări despre relațiile diagramei de clasă?
Sper că am explicat clar diferitele relații dintre diagramele de clasă. Ele nu sunt atât de complexe pe cât credeți și pot fi stăpânite cu puțină practică. Și folosind instrumentul nostru, nu ar trebui să aveți probleme în a crea diagrame de clasă. Dacă mai aveți întrebări, nu ezitați să le întrebați în secțiunea de comentarii. De asemenea, consultați acest ghid pentru Tipuri de diagrame UML cu exemple pentru citiri suplimentare.
Referinte:
1. Bazele UML: Diagrama de clasă O introducere în diagramele de structură în UML 2 de Donald Bell
2. Diagrama de clasă publicată pe site-ul Wikipedia
3. Diagrama de clasă UML Partea 1 , așa cum este publicată pe site-ul web developer.com
4. Diagrama de clasă din Visual Case Tool – Tutorial UML așa cum este publicat pe site-ul web Visual Case
5. Asociații așa cum sunt publicate pe site-ul web Sybase