Inżynieria Oprogramowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Inżynieria Oprogramowania"

Transkrypt

1 Inżynieria Oprogramowania Dynamika Systemu Maszyna stanowa Prowadzący: dr inż. Janusz Jabłoński

2 Podstawowe diagramy UML DiagramOpisuDynamiki DiagramPrzypadkówUżycia DiagramInterakcji DiagramCzynności DiagramMaszynyStanów DiagramSekwencji DiagramKomunikacji DiagramOpisuInterakcji DiagramNastępstwa

3 Specyfikacja stanów obiektu - Maszyna stanów Odseparowanie obiektu od reszty systemu (obiektów w systemie i poza nim) pozwala na dokładną analizę zachowań pojedyńczego obiektu i stanowi podstawę w konstruowaniu diagramów stanu, jednakże nie pozwala na zrozumienie działania systemu jako całości Obiekt, (z przypisanymi unikalnymi własnościami: tożsamość, stan i zachowanie) może znajdować się (przyjmować) w skończonej liczbie stanów, więc może być traktowany jako automat stanów, czyli pewną maszynę, która w danym momencie może przyjmować jeden z założonych (wyróżnionych) stanów i może oddziaływać na otoczenie (ale i vice-versa) i Wykorzystywane są w modelowaniu zachowania interfejsów, klas i kooperacji i Jeden diagram przedstawia zachowanie jednego obiektu (historia życia obiektu) Maszyna stanów przedstawia zachowanie jako sekwencję stanów będących reakcją obiektów na ciągi zdarzeń, z tego względu wykorzystywane są one przede wszystkim w projektowaniu systemów interakcyjnych (modelowanie zachowania systemów interaktywnych; zdarzenie - odpowiedź)

4 Diagram stanów Diagram stanów wykorzystywany jest do modelowania zachowania w perspektywie projektowej - obrazuje maszynę stanową, przyjmuje postać grafu złożonego ze stanów, czynności, zdarzeń i przejść pomiędzy stanami. Zwykle, maszyna stanu jest przypisana do klasy i specyfikuje reakcje wystąpień danej klasy na zdarzenia, przychodzące, tak więc może być wykorzystany w modelowaniu historiiżycia (opis wszystkich możliwych stanów i przejść) dla obiektów danej klasy Maszyna stanów może specyfikować przypadki użycia, operacji, kolaboracji w znaczeniu przepływu steowania wówczas, częściej wykorzystuje się inne diagramy, np. diagramy aktywności. Diagram stanów przedstawia maszynę stanową z uwypukleniem zachowania obiektu w zależności od kolejności zdarzeń, i Diagram czynności jest specyficznym rodzajem diagramu stanów i Diagram czynności obrazuje przepływ sterowania między czynnościami, a diagram stanów przepływ sterowania między stanami Diagramy dynamiki najlepiej sprawdzają się w procesie analizy działania mechanizmów sterujących, takich jak np, interfejsy użytkownika czy sterowniki urządzeń.

5 Stan obiektu (1) Fragment historiiżycia obiektu można charakteryzować na trzy uzupełniające się sposoby: ❶ jako zbiór wartości obiektu (atrybutów i powiązań) w pewnym aspekcie podobnych (rozważane jest tu podobieństwo jakościowe), ❷ jako okres czasu, w którym obiekt oczekuje na zdarzenie, ❸ jako okres czasu, w którym obiekt przetwarza informacje Stan obiektu chwilowy - trwający w czasie, zestaw wszystkich wartości atrybutów oraz aktualnych powiązań danego obiektu z innymi obiektami, zmianę aktualnego stanu na inny może spowodować zajście pewnego zdarzenia Stan to klatka lub migawka pojedyńczej sytuacji, w której znalazł się system informatyczny Możliwe jest wykorzystanie abstrakcji dla pewnych składników stanu, zlepiając wiele stanów w jeden Np. stanem obiektu PRACOWNIK jest zestaw atrybutów o wartościach: (NAZWISKO: Kowalski, IMIĘ: Adam, ZATRUDNIONY_W: Firma ) Liczebność stanów dla pojedynczego obiektu: Dla nazwisk oraz imion i firm, liczba stanów wynosi Wniosek: dla prostych obiektów liczba stanów może być bardzo duża. Liczebność stanów dla bazy danych?

6 Notacja Stan to okoliczność lub sytuacja w jakiej się obiekt znajduje w czasie swego życia, kiedy spełnia jakiś warunek, wypełnia jakąś czynność lub czeka na jakieś zdarzenie Bezczynność Czynności wewnętrzne Przejścia wewnętrzne Sekcja dekompozycji Czynność to wieloetapowe działanie wykonane na maszynie stanowej Akcja to wykonywalna niepodzielna procedura obliczeniowa prowadząca do zmiany stanu systemu lub do przekazania wartości Zdarzenie to specyfikacja zjawiska, które zachodzi w czasie i przestrzeni, w maszynie stanowej jest wystąpieniem bodźca, który może uruchomić przejście między stanami Test OK Przejście to związek między dwoma stanami, wskazujący, że obiekt znajdujący się w pierwszym stanie wykona pewne akcje i przejdzie do drugiego stanu, zawsze gdy zajdzie określone zdarzenie i będą spełnione określone warunki

7 Rodzaje stanów - notacja Notacja H include S S Rodzaj stanu prosty (simple) złożony sekwencyjny (sequential composite state) złożony współbieżny (concurrent composite state) początkowy (initial state) końcowy (final state) węzeł (junction state) historyczny (history state) odnośnik (submachine reference state) pniak (stub state) Opis stan nie posiadający pod struktury (hierarchi) złożony z jednego lub więcej podstanów, ale tylko jeden z nich jest aktywny, w czasie aktywności stanu złożonego rozdzielony na dwa lub więcej podstanów; wszystkie podstany są jednocześnie aktywne (współbierzne), gdy aktywny jest stan złożony (jako całość) pseudostan służący do oznaczenia punktu startowego pseudostan służący do oznaczenia punktu finalnego pseudostan służący do łączenia łańcucha przejść w jedno przejście pseudostan, którego aktywacja uaktywnia stan poprzednio aktywny (w ramach stanu złożonego) pseudostan, do którego występuje odwołanie na diagramie; podmieniany przez stan wyspecyfikowany w odwołaniu pseudostan, do którego występuje odwołanie na diagramie, wchodzący w skład innego, złożonego stanu

8 Najczęściej występujące rodzaje akcji - notacja Składnia przypisanie (assignment) wołanie (call) nowy (create) usuń (destroy) wyślij (send) zakończ (terminate) powrót (return) Rodzaj akcji zmienna := wyrażenie nazwa_op (arg, ) nowy nazwa_klasy (arg, ) usuń () nazwa_sygnału (arg, ) zakończ powrót wartość_zwracana Opis 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

9 Zdarzenia (1) Zdarzenia umożliwiają modelowanie wystąpień bodźców, które mogą uruchomić przejście między stanami w maszynie stanowej. Zdarzeniami mogą być sygnały, wywołania, upływ czasu i zmiana stanu Zdarzenie jest specyfikacją zjawiska umiejscowionego w czasie i przestrzeni Samo zdarzenie nie trwa w czasie, ale jego zaistnienie jest rejestrowane i trwa do momentu, gdy zdarzenie zostanie obsłużone - może być wpisane na listę zdarzeń oczekujących na obsługę Zdarzenie powiązane jest z dynamiką systemu Wszystko, co wywołuje pewne skutki w systemie może być modelowane jako zdarzenie Rozróżniane są zdarzenia: synchroniczne wywołania np. odlot samolotu z Warszawy i przylot tego samolotu do Paryża, asynchroniczne sygnał, upływ czasu, zmiana stanu Sygnał jest rodzajem zdarzenia reprezentującym asynchroniczny bodziec przekazywany między egzemplarzami Zdarzenia zewnętrzne - zachodzą między aktorami a systemem, natomiast Zdarzenia wewnętrzne - zachodzą między obiektami żyjącymi wewnątrz systemu

10 Typ zdarzenia Zdarzenia (2) Opis Składnia wołanie zmiana sygnał czas podstawowy rodzaj zdarzenia obiekt otrzymuje synchroniczneżądania wykonania operacji zdarzenie używane w modelowaniu zmian stanu obiektu po otrzymaniu odpowiedzi na wysłany przez siebie komunikat spełnienie warunku typu Boolean, np. when (x =10); użyteczny w modelowania zdarzeń przychodzących z zewnątrz systemu trzymanie przez obiekt asynchronicznegożądania wykonania operacji; bezwzględny lub względny upływ określonego czasu, np. after (5 msec.) op (a : T) when(wyrażenie) nazwa_syg (a : T) after (czas) Zdarzenie jest klasyfikatorem opisu pewnego zjawiska i jako taki może posiadać atrybuty, np. zdarzenie oprzylot_samolotu może mieć datę i godz. przyloty swoje atrybuty, jest to zapisywane: odlot samolotu(data, godz.) Obsługa zmian jest kosztowna obliczeniowo wymaga ciągłej ewaluacji warunku. Inną wadą tego typu zdarzeń jest też przesłonięcie związku typu przyczyna-skutek, czyli przesłonięcie tego, co wywołało spełnienie warunku - eksponowany jest tu jedynie sam warunek, dlatego zdarzenia typu zmiana powinny być wykorzystywane tylko wtedy, gdy inne sposoby wydają się nienaturalne.

11 Zdarzenia - przykład Deklaracja zdarzenia Bezczynność «signal» odwieszonosłuchawkę odwieszonosłuchawkę / przerij połączenie() Zdarzenie Aktywność i Rzeczy, które się dzieją modelowane są w UML jako zdarzenia uruchamiające przejścia między stanami i Notacja graficzna pozwala na deklarację zdarzenia (sygnał, odwieszonosłuchawkę)

12 Modelowanie obiektów reaktywnych Modelowanie zachowania obiektów reaktywnych obejmuje modelowanie jego historii życia od utworzenia do zniszczenia w szczególności jego stanów stabilnych Modelując zachowanie obiektu reaktywnego, określić należy trzy podstawowe elementy: stany stabilne, zdarzenia uruchamiające przejścia i akcje wykonywane przy każdej zmianie stanu nazwa stanu entry/akcja1/akcja2/ do/aktywność1/aktywność2/ exit/akcja1/akcja2/... Czynności wewnętrzne akcja - operacja, której nie można przerwać (atomowa) lista akcji - akcja1/akcja2/ - traktowana, jak pojedyncza operacja, aktywność - operacja, którą można przerwać, lista aktywności - podobnie, jak lista akcji, entry - słowo kluczowe specyfikujące operacje, zawsze wykonywane na wejściu do stanu (rodzaj setup u), exit - operacje zawsze wykonywane na wyjściu (rodzaj porządkowania po ), do - operacje wykonywane w trakcie. i Stan stabilny warunki w jakich znajduje się obiekt przez pewien (zauważalny) czas Dla modelowanego zachowania obiektu reaktywnego, można określić jego akcje przez skojarzenie ich z przejściami lub stanami i Maszyna (automat) Mealy ego wszystkie akcje związane z przejściami i Maszyna (automat) Moore a wszystkie akcje związane ze stanami W praktyce opracowywane diagramy stanowe są kombinacją maszyn Moore a i Mealy ego

13 Wytyczne modelowania obiektów reaktywnych Ustalenie otoczenia maszyny stanowej: klasa, przypadek użycia, cały system Pokaż stan początkowy i końcowy obiektu; warunki wstępne i końcowe Odnalezienie stanów stabilnych obiektu i ustalenie ich hierarchii (top-down) Ustal znaczący porządek częściowy stanów stabilnych w historii życia obiektu Wskaż zdarzenia, które mogą uruchamiać przejścia międzstanami Skojarz akcje z przejściami (automat Mealy ego) lub ze stanami (Moore a) Postaraj się uprościć maszyny stanów przez użycie podstanów, rozgałęzień, rozwidleń, scaleń i stanów wznowienia Sprawdź czy wszystkie stany są osiągalne pod wpływem pewnej kombinacji zdarzeń Sprawdź, czy nie ma stanów-pułapek, to znaczy takich których nigdy nie da się opuścić Zweryfikuj działanie zbudowanej maszyny stanowej, ręcznie lub automatycznie (dostępne narzędzia), porównując z pożądanym ciągiem zdarzeń i reakcji

14 Przejście (1) Przejście może być opisane przez: zdarzenie, które je wywołało (odpaliło), warunek oraz akcję (akcje), która jest wykonywana przed ewentualną zmianą stanu przejście wewnętrzne (internal transition) bez zmiany stanu stan zdarzenie [warunek] /akcja samo-przejście (selftransition) zdarzenie [warunek] /akcja zdarzenie [warunek] /akcja stan 1 stan 2 przejście zewnętrzne (external transition) [warunek] /akcja stan 1 stan 2 przejście automatyczne (completion transition) operacje wyspecyfikowane po słowach kluczowych entry, exit i do zostały ukończone samo-przejścia w przeciwieństwie do przejścia wewnętrznego, przy wychodzeniu ze stanu wykonywane są wszystkie akcje wyspecyfikowane po słowie kluczowym exit, podobnie - przy ponownym wchodzeniu do stanu - są wykonywane akcje wyspecyfikowane po słowie kluczowym entry.

15 przejścia zewnętrzne: Przykłady przejść Oczekiwanie otrzymanie zamówienia (suma)[suma < =100 zł] otrzymanie zamówienia (suma) [suma > 100 zł.] Przetwarzanie zamówienia kredyt zatwierdzony/ licz debet () Anulowanie zamówienia kredyt odrzucony Zatwierdzeniekredytu warunek występujący w specyfikacji przejścia różni się od warunku w zdarzeniu typu zmiana - jest ewaluowany tylko jeden raz. przejścia wewnętrzne: Wprowadzanie hasła entry/ ustaw echo na gwiazdkę/ haslo_zeruj() exit/ ustaw normalne echo znak/ obsłuż znak czyść/ haslo_zeruj() pomoc/ wyświetl pomoc Jedno zdarzenie może wyzwalać (stanowić tryger) więcej niż jednego przejście - wtedy wszystkie przejścia odpalane przez dane zdarzenie należy opatrzyć wzajemnie wykluczającymi się warunkami (w ramach jednego wątku sterowania). Jeśli nie przykryto wszystkich możliwości, zdarzenie zostanie zignorowane Warunek typu Boolean, występujący w specyfikacji przejścia, może dotyczyć zarówno atrybutów maszyny stanu, jak i argumentów zdarzenia, które odpaliło dane przejście. Warunek podlega oszacowaniu tylko raz, w momencie wystąpienia zdarzenia. Jeśli warunek przyjmie wartość TRUE - przejście będzie miało miejsce.

16 Stany złożone sekwencyjne; przykład (1) maszyna stanów dla obiektów klasy Samochód wybrano 1-szy bieg Jazda na 1-szym biegu naciśnięto hamulec Samochód zatrzymany poprzedni bieg następny bieg Naciśnięto hamulec wsteczny bieg Naciśnięto hamulec Jazda na 2-gim biegu Jazda na wstecznym Samochód w ruchu wybrano 1-szy bieg naciśnięto hamulec Samochód zatrzymany następny bieg wsteczny bieg Jazda na 1-szym biegu Jazda na 2-gim biegu Jazda na wstecznym poprzedni bieg zastosowanie generalizacji Jazda Jazda na 1-szym biegu wybrano 1-szy bieg poprzedni bieg następny bieg naciśnięto hamulec Samochód zatrzymany Jazda na 2-gim biegu Jazda na wstecznym wybrano wsteczny bieg Notacja stanu złożonego sekwencyjnego

17 Maszyna stanu dla automatu sprzedającego Stan spoczynku wrzucono monetę (wartość) / inicjuj bilans kasowanie / zwróć monety Zliczanie pieniędzy wrzucono monetę (wartość) /dodaj do bilansu [brak pozycji] przejście automatyczne wybór (pozycja) [reszta < 0] do/ wydaj pozycję do/ wydaj resztę [reszta = 0] [reszta > 0] do/sprawdź wybraną pozycję i oblicz resztę do/przesuń ramię do właściwego wiersza do/przesuń ramię do właściwej kolumny do/wypchnij pozycję

18 Stany złożone współbieżne Równoważne diagramy dla stanów złożonych składających się ze współbieżnych podstanów synchronizacja wewnętrzna Nietypowe ale możliwe wyjście ze stanu synchronizacja zewnętrzna Samochód Typowe wyjście ze stanu następuje gdy wszystkie podstany osiągnęły ich stan końcowy Zagregowane obiekty mają diagramy stanu - połączone tworzą diagram dla agregatu samochód (uwzględniający współbieżność operacji) Zapłon Bieg Hamulec Gaz Zapłon Wyłączony kluczyk max w prawo [Biegi w pozycji 0] kluczyk do poz wyłącz Zapala Włączony Biegi... Hamulec Wyłąćz hamulec naciśnięty hamulec puszczony Włącz. Gaz... Współbieżność ma źródło w trzech sytuacjach: ❶ obiekty mogą być zagregowane ❷ pewne operacje w ramach jednego obiektu można wykonywać współbieżnie ❸ obiekty mogą działać asynchronicznie

19 Współbieżność w jednym obiekcie oraz odwołanie do innych obiektów Obiekt może wykonywać współbieżnie dowolną liczbę akcji. 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 Oczekiwanie na polececenia polecenie Pomoc include Pomoc Pomoc polecenie Uruchom entry/ wyświetl ekran pomocy exit/ usuń ekran pomocy include Uruchom stany, do których występują odwołania na diagramie zapytanie/ pokaż odpowiedź

20 Przykłady diagramów Diagram typu: cyklżycia obiektu kupno urządzenia przez klienta Cyklżycia systemu H Przygotowanie Inicjowanie Urządzenie niesprzedane Urządzenie sprzedane Opracowanie Budowanie klient zwrócił urządzenie Programowanie after (data gwarancji) Diagram typu: przepływ sterowania Modelowanie Specyfikacja Analiza Przekazanie Instalacja Ruch białych when (mat) when (pat) czarne wygrywają Projektowanie Konfigurowanie ruch czarnych ruch białych when (pat) remis Ruch czarnych when (mat) białe wygrywają Ocena Wycofanie

21 zastosowania stanu typu pniak W X U V Y W X U V Y Zawartość stanu złożonego Jazda została ukryta. wybrano 1-szy bieg Jazda naciśnięto hamulec Samochód zatrzymany Jazda na wstecznym wybrano wsteczny bieg

22 Wywołania Sygnał reprezentuje nazwany obiekt, który jest asynchronicznie wysyłany (rzucany) przez jeden element, a odbierany (chwytany) przez inny Atrybuty sygnału służą jako jego parametry Dla wysyłanego sygnału Zderzenie można określić jego parametry, np. Zderzenie(5.3) Sygnał Parametr «signal» Zderzenie siła : Float «send» KierującyRuchem pozycja prędkość przejdźdo() Zależność send Sygnał może być wysyłany w wyniku przejścia w maszynie stanowej lub przekazania komunikatu w interakcji. Wykonana operacja także może wysyłać sygnały i Wyjątki to najczęściej występujący, w większości języków programowania, rodzaj sygnałów wewnętrznych pojawiających się w modelach i Wyjątki mają wiele wspólnych cech z klasami (mogą mieć egzemplarze, występować w uogólnieniach, mogą mieć atrybuty i operacje)

23 Wywołania W odróżnieniu od sygnału, reprezentującego zdarzenie asynchronicznie, wywołanie jest zazwyczaj reprezentacją zdarzenia synchronicznego Zdarzenie wywołania Sterowanie ręczne włączautomatycznegopilota(zwykły) Parametr Sterowanie automatyczne Na diagramie Zdarzenie wywołania i sygnałowe są nierozróżnialne Sygnał jest zazwyczaj obsługiwany przez maszynę stanową, a wywołanie - przez metodę i Nie ma symboli graficznych odróżniających sygnał od wywołania, rozróżnienie zapisane jest nieformalnie w modelu i Zarówno zdarzenie sygnałowe jak również wywołania może uruchomić przejście w maszynie stanowej ina podstawie deklaracji operacji odbiorca dokona rozróżnienia

24 Upływ czasu i zmiana stanu Upływ czasu reprezentowany jest przez zdarzenie czasowe, które modelowane jest za pomocą słowa klucz after i wyrażenia; prostego (np..after 20ms) lub złożonego (np. after 20ms since existing Bezczynność) Zdarzenie zmiany dotyczy zmiany stany lub spełnienia pewnego warunku, modeluje się je za pomocą słowa klucz when (np. when time 11:35 lub when pułap > 1000m ) Zdarzenie zmiany when(13:45) / autotest() Bezczynność Zdarzenie czasowe Zdarzenie zmiany modeluje ciągle badany warunek, jednakże można je zanalizować i wyznaczyć chwile, w których należy sprawdzać ten warunek after(2s) / przerwijpołączenie() Aktywność i after(2s) - Przyjęcie stanu bieżącego prze obiekt jest czasem początkowym i zdarzenie zmiany dotyczy zmiany stanu lub spełnienie pewnego warunku

25 Wysyłanie i odbieranie zdarzeń Każde zdarzenie sygnałowe i wywołania jest związane z co najmniej dwoma obiektami: wysyłającym sygnał lub wywołującym operacje oraz obiektem, dla którego sygnał lub wywołanie jest przeznaczone ZarządcaPanelu «signals» naciśniętoprzycisk(p : Przycisk) włączonozasilanie wyłączonozasilanie Klasa aktywna Sygnały rozsyłanie wysyłanie komunkatów do wielu obiektów rozgłaszanie wysyłanie komunikatów do wszystkich (obiekt reprezentujący podsystem) Sygnały są asynchroniczne, wywołania asynchroniczne są również sygnałami, więc znaczenie zdarzeń ma wiele wspólnego ze znaczeniem obiektów aktywnych i pasywnych i Każdy egzemplarz klasy może wywołać operację lub wysłać sygnał do innego obiektu i Wysłanie sygnału nie wstrzymuje czynności obiektu nadawcy, nie czeka na odzew odbiorcy i Aktor będący w interakcji z systemem może wysłać sygnał i nie czekając na odpowiedź systemu kontynuować inne swoje czynności

26 Generalizacja sygnałów Konkretny sygnał, z ustalonymi wartościami atrybutów jest wystąpieniem odpowiedniego klasyfikatora sygnał. «sygnał» zdarzenie czas sygnał abstrakcyjny Zdarzenia związane z akcjami użytkownika: «sygnał» użycie_urz_wejściowego urządzenie «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

27 Modelowanie rodziny sygnałów «signal» Zderzenie czujnik : Integer «signal» Sygnałrobota «signal» AwariaOsprzętu Przykłady zdarzeńtypu sygnał: - odlot samolotu ( linia lotnicza, nr lotu, miasto ) - naciśnięcie klawisza myszy ( klawisz, lokacja kursora ) - wprowadzenie ciągu znaków ( tekst ) - podniesienie słuchawki telefonu - wybranie cyfry numeru telefonu (cyfra) - wkroczenie obrotów silnika w niebezpieczną strefę «signal» AwariaNarządówRuchu «signal» WyładowanieAkumulatorów «signal» AwariaKamery «signal» AwariaStabilizatora «signal» ZatarcieSilnika i W systemach sterowanych zdarzeniami sygnały tworzą hierarchię i Można rozróżnić sygnały zewnętrzne i wewnętrzne i Wykorzystać uszczegółowienia i polimorfizm Modelując rodzinę sygnałów (zewnętrznych lub wewnętrznych): Rozważ rodzaje sygnałów, na które może reagować ustalony zbiór obiektów aktywnych Wyszukaj podobne rodzaje sygnałów i utwórz hierarchię W maszynach stanowych obiektów aktywnych, znajdź miejsca, w których można wykorzystać polimorfizm

28 Modelowanie wyjątków i W UML wyjątki są rodzajem sygnałów - stereotyp i Mogą być kojarzone ze specyfikacją operacji i Modelowanie wyjątków postrzegane jest jako przeciwieństwo modelowania sygnałów i Modelowana rodzina sygnałów dotyczy sygnałów odbieranych przez obiekt aktywny, natomiast wyjątki mogą być zgłaszane przez operacje obiektu «exception» Wyjątek ustalfunkcjęobsługi() pierwszafunkcja() ostatniafunkcja() Dodaj() Usuń() Zbiór Element «send» «exception» Duplikat «send» «exception» Przepełnienie «send» «exception» BrakElementu Modelując rodzinę sygnałów: Rozważ sytuacje wyjątkowe dla każdej klasy i jej operacji oraz wszystkich interfejsów Przedstaw hierarchię tych wyjątków od ogółu do szczegółu, jeśli potrzeba również pośrednie Określ wyjątki dla poszczególnych operacji

29 Rady i wskazówki Modelując wyjątki: Dla wszystkich klas, interfejsów oraz ich operacji rozważ sytuacje wyjątkowe Przedstaw hierarchię wyjątków, od ogółu do szczegółu (top-down), z wyjątkami Określ wyjątki dla poszczególnych operacji, jawnie za pomocą zależności send od operacji do jej wyjątków, lub w specyfikacji operacji Modelując zdarzenia: w oparciu o wspólne cechy sygnałów podobnych przedstaw ich hierarchię nie używaj wysyłania sygnałów w zastępstwie klasycznego przepływu sterowania sprawdź czy z każdym bytem otrzymującym sygnał skojarzono maszynę stanową upewnij się, że oprócz bytów reagujących na zdarzenia istnieją byty, które będą na zdarzenia odpowiadały Przedstawiając zdarzenia na diagramie UML przedstaw ich hierarchię, a fakt ich użycia ukryj w specyfikacji klasy lub operacji, powodujących te zdarzenia lub na nie odpowiadających

30 Maszyny stanowe Maszyny stanowe służą do modelowania zachowania jednego obiektu, natomiast interakcje do modelowania zachowania zestawu współpracujących obiektów. Maszyny stanowe służą do modelowania dynamicznych aspektów systemu uwzględniają historiężycia egzemplarzy klasy, przypadku użycia lub systemu egzemplarze reagują na sygnały, wywołania operacji i upływ czasu (zdarzenia) reakcją na zdarzenia są wykonywane czynności, które są zależne od bieżącego stanu obiektu (czynność wieloetapowe działanie wykonywane na maszynie stanowej) Stany obiektu są okolicznościami lub sytuacjami, w jakich obiekt znajduje się w czasie swego życia, gdy wykonuje jakąś czynność, gdy spełnia jakiś warunek, lub czeka na jakieś zdarzenie Maszyna stanowa określa ciąg stanów, przyjmowanych przez obiekt, które są odpowiedzią na zdarzenia zachodzące w czasie jego życia łącznie z reakcją obiektu na te zdarzenia

31 wprowadź(z) [z /= < ] / return false Przykład diagramu analizator składni Oczekiwanie wprowadź(z) [z /= > ] / znacznik.append(z); return false wprowadź(z)[z== < ] wprowadź(z)[z== ; ] / return true PobieranieZnacznika wprowadź(z)[z== > ] wprowadź(z) [z /= ; ] / treść.append(z); return false Pobieranie treści i jeśli nie zdefiniowano stanu końcowego to maszyna działa w nieskończoność

32 Przykład diagram stanów (2) Stan początkowy wyślijfaks Bezczynność dzwonek Przejście automatyczne Stan zagnieżdżony nagłówekok Łączenie Przetwarzanie odwieszonosłuchawkę Transmisja Zdarzenie Stan błąd / wydrukuj raport Akcja Porządkowanie entry / podnieśsłuchawkę exit / rozłącz sumakontrolnaok Akcja Zdarzenie Stan złożony i Diagram stanów modeluje zachowania obiektu w zależności od kolejności zdarzeń uwypuklając przepływ sterowania między stanami i Specyfikując system rozpocznij od stanów stabilnych (Bezczynność, Transmisja )

33 Maszyna stanowa - termostat Stan początkowy Stan końcowy Bezczynność Zdarzenie zazimno(oczekiwanatemp) zaciepło (OczekiwanaTemp) TempOK Grzanie Akcja Chłodzenie TempOK zaciepło (OczekiwanaTemp) Gotowe / pełnamoc() Rozpalanie Ogrzewanie Stan zagnieżdżony zazimno(oczekiwanatemp) i Maszyny stanowe na ogół określają dynamikę, klasy, przypadku użycia, systemu

34 Rady i wskazówki Pamiętaj, diagramy stanów są rzutami w modelu dynamiki systemu, na jednym diagramie można przedstawić zachowanie jednego obiektu reaktywnego, czyli nie można przedstawić wszystkich aspektów dynamiki systemu na jednym diagramie Uwypukla, jeden dynamiczny aspekt systemu Przedstawia tylko te byty, które są niezbędne do zrozumienia tego aspektu Uwzględnij szczegóły odpowiednie do przyjętego poziomu abstrakcji, z dodatkami, które są niezbędne do zrozumienia tego na czym Ci zleży Rysując diagram: nadaj mu nazwę, określającą jego przeznaczenie rozpocznij od modelowania stanów stabilnych, następnie modeluj dopuszczalne przejścia między stanami; później rozgałęzienia, współbieżność, przepływ obiektów; które mogą być przedstawione na innym diagramie układaj obiekty w sposób generujący minimalną liczbę przecinających się linii

35 KONIEC

Projektowanie systemów informacyjnych

Projektowanie systemów informacyjnych 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

Bardziej szczegółowo

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

NIFIED M L ODELLING ANGUAGE. Diagramy czynności U M L NIFIED ODELLING ANGUAGE Diagramy czynności 1 Czym jest diagram czynności? Jeden z pięciu rodzajów diagramów UML służących do modelowania dynamicznych aspektów systemu. Przedstawia przepływ sterowania

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 7 Przeglądowe diagramy interakcji Przeglądowe diagramy interakcji wiążą

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE. Wykład 3

TECHNOLOGIE OBIEKTOWE. Wykład 3 TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 4 Diagramy aktywności I Diagram aktywności (czynności) (ang. activity

Bardziej szczegółowo

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

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 czas Dynamiczne aspekty systemu Interakcja - zachowanie polegające na wymianie komunikatów między obiektami w pewnym (ustalonym) otoczeniu, w pewnym (ściśle określonym) celu Komunikat - specyfikacja łączności

Bardziej szczegółowo

Diagram maszyny stanowej - POJĘCIA

Diagram maszyny stanowej - POJĘCIA Diagram maszyny stanowej - POJĘCIA Stan : sytuacja w cyklu życia bytu (obiektu, PU, podsystemu, aktora, operacji itp), kiedy spełnia on pewne warunki, realizuje pewną czynność lub czeka na pewne zdarzenie.

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek TECHNOLOGIE OBIEKTOWE WYKŁAD 2 Anna Mroczek 2 Diagram czynności Czym jest diagram czynności? 3 Diagram czynności (tak jak to definiuje język UML), stanowi graficzną reprezentację przepływu kontroli. 4

Bardziej szczegółowo

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

MovementAgent. Wywołanie jest zazwyczaj zdarzeniem synchronicznym. Sygnał. position velocity Zdarzenia i sygnały Maszyny stanowe Zdarzenie jest specyfikacja zjawiska, które zachodzi w czasie i przestrzeni. W kontekście maszyny stanowej zdarzenie jest wystąpieniem bodźca, które może uruchomić przejście

Bardziej szczegółowo

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

Modelowanie aktywności. Jarosław Kuchta Programowanie Współbieżne Modelowanie aktywności Jarosław Kuchta Programowanie Współbieżne Pojęcia podstawowe (1/3) behawioryzm ogół zachowania obiektów, reakcje obiektów na zdarzenia. stan sytuacja w czasie życia obiektu, w którym

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

Podstawy języka UML2 w realnych projektach

Podstawy języka UML2 w realnych projektach Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 Opis: Adresaci Szkolenia: Szkolenie adresowane jest do osób, które chciałby poznać podstawy UML2. Przede wszystkim

Bardziej szczegółowo

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

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów

Bardziej szczegółowo

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

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz Zofia Kruczkiewicz Projektowanie oprogramowania

Bardziej szczegółowo

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

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Diagramy maszyn stanowych, wzorce projektowe 1. Modelowanie zachowania

Bardziej szczegółowo

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

Diagramy stanów i aktywności. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Diagramy stanów i aktywności Jarosław Kuchta Pojęcia podstawowe (1/3) behawioryzm ogół zachowania obiektów, reakcje obiektów na zdarzenia. stan sytuacja w czasie życia obiektu, w którym spełniony jest

Bardziej szczegółowo

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

koniec punkt zatrzymania przepływów sterowania na diagramie czynności Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy

Bardziej szczegółowo

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji Inżynieria oprogramowania Jarosław Kuchta Modelowanie interakcji Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja

Bardziej szczegółowo

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

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

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. 45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć

Bardziej szczegółowo

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

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

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

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

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

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Asynchroniczne statyczne układy sekwencyjne

Asynchroniczne statyczne układy sekwencyjne Asynchroniczne statyczne układy sekwencyjne Układem sekwencyjnym nazywany jest układ przełączający, posiadający przynajmniej jeden taki stan wejścia, któremu odpowiadają, zależnie od sygnałów wejściowych

Bardziej szczegółowo

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

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania.

Bardziej szczegółowo

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

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI DIAGRAMY INTERAKCJI DIAGRAMY STEROWANIA INTERAKCJĄ Diagramy sterowania interakcją dokumentują logiczne związki między fragmentami interakcji. Podstawowe kategorie pojęciowe diagramów sterowania interakcją

Bardziej szczegółowo

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej Wiele opracowanych metod w połowie lat 90-tych Metoda

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

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

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus Wprowadzenie: W procesie definiowania wymagań dla systemu tworzyliśmy Model Przypadków

Bardziej szczegółowo

miejsca przejścia, łuki i żetony

miejsca przejścia, łuki i żetony Sieci Petriego Sieć Petriego Formalny model procesów umożliwiający ich weryfikację Główne konstruktory: miejsca, przejścia, łuki i żetony Opis graficzny i matematyczny Formalna semantyka umożliwia pogłębioną

Bardziej szczegółowo

UML. dr inż. Marcin Pietroo

UML. dr inż. Marcin Pietroo dr inż. Marcin Pietroo Pojęcia obiektowości obiekt klasa komunikat hermetyzacja polimorfizm dziedziczenie graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych

Bardziej szczegółowo

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

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji. Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji. Wymiar pionowy: oś czasu przedstawiajaca ułożone chronologicznie komunikaty Podstawowe notacje graficzne Konceptualny

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Sieci Petriego. Sieć Petriego

Sieci Petriego. Sieć Petriego Sieci Petriego Sieć Petriego Formalny model procesów umożliwiający ich weryfikację Główne konstruktory: miejsca, przejścia, łuki i żetony Opis graficzny i matematyczny Formalna semantyka umożliwia pogłębioną

Bardziej szczegółowo

Diagramy czynności. sekwencyjnych i współbieŝnych. pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów

Diagramy czynności. sekwencyjnych i współbieŝnych. pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów Diagramy czynności Graficzne przedstawienie sekwencyjnych i współbieŝnych przepływów sterowania oraz danych pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów Zastosowanie w modelowaniu scenariuszy

Bardziej szczegółowo

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

UML cz. III. UML cz. III 1/36 UML cz. III UML cz. III 1/36 UML cz. III 2/36 Diagram współpracy Diagramy współpracy: prezentują obiekty współdziałające ze sobą opisują rolę obiektów w scenariuszu mogą prezentować wzorce projektowe UML

Bardziej szczegółowo

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

LABORATORIUM 4. Po co mi to, przecież wiem, co system ma robić? - czyli o diagramach UML. DIAGRAM CZYNNOŚCI (Activity Diagram) LABORATORIUM 4. Po co mi to, przecież wiem, co system ma robić? - czyli o diagramach UML 1. Słownik pojęć DIAGRAM CZYNNOŚCI (Activity Diagram) Czynność specyfikacja sparametryzowanych zachowań (akcje,

Bardziej szczegółowo

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

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Zofia Kruczkiewicz Wyklad_INP002017_4 1 Diagramy czynności I. Diagramy czynności UML II. Przykład diagramów

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony Ustawienia ogólne Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony Panel główny programu System Sensor (tylko dla wersja V2, V3, V4) Panel główny programu System

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika

Bardziej szczegółowo

Specyfikowanie wymagań przypadki użycia

Specyfikowanie wymagań przypadki użycia Specyfikowanie wymagań przypadki użycia Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych

Bardziej szczegółowo

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów) Projektowanie obiektowe Wzorce projektowe Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów) 1 Roadmap Adapter Bridge Composite Facade 2 Pojęcia obiekt interfejs typ klasa 3 Co to jest delegacja?

Bardziej szczegółowo

Diagramy przypadków użycia

Diagramy przypadków użycia Instytut Informatyki Uniwersytetu Śląskiego 10 października 2010 Spis treści 1 Wprowadzenie do UML 2 3 4 5 6 Diagramy UML Język UML definiuje następujący zestaw diagramów: diagram przypadków użycia - służy

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

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

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Zofia Kruczkiewicz Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 1 Diagramy czynności- tworzenie modelu przypadków 1. Diagramy czynności

Bardziej szczegółowo

Podstawy języka UML2 w realnych projektach

Podstawy języka UML2 w realnych projektach Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 W cenie szkolenia uczestnik otrzymuje licencję na oprogramowanie Enterprise Architect, najlepsze narzędzie do modelowania

Bardziej szczegółowo

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

MASZYNA STANOWA. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Techniki modelowania programowania. MASZYNA STANOWA Maciej Patan Motywacje Modelowanie stanów: Wyspecjalizowany typ modelowania behawioralnego, przeznaczony do projektowania cyklu życia elementów. Stan jako określona kondycja lub sytuacja

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Podstawy inżynierii oprogramowania

Podstawy inżynierii oprogramowania Podstawy inżynierii oprogramowania Modelowanie. Podstawy notacji UML Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest UML? Wybrane

Bardziej szczegółowo

Diagramy czynności. Widok logiczny. Widok fizyczny

Diagramy czynności. Widok logiczny. Widok fizyczny Diagramy czynności System widoków 4+1 Kruchtena Widok logiczny Widok fizyczny Widok procesu Widok przypadków użycia Widok konstrukcji Diagramy czynności są jedynym diagramem w widoku procesu modelowanego

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

Modelowanie obiektowe - Ćw. 6.

Modelowanie obiektowe - Ćw. 6. 1 Modelowanie obiektowe - Ćw. 6. Treść zajęć: Dokumentacja przypadków użycia diagramy czynności. Poznane wcześniej diagramy przypadków użycia pokazują co system powinien robić. Natomiast diagramy czynności

Bardziej szczegółowo

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

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

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

Inżynieria Oprogramowania DIAGRAMY CZYNNOŚCI (AKTYWNOŚCI) Inżynieria Oprogramowania DIAGRAMY CZYNNOŚCI (AKTYWNOŚCI) Po co mi to, przecież wiem, co system ma robić? Diagram czynności (aktywności) pozwala na zobrazowanie wewnętrznych stanów w jakim może znajdować

Bardziej szczegółowo

Użycie Visual Basic for Applications ("VBA")

Użycie Visual Basic for Applications (VBA) Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".

Bardziej szczegółowo

Michał Adamczyk. Język UML

Michał Adamczyk. Język UML Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy

Bardziej szczegółowo

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne WARUNKI WARUNKI I I ZDARZENIA ZDARZENIA Określają czy pewna zależność logiczna związana ze stanem systemu jest w danej chwili spełniona lub czy zaszło w systemie określone zdarzenie. STAN SYSTEMU: stan

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury

Bardziej szczegółowo

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

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine) Maszyna stanów (State Machine) Automaty stanów są jednymi z podstawowych konstrukcji, jakie programiści NI LabVIEW używają do szybkiego pisania aplikacji. Programiści używają NI LabVIEW w aplikacjach,

Bardziej szczegółowo

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Inżynieria oprogramowania Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Punkt widzenia (Point of View) Systemy oprogramowania mają zwykle kilku różnych użytkowników. Wielu

Bardziej szczegółowo

Diagramy sekwencji. wymienianych między nimi

Diagramy sekwencji. wymienianych między nimi Diagramy sekwencji Graficzne przedstawienie interakcji pomiędzy instancjami klasyfikatorów systemu w postaci sekwencji komunikatów wymienianych między nimi Przykład diagramu sekwencji Układ diagramu wymiar

Bardziej szczegółowo

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE Klawisze skrótów: F7 wywołanie zapytania (% - zastępuje wiele znaków _ - zastępuje jeden znak F8 wyszukanie według podanych kryteriów (system rozróżnia małe i wielkie litery) F9 wywołanie

Bardziej szczegółowo

Rozszerzenia sieci Petriego

Rozszerzenia sieci Petriego Rozszerzenia sieci Petriego Ograniczenia klasycznej sieci Petriego Trudność w modelowaniu specyficznych przepływów: testowania braku żetonów w danym miejscu, blokowania odpalania, itp. Brak determinizmu

Bardziej szczegółowo

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń) Carl Adam Petri (1926-2010) Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń) Problemy statyczne Kommunikation mit Automaten praca doktorska (1962) opis procesów współbieżnych

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture 45 min Ergonomia pracy umysłowej prof. dr hab. inż. Marcin Sikorski Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture 7 Data wykładu:............. Razem slajdów: 23 Sytuacja problemowa

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1 Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Zaawansowane programowanie obiektowe - wykład 5

Zaawansowane programowanie obiektowe - wykład 5 Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch

Bardziej szczegółowo

Modelowanie obiektowe

Modelowanie obiektowe Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle

Bardziej szczegółowo

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

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania

Bardziej szczegółowo

Świat rzeczywisty i jego model

Świat rzeczywisty i jego model 2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie 3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu),

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.

Bardziej szczegółowo

Systemy Czasu Rzeczywistego. dr inż. Piotr Szwed C3, pok

Systemy Czasu Rzeczywistego. dr inż. Piotr Szwed C3, pok Systemy Czasu Rzeczywistego dr inż. Piotr Szwed C3, pok. 212 e-mail: pszwed@ia.agh.edu.pl http://pszwed.ia.agh.edu.pl Cele przedmiotu Podczas laboratorium zrealizowany zostanie projekt symulujący działanie

Bardziej szczegółowo

Rozszerzenia sieci Petriego

Rozszerzenia sieci Petriego Rozszerzenia sieci Petriego Ograniczenia klasycznej sieci Petriego Trudność w modelowaniu specyficznych przepływów: testowania braku żetonów w danym miejscu, blokowania odpalania, itp. Brak determinizmu

Bardziej szczegółowo

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access MAKRA I PRZYCISKI Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Faza analizy (modelowania) Faza projektowania

Faza analizy (modelowania) Faza projektowania Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań

Bardziej szczegółowo

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

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

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

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens

Bardziej szczegółowo

learningpanel - logowanie

learningpanel - logowanie Logowanie W tym rozdziale znajdziesz informacje jak dodać do lekcji mechanizm obsługujący procedurę rejestracji nowych użytkowników i ich logowania w lekcji lp. Logowanie umożliwia: - ograniczenie dostępu

Bardziej szczegółowo

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA Przygotował: mgr inż. Radosław Adamus Wprowadzenie Podstawą każdego projektu, którego celem jest budowa oprogramowania są wymagania, czyli warunki,

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

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

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2) Analiza i projektowanie obiektowe 2016/2017 Wykład 8: Przypisywanie obiektom odpowiedzialności (2) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe

Bardziej szczegółowo

Modelowanie i analiza systemów informatycznych Spis treści

Modelowanie i analiza systemów informatycznych Spis treści Modelowanie i analiza systemów informatycznych Spis treści Modelowanie i analiza systemów informatycznych...1 Ćwiczenia 1...2 Wiadomości podstawowe:...2 Ćwiczenia...8 Ćwiczenia 1 Wiadomości podstawowe:

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

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

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo