Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

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

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

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

Podstawy programowania III WYKŁAD 4

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

UML w Visual Studio. Michał Ciećwierz

Wykład 1 Inżynieria Oprogramowania

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

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

PRZEWODNIK PO PRZEDMIOCIE

Analiza i projektowanie obiektowe 2015/2016. Wykład 2: Przypadki użycia

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

Język UML w modelowaniu systemów informatycznych

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

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

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Michał Adamczyk. Język UML

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

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie interakcji. Jarosław Kuchta

Projektowanie systemów informatycznych. wykład 6

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

Narzędzia CASE dla.net. Łukasz Popiel

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

INŻYNIERIA OPROGRAMOWANIA

Inżynieria oprogramowania - opis przedmiotu

Projekt systemu informatycznego

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

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

PRZEWODNIK PO PRZEDMIOCIE

Zalety projektowania obiektowego

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

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

Modelowanie obiektowe - Ćw. 3.

IX Konferencja Informatyki Stosowanej

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Podstawy inżynierii oprogramowania

Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

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

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

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

Technologia programowania

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Podstawy modelowania programów Kod przedmiotu

Faza analizy (modelowania) Faza projektowania

Opis. Liczba godzin zajęć dydaktycznych z

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Podstawy języka UML2 w realnych projektach

Język UML w modelowaniu systemów informatycznych

Programista do działu testów PDT/1401/T/TBG

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Diagramy klas. dr Jarosław Skaruz

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Analiza i projektowanie obiektowe w UML Kod przedmiotu

UML. zastosowanie i projektowanie w języku UML

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie i analiza systemów informatycznych

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

Programowanie obiektowe

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Programowanie obiektowe

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

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Inżynieria oprogramowania

MODELOWANIE STRUKTURY

Język UML w modelowaniu systemów informatycznych

Egzamin / zaliczenie na ocenę*

Modelowanie danych, projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego

Podstawy modelowania w języku UML

Wykład 5: Klasy cz. 3

Język UML w modelowaniu systemów informatycznych

UML cz. II. UML cz. II 1/38

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Modelowanie i Programowanie Obiektowe

Podstawy języka UML2 w realnych projektach

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

ECDL Podstawy programowania Sylabus - wersja 1.0

Cykle życia systemu informatycznego

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

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

Transkrypt:

Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście od wymagań i analizy do projektu 2. Diagramy interakcji 3. Notacja zapisu diagramów interakcji w UML 2 1

Przejście od wymagań i analizy do projektu 3 Od wymagań i analizy obiektowej do projektu obiektowego Faza zbierania wymagań oraz faza analizy obiektowej miała za zadanie dać odpowiedzi na pytania dotyczącego tego jakie są funkcjonalności tworzonej aplikacji oraz jakie są podstawowe pojęcia występujące w dziedzinie, której aplikacja dotyczy ( Do the right thing ). Faza projektu obiektowego ma za zadanie zaprojektować system w sposób poprawny, tak aby w pełni spełniał zebrane wymagania ( Do the thing right ). Podczas realizacji fazy projektowania obiektowego mogą pojawić się nowe wymagania oraz może pojawić się potrzeba modyfikowania wymagań wcześniej zebranych. Faza projektowania nie powinna być zbyt długa (przy dużych projektach przy każdej iteracji powinna zabierać kilka dni). 4 2

Czym jest projekt obiektowy? Podczas projektowania obiektowego, tworzony jest logiczny model systemu uwzględniający założenia paradygmatu obiektowego. W Unified Process na model projektu składają się dwa elementy: Diagramy interakcji obrazujące współpracę pomiędzy obiektami realizowaną w celu spełnienia zebranych wymagań, Diagram klas (diagram fazy projektowej) obrazujący klasy oraz związki pomiędzy nimi. Tworzenie tych dwóch elementów jest realizowane równolegle. Tworzenie diagramów interakcji wymaga wiele uwagi i twórczego podejścia poprawne ich tworzenia wymaga opanowania umiejętności przyporządkowywania obiektom odpowiedzialności. Tworzenie poprawnych modeli wymaga również stosowania istniejących zasad projektowych oraz wzorców projektowych (patterns). 5 Projektowanie obiektowe, a tworzenie modeli w UML W fazie projektowania należy odróżnić umiejętność myślenia i projektowania obiektowego od znajomości notacji do tworzenia diagramów w UML. Diagramy tworzone w UML odzwierciedlają procesy które zachodzą podczas fazy projektowania obiektowego, znajomość UML znacząco ułatwia pracę podczas modelowania. Kluczowe w fazie projektowania obiektowego jest umiejętność projektowania obiektowego na którą składają się: Zasady przypisywania odpowiedzialności obiektom, Zasady projektowe oraz wzorce projektowe (patterns). 6 3

Diagramy interakcji 7 Diagramy interakcji (1) Diagramy interakcji obrazują w jaki sposób obiekty współpracują ze sobą przy pomocy przesyłania komunikatów. Diagramy interakcji to: Diagramy współpracy (collaboration diagrams), Diagramy sekwencji (sequence diagrams). Diagramy współpracy obrazują współpracę pomiędzy obiektami w postaci grafu w którym obiekty mogą pojawić się w dowolnym miejscu: 8 4

Diagramy interakcji (2) Diagramy sekwencji ilustrują interakcję pomiędzy obiektami, w której obiekty umieszczone są jeden obok drugiego: 9 Diagramy współpracy, czy diagramy sekwencji? Zalety Wady Diagramy sekwencji Diagramy współpracy W czytelny sposób przedstawiona jest sekwencja zdarzeń oraz czasowe uporządkowanie przesyłanych komunikatów. Używana notacja jest prosta i czytelna. W dobry sposób obrazowany jest złożone zależności pomiędzy obiektami oraz iteracje. Zapis ekonomiczny jeżeli chodzi o wykorzystywany obszar prostota w dodawaniu nowych obiektów. Niewygodny gdy konieczne jest dodanie wielu obiektów wymaga dużo przestrzeni. Trudna wizualizacja sekwencji przesyłania komunikatów. Bardziej złożona notacja. 10 5

Przykład: diagram współpracy 11 Przykład diagramu sekwencji 12 6

Znaczenie diagramów interakcji Tworzenie diagramów interakcji obrazuje proces przypisywania odpowiedzialności obiektom. Faza ta wydaje się trudniejsza niż faza tworzenia przypadków użycia oraz modelu wiedzy dziedzinowej. Sugeruje się, aby faza te była realizowana zespołowo, a nie samodzielnie. Dzięki współpracy tworzone diagramy interakcji będą pełniejsze i bardziej poprawne. Nie zakłada się, że diagramy tworzone w fazach początkowych mają być pełne. Przyjmuje się, że będą one mogły być modyfikowane podczas programowania. Wykorzystywanie zasad projektowych oraz wzorców projektowych ułatwia proces tworzenia diagramów interakcji. 13 Notacja zapisu diagramów interakcji w UML 14 7

Klasy, instancje, komunikaty W UML używa się tego elementu graficznego na opisanie klasy i instancji. Różnica polega jedynie na użyciu podkreślenia przy nazwie instancji: Sprzedaż :Sprzedaż sprzedaz1:sprzedaż klasa instancja nazwana instancja Składnia zapisu komunikatów: return:= message(parameter : parametertype) : returntype Przykład: wartosc = podajspecyfikacjeproduktu(produkt) wartosc = podajspecyfikacjeproduktu(produkt:produkt) wartosc = podajspecyfikacjeproduktu(produkt:produkt):specyfikacjap 15 Diagramy współpracy: połączenia i komunikaty Połączenie (ang. link) to instancja asocjacji. Pomiędzy dwoma obiektami przy pomocy tego samego połączenia może być przesyłanych wiele komunikatów: 16 8

Diagramy współpracy: komunikaty typu self i tworzenie instancji Komunikaty mogą być przesłane od danego obiektu do siebie samego: Do tworzenia nowych instancji dedykowane są metody nazywane create, bądź używany jest stereotyp <<create>>: 17 Diagramy współpracy: numerowanie przepływu komunikatów 18 9

Diagramy współpracy: komunikaty warunkowe i wykluczające sięścieżki 1) Komunikaty warunkowe: 2) Wykluczające się ścieżki: 19 Diagramy współpracy: iteracje i pętle 20 10

Diagramy sekwencji: połączenia i komunikaty W przeciwieństwie do diagramów współpracy w diagramach sekwencji połączenia nie są reprezentowane! Komunikaty: 21 Diagramy sekwencji: komunikaty typu self 22 11

Diagramy sekwencji: tworzenie instancji 23 Diagramy sekwencji: czas życia obiektów i ich usuwanie 24 12

Diagramy sekwencji: komunikaty warunkowe 25 Diagramy sekwencji: wykluczające sięścieżki 26 13

Diagramy sekwencji: iteracje i pętle 27 14