TECHNOLOGIE OBIEKTOWE. Wykład 3

Podobne dokumenty
Rysunek 1: Przykłady graficznej prezentacji klas.

Diagram maszyny stanowej - POJĘCIA

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

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

UML. zastosowanie i projektowanie w języku UML

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

Modelowanie obiektowe

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

Język UML w modelowaniu systemów informatycznych

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Język UML w modelowaniu systemów informatycznych

Podstawy modelowania w języku UML

Diagramy klas. dr Jarosław Skaruz

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

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

Podstawy programowania III WYKŁAD 4

UML w Visual Studio. Michał Ciećwierz

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

Podstawy projektowania systemów komputerowych

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Język UML w modelowaniu systemów informatycznych

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 klas. WYKŁAD Piotr Ciskowski

Podstawy inżynierii oprogramowania

Modelowanie danych, projektowanie systemu informatycznego

Język UML w modelowaniu systemów informatycznych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Podstawy języka UML UML

Język UML w modelowaniu systemów informatycznych

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

Diagramy klas i obiektów

UML cz. II. UML cz. II 1/38

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

Oprogramowanie o wysokiej jakości to oprogramowanie spełniające następujące kryteria:

MAS dr. Inż. Mariusz Trzaska

UML - zarys 2007/2008

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Świat rzeczywisty i jego model

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Modelowanie i analiza systemów informatycznych

Diagramy czynności Na podstawie UML 2.0 Tutorial

Paweł Kurzawa, Delfina Kongo

Michał Adamczyk. Język UML

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

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

Podejście obiektowe - podstawowe pojęcia

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Podstawy języka UML2 w realnych projektach

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

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

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

Specyfikowanie wymagań przypadki użycia

Faza analizy (modelowania) Faza projektowania

Podstawy Programowania Obiektowego

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Mechanizm dziedziczenia

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

Podstawy języka UML UML

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Modelowanie obiektowe - Ćw. 3.

Diagramy czynności. Widok logiczny. Widok fizyczny

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Projektowanie logiki aplikacji

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

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

MAS dr. Inż. Mariusz Trzaska

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

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

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

1 Projektowanie systemu informatycznego

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

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

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

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

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

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

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

UML. dr inż. Marcin Pietroo

MODELOWANIE OBIEKTOWE

Wykład 8: klasy cz. 4

Projektowanie interakcji. Jarosław Kuchta

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

Podstawy języka UML2 w realnych projektach

Podstawy modelowania programów Kod przedmiotu

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

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

Diagramy stanów Na podstawie UML 2.0 Tutorial Zofia Kruczkiewicz

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Bazy danych TERMINOLOGIA

Modelowanie i analiza systemów informatycznych Spis treści

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

Transkrypt:

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 jest złożone.

4 Diagram stanów opisuje cykl życia reaktywnych obiektów, przypadków użycia, podsystemów i systemów. Przedstawia on maszynę stanową podkreślając przepływ sterowania między stanami. Maszyna stanowa określa ciąg stanów przyjmowanych przez obiekty, podsystemy i systemy oraz ich reakcje w odpowiedzi na zdarzenia zachodzące w czasie cyklu życie

5 Diagram stanów jest grafem złożonym z wierzchołków i krawędzi: wierzchołkami są stany (prostokąty o zaokrąglonych rogach), krawędziami są przejścia (strzałki).

Stan 6 jest okolicznością lub sytuacją, w jakiej znajduje się jest rezultatem poprzedniej aktywności spełnia jakiś warunek jest określony przez wartości własnych atrybutów i powiązań do innych zadań wykonuje pewne czynności czeka na jakieś zdarzenie

7 Każdy stan posiada: Nazwę i Akcje Pojedynczy stan reprezentuje moment w zachowaniu obiektu, w którym pewien warunek jest prawdziwy.

Akcje 8 entry - jest akcją wykonywaną w momencie gdy obiekt przyjmuje dany stan; akcja ta jest wykonywana jeden raz i niepodzielnie do - jest akcją wykonywaną nieprzerwanie w czasie, gdy obiekt przebywa w tym stanie exit - oznacza (analogicznie do entry) moment opuszczenia stanu; podobnie, akcja taka jest wykonywana tylko raz. event - reprezentuje akcję wykonywaną w momencie nadejścia zdarzenia określonego typu. include - wywołanie zagnieżdżonej maszyny stanu,

9 Stan początkowy (Initial) może być tylko jeden stan początkowy Stan końcowy (Final) może być kilka stanów końcowych

Przykład rejestracja w przychodni lekarskiej 10

Przejście 11 Przejście (transition) jest związkiem między dwoma stanami, który wskazuje, że np. obiekt znajdujący się w pierwszym stanie wykona pewne akcje (Effect) i przejdzie do drugiego stanu, ilekroć zaistnieje określone zdarzenie (Trigger) i będą spełnione określone warunki (Guard).

Przejście własne 12 Przejście własne jest związkiem między tym samym stanem, który wskazuje, że np. obiekt znajdujący się w pewnym stanie wykona pewne akcje i powróci do tego samego stanu, ilekroć zaistnieje określone zdarzenie i będą spełnione określone warunki.

Stany zagnieżdżone 13 Zagnieżdżona struktura stanu zawierająca podstany rozłączne lub współbieżne.

Pseudo stan wyboru: 14 Jeden stan początkowy W wyniku zdarzenia następuje przejście ze stanu początkowego i na podstawie formatu wygenerowanej wiadomości możliwość wyboru jednego ze stanów wyjściowych

15

16

ETAPY TWORZENIA DIAGRAMU MASZYNY STANÓW 17 1. określenie rodzaju tworzonej maszyny stanowej i identyfikacja obiektów; 2. zidentyfikowanie poszczególnych stanów maszyny stanowej; 3. określenie hierarchii stanów, podstanów oraz obszarów współbieżnych; 4. powiązanie stanów oraz ich podstanów przejściami; 5. zastosowanie adekwatnych pseudostanów; 6. opracowanie specyfikacji sekcji stanów i przejść zgodnie z przyjętymi składniami.

18

19

Diagram stanów ze stanami złożonymi 21 Zamówienie równolegle jest kompletowane i dostarczane oraz fakturowane i rozliczane. Realizacja jest agregatem dwóch stanów.

Diagram maszyny stanowej dla klasy Książka 22

Podsumowanie 23 Cel diagramu maszyny stanowej: Skontrolować kompletność odpowiedzialności klas Odkryć operacje w wyniku analizy zdarzeń zewnętrznych Uwaga! Cykl życia klasy opisywanej diagramem stanów jest wynikiem analizy wszystkich PU, w których klasa uczestniczy.

Sprawdzian. 24 Jak jest oznaczane przejście między stanami? Czym się różni diagram stanów od diagramu czynności? Co jest powodem przejścia z jednego stanu w drugi? Czym mogą się różnić stany tego samego bytu? Diagram stanów pokazuje stany obiektów jednej klasy czy wielu klas?

25 Diagramy klas

26 Diagram klas jest statycznym modelem reprezentującym powiązania między zdefiniowanymi klasami i relacjami. Diagram klas służy do zobrazowania współpracy klas.

Klasa 27 Klasa jest miejscem przechowywania cech obiektów, które są niezmienne. Stosunek klasa/podklasa oznacza, że obiekty podklasy posiadają wszystkie inwarianty nadklasy, plus swoje inwarianty. Np. klasa Student ma wszystkie inwarianty klasy Osoba, plus niektóre własne.

28

Zastosowanie diagramów klas 29 zapis modelu pojęciowego reprezentują pojęcia w dziedzinie zastosowań, które aktualnie podlegają analizie sformalizowanana wizja wyobrażeń powstających podczas myślenia nad problemem sformalizowana specyfikacja danych i metod dotyczy opisu zewnętrznego oprogramowania bez szczegółów implementacyjnych Implementacja może bezpośrednio służyć jako graficzny środek pokazujący szczegóły implementacji

Tworzenie diagramu klas 30 Identyfikacja klas i obiektów Identyfikacja związków pomiędzy klasami Identyfikacja i definiowanie pól (atrybutów) Identyfikacja i definiowanie metod i komunikatów

SYMBOL KLASY 31 Symbolem klasy jest prostokąt, zwykle podzielony poziomymi liniami na trzy sekcje: nazwy atrybutów operacji W razie potrzeby może zostać uzupełniony dodatkowymi sekcjami (np. wyjątków).

32

POZIOMY DOSTĘPU: 33 Dostępności: + publiczna - prywatna # chroniona ~ zakres pakietu

34

Klasa reprezentuje model rzeczy konceptualnej i fizycznej i jest powielana w postaci obiektów, czyli wystąpień klasy. Atrybuty - składowe do przechowywania danych, które posiadają nazwę, typ, zakres wartości oraz określony dostęp. Operacje - składowe do wykonania operacji na atrybutach, zadeklarowane jako funkcje publiczne lub prywatne. Powiązania relacje, które pełnią funkcje podobnie jak w diagramach use case 35

Dziedziczenie 36 Obiekt pod-klasy automatycznie dziedziczy wszystkie atrybuty, metody, asocjacje i agregacje z wszystkich jej nadklas.

37 SPECJALIZACJA budowa pojęć bardziej szczegółowych, gdy mamy bardziej ogólne GENERALIZACJA budowa pojęć bardziej ogólnych, gdy mamy bardziej szczegółowe

Ograniczenia 38 Na diagramie klas można zawrzeć ograniczenia dotyczące klas oraz związków między nimi.

Asocjacje 39 czyli powiązania pomiędzy obiektami klas Przykład specyfikacji asocjacji pomiędzy obiektami klasy Osoba i obiektami klasy Firma. Czarny trójkącik określa kierunek wyznaczony przez nazwę powiązania.

KROTNOŚĆ 40 Krotność pozwala określić minimalną i maksymalną liczbę obiektów, jakie można powiązać z daną cechą: dolna granica..górna granica - przedział od-do 1 - dokładnie jeden obiekt 0..1 - opcjonalnie jeden obiekt 1..* - przynajmniej jeden obiekt 1, 3, 5 - konkretne liczby obiektów * - dowolna liczba obiektów

41

42

Asocjacje skierowane 43 Na diagramach UML można zaznaczyć kierunek nawigacji wzdłuż danej asocjacji

Agregacje 44 szczególny przypadek asocjacji wyrażający zależność: część całość. Oznacza się je za pomocą pustego rombu.

Relacja typu agregacja oznacza, że klasa Ramka_napis składa się z dwóch klas: Ramka oraz Napis, natomiast każde z nich składa się z 45 klasy Punkt.

Kompozycja 46 dana część może należeć tylko do jednej całości Co więcej, część nie może istnieć bez całości pojawia się i jest usuwana wraz z całością Kompozycje oznacza się za pomocą wypełnionego rombu.

Przykład agregacja i kompozycja 47 Każde wystąpienie obiektu Punkt należy do obiektu Wielobok albo do obiektu Okrąg -nie może należeć do dwóch obiektów naraz a usunięcie obiektu Wielobok(Okrąg)powoduje kaskadowe usunięcie wszystkich związanych z nim obiektów Punkt.

Generalizacja 48 to uogólnienie, wskazuje na wystąpienie dziedziczenia

Związki między klasami 49

50

Ćwiczenie 51 Opracować model klas (tylko nazwy klas i atrybuty oraz związki pomiędzy klasami wraz z nazwami związków i licznościami) i zapisać go w postaci diagramu klas. Projektujemy system Dziennika Ocen w Szkole. W każdej klasie uczy się nie więcej niż 25 uczniów z których jeden jest gospodarzem klasy. Cała klasa uczy się tych samych przedmiotów (w określonym wymiarze tygodniowym) oprócz języków obcych (część dzieci uczy się angielskiego a część francuskiego). Nauczyciel może uczyć kilku przedmiotów oraz klasa ma wychowawcę. Oprócz ocen cząstkowych, uczeń otrzymuje oceną końcową. Dodatkowo uczeń otrzymuje końcową ocenę ze sprawowania.

Proces tworzenia diagramu klas 52 1) Pierwszy etap: Identyfikacja klas i ich atrybutów. 2) Drugi etap: Usunięcie niepotrzebnych klas i dodanie związków dziedziczenia. 3) Trzeci etap: Identyfikacja asocjacji i ich uszczegółowienie, czyli określenie liczności, dodanie atrybutów (lub klas asocjacji), zidentyfikowanie wśród asocjacji ewentualnych agregacji i kompozycji, zidentyfikowanie asocjacji kwalifikowanych itd. 4) Czwarty etap: Zidentyfikowanie metod poprzez zbudowanie modelu dynamicznego.

53 Koniec!