INŻYNIERIA OROGRAMOWANIA DIAGRAMY SEKWENCJI 2015/2016

Podobne dokumenty
Wykład 4 Wybrane zagadnienia programowania w C++

Projektowanie systemów informacyjnych: język UML

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Załącznik nr 2 Testy logiczne służące sprawdzeniu jakości danych uczestników projektów współfinansowanych z EFS

Ćwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie

GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH

Język UML w modelowaniu systemów informatycznych

Architektura Systemów Komputerowych. Sterowanie programem skoki Przerwania

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Budowa domu w granicy działki

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Harmonogramowanie projektów Zarządzanie czasem

Podejmowanie decyzji. Piotr Wachowiak

REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne

PERSON Kraków

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

CitiDirect Online Banking. Powiadomienia

Informacja Trackingowa

Moduł Pulpit opcji oraz Narzędzia. Opis v 1.0

Instrukcja UŜytkownika HaloŚląski - serwisu telefonicznego dla klientów korporacyjnych

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Program Google AdSense w Smaker.pl

Podstawy modelowania w j zyku UML

Analiza systemowa. Andrzej Łachwa Bazy danych 12+/15

PROCEDURA EWALUACJI WEWNĘTRZNEJ W SZKOLE PODSTAWOWEJ IM. JANA PAWŁA II W GRZĘDZICACH

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

PORADNIK DLA CZŁONKA WSPÓLNOTY MIESZKANIOWEJ

Bezpośredni adres do polskiej prostej wyszukiwarki:

Regulamin. Rady Nadzorczej Spółdzielni Mieszkaniowej "Doły -Marysińska" w Łodzi

Na podstawie art.4 ust.1 i art.20 lit. l) Statutu Walne Zebranie Stowarzyszenia uchwala niniejszy Regulamin Zarządu.

UCHWAŁA NR XVII/132/2016 RADY MIASTA OLEŚNICY. z dnia 29 stycznia 2016 r.

Konfiguracja programu RMS do współpracy z wagami DIBAL. Programowanie artykułów 3

Kancelaris - Zmiany w wersji 2.50

Implant ślimakowy wszczepiany jest w ślimak ucha wewnętrznego (przeczytaj artykuł Budowa ucha

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Uchwała nr 1 Nadzwyczajnego Walnego Zgromadzenia J.W. Construction Holding S.A. z siedzibą w Ząbkach z dnia 1 kwietnia 2008 roku

Regulamin członkostwa w Klubie Przedsiębiorczych Nauczycieli IMPULS

REGULAMIN REKRUTACJI UCZNIÓW/SŁUCHACZY DO ZESPOŁU SZKÓŁ TECHNICZNYCH I OGÓLNOKSZTAŁCĄCYCH IM. KAZIMIERZA WIELKIEGO W BUSKU-ZDROJU

Ogłoszenie o zwołaniu Nadzwyczajnego Walnego Zgromadzenia Akcjonariuszy TELL Spółka Akcyjna z siedzibą w Poznaniu na dzień 11 sierpnia 2014 r.

Intellect. Business Intelligence. Biblioteka dokumentów Podręcznik. Business Intelligence od 2Intellect.com Sp. z o.o.

Ogłoszenie o zwołaniu Nadzwyczajnego Walnego Zgromadzenia Spółki na dzień 27 czerwca 2016 r.

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1

GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH

Zabezpieczenie społeczne pracownika

U C H W A Ł A SENATU RZECZYPOSPOLITEJ POLSKIEJ

Historia zmian w aplikacji. Rejestr Podmiotów Wykonujących Działalność Leczniczą

Regulamin Projektów Ogólnopolskich i Komitetów Stowarzyszenia ESN Polska

STEROWNIK BIOLOGICZNYCH OCZYSZCZALNI ŚCIEKÓW

architektura komputerów w. 6 Pamięć I

Ogłoszenie o zwołaniu Zwyczajnego Walnego Zgromadzenia IDM Spółka Akcyjna w upadłości układowej z siedzibą w Krakowie na dzień 30 czerwca 2015 roku

Warszawa, dnia 8 sierpnia 2013 r. Poz. 899

Aktualizacja CSP do wersji v7.2. Sierpień 2014

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

REGULAMIN KOMISJI ETYKI BANKOWEJ

ZARZĄDZENIE NR 2/14 PREZYDENTA MIASTA KOŁOBRZEG. z dnia 14 stycznia 2014 r.

API transakcyjne BitMarket.pl

Integracja systemów, integracja procesów

PROMOCJE Internet po świetle

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Lista kontrolna osiągania interoperacyjności przez system teleinformatyczny regulowany przez projekt dokumentu rządowego

Bazy danych. Andrzej Łachwa, UJ, /15

Windows Serwer 2008 R2. Moduł 3. DHCP

Warszawa, r.

Instrukcja obiegu i przechowywania dokumentacji WZSzach

KRAJOWY REJESTR SĄDOWY. Stan na dzień godz. 14:59:36 Numer KRS:

1. Koło Naukowe Metod Ilościowych,zwane dalej KNMI, jest Uczelnianą Organizacją Studencką Uniwersytetu Szczecińskiego.

REGULAMIN SAMORZĄDU UCZNIOWSKIEGO GIMNAZJUM W ZABOROWIE UL. STOŁECZNA 182

Zebranie Mieszkańców Budynków, zwane dalej Zebraniem, działa na podstawie: a / statutu Spółdzielni Mieszkaniowej WROCŁAWSKI DOM we Wrocławiu,

VinCent Office. Moduł Drukarki Fiskalnej

I. Zakładanie nowego konta użytkownika.

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

UCHWAŁA NR... RADY MIASTA LUBLIN

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Mamy pomysł i co dalej?

PROCEDURA REKRUTACJI DZIECI DO PRZEDSZKOLA NR 2 PROWADZONEGO PRZEZ URZĄD GMINY WE WŁOSZAKOWICACH NA ROK SZKOLNY 2014/2015

UCHWAŁA NR VIII/43/2015 r. RADY MIASTA SULEJÓWEK z dnia 26 marca 2015 r.

Statut Stowarzyszenia SPIN

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Umowa najmu lokalu mieszkalnego w trybie najmu okazjonalnego

Kurier POCZTEX XL by CTI. Instrukcja

1) Dziekan lub wyznaczony przez niego prodziekan - jako Przewodniczący;

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Inspiracje dla branży. Sport i rekreacja

UCHWAŁA Nr XXV/145/2008 RADY MIEJSKIEJ W SWARZĘDZU z dnia 24 czerwca 2008 r.

PROGRAM PRAKTYKI ZAWODOWEJ. Kierunek studiów: PSYCHOLOGIA. Edycja 2014

I. LOGICZNE STRUKTURY DRZEWIASTE

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

JTW SP. Z OO. Zapytanie ofertowe. Zakup i dostosowanie licencji systemu B2B część 1

TEST WIADOMOŚCI: Równania i układy równań

Warszawa, dnia 27 czerwca 2014 r. Poz. 860 ROZPORZĄDZENIE MINISTRA EDUKACJI NARODOWEJ 1) z dnia 24 czerwca 2014 r.

Powiatowy Urząd Pracy w Środzie Wlkp.

ZASADY REKRUTACJI DO ODDZIAŁÓW PRZEDSZKOLNYCH I KLAS PIERWSZYCH

Podejmując się WA wybranego zwierzęcia, Wirtualny Opiekun zobowiązuje się do regularnych, comiesięcznych wpłat na konto bakowe SPF.

STATUT KOŁA NAUKOWEGO KLUB INWESTORA

Transkrypt:

INŻYNIERIA OROGRAMOWANIA DIAGRAMY SEKWENCJI 2015/2016

Diagram sekwencji (sequence diagram) Jego zadaniem jest pokazać w jaki sposób oraz w jakiej kolejności obiekty współpracują ze sobą (obrazuje kolejność w czasie wysyłania komunikatów pomiędzy różnymi obiektami w systemie). Każdy obiekt posiada linię życia (przebieg czasowy interpretuje się z góry na dół). Strzałka skierowana z jednego obiektu do drugiego oznacza, że to ten pierwszy obiekt wywołuje jakąś operację obiektu drugiego i przekazuje mu sterowanie. W sytuacji, gdy operacja dotyczy wielu obiektów danej klasy lub niesprecyzowanego obiektu podaje się tylko nazwę klasy (:Klasa2), zaś w przypadku gdy operacja odnosi się do konkretnego obiektu, nazwę klasy poprzedza się jego nazwą (O:Klasa1)

Diagram sekwencji Format: Nazwa [ selektor]:nazwa klasy ref dekompozycja Przykładowa nazwa uczestnika Admin :ContentManagementSystem admin:administrator eventhandlers[2]:eventhandler :ContentManagementSystem ref cmsinteraction Opis Część nosi nazwę admin, jednak w tym momencie nie ma przypisanej klasy. Klasa uczestnika nosi nazwę ContentManagementSystem, jednak w danym momencie część nie ma swojej własnej nazwy Jest to część nosząca nazwę admin, utworzona na podstawie klasy Administrator. Jest to część zapisana jako element tablicy o indeksie 2, utworzona na podstawie klasy EventHandler. Uczestnik utworzony został na podstawie klasy ContentManagementSystem. Istnieje również inny diagram interakcji o nazwie cmsinteraction, przedstawiający wewnętrzne działanie danego uczestnika.

Diagram sekwencji Komunikat to forma kontaktu pomiędzy obiektami, której efektem ma być podjęcie przez docelowy obiekt pewnej akcji. Otrzymanie komunikatu przez obiekt wiąże się z wykonaniem przez niego jego własnego kodu lub wysłaniem kolejnego komunikatu do innego obiektu w celu wykonania przez niego pewnej akcji. Komunikaty w UML są reprezentowane przez strzałki łączące linie życia poszczególnych obiektów. Każdy komunikat wewnątrz interakcji opatrzony jest kolejnym numerem, co pozwala na łatwe śledzenie jej przebiegu. Istnieją trzy podstawowe komunikaty, jakie mogą zostać wymienione pomiędzy obiektami: wywołanie procedury, powrót z niej wywołanie asynchroniczne.

Diagram sekwencji wywołanie procedury powrót z wywołania wywołanie asynchroniczne komunikat tworzenia uczestnika komunikat usuwania uczestnika

Diagram sekwencji 1. Zainicjowanie działań przez aktora. 1.1 Obiekt O:Klasa1 tworzy jakiś niesprecyzowany obiekt :Klasa2. 1.2 Obiekt O:Klasa1 wywołuje metodę Wywołanie(p1,p2) obiektu :Klasa2 i czeka na jej zakończenie. 1.2.1 Obiekt :Klasa2 zwraca wynik wywołanej metody (Powrót) i oddaje sterowanie. 1.3 Obiekt O:Klasa1 wywołuje własną metodę. 2. Obiekt O:Klasa1 otrzymuje jakąś wiadomość lub wywołanie spoza sekwencji. 2.1 Obiekt :Klasa2 wysyła wiadomość lub wywołuje metodę poza sekwencję. 2.2 Obiekt O:Klasa1 wywołuje metodę obiektu :Klasa2. Czas wywołania przekracza 5 ms. 2.2.1 Obiekt :Klasa2 zwraca wynik wywołania. Czas zwrotu wyniku przekracza 5 ms. 2.3 Obiekt O:Klasa1 wywołuje operację na sobie. 2.4 Obiekt O:Klasa1 już nie potrzebuje obiektu :Klasa2 więc go niszczy.

Diagram sekwencji Wywołania mogą być grupowane w bloki: alt (alternative ) - określający warunek wykonania bloku operacji, odpowiadający instrukcji if-else ; warunek umieszcza się wówczas wewnątrz bloku w nawiasach kwadratowych opt (optional ) - reprezentujący instrukcję if (bez else ) par (parallel ) - nakazujący wykonać operacje równolegle critical - blok atomowy, oznaczający obszar krytyczny loop - definiujący pętlę typu for (o określonej z góry liczbie iteracji) lub while (wykonywanej dopóki pewien warunek jest prawdziwy) break - wykonanie fragmentu i zakończenie interakcji seq - słaba sekwencja (podobnie do współbieżności) dotyczy zdarzeń z kilku linii ignore/ consider - ignore(komunikat1, komunikat2,...) oznacza, że na diagramie nie pokazano wymienionych komunikatów, choć mogą wystąpić. Consider = odwrotnie

Zasady tworzenia diagramów sekwencji Nazywaj aktorów w sposób spójny z diagramami przypadków użycia Nazywaj obiekty/klasy w sposób spójny z diagramami klas Po lewej stronie umieszczaj aktorów, którzy są ludźmi lub organizacjami Po prawej stronie umieszczaj aktorów, którzy są innymi systemami reagującymi na działanie modelowanego systemu Po lewej stronie umieszczaj aktorów, którzy są systemami inicjującymi interakcją z modelowanym Aktor może mieć tą samą nazwę co klasa Jeżeli nie jest to niezbędne - nie umieszczaj niszczenia (destroy) obiektu Umieszczaj nazwę obiektu jeżeli występuje odwołanie do niej w komunikacie Umieszczaj nazwę obiektu jeżeli istnieje wiele obiektów tej samej klasy Jeżeli umieszczono kilka obiektów o tej samej nazwie, muszą pochodzić z różnych klas Przy aktorach i obiektach/klasach umieszczaj stereotypy informujące o warstwie systemu, w której one działają Umieszczaj najważniejsze komunikaty (zwykle) Jeżeli komunikat jest wysyłany do obiektu/klasy, który jest implementowany jako składnik oprogramowania (klasa, interfejs, komponent), nazywaj komunikat z użyciem składni języka programowania Jeżeli komunikat wymaga przekazania parametrów, podaj ich nazwy, a nie same typy danych Komunikaty wychodzące od aktorów, którzy są osobami lub organizacjami, nazywaj w sposób opisowy (zdaniem) Komunikaty przesyłane do klas (nie obiektów) implementowane są jako metody statyczne Przy włączaniu innych przypadków użycia do aktualnie modelowanego stosuj komunikaty ze stereotypem << include >> Komunikat tworzący obiekt oznaczaj stereotypem << create >> Aktywacja nie jest obowiązkowym elementem linii życia, ale ułatwia zrozumienie diagramu - podkreśla czas trwania danej operacji

Zadanie 1 Obiekt Kasjerka szuka, czy na danej trasie w danym terminie jest dostępna określona ilość biletów. W tym celu tworzy obiekt Wyszukiwanie i zadaje mu odpowiednie pytanie. Obiekt ten pyta się wszystkie N pociągów czy jeżdżą daną trasą. Jeśli pociąg jeździ tą trasą, jest pytany o dostępność biletów. Jeśli bilety są dostępne, Wyszukiwanie dodaje pociąg do swojej wewnętrznej listy. Po przeszukaniu listy pociągów Wyszukiwanie zwraca Kasjerce informację o pociągach, po czym Kasjerka pozbywa się obiektu Wyszukiwanie.

Zadanie 2 Obiekt Urzędnik musi zdefiniować rozliczenia podatkowe i działalność gospodarczą petenta. W tym celu tworzy sobie obiekt roboczy Wyszukiwanie i każe mu znaleźć użytkownika o konkretnym PESEL-u. Gdy petent zostaje znaleziony, powiadamiany jest o tym Urzędnik, który informuje Wyszukiwanie o typie rozliczeń. Wyszukiwanie wywołuje nadanie NIP-u konkretnemu Petentowi, a tenże obiekt informuje o tym obiekt Urząd Skarbowy, który tworzy nowy obiekt Wpis. Jeśli nadanie NIP-u dotyczy działalności gospodarczej. Wyszukiwanie wywołuje nadanie REGON-u konkretnemu Petentowi, a jeśli dotyczy rozliczeń indywidualnych, określa próg dochodów Petenta. Wyszukiwanie zwraca Urzędnikowi informację o zakończeniu działań, wtedy Urzędnik pozbywa się Wyszukiwania.

Zadanie 3 Obiekt Pracownik Firmy wypożyczającej łodzie tworzy obiekt tymczasowy wyszukiwania rezerwacji jachtu. Ten sprawdza czy jacht danego typu jest dostępny w danym terminie (pierwszy wolny jacht). Jeśli tak, dokonywana jest rezerwacja, jeśli nie, odbywa się wyszukiwanie jachtu o większej pojemności (pierwszy wolny jacht). Jeśli taki się nie znajdzie, pracownik otrzymuje informację o braku takiego obiektu (na przykład zwrot pustej tablicy), jeśli zaś się znajdzie, pracownik decyduje, czy wziąć jacht, czy nie. W przypadku niewzięcia jachtu obiekt wyszukiwania rezerwacji jest niszczony, w przeciwnym przypadku pracownik przesyła wyszukiwaniu rezerwacji informacje o kliencie, a obiekt ten tworzy obiekt rezerwacji właściwej, w który wprowadzane są dane jachtu, klienta i terminu, a jacht zostaje oznaczony jako zarezerwowany. Gdy zabieg się powiedzie, pracownik niszczy obiekt wyszukiwania.