--Pozostałe aktorzy
Transkrypt
--Pozostałe aktorzy
Analiza i projektowanie aplikacji Dr inż. Ludmiła Rekuć Konsultacje 518 B4 Wrocław Pon. 11-13 Czw 9-11 www.ioz.pwr.wroc.pl/pracownicy/l_rekuc Dr inż. Ludmiła Rekuć 1 Literatura ● • • • • • • • Wrycza s. Marcinkowski B. Wyrzykowski K. Język UML 2.0 w modelowaniu SI. Helion 2006 Kruchten Ph. RUP od strony teoretycznej. WNT 2007 Śmiałek M. Zrozumieć UML 2.0 Metody modelowania obiektowego. Helion 2005 Schmuller J. UML dla każdego.HELION 2003r. Booch G. Rumbaugh J.Jacobcon I. UML przewodnik użytkownika. Inżynieria oprogramowania.WNT Warszawa 2001 Fowler M. Architektura systemów zarzadzania przedsiębiorstwem. Wzorce projektowe. Helion, 2005 Fowler M.Kendall S. UML w kropelce. LTP 2002r. www.omg.org Enterprise Architect – narzędzie modelowania www. sparxsystems.com.au • Dr inż. Ludmiła Rekuć 2 Plan wykładu 1 1. Wprowadzenie. Modele w wytwarzaniu aplikacji dla przedsiębiorstw. Specyfika aplikacji dla przedsiebiorstw Modele i ich rola Podejście obiektowe Proces wytwarzania w uproszczeniu Jezyk UML – ogólna charakterystyka 2. Model przypadków użycia (PU) -1 Ogólne pojęcia modelu Model biznesowych PU • Dr inż. Ludmiła Rekuć 3 Specyfika aplikacji dla przedsiębiorstw ● ● • • • • • Operują zazwyczaj na danych trwałych, utrzymywanych przez wiele lat. Duża ilość danych. Zarządzanie danymi – jeden z głównych wymogów do aplikacji. Jednoczesny (współbieżny) dostęp do danych wielu osób. Duża liczba ekranów interfejsu użytkownika. Potrzeba integracji z innymi aplikacjami. Zmienna „logika biznesowa”. Złożoność I odpowiedziałność Jak wytwarzać SI dla przedsiębiorstw? Dr inż. Ludmiła Rekuć 4 Kodkodkodkod Kodkod Kodkodkodkod Kodkod Kodkod Kodkodkodkod Kodkodkodkod Kodkod Kodkod Kodkodkodkod KodkodKodkod Kodkodkodkod Kodkod Kodkodkodkod kodkod KodkodKodkod Kodkodkodkod Kodkod kodkod KodkodKodkod Kodkodkodkod kodkod Kodkod Kodkodkodkod kodkod Kodkod kodkod Środowisko SI KOD Modele Wykorzystane źródło: Śmiałek M. Zrozumieć UML2.0 Metody modelowania obiektowego HELION, 2005. Dr inż. Ludmiła Rekuć 5 Modele w wytwarzaniu systemów informatycznych Model – abstrakcja systemu, która reprezentuje kompletne (z pewnego punktu widzenia), spójne (wewnętrznie niesprzeczne) uproszczenie rzeczywistości. W metodyce RUP (ZP): model przypadków użycia systemu (model wymagań); model analizy, model projektowy, model implementacji, model rozmieszczenia. Elementy modelu – artefakty, niektóre z nich są wyrażane w diagramach • Cel: stworzyć system, który zaspokoji rzeczywiste potrzeby, będzie łatwo “zmienialny” i łatwy w użytkowaniu. • Jak ? ● Zastosowanie modeli pozwala zapanować nad złożonością i świata biznesowego i oprogramowania (w modelach przedstawiamy tylko to, co istotne z danego punktu widzenia; z jakich punktów widzenia należy “popatrzeć” tworząc system określa metodyka). ● Związek miedzy modelami “biznesowymi” a “informatycznymi” pozwala na szybkie wprowadzenie zmian w oprogramowanie przy zmianach w „biznesie”(techniczne rozwiązania powinny byc wynikiem przekształcenia wymagań odwzorowujących cele biznesowe, wtedy zmiana celów jest łatwo przekładana na zmianę w rozwiązaniu) ● Modele pozwalają porozumieć się specjalistom z różnych dziedzin Dr inż. Ludmiła Rekuć 6 Podejście obiektowe. Obiekty i klasy Obiekt: byt, który ma tożsamość, granice, właściwości (stan), zachowanie. Obiekt łączy w sobie dane i funkcje. Obiektami są: Jan Nowak, krzesło w sali, nuta "do", miasto "Wrocław" itp.; Obiektami nie są: kolor "zielony", "śnieg" itp. (nie posiadają określonych granic i tożsamości). Klasa: definicja wspólnych cech grupy obiektów, które mają takie same właściwości, zachowanie, znaczenie. • • Program napisany obiektowo składa się deklaracji klas. Klasy Konto łączą sie w komponenty. Cel analizy i projektowania aplikacji - ustalić: ● z jakich klas (komponentów) powinien się składać program, ● co każda klasa powinna „wiedzieć” (jakie mieć atrybuty) i co powinna umieć robić (jakie mieć operacje). Dr inż. Ludmiła Rekuć 7 Uproszczony kaskadowy proces budowy oprogramowania • Analiza środowiska • Wymagania • Analiza Projektowanie Implementacja • Cel: zrozumienie organizacji i wyrażenie w modelach. Produkty: model środowiska ( architektura, procesy, słownik). Wizja SI.... Cel: pozyskanie wymagań i wyrażenie w modelu. Produkty: model PU, dodatkowa specyfikacja, rozbudowany słownik. Cel: odkrycie klas i ich odpowiedzialności. Produkty (elementy modelu analizy): klasy analizy, realizacja PU w kategoriach klas analizy, pakiety i wstępny zarys architektury SI. Cel: stworzyć podstawę do implementacji. Produkty(elementy modelu projektowego): precyzyjnie okresleone klasy, komponenty, interfejsy klas i komponentów, projekt IU i BD. Wdrożenie i eksploatacja Dr inż. Ludmiła Rekuć 8 UML( Unified Modeling Language) OMG 1.4, 1.5 --> 2.0 Dlaczego zmiany? Nowa rola modeli procesów biznesowych: - Model „wykonalny” – w WF, procesy oparte o usługi sieciowe. -„Kod” z modelu! UML 2 – 13 diagramów. Struktura: klas, struktur złożonych, komponentów, obiektów, rozmieszczenia, pakietów. Zachowanie: czynności, interakcji, maszyna stanów, przypadków użycia. Dr inż. Ludmiła Rekuć 9 Diagram UML Struktury Zachowania Klas Przypadków Użycia Obiektów Czynności Komponentów Maszyny stanów Pakietów Interakcji Składowych Rozmieszczenia • Dr inż. Ludmiła Rekuć Dwa aspekty modelowanej rzeczywistości: – Struktura (statyka) – Zachowanie (dynamika) 10 Model Przypadków Użycia Reprezentuje użytkowanie systemu. Stosuje sie do systemu biznesowego i/lub informatycznego. Aktor: spójny zbiór ról użytkującego system (rola: zachowanie bytu w pewnym kontekście): ● może reprezentować osobę lub inny system, ● jest poza systemem i poza kontrolą systemu, ● ma nazwę i krótki opis. Przypadek Użycia (PU) systemu: proces interakcji jednego lub wielu aktorów z systemem (być może wielowariantowy): ● jest inicjowany przez aktora (z reguły); ● polega na wykonywaniu czynności przez aktorów i system w zadanej kolejności, ● zmierza do dostarczenia aktorowi godnego uwagi wyniku (osiągnięcia celu aktora), ● ma nazwę i opis (mniej lub bardziej szczegółowy). Dr inż. Ludmiła Rekuć 11 Diagram PU - graficzna reprezentacja modelu PU - elipsa z nazwą PU wewnątrz lub obok. Nazwa PU1 Nazwa PU2 Nazwa aktora1 System Nazwa PU1 Nazwa aktora1 Dr inż. Ludmiła Rekuć Nazwa PU2 Aktor - "ludzik" z nazwą aktora . Nazwa aktora2 Linie lub strzałki łączące symbole przypadków użycia i aktorów reprezentują ich powiązanie (komunikację). Strzałka pokazuje kierunek inicjowania (np. od aktora do PU oznacza, że dany aktor inicjuje dany PU). System może być zaznaczony jako prostokąt (opcjonalnie). 12 Diagram PU może być: ogólnym przeglądowym diagramem przedstawiającym wszystkich aktorów i wszystkie PU; ● ogólnym diagramem aktorów, przedstawiającym związki między aktorami; ● diagramem przeglądowym aktora pokazującym wszystkie powiązania tego aktora z PU; ● ogólnym diagramem PU pokazującym zgrupowania logicznie powiązanych przypadków użycia i aktorów; ● diagramem przeglądowym PU pokazującym wszystkie powiązania tego PU z aktorami i innymi PU. ● Dr inż. Ludmiła Rekuć 13 Dwa rodzaje modeli PU Model biznesowych PU Biznesowe PU - to procesy organizacji Cel budowania modelu: • zrozumieć organizacje, • znaleźć aktorów i PU SI, • odkryć ważne pojęcia, dokumenty Klasy Model PU systemu inform. Dr inż. Ludmiła Rekuć 14 Model biznesowych Przypadków Użycia • • • • • • Cel: przedstawić otoczenie i jego związki z procesami organizacji. Aktor: ktoś lub coś na zewnątrz organizacji, ale biorący udział w jej działalności lub zainteresowany jej wynikami. Przykłady: Klient, Dostawca, System sprawdzania kart płatniczych, inny dział firmy. Przypadek Użycia (biznesowy) = proces organizacji: zbiór ciągów akcji dostarczający obserwowalny wynik. Model PU odwzorowuje gospodarczą działalność organizacji na bardzo wysokim poziomie abstrakcji (bez szczegółów realizacji). Model PU dla organizacji pozwala określić granicę środowiska SI! Dr inż. Ludmiła Rekuć 15 : Student Dzi e ka n a t za rzą d za n i e re j e stra cj ą S p ra wd ze n i e sta tu su Zł o że n i e i n d e ksu O d e b ra n i e i n d e ksu P rze p ro wa d ze n i e re j e stra cj i n a se m e str : Czas Dr inż. Ludmiła Rekuć : System rekrutacyj ny Wykorzystane źródło: Śmiałek M. Zrozumieć UML2.0 Metody modelowania obiektowego HELION, 2005. 16 Bi u ro T u rystyczn e Klient Ś wi a d cz u sł u g ę tu rystyczn ą P rzyj m i j re zyg n a cj ę Termin wydania katalogu Po zysku j o b i e kt tu rystyczn y Dysponent Ro zwi ą ż u m o wę Firma Osoba Wyd a j ka ta l o g Dr inż. Ludmiła Rekuć 17 Dr inż. Ludmiła Rekuć 18 Poziom szczegółowości modelu PU Modelowanie PU jest procesem iteracyjnym i polega na kolejnym uściśleniu (a niekiedy i znalezieniu nowych) aktorów i PU. Nie każdy PU musi być szczegółowo opisany. Niektóre PU wystarczy tylko nazwać lub opisać deklaratywnie, przedstawić prototyp interfejsu użytkownika itp. Dr inż. Ludmiła Rekuć 19 Przykład opisu PU (biznesowego) PU 4 Negocjacja oferty Ubezpieczenia Grupowego Klient po przedstawieniu oferty stworzonej przez Koordynatora ds. Sprzedaży Ubezpieczeń Grupowych ma możliwość ewentualnej zmiany warunków zapytania ofertowego oraz negocjowania ostatecznej formy ubezpieczenia. Analizując wymagania klienta towarzystwo ma możliwość ustalenia konsensusu oraz stworzenia ostatecznej oferty na warunkach niestandardowych. Dr inż. Ludmiła Rekuć 20 Opis (specyfikacja) PU Opis przypadku użycia jest opisem interakcji systemu i aktorów, która polega na kolejnym podejmowaniu akcji przez system i aktorów. Interakcja ma więc pewien przebieg określony przez kolejność akcji. Zakłada się, że każdy przypadek użycia może mieć wiele różnych przebiegów, w zależności od sytuacji, jakie pojawiają się w trakcie interakcji aktorów z systemem. Spośród wielu przebiegów wybiera się jeden najbardziej typowy i nazywa się go podstawowym lub bazowym. Pozostałe przebiegi nazywa się alternatywnymi. Zamiast terminu przebieg stosuje się także termin scenariusz. Dr inż. Ludmiła Rekuć 21 Opis (specyfikacja) PU c.d. W UML nie ustalono standardu na formę opisu PU, ale przyjęto opisywać na dwa sposoby: ● ● specyfikując wszystkie możliwe sytuacje, jakie mogą zajść w przebiegu PU, używając przy tym konstrukcji warunkowych i powtarzania; ten sposób nadaję się przy mało skomplikowanych PU; stosując tylko sekwencje opisuje się przebieg podstawowy oraz przebiegi alternatywne; każdy przebieg jest wtedy przedstawiany jako uporządkowana sekwencja akcji. Dr inż. Ludmiła Rekuć 22 Rysunek symbolicznie przedstawia warianty realizacji PU przebieg podstawow y warunek wstępny przebieg alternatywn y warunek końcowy warunek końcowy warunek końcowy Warunek wstępny: stan otoczenia i/lub systemu, który warunkuje rozpoczęcie PU(musi istnieć mozliwość jego sprawdzenia przed rozpoczęciem PU) Warunek końcowy: poprawny stan systemu po zakończeniu PU.(niekiedy brzmienie jest zgodne z celem PU, może być wtedy opuszczony). Jeśli niektóre warunki wstępne i/lub końcowe muszą być spełnione we wszystkich PU, to umeszcza się wspólną odpowiednią odnotację. Dr inż. Ludmiła Rekuć 23 Przykład 1. Opis PU z uwarunkowaniami Przypadek użycia: Znajdź produkt. ID: PU12 Aktorzy: Klient Warunek wstępny: klient jest zarejestrowany. Przebieg zdarzeń: 1.Klient wybiera "szukaj produkt" 2. System żada podania kryteriów wyszukania. 3. Klient podaje kryteria. 4. System wyszukuje produkty, spelniające kryteria. 5. Jeśli system znajduje produkty, to 5.1 Dla każdego znalezionego produktu 5.1.1 System wyświetla krótki opis produktu. 5.1.2 System wyświetla zestaw składników produktu. 5.1.1 System wyświetla cenę produktu. 6. w przeciwnym przypadku 6.1 System informuje klienta o tym, że nie znaleziono odpowiednich produktów. Warunki końcowe: Przebieg alternatywny: 1. W dowolnym momencie Klient może przejść na inną stronę. Dr inż. Ludmiła Rekuć 24 Opis złożonych PU Jeden przebieg wybiera się jako podstawowy. Przebieg - jedna wybrana ścieżka w drzewie możliwych realizacji PU. W przebiegu nie ma rozgałęzień. Każde rozgałęzienie rodzi inny przebieg – alternatywny, opisywany osobno. Przypadek użycia: WypłataGotówki ID: oznaczeniePU11 Aktorzy: Przypadek użycia: WypłataGotówki Przebieg alternatywny:NieważnyIdentyfikatorKlie nta Warunek wstępny: ID: oznaczeniePU Przebieg zdarzeń: 1. ... Warunki końcowe: Aktorzy: Przebiegi alternatywne: 1. Nieważny Identyfikator Klienta. 2. Nieważna karta kredytowa. Przebieg zdarzeń: 1. PU zaczyna się w kroku ... PU11, kiedy... ... Dr inż. Ludmiła Rekuć Warunek wstępny: 25 SuperBankomat. Model przypadków użycia ID PU3 Nazwa: Wypłata gotówki Cel: Wypłata gotówki klientowi na podstawie karty płatniczej. Aktorzy: Klient, System CKP. Warunek wstepny: Ekran prezentuje menu główne. Przebieg podstawowy: 1.PU rozpoczyna klient wkładając kartę płatniczą. Następuje realizacja PU2 „Identyfikacja tożsamości klienta” (include). 2.Bankomat proponuje wybór opcji. 3.Klient wybiera opcję „Wypłata gotówki”. 4.Bankomat pyta o kwotę. Zazwyczaj jest lista kwot do wyboru ( 'hot-keys'). Kwota może również być wprowadzona z klawiatury. 5. Bankomat wysyła Identyfikator karty, kwotę, datę, godzinę i numer rachunku do Systemu CKP jako transakcję System CKP odpowiada poleceniem "wykonaj". 6. Bankomat wydaje pieniądze. 7. Bankomat zwraca kartę. 8. Bankomat drukuje pokwitowanie. Przebiegi alternatywne: A1. Brak gotówki w bankomacie. Jeżeli w bankomacie zabrakło pieniędzy, pobranie gotówki jest niemożliwe; alternatywny ciąg następuje po kroku 4 w głównym przebiegu. [Powinno pojawić się ostrzeżenie na ekranie informujące o braku pieniędzy. Ostrzeżenie powinno być dostrzegalne przez klienta jeszcze zanim włoży on kartę. A2.Niewłaściwa kwota. Następuje w kroku 4 przebiegu podstawowego, jeżeli klient wybierze kwotę, która nie może zostać wypłacona banknotami znajdującymi się w bankomacie; wówczas system wyświetli ostrzeżenie i poprosi klienta o zmianę kwoty. Sytuacja może się powtarzać aż do momentu wprowadzenia właściwej kwoty (zazwyczaj jest to wielokrotność liczby 20). Dr inż. Ludmiła Rekuć 26 Pojęcia: Pakiet • jest elementem modelu służącym do grupowania innych elementów, ma symbol graficzny i nazwę; • jest jedynym "właścicielem" należących do niego elementów modelu; • jest "przestrzenią nazw" dla posiadanych elementów. Zagnieżdżone pakiety mogą tworzyć hierarchię. stereotyp “zawiera” Nazwa pakietu, może być też w mniejszym prostokącie <<jednostka org>> <<entity>> encji Zaopatrzenie Role Dr inż. Ludmiła Rekuć 27 ud Urząd gminy - aktorzy biznesow i Rada gminy Urząd woj ew ódzki Klient urzędu Sołectwo Petent Jednostka Podległa instytucj a gospodarcza użyteczności publicznej ud Use Case Model Petent + Doko naj wydzierzawieni a nie rucho m osci + Doko naj zakupu m ie szkani a kom unalnego + Ustal grani cę podzi ału d la ni eruchom ości + Uzyskaj i nform acj ę z re jestru decyzji dla inwestycji obj ętych ustawą Prawo ochrony środowiska + Uzyskaj i nform acj ę z re jestru decyzji o warunka ch zabudowy i zagospodarowai a terenu + Uzyskaj i nform acj ę z re jestru dzierżawców naje m ców + Uzyskaj i nform acj ę z re jestru m iej scowych plan ów zagospodarowani a przestrze nnego + Uzyskaj pozwol enie na pobór wody z źródł a własnego + Uzyskaj pozwol enie na posi adanie psa rasy niebezpiecznej Pytania kontrolne 1. Czy aktor – to zawsze osoba? 2. Jaki związek łączy aktora a PU? 3. Czy wiele osób fizycznych może reprezentować jeden aktor? 4. Czy jedna osoba fizyczna może być w roli wielu aktorów? 5. Czy ten sam aktor może wystąpić na wielu diagramach? 6. Czy z jednym aktorem może być związanych wiele PU? 7. Czy z jednym PU może być związanych wielu aktorów? Jeśli tak, to co to oznacza? 8. Jaka jest relacja między “diagramem” a “modelem”? 9. Jakie są zalety podejścia obiektowego? 10. Co daje wykorzystanie modeli w wytwarzaniu oprogramowania? Dr inż. Ludmiła Rekuć 29