Inżynieria Oprogramowania
|
|
- Jerzy Nowak
- 8 lat temu
- Przeglądów:
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 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ółowoNIFIED 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ółowoJę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ółowoTECHNOLOGIE 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ółowoJę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ółowoZnaleziony - 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ółowoDiagram 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ółowoInż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ółowoDiagramy 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ółowoTECHNOLOGIE 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ółowoMovementAgent. 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ółowoModelowanie 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ółowoPodstawy 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ółowoWstę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ółowoPodstawy 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ółowoDiagramy 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ółowoDiagramy 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ółowoDiagramy 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ółowoDiagramy 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ółowokoniec 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ółowoInż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ółowoAnaliza 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ółowoZagadnienia (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ółowoUML (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ółowoKomputerowe 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ółowoSpis 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ółowo5. 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ółowoAsynchroniczne 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ółowoDiagramy 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
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ółowoUnified 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ółowoArchitektura 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ółowoKATEDRA 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ółowomiejsca 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ółowoUML. 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ółowoWymiar 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ółowoProjektowanie 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ółowoSieci 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ółowoDiagramy 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ółowoUML 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ółowoLABORATORIUM 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ółowoModel 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ółowoPaweł 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ółowoUstawienia 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ółowoOracle 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ółowoSpecyfikowanie 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ółowoProjektowanie 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ółowoDiagramy 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ółowoDiagramy 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ółowoDiagramy 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ółowoPodstawy 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ółowoMASZYNA 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ółowoMechanizmy 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ółowoPodstawy 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ółowoDiagramy 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ółowoWprowadzenie 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ółowoModelowanie 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ółowoModelowanie 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ółowoInż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ółowoUż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ółowoMichał 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ółowoStan/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ółowoprocesó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ółowoDiagramu 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ółowoRobert 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ółowoInż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ółowoDiagramy 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ółowoOBIEKTY 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ółowoRozszerzenia 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ółowoNajkró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ółowoDiagramy 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ółowoAnaliza 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ółowoWspół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ółowoWprowadzenie. 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ółowoProgramowanie 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ółowoMateriał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ółowo4. 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ółowoZaawansowane 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ółowoModelowanie 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ółowo12) 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
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ółowoProjektowanie 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ółowoSystemy 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ółowoRozszerzenia 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ółowoBAZY 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ółowoFaza 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ółowoTutorial 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ółowoZARZĄ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ółowolearningpanel - 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ółowoDECLARE <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ółowoAnaliza 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ółowoKATEDRA 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ółowoDefinicje. 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ółowoAnaliza 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ółowoPlan. 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ółowoProjektowanie 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ółowoModelowanie 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ółowo4. 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ółowoKurs 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