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



Podobne dokumenty
Rysunek 1: Przykłady graficznej prezentacji klas.

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Harmonogramowanie projektów Zarządzanie czasem

Tworzenie modelu obiektowego

Projektowanie bazy danych

Rekompensowanie pracy w godzinach nadliczbowych

KLAUZULE ARBITRAŻOWE

Uchwała z dnia 20 października 2011 r., III CZP 53/11

ZAPYTANIE OFERTOWE. Tłumaczenie pisemne dokumentacji rejestracyjnej ZAPYTANIE OFERTOWE

Statystyczna analiza danych w programie STATISTICA. Dariusz Gozdowski. Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Warszawska Giełda Towarowa S.A.

Wiedza niepewna i wnioskowanie (c.d.)

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

7. REZONANS W OBWODACH ELEKTRYCZNYCH

Automatyczne przetwarzanie recenzji konsumenckich dla oceny użyteczności produktów i usług

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Kompozycja i dziedziczenie klas

Wniosek o ustalenie warunków zabudowy

OSZACOWANIE WARTOŚCI ZAMÓWIENIA z dnia roku Dz. U. z dnia 12 marca 2004 r. Nr 40 poz.356

UCHWAŁA. SSN Zbigniew Kwaśniewski (przewodniczący) SSN Anna Kozłowska (sprawozdawca) SSN Grzegorz Misiurek

PK Panie i Panowie Dyrektorzy Izb Skarbowych Dyrektorzy Urzędów Kontroli Skarbowej wszyscy

USTAWA. z dnia 29 sierpnia 1997 r. Ordynacja podatkowa. Dz. U. z 2015 r. poz

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

RZECZPOSPOLITA POLSKA. Prezydent Miasta na Prawach Powiatu Zarząd Powiatu. wszystkie

D wysokościowych

Rodzaj zamówienia. Tryb zamówienia "Przetarg nieograniczony" Termin składania ofert. Szacunkowa wartość zamówienia. Miejscowość: Wolbrom

ZAPYTANIE OFERTOWE NR 1

Charakterystyka systemów plików

Podatek przemysłowy (lokalny podatek od działalności usługowowytwórczej) :02:07

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Bielsko-Biała, dn r. Numer zapytania: R WAWRZASZEK ISS Sp. z o.o. ul. Leszczyńska Bielsko-Biała ZAPYTANIE OFERTOWE

Odpowiedzi na pytania zadane do zapytania ofertowego nr EFS/2012/05/01

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Strukturalne metodyki projektowania systemûw informatycznych

Edycja geometrii w Solid Edge ST

Przygotowały: Magdalena Golińska Ewa Karaś

Zarządzenie Nr 68/2011 Wójta Gminy Celestynów z dnia 12 kwietnia 2011 roku

ZAPYTANIE OFERTOWE nr 4/KadryWM13

Działalność gospodarcza spółek na terenie Specjalnej Strefy Ekonomicznej (cz. I)

REGULAMIN ZAWIERANIA I WYKONYWANIA TERMINOWYCH TRANSAKCJI WALUTOWYCH

Zarządzenie Nr 68/2008

Instrukcja. korzystania z ograniczeń obrotu w taryfie celnej TARIC

Pytania i Odpowiedzi II

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

INSTRUKCJA DLA INSPEKTORÓW DS. REJESTRACJI

ZP/341/52 /09 Zakopane dnia 17 września 2009 r. W s z y s c y

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Zapytanie ofertowe dotyczące wyboru wykonawcy (biegłego rewidenta) usługi polegającej na przeprowadzeniu kompleksowego badania sprawozdań finansowych

Koszty bezpośrednie rozliczane w ramach PO KL

Załącznik nr 7 do Umowy Nr z dnia r. Oświadczenie Podwykonawcy (WZÓR) W związku z wystawieniem przez Wykonawcę: faktury nr z dnia..

Wzór. UMOWA Nr. Przedmiot umowy

Warszawa, dnia 5 kwietnia 2016 r. Poz. 31. INTERPRETACJA OGÓLNA Nr PT AEW.2016.AMT.141 MINISTRA FINANSÓW. z dnia 1 kwietnia 2016 r.

Konferencja Sądu Arbitrażowego przy SIDiR WARUNKI KONTRAKTOWE FIDIC KLAUZULA 13 JAKO ODMIENNY SPOSÓB WYKONANIA ROBÓT A NIE ZMIANA UMOWY

SPECYFIKACJA TECHNICZNA 2. PRACE GEODEZYJNE

Ogólna charakterystyka kontraktów terminowych

Automatyka. Etymologicznie automatyka pochodzi od grec.

Załącznik nr 4 WZÓR - UMOWA NR...

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

zarządzam, co następuje:

SPECYFIKACJA TECHNICZNA D GEODEZYJNA OBSŁUGA BUDOWY

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010

Ogłoszenie o zwołaniu Nadzwyczajnego Walnego Zgromadzenia Akcjonariuszy TELL Spółka Akcyjna z siedzibą w Poznaniu na dzień 11 sierpnia 2014 r.

UCHWAŁA NR... RADY MIASTA GDAŃSKA. z dnia r.

Podstawowe działania w rachunku macierzowym

SEKCJA I: ZAMAWIAJĄCY SEKCJA II: PRZEDMIOT ZAMÓWIENIA. file://c:\documents and Settings\user\Pulpit\ogłoszenie o zamówieniu - hotele.

Usługa Powszechna. Janusz Górski Michał Piątkowski Polska Telefonia Cyfrowa

Jakie są te obowiązki wg MSR 41 i MSR 1, a jakie są w tym względzie wymagania ustawy o rachunkowości?

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Słupsk, dnia r. Zapytanie ofertowe:

Umowa o pracę zawarta na czas nieokreślony

WYJASNIENIA I MODYFIKACJA SPECYFIKACJI ISTOTNYCH WARUNKÓW ZAMÓWIENIA

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

3 Zarządzenie wchodzi w życie z dniem 1 listopada 2012 roku.

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

WEBML I UML JAKO NARZĘDZIA PROJEKTOWANIA APLIKACJI INTERNETOWYCH

SPECYFIKACJA TECHNICZNA WYKONANIA I ODBIORU ROBÓT BUDOWLANYCH GEODEZJA

Podstawy modelowania w j zyku UML

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

Warunki Oferty PrOmOcyjnej usługi z ulgą

FORMULARZ OFERTY DO ZADANIA I

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Data Dyrektor Izby Skarbowej w Bydgoszczy Temat

Paweł Selera, Prawo do odliczenia i zwrotu podatku naliczonego w VAT, Wolters Kluwer S.A., Warszawa 2014, ss. 372

Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: mc.bip.gov.pl/

UMOWA POWIERZENIA PRZETWARZANIA DANYCH OSOBOWYCH (zwana dalej Umową )

PROJEKTOWANIE SYSTEMÓW LOGISTYCZNYCH PROJEKT SYSTEMY LOGISTYCZNE PODSTAWY TEORETYCZNE

PRZY PODNOSZENIU BEZPIECZEŃSTWO JEST PRIORYTETEM

GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH

KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA" NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO

Nowości w module: Księgowość, w wersji 9.0 Wycena rozchodu środków pieniężnych wyrażonych w walucie obcej

TABELA ZGODNOŚCI. W aktualnym stanie prawnym pracodawca, który przez okres 36 miesięcy zatrudni osoby. l. Pornoc na rekompensatę dodatkowych

Transkrypt:

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus 1 1 Na podstawie: Subieta K., Język UML, V Konferencja PLOUG, Zakopane, 1999.

Wprowadzenie Diagram klas (zwany poprzednio także diagramem asocjacji klas lub modelem obiektowym) jest pojęciem centralnym we wszystkich znanych metodykach obiektowych. Z reguły diagram klas jest zmodyfikowanym diagramem encja-związek (z nieco innymi oznaczeniami) rozbudowanym o nowe elementy. W porównaniu do diagramów encja-związek diagramy klas wprowadzają istotną nowość, mianowicie metody przypisane do specyfikowanych klas. Oprócz tego zasadniczego elementu pojawiają się w diagramach klas różnorodne oznaczenia o charakterze pomocniczym. Diagram klas pokazuje klasy w postaci pewnych oznaczeń graficznojęzykowych powiązanych w sieć zależnościami należącymi do trzech kategorii: Dziedziczenie (ang. inheritance), czyli ustalenie związku generalizacji/specjalizacji pomiędzy klasami. Asocjacja (ang. association), czyli dowolny związek pomiędzy obiektami dziedziny przedmiotowej, który ma znaczenie dla modelowania. Agregacja (ang. aggregation), czyli szczególny przypadek asocjacji, odwzorowujący stosunek całość-część pomiędzy obiektami z modelowanej dziedziny przedmiotowej. Diagram klas w identycznej wersji jest stosowany zarówno do zapisu wyników analizy jak i do specyfikowania założeń projektowych. Diagramy klas są podstawą dowolnej analizy i dowolnego projektu, oraz sednem metody określanej jako obiektowa. Żaden projekt obiektowy nie może się obejść bez diagramu klas. Klasy Pojęcie klasy stanowi relatywnie nową abstrakcję w myśleniu i programowaniu, której celem jest uchwycenie zarówno statycznych własności obiektów (ich struktury), jak i własności dynamicznych, w tym operacji, które można wykonywać na obiektach. Poniżej przedstawiona jest ogólna definicja klasy:

Klasa jest miejscem przechowywania tych informacji dotyczących obiektów, które są dla nich niezmienne, wspólne lub dotyczą całej ich populacji. Takie informacje są nazywane inwariantami klasy. Inwarianty dotyczące jednego obiektu mogą być przechowywane w wielu klasach tworzących hierarchię lub inną strukturę dziedziczenia. Obiekt przypisany do klasy zawierającej jego inwarianty jest nazywany wystąpieniem (instancją) tej klasy W języku UML oznaczeniem klasy jest prostokąt podzielony na trzy części. Pierwsza część zawiera nazwę klasy, druga specyfikację atrybutów, jakie będą posiadały obiekty tej klasy, a trzecia specyfikację operacji, czyli usług, jakie udostępniają obiekty tej klasy. Rysunek 1 pokazuje różne możliwe sposoby oznaczania klasy w zależności od wymaganego stopnia szczegółowości. Rys 1. Warianty specyfikacji klasy w UML W wielu wypadkach wystarczającą informacją jest nazwa klasy, stąd możliwość sprowadzenia specyfikacji klasy w UML jedynie do prostokąta z wpisaną nazwą klasy. Możemy elementy należące do klasy wyspecyfikować abstrahując od konkretnego języka programowania lub w sposób bardzo zbliżony do specyfikacji w

konkretnym języku. Preferowany jest C++; +, #, - oznaczają odpowiednio public, protected, private, podkreślenie oznacza atrybut lub metodę klasy (static). Oznaczenia specyficzne dla C++ nie są jednak składową UML; nie ma przeszkód, aby UML zastosować do dowolnego języka programowania. UML przewiduje także specjalną notację dla interfejsów, tj. tych własności klas, które są uwzględnione w ich specyfikacji i mogą być używane przez programistów. Zależności pomiędzy klasami: Dziedziczenie, czyli związek generalizacji - specjalizacji Strzałka (z białym trójkątnym grotem) prowadzi od pod-klasy do jej bezpośredniej nadklasy, (Rys.2). Zakłada się, że obiekt pod-klasy automatycznie dziedziczy wszystkie atrybuty, metody, asocjacje i agregacje z wszystkich jej nadklas. W stosunku do OMT wprowadzono nieco bardziej precyzyjne oznaczenia dla przypadków, kiedy zakresy znaczeniowe klas nie są rozłączne. Mianowicie, użytkownik może explicite zadeklarować aspekt, według którego specjalizuje się dany obiekt (napęd lub teren na Rys.3), oraz określić fakt niepustego przecięcia zakresów znaczeniowych - zbiorów obiektów (overlapping). Klasy Ciężarówka i Żaglówka zostały zdefiniowane z użyciem wielokrotnego dziedziczenia. Na Rys.3 zilustrowano również możliwość określania faktu, że podklasy są rozłączne (disjoint) i nie przykrywają całego zakresu znaczeniowego ich nadklasy (incomplete). Rys. 2. Dziedziczenie w UML i jego równoważne sposoby zapisu

Rys. 3 Dodatkowe elementy specyfikacji dziedziczenia Asocjacje Oznaczenia klas w UML mogą być połączone liniami oznaczającymi asocjacje, czyli powiązania pomiędzy obiektami tych klas. Rys. 4 pokazuje specyfikację asocjacji Pracuje_dla pomiędzy obiektami klasy Osoba i obiektami klasy Firma. Czarny trójkącik określa kierunek wyznaczony przez nazwę powiązania (w danym przypadku określa on, że osoba pracuje dla firmy, a nie firma pracuje dla osoby). Asocjacje mają nazwy, takie jak Pracuje_dla, które wyznaczają znaczenie tej asocjacji w modelu pojęciowym. Jeżeli to znaczenie jest oczywiste, wówczas nazwę asocjacji można pominąć. Rys. 4 Asocjacja i jej oznaczenie Asocjacje mogą być wyposażone w oznaczenia liczności. Jak zwykle, liczność oznacza, ile obiektów innej klasy może być powiązane z jednym obiektem danej klasy; zwykle określa się to poprzez parę liczb (znaków) oznaczającą minimalną i

maksymalną liczbę takich obiektów. Zapis liczności w UML jest naturalny i nie wprowadza specjalnych symboli graficznych. Oznaczenie 0..* oznacza liczność od zera do dowolnie wielkiej liczby; może być skrócone do pojedynczej gwiazdki. Analogicznie, 1..* oznacza liczność od jeden do dowolnie wielkiej liczby, zaś 0..1 oznacza liczność zero lub jeden. Generalnie, oznaczenia liczności mogą być zapisem dowolnego podzbioru liczb całkowitych nieujemnych, gdzie podwójna kropka oznacza od...do..., zaś gwiazdka oznacza dowolną liczbę. Rysunek 5 pokazuje przykładowy prosty diagram klas pokazujący zależności pomiędzy wybranymi klasami w systemie obsługi uczelni. Osoba poprzedza zapisany_na 1..* 0..1 Kurs * 1 zawiera następuje_po Student Pracownik Profesor prowadzi 1 1..* 1..* Wykład * Rys. 5 Diagram klas W UML istnieje możliwość opisu asocjacji nie tylko poprzez jej nazwę ale również poprzez role jakie klasy grają w tym powiązaniu. Jak każdy inny sposób opisu nie jest on wymagany w przypadku gdy role są oczywiste, natomiast w sytuacji gdy asocjacja łączy ze sobą tę samą klasę opis ról jest obligatoryjny (Patrz rys 5 asocjacja łącząca klasę Kurs czytamy ją w następujący sposób: Co najwyżej jeden kurs poprzedza kurs; dowolna liczba kursów może występować po kursie). Kompozycje i agregacje Agregacja jest szczególnym przypadkiem asocjacji wyrażającym zależność część-całość. Np. silnik jest częścią samochodu, czyli obiekt-samochód jest

agregatem obiektów będących jego częściami. Niestety, nie istnieje powszechnie akceptowana definicja agregacji, zaś wątpliwości co do jej znaczenia są zasadnicze. Autorzy UML podejmują próbę uporządkowania agregacji w taki sposób, aby zmniejszyć nieco zamieszanie dookoła tego pojęcia. Pozostawiając klasyczne pojęcia agregacji znane z innych metodyk i notacji obiektowych (np. OMT), wprowadzili oni mocniejszą formę agregacji, nazywając ją kompozycją. Związek kompozycji oznacza, że dana część może należeć tylko do jednej całości. Co więcej, część nie może istnieć bez całości, pojawia się i jest usuwana razem z całością. Usunięcie całości powoduje automatyczne usunięcie wszystkich jej części związanych z nią związkiem kompozycji. Klasycznym przykładem związku kompozycji jest zamówienie i pozycja zamówienia: pozycja zamówienia nie występuje oddzielnie (poza zamówieniem), nie podlega przenoszeniu od jednego zamówienia do innego zamówienia i znika w momencie kasowania zamówienia. Rys. 6 Agregacja i kompozycja by example. Rys.6 ilustruje zastosowanie agregacji i kompozycji. Każde wystąpienie obiektu Punkt należy albo do obiektu Wielobok albo do obiektu Okrąg; nie może należeć do dwóch obiektów naraz. Wystąpienie obiektu Styl może być dzielone przez wiele obiektów Wielobok i Okrąg. Usunięcie obiektu Wielobok powoduje kaskadowe usunięcie wszystkich związanych z nim obiektów Punkt, natomiast nie powoduje usunięcia związanego z nim obiektu Styl. Zwrócimy uwagę, że ograniczenie mówiące, iż obiekt Punkt może należeć do dokładnie jednego obiektu Wielobok lub Okrąg nie może być wyrażone w inny sposób.