Projektuję diagram klasowy dla gry scrabble. W jednej z klas zadeklarowana jest ostateczna zmienna. Czy ktoś może mi powiedzieć, w jaki sposób mogę wskazać zmienną jako ostateczną na diagramie klasy UML?Jak dodać zmienną końcową do diagramu klasowego
Odpowiedz
stały (to znaczy końcowe) są wskazane za pomocą pola konwencją nazewnictwa: stałe powinny być ALL_CAPS
Stwierdzenie zmienną/atrybutów końcowym jest szczegół realizacji. Nie musisz tego określać na diagramie KLASY, ale możesz zastosować się do konwencji sugerowanej przez eboix
.
Specyfikacja UML nie mówi nic na ten temat; możesz śledzić konwencję wyświetlania go w ALL CAPS
.
Istnieją różne pojęcia końcowy wszystkich, które są reprezentowane na różne sposoby:
ostateczna definicja, to znaczy, że nie mogą być zmienione w podklas - odpowiada to isLeaf własności atrybutu:
isLeaf: Boolean - Wskazuje, czy możliwe jest dalsze przedefiniowanie RedefinableElement. Jeśli ta wartość jest prawdziwa, nie można ponownie zdefiniować parametru RedefinableElement na . (UML Nadbudowa, str. 132)
Nie ma oficjalnej notacja dla atrybutów z isLeaf = true, ale dodanie "{} liść" jest powszechne.
końcowa wartość, czyli jego wartość nie może być zmieniona - odpowiada to IsReadOnly własności atrybutu:
IsReadOnly: Boolean - Jeśli to prawda, atrybut może być tylko do odczytu i nie napisane. Wartością domyślną jest false. (UML Nadbudowa, str. 125)
Oznaczenia na atrybut tylko do odczytu składa się z dopisywania "{readOnly}" do napisu atrybutu.
stała zwykle odnosi się do niezmiennego atrybutu samej klasy zamiast wystąpienia (statyczny atrybut końcowy). UML byłoby to oba wyżej wymienione właściwości, a dodatkowo być statyczne, co odpowiada isStatic własności:
isStatic: logiczna - określenie, czy funkcja charakteryzuje indywidualne przypadki sklasyfikowane przez klasyfikator (fałsz), albo sam klasyfikator (prawda). Wartością domyślną jest fałsz. (Nadbudowa UML, str.69)
Atrybuty statyczne są oznaczone podkreśleniem definicji atrybutu. Stałe, jak już wspomniano, są zwykle WIELKIMI, ale to tylko konwencja.
Więc podsumowując, stały atrybut FOO typu String o wartości „x” będzie wyglądać i być podkreślone dodatkowo (co nie jest tu obsługiwane):
+ FOO: String = „x” {readOnly, liść}
Podczas konwencji nazewnictwa byłoby wystarczającym sposobem reprezentowania stałą, pO ma również możliwość dodania własnego stereotypu do stałych atrybutów, np «Stały» lub «ostateczny». Będzie to szczególnie przydatne, gdy OP próbuje przeprowadzić automatyczną analizę swojego modelu, na przykład za pomocą OCL. –