Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com



Podobne dokumenty
Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Rysunek 1: Przykłady graficznej prezentacji klas.

Modelowanie obiektowe

Podstawy projektowania systemów komputerowych

UML w Visual Studio. Michał Ciećwierz

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

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

Diagramy klas. WYKŁAD Piotr Ciskowski

Programowanie obiektowe

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

Programowanie obiektowe

Programowanie obiektowe

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

UML. zastosowanie i projektowanie w języku UML

Programowanie obiektowe

Dziedziczenie. dr Jarosław Skaruz

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

TECHNOLOGIE OBIEKTOWE. Wykład 3

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Podstawy języka UML UML

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

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

Enkapsulacja, dziedziczenie, polimorfizm

Kurs WWW. Paweł Rajba.

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

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

Klasy abstrakcyjne i interfejsy

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

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Technologie obiektowe

Inżynieria Oprogramowania. UML Schematy klas

Dokumentacja do API Javy.

Podstawy modelowania w języku UML

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

Polimorfizm. dr Jarosław Skaruz

Język UML w modelowaniu systemów informatycznych

Klasy abstrakcyjne, interfejsy i polimorfizm

Definiowanie własnych klas

MODELOWANIE OBIEKTOWE

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

MAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Język UML w modelowaniu systemów informatycznych

Wykład 7: Pakiety i Interfejsy

Podstawy Programowania Obiektowego

Programowanie obiektowe

Programowanie obiektowe

Wykład 8: klasy cz. 4

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

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

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

MAS dr. Inż. Mariusz Trzaska

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

Modelowanie danych, projektowanie systemu informatycznego

UML - zarys 2007/2008

PHP 5 język obiektowy

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Podstawy języka UML UML

Różne właściwości. Różne właściwości. Różne właściwości. C++ - klasy. C++ - klasy C++ - KLASY

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Świat rzeczywisty i jego model

Programowanie obiektowe

Aplikacje w środowisku Java

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

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

Programowanie obiektowe

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

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Programowanie obiektowe

Materiały do zajęć VII

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

MODELOWANIE OBIEKTOWE Z UML

Dziedziczenie. Tomasz Borzyszkowski

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Technologie i usługi internetowe cz. 2

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

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

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

Projektowanie logiki aplikacji

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Programowanie obiektowe

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Zaawansowane programowanie w C++ (PCP)

Wykład 6: Dziedziczenie

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

Podstawy Języka Java

Podstawy programowania III WYKŁAD 4

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

Platformy Programistyczne Podstawy języka Java

Programowanie Obiektowe Ćwiczenie 4

Paweł Kurzawa, Delfina Kongo

Programowanie obiektowe

Programowanie obiektowe

Podstawy programowania obiektowego

Transkrypt:

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, singletony, asocjacyjne Ograniczenia Kompozycja a agregacja

Wprowadzenie Diagramy klas UML służą do przedstawienia klas, interfejsów i powiązań pomiędzy nimi, czyli do statycznego modelowania obiektowego. Wykorzystywane są do modelowania dziedziny w perspektywie konceptualnej oraz modelowania systemu w perspektywie programistycznej. Osoba zapisany_na 1..* Student Pracownik Kurs 1 zawiera Wykład 1..* 1..* * 1 Profesor prowadzi

Notacja diagramów klas UML

Diagramy klas w różnych perspektywach

Sposoby prezentacji atrybutów UML Atrybuty klasyfikatora można prezentować na trzy sposoby:

Sposoby prezentacji atrybutów UML Pełen format tekstowego opisu atrybutu to: widoczność nazwa : typ krotność = wartość-domyślna {właściwości} Jeśli nie określono widoczności atrybutu to znaczy, że jest on prywatny Jeśli atrybut jest przedstawiony za pomocą asocjacji to wtedy: strzałka nawigacji jest skierowana od źródła (Register) do celu (Sale), co oznacza, że obiekt Register ma atrybut typu Sale krotność jest określona po stronie celu nazwa roli (currentsale) pojawia się tylko po stronie celu i odpowiada nazwie atrybutu asocjacja nie ma nazwy

Sposoby prezentacji atrybutów UML-krotności Krotność określa, ile instancji klasy A może być związanych asocjacją z klasą B.

Sposoby prezentacji atrybutów - właściwości Właściwość atrybutu określa dodatkowe cechy atrybutu. Właściwości: read only atrybut jest tylko do odczytu ordered elementy kolekcji są posortowane unique żaden z elementów zbioru nie powtarza się, jest unikalny list atrybut implementuje interfejs List Dwa sposoby przedstawienia atrybutu będącego kolekcją private List<SalesLineItem> lineitems = new ArrayList<SalesLineItem>();

Sposoby prezentacji atrybutów UML Do przedstawienia atrybutów reprezentujących proste typy danych używaj notacji tekstowej, a linii asocjacji do wszystkich innych. Semantycznie oba te sposoby są równoznaczne, jednak połączenie dwóch klas na diagramie linią asocjacji lepiej zwróci uwagę na związek pomiędzy obiektami. public class Register { private int id; private Sale currentsale; private Store location; }

Operacje Pełna składnia operacji to: widoczność nazwa (lista-parametrów) {właściwości} Jeśli nie określono widoczności operacji to znaczy, że jest ona publiczna Operacja to deklaracja, która ma nazwę, parametry, typ zwracany, listę wyjątków. Nie jest to jednak implementacja. UML pozwala stosować składnię dowolnego języka programowania, o ile jest ona zrozumiała dla czytelnika i używanego narzędzia. Możliwe są obie formy zapisu: + getplayer(name: String) : Player {exception IOException} public Player getplayer( String name ) throws IOException

Metody Metoda UML to implementacja operacji. Jeśli zdefiniowano ograniczenia to musi ona je spełniać. Metodę można przedstawić na kilka sposobów: na diagramie interakcji za pomocą kolejności komunikatów na diagramie klas stosując symbol notatki ze stereotypem <<method>> Operacje dostępowe często są pomijane

Generalizacja, klasy i operacje abstrakcyjne Generalizacja w UML przedstawiana jest za pomocą linii ciągłej zakończonej trójkątna strzałką, prowadzącej od podklasy do nadklasy. Jest ona interpretowana jako dziedziczenie. Klasy i operacje abstrakcyjne można przedstawić albo za pomocą znacznika {abstract} albo za pomocą kursywy. Klasy i metody finalne, z których nie wolno dziedziczyć i których nie wolno przesłaniać, na diagramie przedstawia się za pomocą znacznika {leaf}.

Zależności UML definiuje ogólna relację zależności, w której element nazywany klientem (dowolnego typu: klasa, pakiet, przypadek użycia) posiada wiedzę na temat innego elementu, nazywanego dostawcą. Rodzaje zależności: Posiadanie atrybutu mającego typ dostawcy, Wysyłanie komunikatów do dostawcy, który może być widoczny jako: atrybut, parametr, zmienna lokalna, zmienna globalna, element klasy statycznej Odbieranie parametru mającego typ dostawcy Dostawcą jest nadklasą lub interfejsem Na diagramach klas używaj linii zależności do opisu zależności pomiędzy obiektami, opartych o zmienne parametryczne, lokalne i globalne oraz wywołania metod statycznych (innej klasy).

Zależności public class Sale { public void updateprocefor (ProductDescription description){ Money baseprice = description.getprice(); // } } public void dofoo() { System.runFinalization(); // }

Klasa aktywna Obiekt aktywny działa w osobnym, kontrolowanym przez siebie wątku wykonania. Klasa obiektu aktywnego to klasa aktywna. W UML przedstawia się ją, stosując podwójne linie po bokach prostokąta klasy.

Klasy singletonowe Implikacją klasy singletonowej jest to, że może istnieć jedynie jeden obiekt tej klasy. Klasę singletonową oznacza się, umieszczając cyfrę 1 w prawym górnym rogu, obok nazwy klasy. 1

Ograniczenia Ograniczenie UML to pewien warunek, który musi spełniać element UML. Ograniczenie umieszcza się w nawiasie klamrowym. Treść może mieć dowolny format, może to być również język naturalny.

Kompozycja a agregacja Kompozycja jest rodzajem silnej agregacji całość część. Relacja kompozycji polega na tym, że Instancja reprezentująca część należy w danym momencie tylko do jednej instancji złożonej Instancja złożona jest odpowiedzialna za tworzenie i usuwanie swoich części

Dziękuję za uwagę!