• Nie Znaleziono Wyników

Mechanizmy rozszerzania UML

N/A
N/A
Protected

Academic year: 2021

Share "Mechanizmy rozszerzania UML"

Copied!
24
0
0

Pełen tekst

(1)

Mechanizmy rozszerzania UML

Język UML zapewnia standardowe środki wyrazu przydatne w modelowaniu systemu.

Jednakże nie ma takiego uniwersalnego języka, w którym dałoby się wyrazić

wszystkie niuanse każdego modelu z każdej dziedziny.

(2)

Mechanizmy rozszerzania UML

UML jest językiem otwartym i można go rozszerzać. Dostępne są 3 mechanizmy rozszerzania języka UML:

stereotypy,

metki,

ograniczenia.

(3)

Stereotypy

Stereotyp umożliwia rozszerzenie słownictwa języka UML.

Idea stereotypów polega na meta-klasyfikacji obiektów w UML. Pozwala na wprowadzenie graficznych ograniczeń klas zgodnych z tą

klasyfikacją.

Stereotypy są bardzo ogólnym pojęciem w UML i pozwalają na rozszerzanie UML o właściwości

użytkownika.

(4)

Stereotypy

Stereotyp w UML to ciąg znaków wewnątrz nawiasów << >>

<<actor>>

<<control object>>

Użytkownik może poszerzać zbiór stereotypów przez definiowanie własnych znaczeń i

opcjonalne dodawanie do nich oznaczeń graficznych.

(5)

Stereotypy

Stereotypy w diagramach klas mogą służyć do dokładniejszego specyfikowania:

•klas

•asocjacji

•generalizacji

Stereotypy są wspólnymi nazwanymi

właściwościami bytów, dzięki czemu definicja tych bytów może być uszczegółowiona.

(6)

Stereotypy

Przykłady stereotypów sugerowane przez autorów UML:

•stereotypy klas i obiektów: zdarzenie, wątek, interfejs, metaklasa, uogólnienie

•stereotypy typu obiektu: obiekty

rzeczywiste, obiekty sterujące, obiekty interfejsu

•stereotypy zadań: proces, wątek

•stereotypy węzłów

•stereotypy pakietów

(7)

Stereotypy zdefiniowane w UML

Stereotyp Element powiązany Znaczenie

actor klasa określa spójny zbiór ról odgrywanych przez użytkowników przypadku użycia w czasie interakcji z tym przypadkiem

użycia

access zależność Wskazuje, że pakiet źródłowy na prawo dostępu do publicznych składników pakietu docelowego

association koniec wiązania Wskazuje, że odpowiadający obiekt jest widoczny przez powiązanie

become komunikat Wskazuje, że cel jest tym samym

obiektem co źródło, ale reprezentuje ten obiekt w późniejszej chwili z być może innymi wartościami atrybutów, stanem lub rolami

(8)

Stereotypy zdefiniowane w UML

Stereotyp Element powiązany Znaczenie

bind zależność Wskazuje, że źródło tworzy egzemplarz wzorca docelowego z użyciem danych parametrów aktualnych

call zależność Wskazuje, że źródło wywołuje cel; oba te byty muszą być operacjami

copy komunikat Wskazuje, że obiekt docelowy jest dokładną, ale niezależną, kopią źródła create komunikat, zdarzenie Wskazuje, że komunikat lub zdarzenie

źródłowe tworzy obiekt docelowy

derive zależność Wskazuje, że źródło można wyznaczyć na podstawie celu

(9)

Stereotypy zdefiniowane w UML

Stereotyp Element powiązany Znaczenie destroy komunikat,

zdarzenie

Wskazuje, że komunikat lub zdarzenie źródłowe niszczy obiekt docelowy

document komponent Określa komponent reprezentujący dokument

enumeration klasa Określa typ wyliczeniowy; dopuszczalne wartości tego typu pochodzą z pewnego zbioru indentyfikatorów

exception klasa Określa zdarzenie, które może być spowodowane lub wykryte przez operację

executable komponent Określa komponent, który można wykonać w węźle

(10)

Stereotypy zdefiniowane w UML

Stereotyp Element powiązany Znaczenie

extend zależność Wskazuje, że docelowy przypadek użycia rozszerza znaczenie źródłowego

przypadku użycia w ściśle określonym miejscu rozszerzenia

facade pakiet Wskazuje pakiet będący jedynie fasadą innego pakietu

file komponent Określa komponent reprezentujący

dokument zawierający kod źródłowy lub dane

framework pakiet Określa pakiet składający się głównie ze wzorców

friend zależność Wskazuje, że źródło ma szczególny dostęp do wnętrza celu

(11)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

global koniec wiązania Wskazuje, że odpowiadający obiekt jest widoczny, ponieważ jest w otaczającym zasięgu

implementation uogólnienie Wskazuje, że potomek dziedziczy całą implementację przodka, ale ani nie udostępnia jako publicznych jego

interfejsów, ani ich nie realizuje; oznacza to, że nie można zastępować przodka

potomkiem.

implementa-

tionClass klasa Określa implementację klasy w pewnym języku programowania

(12)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

import zależność Rodzaj dostępu, który oznacza, że

zawartość publiczna pakietu docelowego zostaje dołączona do płaskiego obszaru nazw źródła; wygląda to tak, jakby

zawartość była tam po prostu zadeklarowana.

include zależność Wskazuje, że źródłowy przypadek użycia jawnie przyłącza docelowy przypadek użycia w miejscu określonym prze źródło.

instanceOf zależność Wskazuje, że obiekt źródłowy jest

egzemplarzem klasyfikatora docelowego

(13)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

instantiate zależność Wskazuje, że źródło tworzy egzemplarze celu

interface klasa Określa zestaw operacji, które

wyznaczają usługi oferowane przez klasę lub komponent

invariant ograniczenie Określa niezmiennik; musi być on zawsze spełniony w wypadku bytu, którego dotyczy

library komponent Określa dynamiczną lub statyczną bibliotekę obiektów

local koniec wiązania Wskazuje, że odpowiadający obiekt jest widoczny, ponieważ jest w lokalnym zasięgu

(14)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

metaclass klasyfikator Określa klasyfikator, którego wszystkie obiekty są klasami

model pakiet Określa znaczeniowo pełną abstrakcję systemu

parameter koniec wiązania Wskazuje, że odpowiadający obiekt jest widoczny, ponieważ jest parametrem postcondition ograniczenie Określa warunek końcowy, który musi

być spełniony po wywołaniu operacji powertype klasa, zależność Określa klasyfikator, którego obiekty są

potomkami ustalonego przodka;

wskazuje, że cel jest typem potęgowym źródła

(15)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

precondition ograniczenie Określa warunek początkowy, który musi być spełniony przed wywołaniem

operacji

process klasa Określa klasyfikator, którego

egzemplarze są ciężkimi przepływami sterowania

refine zależność Wskazuje, że źródło jest doskonalszym poziomie abstrakcji niż cel

requirement notatka Określa oczekiwany element, właściwość lub zachowanie systemu

responsibility notatka Określa kontrakt lub zobowiązanie klasy

(16)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

self koniec wiązania Wskazuje, że odpowiadający obiekt jest widoczny, ponieważ to właśnie on

odebrał zlecenie wykonania danej operacji

send zależność Wskazuje, że operacja źródłowa wywołuje zdarzenie docelowe signal klasa Określa asynchroniczny bodziec

przekazywany między egzemplarzami stereotype klasa Wskazuje, że klasyfikator jest

stereotypem, który może być stosowany w odniesieniu do inych bytów

(17)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

stub pakiet Określa pakiet będący pełnomocnikiem publicznej zawartości innego pakietu subsystem pakiet Określa zestaw bytów, których pewien

podzbiór jest specyfikacją zachowania pozostałych składników

system pakiet Określa pakiet reprezentujący cały modelowany system

table komponent Określa komponent reprezentujący tabelę bazy danych

thread klasa Określa klasyfikator, którego

egzemplarze reprezentują lekki przepływ sterowania

(18)

Stereotypy zdefiniowane w UML

Stereotyp Element

powiązany Znaczenie

trace zależność Wskazuje, że cel jest historycznie przodkiem źródła

type klasa Określa klasę abstrakcyjną, używaną tylko do zdefiniowania struktury i zachowania (ale nie implementacji) zbioru obiektów

use zależność Wskazuje, że znaczenie bytu źródłowego zależy od znaczenia części publicznej celu

utility zależność Wskazuje, że znaczenie bytu źródłowego zależy od znaczenia części publicznej celu

(19)

Metki

Metka umożliwia rozszerzenie listy

właściwości bloku konstrukcyjnego UML.

Jest przedstawiana w postaci napisu wewnątrz nawiasów klamrowych { ... } pod nazwą

danego bloku.

(20)

Metki zdefiniowane w UML

Metka Element powiązany Znaczenie

documentation wszystkie elementy Wskazuje komentarz, opis lub

objaśnienie bytu, do którego została dołączona

location większość elementów Wskazuje węzeł (lub komponent), na którym znajduje się dany byt

persistence klasa, powiązanie,

atrybut Wskazuje, czy stan egzemplarza jest przechowywany po zakończeniu procesu: persistent (zachować stan) i transient (nie zachowywać stanu) semantics klasa, operacja Określa znaczenie klasy lub operacji

(21)

Ograniczenia

Ograniczenia (constraints) umożliwiają

dodawanie nowych reguł lub modyfikowanie istniejących. Pozwalają rozszerzyć znaczenie elementu konstrukcyjnego UML. Ograniczenie może mieć powiązanie z jednym elementem, lub z kilkoma.

(22)

Ograniczenia zdefiniowane w UML

Ograniczenie Element powiązany Znaczenie

complete uogólnienie Wskazuje, że wszyscy potomkowie w uogólnieniu zostali w modelu

uwzględnieni (mimo, że niektórzy mogą być na diagramie pominięci); nie wolno dodawać żadnych nowych potomków destroyed egzemplarz

wiązanie

Wskazuje, że egzemplarz lub wiązanie jest niszczone przed zakończeniem wykonywania otaczającej interakcji disjoint uogólnienie Wskazuje, że obiekty przodka mogą

mieć nie więcej niż jednego potomka jako typ

implicit powiązanie Wskazuje, że związek jest tylko pojęciowy, nie jawny

(23)

Ograniczenia zdefiniowane w UML

Ograniczenie Element powiązany Znaczenie

incomplete uogólnienie Wskazuje, że nie wszyscy potomkowie w uogólnieniu zostali w modelu

uwzględnieni (nawet jeśli niektórych pominięto na diagramie); można

dodawać nowych potomków

new egzemplarz

wiązanie

Wskazuje, że egzemplarz lub wiązanie jest tworzone podczas wykonywania otaczającej interakcji

overlapping uogólnienie Wskazuje, że obiekty przodka mogą mieć więcej niż jednego potomka jako typ

transient egzemplarz wiązanie

Wskazuje, że egzemplarz lub wiązanie jest tworzone podczas wykonywania otaczającej interakcji, a niszczone przed jej zakończeniem

(24)

Ograniczenia zdefiniowane w UML

Ograniczenie Element powiązany Znaczenie

xor powiązanie Wskazuje, że dokładnie jedno

powiązanie z danego zbioru powiązań musi zachodzić dla każdego powiązania obiektu

Cytaty

Powiązane dokumenty

Czy koniec świata uważają za coś, na co nie mają wpływu, co może się im niezależnie od nich zdarzyć, czy też sądzą, że mogą być za niego współodpowiedzialni.. I dlaczego

Czy różnica między Czkawką a pozostałymi Wikingami przyniosła społeczności Wikingów

uczyć brzeg wspólny (fotografia), Agata Witkowska doesn’t care (fotografia), Tomasz Bieńkowski mirrors (linoryt) i zastanawiają się, biorąc pod uwagę pytanie zawarte w temacie,

Analiza kodu doprowadza do zawrotu głowy - funkcja jest jakaś dziwna: oto, dla wartości n większych od 100 zwraca ładnie wartość n-10 - jest to prawidłowe i mające

Metodologicznie chybiony jest pogląd, jakoby nauka powstawała tak, iż najpierw wskazuje się przedmiot zamie- rzonego badania, niczym pole do uprawy; potem szuka się stosownej

Pojęcie błędnej reprezentacji odgrywa rolę nie tylko w opisywaniu, wyjaśnianiu i przewidywaniu zachowań pozornie irracjonalnych, lecz także w odniesieniu do (przynajmniej

Koszty wejścia 0,00% Wpływ kosztów, które inwestor ponosi przy rozpoczynaniu inwestycji Koszty wyjścia 0,00% Wpływ kosztów wyjścia

lekarz podstawowej opieki zdrowotnej nie ma dostępu do aktualnej dokumentacji szpitalnej pacjenta, a szpital lub lekarz specjalista wiedzę na temat stanu zdrowia pacjenta czerpie