Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof. KUL vmelnyk@kul.pl
Informacja ogólna Cele przedmiotu: C1- Przedstawienie zaawansowanych metod modelowania i analizy systemów informatycznych (strukturalnych i obiektowych) C2- Zapoznanie studentów z językiem modelowania UML i praktycznymi jego zastosowaniami C3- Wyrobienie u studentów umiejętności posługiwania się metodami modelowania i analizy systemów informatycznych oraz oceny związanych z nimi artefaktów Struktura kursu: Wykład - 30 godz Ćwiczenia - 30 godz Punkty ECTS: 7 Forma zaliczenia: Egzamin Warunkiem zaliczenia ćwiczeń jest wykonanie i obrona projektu. 2
Plan ćwiczeń 1. Zajęcie wstępne 1.1. Krótkie przedstawienie założeń przedmiotu oraz projektu 1.2. Omówienie zakresu dokumentacji projektowej. 1.3. Ćwiczenie różnych pojęć z zakresu obiektowości 2. Podział na zespoły i wybór tematu projektu 3. Ćwiczenia z diagramów Przypadków Użycia (Use Case) 4. Ćwiczenia z diagramów Klas. 5. Ćwiczenia z diagramów Czynności. 6. Ćwiczenia z diagramów Maszyny Stanowej (Stanów) 7. Kolokwium nr 1 8. Ćwiczenia z diagramów Sekwencji. 9. Ćwiczenia z diagramów Komunikacji (Współpracy). 10. Ćwiczenia z diagramów Harmonogramowania. 11. Ćwiczenia z diagramów Wdrożenia (komponentów i rozlokowania) i Pakietów. 12. Inne diagramy UML 13. Kolokwium nr 2 (???) 14. Kończenie projektów. 15. Wszystkie sprawy związane z zaliczeniem ćwiczeń. 3
Nieformalny opis systemu Należy przygotować wstępne wymagania dla systemu (około 1 strony A4 nieformalnego opisu systemu), który będzie modelowany w języku UML oraz częściowo zaimplementowany w wybranym języku obiektowym. 4
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 1. Diagram przypadków użycia (Use Case): określenie przypadków użycia (min 5) określenie aktorów (min 3) określenie związków asocjacji: uogólnienie, zawieranie, rozszerzenie (min po 2 specyfikacje asocjacji) dokumentacje przypadków użycia: (tabelka wg wzoru dla wszystkich przypadków użycia, rozwinięcie wybranego scenariusza przypadku użycia) 5
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 2. Diagram Klas: określenie klas, graficzna reprezentacja (min 5 klas) specyfikacja klas: nazwy pól, nazwy metod, widoczność składowych klas związki zależności: agregacja częściowa, agregacja całkowita (kompozycja), uogólnienie, realizacja (min po 2 przykłady dla każdej) role związków asocjacji nawigacja liczebność 6
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 3. Diagram Czynności: określenie akcji (min 6) określenie czynności (min 1) sygnał nadawczy sygnał odbiorczy przepływy sterowania przepływ sterowania decyzyjny - decyzja, współbieżny rozwidlenie i scalenie początek koniec 7
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 4. Diagram Maszyny Stanowej: opis stanów przynajmniej dwóch obiektów stany przejście opis przejść stan początkowy stan końcowy decyzje 8
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 5. Diagram Sekwencji: identyfikacja klasyfikatorów (min 3) linia życia operator interakcji (min 2) komunikat synchroniczny lub asynchroniczny komunikat zwrotny nazwy komunikatów określenie rodzajów komunikatów ośrodki sterowania numeracja komunikatów 9
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 6. Diagram Komunikacji (wspolpracy): identyfikacja klasyfikatorów (min 3) określenie komunikatów określenie rodzajów komunikatów numeracja komunikatów 10
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 7. Diagram Harmonogramowania: Identyfikacja klasyfikatorów (min 2) Stany dla klasyfikatora (min 3) alternatywny zapis dla przynajmniej jednego z klasyfikatorów określenie ograniczeń czasowych lub przedstawienie osi czasu 11
Część analityczna projektu Projekt powinien zawierać następujące diagramy UML dla opisywanego systemu: 8. Diagram Komponentów (+ diagram rozlokowania): Identyfikacja komponentów systemu (min 4) Specyfikacja rodzajów komponentów Połączenia pomiędzy komponentami Specyfikacja połączeń: interfejsy pozyskujące i udostępniające (min 2) Umieszczenie diagramu komponentów na diagramie rozlokowania 12
Implementacja Należy zaimplementować przynajmniej 5 klas oraz napisać program symulujący jeden z głównych przypadków użycia systemu dla którego został rozwinięty scenariusz główny. 13
Prezentacja Należy przygotować prezentację projektu, na której zostaną zawarte wymagania modelowanego systemu i najważniejsze jego funkcjonalności. 14
Specyfikacja projektu na zaliczenie Gotowy projekt składa się z teczki, która zawiera: 1. Opis członków grupy tworzącej projekt (imiona, nazwiska, nazwa grupy projektowej na okładce teczki, procentowy wkład pracy oraz podział obowiązków w ramach projektu dla każdej osoby) 2. Opis wymagań systemu 3. Spis wszystkich diagramów 4. Diagramy 5. Nośnik danych CD/DVD z elektroniczną dokumentacją projektu, implementacją oraz prezentacją 15
Pozostałe warunki 1. Diagramy powinny być tworzone przy użyciu narzędzi informatycznych (tj. Star UML, MS Visio, Visual Paradigm UML, Paint, Gimp). 2. Grupa projektowa powinna skłądać się z 2 osób. Jeżeli są to 3 osoby, to należy zwiększyć ilość: przypadków użycia (do minimum 8), oraz aktorów (do min. 4) rozwinąć przynajmniej dwa scenariusze przypadków użycia, klas oraz ich implementacji (do minimum 8), diagramów czynności (do min. dwóch), maszyn stanowych (dla min. 3 obiektów), klasyfikatorów w diagramie sekwencji (do minimum 4). 3. W różnych grupach tematy projektów są też różne. 16
Narzędzia implementacyjne Narzędzia CASE (edytory diagramów): NetBeans for Java: http://www.netbeans.org/ NetBeans for Java: (umożliwia m.in. tworzenie diagramów UML) MS Visio Visual Paradigm Community Edition: www.visualparadigm.com ArgoUML: http://argouml.tigris.org, MagicDraw Community Edition: http://www.magicdraw.com, StarUML: http://staruml.sourceforge.net/en/ Obszerna lista narzędzi: http://en.wikipedia.org/wiki/list_of_uml_tools. 17
Narzędzia implementacyjne IDE: Eclipse for Java: http://www.eclipse.org/, NetBeans 6.x for Java: http://www.netbeans.org/, MS Visual Studio. 18
Narzędzia implementacyjne Edytory GUI: wbudowany w NetBeans 6.x; dla Eclipse: Jigloo SWT/Swing GUI Builder (http://www.cloudgarden.com/jigloo/); dla Eclipse: WindowBuilder Pro - po przejęciu przez Google darmowy (http://code.google.com/intl/pl/webtoolkit/to ols/wbpro); wbudowany w MS Visual Studio. 19
Literatura Podstawowa 1. J. Płodzień, E. Stemposz Analiza i projektowanie systemów informatycznych, Wydawnictwo PJWSTK, Warszawa 2005 2. M. Trzaska: Modelowanie i implementacja systemów informatycznych. Rok 2008. Wydawnictwo PJWSTK. 3. S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych, Helion, Gliwice 2005 4. M. Śmiałek Zrozumieć UML 2.0. Metody modelowania obiektowego, Helion, Gliwice 2005 5. J. S. Valacich, J. F. George, J. A. Hoffer, Essentials of Systems Analysis and Design, Pearson, Boston 2012 6. S. Wrycza (red.), UML 2.1. Ćwiczenia, Helion, Gliwice 2006 7. S. Wrycza, B. Marcinkowski, J. Maślankowski UML 2.x. Ćwiczenia zaawansowane, Helion, Gliwice 2012 8. H. Tańska, H. Pikus, Ćwiczenia z analizy i projektowania systemów informatycznych, Wydawnictwo UW-M, Olsztyn 2004 9. P. Beynon-Davies, Inżynieria systemów informacyjnych. Wprowadzenie, WN-T, Warszawa 2004 Uzupełniająca 1. C. Larman, UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji. Wydanie III, Helion, Gliwice 2011 2. D. Pilone, N. Pitman UML 2.0. Almanach, Helion, Gliwice 2007 3. www.omg.org specyfikacje UML 4. K. E. Kendall, J. E. Kendall, Systems Analysis and Design, Prentice Hall, Boston 2011 5. G. Booch, J. Rumbaugh, I. Jacobson UML. Przewodnik użytkownika, WNT, Warszawa 2002 20
21