Projektowanie interakcji. Jarosław Kuchta

Podobne dokumenty
Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

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

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

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

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

Projektowanie logiki aplikacji

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

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy interakcji. Opracowano w Lab. Informatyki AGH (Kraków)

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

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie IU -nawigacja

UML w Visual Studio. Michał Ciećwierz

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

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

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Modelowanie i analiza systemów informatycznych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Analiza i projektowanie aplikacji Java

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Unified Modeling Language

Znaleziony - jeżeli nadawca nie jest znany w obrębie danego fragmentu Utracony - jeżeli odbiorca komunikatu nie jest znany w obrębie danego fragmentu

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

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

Język UML w modelowaniu systemów informatycznych

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

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Projektowanie struktury danych

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Michał Adamczyk. Język UML

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

UML. dr inż. Marcin Pietroo

Diagramy sekwencji. wymienianych między nimi

TECHNOLOGIE OBIEKTOWE. Wykład 3

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

Wprowadzenie do UML, przykład użycia kolizja

UML - zarys 2007/2008

Diagramy UML, przykład problemu kolizji

Inżynieria oprogramowania

Projektowanie interfejsu użytkownika. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie warstwy danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie IU wejście/wyjście

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

Analiza i projektowanie obiektowe w UML Kod przedmiotu

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

Diagramy klas. WYKŁAD Piotr Ciskowski

Podstawy programowania III WYKŁAD 4

Diagramy klas. dr Jarosław Skaruz

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

Podstawy języka UML2 w realnych projektach

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

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

Inżynieria Oprogramowania Jarosław Kuchta. Projektowanie interfejsu użytkownika (zasady ogólne)

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

Diagramy czynności. Widok logiczny. Widok fizyczny

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

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

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

Projektowanie interfejsu użytkownika (1) Jarosław Kuchta Projektowanie Aplikacji Internetowych

Podstawy inżynierii oprogramowania

Język UML w modelowaniu systemów informatycznych

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

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

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

Język UML w modelowaniu systemów informatycznych

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

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

Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski

WPROWADZENIE DO UML-a

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Podstawy modelowania programów Kod przedmiotu

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania

Inżynieria oprogramowania

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Język UML w modelowaniu systemów informatycznych

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

Podstawy języka UML2 w realnych projektach

Paweł Kurzawa, Delfina Kongo

Zalety projektowania obiektowego

Technologie informacyjne - wykład 12 -

Projektowanie architektury systemu internetowego

Wykład 1 Inżynieria Oprogramowania

Diagramy przypadków użycia

Modelowanie obiektowe

Podstawy modelowania w języku UML

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Projektowanie rozmieszczenia stanowisk roboczych

Modelowanie biznesowe. Na podstawie materiałów: Mirosława Ochodeka

Rysunek 1: Przykłady graficznej prezentacji klas.

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

Podejście obiektowe wprowadzenie

Cw.12 JAVAScript w dokumentach HTML

Projekt systemu informatycznego

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Transkrypt:

Projektowanie interakcji Jarosław Kuchta

Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście kolaboracji. Współpraca (collaboration) Zespół powiązań między obiektami umożliwiający ich interakcję dla wykonania określonego zadania. Komunikat (message) Przepływ informacji między obiektami pojawiający się w konsekwencji wystąpienia określonego zdarzenia. Zdarzenie (event) Wystąpienie sytuacji istotnej z punktu widzenia systemu. Zdarzenie zachodzi w pewnym niepodzielnym momencie czasu. Konsekwencją zdarzenia jest komunikat.

Diagramy interakcji Diagramy współpracy (kolaboracji) powiązania między obiektami przepływ komunikatów wzdłuż powiązań Diagramy sekwencji (przebiegu) linie życia obiektów przepływ komunikatów uporządkowany w czasie

Elementy diagramu kolaboracji numer porządkowy obiekt A komunikat 1: DoSomething() znacznik kierunku obiekt B powiązanie

Opis komunikatu (1/3) Numer porządkowy może składać się z kilku segmentów, każdy segment jest liczbą całkowitą określającą kolejność na danym poziomie zagłębienia, np.: 1.2.1 poprzedza 1.2.2 oraz poprzedza 1.3 komunikaty współbieżne określane są przez dodanie litery za numerem porządkowym, np.. 1.2a i 1.2b są współbieżne Określenie komunikatu poprzedzającego Zamiast numeru porządkowego danego komunikatu można podać numery porządkowe komunikatów poprzedzających (lista numerów oddzielonych przecinkami i zakończona znakiem / ). Dany komunikat zostanie przesłany tylko wówczas, gdy wszystkie poprzedzające go komunikaty zostaną przesłane (synchronizacja)

Opis komunikatu (2/3) Warunek strzegący, dozoru (guard condition) Warunek strzegący to warunek, który musi być spełniony dla przesłania komunikatu. Warunek strzegący podaje się w nawiasach kwadratowych, np. [n<10] Określenie iteracji Podanie klauzuli iteracji w nawiasach kwadratowych poprzedzonych znakiem * oznacza wielokrotne przesłanie komunikatu. Klauzulę iteracji podaje się w określonym języku programowania lub w pseudokodzie, np.: *[i:=1..10]

Opis komunikatu (3/3) Zwracany wynik wynik := nazwa operacji (lista argumentów) Lista argumentów Jest listą wartości oddzielonych przecinkami, które są po kolei przypisywane do parametrów operacji. Wartości są wyrażeniami w określonym języku programowania lub w pseudokodzie. W wyrażeniach mogą występować wartości zwrotne z poprzedzających komunikatów

Przykłady komunikatów 1.2a: DoSomething() 3, 5/7: DoSomething() 4: [action=new] NewDocument(SelectType())

Elementy diagramu sekwencji obiekt A obiekt B linia życia komunikat DoSomething() wektor przepływu komunikatu skupienie sterowania odpowiedź

Uwagi do diagramu sekwencji Diagram sekwencji i diagram współpracy są semantycznie równoważne. Kierunek przepływu komunikatu określa zwrot wektora przepływu przy jednym wektorze może wystąpić tylko jeden komunikat. Numery porządkowe są zbędne kolejność przepływu komunikatów określa uporządkowanie wektorów przepływu komunikatów w pionie wzdłuż linii życia. Można stosować warunki strzegące i specyfikacje iteracji. Wektor odpowiedzi nie opisuje się jeśli istotna jest wartość zwrotna, to przy wektorze zapytania podaje się zaawansowaną sygnaturę komunikatu. Zamiast wektora odpowiedzi można zastosować zwykły wektor przepływu komunikatu. Skupienie sterowania (focus of control) reprezentuje czas, w którym obiekt jest w stanie przyjmować i nadawać komunikaty (czas aktywności).

Tworzenie i niszczenie obiektu Create() A

Równoległe wątki należące do jednego obiektu A

Rekurencja A

Dokładne określenie czasu {t2-t1<1 min} t1 t2 {t3 -t3<10 ms} t3 t3

Przykład diagramu sekwencji Gracz A Zarządca gry Gracz B Wykonaj ruch Podaj stan Stan gry Obliczenie ruchu Ruch Zmiana stanu Wykonaj ruch Podaj stan Stan gry Odrysowanie planszy

Literatura Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownika, WNT, Warszawa 2002 Dennis A., Haley Wixom B., Tegarden D.: System Analysis & Design. An Object-Oriented Approach with UML, John Wiley & Sons, Inc., USA 2001