Relații ale diagramei de clasă UML explicate cu exemple

Publicat: 2012-03-01

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

Creați o diagramă de clasă >>

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
Relații cu diagramele de clasă (UML)
Relații în diagramele de clasă UML

Asociere

Asociere - Una dintre cele mai comune în relațiile diagramei de clasă
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ă

Relația de asociere dirijată în diagramele de clasă UML
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ă

Relația de asociere reflexivă în diagramele de clasă UML
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

Relația de multiplicitate în diagramele de clasă UML
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

Relația de agregare
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 în diagramele de clasă
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

Relația de moștenire în diagramele de clasă UML
Moştenire

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

Relația de realizare în diagrame de clasă UML
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ă:

Diagrama de clasă simplă
Diagrama de clasă simplă cu atribute și operații

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

  1. Partiția de sus conține numele clasei.
  2. Partea din mijloc conține atributele clasei.
  3. 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