Diagramy zachowania. Diagramy struktury. Przypadków użycia. Stanów. Przeglądu interakcji widoku interakcji (ang. interaction overview)



Podobne dokumenty
Diagramy zachowania. Diagramy struktury. przypadki użycia. Stanów. Przeglądu interakcji widoku interakcji (ang. interaction overview)

UML w Visual Studio. Michał Ciećwierz

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Język UML w modelowaniu systemów informatycznych

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy przypadków użycia

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Unified Modeling Language

UML cz. I. UML cz. I 1/1

Podstawy programowania III WYKŁAD 4

Diagramy czynności. Widok logiczny. Widok fizyczny

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Spis treúci. 1. Wprowadzenie... 13

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Podstawy języka UML UML

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Język UML w modelowaniu systemów informatycznych

UML. dr inż. Marcin Pietroo

Michał Adamczyk. Język UML

Inżynieria oprogramowania

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Faza analizy (modelowania) Faza projektowania

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

WPROWADZENIE DO UML-a

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Diagramy przypadków użycia

Projektowanie systemów informatycznych. wykład 6

UML cz. III. UML cz. III 1/36

Podstawy inżynierii oprogramowania

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

problem w określonym kontekście siły istotę jego rozwiązania

Modelowanie obiektowe - Ćw. 3.

Modelowanie i analiza systemów informatycznych Spis treści

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Podstawy języka UML UML

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Diagram przypadków użycia

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

Projektowanie interakcji. Jarosław Kuchta

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Inżynieria oprogramowania II

Znaleziony - jeżeli nadawca nie jest znany w obrębie danego fragmentu Utracony - jeżeli odbiorca komunikatu nie jest znany w obrębie danego fragmentu

Podstawy języka UML2 w realnych projektach

Świat rzeczywisty i jego model

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Wprowadzenie do UML, przykład użycia kolizja

TECHNOLOGIE OBIEKTOWE. Wykład 3

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Diagramy UML, przykład problemu kolizji

Modelowanie i analiza systemów informatycznych

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

UML - zarys 2007/2008

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

Unified Modeling Language. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

STANDARD UML 2.3 W ZARZĄDZANIU WYTWARZANIEM OPROGRAMOWANIA

- Przypadki Użycia - Diagramy Przypadków Użycia

Oprogramowanie o wysokiej jakości to oprogramowanie spełniające następujące kryteria:

Modelowanie obiektowe - Ćw. 6.

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Podstawy modelowania w języku UML

Diagramy czynności. sekwencyjnych i współbieŝnych. pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Język UML w modelowaniu systemów informatycznych

Tworzenie warstwy zasobów projektowanie metodą strukturalną

Diagramy przypadków uŝycia. związków między nimi

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Identyfikacja i modelowanie struktur i procesów biologicznych

Dr Katarzyna Grzesiak-Koped

Diagramy klas. dr Jarosław Skaruz

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Modelowanie i analiza systemów informatycznych

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Diagramy sekwencji. wymienianych między nimi

Identyfikacja i modelowanie struktur i procesów biologicznych

Wykład 1 Inżynieria Oprogramowania

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Inżynieria oprogramowania

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Transkrypt:

Modelowanie Podstawowe zasady modelowania: Podjęcie decyzji, jakie modele tworzyć, ma wielki wpływ na to, w jaki sposób zaatakujemy problem i jaki kształt przyjmie rozwiązanie Każdy model może być opracowany na różnych poziomach szczegółowości Najlepsze modele odpowiadają rzeczywistości Żaden pojedynczy model nie jest wystarczający. Niewielka liczba niemal niezależnych modeli to najlepsze rozwiązanie w przypadku każdego niebanalnego systemu Model jest uproszczeniem rzeczywistości, który opracowujemy po to, aby (lepiej) zrozumieć budowany system Inżynieria oprogramowania (Wyk. 2) Slajd 2 z 42 Unified Modeling Language The UML is a language for visualizing, specifying, constructing and documenting the artifacts of software-intensive systems Główni/pierwsi autorzy UML Połączone siły trzech metodologów: UML jest językiem do: - obrazowania - specyfikowania - tworzenia - dokumentowania wytworów powstałych podczas budowania systemu informatycznego UML nie jest metodyką analizy i projektowania UML nie definiuje procesu rozwoju oprogramowania Inżynieria oprogramowania (Wyk. 2) Slajd 3 z 42 Grady Booch Ivar Jacobson James Rumbaugh Wykorzystano doświadczenia zdobyte przy tworzeniu nast. metodyk: OMT (Rumbaugh et al.) - sprawdza się w modelowane dziedziny przedmiotowej OOSE (Jacobson) - modelowanie użytkowników (przypadki użycia) i cykl życiowy systemu OOAD (Booch) - dobrze podchodzi do kwestii projektowania, konstrukcji i związków ze środowiskiem implementacji Fusion (Coleman et al.) Inżynieria oprogramowania (Wyk. 2) Slajd 4 z 42 02.2009 Wersja 2.2 2004 Wersja 2.0 2001 Wersja 1.4 06.1996 10.1995 10.1994 Wersja 0.9 Trochę historii 1999 Wersja 1.3 opublikowana przez OMG Revision Task Force 11.1997 Wersja 1.1 ostatecznie przyjęta przez OMG 01.1997 UML wersja 1.0 przesłany do Object Management Group jako propozycja standardu języka modelowania obiektowego Utworzenie konsorcjum (m.in. DEC, HP, IBM, Microsoft, Oracle,...) Do projektu dołącza Jacobson (uwzględnienie OOSE) Wersja 0.8 jeszcze jako Unified Method Początek prac - Booch i Rumbaugh w firmie Rational Inżynieria oprogramowania (Wyk. 2) Slajd 5 z 42 Zakres UML Skupiono się na standardzie języka do modelowania, a nie na standardzie procesów tworzenia oprogramowania różne organizacje i problemy wymagają różnych procesów, które mogą być opisane przy pomocy tego samego języka Wysiłek autorów jest skoncentrowany na stworzeniu wspólnego metamodelu (unifikacji semantyki) i wspólnej notacji (odbioru tej semantyki przez ludzi) Przy czym promowany jest proces, który jest: ukierunkowany na przypadki użycia systemu skoncentrowany na architekturze iteracyjny i przyrostowy Bloki konstrukcyjne: Elementy (ang. things): strukturalne (np. przypadki użycia, klasy, interfejsy, komponenty, węzły,...) czynnościowe (np. interakcja i maszyna stanowa) grupujące (pakiety) komentujące (notatki) Związki (zależności, powiązania, uogólnienia, realizacje,...) Diagramy: struktury zachowania Inżynieria oprogramowania (Wyk. 2) Slajd 6 z 42

Rodzaje diagramów Diagramy struktury Klas Obiektów Wdrożenia Diagramy struktury Diagramy implementacyjne Pakietów (2.0) Złożonych struktur (2.0) Komponentów Statyczne części systemu Stanów Przebiegu Komunikacji Diagramy zachowania Diagramy interakcji Dynamiczne aspekty systemu Czynności Przypadków użycia Czasowy (2.0) Przeglądu interakcji (2.0) Klas - najczęściej spotykany diagram w modelach obiektowych Obiektów - wyobraża zrzut pewnych egzemplarzy elementów występujących na d. klas Komponentów - obrazuje zbiór komponentów i związki pomiędzy nimi; ściśle związany z d. klas Wdrożenia (ang. deployment) - obrazuje zbiór węzłów i związki między nimi; wiąże się z d. komponentów, gdyż zwykle każdy węzeł posiada co najmniej jeden komponent Pakietów służy do prezentowania grup bytów (w postaci pakietów) i relacji pomiędzy tymi grupami Struktury - złożonych struktur (ang. composite structure) - przedstawienie wewnętrznej struktury klasyfikatora (np. klasy, komponentu,...) z uwzględnieniem punktów interakcji z innymi częściami systemu Inżynieria oprogramowania (Wyk. 2) Slajd 7 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 8 z 42 Diagramy zachowania << Stereotypy >> Przypadków użycia - umożliwia uporządkowanie zachowania systemu Przebiegu - sekwencji (ang. sequence) - kładzie nacisk na kolejność wysyłania komunikatów w czasie Komunikacji - współpracy (ang. collaboration) - kładzie nacisk na strukturalną organizację obiektów, które wysyłają i odbierają komunikaty Diagramy przebiegu i współpracy są w zasadzie izomorficzne (można swobodnie przekształcać jeden w drugi) Stanów - zmiany stanów systemu spowodowane zdarzeniami Czynności - aktywności (ang. activity) - obrazuje strumień kolejno wykonywanych czynności; przepływ sterowania od czynności do czynności Przeglądu interakcji widoku interakcji (ang. interaction overview) połączanie d. czynności i przebiegu; prezentowanie zależności i przepływu wiadomości pomiędzy interakcjami Czasowy przebiegów czasowych (ang. timing) funkcjonowanie obiektów w kontekście ograniczeń/wymagań czasowych Inżynieria oprogramowania (Wyk. 2) Slajd 9 z 42 Stereotypy stanowią jeden z mechanizmów rozszerzalności UML. Dają możliwość definiowania nowych elementów, co ułatwia przystosowanie języka do modelowania specyficznego procesu, do specyficznych preferencji użytkownika czy też pozwala na uszczegóławianie semantyki modelu Stereotypy są wyrażeniami językowymi (nazwami) umożliwiającymi metaklasyfikację elementów modelu; są wspólnymi nazwanymi własnościami Element modelu może mieć co najwyżej jeden stereotyp Istnieje lista stereotypów dla każdego rodzaju elementów, są stereotypy predefiniowane (np. stereotypy klas: aktor, zdarzenie, wyjątek,...), ale użytkownicy mogą też definiować własne Stereotypy mogą mieć implikacje semantyczne (ograniczenia) Inżynieria oprogramowania (Wyk. 2) Slajd 10 z 42 Przykład scenariusza: student zdaje egzamin Scenariusz to ciąg kroków opisujących interakcję (pomiędzy użytkownikiem a systemem) Diagramy przypadków użycia Przykładowy scenariusz: Student (S) zgłasza się na egzamin Daje egzaminatorowi (E) kartę i indeks E sprawdza tożsamość S i czy figuruje na liście egzaminacyjnej Jeśli brak to koniec egzaminu E zadaje pytanie S odpowiada E ocenia odpowiedz i notuje ocenę jeśli ostatnie pytanie to dalej wpp powtarzane są 3 ostatnie punkty E wystawia ocenę końcową E wpisuje ocenę do indeksu, karty i protokołu Wartość mierzalna: wpisana ocena Potencjalne klasy w systemie: aktorzy (student i egzaminator), indeks, karta, protokół, ocena (?) Inżynieria oprogramowania (Wyk. 2) Slajd 11 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 12 z 42

Diagramy przypadków użycia Diagramy przypadków użycia zawierają przypadki użycia aktorów zależności, uogólnienia i powiązania Dwa podstawowe cele: modelowanie otoczenia systemu (wyznaczenie granicy systemu i wskazanie aktorów, którzy wchodzą w interakcję z systemem) modelowanie wymagań stawianych systemowi (określenie, z punktu widzenia otoczenia, co system powinien robić niezależnie od tego jak ma to zrobić) Aktorzy Aktor reprezentuje spójny zbiór ról odgrywanych przez użytkowników przypadków użycia w czasie interakcji Aktorami mogą być ludzie, urządzenia i inne systemy informatyczne Jedna osoba może wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem. I odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. aktor strażnik budynku Aktor jest tu pierwotną przyczyną napędzającą przypadki użycia. Jest on sprawcą zdarzeń powodujących uruchomienie przypadku użycia Aktorzy aktywni (inicjują przypadki użycia) i pasywni lub Nazwa aktora <<actor>> Nazwa aktora np. AnalitykKredytowy Aktor to jest rola, nie jest związany z żadną konkretną osobą Inżynieria oprogramowania (Wyk. 2) Slajd 13 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 14 z 42 Aktorzy (2) Przypadki użycia np. Człowiek Bankomat Rodzaje aktorów - przykładowe stereotypy System zewnętrzny System ZUS Płatnik Urządzenie godzina 24:00 Czas Inżynieria oprogramowania (Wyk. 2) Slajd 15 z 42 Przypadek użycia to opis zbioru ciągów akcji (i ich wariantów) wykonywanych przez system w celu dostarczenia określonemu aktorowi godnego uwagi wyniku zbiór scenariuszy powiązanych ze sobą wspólnym celem Przypadek użycia opisuje oczekiwane zachowanie budowanego systemu (podsystemu, klasy lub kooperacji), ale nie określa sposobu implementacji tego zachowania Z punktu widzenia aktora przypadek użycia opisuje działanie mające dla niego wartość, np. obliczenie wyniku, utworzenie nowego obiektu lub zmianę stanu obiektu Średnio skomplikowany system ma około kilkudziesięciu przypadków użycia Czasami wyróżnia się 2 rodzaje przypadków użycia: biznesowe - opisują jak przedsiębiorstwo (organizacja) reaguje na klienta lub zdarzenia systemowe - dotyczą interakcji z oprogramowaniem lub np. Nazwa przyp. użycia Nazwa przyp. użycia Inżynieria oprogramowania (Wyk. 2) Slajd 16 z 42 Przypadki użycia - dokument opisu Związki pomiędzy przypadkami - zawieranie Dla każdego przypadku użycia tworzymy dokument opisujący przebieg zdarzeń opisany z punktu widzenia aktora UML nie precyzuje standardu opisu przypadków użycia Typowy opis zawiera: jak i kiedy przypadek użycia się rozpoczyna i kończy kto uczestniczy (aktorzy) kiedy dochodzi do interakcji z aktorami jakie obiekty są przekazywane typowy i alternatywne przebiegi (ciągi) zdarzeń przebieg zdarzeń w sytuacjach szczególnych (wyjątkowych) parametry czasowe: częstotliwość wykonania, przewidywane spiętrzenia oraz czasy realizacji (typowy, maksymalny) opis wartości uzyskiwanych przez aktorów po zakończeniu działania p. użycia Ciąg zdarzeń można zapisać na wiele sposobów: tekst strukturalny (nieformalny lub formalny) pseudokod - diagram czynności Inżynieria oprogramowania (Wyk. 2) Slajd 17 z 42 Zawieranie wykorzystujemy, gdy kilka przypadków użycia ma wspólną sekwencję podobnych kroków, której nie warto ciągle kopiować z jednego przypadku do innych Pozwala na uniknięcie wielokrotnego opisywania tego samego ciągu zdarzeń Wspólne zachowanie jest definiowane w odrębnym przypadku użycia, który jest następnie włączany przez bazowe przypadki użycia Związek zawierania - stereotyp <<include>> Grot strzałki wskazuje na przypadek włączany! p1 jest przypadkiem bazowym i zawsze występuje jako pierwsze w kolejności działania pu1 «include» pu2 Przebieg podstawowy (sekwencyjny): pu1 ZAWSZE włącza (używa) pu2 Inżynieria oprogramowania (Wyk. 2) Slajd 18 z 42

Związki pomiędzy przypadkami - rozszerzenie Punkty rozszerzenia (ang. extension points) Służy do modelowania fragmentów przypadków użycia postrzeganych przez użytkownika opcjonalnie Oddzielenie działań opcjonalnych od wymaganych Stereotyp <<extend>> Uwaga! Należy zwrócić uwagę na grot strzałki reprezentującej zależność - przy rozszerzaniu wskazywany jest przypadek rozszerzany (podstawowy) pu1 «extend» pu2 Przebieg opcjonalny (alternatywny): pu1 jest CZASAMI rozszerzane o pu2 Przypadek bazowy może być rozszerzony tylko w ściśle określonych miejscach (tzw. miejsca rozszerzenia; rozpoznawane przez etykiety; miejsc tych może być kilka) Jeżeli zachodzą warunki związane z rozszerzeniem to w miejscu rozszerzenia wykonywane są czynności opisane w rozszerzającym przypadku użycia po czym kontynuowane jest przetwarzanie bazowe Inżynieria oprogramowania (Wyk. 2) Slajd 19 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 20 z 42 Związki pomiędzy przypadkami - uogólnienie Przykład diagramu przypadków użycia: część systemu bibliotecznego Związek analogiczny do uogólnienia między klasami Przypadek-potomek dziedziczy całe zachowanie i znaczenie po przypadkuprzodku Potomek może dodać nowe elementy do odziedziczonego zachowania lub zmienić całkowicie zachowanie Potomek zawsze może zastąpić swego przodka Przedstawiane jako ciągła linia zakończona zamkniętym, niewypełnionym grotem potomek przodek Inżynieria oprogramowania (Wyk. 2) Slajd 21 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 22 z 42 Przykład: opis przypadku użycia Wypożyczenie egzemplarza Przykład diagramu przypadków użycia: serwis redakcyjny czasopisma naukowego Aktorzy: Czytelnik - inicjuje przypadek, Bibliotekarz Typowy przebieg: Czytelnik podaje kartę biblioteczną, która jest skanowana przy użyciu czytnika kodów kreskowych w celu identyfikacji Następnie Bibliotekarz rozkodowuje książki, które wybrał Czytelnik Czytelnik wychodzi z książkami Alternatywny przebieg 1: System stwierdza, że Czytelnik jest dłużnikiem i Bibliotekarz zatrzymuje kartę do czasu zwrotu książek i opłacenia kary, Alternatywny przebieg 2: Maksymalna liczba książek na koncie - odmowa wypożyczenia Alternatywny przebieg 3: Po identyfikacji czytelnika okazuje się, że oczekują na niego zarezerwowane książki książki są przekazywane Czytelnikowi i usuwana jest rezerwacja Wartość uzyskiwana: wypożyczone książki Parametry czasowe: częstotliwość: z punktu widzenia Czytelnika co 2-3 tyg; Bibliotekarza kilkanaście na godzinę czas trwania: typowo kilkadziesiąt sekund; maksymalnie 3 minuty spiętrzenia: przed długimi weekendami, świętami Inżynieria oprogramowania (Wyk. 2) Slajd 23 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 24 z 42

Przykład diagramu przypadków użycia: część systemu maklerskiego Diagramy czynności Inżynieria oprogramowania (Wyk. 2) Slajd 25 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 26 z 42 Diagramy czynności Służący do modelowania dynamicznych aspektów systemu Może być traktowany jako schemat blokowy reprezentujący przepływ sterowania od czynności do czynności Zwykle przedstawia sekwencyjnie (rzadziej współbieżne) kroki procesu obliczeniowego lub innego przetwarzania Można na nim zobrazować również zmiany zachodzące w obiekcie, gdy przechodzi on z jednego stanu do drugiego w różnych fazach przepływu sterowania Służy do modelowania przepływu czynności i modelowania operacji Diagramy tego rodzaju mogą być wykorzystywane w systemach inżynierii do przodu (generowanie kodu na podstawie diagramu) i inżynierii wstecz (odtwarzanie diagramu na podstawie kodu programu) Przejścia Gdy czynność kończy się, sterowanie jest natychmiast przekazywane do następnej czynności (przejścia automatyczne, zakończeniowe) zakładając, że odpowiednie akcje wyjściowe i wejściowe są wykonywane (o ile istnieją) Przejścia oznaczane są poprzez zwykłą strzałkę Przepływ sterowania może trwać bez końca (w przypadku czynności nieskończonych) lub do chwili osiągnięcia węzła końcowego Wybrany przepływ może zostać również zakończony bez zakończenia całej czynności Przejścia mogą zawierać warunki dozoru podawane w nawiasach [ ] dowolne wyrażenie logiczne Inżynieria oprogramowania (Wyk. 2) Slajd 27 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 28 z 42 Rozgałęzienia Rozgałęzienia - przykłady Rozgałęzienia (symbolem jest romb) opisują ścieżki alternatywne; do wyboru jednej z nich dochodzi na podstawie wyliczonych wartości wyrażeń logicznych Na każdym przejściu wyjściowym powinien być umieszczony warunek dozoru (wyliczany raz, w momencie wejścia do rozgałęzienia) Warunki nie mogą się nakładać i muszą uwzględniać wszystkie możliwości Słowo kluczowe else służy do oznaczenia jednego przejścia wyjściowego, reprezentującego ścieżkę wybieraną, gdy wszystkie inne warunki dozoru nie są spełnione W UML nie jest określona forma wyrażenia dozoru. Może to być np. tekst strukturalny lub konkretny język programowania Słowo kluczowe else Iteracja Inżynieria oprogramowania (Wyk. 2) Slajd 29 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 30 z 42

Rozwidlanie i scalanie ścieżek Rozwidlenia i scalenia - przykład Służą do modelowania współbieżnych (równoległych) przepływów sterowania Obrazuje się je za pomocą pasków synchronizacyjnych; mają one postać poziomych lub pionowych grubych kresek Rozwidlenie reprezentuje podział przepływu sterowania na dwa lub więcej (niezależnych) przepływów współbieżnych W punkcie scalenia dochodzi do synchronizacji współbieżnych przepływów sterowania (oczekiwanie aż ostatni przepływ osiągnie punkt i dopiero wtedy scalony przepływ podąża dalej) Rozwidlenia i scalenia powinny się równoważyć (liczba przepływów opuszczających rozwidlenie = liczba przepływów wchodzących do odpowiadającego mu scalenia) Inżynieria oprogramowania (Wyk. 2) Slajd 31 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 32 z 42 Rozwidlenia i scalenia - wątek warunkowy Do przepływu wychodzącego z rozwidlenia można dodać warunek (tzw. wątek warunkowy) W trakcie wykonania, jeśli warunek jest fałszywy, zakłada się, że z punktu widzenia scalenia wątek ten jest już zakończony Współbieżność dynamiczna Umożliwia zilustrowanie iteracji bez konieczności tworzenia pętli Znacznik iteracji * oznacza, że czynność jest wykonywana wielokrotnie W sytuacji, gdy chcemy powtórzyć grupę kilku czynności, wówczas można to oznaczyć wprowadzając czynność złożoną (analogicznie do stanów złożonych na diagramie stanów) składającą się z podczynności Inżynieria oprogramowania (Wyk. 2) Slajd 33 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 34 z 42 Sygnały i zdarzenia czasowe (2.0) Tory (1.5), partycje (2.0) Sygnały reprezentują interakcje z zewnętrznymi uczestnikami: sygnały są komunikatami asynchronicznymi węzeł sygnału odbieranego może spowodować uruchomienie akcji przedstawionej na diagramie czynności. węzeł sygnału nadawanego wysyła go do zewnętrznych uczestników. Zdarzenie czasowe pozwala zamodelować okres oczekiwania krawędź wchodząca do zdarzenia czasowego oznacza, że jest ono aktywowane tylko raz. zdarzenie czasowe bez wchodzących przepływów jest cykliczne, co oznacza, że jest aktywowane w odstępach czasu podanych obok symbolu klepsydry Inżynieria oprogramowania (Wyk. 2) Slajd 35 z 42 Służą do podzielenia czynności na grupy, z których każda reprezentuje jednostkę (np. przedsiębiorstwa lub organizacji) odpowiedzialną za przydzielone czynności; każda grupa nosi nazwę toru (ang. swimlanes) (analogia do pływalni czy bieżni) Tory wskazują na umiejscowienie czynności i przydatne są zwłaszcza w modelowaniu procesów zachodzących w przedsiębiorstwach Każdy tor ma unikatową w ramach diagramu nazwę; sam tor nie ma żadnego szczególnego znaczenia, oprócz tego, że może odpowiadać pewnemu bytowi ze świata rzeczywistego i reprezentuje określone na wysokim poziomie abstrakcji zobowiązanie realizacji czynności Tor może być zaimplementowany przez co najmniej jedną klasę Na diagramie czynności każda czynność należy do dokładnie jednego toru, ale przejścia mogą przecinać granice torów Inżynieria oprogramowania (Wyk. 2) Slajd 36 z 42

Tory - przykład Przepływ obiektów Obiekty związane z czynnościami lub przepływami można umieścić na diagramie i połączyć je związkiem zależności Można zobrazować również np. zmiany stanów obiektów (w nawiasach [ ] pod nazwą obiektu) lub zmiany wartości atrybutów (w dodatkowej sekcji poniżej nazwy) Inżynieria oprogramowania (Wyk. 2) Slajd 37 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 38 z 42 Modelowanie przepływu czynności Przykład - Klient zwraca towar Koncentrujemy się na czynnościach i badamy je z punktu widzenia aktorów współpracujących z systemem Przepływy czynności znajdują się często na pograniczu systemów informatycznych i służą do obrazowania, specyfikowania, tworzenia i dokumentowania procesów zachodzących w przedsiębiorstwie, związanych z modelowanym systemem Na jednym diagramie nie da się przedstawić wszystkich istotnych przepływów czynności w danej organizacji (co chcemy przedstawić?) Przypisz obiektom, które zobowiązane są do realizacji fragmentów złożonego przepływu, tory W tym zastosowaniu ważną rolę odgrywają przepływy obiektów (jeżeli w przepływie czynności biorą udział istotne obiekty, należy umieścić je na diagramie, pokazując zmieniające się atrybuty i stany tych obiektów) Inżynieria oprogramowania (Wyk. 2) Slajd 39 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 40 z 42 Modelowanie operacji Przykład - algorytm operacji Punkt przecięcie(p:prosta) Spełniają rolę schematów blokowych, na których przedstawia się szczegóły przeprowadzanych obliczeń Istotne są tu rozgałęzienia, rozwidlenia i scalenia Otoczenie diagramu obejmuje parametry operacji i jej obiekty lokalne Podstawową zaletą jest to, że wszystkie byty występujące na diagramie są znaczeniowo powiązane z pełnym modelem Stosowanie diagramu czynności do modelowania operacji ma sens jedynie w przypadku skomplikowanych algorytmów, które trudniej jest zrozumieć na podstawie kodu Inżynieria oprogramowania (Wyk. 2) Slajd 41 z 42 Inżynieria oprogramowania (Wyk. 2) Slajd 42 z 42