UPOZORNĚNÍ

Zkoušky OCUP Fundamental a OCUP Intermediate již není možné absolvovat. Nově jsou k dispozici OCUP 2 Foundation a OCUP 2 Intermediate. Texty uvedené na těchto neodpovídají plně novým zkouškám. Aktuální text najdete na nových stránkách.

Testy znalostí UML

Chcete si kdykoliv před, při nebo po čtení těchto stránek udělat test znalostí UML? Máte možnost absolvovat takový, který připravil autor těchto stránek. Vše podstatné najdete na http://www.kurzy-uml.cz.

Násobnost (Multiplicity)

Multiplicities diagram of the Kernel package
Prvek násobnosti (abstraktní třída MultiplicityElement) definuje uzavřený interval v oboru celých kladných čísel rozšířený o nulu, ve kterém se mohou pohybovat kardinality. Kardinalita je konkrétní počet elementů v množině.

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

Líbila se vám právě přečtená kapitola?

Líbil se vám článek? Přinesl vám užitek? Pokud ano, můžete mi zaslat pár drobných, čímž jednak dáte najevo, že se vám tu opravdu líbilo, a jednak mi ukážete, že má práce není zbytečná. Informace o darovací platbě zde.