Z atrybutem mogą być związane dodatkowe ograniczenia, które określają jego właściwości, np.:
{ordered} - obiekty wewnątrz cechy są uporządkowane.
{unordered} - obiekty są nieuporządkowane.
{uniąue} - obiekty wewnątrz cechy nie powtarzają się.
{nonuniąue} - obiekty wewnątrz cechy mogą się powtarzać.
{readOnly} - wartość atrybutu służy tylko do odczytu.
{frozen} - wartość atry butu nie może być zmodyfikowana po jej przy pisaniu.
Projektowanie systemów informatycznych, wykład 2
6
Niemal każdy element w UML może posiadać dodatkowe właściwości i ograniczenia, które szczegółowo opisują jego zachowanie i przeznaczenie. Są one zapisywane w nawiasach klamrowych. Atrybuty klasy można oznaczyć jako uporządkowane za pomocą ograniczenia {ordered}, co oznacza, że są one w jakiś sposób (zwykle rosnąco, leksykograficznie) posortowane. Ograniczenie {unique} wymaga, aby obiekty pamiętane wewnątrz atrybutu nie powtarzały się. Można podać również {nonuniąue} aby dopuść powtórzone wartości. Właściwość {readOnly} oznacza atrybut, którego wartość jest przeznaczona wyłącznie do odczytu, natomiast {frozen} - którego wartość po zdefiniowaniu nie może być zmieniona.
W różnych językach programowania można osiągnąć poszczególne ograniczenia w różny sposób. Ważne jest aby w PI podać jakie techniki będą wykorzystane do osiągnięcia zastosowanych ograniczeń.
Przykładowo ograniczenie {uniąue} w języku C++ można osiągnąć wykorzystując kontener: set z biblioteki STL.
6