Język UML w modelowaniu systemów informatycznych

Podobne dokumenty
Podstawy modelowania w języku UML

Podstawy modelowania w j zyku UML

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

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

Modelowanie obiektowe

Język UML w modelowaniu systemów informatycznych

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

UML w Visual Studio. Michał Ciećwierz

Podstawy projektowania systemów komputerowych

Rysunek 1: Przykłady graficznej prezentacji klas.

TECHNOLOGIE OBIEKTOWE. Wykład 3

Diagramy klas. dr Jarosław Skaruz

Język UML w modelowaniu systemów informatycznych

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

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

Modelowanie danych, projektowanie systemu informatycznego

Podstawy języka UML UML

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

Język UML w modelowaniu systemów informatycznych

UML. zastosowanie i projektowanie w języku UML

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

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

1 Projektowanie systemu informatycznego

MAS dr. Inż. Mariusz Trzaska

Programowanie obiektowe

Język UML w modelowaniu systemów informatycznych

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Diagramy klas. WYKŁAD Piotr Ciskowski

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Programowanie obiektowe

Podstawy programowania III WYKŁAD 4

Podstawy języka UML2 w realnych projektach

Podstawy języka UML UML

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

UML - zarys 2007/2008

Świat rzeczywisty i jego model

Podstawy inżynierii oprogramowania

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

MODELOWANIE OBIEKTOWE Z UML

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

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

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

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Inżynieria Oprogramowania. UML Schematy klas

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

Wstęp do Programowania 2

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

MODELOWANIE OBIEKTOWE

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

Projektowanie obiektowe oprogramowania Wykład 2 - UML Wiktor Zychla 2016

Paweł Kurzawa, Delfina Kongo

Podstawy Programowania Obiektowego

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Abstrakcyjny typ danych

Jerzy Nawrocki, Wprowadzenie do informatyki

Inżynieria oprogramowania wykład VII Faza analizy analiza obiektowa Język UML wprowadzenie, diagramy struktury

Identyfikacja i modelowanie struktur i procesów biologicznych

Autor: Joanna Karwowska

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Ksiazka popr.p , 13:54

Podstawy modelowania w j zyku UML

Język UML. dr inż. Piotr Szwed C3, pok

Podstawy modelowania w języku UML

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

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Diagramy klas UML. Mateusz Kobos

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Diagramy klas i obiektów

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

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

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

Projektowanie Systemów Informacyjnych

Modelowanie danych Model związków-encji

Programowanie 2. Język C++. Wykład 3.

Diagramy czynności Na podstawie UML 2.0 Tutorial

MAS dr. Inż. Mariusz Trzaska

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Diagramy czynności i syntaktyka diagramów klas Wykład3

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

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

Podstawy modelowania w języku UML

UML a kod. C++, Java i C#

Drużyny piłkarskie. Rozwiązanie

Mechanizm dziedziczenia

Podstawy języka UML2 w realnych projektach

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

Diagram maszyny stanowej - POJĘCIA

Projektowanie baz danych

Transkrypt:

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 2

Związki między klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang. Generalizations) Agregacja (ang. Aggregations) Kompozycja (ang. Composite aggregation) Zagnieżdżenia (ang. Nestings) Klasy asocjacyjne (ang. Association Classes) Zależności (ang. Dependencies)

Asocjacja Asocjacja jest podstawowym rodzajem związków/relacji między klasami i oznacza istnienie trwałego powiązania pomiędzy nimi. Asocjacja może zawierać nazwane role na każdym końcu, liczebności, kierunki i ograniczenia. Przykłady asocjacji: Student studiuje na uczelni Piłkarz gra w drużynie piłkarskiej Lekarz pracuje w szpitalu, itd

Nazwy, role i liczebność asocjacji Nazwa asocjacji wskazuje bezpośrednio czynność, jaka zachodzi pomiędzy klasami. Może także wskazywać kierunek. Role określają jaką rolę pełni dana klasa w asocjacji.

Nazwy, role i liczebność asocjacji Liczebność określa, ile obiektów jednej klasy bierze udział w asocjacji drugiej klasy. Liczebność można określić stałą cyfrą, np.: 1, 2, 3, 4, itd. Liczebność można określić jako nieskończoność - oznaczane przez * Liczebność można określić przedziałem, np. 0..4 - od 0 do 4 2..5 - od 2 do 5 10..1000 - od 10 do 1000 1..* - od 1 do nieskończoność (minimum 1), itd

Klasy asocjacyjne Klasa asocjacyjna to klasa powiązana za pomocą linii przerywanej z asocjacją. Klasa asocjacyjna opisuje asocjacje pomiędzy klasami, których ta asocjacja dotyczy. Klasa asocjacyjna umożliwia asocjacji posiadanie operacji i atrybutów.

Klasy asocjacyjne W przypadku występowania klasy asocjacyjnej w kodzie programu, klasy biorące udział w asocjacji mogą, ale nie muszą, posiadać bezpośrednie połączenia pomiędzy sobą. Zatem nasza klasa Pracownik nie musi mieć bezpośredniego połączenia z klasą Projekt. Klasa Pracownik może mieć na przykład połączenie z klasą Rola, zaś klasa Rola z klasą Projekt. Dzięki temu przez pośrednictwo klasy asocjacyjnej Rola, klasa Pracownik jest powiązana z klasą Projekt.

Dziedziczenie (generalizacja) Generalizacja odpowiada dziedziczeniu znanemu z języków programowania. Generalizacja to związek pomiędzy bardziej ogólną klasą (rodzicem) a klasą bardziej szczegółową (dzieckiem). Przykłady generalizacji: Kwadrat jest Figurą Fiat jest Samochodem Pies jest Zwierzęciem, itd.

Agregacja Agregacje są wykorzystywane w celu przedstawienia elementów, które są złożone z mniejszych elementów. Agregacja, w skrócie, oznacza zawieranie, np. Dom zawiera okno Sygnalizacja świetlna zawiera żarówkę Mieszkanie zawiera telefon Agregację na diagramie UML oznacza się strzałką z końcem zakończonym pustym rombem, skierowany w kierunku klasy rodzicielskiej.

Kompozycja I Kompozycja jest szczególnym przypadkiem agregacji. Kompozycja od agregacji różni się tym, że klasa posiada obiekty (składa się z obiektów), które bez tej klasy nie mogły by istnieć. Jeśli rodzic w kompozycji jest usuwany, zwykle wszystkie jego części są usuwane z nim; jednakże część może zostać indywidualnie usunięte z kompozycji, bez konieczności usuwania całej kompozycji. Kompozycja jest relacją przechodnią, asymetryczną i może być rekurencyjne. Kompozycję na diagramie UML oznacza się strzałką z końcem zakończonym wypełnionym rombem, skierowany w kierunku klasy rodzicielskiej.

Kompozycja II

Różnica między agregacją i kompozycją - przykład Książka adresowa składa się z wielu kontaktów i grup kontaktów. Grupa kontaktów to wirtualne grupowanie kontaktów; każdy kontakt może być zawarty w więcej niż jednej grupie kontaktów. Usunięcie książki adresowej powoduje, że wszystkie kontakty i grupy kontaktowe zostaną usunięte. Usunięcie grupy kontaktów, nie powoduje usunięcia żadnego kontaktu.

Zagnieżdżenia Zagnieżdżenie jest relacją pokazującą, że element źródłowy (np. klasa Element) jest zagnieżdżona w elemencie docelowym (np. klasa Stos).

Zagnieżdżenia I c l a s s Stos { private : c l a s s Element { public : i n t dana ; Element next ; } ; Element Top ; public : Stos ( ) ; ~Stos ( ) { c l e a r ( ) ; } ; bool empty ( ) const ; void c l e a r ( ) ; void push ( i n t ) ;

Zagnieżdżenia II } ; void pop ( ) ; i n t top ( ) ;

Zależności Zależności używane są do modelowania szerokiego zakresu związków pomiędzy elementami modelu. Zwykle stosowane są na wczesnym etapie procesu projektowania, gdy wiadomo, że istnieje jakiś związek między dwoma elementami, ale jest zbyt wcześnie, aby dokładnie wiedzieć, jaki jest to związek. W późniejszym etapie procesu projektowania zależności zostaną uszczegółowione lub zastąpione bardziej konkretnym typem związku.

Diagramy klas i związki- przykład Źródło:http://www.uml-diagrams.org/class-diagrams-overview.html

Diagramy obiektów Diagram obiektu może być uważane za szczególny przypadek diagramu klasy. Diagramy obiektu wykorzystują podzbiór elementów diagramu klas, aby podkreślić związek pomiędzy instancjami klas w pewnym momencie czasowym. Diagramy obiektu nie pokazują niczego architektonicznie innego do diagramów klas, ale odzwierciedlają wielość i role.

Diagramy obiektów - różnice w wyglądzie pomiędzy klasą i obiektem Klasy składa się z trzech części: nazwa klasy, atrybuty i operacje. Domyślnie obiekty nie mają takiego przedziału, posiadają tylko nazwę. Obiekty na diagramie prezentuje się za pomocą prostokątów, w których nazwa jest podkreślona. Po niej, po dwukropku, znajduje się nazwa klasy, której obiekt reprezentuje dany prostokąt.

Diagramy obiektów - przykład Źródło:http: //www.uml-diagrams.org/class-diagrams-overview.html#object-diagram