1
1
Modelowanie
Modelowanie
systemów
systemów
informatycznych
informatycznych
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
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.
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
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
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
7
7
Modele
Modele
kontekstowe
kontekstowe
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ń.
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
10
10
Model analityczny
Model analityczny
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),
12
12
Model
Model
logiczny
logiczny
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.
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.
15
15
Model
Model
zachowania
zachowania
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
.
.
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.
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
w
danych
w
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
i
,
magazynów
danych
i
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.
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ół
y
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.
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.
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
22
22
Model
Model
obiektowy
obiektowy
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
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
).
).
25
25
Strategie budowy modelu obiektowego
Strategie budowy modelu obiektowego
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:
27
27
Przykłady zastosowania reguł strategii "od
Przykłady zastosowania reguł strategii "od
ogółu do szczegółu"
ogółu do szczegółu"
28
28
Przykład zastosowania reguły
Przykład zastosowania reguły
„od szczegółu do ogółu"
„od szczegółu do ogółu"
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
30
30
Obiekty, zbiory obiektów i
Obiekty, zbiory obiektów i
metadane
metadane
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
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
33
33
Podstawowe rezultaty
Podstawowe rezultaty
modelowania
modelowania
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ń
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.
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
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