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

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

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności i syntaktyka diagramów klas Wykład3

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

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

Charakterystyka oprogramowania obiektowego

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Literatura. J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Inżynieria oprogramowania

Laboratorium 8 Diagramy aktywności

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Inżynieria Oprogramowania DIAGRAMY CZYNNOŚCI (AKTYWNOŚCI)

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

LABORATORIUM 4. Po co mi to, przecież wiem, co system ma robić? - czyli o diagramach UML. DIAGRAM CZYNNOŚCI (Activity Diagram)

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

Język UML w modelowaniu systemów informatycznych

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

MAS dr. Inż. Mariusz Trzaska. Diagramy aktywności

Podstawy programowania III WYKŁAD 4

Język UML w modelowaniu systemów informatycznych

Podstawy języka UML2 w realnych projektach

Diagramy czynności. Widok logiczny. Widok fizyczny

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

Diagramy stanów Na podstawie UML 2.0 Tutorial Zofia Kruczkiewicz

Tworzenie warstwy zasobów projektowanie metodą strukturalną

Wykład 1 Inżynieria Oprogramowania

UML w Visual Studio. Michał Ciećwierz

Diagramy klas, diagramy sekwencji Wykład 4

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

Modelowanie i analiza. warstwy biznesowej aplikacji

Projekt sytemu informatycznego podejście obiektowe

Modelowanie aktywności. Jarosław Kuchta Programowanie Współbieżne

Tworzenie modelu przypadków użycia część 1 Diagramy przypadków użycia Wykład2

Diagramy przypadków użycia Wykład2

UML. dr inż. Marcin Pietroo

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

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

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

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Diagram stanów Laboratorium 9

Diagramy klas, diagramy sekwencji tworzenie modeli analizy i projektu

Modelowanie obiektowe

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 2

Tworzenie modelu konceptualnego systemu informatycznego część 1

Diagramy stanów i aktywności. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Projektowanie interakcji. Jarosław Kuchta

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Podstawy języka UML2 w realnych projektach

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

Michał Adamczyk. Język UML

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

Modelowanie i analiza systemów informatycznych

Szablony klas, zastosowanie szablonów w programach

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie systemów informacyjnych

Wzorce oprogramowania zastosowane w modelu obiektowym (wg Alan Shalloway, James R.Trott)

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

TECHNOLOGIE OBIEKTOWE. Wykład 3

Implementacja modelu obiektowego

Aplikacja wielowątkowa prosty komunikator

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

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

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

Przykład 1 Iteracja 1 tworzenia oprogramowania

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

Diagram sekwencji. Komunikaty mogą być opisane w sposób sformalizowany. poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista)

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

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

Diagramy klas, diagramy sekwencji

Aplikacje RMI

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

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

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Podstawy języka UML UML

Język UML w modelowaniu systemów informatycznych

UML a kod. C++, Java i C#

Język UML w modelowaniu systemów informatycznych

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

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

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

Diagramy sekwencji. wymienianych między nimi

SysML Tworzenie diagramu aktywności SysML005

Diagramy klas. dr Jarosław Skaruz

Transkrypt:

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Zofia Kruczkiewicz Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 1

Diagramy czynności- tworzenie modelu przypadków 1. Diagramy czynności UML 2. Przykład diagramów czynności UML modelowanie przepływu czynności (wg Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika) 3. Przykład diagramów czynności UML modelowanie operacji (wg Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 2

Diagramy czynności - tworzenie modelu przypadków 1. Diagramy czynności UML Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 3

Diagramy UML 2 część druga Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 4

Dwa rodzaje diagramów UML 2 Diagramy UML modelowania strukturalnego Diagramy pakietów Diagramy klas Diagramy obiektów Diagramy mieszane Diagramy komponentów Diagramy wdrożenia Diagramy UML modelowania zachowania Diagramy przypadków użycia Diagramy czynności Diagramy stanów Diagramy komunikacji Diagramy sekwencji Diagramy czasu Diagramy interakcji Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 5

Diagramy czynności Diagram czynności opisuje interakcje między obiektami: jak pobierane są operacje, co operacje wykonują (zmiana stanu obiektu), kiedy operacje są wykonywane (sekwencje czynności lub akcji) gdzie są wykonywane. Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 6

Czynność- zawiera specyfikację sparametryzowanych zachowań: akcje przepływ sterowania Akcja elementarny krok czynności Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 7

Ograniczenia akcji: Warunki przed akcją i po akcji np. Warunek przed: Wybór napoju w automacie, jeśli istnieje Stan: akcja wydania napoju (Dispense drink) Warunek po: Maszyna wydała wybrany napój Przepływ sterowania: Przejście z jednej akcji aktywności do akcji drugiej aktywności np. wysłanie opłaty (Send Payment) i akceptacja opłaty (Accept Payment) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 8

Wierzchołek początkowy (Initial) wielu przebiegów sterowania Wierzchołek końcowy (Final) wielu przebiegów sterowania związanych z jedną czynnością Wierzchołek końca sterowania (Flow Final) koniec pojedynczego przebiegu sterowania Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 9

Obiekt Magazyn danych Przepływ obiektów Wysłanie (Send Invoice) obiektu Faktura (Invoice) w celu dokonania opłaty (Make Payment) Przepływ obiektów Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 Równoważny diagram 10

Węzły decyzji i scalania Wybór przepływu sterowania w węźle decyzji (Decision Node) po zbadaniu warunku (condition) i scalenie z przepływem sterowania znajdującym się za węzłem scalania (Merge Node) Węzeł decyzji Węzeł scalania Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 11

Węzły rozdzielania i łączenia Węzeł rozdzielania (Fork pionowa lub pozioma linia) przepływu sterowania na kilka współbieżnie działających przepływów sterowania Węzeł łączenia (Join - pionowa lub pozioma linia) współbieżnie działających przepływów sterowania do jednego przepływu sterowania po zakończeniu każdego z tych współbieżnych procesów Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 12

Region rozszerzający - powtarzanie czynności: iteracyjnie (iterative), równolegle (parallel) lub w postaci strumienia (stream) nazwa sposobu wykonania regionu diagramu czynności Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 13

Obsługa wyjątków Np.Reakcja na błąd podczas wykonania akcji w czynności Protected Node nastąpi przerwanie tych akcji i przejście do wykonania akcji w czynności Exception Handler Node Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 14

Akcja typu Sygnał wysłany Typy akcji Akcja typu Sygnał odebrany (zaakcepto wany) Akcja typu Sygnał wyzwalający 15

Obsługa przerwań reakcja na inną akcję niż typowa Np. Akcja "Process Order" aktywności zostanie wykonana i następnie można przejść do kolejnej czynności i wykonać akcję Close Order i zakończyć proces. Jednak w przypadku, gdy podczas akcji Process Order nastąpi przerwanie Cancel Request, zostanie wykonana akcja Cancel Order w innej czynności i nastąpi zakończenie procesu. 16

Partycje(tory) np. podział czynności wykonywanych na obiekcie Faktura (Invoice) przez dwa różne obiekty reprezentowane przez partycje: Wydział Finansowy (Accounting Department) i klienta (Customer). Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 17

Diagramy czynności - tworzenie modelu przypadków 1. Diagramy czynności UML http://sparxsystems.com.au/resources/uml2_tutorial/ 2. Przykład diagramów czynności UML modelowanie przepływu czynności i obiektów (wg Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 18

Diagramy czynności - System sporządzania rachunków Kontynuacja (przykład 3 z wykładu 2) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 19

(1) Diagram czynności jako model biznesowy systemu sprzedaży towarów proces zakupu Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 20

Sklep Spożywczo Przemysłowy ABC Jan Kowalski ul. Leśna 1, xx-xxx Jakieś miasto NIP xxx-xxx-xx-xx Dn. 07r-09-24 (1 cd) Obliczanie wartości rachunku nr wydr.8212 PARAGON FISKALNY xxxxxxxxxxxxx Nazwa produktu1 xxxxx 1*6.79 A To jest ilość xxxxxxxxxxxxx zakupioneg Nazwa produktu2 xxxx 4*0.59 B o towaru Nazwa produktu3 xxx 0.6*4.59 D xxxxxxxxxxxxx Nazwa produktu4 xxxxx 2*2.49 A Sp.op.A 11.77 PTU A = 22.00% 2.12 Sp.op.B 2.36 PTU B = 7.00% 0.15 Sp.op.D 2.75 PTU D = 3.00% 0.08 Razem PTU 2.35 To jest cena brutto towarów z danej kategorii podatku RAZEM ZŁ 16.88 Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 To jest cena jednostkowa brutto To są kategorie podatków To są kwoty tara wynikające z istniejących kategorii podatków 21

(2) Wykład 2 - Przykład 3. System sporządzania rachunków Lista wymagań funkcjonalnych 1. System zawiera katalog produktów 2. Można zakupić trzy typy produktów różniące się sposobem obliczania ceny detalicznej: : bez promocji i bez podatku, z promocją i bez podatku, z podatkiem bez promocji, z podatkiem i z promocją, 3. Można wprowadzić wiele rachunków 4. Pozycje rachunku muszą zawierać produkty różne w sensie nazwy, ceny, podatku i promocji 5. Każda pozycja rachunku powinna podać swoją wartość brutto oraz dane produktu oraz ilość zakupionego produktu. 6. Na rachunku powinna znajdować się wartość łączna wszystkich zakupów oraz wartości zakupów należących do wybranych kategorii Lista wymagań niefunkcjonalnych 1. Wstawianie produktów może odbywać się tylko przez uprawnione osoby 2. Wstawianie nowych rachunków oraz wstawianie nowych zakupów jest dokonywane przez klientów 3. Zakupy mogą być dokonane przez Internet przez aplikację uruchamianą przez przeglądarkę lub bez jej pośrednictwa 22

AKTOR OPIS PRZYPADKI UŻYCIA Klient Sprzedawca Klient może dokonywać zakupów wybranych produktów przez Internet korzystając z przeglądarki lub z aplikacji Sprzedawca może dodatkowo dodawać nowe produkty Wstawianie nowego rachunku powiązane przez <<include>> z PU Szukanie rachunku Obliczanie wartosci rachunku powiązane przez <<include>> z PU Szukanie rachunku Wstawianie nowego zakupu powiązane przez <<include>> z PU Szukanie rachunku oraz powiązane przez <<include>> z PU Szukanie produktu Wstawianie nowego rachunku powiązane przez <<include>> z PU Szukanie rachunku Obliczanie wartosci rachunku powiązane przez <<include>> z PU Szukanie rachunku Wstawianie nowego zakupu powiązane przez <<include>> z PU Szukanie rachunku oraz powiązane przez <<include>> z PU Szukanie produktu Wstawianie nowego produktu powiązane przez 23 <<include>> z PU Szukanie produktu

<<system>> Sklep package Sprzedaz WF3 package Pomoc WF2,3,6 WF5,6 WF2,4,5 <<include>> WF1 WF1,2 24

(5) Diagram czynności przypadku użycia Wstawianie nowego zakupu (model przypadku użycia w warstwie biznesowej partycje TAplikacja i TRachunek) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 25

(6) Kod źródłowy metody Wstaw_zakup obiektu typu TAplikacja pierwsza część realizacji przypadku użycia Wstawianie nowego zakupu //TAplikacja public void Wstaw_zakup (int nr, int ile, String dane[]) { TRachunek rachunek; } TProdukt1 produkt1 = fabryka.podaj_produkt(dane); if ((rachunek=szukaj_rachunek(nr))!= null) if ((produkt1=szukaj_produkt(produkt1))!= null) rachunek.dodaj_zakup(new TZakup(ile, produkt1)); Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 26

(7) Kod źródłowy metody Dodaj_zakup obiektu typu TRachunek druga część realizacji przypadku użycia Wstawianie nowego zakupu //TRachunek private ArrayList<TZakup> Zakupy = new ArrayList<TZakup>(); public void Dodaj_zakup (TZakup atzakup) { TZakup zakup; if ((zakup = Szukaj_zakup(aTZakup))!= null) zakup.dodaj_ilosc(atzakup.podaj_ilosc()); else Zakupy.add(aTZakup); } Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 27

Wytyczne dla tworzenia diagramów czynności 1. Należy ustalić najważniejsze czynności - nie można przedstawić na jednym diagramie wszystkich czynności 2. Należy wybrać obiekty przedsiębiorstwa, które są zobowiązane do realizacji bardziej ogólnego przepływu. Mogą to być elementy rzeczywiste, istniejące w słownictwie systemu, lub elementy abstrakcyjne. W obu przypadkach należy utworzyć tor dla każdego wybranego obiektu. 3. Należy zidentyfikować stan początkowy i końcowy modelowanego przepływu. 4. Przechodząc od stanu początkowego do końcowego należy modelować kolejne stany czynności lub stany akcji. 5. W przypadku złożonych akcji lub często występujących zbiorów akcji należy je połączyć w stany czynności. Z każdym stanem skojarz oddzielny diagram czynności, który przedstawia zebrane nim akcje. 6. Należy zobrazować przepływy czynności między stanami akcji i stanami czynności. Pierwsze powinny być brane pod uwagę przepływy sekwencyjne, potem rozgałęzienia, na końcu rozwidlenia i scalenia. 7. Jeśli w modelowanym przepływie czynności biorą udział istotne obiekty, należy je umieścić na diagramie. Należy uwzględniać zmieniające się atrybuty i stany tych obiektów, jeśli jest to konieczne do zrozumienia przepływu tych obiektów. Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 28

Diagramy czynności - tworzenie modelu przypadków 1. Diagramy czynności UML http://sparxsystems.com.au/resources/uml2_tutorial/ 2. Przykład diagramów czynności UML modelowanie przepływu czynności i obiektów (wg Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika) 3. Przykład diagramów czynności UML modelowanie operacji (wg Booch G., Rumbaugh J., Jacobson I., UML przewodnik użytkownika) Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 29

Modelowanie operacji Wstaw_zakup Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 30

Kod źródłowy projektowanej operacji za pomocą diagramu aktywności public void Wstaw_zakup (int nr, int ile,tprodukt1 produkt1) { TRachunek rachunek; if ((rachunek=szukaj_rachunek(nr))!=null ) if ((produkt1=szukaj_produkt(produkt1))!=null ) rachunek.wstaw_zakup(new TZakup(ile,produkt1)); } Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 31

Wytyczne dla tworzenia diagramów czynności do modelowania operacji 1. Należy uwzględnić abstrakcje uczestniczące w tej operacji. Są to parametry przekazywane do metody, atrybuty klasy metody oraz klas obiektów związanych z metodą. 2. Należy zidentyfikować warunki wstępne stanu początkowego i końcowego modelowanej operacji. Należy znaleźć wszystkie wartości, które nie mogą zmienić się podczas realizacji operacji. 3. Przechodząc od stanu początkowego do końcowego należy modelować kolejne stany czynności lub stany akcji. 4. Należy w razie potrzeby korzystać z rozgałęzień do modelowania ścieżek warunkowych i iteracji. 5. Jeśli operacja należy do klasy aktywnej (i tylko wtedy), należy wtedy korzystać z rozwidleń i scaleń, żeby określić równoległe przepływy sterowania. Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 32