Diagramy klas w języku UML

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Związki w UML.
Modelowanie klas i obiektów
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Język UML (Unified Modelling Language)
Kamil Łącki Dominik Strzelichowski
Zrównoleglanie programu sekwencyjnego
UML rozszerzenie Seminarium magisterskie
UML Unified Modeling Language
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej UML- Unified Modeling Language Ujednolicony Język Modelowania UML jest standardowym.
Tomasz Jabłoński Michał Ziach
C++ wykład 2 ( ) Klasy i obiekty.
Inteligentne Systemy Informacyjne
Zasady zaliczenia Warunki uzyskania zaliczenia:
UML Zunifikowany język modelowania
Unified Modeling Language Wykład 3 Diagram klas
DIAGRAMY KLAS i obiektów
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład I
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Projektowanie - wprowadzenie
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
Oskar Ośko Mateusz Skoczewski Michał Sułek
C.d. wstępu do tematyki RUP
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
Infrastruktura języka UML w wersji 2.2
Nadstruktura języka UML w wersji 2.2
UML 2.x Robert Pająk.
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych
Model przestrzenny Diagramu Obiegu Dokumentów
Źródła: podręcznikopracował: A. Jędryczkowski.
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Związki w UML Do zrobienia jest: -Przerysować jak ktoś ma Visio te dwa diagramy tak żeby podmienić tylko nazwy a reszta Taka sama, -I dodać po jednym zdaniu.
Programowanie obiektowe – język C++
1 Analiza obiektowa Peter Coad / Edward Yourdon Analiza obiektowa wydawnictwo: Oficyna Wydawnicza READ ME, Warszawa 1994 dr Waldemar Wolski.
Programowanie obiektowe 2013/2014
Modelowanie obiektowe Diagramy czynności
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Modelowanie obiektowe Diagramy sekwencji
Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Diagram klas Diagramy klas służą do obrazowania statycznych aspektów projektowanych systemów jako: Projekt struktury logicznej baz danych Projekt składników.
Modelowanie obiektowe - system zarządzania projektami.
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Unified Modeling Language
E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz
Asocjacja,Kompozycja,Agregacja
Inżynieria systemów informacyjnych
Programowanie Obiektowe – Wykład 2
Zapis prezentacji:

Diagramy klas w języku UML Karol Sierpień Informatyka III rok, studia dzienne

Czym jest UML? Zunifikowany język modelowania, w skrócie UML (ang. Unified Modelling Language) jest to rodzina notacji graficznych, oparta na pojedynczym metamodelu, która służy do opisywania i projektowania systemów oprogramowania, w szczególności systemów oprogramowania obiektowego. Języki modelowania graficznego istnieją w informatyce od dawna. Jest to spowodowane tym, że języki programowania nie są na wystarczająco wysokim poziomie abstrakcji, aby umożliwiać prowadzenie za ich pomocą dyskusji na temat projektów. UML jest względnie otwartym standardem nadzorowanym przez organizację OMG (ang. Object Management Group) i otwarte konsorcjum firm. OMG została utworzona w celu budowania standardów umożliwiających współdziałanie systemów obiektowych. Znana jest między innymi z przygotowania standardów CORBA.

Rodzaje diagramów Diagramy struktury: Klas Obiektów Pakietów Struktur połączonych Wdrożeniowe: Komponentów Rozlokowania Diagramy dynamiki: Przypadków użycia Czynności Maszyny stanowej Interakcji: Sekwencji Komunikacji Harmonogramowania (lub Zależności czasowych) Sterowania interakcją

Diagramy klas Diagramy klas, obok diagramów przypadków użycia, zaliczyć należy do najczęściej stosowanych i zarazem kluczowych rodzajów diagramów w języku UML. Są one ponadto powszechnie rozpoznawanym elementem najpopularniejszych metodyk i technik obiektowych. Przedstawiają statykę systemu, stanowiąc przede wszystkim podstawę przyszłej obiektowej bazy danych. Główne elementy diagramów klas mają znaczny wpływ na układ i zawartość innych diagramów UML. Diagram klas to graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi.

Diagramy klas W diagramach UML klasę standardowo przedstawia się jako prostokąt złożony z trzech sekcji: nazwy klasy zestawu atrybutów zestawu operacji Możliwe kombinacje graficznej prezentacji klas: sama nazwa klasy nazwa klasy z zestawem atrybutów nazwa klasy z zestawem operacji nazwa klasy z zestawem atrybutów i operacji

Diagramy klas W związku z różnorodnością możliwych sposobów specyfikowania klas należy wyróżnić następujące opcje ich prezentacji graficznej: sama nazwa klasy umieszczona w jednosekcyjnym bloku oznacza, że sekcje atrybutów i operacji zostały wyspecyfikowane, lecz nie są w sposób jawny zamieszczone w diagramie klas alternatywnie, klasę przedstawia się jako blok złożony z trzech sekcji z nazwą w pierwszej sekcji i niewyspecyfikowanymi atrybutami i operacjami jeśli liczba atrybutów lub operacji jest większa, to ich wyliczanie w odpowiednich sekcjach można przerwać wielokropkiem, co należy interpretować jako przypisanie klasie jeszcze innych atrybutów i operacji – nie wymienionych bezpośrednio w specyfikacji

Diagramy klas – związki Klasy obiektów – podobnie jak inne elementy języka UML – powiązane są różnego rodzaju związkami. W diagramach klas powszechnie stosuje się wszystkie cztery rodzaje związków języka UML, czyli: asocjacje uogólnienia zależności realizacje

Asocjacja Asocjacja jest związkiem pomiędzy dwoma lub więcej klasyfikatorami, opisującym powiązania pomiędzy ich instancjami. Asocjacja opisuje zbiór powiązań pomiędzy obiektami, tak jak klasa obiektu – zbiór obiektów stanowiących jej instancje. Wyróżnia się dwa rodzaje asocjacji: binarne n-arne W praktyce dominują asocjacje binarne.

Asocjacja Zilustrowane na poprzednim rysunku asocjacje opisują w sposób jedynie elementarny związki między klasami. Pełna semantyczna interpretacja związku wymaga wprowadzenia szeregu dodatkowych elementów opisu. Tak więc asocjację można dokładnie sprecyzować poprzez zdefiniowanie jej następujących cech: nazwy ról powiązanych klas nawigacji liczebności agregacji

Nazwy asocjacji Podając nazwę asocjacji, określa się istotę danego związku. W celu uniknięcia nieporozumień przy nazwie asocjacji można podać kierunek jej odczytu. Istnieje szereg możliwości oznaczania nazw asocjacji. Mogą one być: nienazwane nazwane, z opcjonalnym zamieszczeniem znacznika wskazującego kierunek interpretacji asocjacji scharakteryzowane poprzez role klas pełnione w asocjacji nazwane i równocześnie scharakteryzowane przez role

Role asocjacji Każdą asocjację można interpretować dwustronnie poprzez podanie ról pełnionych przez powiązane ze sobą klasy. Rola asocjacji w związku binarnym jest powinnością pełnioną przez jedną klasę obiektu wobec drugiej klasy. W asocjacji n-arnej role można przypisać każdej z powiązanych ze sobą klas. Nazwy ról umieszcza się po obydwu stronach asocjacji. Rola spełniana przez daną klasę lokowana jest bezpośrednio przy klasie określanej.

Nawigacja Do wykonywania operacji na obiektach poszczególnych klas niezbędne jest przesyłanie komunikatów pomiędzy nimi. Dla każdej asocjacji istniejącej pomiędzy klasami komunikowanie domyślnie odbywa się w obydwu kierunkach asocjacji. Jest to nawigacja dwukierunkowa. W praktyce występują sytuacje, w których wskazanie kierunku nawigacji zwiększa efektywność komunikowania się. Mamy wtedy do czynienia z nawigacją jednokierunkową.

Liczebność Klasom odpowiadają określone liczby obiektów. Liczebność to specyfikacja zakresu dopuszczalnej liczby obiektów danej klasy biorących udział w danym związku. A zatem jest to określenie liczby obiektów jednej klasy, które wiążą się z jednym obiektem drugiej klasy znajdującym się po przeciwnej stronie tej samej asocjacji.

Liczebności 1 1..* 0..1 * 0..* n 1..n 0..n n..m n..* n, m, o..p, q dokładnie jeden jeden lub wiele zero lub jeden wiele zero lub wiele dokładnie n (n>1) od 1 do n od 0 do n od n do m (n,m>1) więcej niż n liczebność złożona

Agregacja Kolejną cechą asocjacji jest agregacja, która opisuje związek całość-część pomiędzy klasami. W rzeczywistości istnieje wiele złożonych obiektów składających się z części, które w połączeniu stanowią spójną całość. Wyróżnia się dwa rodzaje agregacji: agregację całkowitą (kompozycję) agregację częściową Dla wymienionych pojęć używa się alternatywnych nazw. Kompozycja nazywana jest również agregacją silną lub składową, natomiast agregacja częściowa – agregacją słabą lub współdzieloną.

Agregacja W obydwu rodzajach agregacji występują dwa podstawowe pojęcia: agregat, czyli obiekt stanowiący całość segment, czyli część W przypadku agregacji całkowitej obiekty-segmenty będące częściami agregatów nie mogą samodzielnie i niezależnie funkcjonować. Usunięcie agregatu powoduje automatyczną likwidację wszystkich segmentów będących jego częściami. Natomiast agregacja częściowa wskazuje na asocjację, w której usunięcie obiektu będącego agregatem nie powoduje likwidacji obiektów będących jego częściami, czyli obiektów-segmentów. Obiekty współdzielone mogą zatem funkcjonować samodzielnie, niezależnie od agregatu.

Atrybuty i operacje statyczne W języku UML atrybuty oraz operacje statyczne (będące właściwością klasy, a nie obiektu) oznacza się przez podkreślenie linią ciągłą.

Klasy i operacje abstrakcyjne Nazwy klas abstrakcyjnych, nie mających konkretnych instancji obiektów oraz operacji abstrakcyjnych (nie mających konkretnej implementacji w danej klasie) pisane są w diagramach UML kursywą.

Widoczność Widoczność oznacza poziom dostępności atrybutów i operacji dla innych klas. W języku UML stosowane są następujące poziomy widoczności: Publiczny + Prywatny – Chroniony # Pakietowy ~

Typy wartości oraz wartości początkowe Dla atrybutów oraz operacji można po dwukropku określić ich typy wartości (w przypadku operacji jest to typ wartości zwracanej przez daną operację). Dla operacji można również w nawiasach podać typy wartości argumentów oraz kierunki ich przekazywania (in, out). Atrybutom można także nadać wartości początkowe pisząc je po znaku =

Uogólnienia, dziedziczenie Za pomocą diagramów UML można przedstawiać związki dziedziczenia klas. Klasy na najniższym poziomie hierarchii nazywane są liśćmi (oznaczenie {leaf}), natomiast na najwyższym – klasami podstawowymi albo korzeniami (oznaczenie {root}). Oznaczenia {leaf} oraz {root} są opcjonalne.

Zależności Zależność to taki związek pomiędzy dwoma elementami modelowania, w którym zmiana jednego z nich, niezależnego, wpływa na drugi, zależny. Związek ten w diagramach klas odgrywa mniejsze znaczenie. Oznacza on, że niezależna klasa obiektów wykorzystuje klasę zależną. Klasa niezależna jest także nazywana docelową, natomiast zależna źródłową.

Bibliografia Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski – „Język UML 2.0 w modelowaniu systemów informatycznych” Martin Fowler – „UML w kropelce” Dokumentacja UML opracowana przez OMG Wikipedia