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



Podobne dokumenty
Diagramy klas. dr Jarosław Skaruz

UML w Visual Studio. Michał Ciećwierz

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

Rysunek 1: Przykłady graficznej prezentacji klas.

Podstawy Programowania Obiektowego

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

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 projektowania systemów komputerowych

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

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

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

Modelowanie obiektowe

Diagramy klas. WYKŁAD Piotr Ciskowski

Technologie obiektowe

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

Programowanie obiektowe - 1.

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

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

Programowanie obiektowe

Podstawy programowania III WYKŁAD 4

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Programowanie obiektowe

> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Wykład 8: klasy cz. 4

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

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

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

Technologie i usługi internetowe cz. 2

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

Programowanie obiektowe

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

Inżynieria Oprogramowania. UML Schematy klas

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

Wprowadzenie do UML, przykład użycia kolizja

TEMAT : KLASY DZIEDZICZENIE

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

UML. zastosowanie i projektowanie w języku UML

Projektowanie baz danych

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

UML w kropelce. czynność rozwinięcia 146 różnice między wersjami UML-a 175 wewnętrzna 130

Materiały do zajęć VII

Modelowanie danych, projektowanie systemu informatycznego

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

1 Projektowanie systemu informatycznego

Zaawansowane programowanie w C++ (PCP)

Diagramy UML, przykład problemu kolizji

Świat rzeczywisty i jego model

Wstęp do programowania obiektowego. Wykład 2

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Zaawansowane programowanie obiektowe - wykład 5

Język UML w modelowaniu systemów informatycznych

Definiowanie własnych klas

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

Mechanizm dziedziczenia

Język C++ Programowanie obiektowe

Język programowania. Andrzej Bobyk

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Wykład 1 Inżynieria Oprogramowania

Zaawansowane programowanie w C++ (PCP)

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

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

PRZEWODNIK PO PRZEDMIOCIE

Język UML w modelowaniu systemów informatycznych

Cel drugiego wykładu

Wzorce projektowe. dr inż. Marcin Pietroo

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Enkapsulacja, dziedziczenie, polimorfizm

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Programowanie Obiektowe i C++

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

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

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

Podstawy inżynierii oprogramowania

OBIEKTY PHP. G. Panuś

Podstawy programowania III

Wzorce projektowe. dr inż. Marcin Pietroo

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

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

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Programowanie obiektowe

Podstawy języka UML UML

Wykład 5: Klasy cz. 3

Język Java część 2 (przykładowa aplikacja)

10. Programowanie obiektowe w PHP5

Podstawy Języka Java

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Programowanie obiektowe

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

Diagramy klas UML. Mateusz Kobos

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

Podejście obiektowe - podstawowe pojęcia

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

Transkrypt:

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

Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80 i 90 z unifikacji wielu obiektowych języków modelowania - Zbiór określonych notacji graficznych - Opisywanie i projektowanie wybranych aspektów rzeczywistości - Szczególna użyteczność w informatyce projektowanie programów tworzonych obiektowo - Obecna wersja: 2.4.1

Literatura Martin Fowler UML w kropelce Wydawnictwo LTP

Narzędzie programistyczne - StarUML - projekt OpenSource (darmowy) - rozwijany do 2005 roku - zgodny ze standardem UML 2.0 - wspiera koncepcję MDA (Model Driven Architecture)

Pojęcie klasy - struktura zawierająca dane i metody - Metody funkcje wykonujące operacje na danych - definiuje obiekty (klasy obiektów)

Dostęp do składników klasy - modelowanie realnych problemów przy użyciu wielu klas - Klasy współdziałają ze sobą w obrębie jednego programu - Określanie dostępności do danych w klasach poprzez typ składników klasy

Dostęp do składników klasy Wyróżniono trzy rodzaje dostępu do składników: - public (publiczny) widoczność składnika w całym programie. Oznaczenie: + - private (prywatny) widoczność składnika tylko w obrębie danej klasy, dla metod lokalnych danej klasy. Oznaczenie: - - protected (chroniony) widoczność składnika w danej klasie oraz w klasach od niej pochodzących. Oznaczenie: #

Dostęp do składników klasy Ponadto istnieją dodatkowe parametry dostępu: - readonly tylko do odczytu - ordered uporządkowane (kolejność odgrywa rolę) - unordered kolejność bez znaczenia - unique każdy atrybut jednostkowy, bez duplikatów (można także dopuścić duplikaty jawnym określeniem nonunique)

Cecha - W UML oznacza pole danych w klasie - reprezentuje strukturalne własności klasy - istnieją dwie notacje cech: atrybutowa oraz asocjacyjna

Notacja atrybutowa - cecha jest zapisywana jako wiersz tekstu umieszczony w ramce klasy

Notacja asocjacyjna - Tworzona poprzez przeprowadzenie linii pomiędzy cechą, a klasą docelową. - Linia zakończona strzałką w kierunku od klasy docelowej

Krotność Wskazuje, ile obiektów może znaleźć się w danej cesze. 1 w cesze znajduje się tylko jeden obiekt 0..1 w cesze znajduje się tylko jeden obiekt, lub nie znajduje się żaden * w cesze znajduje się dowolna, nieujemna liczba obiektów (także 0)

Krotność Określenie atrybutów cechy terminami odnoszącymi się do krotności: - Opcjonalny dolna granica wynosi 0 - Wymagany dolna granica to co najmniej 1 - Jednokrotny górną granicą jest 1 - Wielokrotny górną granicą jest liczba większa od 1 W UML 1.x istniał atrybut dyskretny, np. 2, 4 itp., został zniesiony w UML 2.0

Cechy pochodne - Cechy wyliczane na podstawie innych wartości - Oznaczenie: / - Mogą prezentować różnicę pomiędzy wartością przechowywaną a obliczaną

Metody Wyróżniamy kilka typów metod: - konstruktory i destruktory - akcesory i mutatory - operacje dostępu i modyfikacji - komparatory - operatory porównania - operatory przypisania (kopiowania) - iteratory - służące do przeglądania zawartości - operacje wejścia/wyjścia

Operacje i atrybuty statyczne - Są to operacje i atrybuty, których obszarem działania jest klasa, a nie jej instancja. - Instancją nazywamy pojedyncze wystąpienie danej klasy - Oznaczenie: podkreślenie

Klasy abstrakcyjne - Klasy, dla których nie można bezpośrednio utworzyć instancji. - Tworzy się instancję podklasy - Klasa abstrakcyjna musi posiadać co najmniej jedną operację abstrakcyjną, czyli deklarację bez implementacji, umożliwiającą dowiązanie klientów do klasy abstrakcyjnej - Oznaczenie: kursywa

Szablony klas - Wiele języków programowania, w szczególności C++, zawiera pojęcie szablonu klasy - Szablon klasy zwany także klasą parametryzowalną lub klasą szablonową - Umożliwia automatyczne generowanie nowych klas - Należy określić parametr szablonu

Wyliczenia - Klasy stosowane do pokazywania stałego zbioru wartości - Nie mają żadnych cech, poza ich symbolicznymi wartościami - Są zapisywane jako klasa ze słowem kluczowym <<enumeration>>

Klasa aktywna - Posiada instancje, z których każda wykonuje i kontroluje swój własny wątek sterujący - Wywołania metod mogą być realizowane w wątku klienta lub w wątku aktywnego obiektu -Oznaczenie: dodatkowe pionowe linie - Przykład: procesor poleceń przyjmuje obiekty z zewnątrz i wykonuje polecenia w obrębie własnego wątku sterującego

Operacje - Procesy, które klasa potrafi wykonywać - W sposób oczywisty odpowiadają metodom klasy -Najczęściej nie wymienia się metod, które tylko przetwarzają cechy, gdyż ich istnienie można wywnioskować -Przykład: +SaldoZDnia (data) : waluta

Związki pomiędzy klasami

Jak używać diagramów klas Kilka praktycznych wskazówek: - Modelować możliwie prosto, nie używając całej notacji - Kilka prostych diagramów lepiej spełni swoją funkcję niż jeden skomplikowany - Użycie nieskomplikowanej notacji pozwala modelować aspekty z różnych dziedzin życia, niekoniecznie związanych z informatyką (np. rozwiązania biznesowe) - Modelować tylko to, co konieczne. Nie tworzyć przerośniętych modeli.

Pytania 1. Omówić rodzaje krotności atrybutów. 2. Co to jest cecha pochodna? 3. Wymienić praktyczne wskazówki, dotyczące użycia diagramów klas.