![]() |
Multiplicities diagram of the Kernel package |
Prvek násobnosti je často zkráceně označován jako násobnost.
Pozor na to, že někdo používá kardinalitu a násobnost jako synonyma. Je to špatně. Násobnost je (znovu opakuji) interval povolených kardinalit. Pro lepší pochopení mrkněte na následující obrázek:
![]() |
Příklad: Rozdíl mezi násobností a kardinalitou |
Vícehodnotová násobnost (multivalued multiplicity) znamená, že horní hranice je > 1.
Atributy:
- isOrdered: Boolean – pro vícehodnotovou násobnost říká, zda jsou instance tohoto prvku uspořádány vzestupně dle hodnot v nich uvedených. Výchozí hodnota je false.
- isUnique: Boolean – pro vícehodnotovou násobnost říká, zda jsou instance tohoto prvku jedinečné vzhledem k hodnotám v nich uvedených. Výchozí hodnota je true.
- /lower: integer [0..1] – určuje dolní hodnotu intervalu
- /upper: UnlimitedNatural [0..1] – určuje horní hranici intervalu.
Notace násobnosti je určena potomky třídy MultiplicityElement. Obecně platí, že notace je buďto jedno číslo nebo rozsah hodnot. Rozsah hodnot je zapsán nejprve minimem, následovaný dvěma tečkami a ukončený maximem (např. 1..4). Pokud chcete zapsat libovolné číslo, použijte hvězdičku (např. 1..*). Je to tentýž symbol používaný pro nekonečno pro základní datový typ UnlimitedNatural. Horní hranice musí být > 0. Pokud se uvádí násobnost u elementu, jehož notací je řetězec, pak se násobnost uvede v hranatých závorkách.
Příklady použití:
![]() |
Příklad: Násobnost atributu třídy |
- 0..1 Kardinalita může být 0 nebo 1.
- 1 Kardinalita je právě 1. Můžeme taktéž napsat 1..1. Často je takto značena povinnost.
- * Kardinalita může být libovolné kladné číslo nebo 0. Je to zkrácený zápis pro 0..*.
- 1..* Kardinalita může být 1 nebo libovolné vyšší celé číslo.
- 8..2 NEPLATNÝ ZÁPIS! Minimum musí být menší rovno maximu.
- -1..0 NEPLATNÝ ZÁPIS! Minimum i maximum musí být celé kladné číslo (resp. nula).
- 4+2..9-1 Obecně platný zápis (minimum i maximum jsou definovány třídou ValueSpecification – viz obrázek na začátku a pak hned následně kapitolu Určování hodnot), ale uznejte sami, pomůže to čitelnosti?
Žádné komentáře:
Okomentovat