Systemy informacyjne zarządzania
WPROWADZENIE DO MODELOWANIA
OBIEKTOWEGO
Dr hab. inż. Edward Kołodziński, prof.
WSIiE TWP w Olsztynie
SIZ-2
Olsztyn 2010/2011
WPROWADZENIE DO MODELOWANIA OBIEKTOWEGO
Literatura podstawowa do wykładu:
1. Dąbrowski W., Stasiak A., Wolski M.:
Modelowanie systemów
informatycznych w języku UML 2.1 w
praktyce, PWN 2007
2. Śmiałek M.: Zrozumieć UML 2.0 –
metody modelowania obiektowego,
Helion, Gliwice 2005.
3. Wrycza S. i inni: Język UML 2.0 w
modelowaniu systemów
informatycznych, Helion, Gliwice 2005.
WPROWADZENIE DO MODELOWANIA OBIEKTOWEGO
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA SYSTEMÓW
1.
co to jest?
2.
po co?
3.
jak ?
Ad. 1. MOFS, to proces opracowywania
modelu systemu
-
jakiego?
.
Model obiektowy systemu-
to kopia rzeczywistości wykonana w określonym
celu, a więc z określonej perspektywy;
wykonany w odpowiedniej notacji -
języku
;
może opisywać różne wybrane aspekty
jego funkcjonowania;
zawiera różne elementy ( klasy, przypadki
użycia, związki itp. ), które uwidaczniane są za
pomocą różnego rodzaju diagramów;
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
1.
co to jest?
2. po co?
3.
jak ?
Po co?
czyli
Jaki jest cel opracowywania
modelu?
Doskonalenie jakości funkcjonowania
systemu.
Skuteczności
Efektywności
Bezpieczeństwa
Itp.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
1.
co to jest?
2. po co?
3.
jak ?
Ad. 2.
Modelowanie systemu :
ułatwia komunikację między uczestnikami (udziałowcami)
przedsięwzięcia projektowego systemu ;
skraca czas od powstania potrzeby do faktycznego jej zaspokojenia:
+ eliminując podejmowanie realizacji funkcjonalności nie
wykorzystywanych
przez przyszłego użytkownika wytwarzanego
systemu,
+ podejmując do realizacji funkcjonalności z uwzględnieniem:
wagi, kosztów
i ryzyka;
pozwala zapanować nad złożonością procesów realizowanych w
poszczególnych fazach cyklu
życia systemu – aby ich realizacja była
sterowalna;
maksymalizuje użyteczność artefaktu przy minimalizacji kosztów
ich wytwarzania i eksploatacji.
Model jest wykonywany w celu lepszego zrozumienia
modelowanego systemu.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
1.
co to jest?
2. po co?
3.
jak ?
Ad. 2
.
Modelowanie systemu, np. systemu informacyjnego
organizacji :
ułatwia komunikację między uczestnikami (udziałowcami) przedsięwzięcia projektowego systemu ;
skraca czas od powstania potrzeby do faktycznego jej zaspokojenia:
+ eliminując podejmowanie realizacji funkcjonalności nie wykorzystywanych
przez przyszłego
użytkownika wytwarzanego systemu,
+ podejmując do realizacji funkcjonalności z uwzględnieniem: wagi, kosztów i
ryzyka;
pozwala zapanować nad złożonością procesów realizowanych w poszczególnych fazach cyklu życia
systemu – aby ich realizacja była sterowalna;
maksymalizuje użyteczność artefaktu przy minimalizacji kosztów ich wytwarzania i eksploatacji.
MOFS- stanowi podstawę, przede wszystkim, do :
identyfikacji zadań szczegółowych realizowanych przez
organizację,
identyfikacji potrzeb informacyjnych organizacji,
identyfikacji pożądanego zakresu wsparcia
informatycznego realizacji procesów informacyjno-
decyzyjnych organizacji,
identyfikacji potrzeb informacyjnych realizacji procesów
informacyjno-decyzyjnych organizacji,
……………
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
1.
co to jest?
2.
po co?
3.
jak ?
Ad. 2
.
Modelowanie systemu, np. systemu informacyjnego organizacji :
ułatwia komunikację między uczestnikami (udziałowcami) przedsięwzięcia projektowego systemu ;
skraca czas od powstania potrzeby do faktycznego jej zaspokojenia:
+ eliminując podejmowanie realizacji funkcjonalności nie wykorzystywanych
przez przyszłego użytkownika
wytwarzanego systemu,
+ podejmując do realizacji funkcjonalności z uwzględnieniem: wagi, kosztów i
ryzyka;
pozwala zapanować nad złożonością procesów realizowanych w poszczególnych fazach cyklu życia systemu – aby ich
realizacja była sterowalna;
maksymalizuje użyteczność artefaktu przy minimalizacji kosztów ich wytwarzania i eksploatacji.
MOFS- stanowi podstawę do :
identyfikacji zadań szczegółowych realizowanych przez organizację,
identyfikacji potrzeb informacyjnych organizacji,
identyfikacji pożądanego zakresu wsparcia informatycznego realizacji procesów informacyjno-decyzyjnych
organizacji,
identyfikacji potrzeb informacyjnych realizacji procesów informacyjno-decyzyjnych organizacji,
……………
Powyższe umożliwia opracowanie :
wymagań na przedsięwzięcie usprawniające funkcjonowanie
organizacji ,
koncepcji przedsięwzięcia usprawniającego funkcjonowanie
organizacji,
analizy techniczno-ekonomicznej przedsięwzięcia ,
które stanowi podstawę do:
opracowania SIWZ na realizację przedsięwziecia,
realizacji prac nad usprawnieniem.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
1.
co to jest?
2.
po co?
3. jak ?
Ad. 3.
Stosując w poszczególnych fazach cyklu
życia systemu, zweryfikowane w praktyce:
–
podejście
– filozofię modelowania,
–
metody
,
–
notacje zapisu modeli
– język (narzędzia) do
precyzyjnego wyrażania myśli (w zwartej
formie) w postaci modeli – bez zbędnych
naleciałości i eliminujące nieokreśloności dla
wszystkich uczestników (udziałowców)
przedsięwzięcia projektowego.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Filozofia modelowania
model systemu powinien być:
+ wykonywany w języku zrozumiałym dla
wszystkich udziałowców (użytkowników,
analityków, projektantów, programistów)
przedsięwzięcia projektowego,
+ na tyle precyzyjny, aby stanowił podstawę do
wytworzenia systemu,;
w takie postulaty i w aktualne tendencje w
projektowaniu systemów wpisuje się
modelowanie
obiektowe
– zbliżania technik wytwarzania
systemów do wyobrażenia i zrozumienia
stosowanych pojęć bliskich wszystkim udziałowcom
tego przedsięwzięcia;
modele obiektowe systemu
składają się z
„obiektów systemowych”, odzwierciedlających
funkcjonalność i właściwości obiektów fizycznych,
stanowiących elementy składowe systemu.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Filozofia modelowania
model systemu powinien być:
+ wykonywany w języku zrozumiałym dla wszystkich
udziałowców (użytkowników, analityków, projektantów,
programistów) przedsięwzięcia projektowego,
+ na tyle precyzyjny, aby stanowił podstawę do wytworzenia
systemu,;
w takie postulaty i w aktualne tendencje w projektowaniu
systemów wpisuje się
modelowanie obiektowe
– zbliżania
technik wytwarzania systemów do wyobrażenia i zrozumienia
stosowanych pojęć bliskich wszystkim udziałowcom tego
przedsięwzięcia;
modele obiektowe systemu
składają się z „
obiektów
systemowych
”, odzwierciedlających funkcjonalność i właściwości
obiektów fizycznych, stanowiących elementy składowe systemu;
obiekt systemowy
–
to abstrakcja obiektu fizycznego posiadająca:
tożsamość,
stan,
zdefiniowany sposób zachowania.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Filozofia modelowania obiektowego cd.
Modelowanie obiektowe polega na:
wyodrębnieniu obiektów w środowisku,
opisaniu struktury obiektów,
opisaniu dynamiki działania obiektów,
grupowaniu obiektów o tych samych
właściwościach w
klasy
,
opisaniu struktury i powiązań klas obiektów,
opisaniu dynamiki współdziałania obiektów
klas podczas funkcjonowania systemu.
Modelowanie
obiektów
Modelowanie
klas obiektów
Organizacja
Obiekty fizyczne
organizacji
i-ty, obiektowy model organizacji
Obiekty systemowe
modelu organizacji
Filozofia wytwarzania systemu
z zastosowaniem podejścia
obiektowego
…
Proces wytwarzania systemu z zastosowaniem podejścia
obiektowego, to
iteracyjne uszczegóławianie jego kolejnych
modeli
:
od modelu
przypadków użycia
systemu aż do wytworzenia jego
docelowej struktury techniczno – programowej– stąd nazwa
metody
„tworzenie systemu sterowane modelami”
– ang. Model Driven Development (MDD).
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA SYSTEMÓW
Obiektowość
–
–
sposób myślenia i ujmowania
sposób myślenia i ujmowania
rzeczywistości
rzeczywistości
oparty na poniższych zasadach:
oparty na poniższych zasadach:
•
widzenia otaczającej nas rzeczywistości (świata)
widzenia otaczającej nas rzeczywistości (świata)
jako
jako zbioru
obiektów fizycznych
,
wzajemnie
wzajemnie
powiązanych
powiązanych
–
– wszędzie obiekty, obiekty,..., np.
+
Jan Kowalski(J.K.)
- obiekt należący do grupy
człowiek;
+
mój zegarek
- obiekt należący do grupy zegarek
i nadgrupy rzecz;
+ itd.;
• obiekt fizyczny
–
będący wyróżnioną częścią rzeczywistości
–
w obiektowym podejściu do jej modelowania,
reprezentowany jest przez
obiekt systemowy
,
który nazywać będziemy w skrócie
obiektem
;
Zasady i podstawowe pojęcia podejścia obiektowego
w modelowaniu funkcjonowania organizacji -
systemu
Obiekt fizyczny
Obiekt fizyczny
–
–
charakteryzowany jest poprzez:
-
właściwości
– opisywane za pomocą
atrybutów
– np.
obiekt J.K.:
wzrost, waga, wiek,...
-
zachowania
– opisywane za pomocą
metod
realizowanych
przez
niego operacji - obiekt J.K.: je, śpi, pisze, ....
Atrybuty i metody
łącznie nazywamy
składnikami
obiektu
.
Obiekty o tych samych składnikach (lecz nie ich wartościach)
grupowane są w zbiory nazywane
klasami.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Obiektowość i jego aspekty cd
Obiekt fizyczny
–
–
charakteryzowany jest poprzez:
-
właściwości
– opisywane za pomocą atrybutów – np. obiekt J.K.: wzrost, waga,
wiek,...
-
zachowania
– opisywane z pomocą metod (operacji) - obiekt J.K.: je, śpi, pisze, ....
Atrybuty i operacje łącznie nazywamy
składnikami
obiektu.
Obiekty o tych samych składnikach grupowane są w zbiory nazywane
klasami.
Klasa- dwa znaczenia:
–
zbiór obiektów o tych samych, wyróżnionych przez nas,
ich składnikach (atrybutach i metodach);
- pojęcie abstrakcyjne – uogólniona nazwa pewnej
jednorodnej grupy obiektów fizycznych, np. samochód,
zegarek, człowiek, itd.
Klasa – dwa znaczenia:
dzieli otaczające nas obiekty na kategorie o określonych
składnikach (
grupuje obiekty o określonych składnikach
) : ludzie,
studenci,
zwierzęta, meble,...
jest szablonem do wyodrębniania ze środowiska
obiektów
o określonych składnikach.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Modele
obiektów
fizycznyc
h
Klasa
Przykład
Pojęcie
abstrakcyj
ne
„samochód Opel” – to obiekt czy klasa?
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Paradygmat –
przyjęty sposób widzenia
rzeczywistości w danej dziedzinie, doktrynie itp.
Aspekty obiektowości
Paradygmat obiektowy w modelowaniu
rzeczywistości opiera się na czterech
zasadach:
1. abstrahowaniu;
2. hermetyzacji;
3. generalizacji;
4. polimorfizmie.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Aspekty (paradygmaty) obiektowości
1. Abstrahowanie
–
odfiltrowywanie atrybutów i operacji klasy
nieistotnych z punktu widzenia aktualnie
realizowanego
zadania -
rozwiązywanego problemu.
W wyniku
abstrahowania
w
strukturze klasy uwzględniamy
zatem jedynie
istotne
składniki (atrybuty i operacje).
W projektowaniu „obiektowym”,
w odniesieniu
do SI
celem jest tworzenie oprogramowania użytkowego
będącego
adekwatnym odbiciem potrzeb
wycinka rzeczywistości
(jej modelem).
Im więcej atrybutów i operacji obiektów fizycznych uwzględnimy w
modelu :
•
tym bardziej zbliżymy się do rzeczywistości,
•
niestety większa będzie złożoność jej opisu (modelu),
co może doprowadzić do nieużyteczności
modelu.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
2. Hermetyzacja
(kapsułkowanie)
- obiekt
widziany jest jako czarna
skrzynka
połączona z jego otoczeniem wyłącznie
poprzez
interfejs.
Interfejs –
zestaw operacji służący do
komunikowania się obiektu z jego otoczeniem i
otoczenia z nim. Każdy obiekt ma swój interfejs
pozwalający innym obiektom ( w tym ludziom)
komunikować się z nim , a jemu z innymi
obiektami - wymieniać
komunikaty
,
określające sposób wykonywania operacji przez
obiekty.
Interfejsy komunikacji człowieka, to: – podać.
Aspekty obiektowości cd
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
2.
Hermetyzacja
(kapsułkowanie)
- obiekt widziany jest jako czarna
skrzynka połączona z jego otoczeniem wyłącznie poprzez
interfejs.
• interfejs
–
służy do komunikowania się obiektu z jego otoczeniem i otoczenia z nim.
Każdy obiekt ma swój interfejs pozwalający innym obiektom ( w tym ludziom) komunikować
się z nim , a jemu z innymi obiektami - wymieniać
komunikaty
, określające sposób
wykonywania operacji przez obiekty.
• komunikat
–
to żądanie wykonania operacji.
Komunikat
oprócz
wywołania potrzeby
wykonania określonej metody przez inny
obiekt - do którego jest skierowany
komunikat, niesie on ze sobą dane, które stają
się parametrami wywołanej przez niego
metody obiektu
realizującego zlecenie.
Obiekty współpracując ze sobą wysyłają do
siebie komunikaty.
Przykład podpowiadania - osoby na sali.
Aspekty obiektowości cd
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
2. Hermetyzacja cd.
Przykład
• telewizor –wszystkie operacje: od odebrania sygnału wizji i fonii do
wytworzenia obrazu na monitorze i dźwięku w głośniku są ukryte przed
telewidzem.
Interfejsem
dla telewidza jest pilot, za pomocą którego przekazuje on
komunikaty
do telewizora za pomocą odbiornika: włącz, wyłącz
wybierz kanał nr XY, głośniej, ciszej itp.
Dla telewizora pilot jest obiektem jego otoczenia .
Obiekt – pilot wysyła komunikaty do obiektu – telewizor i zleca mu
wykonanie określonych zadań.
EKRAN TELEWIZORA ?
• komputer - użytkownik systemu ma kontakt z nim (wysyła
komunikaty) za pomocą interfejsu: klawiatury i myszki zaś „odbiera”
informacje poprzez
monitor.
Następstwa hermetyzacji w projektowaniu SI:
-
możliwość zrównoleglenia prac projektowych;
- błędy w jednym module nie przenoszą się na inne;
- większa łatwość ponownego (wielokrotnego) wykorzystania
fragmentów oprogramowania , na zasadzie komponentów.
Aspekty obiektowości
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
3. Generalizacja- uogólnienie
Klasa- szablon do tworzenia obiektów, o składnikach
w niej
zdefiniowanych .
Obiekt
Obiekt – egzemplarz danej klasy. Ma składniki określone przez
strukturę swojej klasy. Zatem obiekt, jako jej
egzemplarz
dziedziczy
jej składniki,
jej składniki, (
lecz nie ich wartości
)
tzn.
tzn.
atrybuty i operacje klasy.
Generalizacja (uogólnienie) –
umożliwia stworzenie
hierarchii
dziedziczenia,
co oznacza, że obiekty podklasy
dziedziczą cechy obiektów nadklasy,
Potomek dziedziczy strukturę
i zachowanie przodka, a ponad to ma cechy własne.
symbol graficzny
generalizacji w UML
Przykład 1.
Prostokąt
Kwadrat
Okrąg
Figura
Wielokąt
Uogólnienie
Zasady i podstawowe pojęcia podejścia obiektowego w modelowaniu
funkcjonowania organizacji - systemu
Przod
ek
Przode
k dla
kwadr
atu
potom
ek
Kierunek
uogólniania-
generalizacji
Kierunek
dziedziczenia
grot wskazuje przodka
Generalizacja (uogólnienie)
Przykład 2
Koń
Ssak
Płaz
Gad
Zwierzę
Zasady i podstawowe pojęcia podejścia obiektowego w modelowaniu
funkcjonowania organizacji - systemu
Kierunek
uogólnienia
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
4. Polimorfizm
4. Polimorfizm
– oznacza, że ta sama nazwa operacji
– oznacza, że ta sama nazwa operacji
w różnych
w różnych
klasach może oznaczać
klasach może oznaczać
różne działania, np. W przychodni - „spadł pan?”
różne działania, np. W przychodni - „spadł pan?”
Polimorfizm jest istotny przy ustalaniu wymagań
Polimorfizm jest istotny przy ustalaniu wymagań
–pozwala
–pozwala
analitykowi-
analitykowi-
tworzącemu modele
tworzącemu modele
przypadków użycia, na zachowanie
przypadków użycia, na zachowanie
naturalnego słownictwa informatyzowanej
naturalnego słownictwa informatyzowanej
branży.
branży.
Stąd analityk powinien umieć rozmawiać
Stąd analityk powinien umieć rozmawiać
językiem klienta.
językiem klienta.
Aspekty obiektowości
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
W każdym systemie (organizacji) wyróżniamy:
• jego strukturę fizyczną;
• procesy przez nią realizowane.
Istnienie odpowiedniej struktury fizycznej
organizacji jest
warunkiem koniecznym możliwości funkcjonowania
organizacji –
realizacji przez nią procesów
„produkcyjnych” i
zarządczych
–
informacyjno-decyzyjnych.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
W każdym systemie (organizacji) wyróżniamy:
• jego strukturę fizyczną;
• procesy przez nią realizowane.
Istnienie odpowiedniej struktury fizycznej organizacji jest warunkiem koniecznym
możliwości funkcjonowania
organizacji – realizacji przez nią procesów
„produkcyjnych” i zarządczych
–
informacyjno-decyzyjnych.
Na
obiektowy model funkcjonowania
organizacji
( systemu ) składają się dwa
modele obiektowe
:
• struktury fizycznej organizacji;
• dynamiki organizacji – procesów przez nią ( w niej
) realizowanych.
<<extend
>>
Model
biznesowy
organizacji
Organizacj
a
Model
systemowy
SI
*
1
Model biznesowy organizacji – opis procesów biznesowych
Model systemowy SI - opis sposobu realizacji procesów zarządzania
organizacją –
informacyjno-decyzyjnych
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Ustalanie wymagań na SI, opracowywany
dla organizacji, realizujemy w
dwóch
etapach
:
1.
opracowujemy model biznesowy
organizacji –środowiska
funkcjonowania SI;
2.
opracowujemy model systemowy SI, na
który składają się:
+ model struktury SI,
+ model dynamiki SI.
Zasady i podstawowe pojęcia podejścia obiektowego w
modelowaniu funkcjonowania organizacji - systemu
Ustalanie wymagań na SI, opracowywany dla organizacji, realizujemy w dwóch
etapach:
1.
opracowujemy model biznesowy organizacji –środowiska funkcjonowania SI;
2.
opracowujemy model systemowy SI, na który składają się:
+ model struktury SI,
+ model dynamiki SI.
Warunkiem możliwości opracowywania
modeli obiektowych – modelowania
obiektowego- jest:
1. opanowanie umiejętności praktycznego
posługiwania się językiem
modelowania obiektowego – UML;
2. opanowanie narzędzi programowych
wspomagających tworzenie modeli w
UML.
Podstawowym elementem konstrukcyjnym do
przedstawiania grup obiektów fizycznych o
analogicznych
właściwościach (jednorodnych)w modelu
struktury
projektowanego systemu, z zastosowaniem
języka UML, jest
klasa.
Jednakże
bez określenia związków
między klasami
model jest jedynie listą
nazw prostokątów –
słownikiem terminologicznym.
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Podstawowym elementem konstrukcyjnym do przedstawiania grup obiektów fizycznych
o analogicznych
właściwościach w modelu struktury projektowanego systemu, z zastosowaniem języka
UML, jest
klasa.
Jednakże
bez określenia związków między klasami model jest jedynie listą nazw
prostokątów – słownikiem terminologicznym.
Relacje między klasami
, które „generują” obiekty
systemowe –
reprezentujące obiekty fizyczne modelowanej
rzeczywistości
–
pokazują
związki
między tymi obiektami.
Wyróżnia się pięć rodzajów
związków między
klasami:
1. powiązanie,
2. agregacja,
3. zależność,
4. uogólnienie.
Związki strukturalne klas
1.
Powiązanie klas
–
związek strukturalny między
klasami.
Zawodnik
Drużyna
Gra w
5
1
Związki strukturalne klas
Rodzaj
powiązania
Zwrot
powiązania
Liczba
obiektów w
klasie
Odcinek
łączący
klasy -
symbol
powiązania
między
klasami
Pracownik
Pracodawca
Zatrudn
ia
Przykład
powiązania
dwóch klas
obiektów:
„Zawodnik”
„Drużyna”
Przykład powiązania
dwóch klas
obiektów:
„Pracownik”
„Pracodawca
”
Związki strukturalne klas
2.
Agregacja klas
– rodzaj powiązania miedzy klasami.
Otaczające nas obiekty są w istocie obiektami
złożonymi – składającymi się z obiektów prostszych,
które stanowią również złożenie obiektów.
Przykład:
-
obiekt „
obiekt „
system komputerowy
”
składa się z
takich
obiektów (komponentów) jak:
„komputer”, „monitor”, ”drukarka”...
- „
system komputerowy
”
powstał w wyniku
odpowiedniego połączenia -
agregacji
komponentów
–
–
obiektów składowych określonych klas.
obiektów składowych określonych klas.
Związki strukturalne klas
2.
Agregacja klas
cd
Otaczające nas obiekty są w istocie obiektami złożonymi – składającymi się z
obiektów prostszych, które stanowią również złożenie obiektów.
Przykład:
-
obiekt „
obiekt „
system komputerowy
” składa się z takich obiektów (komponentów)
jak: „komputer”, „monitor”, ”drukarka”...
- „
system komputerowy
” powstał w wyniku odpowiedniego połączenia -
agregacji
komponentów
– obiektów składowych określonych klas.
– obiektów składowych określonych klas.
Agregacja
–
określa zatem związek
między klasą obiektów złożonych -
stanowiących całość - i klasami obiektów
składowych - jej komponentami .
Agregacja –
rodzaj powiązania
„całość –
część”.
Agregacja cd.
Symbol graficzny agregacji na diagramach-
Przykład
Fakt, że w skład
systemu komputerowego
wchodzą
obiekty klas:
jednostka centralna, klawiatura,
monitor, drukarka,
itd.,
stosując notację UML, można przedstawić jak na
poniższym rysunku.
Jednostka
centralna
System komputerowy
Jednostka
centralna
Klawiatura
Monitor
Związki strukturalne klas
Rodzaj
powiązania
między
obiektami
-agregacja
Związki strukturalne klas
Agregacja cd
Szczególny przypadek
agregacji
stanowi agregacja całkowita,
agregacja całkowita,
której
której
elementy składowe (komponenty) nie mogą istnieć samodzielnie,
elementy składowe (komponenty) nie mogą istnieć samodzielnie,
tak jak
tak jak
w przypadku
w przypadku
komplet wypoczynkowy
komplet wypoczynkowy
.
.
Przykłady
Przykłady
agregacji całkowitej
:
•
koszula
-jej komponenty: kołnierz, mankiety, guziki, itd. nie
-jej komponenty: kołnierz, mankiety, guziki, itd. nie
spełniają
spełniają
żadnej roli samodzielnie;
żadnej roli samodzielnie;
•
stół
– jego komponenty: blat i nogi nie spełniają żadnej roli
– jego komponenty: blat i nogi nie spełniają żadnej roli
samodzielnie.
samodzielnie.
Agregacja całkowita
–
określa zatem związek między klasą
złożoną i jej
komponentami (też klasami), które mogą należeć
tylko do jednej klasy – powiązanie „całość – część”.
Agregacja całkowita cd.
Symbol graficzny
agregacji całkowitej
-
Przykład
Stół jako
agregacja całkowita
blatu i nóg.
Blat
Nogi
Stół
Związki strukturalne klas
3. Zależność
–
rodzaj relacji między dwoma
dowolnymi
elementami modelu, która
oznacza , że jeden z elementów wymaga istnienia
innego elementu aby być w pełni opisany .
• symbol graficzny
Przykład
System
wyświetlFormularz
Formularz
firmowy do wypełnienia
przez pracownika
Rodzaj wyświetlanego obiektu klasy
Formularz
zależy od wyboru dokonanego przez pracownika.
Klasa
niezal
eżna
Jedna
z
operac
ji klasy
Syste
m
Grot wskazuje klasę niezależną
Klasa
zależn
a
Związki strukturalne klas
4. uogólnienie –
umożliwia stworzenie hierarchii
dziedziczenia,
co oznacza, że obiekty podklasy dziedziczą cechy obiektów
nadklasy,
Potomek dziedziczy strukturę i zachowanie przodka, a
ponad to ma cechy własne.
symbol graficzny
generalizacji w UML
Przykład 1.
Prostokąt
Kwadrat
Okrąg
Figura
Wielokąt
Uogólnienie
Związki strukturalne klas
Przod
ek
Przode
k dla
kwadr
atu
potom
ek
Kierunek
uogólniania-
generalizacji
Kierunek
dziedziczenia
grot wskazuje przodka
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Klasy obiektów systemowych w UML
Klasa
- zbiór obiektów o analogicznych :
- atrybutach,
- operacjach,
- zobowiązaniach,
- ograniczeniach.
Symbol klasy- prostokąt
Nazwa klasy
Pole atrybutów
Pole metod (operacji)
Pole zobowiązań
ograniczenia
Składowe
klasy
MODELOWANIE OBIEKTOWE FUNKCJONOWANIA
SYSTEMÓW
Klasy obiektów systemowych w UML cd
Przykład:
nazwa
metody
operacje
atrybuty
Okno
• rozmiar
• położenie
• otwórz
• zamknij
Mocować wkrętami
zobowiązanie
Otwór wnęki
większy o1 cm
ograniczenia
Modelowanie struktury SI cd
Modelowanie struktury SI cd
Ważnym i trudnym zagadnieniem w procesie opracowywania modelu SI jest
panowanie nad jego złożonością i wymiarowością, gdy informatyzowany
system posiada setki i więcej obiektów fizycznych.
Język UML daje możliwość
redukcji wymiarowości
modelu poprzez:
grupowanie obiektów w
klasy
(ang. class)
;
grupowanie klas w
pakiety
(ang. package)
;
grupowanie klas o określonej funkcjonalności w
komponenty
(ang. component)
- reprezentujące
podsystemy.
Komponenty komunikują się ze sobą za pomocą
interfejsów
(ang.
interface).
Wprowadzenie pojęcia „interfejs” pozwala na zastosowanie w modelowaniu
struktury SI
hermetyzacji komponentów
, z którymi można komunikować
się tylko poprzez interfejs.
Aby stworzyć możliwość przedstawiania struktury systemu za pomocą
wymienionych składowych (pakietów i komponentów) języka UML
niezbędne
jest wprowadzenie relacji między nimi typu zależności (ang.
dependency).
Modelowanie struktury SI cd
– pojęcie diagramu
Diagram
- schemat- przedstawiany za pomocą
grafu, w którym wierzchołkami są elementy
a krawędziami związki.
Wyróżnia się
diagramy
:
klas,
obiektów,
przypadków użycia,
czynności,
interakcji,
komponentów,
wdrożenia.
Modelowanie struktury SI cd
– pojęcie diagramu
Diagram klas
Diagram klas
– obrazuje pewien zbiór klas,
interfejsów i kooperacji oraz statyczne
związki między nimi.
Diagram klas
stanowi bazę wyjściową do
diagramów komponentów i wdrożenia.
Modelowanie struktury SI cd
Do modelowania struktury SI za pomocą UML
stosuje się:
diagramy obiektów
(ang. object diagram) – do
przedstawienia obiektów fizycznych
modelowanej rzeczywistości i ich powiązań,
diagramy klas
(ang. class diagram) - do
przedstawienia obiektów i ich powiązań
zgrupowanych w klasę,
diagramy pakietów
(ang. package diagram) -
do przedstawienia obiektów i ich powiązań
zgrupowanych w pakiet,
diagramy komponentów
(ang. component
diagram) - do przedstawienia obiektów i ich
powiązań zgrupowanych w komponent,
diagram wdrożenia
(ang. deployment
diagram) – do reprezentowania fizycznych
centrów obliczeniowych za pomocą węzłów.
Modelowanie struktury SI cd
Komponenty w tworzeniu SI
Komponent-
fizyczna, wymienna część SI, realizująca pewną
zamkniętą grupę
jego funkcjonalności – „czarną
skrzynkę”.
Oznacza to, że:
komponent powinien grupować w sobie elementy systemu
( tworząc podsystem), które są w stanie realizować pewien
(wyodrębniony z całości) podzbiór jego funkcjonalności;
funkcjonalność systemu, podzielonego na
komponenty, realizowana jest poprzez ich
współpracę;
komponenty współdziałają ze sobą jedynie na
zasadzie wymiany efektów swojej „pracy” poprzez
interfejs
.
Modelowanie struktury SI cd
Komponenty w tworzeniu SI
Komponent-
fizyczna, wymienna część SI, realizująca pewną zamkniętą grupę
jego funkcjonalności – „czarną skrzynkę”. Oznacza to, że:
komponent powinien grupować w sobie elementy systemu ( tworząc
podsystem), które są w stanie realizować pewien (wyodrębniony z całości)
podzbiór jego funkcjonalności;
funkcjonalność systemu, podzielonego na komponenty, realizowana jest
poprzez ich współpracę;
komponenty współdziałają ze sobą jedynie na zasadzie wymiany efektów
swojej „pracy” poprzez
interfejs
.
Reprezentacje komponentu w UML
W języku UML komponent jest analogiem klasy.
Komponent może mieć:
+ nazwę,
+ atrybuty,
+ operacje.
XXXX
XXXXX
Nazwa
kompone
ntu
Modelowanie struktury SI cd
Komponenty w tworzeniu SI cd.
W SI komponenty odnosi się zazwyczaj do
oprogramowania.
Jeden komponent może być implementacją więcej
niż jednej klasy, np. baza danych i program ją
obsługujący, procesor tekstu itp.
Przykład - prezentacja komponentu z pokazaniem
implementowanych przez niego klas.
procesor Tekstu.exe
Klasy:
ProcesorTekstu
SłownikOrtograficzny
LicznikSłów
Nazwa
komponen
tu
Modelowanie struktury SI cd
Komponenty w tworzeniu SI cd.
Cel modelowania komponentów
programowych SI – aby:
klienci mogli zobaczyć pełną strukturę
oprogramowania SI;
projektanci i programiści znali strukturę
funkcjonalną oprogramowania SI, do której
mają dążyć;
twórcy dokumentacji i „helpów” wiedzieli
do czego dążą;
możliwe było wielokrotne ich
wykorzystanie.
Modelowanie struktury SI cd
Komponenty w tworzeniu SI cd.
Zalety komponentowego ujęcia SI w projektowaniu
[1]:
1. ułatwia
zrozumienie struktury systemu. Hermetyzacja
grup funkcjonalności systemu umożliwia koncentrację
uwagi na istotnych jego aspektach. Szczegóły ukryte
są w opisie komponentów systemu.
2. ułatwia
dekompozycję zadania projektowego na
cząstkowe, co umożliwia pracę grupową nad
tworzeniem systemu;
3. zwiększa
elastyczność funkcjonalną systemu, dzięki
możliwości niezależnego rozszerzania funkcjonalności
poszczególnych komponentów. Zwiększona odporność
na zmiany konfiguracji sprzętowej.
Komponenty w tworzeniu oprogramowania
SI można traktować jak
klocki lego.
Modelowanie struktury SI cd
Komponenty w tworzeniu SI cd.
Zalety komponentowego ujęcia SI w projektowaniu [3]:
1.
ułatwia
zrozumienie struktury systemu. Hermetyzacja grup funkcjonalności systemu
umożliwia koncentrację uwagi na istotnych jego aspektach. Szczegóły ukryte są w
opisie komponentów systemu.
2.
ułatwia
dekompozycję zadania projektowego na cząstkowe, co umożliwia pracę
grupową nad tworzeniem systemu;
3.
zwiększa
elastyczność funkcjonalną systemu, dzięki możliwości niezależnego
rozszerzania funkcjonalności poszczególnych komponentów. Zwiększona odporność na
zmiany konfiguracji sprzętowej.
4. zapobiega
powstawaniu „makaronizmów” w kodzie
oprogramowania, gdyż do realizacji przetwarzania informacji
przez elementy składowe komponentu można zwracać się
jedynie drogą oficjalną przez interfejs komponentu i
następnie powiązaniami;
5. ułatwia
„czyszczenie” oprogramowania z błędów, gdyż od razu
lokalizuje się z dokładnością do komponentu;
6. ułatwia
ponowne wykorzystanie (ang.reuse) kodu
komponentu.
Komponenty w tworzeniu oprogramowania SI można traktować jak
klocki lego.
Modelowanie struktury SI cd
Interfejsy komponentów w SI
Komponent
realizuje pewne ściśle związane ze sobą przypadki użycia
systemu, w ramach czego
jest informacyjnie zamknięty
. Ze
swoim otoczeniem komunikuje się gdy jest to niezbędne do
wykonania operacji.
Operacje komponentu
, dla jego otoczenia, dostępne są jedynie
poprzez
interfejs.
Interfejs komponentu
( analog interfejsu klasy) – „autonomiczny”
zestaw operacji, za pomocą których komponent komunikuje się ze
swoim otoczeniem.
Interfejs eksportowy
komponentu – interfejs poprzez który
komponent świadczy swoje usługi – eksportuje swoje usługi.
Interfejs importowy
komponentu - interfejs poprzez który
komponent korzysta z usług innych komponentów
– importuje
usługi.
Komponent
z jednego systemu może być użyty w innym systemie
jeżeli będzie w nim
interfejs
umożliwiający dostęp do jego
operacji.
Wniosek dla projektantów SI –
interfejsy komponentów muszą
być opisywane komunikatywnie–
jest to warunek wielokrotnego ich wykorzystania.
Modelowanie w PSI
Modelowanie dynamiki systemu
• W
modelu struktury
pokazujemy aspekty statyczne systemu.
• W
modelu dynamiki
pokazujemy procesy zachodzące w
systemie.
• Oprogramowanie systemu realizuje
dynamiczną
funkcjonalność systemu.
• Spełnienie rzeczywistych potrzeb zamawiającego zależy od
jakości ich odzwierciedlenia w projektowanym SI, tzn.w jego
strukturze technicznej i oprogramowaniu.
• Model dynamiki SI musi mieć ścisły związek z modelem
struktury SI, tzn. musi być zgodność obiektów (klas) obu
modeli.
Modelowanie w PSI
Modelowanie dynamiki systemu cd.
Dynamikę systemu opisujemy za pomocą diagramów [3
pkt.3.5]:
przypadków użycia
(ang. use case);
czynności
(ang.activity);
interakcji
( ang. interaction overview).