Transcript Wykład 4
Modelowanie systemu
informatycznego
Dr inż. Marek Miłosz
Wykład 4
Plan
System informatyczny a rzeczywisty
Model konceptualny i implementacyjny
Metodyki modelowania systemów
informatycznych
Diagramy przepływu danych (DFD)
Diagramy związków encji (ERD)
Inne diagramy technik strukturalnych
© M.Miłosz
PSI-4
2/40
SI a rzeczywisty
Stan ewidencyjny
Ewidencja
Stanów
Magazynowych
System
informatyczny
System
rzeczywisty
Dostawy
Bilans
otwarcia
-
Wydania
-
Stan rzeczywisty
© M.Miłosz
S E S0 D W
?
PSI-4
3/40
Stan rzeczywisty a ewidencyjny
Różnica
Inwentaryzacja
Stany
SE
S0
SR
Czas
© M.Miłosz
PSI-4
4/40
Modele systemu informatycznego
Model myślowy systemu
Model konceptualny
(pojęciowy) systemu
Projektowanie
Analiza percepcja
rzeczywistości
© M.Miłosz
Model implementacyjny
systemu
Projektowanie
Abstrakcja
w pojęciach
problemowych
Abstrakcja
w pojęciach
programistycznych
PSI-4
5/40
Modelowanie systemu
Rezultat: konceptualny - pojęciowy
model systemu (Jak ma system działać?)
Techniki modelowania SI:
strukturalne
(diagramy przepływu danych DFD i diagramy związków encji - ERD)
obiektowe (diagramy klas i obiektów;
diagramy interakcji i przejść stanów)
© M.Miłosz
PSI-4
6/40
Metodyki strukturalne
Structured Methodologies, Structured Analysis
Łączą statyczny opis danych i statyczny
opis procesów
Metodyki strukturalne:
Metodyka Yourdona/DeMarco i
Gane&Sarson
Structured Analysis and Design Technique
(SADT)
Structured System Analysis and Design
Methodology (SSADM)
© M.Miłosz
PSI-4
7/40
Techniki strukturalne (1)
Model procesów - diagramy przepływu
danych (DFD - Data Flow Diagram)
Model danych w systemie - diagram
związków encji (obiektów)
(ERD - Entity Relationship Diagram)
Model zdarzeń zachodzących w SI diagramy historii życia obiektu
(ELH - Entity Life History)
© M.Miłosz
PSI-4
8/40
Techniki strukturalne (2)
Model zmiany stanów systemu diagramy zmian stanów
(STD - State Transition Diagram)
Schematy struktury aplikacji
(STC - Structure Charts)
Słownik Danych (Data Dictionary)
Strukturalny Angielski (Structured
English) -> strukturalny polski
© M.Miłosz
PSI-4
9/40
Metodyki obiektowe
Metodyki obiektowe wykorzystują pojęcia
obiektowości dla celów modelowania
konceptualnego oraz analizy i projektowania
systemów informatycznych
Techniki:
Diagram
klas i obiektów
Diagramy dynamiczne
Diagramy funkcjonalne
Przypadki użycia (use cases)
© M.Miłosz
PSI-4
10/40
Modelowanie procesów
Diagramy przepływu danych
DFD - Data Flow Diagram
Strukturalna specyfikacja funkcji systemu
(„mapa” procesów)
Identyfikacja zależności między procesami i
danymi
Precyzyjne określenie zakresu systemu,
podsystemów i modułów
Zwięzły i czytelny opis funkcji systemu (łatwy
do opanowania przez użytkownika
weryfikowalność)
Redukcja redundancji funkcjonalnej systemu
© M.Miłosz
PSI-4
12/40
DFD - elementy składowe
OBIEKT
ZEWNĘTRZNY
PROCES
MAGAZYN
DANYCH
PRZEPŁYW
DANYCH
© M.Miłosz
obiekt (lub grupa obiektów) nie należący do
systemu, z którym system wymienia informacje
(źródło/odbiorca danych dla/z systemu) –
terminator, interfejs
element systemu przetwarzający wejściowe
strumienie danych na wyjściowe lub tworzący
dane wyjściowe na podstawie danych
wejściowych
element systemu umożliwiający gromadzenie
i przechowywanie danych
element modelu procesów, opisujący przesyłanie
danych między innymi elementami
PSI-4
13/40
DFD - symbole graficzne
SSADM - Structured System Analysis and Design Method
Obiekt zewnętrzny
a
a
Klient
Klient
(External Entity)
3.4
1
Proces
Opis
procesu
(Data Process)
Magazyn danych
D1
Dane
klienta
3
Opis
procesu
elemetarnego
D8
Opis
procesu
wielokrotnego
Stan
magazynu
(Data Store)
Przepływ danych
Faktura
Dane klienta
(Data Flow)
© M.Miłosz
PSI-4
14/40
DFD - notacja
Zewnętrzny
przepływ danych
m
Obiekt
B
aa
Obiekt
A
m
Obiekt
B
Rozdzielenie
przepływów
Złączenie
przepływów
Przepływ danych
z zewnątrz
Magazyn
D2 danych
A
1
Proces
Magazyn
D2 danych
A
© M.Miłosz
Przepływ danych
na zewnątrz
Magazyn
D3 danych
B
PSI-4
15/40
Hierarchiczność
1
4.2
4.3
© M.Miłosz
Poziom
2
Poziom
3
4
4.1
SzyB
3.2
3.1
Poziom
3.3
PSI-4
16/40
Hierarchia diagramów DFD (1)
Diagram kontekstowy granice systemu
Diagram systemowy - DFD0 diagram
ogólny systemu (podsystemy + główne
magazyny danych)
Diagramy procesów - DFD rozwinięcie
poszczególnych podsystemów, aż po
procesy elementarne (niepodzielne)
Specyfikacja procesów elementarnych EPD mini specyfikacja, opis
elementarnego algorytmu
© M.Miłosz
PSI-4
17/40
Hierarchia diagramów DFD (2)
a
Customer Order
Credit Details
Customer
d
Credit
Card
Company
Customer
Payment
Customer Return
a
c
Stock Product
Order
Supplier
Payment
Customer
Order Confirmation
Supplier
1
Customer
Payment
Customer Order
Customer
Shipment
Customer
Invoice
3
Take
Order
D4 Stock
D1 Customer
Customer Ship
Address
Supplier
Invoice
Customer Refund
Order
Inventory
System
Employee Number
D1 Customer
Sales
D3 Representative
Credit Check
Request
a
Customer
Invoice
Ship
Order
Order
D2 Details
Sales Policies
and Quotas
Supplier
Payment
Returned
Product
2
Order Details
Supplier
Stock Product
Order
Manage
Stock
Customer
Stock Product
0
c
Supplier
Invoice
Stock Product
Credit Check
Request
Order Confirmation
Customer
Customer
Shipment
Returned
D5 Product
Customer
Address
Returned
Product
4
Customer Refund
Credit Details
Receive
Returns
Employee Name
and Supervisor
5
b
d
Management
Credit
Card
Company
Sales Report
Create
Sales
Reports
Sales Policies
and Quotas
Customer Return
Sales Report
a
Customer
b
Management
Customer
Payment
a
d
Credit Details
Customer
Method of
Payment
Customer Info
Credit
Card
Company
1.4
Credit Check
Request
Customer
D1 Customer
Confirm
Credit
1.1
Order Info
Get
Customer
Info
Credit OK
Order
D2 Details
Employee Number
Order Line
Item Update
1.5
a
Order Confirmation
Order Number
Sales
D3 Representative
Order Line
Item
Order Item
Status
Confirm
Order
Customer
1.3
Order Line
Item
a
Customer
1.2
Order Items
© M.Miłosz
Get
Order
Items
Check
Stock
Order Line
Item
D4 Stock
PSI-4
18/40
DFD - strumienie, magazyny
i ich charakterystyki
Lublin 99.99.99
Dokument
Rekord
ZASWIADCZENIE
Zaświadcza się ze obywatel XXXXXXXXX jest
użytkownikiem systemu NNNN..........................
b
Urząd
Zaswiadczenie
1
a
Czytelnik
Dane
Rekord
© M.Miłosz
Ewidencja
Dane klienta
D1 Czytelnik
Dane klienta
PSI-4
19/40
DFD - zasady tworzenia (1)
Na DFD nie definiuje się sposobu w jaki
obiekt zewnętrzny dostarcza lub pobiera
dane
Magazyn jest elementem pasywnym (nie
wymusza obiegu danych) i może mieć
złożoną strukturę
Procesy powinny być wzajemnie
niezależne (autonomiczne)
DFD nie wyrażają zależności
przyczynowo-skutkowych ani czasowych
pomiędzy procesami
© M.Miłosz
PSI-4
20/40
DFD - zasady tworzenia (2)
Nazwy i numery - każdy element na
DFD ma swój unikalny identyfikator
(adekwatny do roli elementu: nie proces
1, a np. weryfikacja poprawności
dokumentów)
Przejrzystość i możliwość analizy - ilość
procesów na diagramie: max 72
© M.Miłosz
PSI-4
21/40
DFD - konstrukcje
Proces aktualizuje proces
1
Proces aktualizuje magazyn
3
2
Kształtowanie
zamówienia
Nazwa towaru
Kontrola
stanu
magazynu
Proces czyta dane z magazynu
Ewidencja
klienta
Dane klienta
D3 Klienci
Przesyłanie danych do (z)
obiektu zewnętrznego
4
Kształtowanie
zamówienia
© M.Miłosz
Dane klienta
D3 Klienci
5
a
Klient
Rejestracja
klienta
Dane klienta
PSI-4
22/40
DFD - techniki dekompozycji
1
1.1
1.2
1.1
1.2
D1
1.1
© M.Miłosz
Dane
klienta
1.2
PSI-4
23/40
DFD - błędy w strukturze
„czarne dziury” - procesy pochłaniające
informacje (chyba, że procesy np. ”niszczenia
dokumentów”)
„źródła danych” - procesy bez wejść a
z wyjściami (generują dane “z niczego” ale
generator liczb losowych)
„puchnące” magazyny - pochłaniają dane
i nigdy się z nich ich nie pobiera
stałe magazyny - tylko pobiera się z nich dane
błędne przepływy:
magazyn-magazyn,
obiekt zewnętrzny-magazyn
© M.Miłosz
PSI-4
24/40
DFD - bilansowanie
Bilans poziomy
(procesów i magazynów)
A
C
B
A=B+C
danych_ we danych_ wy
© M.Miłosz
Bilans pionowy
suma (zawartości)
przepływów danych
wpływających
(wypływających) do
procesu jest równa sumie
przepływów wpływających
(wypływających) do
różnych procesów na DFDpotomku
PSI-4
25/40
DFD - hierarchia i bilans
a
Obiekt
zewn.
1
Proces rodzic
2
A
B
Proces
A
Proces
B
C
3
Magazyn
D1 AAA
1.1
Proces
C
1.3
Proces
A-1
A-1
Proces
A-3
B-1
Magazyn
D2 tymczasowy
1.2
1.4
Proces
A-1
A-2
C
Magazyn
D1 AAA
© M.Miłosz
Bilans pionowy:
A=A1 + A2
B=B1 + B2
Bilans poziomy:
A=B+C
Proces
A-4
B-2
DFD - potomek
(struktura procesu)
PSI-4
26/40
DFD - specyfikacja procesu
elementarnego
Algorytmiczna definicja procesu
Dowolność formułowania, ale zwykle:
numer i nazwa procesu, dane WE i WY,
opis algorytmu
Opis algorytmu: słowny, pseudokod,
makropolecenia, SQL, polecenia w 4GL,
schemat blokowy, tablice decyzyjne
© M.Miłosz
PSI-4
27/40
DFD - warunki poprawności
Niezależność procesów (autonomiczność)
Kompletność (wszystko opisane na
odpowiednim poziomie szczegółowości)
Czytelność (przejrzystość)
Minimalność (bez redundancji)
Prawidłowość (syntaktyczna,
semantyczna)
© M.Miłosz
PSI-4
28/40
Przykład - SzyB
Modelowanie procesów
Diagram kontekstowy
f
g
W arsztat
Policj a
e
Dostawca
Zlecenie
naprawy
Zgloszenie
kradziezy
Rezygnacj a
Dane roweru
0
Rezerwacj a
a
Klient
Dane klienta
d
F-K
SzyB
Dane o oplacie
Raporty
Oferta
Status roweru
Dane o zwrocie
(braku)
Dane o Typ roweru
Cennik
wypozyczeniu
c
W lasciciel
b
Pracownik
© M.Miłosz
PSI-4
30/40
Przepływ: Status roweru
© M.Miłosz
PSI-4
31/40
Przepływ : Dane klienta
© M.Miłosz
PSI-4
32/40
Element: Kod pocztowy
© M.Miłosz
PSI-4
33/40
Element: Rodzaj DT
© M.Miłosz
PSI-4
34/40
Diagram systemowy (DFD0)
f
W arsztat
e
Dostawca
D2
Dane roweru
Zlecenie
naprawy
g
Policj a
Typy
rowerow
Typ roweru
Dane roweru
Zgloszenie
kradziezy
a
D1 Rowery
Dane klienta
D3 Klienci
1
Klient
Dane klienta
2
Pelne dane o
wypozyczeniu
Dane roweru
z typem
Gospodarka
rowerami
Status roweru
Oferta
Ewidencj a
wypozyczen
Dane klienta
Rezygnacja
Rezerwacj a
Pelne dane o
wypozyczeniu
Status roweru
Typ roweru
D2
Typy
rowerow
Cennik
D5 Cennik
3
Dane o zwrocie
(braku)
b
Pracownik
Cennik
b
Pracownik
Dane o
wypozyczeniu
D4 W ypozyczenia
Typ roweru
Dane o oplacie
W spomaganie
zarzadzania
d
F-K
Raporty
Cennik
© M.Miłosz
c
W lasciciel
PSI-4
35/40
Model procesu:
1. Gospodarka rowerami
D2
Typ roweru
Typy
rowerow
Typ roweru
1.1
Edycja
slownika
typow
1.2
Typ roweru
Dane roweru
Ewidencj a
rowerow
Dane roweru
z typem
D1 Rowery
Dane roweru
1.3
Status roweru
© M.Miłosz
Edycja
statusu
roweru
Status roweru
Status roweru
1.4
Emisj a
zlecenia
na naprawe
Zlecenie
naprawy
PSI-4
36/40
Specyfikacja procesu prostego:
1.4. Emisja zlecenia na naprawę
© M.Miłosz
PSI-4
37/40
Magazyn: Klienci
© M.Miłosz
PSI-4
38/40
Podsumowanie
Projektowanie to tworzenie modeli
przyszłych systemów
Metodyki strukturalne są dobrze
zdefiniowane i sprawdzone
Modelowanie procesów zachodzących w
SI opisuje jego działanie
Hierarchiczna dekompozycja upraszcza
a jednocześnie umożliwia szczegółowy
opis
© M.Miłosz
PSI-4
39/40
Podsumowanie obrazkowe
System informatyczny
Klient
Urząd
Skarbowy
Wykaz
Dowód
osobisty
Klient
DO
Ewidencja
Raportowanie
US
Wykaz=Nagłówek +
{dane osobowe} + stopka
DO=numer+nazwisko
+imię+Pesel+.....
D1
© M.Miłosz
Wykaz
Dane
klienta
PSI-4
40/40