Modelowanie obiektowe systemów

Podobne dokumenty
Analiza i projektowanie aplikacji 3. 4.Modelowanie struktury. Diagram klas. 5.Strukturalizowanie modelu PU. Model systemowych PU.

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

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

UML w Visual Studio. Michał Ciećwierz

Podstawy programowania III WYKŁAD 4

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

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

Diagramy klas. dr Jarosław Skaruz

Modelowanie danych, projektowanie systemu informatycznego

Diagramy klas. WYKŁAD Piotr Ciskowski

Unified Modeling Language

Świat rzeczywisty i jego model

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Podstawy projektowania systemów komputerowych

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

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Rysunek 1: Przykłady graficznej prezentacji klas.

TECHNOLOGIE OBIEKTOWE. Wykład 3

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

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

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

Modelowanie i analiza systemów informatycznych

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

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

MAS dr. Inż. Mariusz Trzaska

Podstawy języka UML UML

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Inżynieria oprogramowania. Jan Magott

Michał Adamczyk. Język UML

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

1 Projektowanie systemu informatycznego

UML. dr inż. Marcin Pietroo

Język UML w modelowaniu systemów informatycznych

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

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

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

Podstawy inżynierii oprogramowania

Technologie obiektowe

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

Modelowanie obiektowe - Ćw. 3.

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Modelowanie obiektowe

Dr inż. Ludmiła Rekuć

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Podstawy modelowania programów Kod przedmiotu

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

PRZEWODNIK PO PRZEDMIOCIE

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

MODELOWANIE OBIEKTOWE

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

UML. zastosowanie i projektowanie w języku UML

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Podstawy języka UML UML

Techniki modelowania programów Kod przedmiotu

Język UML w modelowaniu systemów informatycznych

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

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

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

Podstawy modelowania w języku UML

Język UML w modelowaniu systemów informatycznych

Faza analizy (modelowania) Faza projektowania

Modelowanie i analiza systemów informatycznych

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

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

Analiza i projektowanie obiektowe w UML Kod przedmiotu

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

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

UML - zarys 2007/2008

Systemy informatyczne. Modelowanie danych systemów informatycznych

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

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

Projektowanie logiki aplikacji

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykład 1 Inżynieria Oprogramowania

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

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

Diagramy czynności Na podstawie UML 2.0 Tutorial

WPROWADZENIE DO UML-a

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

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

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

problem w określonym kontekście siły istotę jego rozwiązania

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

Podejście obiektowe - podstawowe pojęcia

Podstawy Programowania Obiektowego

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Paweł Kurzawa, Delfina Kongo

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Transkrypt:

Modelowanie obiektowe systemów Dr inż. Ludmiła Rekuć www.ioz.pwr.wroc.pl/pracownicy/l_rekuc

Literatura Dąbrowski M.,Stasiak A.,Wolski M. Modelowanie systemów informatycznych w języku UML 2. PWN, 2009 Wrycza S.i inni Język UML 2.0 w modelowaniu systemów informatycznych. Helion 2005 Śmiałek M. Zrozumieć UML 2.0 Metody modelowania obiektowego Helion 2005 Eriksson H., Penker M., Business modeling with UML. Wiley&Sons, 2000 Booch G. Rumbaugh J.Jacobcon I. UML przewodnik użytkownika. Inżynieria oprogramowania.wnt Warszawa 200 Fowler M.Kendall S. UML w kropelce. LTP 2002r. www.omg.org 2

Cel kursu zaprezentować możliwości języka UML w dziedzinie modelowania organizacji i jej procesów jako środowiska SI; zapoznać z wybranymi technikami budowania modeli. 3

Plan wykładu Model i modelowanie organizacji a SI Modelowanie obiektowe - UML. Obiekty i klasy Diagram klas Diagram obiektów 4

Model abstrakcja systemu, która reprezentuje spójne i kompletne (z pewnego punktu widzenia) uproszczenie rzeczywistości. Po co modelować organizację i jej procesy?. zrozumieć, diagnozować, doskonalić, projektować procesy; porozumieć się między sobą członkom zespołu; określić wymagania do systemów informatycznych.. 5

Procesy organizacji a SI informatyzacja procesów gospodarczych w organizacjach wzrasta; integracja często różnorodnych aplikacji informatycznych wymaga zbudowania modeli procesów; zarządzanie procesami wymaga modeli; koncepcja MDA (Model Driven Architecture) stwarza nadzieje na możliwość wygenerowania kodu aplikacji z modelu. Wniosek: wzrasta rola modeli!. 6

Język modelowania wprowadza pojęcia umożliwiające opis systemu na różnych poziomach szczegółowości, z różnych punktów widzenia i w różnych celach; określa reguły używania tych pojęć; łączy z pojęciami graficzną prezentację. Nie ma jeszcze ogólnie przyjętego standardowego języka modelowania procesów gospodarczych!. 7

UML( Unified Modeling Language) OMG.4,.5 --> 2.0 Dlaczego zmiany? Nowa rola modeli procesów biznesowych: - Model wykonalny w WF, procesy oparte o usługi sieciowe. - Kod z modelu! UML 2.0 3 diagramów Struktura: klas, struktur złożonych, komponentów, obiektów, rozmieszczenia, pakietów. Zachowanie: czynności, interakcji, maszyny stanów, przypadków użycia. 8

UML Bloki konstrukcyjn e Reguły łączenia bloków Ogólne mechanizmy (zasady) Element y Związki Diagram y Zależność Powiązanie Uogólnienie Struktural ne Czynnościo we Grupując e Komentujące Klasa Przypadek użycia Interfejs... Realizacja Interakcj a Maszyna stanów 9

UML 2.0 Diagram UML Struktury Zachowania Klas Obiektów Komponentów Pakietów Struktury złożonej Przypadków Użycia Czynności Maszyny stanów Interakcji Rozmieszczenia 0

UML 2.0 Diagram UML Struktury Zachowania Przypadków Użycia Czynności Maszyny stanów Interakcji Sekwencji (Sequence) Komunikacji (Communication) Przegłądowy (Interaction overview) Czasowy (timing)

UML do modelowania organizacji gospodarczej?! podobienstwo konceptualnych założeń: organizacja jak i system infiormatyczny może być opisana w kategoriach procesów służących osiąganiu celów poprzez współdziałanie obiektów repezentujących zasoby różnego typu. Reguły definiują warunki i ograniczenia związane z procesami, strukturą i zachowaniem obiektów, związków między obiektami, ich interakcjami. wypróbowane techniki podejścia obiektowego: wieloletnia praktyka udowodniła zdolność do opisywania dużych i złożonych systemów. Opracowano szereg wzorców, niektóre mogą być stosowane do modelowania systemów gospodarczych. standardowa notacja:uml. W dziedzinie modelowania organizacji gospodarczej brak ogólnie przyjętej notacji. UML pozwala wykorzystać to samo narzędzie do modelowania organizacji i wspierającego ją SI. wykorzystanie tych samych pojęć z dziedziny obiektowości i przez analityków biznesowych i przez projektantów SI zmniejsza lukę między dwoma światami. podejście funkcyjne nie jest właściwe do opisu współczesnego biznesu. 2

Obiekt Obiekt: byt o dobrze określonych granicach, który ma tożsamość, cechy statyczne ( atrybuty i związki z innymi obiektami), które określają jego stan oraz cechy dynamiczne, które określają jego zachowanie. Obiekt łączy w sobie dane i funkcje podejścia strukturalnego. Obiekty mogą oznaczać fizyczne istniejące rzeczy (np. samochód, student itp.) lub abstrakcję - informację (np. zebranie, stanowisko itp.) Atrybuty cechy statyczne obiektu - co wiemy o obiekcie? Atrybut: nazwana właściwość związana z dziedziną wartości. Operacje -cechy dynamiczne - co obiekt może wykonać? Operacja: nazwana usługa realizowana przez obiekt. Metoda realizacja usługi w pewnym języku programowania (kod). Obiekty nie są identyfikowane przez wartości atrybutów - mają tożsamość! 3

Klasa obiektów Klasa: reprezentacja grupy podobnych (danego typu) obiektów, które mają takie same cechy (statyczne i dynamiczne) i znaczenie. Obiekt jest egzemplarzem (instancją, wystąpieniem,urzeczywistnieniem) klasy. Klasa jest definicją podobnych (danego typu) obiektów. 4

Prezentacja graficzna klasy Konto numer:int właściciel:string saldo: double depozyt() wypłata() Nazwa klasy jest obowiązkowa Sekcja atrybutów (opcjonalna). widoczność / nazwa : typ [krotność] = wartość domyślna { właściwość-string } Atrybut klasy, wartość którego jest wspólna dla wszystkich obiektów (np. liczba faktur klasy Faktura jest podkreślany. Sekcja operacji (opcjonalna). widoczność nazwa ( lista parametrów ) : typ zwracanej wartości { właściwość-string } Operacja klasy, zasięg działania której stanowią wszystkie obiekty (np. oblicz sumaryczną należność za okres klasy Faktura jest podkreślana. 5

Prezentacja graficzna obiektów księgowość tylko nazwa obiektu rekućkonto:konto nazwa obiektu i klasa numer:23 właściciel: Ludmiła Rekuć saldo: 300.00 :Student tylko klasa indeks:2223 nazwisko: Kowalski imie: Jan 6

Związki w UML W UML zdefiniowano cztery rodzaje związków, każdy z których może wystąpić miedzy klasami: powiązania (asocjacji) powodem jest powiązanie między obiektami danych klas generalizacji/specjalizacji (uogólnienia) związek znaczeniowy wskazuje, że jedno pojęcie (nadklasa) jest ogólniejsze w stosunku do jego innego (podklasy) zależności wskazuje, że jeden element modelu wymaga innego elementu modelu realizacji - wskazuje, że jeden element modelu jest definicją a inny realizacją tej definicji (lub uszczegółowieniem) 7

System informatyczny System informacyjny Przedsiębiorstwo Przykład:Przedsiębiorstwo jest zależne od systemu informacyjnego, który jest zrealizowany na bazie komputerów. Diagram klas Diagram klas graf, wierzchołkami którego są klasy, łukami związki między klasami. Na diagramie klas mogą wystąpić pakiety, komponenty. 8

Związek powiązania ( asocjacji) na diagramie klas Powiązanie(asocjacja) Zespół 0.. Składa się z członek 2..* Osoba Powiązanie klas wskazuje na związek między ich obiektami oznaczane jest linią ciągłą; może mieć nazwę z ewentualnie dodanym kierunkiem odczytu; ma końce (dwa lub więcej) wskazujące na klasy; końce mogą być oznaczone nazwami ról, w których występują w związku obiekty danych klas; na końcu związku może być pokazana liczebność (krotność), która wskazuje, ile obiektów danej klasy może być związana z jednym obiektem po drugiej stronie powiązania (tylko w związkach binarnych, wiążących dwie klasy). 9

Związek powiązania oznaczenie liczebności... z jednym obiektem danej klasy może być związany:. 0.. jeden lub żaden, opcjonalne powiązanie; 0..* jeden, wiele lub żaden, * wiele lub żaden, wskazuje na niedokładność zbadania;..* jeden lub wiele; tylko jeden; 2..7 od dwóch do siedmiu Brak wiele lub żaden, wskazuje na niedokładność zbadania;(w UML.5 - tylko jeden). Miasto od * Trasa do * 20

Powiązanie zwrotne Powiązanie zwrotne wskazuje na związek między obiektami tej samej klasy Osoba mąż żona małżeństwo 2

Klasa powiązania (asocjacji) Firma *..* Osoba pracodawca pracownik Zatrudnienie wynagrodzenie zawrzyjumowę Powiązanie, które ma własne atrybuty i/lub operacje może być modelowane jako klasa. 22

Klasa powiązania przykład zastosowania Student * zalicza * Kurs klasa powiązania Zaliczenie ocena * Indeks 23

Klasa zwykła zamiast klasy powiązania: oznaczenie powiązania, które może być wyprowadzone z innych Firma /pracuje dla Osoba Pracodawca Pracownik * * Stanowisko 0.. Kierownik powiązanie zwrotne.. * Podwładny Kieruje 24

Agregacja: związek całość składa się z części lub właściciel i jego własność * * Zdjęcie Osoba * DowódTożsamości Agregacja słaba (współdzielona) - pewien obiekt może należeć do wielu innych, jest częścią wielu, oznacza się niewypełnionym rombem po stronie "całości. Agregacja całkowita - kompozycja - wyłączna własność całości nad częścią; czas życia "części" nie może być dłuższy niż czas życia "całości", oznacza się wypełnionym czarnym rombem po stronie "całości"; 25

Agregacja - przykłady Trasa * 2..* {ordered} Przystanek Faktura..* PozycjaFaktury 26

Ograniczenia Ograniczenia: (w nawiasach klamrowych) dodatkowe wymagania, które nie udaje się wyrazić za pomocą standardowych konstrukcji diagramu. Mogą one dotyczyć powiązań, operacji, związku miedzy atrybutami, wartości atrybutów i tp. Konto * {XOR} Osoba Zespół członek * {podzbiór} Osoba Konto jest związane z osobą lub z firmą * Firma szef szef jest jednym z członków zespołu Faktura nr data podstawa..* {ordered} PozycjaFaktury lp symbol ilość {XOR} oznacza, że wystąpienia związków są alternatywne. {Ordered} - na końcu powiązania oznacza, że jeden obiekt danej klasy może być związany z kilkoma obiektami klasy docelowej i obiekty te są uporządkowane. 27

Uogólnienie (generalizacja/specjalizacja) Osoba * uczy Klasy mogą być jednocześnie w związku uogólnienia i innych, np. powiązania Student * Wykładowca Uogólnienie: związek między klasą bardziej ogólną (nadklasą) a bardziej specyficzną (podklasą). Podklasa dziedziczy cechy nadklasy: atrybuty operacje związki ograniczenia Podklasy mogą: - dodać nowe atrybuty i operacje do odziedziczonych; - zmienić odziedziczone operacje zapewniając inną treść operacji przy zachowaniu tego samego nagłówka. 28

Uogólnienie - przykład Zawodnik nazwisko waga wysokość podajpiłkę() strzelkosza() Obrońca Skrzydłowy Środkowy róbprzechwyt() róbasystę() zróbwsad() Źródło: J.Schmuller UML dla każdego, HELION, 2003, str. 63. 29

Uogólnienie - przykład Osoba Płeć {kompletny, rozłączny} Zawód Kobieta Mężczyzna Lekarz Prawnik 30

Przykład diagramu klas nr Egzemplarz * Umiejscowienie..* Temat nazwa opis * * Dokument 0.. poprzednik TypDokumentu * tytuł autor datawydania zawartość jest wersją nazwa * * * zawier a 3

Diagram obiektów Na diagramie klas klasy i ich związki. Na diagramie obiektów instancje klas i ich związek w pewnej chwili czasowej. Osoba..* pracownik 0..* pracodawca Firma Rekuć:Osoba PWr:Firma 32

Diagram klas - przykład Przedsiębiorstwo 0.. Dział..* 0..* jest nadrzędnym dla kierownik 0.. Osoba..* AdresKontaktowy 33

Diagram obiektów p:przedsiębiorstwo d:dział d2:dział nazwa = "Sprzedaż" nazwa = "Produkcja" d3:dział nazwa = "Sprzedaż internetowa" kierownik o:osoba nazwisko = "Kowal" ID = 4389 stanowisko = "Kierownik sprzedaży" :AdresyKontaktowe adres = "Kluczowa 0" Diagram przedstawia obiekty i ich wiązania w konkretnej chwili. 34

Modelowanie obiektowe a klasy Obiektowo zorientowany model dowolnego systemu (np. sterowania samoletem czy rekrutacji pracowników w przedsiebiorstwie ) jest zbudowany w oparciu o pojęcia świata rzeczywistego danej dziedziny problemowej. Dlaczego? Ułatwia to zrozumienie modelu i pracę nad nim. Jaki zestaw obiektów odwzorować w modelu? Jest to sztuka, rozwiązań może być wiele. 35

Identyfikacja klas Dziedzina wiedzy atrybut atrybut2 atrybut3 oper() oper2() Nazwa rzeczowniki rzeczowniki - dopełniacze. czasowniki. 36

Identyfikacja klas Właściwy zestaw klas odzwierciedla dziedzinę problemu, klasy mają nazwy ze świata rzeczywistego, które nie powodują mylących skojarzeń. Szukając klas modelu stanowiącego podstawę budowania systemu informatycznego przedsiębiorstwa warto zadać pytania: o czym SI powinien pamiętać lub przetwarzać? jakie systemy zewnętrzne współdziałają z systemem modelowanym? i przedstawić je jako klasę; jakie gotowe składniki systemu będą wykorzystane? i przedstawić je jako klasę; Jako klasy mogą być modelowane części organizacji role 37

Pytania kontrolne. Czy każda klasa może mieć obiekty? 2. Czy każda sekcja definicji klasy jest obowiązkowa? 3. Czy prawdziwe jest twierdzenie: należy pokazać wszystkie atrybuty klasy lub nie pokazywać je wcale? 4. Czy klasa powiązania może mieć związki z innymi zwykłymi klasami? 5. Co dziedziczy podklasa po nadklasie? 6. Czy mogą wystąpić dwa obiekty klasy z takimi samymi wartościami atrybutów? 38