background image

1

1

Modelowanie

Modelowanie

 systemów 

 systemów 

informatycznych

informatycznych

background image

2

2

Plan wykładu

Plan wykładu

Modelowanie a projektowanie 

Modelowanie a projektowanie 

Model kontekstowy

Model kontekstowy

Model analityczny 

Model analityczny 

Model logiczny 

Model logiczny 

Model zachowania 

Model zachowania 

Model obiektowy 

Model obiektowy 

                   

                   

Strategie budowy modelu 

Strategie budowy modelu 

obiektowego

obiektowego

                   

                   

Obiekty, zbiory obiektów i metadane

Obiekty, zbiory obiektów i metadane

 

 

Podstawowe rezultaty modelowania

Podstawowe rezultaty modelowania

background image

3

3

Modelowanie systemu

Modelowanie systemu

Model systemu jest to graficzna prezentacja

Model systemu jest to graficzna prezentacja

w  której przedstawia się problem do rozwiązania i 

w  której przedstawia się problem do rozwiązania i 

system do zbudowania. Dzięki użyciu graficznych 

system do zbudowania. Dzięki użyciu graficznych 

środków wyrazu 

środków wyrazu 

modele są zwykle bardziej 

modele są zwykle bardziej 

zrozumiałe

zrozumiałe

 niż szczegółowy opis wymagań 

 niż szczegółowy opis wymagań 

systemowych w języku naturalnym. 

systemowych w języku naturalnym. 

Modele mogą być użyte do zobrazowania systemu 

Modele mogą być użyte do zobrazowania systemu 

z różnych punktów widzenia:

z różnych punktów widzenia:

zewnętrznego

zewnętrznego

, przy którym modeluje się 

, przy którym modeluje się 

kontekst lub środowisko systemu.

kontekst lub środowisko systemu.

zachowania

zachowania

, przy którym modeluje się 

, przy którym modeluje się 

zachowanie systemu.

zachowanie systemu.

strukturalnego

strukturalnego

, przy którym modeluje się 

, przy którym modeluje się 

architekturę systemu lub strukturę 

architekturę systemu lub strukturę 

przetwarzanych danych.

przetwarzanych danych.

background image

4

4

modelowanie

Modelowanie

Modelowanie

Modelowanie jest elementem zarówno 

Modelowanie jest elementem zarówno 

analizy

analizy

, jak i 

, jak i 

projektowania

projektowania

Często mówi się o modelu 

Często mówi się o modelu 

logicznym 

logicznym 

(analiza) i 

(analiza) i 

fizycznym

fizycznym

 (projektowanie)

 (projektowanie)

analiza

projektowanie

background image

5

5

Modelowanie - typowe 

Modelowanie - typowe 

zagadnienia

zagadnienia

W większości 

przypadków 

zalecane jest 

wykorzystyw

anie notacji 

UML

Budowa statycznego 

Budowa statycznego 

modelu klas

modelu klas

Analiza 

Analiza 

funkcjonalności i 

funkcjonalności i 

przypadków

przypadków

 użycia

 użycia

Weryfikacja

Weryfikacja

 klas i obiektów

 klas i obiektów

Identyfikacja i definiowanie

Identyfikacja i definiowanie

 

 

metod oraz komunikatów

metod oraz komunikatów

Modelowanie stanów

Modelowanie stanów

 i przejść 

 i przejść 

między stanami

między stanami

Modelowanie 

Modelowanie 

procesów i 

procesów i 

przepływów

przepływów

 

 

danych

danych

Modelowanie 

Modelowanie 

przepływu 

przepływu 

sterowania

sterowania

Inne

Inne

background image

6

6

Modelowanie a projektowanie

Modelowanie a projektowanie

Modelowanie 

Modelowanie 

(analiza)

(analiza)

Pytanie

Pytanie

Jak system 

Jak system 

ma działać?

ma działać?

Cel

Cel

: ustalenie 

: ustalenie 

czynników, które 

czynników, które 

mogą wpłynąć na 

mogą wpłynąć na 

decyzje projektowe i 

decyzje projektowe i 

realizację wymagań

realizację wymagań

Wynik

Wynik

: logiczny 

: logiczny 

model systemu, 

model systemu, 

abstrahujący od 

abstrahujący od 

szczegółów 

szczegółów 

implementacyjnych

implementacyjnych

Projektowanie

Projektowanie

Pytanie

Pytanie

Jak system  

Jak system  

  ma być 

  ma być 

zaimplementowany?

zaimplementowany?

Cel

Cel

: struktura   

: struktura   

projektu zachowująca 

projektu zachowująca 

ogólną strukturę 

ogólną strukturę 

modelu stworzonego 

modelu stworzonego 

podczas analizy 

podczas analizy 

Wynik

Wynik

szczegółowy 

szczegółowy 

opis implementacji 

opis implementacji 

systemu

systemu

 

 

background image

7

7

Modele 

Modele 

kontekstowe

kontekstowe

background image

8

8

Modele kontekstowe

Modele kontekstowe

We 

We 

wczesnej fazie

wczesnej fazie

 procesu określania 

 procesu określania 

i analizowania wymagań należy 

i analizowania wymagań należy 

ustalić granice

ustalić granice

 systemu.

 systemu.

W niektórych wypadkach

W niektórych wypadkach

 granica 

 granica 

między systemem, a jego 

między systemem, a jego 

środowiskiem jest 

środowiskiem jest 

dość czytelna.

dość czytelna.

Granice między systemem a jego 

Granice między systemem a jego 

środowiskiem należy ustalić 

środowiskiem należy ustalić 

w trakcie 

w trakcie 

procesu inżynierii wymagań.

procesu inżynierii wymagań.

background image

9

9

Kontekst systemu 

Kontekst systemu 

bankomatu

bankomatu

System

księgowy

oddziału

System

obsługi

oddziału

System

bankomatu

System

zabezpieczeń

System

konserwacji

Baza danych 

o użytkowaniu

Baza danych

kont

background image

10

10

Model analityczny

Model analityczny

background image

11

11

Model analityczny:

Model analityczny:

uproszczony opis systemu

uproszczony opis systemu

, zawierający wszystkie 

, zawierający wszystkie 

istotne cechy oprogramowania 

istotne cechy oprogramowania 

na wyższym 

na wyższym 

poziomie abstrakcji

poziomie abstrakcji

opisany przy pomocy 

opisany przy pomocy 

notacji zgodnej z pewną 

notacji zgodnej z pewną 

konwencją

konwencją

zbudowany przy użyciu dobrze rozpoznanych metod 

zbudowany przy użyciu dobrze rozpoznanych metod 

i narzędzi

i narzędzi

może być używany do wnioskowania o 

może być używany do wnioskowania o 

przyszłym oprogramowaniu

przyszłym oprogramowaniu

nawet b. dobry model nie jest warunkiem 

nawet b. dobry model nie jest warunkiem 

wystarczającym

wystarczającym

 do stworzenia dobrego projektu 

 do stworzenia dobrego projektu 

systemu (np. bez udziału doświadczonych i 

systemu (np. bez udziału doświadczonych i 

wnikliwych projektantów),

wnikliwych projektantów), 

background image

12

12

Model 

Model 

logiczny

logiczny

background image

13

13

Model logiczny

Model logiczny

Logiczny model oprogramowania:

Logiczny model oprogramowania:

 

 

pokazuje co system 

pokazuje co system 

musi robić

musi robić

;

;

 

 

jest 

jest 

zorganizowany hierarchicznie

zorganizowany hierarchicznie

, wg 

, wg 

poziomów abstrakcji;

poziomów abstrakcji;

 

 

unika terminologii implementacyjnej;

unika terminologii implementacyjnej;

 

 

pozwala na wnioskowanie

pozwala na wnioskowanie

 „od 

 „od 

przyczyny do skutku” i odwrotnie.

przyczyny do skutku” i odwrotnie.

background image

14

14

Model logiczny

Model logiczny

 – abstrahuje od 

 – abstrahuje od 

czynników technicznych związanych 

czynników technicznych związanych 

z realizacją, takich jak:

z realizacją, takich jak:

sposób reprezentacji danych,

sposób reprezentacji danych,

sposób zapisu danych (np. w bazie 

sposób zapisu danych (np. w bazie 

danych),

danych),

sposób implementacji algorytmów,

sposób implementacji algorytmów,

konfiguracja sprzętowa.

konfiguracja sprzętowa.

background image

15

15

Model 

Model 

zachowania

zachowania

background image

16

16

Modelowanie zachowania

Modelowanie zachowania

Modelując zachowanie obiektów, 

Modelując zachowanie obiektów, 

musimy wykazać, 

musimy wykazać, 

jak korzysta 

jak korzysta 

się z operacji dostarczonych 

się z operacji dostarczonych 

przez obiekty

przez obiekty

.

.

W UML

W UML

 zachowanie jest 

 zachowanie jest 

modelowane za pomocą 

modelowane za pomocą 

scenariuszy

scenariuszy

.

.

background image

17

17

Modele zachowania

Modele zachowania

Modele zachowania są używane 

Modele zachowania są używane 

do 

do 

ogólnego opisywania zachowania

ogólnego opisywania zachowania

 

 

systemu.

systemu.

Dwa typy modeli:

Dwa typy modeli:

Modele 

Modele 

przepływów danych

przepływów danych

, w których 

, w których 

opisuje się przetwarzanie danych w 

opisuje się przetwarzanie danych w 

systemie.

systemie.

Modele 

Modele 

maszyn stanowych

maszyn stanowych

, w których 

, w których 

opisuje się reakcje systemu na zdarzenia.

opisuje się reakcje systemu na zdarzenia.

background image

18

18

Modele przepływu danych

Modele przepływu danych

Są 

Są 

intuicyjnym  sposobem  przedstawienia

intuicyjnym  sposobem  przedstawienia

jak dane są przetwarzane przez system.

jak dane są przetwarzane przez system.

Na  etapie 

Na  etapie 

analizy  należy  ich  użyć  do 

analizy  należy  ich  użyć  do 

modelowania 

przetwarzania

modelowania 

przetwarzania

 

danych 

 

danych 

istniejącym systemie.

istniejącym systemie.

Notacje  używane  w  tych  modelach  służą  do 

Notacje  używane  w  tych  modelach  służą  do 

przedstawiania 

przetwarzania 

przedstawiania 

przetwarzania 

funkcjonalnego

funkcjonalnego

magazynów 

danych 

magazynów 

danych 

przekazywania danych

przekazywania danych

 między funkcjami.

 między funkcjami.

Modele  przepływu  danych  są 

Modele  przepływu  danych  są 

powszechnie

powszechnie

 

 

stosowane w analizie systemów.

stosowane w analizie systemów.

background image

19

19

Diagram przepływu danych dla obsługi 

Diagram przepływu danych dla obsługi 

zamówień

zamówień

Zaktualizuj

budżet dostępnych

środków

Wyślij 

do dostawcy

Wypełnij

blankiet

zamówienia

Zarejestruj

zamówienie

Plik 

zamówień

Plik

budżetu

Sprawdź 
zamówienie

Szczegół

zamówie
nia
     +

czysty
blankiet
zamówienia

     Wypełniony
blankiet 
zamówienia

Podpisany
formularz 
zamówienia

Podpisany
formularz 
zamówienia

Wartość
Zamówie
nia

informacj
e
księgowe

Sprawdzone
 i podpisane
zamówienie

+ informacja 
o zamówieniu

Owale

Owale

 oznaczają kroki 

 oznaczają kroki 

przetwarzania.

przetwarzania.

Strzałki

Strzałki

 

 

z nazwami danych to 

z nazwami danych to 

przepływy.

przepływy.

Prostokąty

Prostokąty

 są magazynami danych 

 są magazynami danych 

lub źródłami danych.

lub źródłami danych.

background image

20

20

Modele maszyn stanowych

Modele maszyn stanowych

Służą do opisywania zachowania 

Służą do opisywania zachowania 

systemu; 

systemu; 

reagują na wewnętrzne lub 

reagują na wewnętrzne lub 

zewnętrzne zdarzenia

zewnętrzne zdarzenia

.

.

Zawierają 

Zawierają 

stany i zdarzenia

stany i zdarzenia

, które 

, które 

powodują przejścia z jednego stanu do 

powodują przejścia z jednego stanu do 

innego.

innego.

Nie obejmują przepływu danych

Nie obejmują przepływu danych

 w 

 w 

ramach systemu.

ramach systemu.

Modele maszyn stanowych są 

Modele maszyn stanowych są 

integralną częścią metod 

integralną częścią metod 

projektowania systemów czasu 

projektowania systemów czasu 

rzeczywistego.

rzeczywistego.

background image

21

Modelowanie zachowania za pomocą 

diagramu sekwencji

:

 

 

 

 

Ekat: 
Katalog


Składnik
biblioteki

Lib1:
Serwer 
sieciowy

Użytkownik biblioteki

Wyszukaj

Wyświetl

Zamów
                                       Zaakceptuj warunki

  

                           
                                                                            

                                              

Wyślij warunki

Skompresuj

Dostarcz

background image

22

22

Model 

Model 

obiektowy

obiektowy

background image

23

23

Proces tworzenia modelu 

Proces tworzenia modelu 

obiektowego

obiektowego

Zadania polegające na identyfikowaniu 

Zadania polegające na identyfikowaniu 

i definiowaniu:

i definiowaniu:

klas i obiektów

klas i obiektów

związków klas i obiektów

związków klas i obiektów

pól, metod i komunikatów

pól, metod i komunikatów

background image

24

24

Proces tworzenia modelu obiektowego

Proces tworzenia modelu obiektowego

Czynności 

Czynności 

te są zwykle 

te są zwykle 

wykonywane iteracyjnie

wykonywane iteracyjnie

; kolejność 

; kolejność 

ich wykonywania nie jest ściśle ustalona i może zależeć 

ich wykonywania nie jest ściśle ustalona i może zależeć 

zarówno od stylu pracy, jak i od konkretnego problemu;

zarówno od stylu pracy, jak i od konkretnego problemu;

 

 

jednym z typowych podejść

jednym z typowych podejść

 jest 

 jest 

rozpoczęcie budowy 

rozpoczęcie budowy 

statycznego modelu klas

statycznego modelu klas

 (

 (

klasy => ich związki => pola

klasy => ich związki => pola

)

)

     

     

a następnie poszukiwanie metod;

a następnie poszukiwanie metod;

proces budowy modelu obiektowego jest zwykle 

proces budowy modelu obiektowego jest zwykle 

poprzedzony 

poprzedzony 

rozpoznaniem funkcjonalności

rozpoznaniem funkcjonalności

, którą system ma oferować 

, którą system ma oferować 

(służy do tego np. 

(służy do tego np. 

model przypadków użycia

model przypadków użycia

). 

). 

background image

25

25

Strategie budowy modelu obiektowego

Strategie budowy modelu obiektowego

background image

26

26

od ogółu do szczegółu” (

od ogółu do szczegółu” (

top-down

top-down

),

),

od szczegółu do ogółu” (

od szczegółu do ogółu” (

bottom-up

bottom-up

),

),

rozpływania” (

rozpływania” (

inside-out

inside-out

).

).

Podstawowe strategie 

Podstawowe strategie 

konstruowania modelu w 

konstruowania modelu w 

kontekście obiektowości:

kontekście obiektowości:

background image

27

27

Przykłady zastosowania reguł strategii "od 

Przykłady zastosowania reguł strategii "od 

ogółu do szczegółu" 

ogółu do szczegółu" 

background image

28

28

Przykład zastosowania reguły 

Przykład zastosowania reguły 

„od szczegółu do ogółu"

„od szczegółu do ogółu"

background image

29

29

Strategia „rozpływania”

Strategia „rozpływania”

Jest 

Jest 

kombinacją dwóch poprzednich

kombinacją dwóch poprzednich

Najpierw należy 

Najpierw należy 

zdefiniować te pojęcia

zdefiniować te pojęcia

które wydają się być

które wydają się być

 najważniejsze

 najważniejsze

W następnym kroku wybrane pojęcia 

W następnym kroku wybrane pojęcia 

są 

są 

uszczegółowiane

uszczegółowiane

Po czym proces uszczegółowiania jest 

Po czym proces uszczegółowiania jest 

powtarzany 

powtarzany 

dla kolejnych mniej 

dla kolejnych mniej 

ważnych

ważnych

 pojęć ogólnych

 pojęć ogólnych

background image

30

30

Obiekty, zbiory obiektów i 

Obiekty, zbiory obiektów i 

metadane

metadane

background image

31

31

Obiekty, zbiory obiektów i 

Obiekty, zbiory obiektów i 

metadane

metadane

W wielu przypadkach przy definicji klasy należy 

W wielu przypadkach przy definicji klasy należy 

dokładnie ustalić, 

dokładnie ustalić, 

z jakiego rodzaju 

z jakiego rodzaju 

abstrakcją obiektu

abstrakcją obiektu

 mamy do czynienia.

 mamy do czynienia.

 

 

Należy zwrócić uwagę na następujące aspekty 

Należy zwrócić uwagę na następujące aspekty 

(czy mamy do czynienia z ... ?):

(czy mamy do czynienia z ... ?):

konkretnym 

konkretnym 

obiektem w danej chwili

obiektem w danej chwili

 czasowej

 czasowej

konkretnym 

konkretnym 

obiektem w pewnym odcinku 

obiektem w pewnym odcinku 

czasu

czasu

opisem 

opisem 

tego obiektu (dokument, metadane)

tego obiektu (dokument, metadane)

pewnym 

pewnym 

zbiorem konkretnych obiektów

zbiorem konkretnych obiektów

background image

32

32

Obiekty, zbiory obiektów i 

Obiekty, zbiory obiektów i 

metadane

metadane

W przypadku klasy „samochód” 

W przypadku klasy „samochód” 

obiekt może 

obiekt może 

reprezentować:

reprezentować:

konkretny egzemplarz

konkretny egzemplarz

 samochodu (unikalny 

 samochodu (unikalny 

numer nadwozia i silnika) wyprodukowany 

numer nadwozia i silnika) wyprodukowany 

przez określoną fabrykę 

przez określoną fabrykę 

model

model

 (rodzaj) samochodu oferowany 

 (rodzaj) samochodu oferowany 

klientom przez znany koncern

klientom przez znany koncern

pozycję w katalogu

pozycję w katalogu

 samochodów opisujący 

 samochodów opisujący 

własności modelu

własności modelu

historię stanów

historię stanów

 pewnego konkretnego 

 pewnego konkretnego 

samochodu

samochodu

background image

33

33

Podstawowe rezultaty 

Podstawowe rezultaty 

modelowania

modelowania

background image

34

34

Podstawowe rezultaty 

Podstawowe rezultaty 

modelowania

modelowania

Poprawny 

Poprawny 

dokument 

dokument 

opisujący 

opisujący 

wymagania (dotyczące 

wymagania (dotyczące 

oprogramowania)

oprogramowania)

Słownik danych

Słownik danych

 zawierający 

 zawierający 

specyfikację modelu

specyfikację modelu

Harmonogram

Harmonogram

 projektowania

 projektowania

Wstępne 

Wstępne 

przypisanie ludzi i 

przypisanie ludzi i 

zespołów

zespołów

 do zadań

 do zadań

background image

35

35

Dokument opisujący stworzony model może

Dokument opisujący stworzony model może

zawierać:

zawierać:

diagram 

diagram 

klas

klas

 (ew. diagramy obiektów)

 (ew. diagramy obiektów)

diagram 

diagram 

przypadków użycia

przypadków użycia

diagramy 

diagramy 

interakcji

interakcji

 (do pokazania 

 (do pokazania 

sekwencji komunikatów; dla wybranych 

sekwencji komunikatów; dla wybranych 

sytuacji)

sytuacji)

diagramy zmiany 

diagramy zmiany 

stanów

stanów

 (dla 

 (dla 

interesujących obiektów)

interesujących obiektów)

raport zawierający 

raport zawierający 

definicje i opisy klas

definicje i opisy klas

atrybutów, związków, metod, itd.

atrybutów, związków, metod, itd.

background image

36

36

O czym był wykład? 

O czym był wykład? 

Modelowanie a projektowanie 

Modelowanie a projektowanie 

Modele kontekstowe 

Modele kontekstowe 

Model analityczny 

Model analityczny 

Model logiczny 

Model logiczny 

Model zachowania 

Model zachowania 

Model obiektowy 

Model obiektowy 

                   

                   

Strategie budowy modelu 

Strategie budowy modelu 

obiektowego

obiektowego

                   

                   

Obiekty, zbiory obiektów i metadane

Obiekty, zbiory obiektów i metadane

 

 

Podstawowe rezultaty modelowania

Podstawowe rezultaty modelowania

background image

37

37

Literatura:

1.    Z.  Szyjewski,  Metodyki 

1.    Z.  Szyjewski,  Metodyki 

zarządzania  projektami 

zarządzania  projektami 

informatycznymi

informatycznymi

Wydawnictwo 

Placet, 

Wydawnictwo 

Placet, 

Warszawa 2004 

Warszawa 2004 

2.  Booch  G.,  Raumbaugh  J.,  Jacobson  I., 

2.  Booch  G.,  Raumbaugh  J.,  Jacobson  I., 

UML: 

UML: 

Przewodnik 

użytkownika, 

Przewodnik 

użytkownika, 

Wydawnictwa 

Wydawnictwa 

Naukowo- Techniczne

Naukowo- Techniczne

Warszawa 2001

Warszawa 2001


Document Outline