+ All Categories
Home > Documents > UML cz. II

UML cz. II

Date post: 23-Jan-2016
Category:
Upload: misha
View: 85 times
Download: 0 times
Share this document with a friend
Description:
UML cz. II. Prowadzący: Bartosz Walter. Plan wykładów. Zasady skutecznego działania Specyfikacja wymagań (przypadki użycia) Przeglądy artefaktów (inspekcje Fagana) Język UML, cz. I Język UML, cz. II Metody formalne (sieci Petriego) Wzorce projektowe Zarządzanie konfiguracją (CVS) - PowerPoint PPT Presentation
33
Inżynieria oprogramowania UML cz. II Prowadzący: Bartosz Walter
Transcript
dsaasdasdasBartosz Walter
Wykad ten stanowi drug cz wprowadzenia do jzyka UML i przegldu jego najwaniejszych elementów.
UML cz. II
Podczas biecego wykadu zostan przedstawione pozostae diagramy dotyczce struktury programu: diagram komponentów oraz diagram pakietów. Nastpnie omówione bd diagramy interakcji, prezentujce dynamiczny aspekt modelu systemu, przede wszystkim – diagramy sekwencji i wspódziaania. Kolejna cz wykadu bdzie powicona diagramom czynnoci oraz stanu, opisujcym wewntrzne zachowanie klas, komponentów i podsystemów.
Po zakoczeniu przegldu diagramów przedstawiony zostanie jzyk OCL sucy do formalnego opisu ogranicze w UML. Mimo, e jego stosowanie nie jest obowizkowe, to jednak odgrywa on znaczc rol przy wykorzystaniu notacji UML jako podstawy do generowania kodu wykonywalnego.
Ostatni czci bdzie przedstawienie wybranych narzdzi UML, zarówno komercyjnych, jak i darmowych.
UML cz. II
Diagram komponentów pokazuje zalenoci pomidzy komponentami i interfejsami
komponent
implementuje interfejs Przeszukiwanie
Funkcjonalno oferowana przez komponent jest dostpna przez interfejsy, które implementuje. Z drugiej strony, komponent moe wymaga pewnych interfejsów, które musz by dostarczone przez inne komponenty.
Diagram komponentów (ang. component diagram) przedstawia komponenty, ich interfejsy oraz zalenoci pomidzy nimi.
Na powyszym slajdzie komponent Katalog implementuje interfejsy Sortowalny oraz Przeszukiwanie, natomiast interfejs Meneder kryteriów potrzebuje implementacji interfejsu Przeszukiwanie i korzysta w tym celu z komponentu Katalog.
Przedstawiony diagram stosuje notacj znan z UML 1.x. W przypadku UML 2.0 komponenty s przedstawiane w postaci prostoktów ze stereotypem «component», natomiast interfejsy dane przez komponent w postaci otwartych tzw. "apek" dopasowanych do tzw. "pieczek" reprezentujcych implementowane interfejsy.
UML cz. II
Meneder wydawnictw zaley od Bazy danych
dsdsadasdadsa
Bartosz Walter
Komponenty s midzy sob powizane relacj zalenoci. Oznacza ona, e komponent zaleny wymaga innego komponentu w celu realizacji wasnej funkcjonalnoci. Zaleno midzy A i B oznacza ponadto, e komponent A korzysta z komponentu B i zmiana w komponencie B moe spowodowa konieczno zmiany w A.
Liczba i jako tych zalenoci ma due znaczenie dla oceny jakoci modelu i projektu: dua liczba powiza pomidzy komponentami, a w szczególnoci zalenoci cykliczne, w znacznym stopniu utrudniaj wyznaczanie obszarów zmiennoci i ich hermetyzacj, a co za tym idzie – podnosz koszt pielgnacji oprogramowania. W odrónieniu od tego, system o dobrze zdefiniowanych interfejsach komponentów pozwala na ich wymian bez potrzeby modyfikacji pozostaej czci systemu.
Przykad przedstawiony na slajdzie pokazuje m.in. zaleno komponentu Katalog (który implementuje interfejs Sortowalny, jednak nie jest w ten sposób przez aden inny komponent wykorzystywany) od Menedera wydawnictw. Komponent Katalog posiada take interfejs Przeszukiwanie, który jest interfejsem wymaganym przez Menedera rozlicze i Menedera kryteriów. Interfejs ten stanowi punkt czcy Katalog z tymi komponentami.
UML cz. II
Diagram pakietów
Pakiety w UML su do przechowywania innych elementów jzyka, przede wszystkim klas. Dziki nim mona uporzdkowa struktur modelu.
Pakiet Obsuga czytelników::GUI
Diagramy pakietów (ang. package diagrams) su do modelowania fizycznego i logicznego podziau systemu. Pakiety s elementem strukturalizujcym elementy UML i su do grupowania ich wedug dowolnego kryterium. W pakiecie mona umieci praktycznie dowolne elementy: klasy, komponenty, przypadki uycia, a take inne pakiety. W ten sposób przedstawiaj one drzewiast struktur elementów modelu.
Pakiety doskonale nadaj si do wizualizacji podstawowych zalenoci pomidzy czciami systemu, dziki czemu atwo oceni jako i stopie powiza pomidzy nimi. Dobra struktura pakietów, w której zalenoci s jasno uporzdkowane oraz nie wystpuj (lub wystpuj tylko na niskim poziomie) zalenoci cykliczne, wspiera póniejsz rozbudow systemu. W szczególnoci przydaj si w duych aplikacjach, podzielonych na wiele podsystemów, poniewa w prosty sposób obrazuj podstawowe zalenoci pomidzy nimi.
Pakiet tworzy take pewnego rodzaju jednostk hermetyzacji: elementy z pakietu odwouj si do elementów zewntrznych posugujc si ich penymi kwalifikowanymi (zawierajcymi nazwy pakietów) nazwami, zgodnie z ich zakresem widocznoci, natomiast wewntrz pakietu elementy mog odwoywa si do siebie bezporednio.
Elementy wewntrz pakietu mog mie jeden z dwóch poziomów widocznoci: prywatny lub publiczny. Elementy publiczne s widziane i mog by uyte poza wasnym pakietem, natomiast prywatne – nie. Aby elementy pakietu mogy odwoa si do elementów prywatnych z innego pakietu, musz go importowa. Oznacza to, e elementy te staj si dla importujcego pakietu widoczne. Import pakietu oznaczany jest zalenoci ze sowem kluczowym «import».
UML cz. II
wze
Diagramy te s rzadko uywane przy modelowaniu mniejszych i rednich systemów, dlatego zwykle ich rola jest ograniczona. Poniewa posuguj si zaledwie kilkoma symbolami, dlatego kluczow rol odgrywaj stereotypy nadawane poszczególnym elementom. Pozwalaj one doprecyzowa znaczenie i funkcj oprogramowania oraz sprztu.
Diagramy wdroenia istotn rol odgrywaj przy wdraaniu duych, rozproszonych systemów.
UML cz. II
Diagramy interakcji w UMLu opisuj komunikacj midzy obiektami. Zwykle diagramy nale do okrelonych obiektów.
Rodzaje diagramów interakcji w UML:
diagram sekwencji
komunikacji (UML 2.0)
diagram przegldu interakcji
diagram uwarunkowa czasowych
Sporód nich najbardziej znanym i najczciej wykorzystywanym jest diagram sekwencji, pokazujcy przepyw komunikatów midzy obiektami w kontekcie czasu. Pozostae diagramy – komunikacji, przegldu interakcji czy uwarunkowa czasowych – zwykle odgrywaj mniejsz rol, ale warto o nich wspomnie.
UML cz. II
czas
sd
dsdsadasdadsa
Diagramy sekwencji (ang. sequence diagrams) w intuicyjny i czytelny sposób prezentuj kolejno wywoa operacji, przepyw sterowania pomidzy obiektami oraz szkielet algorytmu metody. Pomijaj natomiast cakowicie zwizany z komunikacj aspekt dostpu do danych i operacji na nich. Uczestnikami diagramów sekwencji s obiekty, opisane nazw obiektu i jego klas, które wymieniaj midzy sob komunikaty.
Diagram sekwencji jest zapisany w prostokcie oznaczonym operatorem sd (od angielskiej nazwy diagramu) i skada si z pionowych linii ycia (ang. lifelines) poszczególnych obiektów uczestniczcych w interakcji oraz wymienianych midzy nimi komunikatów (wywoa operacji). Biae prostokty umieszczone na linii ycia obiektu oznaczaj, e obiekt jest zajty wykonywaniem pewnej czynnoci (natomiast nie maj bezporedniego zwizku z istnieniem obiektu). Czas jest reprezentowany w postaci pionowej osi diagramu.
Linia ycia obiektu to czas, w którym konkretna instancja obiektu jest w stanie przyjmowa komunikaty i wysya je. Innymi sowy, obejmuje ona czas istnienia obiektu w systemie. Obiekt jest tworzony poprzez wysanie do niego komunikatu-konstruktora (Bibliotekarz tworzy obiekt klasy Karta Wydawnictwa), natomiast niekoniecznie jest fizycznie usuwany na kocu linii ycia – raczej przestaje by istotny i wychodzi poza zakres diagramu. Fizycznie usunicie obiektu mona wprost oznaczy jako znak X na linii ycia (na przykad obiekt Karta wydawnictwa).
UML cz. II
Bartosz Walter
Komunikat to forma kontaktu pomidzy obiektami, której efektem ma by podjcie przez docelowy obiekt pewnej akcji. Otrzymanie komunikatu przez obiekt wie si z wykonaniem przez niego jego wasnego kodu lub wysaniem kolejnego komunikatu do innego obiektu w celu wykonania przez niego pewnej akcji.
Komunikaty w UML s reprezentowane przez strzaki czce linie ycia poszczególnych obiektów. Kady komunikat wewntrz interakcji opatrzony jest kolejnym numerem, co pozwala na atwe ledzenie jej przebiegu. Istniej trzy podstawowe komunikaty, jakie mog zosta wymienione pomidzy obiektami: wywoanie procedury, powrót z niej oraz wywoanie asynchroniczne.
UML cz. II
loop
Bardzo czsto zachodzi konieczno wskazania specjalnej wasnoci pewnej czci interakcji, np. oznaczenie sekcji krytycznej czy zwyczajnej ptli. Na diagramach sekwencji tak grup operacji obejmuje si prostoktem, w którego lewym górnym naroniku, w piciokcie umieszcza si sowo kluczowe lub opis okrelajcy znaczenie danego bloku (tzw. operator interakcji), np.:
alt (od alternative) – okrelajcy warunek wykonania bloku operacji, odpowiadajcy instrukcji if-else; warunek umieszcza si wówczas wewntrz bloku w nawiasach kwadratowych
opt (od optional) – reprezentujcy instrukcj if (bez else)
par (od parallel) – nakazujcy wykona operacje równolegle
critical – oznaczajcy obszar krytyczny
loop – definiujcy ptl typu for (o okrelonej z góry liczbie iteracji) lub while (wykonywanej dopóki pewien warunek jest prawdziwy)
UML cz. II
UML cz. II
1.1: wyszukaj
1.2: status
1.2: wypoycz
Bartosz Walter
Diagram komunikacji (ang. communication diagram) jest rozszerzon i przemianowan wersj diagramu wspódziaania (ang. collaboration diagram) znanego z UML 1.x. W odrónieniu od diagramu sekwencji, skupia si on na obiektach wchodzcych w skad interakcji i wymienianymi przez nie komunikatach, natomiast w mniejszym stopniu (cho nadal obecnym) wskazuje na aspekt czasowy. Z tego powodu obiekty na diagramie komunikacji s umieszczone tak, aby atwo mona byo opisa ich relacje pomidzy sob. Komunikacje s przedstawiane za pomoc linii czcych obiekty, natomiast przesyane midzy obiektami komunikaty i dane s umieszczane obok tych linii. Kady komunikat jest opatrzony etykiet liczbow, wskazujc na kolejno ich wysyania. Etykieta ta ma posta liczb oddzielonych kropkami. W przypadku rozdzielenia sterowania kady krok powoduje dodanie do etykiet kroków nastpnych kolejnych pól z liczbami, np. krok 2 powoduje utworzenie kroków 2.1, 2.2 lecych bezporednio za nim. Krok 2.1 posiada kroki 2.1.1 i 2.1.2, itd.
W odrónieniu od diagramów sekwencji, diagramy komunikacji nie mog przekaza wielu informacji dotyczcych interakcji, np. bloków komunikatów. Z drugiej strony jednak prezentuj rzeczywiste powizania obiektów i ich relacji, co moe uatwi zrozumienie interakcji.
UML cz. II
[ksika niedostpna]
[ksika dostpna]
UML cz. II
Bibliotekarz
Czytelnik
rezerwacja
weryfikacja
rezerwacja
rozcz
Diagramy uwarunkowa czasowych (ang. timing diagrams) s specjaln form diagramów interakcji przeznaczon niemal wycznie do prezentowania zalenoci zwizanych z czasem wykonywania operacji przez obiekt lub grup obiektów. Linia czasu jest reprezentowana przez poziom o diagramu, natomiast o pionowa przedstawia kolejne obiekty uczestniczce w interakcji oraz ich zmieniajce si stany wewntrzne. Odlegoci pomidzy momentami zmian stanów wyznaczaj uwarunkowania czasowe.
Diagram ten ma due znaczenie np. w modelowaniu systemów czasu rzeczywistego.
UML cz. II
Diagram stanu reprezentuje zachowanie obiektu o skoczonej liczbie stanów i zdefiniowanych przejciach midzy nimi
dsdsadasdadsa
Diagramy stanu (ang. state machine diagram) reprezentuj zachowanie systemu lub jego elementu (zwykle klasy), a w szczególnoci zmiany tego zachowania.
Podstawowymi elementami diagramu s stany obiektu poczone strzakami przej. Obiekt, reagujc na nadchodzce zdarzenia, jeeli spenione s okrelone warunki, zmienia swój stan i pooenie na diagramie stanu.
UML cz. II
Stan
Stan jest etapem cyklu ycia obiektu. Obiekt przebywajcy w danym stanie spenia okrelony warunek.
entry: w momencie wejcia do stanu
do: wewntrz stanu
event: w momencie nadejcia zdarzenia
dsdsadasdadsa
Pojedynczy stan reprezentuje moment w zachowaniu obiektu, w którym pewien warunek jest prawdziwy.
Stany s reprezentowane przez prostokty z zaokrglonymi naronikami. Kady stan ma swoj nazw.
Ze stanem mog by zwizane pewne akcje, wykonywane w okrelonym momencie:
entry: jest akcj wykonywan w momencie gdy obiekt przyjmuje dany stan; akcja ta jest wykonywana jeden raz i niepodzielnie
do: jest akcj wykonywan nieprzerwanie w czasie, gdy obiekt przebywa w tym stanie
exit: oznacza (analogicznie do entry) moment opuszczenia stanu; podobnie, akcja taka jest wykonywana tylko raz.
event: reprezentuje akcj wykonywan w momencie nadejcia zdarzenia okrelonego typu
Wykonanie kadej z tych akcji moe równie generowa zdarzenie.
UML cz. II
Diagram zawiera take grup stanów niezwizanych z dziedzin zastosowa, tzw. pseudostanów
Nowa
Otwarta
Zamknita
Usunita
Obok stanów reprezentujcych wasnoci wynikajce z dziedziny zastosowa (np. Dostpna czy Wypoyczona w przypadku Ksiki), UML definiuje grup innych stanów pomocniczych, które pozwalaj na atwiejsze modelowanie rozmaitych maszyn stanowych. S to tzw. pseudostany:
pocztkowy, który reprezentuje obiekt w momencie jego utworzenia. Kady diagram stanu moe zawiera tylko jeden taki stan. Do stanu pocztkowego nie dochodz adne przejcia.
kocowy, który reprezentuje usunicie obiektu z systemu. Stan ten jest opcjonalny (nie wszystkie obiekty s usuwane), w systemie take moe wystpowa wiele rónych stanów kocowych. Ze stanów kocowych nie mona przej do innych stanów.
decyzja, przedstawiajca wybór pomidzy dwiema wartociami logicznymi pewnego wyraenia. Warto zauway, e odpowiednio korzystajc z warunków przej mona pomin ten pseudostan, jednak czsto jego uycie zwiksza czytelno modelu
zczenie/rozwidlenie – powoduje synchronizacj stanów (wszystkie dochodzce do niego przejcia musz by wykonane)
historia (reprezentowana przez literk H umieszczon w okrgu wewntrz stanu) – zapewnia moliwo zapamitania poprzedniego stanu obiektu i przywrócenie go.
UML cz. II
wyzwalacz [dozór] / akcja ^ wysyane zdarzenia
Zdarzenie wyzwalajce przejcie
Wysyane zdarzenia
Bartosz Walter
Stany s powizane ze sob przejciami. Przejcia definiuj warunki, jakie musz zaistnie, aby obiekt zmieni swój stan z ródowego na docelowy. Formalnie opis przejcia skada si z czterech elementów:
wyzwalacza (ang. trigger) – zdarzenia, które moe spowodowa przejcie i zmian stanu
dozoru (ang. guard condition) – warunku, jaki musi by speniony, aby przejcie zostao wykonane; warunek ten jest ewaluowany w momencie pojawienia si wyzwalacza
akcji (ang. action) – operacji wykonywanej w momencie przejcia ze stanu do stanu; nawet jeeli akcja przejcia jest zoona z wielu akcji elementarnych, jest ona wykonywana niepodzielnie
zdarzenia (ang. event) – wysyanego w momencie wykonania przejcia.
W podanym przykadzie, reprezentujcym dwa stany klasy Ksika, zdarzenie Przegld moe spowodowa zmian stanu z Dostpnej na Zniszczon, jeeli jej stan zostanie oceniony na mniej ni 10%. Efektem przejcia bdzie zmiana atrybutu dostpna na false oraz wysanie zdarzenia zablokowania ksiki w katalogu.
UML cz. II
Stany zoone
Stany zoone posiadaj wewntrzn maszyn stanów. Wejcie do stanu jest jej stanem pocztkowym, a wyjcie – kocowym.
dsdsadasdadsa
Bartosz Walter
Dotychczas bya mowa o stanach prostych. S one niepodzielne – znalezienie si obiektu w takim stanie ma zawsze taki sam efekt i pomija ewentualne zmieniajce si zewntrzne okolicznoci.
W niektórych sytuacjach wewntrz stanu mona jednake wyróni podstany. Innymi sowy, wewntrz stanu znajduje si inny diagram stanu.
Diagram podstanów jest przetwarzany w sposób zbliony do zwykego diagramu stanu. Jednak w ogólnym przypadku stan zoony dopuszcza take istnienie podstanów wspóbienych, co oznacza, e obiekt znajdujc si w jednym stanie jednoczenie znajduje si w kilku podstanach. Wówczas podstany równolege tworz niezalene regiony wewntrz stanu zewntrznego, w których przejcia nastpuj niezalenie od siebie.
Wejcie do stanu powoduje take wejcie wszystkich podstanów pocztkowych we wszystkich regionach. Nastpnie przejcia s realizowane równolegle i niezalenie we wszystkich regionach, a do podstanów kocowych. Przejcie do stanu kocowego we wszystkich regionach powoduje uruchomienie zdarzenia zakoczenia stanu i skojarzonych z nim wyzwalaczy.
Przykad dotyczy stanu Otwarta, reprezentujcego otwarty stan Rezerwacji ksiek. Rezerwacja moe obj do 4 ksiek jednoczenie. Stan Rezerwacji pozostaje otwarty w trakcie dodawania kolejnych ksiek, jednak wyróniono w nim podstany: Wyszukanie informacji o ksice, Weryfikacj, czy danej ksiki ju wczeniej nie zarezerwowano oraz Aktualizacj danych Rezerwacji. Wszystkie podstany prowadz do opuszczenia stanu przez Rezerwacj, co jest zwizane np. z prób dodania do niej nowej ksiki.
UML cz. II
zwrot
przeduenie[ liczba przedue < 3 ] / data oddania = teraz + 3 tygodnie
przegld[ stan < 10% ] / dostpna = false ^zablokuj w katalogu
dsdsadasdadsa
Bartosz Walter
Diagram ten obejmuje przykadowy cykl ycia obiektu Ksika w bibliotece. Ksika zostaje Nabyta (stan pocztkowy), a nastpnie (po rejestracji) staje si Dostpna. Jej wypoyczenie przez czytelnika (niezalenie od tego, czy bya rezerwowana, czy nie), przeprowadza j do stanu Wypoyczonej. Ksika moe pozosta w tym stanie np. wskutek przeduenia (warunkiem jest, e liczba przedue nie przekroczya 3) – wówczas data oddania jest przesuwana o 3 tygodnie. Zarówno ze stanu Dostpnoci, jak i Wypoyczenia ksika moe przej do stanu Zniszczenia, o ile wskutek zdarzenia Przegld jej stan zostanie oceniony na mniej ni 10%. Jeeli tak si stanie, atrybut Ksiki dostpna otrzymuje warto false oraz wysyane jest zdarzenie zablokowania dostpnoci Ksiki w katalogu. Wypoyczona ksika, której nie oddano w terminie 3 miesicy od terminu zwrotu, jest uwaana za Zagubion.
UML cz. II
w systemie oraz wynikajce z nich zmiany stanów.
akcja
stan
Diagramy czynnoci (ang. activity diagrams) prezentuj przepyw sterowania w systemie zwizany z wykonaniem pewnej funkcji. Przepywy cz czynnoci wykonywane przez poszczególne obiekty i stany obiektów, w których znajduj si po wykonaniu czynnoci.
Wygld tych diagramów przypomina diagramy stanu (w UML 1.x byy to diagramy pokrewne, blisko zwizane ze sob), jednak ich przeznaczenie jest inne. Diagramy stanu skupiaj si – jak nazwa wskazuje – na stanach, a akcje zwizane z ich zmian s elementem dodatkowym. W diagramach czynnoci jest odwrotnie: akcje s na pierwszym planie, a zmiany stanów s efektem ich wykonania. Dlatego diagramy czynnoci dobrze nadaj si do opisu przepywu sterowania pomidzy obiektami (szczególnie w przypadku przetwarzania wspóbienego) oraz przepywu danych pomidzy nimi.
Diagram, podobnie jak diagram stanu, moe posiada punkt startowy i dowoln liczb stanów kocowych. Najwaniejszym jego elementem s akcje, reprezentowane przez prostokty z zaokrglonymi naronikami oraz przejcia (uki) przedstawiajce przepyw sterowania. uki mog by opatrzone warunkami dozoru, które decyduj o wykonaniu przejcia oraz zdarzeniami, które s generowane w momencie gdy przejcie jest wykonywane. Diagramy czynnoci zawieraj take stany, w jakich moe znale si okrelony obiekt po wykonaniu akcji oraz elementy decyzyjne czy synchronizujce.
Umieszczanie akcji w torach (ang. swimlanes) pozwala na pogrupowanie ich wedug pewnego kryterium. Moe nim by np. obiekt, który wykonuje dan akcj lub inna wspólna cecha akcji.
Obiekty umieszczone na diagramach czynnoci s podporzdkowane przepywowi sterowania i reprezentuj parametry wejciowe lub wyniki dziaania czynnoci.
UML cz. II
Czytelnik jednoczenie uruchamia proces wykonywania lokalnego (w katalogu lokalnym) i zdalnego (w katalogu zdalnym), które s realizowane wspóbienie. Po zakoczeniu obu operacji nastpuje sprawdzenie, czy lista wyników jest pusta. Jeeli tak, wówczas proces wyszukiwania jest zakoczony, w przeciwnym przypadku lista jest czona z dodatkowymi informacjami prezentowanymi czytelnikowi, analizowana i zwracana inicjatorowi przeszukiwania
UML cz. II
UML posiada standardowy mechanizm rozszerze.
Pozwala on na objcie nowych dziedzin zastosowa bez potrzeby modyfikacji jzyka lub implementujcych go narzdzi.
Mechanizm obejmuje trzy elementy
UML suy obecnie do opisu modeli w wielu dziedzinach zastosowa. Aby umoliwi atwe modelowanie kolejnych dziedzin bez potrzeby modyfikowania lub rozszerzania jzyka, zastosowano w nim specjalny mechanizm rozszerze. Pozwala on redefiniowa pojcia i elementy oraz doprecyzowywa ich znaczenie tak, aby odpowiaday potrzebom nowego obszaru zastosowa.
W skad mechanizmu rozszerze wchodz trzy elementy:
profile, zawierajce rozszerzenia (stereotypy i metki) do modelowania okrelonych dziedzin
stereotypy, zmieniajce znaczenie poszczególnych elementów
metki, opisujce dodatkowe waciwoci elementów
UML cz. II
Profile UML s narzeczami jzyka UML przystosowanymi do modelowania pewnej dziedziny zastosowa.
Profil obejmuje zdefiniowane stereotypy, metki, ograniczenia.
dsdsadasdadsa
Wród tych mechanizmów najwaniejszym s profile, zawierajce kompletny i spójny zestaw elementów dedykowanych do modelowania okrelonej dziedziny, np. systemów czasu rzeczywistego, baz danych, logiki biznesowej etc. Zdefiniowane i zaakceptowane profile pozwalaj unikn kaskady rónorodnych rozszerze dokonywanych przez uytkowników na wasn rk, co znacznie zmniejszao czytelno i komunikatywno modeli. Profile zwykle s definiowane na zasadzie konsensusu przez organizacje standaryzujc (np. OMG) lub dostawc okrelonej technologii (np. Sun Microsystems w przypadku EJB), jednak mona je take definiowa samemu, ryzykujc jednak niespójno z innymi profilami dotyczcymi tego samego obszaru zastosowa.
Profile zawieraj zdefiniowany zestaw stereotypów i metek, z których powinni korzysta analitycy dziaajcy w dziedzinie zastosowa profilu. Na przykad, profil do modelowania ziaren EJB definiuje stereotypy EJBSessionBean, EJBPrimaryKey, EJBHomeInterface czy EJBCreateMethod, oznaczajce odpowiednio klas ziarna sesyjnego, atrybut bdcy kluczem podstawowym ziarna encyjnego, interfejs domowy ziarna oraz metod tworzc instancj interfejsu ziarna. Stereotyp EJBSessionBean definiuje m.in. metk EJBTransType, natomiast kada operacja moe posiada metk EJBRoleNames, okrelajc role, które musi posiada wywoujcy t operacj element.
UML cz. II
Stereotypy su do zmieniania lub doprecyzowania semantyki elementów modelu. Dziki nim mona dokadnie okreli ich rol w systemie.
Stereotypy s reprezentowane przez ikon lub sowo kluczowe ujte w "apki": «stereotyp»
Róne sposoby przedstawienia stereotypu «EJBSession» w klasie RejestratorCzytelników
dsdsadasdadsa
Kolejnym narzdziem mechanizmu rozszerze jest stereotyp, który historycznie by podstawowym narzdziem rozszerzania i modyfikowania UMLa. Stereotypy dodaj do znanych ju elementów: klas, atrybutów, asocjacji now semantyk. W UML 1.x stereotypami byy wszelkie dekoracje zmieniajce znaczenie wybranego elementu. Wersja ta zawieraa take spor grup zdefiniowanych stereotypów standardowych. W UML 2.0 nazw t zarezerwowano wycznie dla dekoracji wchodzcych w skad profili, natomiast pozostae uycia tego sowa zostay przemianowane na sowa kluczowe. Stereotypy posiadaj specjaln notacj, polegajc na umieszczeniu nazwy stereotypu w specjalnych znakach guillemets («stereotyp»). Stereotypy, szczególnie te najczciej uywane, posiadaj take wasn ikon, która jest umieszczana wewntrz stereotypowanego elementu lub cakowicie go zastpuje.
UML cz. II
Metki (ang. tagged values) pozwalaj doczy do elementu dodatkowe waciwoci
Metki posiadaj posta par klucz : warto
Stereotypy i profile definiuj wasne zestawy metek
Metki s zapisywane w postaci notatki doczonej do elementu, którego dotycz
metka EJBTransType okrela sposób zarzdzania transakcjami w ziarnie EJB
dsdsadasdadsa
Bartosz Walter
Na najniszym poziomie znajduj si tzw. metki (ang. tagged values), pozwalajce opisywa dodatkowe waciwoci elementu, które nie zostay przewidziane w UMLu. Metki s zapisywane w postaci par klucz-warto w nawiasach klamrowych i doczane do opisywanych elementów w postaci notatek. W wikszoci narzdzi s one jednak zapisywane w postaci metadanych, zawartych wewntrz elementu, poniewa tak atwiej je przetwarza. Metki, podobnie jak stereotypy, s zasadniczo definiowane wewntrz profili (i znajdujcych si w nich stereotypów), jednak istnieje take moliwo ich definiowania przez uytkowników.
Najprostszym przykadem metki moe by informacja o autorze modelu {autor = "Jan Kowalski"}.
UML cz. II
Na powyszym slajdzie przedstawiono prosty przykad wykorzystania jednego z profili UML, sucego do modelowania danych. Wprawdzie relacyjne bazy danych posiadaj wasn notacj, opart na diagramach ERD (Entity Relationship Diagrams), jednak moliwo ich tworzenia w UMLu jest wanym uzupenieniem tego jzyka.
Profil ten definiuje stereotypy, które mona umieszcza na istniejcych elementach UML w celu nadania im nowego znaczenia w dziedzinie projektowania baz danych. Na przykad, schemat bazy danych jest reprezentowany przez pakiet ze stereotypem «schema», tabela jest modelowana jako klasa ze stereotypem «RelationalTable», a jej klucze podstawowe i obce – jako atrybuty odpowiednio ze stereotypami «PK» i «FK». Ograniczenia integralnociowe wewntrz relacji s metodami ze stereotypem «constraint».
Tak opisany schemat danych moe by uyty do wygenerowania kodu w jzyku definicji baz danych (np. SQL DDL), który nastpnie posuy do utworzenia schematów i tabel zgodnych z nim.
UML cz. II
OCL (Object Constraint Language) jest jzykiem formalnego wyraania ogranicze w UML
Wasnoci OCL
nie moe modyfikowa modelu, jedynie go sprawdza
mona go zwiza z dowolnym elementem modelu (klas, operacj, atrybutem, asocjacj etc.)
dsdsadasdadsa
Bartosz Walter
OCL jest formalnym jzykiem wyraania wszelkiego rodzaju ogranicze obecnych w UMLu. Cho uycie jego nie jest obowizkowe (ograniczenia mona równie dobrze specyfikowa w jzyku naturalnym), jednak jego rola w dobie narzdzi generujcych kod z diagramów bdzie rosa.
Warto pamita, e OCL nie jest jzykiem programowania: posiada konstrukcje pozwalajce ewaluowa poszczególne elementy modelu, ale nie moe na ten model w aden sposób wpywa, w szczególnoci poprzez zmian ich wartoci. Ewaluacja wyrae OCL nastpuje w sposób atomiczny (niepodzielny), nie powodujc nigdy zmiany stanu jakiegokolwiek obiektu.
OCL posiada zestaw wbudowanych operatorów, predykatów, ma moliwo definiowania wasnych funkcji, warunków i niezmienników. Dziki nim moliwe jest uycie go przy niemal wszystkich elementach wystpujcych w UML
UML cz. II
Bartosz Walter
Diagram klas przedstawia rodzin, jej czonków i relacje zachodzce pomidzy nimi. Obiekt klasy M jest zwizany z dokadnie jednym obiektem klasy ona. Kade z nich jest zwizane z obiektami klasy Dziecko.
Tak przedstawiony rysunek, bez naoonych dodatkowych ogranicze, mógby prowadzi do rozmaitych interpretacji, take nieprawdziwych. Dlatego wprowadzenie ogranicze w OCL pozwala ucili model.
Relacja pomidzy Mem i on ma naoone ograniczenie, e data lubu obu obiektów musi by identyczna, a take nawigujc od Ma poprzez zwizany z nim relacj polubienia obiekt ona, trafiamy z powrotem na ródowy obiekt M (zatem M i ona s ze sob zwizani relacj wzajemnoci).
Kolejne ograniczenie mówi, e (zgodnie z polskim prawem) ona musi mie wiek powyej 18 lat, a M – 21.
Aby zapewni, e dzieci posiadane przez on byy take dziemi Ma, naoono odpowiednie ograniczenia na relacje midzy Mem i Dzieckiem oraz on i Dzieckiem.
UML cz. II
Bartosz Walter
Na tym zakoczone zostao omówienie podstaw jzyka UML. Obecnie przejdziemy do przegldu dwóch przykadowych narzdzi sucych do modelowania w tym jzyku.
Przykadem darmowego i otwartego narzdzia do modelowania w UML jest ArgoUML. Jest to program w caoci zaimplementowany w jzyku Java, który mona uruchomi na dowolnej platformie programowej wyposaonej w interpreter tego jzyka.
Posiada on wsparcie dla wersji 1.4 UML, natomiast nie ma zaimplementowanej obsugi adnego z nowych diagramów, jakie pojawiy si w wersji 2.0 jzyka. Posiada take modu inspekcji modelu, znajdujcy najpopularniejsze bdy popeniane przez analityków, zaimplementowane w postaci regu. Umoliwia take synchronizacj kodu z modelem dla wybranych jzyków programowania.
UML cz. II
narzdzia komercyjne
wsparcie dla UML 1.x (Rose) i UML 2.0 (Modeler)
wsparcie dla modelowania wybranych dziedzin i technologii
modelowanie biznesowe
Na drugim biegunie znajduj si narzdzia firmy Rational (obecnie Rational Division wewntrz IBMa). Klasycznym narzdziem do modelowania jest Rational Rose, natomiast nowsz lini produktow reprezentuje Rational Software Modeler. Ten ostatni produkt jest oparty na rodowisku Eclipse i posiada wsparcie dla wersji 2.0 UML.
Wród moliwoci obu rodowisk warto wymieni moliwo wykorzystania profili jzyka UML w postaci wtyczek dedykowanych do rozmaitych technologii (modelowania danych, modelowania biznesowego etc.). Narzdzia te atwo integruj si z innymi produktami Rational i IBM, posiadaj jednak take moliwo wspópracy z wybranymi innymi narzdziami.
UML cz. II
Diagramy interakcji su do opisu komunikacji pomidzy obiektami
Diagramy czynnoci definiuj algorytmy realizacji funkcji, a diagramy stanu – zmian zachowania obiektów
Mechanizm rozszerze UML pozwala na obejmowanie nowych obszarów zastosowa
OCL jest jzykiem formalnego opisu ogranicze
dsdsadasdadsa
Wykad zakoczy krótkie wprowadzenie do modelowania z wykorzystaniem jzyka UML. Przedstawiono najwaniejsze rodzaje diagramów i ich moliwoci wyrazu, a take rozszerzone moliwoci jzyka.
UML cz. II
zwrot
przeduenie[ liczba przedue < 3 ] / data oddania = teraz + 3 tygodnie
przegld[ stan < 10% ] / dostpna = false ^zablokuj w katalogu
Dostêpna
: Wypo¿yczaj¹cy

Recommended