Projektowanie systemów informacyjnych



Podobne dokumenty
Język UML w modelowaniu systemów informatycznych

Inżynieria Oprogramowania

Podstawy języka UML2 w realnych projektach

Inżynieria oprogramowania

Diagram maszyny stanowej - POJĘCIA

Podstawy języka UML2 w realnych projektach

Język UML w modelowaniu systemów informatycznych

Diagramy czynności Na podstawie UML 2.0 Tutorial

TECHNOLOGIE OBIEKTOWE. Wykład 3

MovementAgent. Wywołanie jest zazwyczaj zdarzeniem synchronicznym. Sygnał. position velocity

MAS dr. Inż. Mariusz Trzaska. Diagramy aktywności

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

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

Podstawy programowania III WYKŁAD 4

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

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

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

Diagramy czynności. Widok logiczny. Widok fizyczny

LABORATORIUM 4. Po co mi to, przecież wiem, co system ma robić? - czyli o diagramach UML. DIAGRAM CZYNNOŚCI (Activity Diagram)

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

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

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

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

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

UML w Visual Studio. Michał Ciećwierz

Enterprise Architect - narzędzie do modelowania

Podstawy modelowania w j zyku UML

Laboratorium z zarządzania procesami biznesowymi

UML. dr inż. Marcin Pietroo

Szkolenie jest również doskonałe dla programistów i testerów, którzy mają nadzieję na awans w kierunku analityka.

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

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

Wstęp do programowania 2

Podstawy projektowania systemów komputerowych

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

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

MASZYNA STANOWA. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Techniki modelowania programowania.

1 Projektowanie systemu informatycznego

Język UML w modelowaniu systemów informatycznych

Paweł Kurzawa, Delfina Kongo

Opis. Liczba godzin zajęć dydaktycznych z

Modelowanie i analiza systemów informatycznych

W cenie szkolenia uczestnik otrzymuje licencję na oprogramowanie Enterprise Architect, najlepsze narzędzie do modelowania za pomocą UML.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

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

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

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

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

Asynchroniczne statyczne układy sekwencyjne

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Laboratorium przedmiotu Technika Cyfrowa

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

Inżynieria Oprogramowania DIAGRAMY CZYNNOŚCI (AKTYWNOŚCI)

Język UML w modelowaniu systemów informatycznych

miejsca przejścia, łuki i żetony

Modelowanie obiektowe - Ćw. 6.

Diagramy klas. dr Jarosław Skaruz

Sieci Petriego. Sieć Petriego

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

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

Programowanie obiektowe

Przetwarzanie rozproszone

Proces rozproszony. Plan wykładu. Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński. Proces rozproszony. Zbiór stanów globalnych (1)

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

5. Model komunikujących się procesów, komunikaty

Unified Modeling Language (UML)

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Modelowanie i analiza systemów informatycznych.

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

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Modelowanie danych, projektowanie systemu informatycznego

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Systemy Czasu Rzeczywistego (SCR)

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Maszyna stanu State Machine

learningpanel - logowanie

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

Programowanie obiektowe

Automat skończony FSM Finite State Machine

4. Procesy pojęcia podstawowe

Inżynieria oprogramowania II

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

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

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

Sterowniki Programowalne (SP)

Modelowanie procesów współbieżnych

MODELOWANIE OBIEKTOWE

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

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

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Rozszerzenia sieci Petriego

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Instrukcja użytkownika Platforma Walutowa

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Transkrypt:

Projektowanie systemów informacyjnych E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 1 Wykład 10 Model dynamiczny (2) Diagramy stanów Ewa Stemposz Instytut Podstaw Informatyki PAN, Warszawa Zmodyfikowane przez Grzegorz Wierzowiecki na potrzeby zajęć do przedmiotu PRI na PJWSTK Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 2 Maszyna stanowa Obiekt, w świetle swoich własności (unikalna tożsamość, stan i zachowanie) może być traktowany jako automat o skończonej liczbie stanów, czyli jako maszyna, która może znajdować się w danym momencie w jednym z wyróżnionych stanów, a także może oddziaływać na otoczenie i vice-versa. Maszyna stanowa jest grafem skierowanym, reprezentowanym za pomocą notacji diagramów stanów. Wierzchołki grafu stanowią stany obiektu, a łuki opisują przejścia między stanami. Przejście między stanami jest odpowiedzią na zdarzenie. Często, maszyna stanów jest przypisana do jednej klasy i specyfikuje reakcje obiektów tej klasy na zdarzenia, które do nich przychodzą (najczęściej są to komunikaty), stanowiąc w ten sposób model historii życia obiektów klasy (opis wszystkich możliwych stanów i przejść). Ten rodzaj maszyny stanów, nazywa się protokołową maszyną stanową. Z kolei, maszyna stanowa zachowania dotyczy zmian stanów nie jednego lecz wielu obiektów w aspekcie pewnego fragmentu zachowania systemu. Stan 2 Stan 1 Stan 3 Stan n

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 3 Diagramy stanów Stan obiektu (2) sm state machine sm Nazwa diagramu Sekcja nazwy Sekcja operacji wewnętrznych Sekcja zdarzeń wewnętrznych Sekcja dekompozycji maszyna stanowa zachowania protokołowa maszyna stanowa sm Nazwa diagramu {protocol} Nazwa stanu pokazuje strukturę wewnętrzną stanu złożonego (stany, regiony, przejścia, itd.) entry/akcja1/akcja2/ do/aktywność1/aktywność2/ exit/akcja1/akcja2/... Nazwa stanu

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 4 Sekcje stanu (2); stan złożony Stan z dwiema sekcjami: nazwy i zdarzeń wewnętrznych: Zliczanie pieniędzy wrzucono monetę (wartość) /dodaj do bilansu Stan złożony z ukrytą strukturą wewnętrzną: Nazwa stanu złożonego

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 5 Rodzaje zdarzeń Rodzaj zdarzenia wołanie (ang. call event) zmiana (ang. change event) sygnał (ang. signal) czas (ang. time event) Opis otrzymanie przez obiekt synchronicznego żądania wykonania operacji najbardziej podstawowy rodzaj zdarzenia spełnienie warunku typu Boolean, np. when (x =10); zdarzenie typu zmiana jest użyteczne np. do modelowania sytuacji, gdy obiekt zmienia stan po otrzymaniu odpowiedzi na wysłany przez siebie komunikat otrzymania przez obiekt asynchronicznego żądania wykonania operacji; użyteczne do modelowania zdarzeń przychodzących z zewnętrza systemu upłynięcie czasu określonego w sposób bezwzględny lub względny, np. after (5 sec.) lub after (1 miesiąc od dnia 1.01.2000) Składnia op (a : T) when (wyrażenie) nazwa_syg (a : T) after (czas)

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 6 Generalizacja sygnałów Konkretny sygnał, z ustalonymi wartościami atrybutów jest wystąpieniem odpowiedniego klasyfikatora sygnał. «sygnał» zdarzenie Zdarzenia czas związane z akcjami użytkownika: «sygnał» użycie_urz_wejściowego urządzenie sygnał abstrakcyjny «sygnał» klik_klawisza_myszy lokalizacja «sygnał» naciśnięcie_klawisza_klawiatury kod_znaku «sygnał» naciśnięcie_klawisza_myszy «sygnał» sterujący «sygnał» znakowy sygnały konkretne «sygnał» puszczenie_klawisza_myszy «sygnał» spacja «sygnał» alfanumeryczny «sygnał» interpunkcyjny

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 7 Przejście (1) Przejście: opisywane przez zdarzenie, które je wywołało, warunek oraz akcję (akcje), która jest wykonywana przed ewentualną zmianą stanu. przejście zewnętrzne (ang. external transition) przejście wewnętrzne (ang. internal transition) bez zmiany stanu samo-przejście (ang. selftransition) zdarzenie [warunek] /akcja Stan 1 Stan 2 zdarzenie [warunek] /akcja Stan przejście zdarzenie [warunek] /akcja przejście automatyczne (completion transition) [warunek] /akcja Stan 1 Stan 2

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 8 Przykłady przejść przejścia zewnętrzne: Oczekiwanie otrzymanie zamówienia (suma) [suma < =100 zł.] Przetwarzanie zamówienia otrzymanie zamówienia (suma) [suma > 100 zł.] Zatwierdzenie kredytu kredyt zatwierdzony/ licz debet () kredyt odrzucony Anulowanie zamówienia Wprowadzanie hasła entry/ ustaw echo na gwiazdkę/ haslo_zeruj() exit/ ustaw normalne echo przejścia wewnętrzne: znak/ obsłuż znak czyść/ haslo_zeruj() pomoc/ wyświetl pomoc

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 9 Przykładowe rodzaje akcji Rodzaj akcji Opis Składnia przypisanie (ang. assignment) wołanie (ang. call) nowy (ang. create) usuń (ang. destroy) wyślij (ang. send) zakończ (ang. terminate) powrót (ang. return) przypisanie wartości do zmiennej wywołanie operacji na obiekcie; czeka się na zakończenie operacji; może być zwracana wartość utworzenie nowego obiektu usunięcie obiektu utworzenie wystąpienia sygnału i wysłanie do obiektu (ów) samodestrukcja obiektu specyfikuje instrukcję powrotu zmienna := wyrażenie nazwa_op (arg, ) create nazwa_klasy (arg, ) destroy () nazwa_sygnału (arg, ) terminate return wartość_zwracana

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 10 Rodzaje wierzchołków w maszynie stanów (1) Rodzaj wierzchołka Opis Notacja stan prosty (ang. simple state) stan złożony sekwencyjny (ang. sequential composite state) stan złożony współbieżny (ang. concurrent composite state) stan początkowy (ang. initial state) stan końcowy (ang. final state) stan nie posiadający substruktury stan złożony z jednego lub więcej podstanów, z których tylko jeden jest aktywny, gdy aktywny jest stan złożony stan podzielony na co najmniej dwa ortogonalne regiony, które są jednocześnie aktywne, gdy aktywny jest stan złożony (jako całość) pseudostan służący do oznaczenia punktu startowego maszyny stanowej pseudostan służący do oznaczenia punktu finalnego maszyny stanowej

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 11 Rodzaje wierzchołków w maszynie stanów (2) Rodzaj wierzchołka Opis Notacja decyzja (ang. decision node) złączenie (ang. merge node) rozwidlenie (ang. fork node) scalenie (ang. join node) węzeł (ang. junction) rozdziela jedno przejście na kilka alternatywnych opatrzonych warunkami złącza kilka przejść alternatywnych w jedno przejście rozdziela jedno przejście na kilka przejść współbieżnych złącza kilka przejść współbieżnych w jedno przejście złącza kilka przejść we i rozdziela je na kilka przejść wy; szczególnymi rodzajami węzła są wierzchołki powyżej

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 12 Rodzaje wierzchołków w maszynie stanów (3) Rodzaj wierzchołka punkt wejścia (ang. entry point) Opis wykorzystywany do oznaczenia przejścia ze stanu do jego podstanu i umieszczany na granicy stanu; może być nazwany i/lub zaznaczony w obszarze podstanu Notacja alternatywna notacja dla punktu wejścia (via nazwa punktu we) punkt wyjścia (ang. exit point) wykorzystywany do oznaczenia przejścia ze stanu do jego nadstanu i umieszczany na granicy stanu; może być nazwany i/lub zaznaczony w obszarze podstanu alternatywna notacja dla punktu wyjścia (via nazwa punktu wy)

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 13 Rodzaje wierzchołków w maszynie stanów (4) Rodzaj wierzchołka Opis Notacja zniszczenie (ang. termination) wierzchołek maszyny stanów, w którym następuje zniszczenie obiektu płytkie wznowienie (ang. shallow history) wskazuje na ostatni podstan, w ramach stanu złożonego, który był aktywny przed ponowną aktywacją stanu złożonego (bez przechowywania informacji o podstanach danego podstanu); stan złożony może mieć tylko jeden wierzchołek tego typu; co najwyżej jedno przejście może łączyć wierzchołek typu płytkie wznowienie z wierzchołkiem domyślnym jest to wykorzystywane w sytuacji, gdy stan złożony nie był ani razu uaktywniany przed wznowieniem H

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 14 Rodzaje wierzchołków w maszynie stanów (5) Rodzaj wierzchołka Opis Notacja głębokie wznowienie (ang. deep history) odbiór sygnału (ang. signal receipt) podobnie, jak dla płytkiego wznowienia ale łącznie z przechowaniem informacji o podstanach aktywnego ostatnio podstanu wierzchołek związany z odbiorem sygnału; sygnał może posiadać parametry H* sygnał nadawanie sygnału (ang. signal sending) wierzchołek związany z nadawaniem sygnału; jak poprzednio, sygnał może posiadać parametry sygnał akcja (ang. action) wykorzystywany dla reprezentowania akcji; o ile na diagramie występuje wierzchołek związany z odbiorem sygnału, wierzchołek akcja musi następować po nim Rejestruj datę

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 15 Przykłady diagramów Diagram typu: protokołowa maszyna stanowa Urządzenie niesprzedane kupno urządzenia przez klienta (klient) Urządzenie sprzedane zwrot urządzenia przez klienta (klient) after (data gwarancji) Diagram typu: maszyna stanowa zachowania Kolejka białych when (szach mat) when (pat) czarne wygrywają ruch czarnych ruch białych when (pat) remis Kolejka czarnych when (szach mat) białe wygrywają

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 16 Stan złożony sekwencyjny Stan prosty nie posiada substruktury, jest specyfikowany przez zbiór operacji (akcji, aktywności) oraz przejść. Stan złożony może być zdekomponowany na stany bardziej proste; dekompozycja może być traktowana jako rodzaj specjalizacji. Każdy z podstanów dziedziczy przejścia nadstanu. Tylko jeden z podstanów może być aktywny w danym momencie. Generalizacja stanów jest formą zagnieżdżania stanów. zd2 S zd1 zd2 S zd1 zd4 S1 zd5 S1 S2 S3 zd3 S2 zd5 S3 zd4 we-3 zd4 zd4 zd3 we-3 wcześniejsze prace Rumbaugha UML 2.0

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 17 Stan złożony współbieżny Innym rodzajem stanów złożonych są stany składające się ze współbieżnych podstanów. synchronizacja wewnętrzna Takie wyjście ze stanu też jest możliwe (sytuacja nietypowa). synchronizacja zewnętrzna Oba diagramy są równoważne. Sytuacja typowa: wyjście ze stanu następuje wtedy, gdy we wszystkich współbieżnych podstanach zostanie osiągnięty stan końcowy.

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 18 Współbieżność obiekty zagregowane Współbieżność ma źródło w trzech sytuacjach: (1) obiekty mogą być zagregowane, (2) pewne operacje w ramach jednego obiektu można wykonywać współbieżnie, a także (3) obiekty mogą działać asynchronicznie. Samochód Hamulec hamulec naciśnięty Zapłon Bieg Hamulec Gaz Wył. hamulec puszczony Włącz. Wył. Zapłon kluczyk max w prawo [Biegi w pozycji 0] Zapala kluczyk do poz. Wył. Włącz. Każdy obiekt wchodzący w skład agregatu posiada tu własny diagram stanów. Można je łączyć, tworząc diagram dla agregatu samochód (wspólny diagram będzie uwzględniał współbieżność operacji).

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 19 Współbieżność w ramach jednego obiektu Obiekt może wykonywać współbieżnie dowolną liczbę akcji. Protokołowa maszyna stanowa dla automatu do wypłacania pieniędzy Wypłata Gotowy do działania do/wydaj gotówkę do/oddaj kartę Podział na współbieżne procesy Synchronizacja: wszystkie współbieżne procesy muszą się zakończyć, aby automat był ponownie gotowy do działania

E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 20 Przykładowy graf z sygnałami Zgłoszenie na kurs Rejestruj zgłoszenie Potwierdzenie zgłoszenia