Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy na temat modelowania wymagań jako jeden z najważniejszych etapów projektowania systemu. 2 Literatura Autor: Booch Grady, Rumbaugh James, Jacobson Ivar Tytuł: UML przewodnik użytkownika Wydawnictwo: WNT,Warszawa Data wydania: 2002 Tłum. z ang.: Krzysztof Stencel ISBN 83-204-2743-6 Autor: Włodzimierz Dąbrowski, Andrzej Stasiak, Michał Wolski Tytuł: Modelowanie systemów informatycznych w języku UML 2.1 Wydawnictwo: Wydawnictwo Naukowe PWN, Warszawa Data wydania: 2007 ISBN: 978-83-01-15251-2 3 1
Literatura Specyfikacja UML 2.4.1 Object Management Group: Unified Modeling Language: Infrastructure specification Unified Modeling Language: Superstructure specification Źródło dokumentów: www.omg.org/spec/uml/2.4.1/ 4 Po co to wszystko? To, co klient zamówił To, co analityk zrozumiał To, co opisywał projekt To, co wykonali programiści Projekt po uruchomieniu i wdrożeniu To, za co klient zapłacił A to, czego klient potrzebował Praktyczne zastosowanie projektu Źródło: www.uml.com.pl/modules/articles/article.php?id=30 5 Czego zabrakło? 6 2
Model i modelowanie Model (ang. model) Kopia rzeczywistego systemu wykonana za pomocą odpowiedniej notacji. Model może opisywać różne wybrane aspekty systemu. Jest wykonywany w celu lepszego zrozumienia modelowanego systemu. Model zawiera różne elementy (klasy, przypadki użycia, asocjacje itd.), które są uwidoczniane na różnego rodzaju diagramach. Modelowanie (ang. modeling) Modelowanie jako tworzenie modeli (rzeczywistości, systemów, kodu itp.). 7 Język UML UML (Unified Modeling Language) wer. 2.4 graficzny język do obrazowania, specyfikowania, tworzenia i dokumentowania systemów informatycznych posiada wsparcie dla systemów współbieżnych i hierarchicznych zawiera 13 rodzajów diagramów odbiorcy języka UML: zamawiający oraz użytkownicy oprogramowania, analitycy, architekci i projektanci, programiści, kierownicy projektów i inni zalety: uniwersalność, czytelność, popularność 8 Historia UML Dlaczego język UML? Około 90% firm z listy Fortune 500 używa języka UML w różnych aspektach swojej działalności. 1994 początki UML Grady Booch i James Rumbaugh opracowują wspólny język modelowania obiektowego (Booch i OMT Object Modeling Technique). 1995 dołącza Ivar Jacobson (przypadki użycia) i powstaje UML (Unified Modeling Language) czyli ujednolicony język modelowania 1996 OMG (Object Management Group) powołuje konsorcjum firm (m.in. Hewlett Packard, IBM, Microsoft, Oracle, Rational Software) powstaje wersja 1.0 UML 1997 i lata kolejne wersja 1.1... 1.5 (uzupełnianie specyfikacji) 2005 wersja 1.4.2 (ISO/IEC 19501) 2005 UML 2.0 Podział specyfikacji na Infrastrukturę i Superstrukturę UML. sierpień 2011 UML 2.4.1 (bieżąca wersja) 9 3
Diagramy UML pozwalają modelować system z różnych perspektyw (każdy diagram to jakby inne spojrzenie na system) Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych, Helion 2005 10 Diagram przypadków użycia Diagram przypadków użycia (use case diagram) przedstawia zachowanie systemu w interakcjach z aktorami. Wykorzystywany jest najczęściej do analizy wymagań użytkownika. 11 Diagram przypadków użycia Trzy rodzaje elementów: aktorzy, przypadki użycia, zależności, uogólnienia, powiązania. 12 4
Aktor Aktor: reprezentuje spójny zbiór ról odgrywanych przez użytkowników przypadku użycia, może reprezentować człowieka, urządzenie, system. 13 Aktor a użytkownik Konkretny użytkownik Aktor Przypadek użycia Może grać rolę zleca Jan Kowalski Administrator systemu przeładowanie systemu Adam Malina Pracownik wejście z kartą i kodem Konkretny gość Konkretny klient Osoba informowana Klient uzyskanie informacji ogólnych wypłata z konta 14 Przypadek użycia Przypadek użycia: zbiór ciągów akcji wykonywanych przez system w celu dostarczenia określonemu aktorowi godnego uwagi wyniku, opisuje co robi system (nie określa jak to robi). 15 5
Zależności Rodzaje zależności: powiązanie (asocjacja), uogólnienie (generalizacja), rozszerzenie (ang. extend), zawieranie (ang. include). 16 Modelowanie wymagań Modelowanie wymagań opiera się na kilku krokach i wymaga ścisłej współpracy z przyszłym użytkownikiem. Krok: Udokumentowany w: 1 2 Sporządzenie słownika pojęć Określenie aktorów Słownik pojęć 3 Określenie przypadków użycia Dokument opisu aktorów 4 Tworzenie opisu każdego przypadku użycia plus: podział na nazwane części znalezienie wspólnych części w różnych przypadkach użycia Diagram przypadków użycia + dokument z opisem przypadków użycia 17 Diagram czynności Diagram czynności (activity diagram) opisuje sieć węzłów czynności połączonych przepływami sterowania. Diagram najczęściej jest związany z jakimś zachowaniem. Wykorzystywany do uszczegóławiania przypadków użycia. [cena nie zaakceptowana] [cena OK] 18 6
Diagram sekwencji Diagram sekwencji (sequence diagram) pokazuje interakcje w formie ciągu komunikatów między liniami życia, uporządkowanych chronologicznie. kontroler: Sterownik a: CzujnikPołożenia c: CzujnikPołożenia wózek1: Wózek wózek2: Wózek l1 a!l1 l2 c!l2 19 Przykład 20 Diagram przypadków użycia Diagram przypadków użycia obsługa bankomatu 21 7
Diagram przypadków użycia Diagram przypadków użycia obsługa bankomatu z dodatkowymi aktorami 22 Diagram czynności Diagram czynności sprawdzenie salda 23 Diagram czynności Diagram czynności sprawdzenie salda (cz. 1) 24 8
Diagram czynności Diagram czynności sprawdzenie salda (cz. 2) 25 Diagram sekwencji Diagram sekwencji sprawdzenie salda 26 Narzędzia UML Enterprise Architect ver. 9.3 www.sparxsystems.com.au 27 9
Narzędzia UML IBM Rational Software Architect ver. 8.0.3 www-01.ibm.com/software/rational/products/swarchitect/ 28 Narzędzia UML Astah Community ver. 6.6.3 www.astah.net/editions/community 29 Narzędzia UML ArgoUML ver. 0.34 www.argouml.tigris.org 30 10
Podsumowanie Współczesne złożone systemy informatyczne wymagają projektowania na wysokim poziomie abstrakcji, najlepiej metodami graficznymi. Język UML świetnie nadaje się do modelowania systemów (nie tylko) informatycznych. Diagramy przypadków użycia służą do modelowania wymagań - jednego z najważniejszych etapów projektowania systemu informatycznego. Na rynku dostępnych jest wiele środowisk do modelowania za pomocą języka UML (także darmowych). 31 Koniec Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona. Albert Einstein 32 11