Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Rolle-navnet brukes altså for å navngi metoder som implementerer logikken for assosiasjonen, altså hvordan koblinger opprettes og fjernes. Men akkurat hvilke metoder en har og hva disse gjør og dermed heter, avgjøres av det som kalles rollens multiplisitet (ofte kalt kardinalitet). Multiplisiteten til en rolle angir hvor mange koblinger som kan (eller må) gå fra et objekt i rolle-retningen. Multiplisiteten til emne-rollen sier altså hvor mange emner et institutt kan ha ansvaret for (mer enn ett), og multiplisiteten til ansvarlig-insitutt-rollen sier hvor mange institutter som kan ha ansvaret for et emne (ett og bare ett). Multiplisitet angis ofte av en minimum- og en maksimum-verdi, altså et intervallet. Ofte er minimum-verdien 0 og da kan den utelates. Rolle-navnet og multiplisiteten angis sammen i enden av assosiasjonen, men ofte på hver sin side av streken:

PlantUML Macro
class Institutt {
}
class Emne {
}
Institutt "ansvarlig-institutt 1:1" --

...

 "emne 0:*" Emne

Assosiasjon mellom Insitutt og Emne, med rollene ansvarlig-institutt og emne. Multiplisitetene 1:1 og 0:* betyr at et Institutt-objekt kan være koblet til 0 eller flere (uten øvre grense) Emne-objekter (og være ansvarlig-institutt for disse Emne-objektene), mens et Emne-objekt må være koblet til (minimum) ett og kun (maksimum) ett ansvarlig Institutt-objekt (og kan være et av mange emner for dette Institutt-objektet).

 

PlantUML Macro
object "#idi: Institutt" as idi {
}
object "#tdt4100: Emne" as tdt4100 {
}
object "#tdt4180: Emne" as 4180 {
}
idi -> tdt4100: emne
idi -> tdt4180: emne
tdt4100 -> idi: ansvarlig-institutt
tdt4180 -> idi: ansvarlig-institutt