print
A A A

Atrybuty obiektów

Atrybuty obiektów określają:

  • charakterystykę obiektów w ramach dziedziny zastosowań
  • niektóre związki między obiektami
  • parametry konieczne do realizacji funkcji składowych obiektu

Istotną decyzją przy projektowaniu jest ustalenie, które z parametrów określających działanie funkcji powinny stać się atrybutami, a które argumentami funkcji – zazwyczaj opcje, z istniejącymi wartościami domyślnymi zostają atrybutami, a każdorazowo różne parametry argumentami. Atrybuty muszą być umieszczone na odpowiednim poziomie w hierarchii klas.

Atrybuty na diagramach klas UML

Informacje o atrybutach umieszczane są zazwyczaj w odpowiednim fragmencie symbolu klasy (środkowy prostokąt).

Składnia zapisu jest następująca:

widoczność nazwa: typ wielokrotność = wartość_domyślna {lista-własności}

Symbolami widoczności są: + (publiczna), # (chroniona), (prywatna), ~ (pakiet); (interpretacja zależy od implementacji)

Typ określa nazwę klasy lub nazwę wbudowanego typu danych.

Wielokrotność jest wyrażana poprzez zakres możliwej liczby atrybutów dla pojedynczego obiektu, przykładowo:
1- dokładnie 1,
0..1- 0 albo 1 (atrybut opcjonalny),
2..4 – 2, 3 lub 4,
1..* - 1, 2, 3 itd., bez ograniczenia od góry,
* - 0, 1, 2, itd. bez ograniczenia od góry (atrybut opcjonalny)

Typowe własności umieszczane na diagramach to:

  • readOnly – tylko do odczytu
  • ordered – uporządkowane (kolejność odgrywa rolę) (może także zostać jawnie zaznaczone unordered – kolejność bez znaczenia
  • unique – każdy atrybut jednostkowy, bez duplikatów (można także dopuścić duplikaty jawnym określeniem nonunique)

Zmienne statyczne wyróżniane są podkreśleniem.

Innym sposobem umieszczenia atrybutów na diagramie jest wykorzystanie symboli klas i związków powiązań między nimi.

Oba rodzaje diagramów niosą prawie identyczne informacje. Notacja z dodatkowymi symbolami klas przydaje się jeśli te klasy mają bogatą strukturę i odgrywają znaczącą rolę w systemie.

Zobacz na UML Designer: diagram klas

«Ograniczenia na diagramach UML     Związki pomiędzy klasami»