Wyklad 3 klasy

background image

UML

Unified Modeling Language

Wykład

3

Diagram klas

background image

WSM dr Marek Szepski

2

Diagram klas

Diagram klas to graficzne

przedstawienie statycznych,
deklaratywnych elementów
dziedziny przedmiotowej oraz
związków miedzy nimi.

background image

WSM dr Marek Szepski

3

background image

WSM dr Marek Szepski

4

Klasa

Klasa jest uogólnieniem zbioru

obiektów, które mają takie same
atrybuty, operacje, związki i
znaczenie.

background image

WSM dr Marek Szepski

5

Klasy

A-nazwa
B-nazwa

+atrybuty

C-nazwa+

operacje

D-n+a+o

background image

WSM dr Marek Szepski

6

Klasy

background image

WSM dr Marek Szepski

7

Klasa

Klasa jest pojęciem ogólnym i składa się z

pewnej liczny obiektów.

Przykładami klas są: projekty, zespoły, produkty

pracy, wymagania, systemy.

Klasa definiuje typ obiektu i jego właściwości,

w tym cechy strukturalne oraz behawioralne.

Cechy strukturalne definiują, co obiekty z danej

klasy „wiedzą” (

atrybuty

i asocjacje).

Cechy behawioralne określają co obiekty mogą

robić (

operacje

i

metody

).

Klasy mogą być aktywne.

Klasy zawierające zero obiektów nazywamy

klasami abstrakcyjnymi.

Graficznie klasy są reprezentowane jak na

schemacie.

background image

WSM dr Marek Szepski

8

Asocjacje

Związek klas:

Nazwa

Role

Nawigacja

Liczebność

Agregacja

background image

WSM dr Marek Szepski

9

Nazwa

Role

Nawigacja

background image

WSM dr Marek Szepski

10

background image

WSM dr Marek Szepski

11

Liczeb-
ność

background image

WSM dr Marek Szepski

12

Agregacja

Związek: całość - część
a) całkowita b) częściowa

background image

WSM dr Marek Szepski

13

Agregat – obiekt stanowiący całość
Segment – część
W A. Całkowitej części nie mogą

istnieć bez agregatu

background image

WSM dr Marek Szepski

14

background image

WSM dr Marek Szepski

15

Diagram klas:

Konceptualny (analityczny, poziom

koncepcyjny)

Implementacyjny – zawiera

szczegóły atrybutów, operacji,

zobowiązań

Do diagramu implementacyjnego

dochodzi się w kolejnych krokach

dodając szczegóły

background image

WSM dr Marek Szepski

16

Widoczność

Określa dostępność atrybutów i operacji
+, publiczny, obiekty wszystkich klas

maja dostęp

-, prywatny, tylko obiekty danej klasy

mają dostęp do atrybutów i operacji

#, chroniony, dostęp maja obiekty z

klas dziedziczących

background image

WSM dr Marek Szepski

17

Jeśli nie ma istotnego powodu do
atrybuty powinny być prywatne.

Wartości atrybutów są wtedy
zmieniane przez operacje, które są
publiczne.

Aby klasa potomna miała dostęp
do atrybutów klasy nadrzędnej
musza one być chronione.

background image

WSM dr Marek Szepski

18

Atrybuty

background image

WSM dr Marek Szepski

19

Składnia atrybutu

widoczność nazwa_atrybutu

[liczebność uporządkowanie] : typ [=

wartość początkowa]

widoczność (+ publiczna, - prywatna, # chroniona)

nazwa_atrybutu nazwa opisywanego atrybutu

liczebność (domyślna = 1; granica_dolna

granica_górna)

uporządkowanie (unordered, ordered)

typ (może być każda klasa; Boolean; Integer; Real;

String)

wartość początkowa jest opcjonalna i oznacza

wartość początkową atrybutu

background image

WSM dr Marek Szepski

20

Oper-
acje

background image

WSM dr Marek Szepski

21

Składnia operacji

widoczność nazwa_operacji (lista_

parametrów) : typ_zwracany

widoczność (+ publiczna, - prywatna, # chroniona)

nazwa_operacji (nazwa opisywanej operacji)

lista_parametrów według składni:

rodzaj nazwa : typ = wartość_początkowa

rodzaj jest opcjonalny, ma wartość domyślną in. Rodzaj może

przyjmować wartości in, out, inout

typ – jest opcjonalny, nie ma wartości domyślnej – wskazuje typ

danych które może zawierać parametr. Typem parametru może

być inna klasa lub Boolean, Integer, Real, String

wartość_początkowa – jest opcjonalna i oznacza wartość

początkową parametru

typ_zwracany jest opcjonalny, nie ma wartości

domyślnej – wskazuje typ danych zwracanych przez

operację.

background image

WSM dr Marek Szepski

22

Operacje są publiczne

Szczególnymi operacjami są
konstruktor i destruktor

background image

WSM dr Marek Szepski

23

Zobowiązania

background image

WSM dr Marek Szepski

24

Nazwy:

Poziom implementacyjny

NazwaKlasyJakoRzeczownikwLPoj

nazwaAtrybutu

nazwaCzynnosciCzasownik

Na poziomie koncepcyjnym – nazwy

naturalne: liczba sztuk.....

background image

WSM dr Marek Szepski

25

Klasa asocjacyjna

Opisuje związek między klasami.

Związek może być złożony mieć
atrybuty i operacje
np..

Pracownik – pracodawca: umowa o

pracę

Osoba – projekt: harmonogram

background image

WSM dr Marek Szepski

26

Klasa asocjacyjna

background image

WSM dr Marek Szepski

27

Klasa abstrakcyjna

Klasa która nie posiada obiektów

nazywana jest

klasą abstrakcyjną

.

Przykładem klasy abstrakcyjnej

jest Interfejs (Interface).

background image

WSM dr Marek Szepski

28

Dziedziczenie

background image

WSM dr Marek Szepski

29

background image

WSM dr Marek Szepski

30

Dziedziczenie

Uogólnienie

(generalization) to związek

pomiędzy dwoma bytami:

Ogólnym (przodek)

Szczegółowym (potomek)

Obiekt bytu szczegółowego może być

używany w zastępstwie bytu ogólnego.

Jeżeli bytami są klasy to byt ogólny

nazywamy nadklasą czyli przodkiem a byt

szczegółowy klasą czyli potomkiem.

Potomek dziedziczy wszystkie

właściwości przodka, a w szczególności

jego atrybuty i operacje.

background image

WSM dr Marek Szepski

31

background image

WSM dr Marek Szepski

32

background image

WSM dr Marek Szepski

33

background image

WSM dr Marek Szepski

34

Polimorfizm

Operacja potomka mająca tą samą
sygnaturę co operacja przodka jest
ważniejsza (ma pierwszeństwo) od
operacji zdefiniowanej dla
przodka.

Zjawisko to nazywane jest

polimorfizmem

.

background image

WSM dr Marek Szepski

35

Przykłady diagramów klas

background image

WSM dr Marek Szepski

36

background image

WSM dr Marek Szepski

37

background image

WSM dr Marek Szepski

38

background image

WSM dr Marek Szepski

39

background image

WSM dr Marek Szepski

40

background image

WSM dr Marek Szepski

41

background image

WSM dr Marek Szepski

42

Tabela <-> Klasa

Pasywna

Jest wzorcem oraz
zbiorem obiektów

Trwała

Musi zawierać
atrybuty

Atrybuty
elementarne

Musi posiadać
unikalny
identyfikator- klucz

Aktywna

Jest tylko wzorcem
obiektów

Trwała lub ulotna

Są klasy nie
posiadające atrybutów

Atrybuty elementarne
lub złażone

Obiekty danej klasy są
zawsze rozróżnialne
niezależnie od
wartości atrybutów

background image

WSM dr Marek Szepski

43

Diagram klas -> ERD

łatwe przekształcenie:

1.

Zastąp złożone atrybuty
dodatkowymi tabelami i pomiń
operacje

2.

Dodaj klucze główne

3.

Dodaj tabele łączące, które
zlikwidują związki wiele do wielu

4.

Określ klucze obce i związki

5.

Przeprowadź normalizację tabel

background image

WSM dr Marek Szepski

44

Tworzenie diagramu klas

Analiza obiektowa

Karty CRC (class-responsibility-

collaboration)

Arkusz analizy obiektowej

RebeccaWirfs-Brock, Allan

McKean:

Projektowanie obiektowe

,

Helion

Edward Yourdon, Carl Argila:

Analiza

obiektowa i projektowanie,

WNT

background image

WSM dr Marek Szepski

45

Wzorce projektowe

Korzystaj z gotowych rozwiązań

Gamma, Helm, Johnson, Vlissides:

Wzorce projektowe

, WNT- IO

Shalloway, Trott:

Projektowanie

zorientowane obiektowo, wzorce
projektowe.

Helion


Document Outline


Wyszukiwarka

Podobne podstrony:
C i c++ wykłady, klasy
Wyklad Jezyk C# klasy Wyklad2 Klasy
C i c++ wykłady, klasy
Klasy, Programowanie, wykłady C++
Wykład wyznaczanie klasy Lauego
Wyklady I i Sprawozdawczosc finansowa, Klasy rachunkowoÂci - skrˇt, RACHUNKOWOŚĆ JEST JEDNA
Tematy wykładów otwartych na WB 2014, sprawdziany dla klasy IV szkoła podstawowa
c++ wykłady, Wyc 6 struktury przec klasy
Standardy edukacji muzycznej klasy 1-3, STUDIA -PRYWATNE, Studia - wykłady - Dorota, studia 2014
powtórzenie klasy, Programowanie, wykłady C++
Systemy klasy ERP wyklad
Wykład 12 Chemia Organiczna, grupy funkcyjne, klasy związków 5fantastic pl
Wykład 6 1 podstawowe klasy układów adaptacyjnych
wyklad1 wprowadzenie klasy
wyklad1 wprowadzenie klasy
Napęd Elektryczny wykład

więcej podobnych podstron