Uitleg van de UML-pijlen

Ik heb onlangs UML bestudeerd en eenvoudige diagrammen getekend met gewone platte pijlen tussen klassen, maar ik weet dat het niet genoeg is. Er zijn tal van andere pijlen: generalisatie, realisatie en dergelijke die betekenis hebben voor de diagramlezer.

Is er een aardige bron die elke pijl (gewoon, gewoon, gestippeld, met diamanten gevuld, diamant) kan verklaren?

Het zou het beste zijn als er enkele codevoorbeelden voor hen zouden zijn.


Antwoord 1, autoriteit 100%

Hier is wat uitleg uit de Visual Studio 2015-documenten:

UML-klassediagrammen: referentie: https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2015/modeling/uml-class-diagrams-reference

5: Associatie: een relatie tussen de leden van twee classifiers.

5a: Aggregatie: een associatie die een gedeelde eigendomsrelatie vertegenwoordigt. De
Aggregatie-eigenschap van de rol van eigenaar is ingesteld op Gedeeld.

5b: Samenstelling: een associatie die een geheel-deelrelatie vertegenwoordigt. De Aggregatie
eigenschap van de rol eigenaar is ingesteld op Samengesteld.

9: Generalisatie: de specifieke classificatie neemt een deel van zijn definitie over van de algemene
classificeerder. De algemene classificatie bevindt zich aan het pijluiteinde van de connector. Attributen, associaties en
Operaties worden geërfd door de specifieke classificator. Gebruik het erfenis tool om een ​​te maken
generalisatie tussen twee classificatoren.

13 : import : een relatie tussen pakketten, wat aangeeft dat
Pakket bevat alle definities van een ander.

14 : afhankelijkheid : de definitie of implementatie van de afhankelijke classificator kan veranderen als
De classifier bij het pijlpuntuiteinde is gewijzigd.

15 : Realisatie : De klasse implementeert de bewerkingen en kenmerken die door de interface zijn gedefinieerd.
Gebruik het erfenis tool om een ​​realisatie tussen een klasse en een interface te creëren.

16 : Realisatie : een alternatieve presentatie van dezelfde relatie. Het label op de
Lollipop-symbool identificeert de interface.

UML-klassendiagrammen: richtlijnen : http://msdn.microsoft.com/Library/dd409416%28vs.140%29.aspx

Eigenschappen van een vereniging

aggregatie : dit verschijnt als een diamantvorm aan het ene uiteinde van de connector. Je kunt het gebruiken
Geef aan dat exemplaren op de aggregatende rol bezitten of instanties van de ander bevatten.

is bevaarbaar : indien waar voor slechts één rol, verschijnt een pijl in de navigeerbare richting. Je kunt gebruiken
Dit om de navigeerbaarheid van links en database-relaties in de software aan te geven.

Generalisatie : Generalisatie betekent dat het gespecialiseerde of afgeleide type attributen erft,
Operaties en associaties van het algemene of basistype. Het algemene type verschijnt bij de pijlpunt
einde van de relatie.

Realisatie : Realisatie betekent dat een klasse de kenmerken en bewerkingen implementeert die zijn opgegeven door
de interface. De interface bevindt zich aan de pijl-einde van de connector.

Laat me weten of je meer vragen hebt.


Antwoord 2, Autoriteit 37%

Ik denk dat deze foto’s begrijpelijk zijn.


Antwoord 3, Autoriteit 7%

een leuke cheat-vel (http://loufranco.com/wp -Content / Uploads / 2012/11 / Cheatsheet.PDF) :

het dekt:

  • Class Diagram
  • Sequence Diagram
  • Pakketdiagram
  • object diagram
  • Gebruik case diagram

en geeft een paar monsters.


Antwoord 4, Autoriteit 3%

Mijn favoriete UML-cheatsheet is UML Distilled, door Martin Fowler . Het is de enige van zijn boeken die ik heb gelezen en die ik aanbeveel.


Antwoord 5, autoriteit 3%

Hier is een vereenvoudigde tutorial:

Praktische UML

Voor meer raad ik aan om wat literatuur te halen.


Antwoord 6, autoriteit 2%

Voor een snelle referentie, samen met duidelijke beknopte voorbeelden, is de UML Quick Reference van Allen Holub uitstekend:

http://www.holub.com/goodies/uml/

(Er zijn nogal wat specifieke voorbeelden van pijlen en wijzers in de eerste kolom van een tabel, met beschrijvingen in de tweede kolom.)


Antwoord 7

Een zeer gemakkelijk te begrijpen beschrijving is de documentatie van yuml, met voorbeelden voor de klas diagrammen, use cases en activiteiten.


Antwoord 8

Het geaccepteerde antwoord is dat er sommigeuitleg ontbreekt.
Wat is bijvoorbeeld het verschil tussen een unidirectionele en een bidirectionele associatie? In het gegeven voorbeeld bestaan beide bestaan. (Beide ‘5’s in de pijlen)

Als u op zoek bent naar een vollediger antwoord en meer tijd hebt, hieris een grondige uitleg.


Antwoord 9

Als u meer een MOOC-persoon bent, een gratis cursus die ik zou aanraden die u alle in- en outs van de meeste UML-diagrammen leert, is deze van UDCA: Https://www.udacity.com/course/software-Architecture-design–ud821


Antwoord 10

Aggregaties en composities zijn een beetje verwarrend. Denk echter aan dat de composities een sterkere versie van aggregatie zijn. Wat betekent dat?
Laten we een voorbeeld nemen:
(Aggregatie)
1. Neem een ​​klaslokaal en studenten:
In dit geval proberen we de relatie tussen hen te analyseren. Een klaslokaal heeft een relatie met studenten. Dat betekent dat klaslokaal van een of veel studenten bestaat. Zelfs als we de klasklasse verwijderen, hoeft de studentenklasse niet te vernietigen, wat betekent dat we onafhankelijk studentenklasse kunnen gebruiken.

(compositie)
2. Bekijk pagina’s en boekenklasse.
In dit geval is pagina’s een boek, wat betekent dat de pagina’s van pagina’s het boek maken. Als we de boekenklasse verwijderen, wordt de volledige paginaklasse vernietigd. Dat betekent dat we de klasse van de pagina onafhankelijk niet kunnen gebruiken.

Als u nog steeds onduidelijk bent over dit onderwerp, kijk dan uit deze korte prachtige video, die de aggregatie duidelijker heeft uitgelegd.

https://www.youtube.com/watch?v=D5ECYFZW0

Other episodes