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
SI a rzeczywisty ? Stan ewidencyjny Stan rzeczywisty Ewidencja Stanów Magazynowych Wydania Dostawy System informatyczny rzeczywisty Bilans otwarcia ? Stan rzeczywisty © M.Miłosz
Stan rzeczywisty a ewidencyjny Różnica Inwentaryzacja Czas Stany S0 SE SR © M.Miłosz
Modele systemu informatycznego Analiza - percepcja rzeczywistości Model myślowy systemu Abstrakcja w pojęciach problemowych Model konceptualny (pojęciowy) systemu Abstrakcja w pojęciach programistycznych Model implementacyjny systemu Projektowanie Projektowanie © M.Miłosz
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
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
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
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
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
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
DFD - elementy składowe © M.Miłosz
DFD - symbole graficzne SSADM - Structured System Analysis and Design Method Obiekt zewnętrzny (External Entity) Proces (Data Process) D1 Dane klienta D8 Stan magazynu Magazyn danych (Data Store) Przepływ danych (Data Flow) Faktura Dane klienta © M.Miłosz
DFD - notacja © M.Miłosz
Hierarchiczność Poziom Poziom Poziom SzyB 1 2 4 3 3.1 3.2 3.3 4.1 4.2 4.3 Poziom © M.Miłosz
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
Hierarchia diagramów DFD (2) © M.Miłosz
DFD - strumienie, magazyny i ich charakterystyki Rekord Lublin 99.99.99 ZASWIADCZENIE Zaświadcza się ze obywatel XXXXXXXXX jest użytkownikiem systemu NNNN.......................... Dokument Rekord © M.Miłosz
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
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
DFD - konstrukcje Proces aktualizuje proces Proces aktualizuje magazyn 3 Ewidencja klienta D3 Klienci Dane klienta 1 Kształtowanie zamówienia 2 Kontrola stanu magazynu Nazwa towaru Przesyłanie danych do (z) obiektu zewnętrznego Proces czyta dane z magazynu 4 Kształtowanie zamówienia D3 Klienci Dane klienta a Klient 5 Rejestracja klienta Dane klienta © M.Miłosz
DFD - techniki dekompozycji 1 1.1 1.2 1.1 1.2 D1 Dane klienta 1.1 1.2 © M.Miłosz
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
(procesów i magazynów) DFD - bilansowanie Bilans poziomy (procesów i magazynów) 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 DFD-potomku A C B A=B+C © M.Miłosz
DFD - hierarchia i bilans Proces rodzic Bilans pionowy: A=A1 + A2 B=B1 + B2 Bilans poziomy: A=B+C DFD - potomek (struktura procesu) © M.Miłosz
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
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
Przykład - SzyB Modelowanie procesów
Diagram kontekstowy © M.Miłosz
Przepływ: Status roweru Element © M.Miłosz
Przepływ : Dane klienta Rekord © M.Miłosz
Element: Kod pocztowy © M.Miłosz
Element: Rodzaj DT © M.Miłosz
Diagram systemowy (DFD0) © M.Miłosz
Model procesu: 1. Gospodarka rowerami © M.Miłosz
Specyfikacja procesu prostego: 1.4. Emisja zlecenia na naprawę © M.Miłosz
Magazyn: Klienci © M.Miłosz
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
Podsumowanie obrazkowe Wykaz Urząd Skarbowy System informatyczny Dowód osobisty Klient Insert Select Ewiden- cja Raporto- wanie Wykaz Klient US DO Wykaz=Nagłówek + {dane osobowe} + stopka DO=numer+nazwisko +imię+Pesel+..... D1 Dane klienta © M.Miłosz