Modelowanie i analiza systemów wykład III
Temat: Analiza strukturalna i obiektowa
Analiza jest pierwszą fazą tworzenia systemów informatycznych. Jej podstawowe zadanie polega na zrozumieniu dziedziny problemu i wyspecyfikowaniu na tym tle obowiązków planowanego systemu. W wyniku analizy otrzymuje się odpowiedź na pytanie „co mamy za zadanie informatyzować?”, a nie „jak?”.
Podejście obiektowe charakteryzuje wspólna reprezentacja danych i funkcji (procesów). W podejściu strukturalnym natomiast są to rozdzielne problemy - niezależne od siebie modelowanie danych i modelowanie funkcji i procesów.
Model fizyczny - przypisany do konkretnego środowiska i rozwiązania
Model logiczny - wyodrębniony system informacyjny z rzeczywistości
Analiza systemów w podejściu strukturalnym:
Klasyczna (Tom de Marco) - „proces zamiany strumienia informacji o aktualnie wykonywanych operacjach i nowych wymaganiach w pewien uporządkowany opis przyszłego systemu”. Klasyczna analiza strukturalna prowadzi do specyfikacji systemu poprzez 7 kroków:
Konstruowanie aktualnego fizycznego modelu systemu - powstaje zbiór diagramów przepływu danych, na których występują wszystkie obiekty uczestniczące w procesie przyjmowania, przetwarzania i wydawania dokumentów, zatem nie tylko przepływy danych, ale osoby, działy, aktualne czynności itp.,
Budowa aktualnego logicznego modelu systemu - powstaje na podstawie gruntownej analizy istniejącej rzeczywistości, ale nie zawiera nieistotnych szczegółów związanych z tradycyjnym sposobem tworzenia dokumentów i przetwarzania danych,
Budowa logicznego modelu (projektowanego) docelowego systemu - model na diagramach pozbawiony szczegółów implementacyjnych, specyfikacji realizowanych funkcji i definicji danych, z których korzystają te funkcje,
Budowa kilku alternatywnych fizycznych modeli docelowego systemu - rozbudowanie modelu logicznego o detale wynikające z proponowanych rozwiązań (szczegóły dotyczące implementacji) - propozycja kilku wersji
Oszacowanie kosztów każdego z rozwiązań - oszacowanie kosztów przedsięwzięcia, liczonego zasobami czasowymi i finansowymi (umiejętność przewidywania pracochłonności przedsięwzięcia, opracowania harmonogramu prac oraz zaplanowania odpowiednich narzędzi zapewniających wysoką produktywność zalicza się do umiejętności traktowanych na równi ze znajomością technik specyfikowania systemu),
Wybór właściwego modelu fizycznego systemu - akceptacja proponowanej struktury przyszłego systemu,
Specyfikacja systemu w podziale na podsystemy - pogrupowanie procesów i potrzebnych do ich obsługi danych na podsystemy jako niezależnie kodowane i uruchomiane składowe.
W praktyce opracowanie aktualnego modelu fizycznego przedsiębiorstwa może okazać się nieużyteczne i kłopotliwe dla użytkowników, zwłaszcza gdy aktualny system jest niesprawny, a wynik analizy „wytyka” wszystkie nieprawidłowości. Poza tym użytkownik uważa często opisywanie znanej instytucji lub fragmentu jej działalności za stratę czasu, zwłaszcza gdy za ten opis musi płacić.
Zstępująca dekompozycja systemu (top-down) na składowe nie zawsze jest oczywista i jednoznaczna. Zatem dwa zasadnicze aspekty analizy klasycznej nie sprawdzają się w praktyce: budowa aktualnego fizycznego modelu i czysto zstępująca metoda postępowania.
„Nowoczesna” - eliminuje wyżej opisane aspekty proponując budowę dwóch modeli:
Model zasadniczy - jego podstawowym założeniem jest koncentracja na wymaganiach użytkownika bez wdawanie się w szczegóły implementacyjne i bez opisywania istniejącego systemu. Składa się z dwóch części:
Model środowiska - ma na celu odwzorowanie środowiska otaczającego nasz system. Ma to zasadnicze znaczenie już w momencie planowania przedsięwzięcia lub w momencie podpisywania umowy z użytkownikiem. Obie strony muszą dokładnie znać zakres odwzorowywanej rzeczywistości. Model składa się z trzech elementów:
Cel przyszłego systemu - zwięzłych kilka zdań
Budowa diagramu kontekstowego (szczególna postać DFD) - cały planowany system jest przedstawiany jako jeden proces w otoczeniu bytów zewnętrznych (w stosunku do systemu) oddziałujących na system oraz przepływy danych łączące obiekty z systemem
Lista zdarzeń - specyfikacja zdarzeń prawidłowych i wyjątkowych, na które system powinien reagować (wykaz zdarzeń należy sporządzać z punktu widzenia otoczenia, a nie ze „środka” systemu)
Model zachowań - lista odpowiedzi systemu (procesy w nim zachodzące) na zdarzenia umieszczone na liście zdarzeń
Model implementacyjny - model zawierające wszystkie dane dotyczące szczegółów implementacyjnych systemu (postać formatek, raportów, wymagania sprzętowe, czasy odpowiedzi systemu itp.).
Analiza systemowa w podejściu obiektowym:
Cele podejścia obiektowego
Lepsze zrozumienie dziedziny problemu.
Poprawa komunikacji pomiędzy pracownikami a przyszłymi użytkownikami.
Zapewnienie odzyskiwalności składowych już na poziomie analizy.
Umożliwienie wprowadzania w przyszłości zmian w specyfikacji systemu.
Ułatwienie modyfikowanie systemu.
Analiza obiektowa jest wynikiem badań P.Coad'a i E.Yourdona „... nad rozwojem metody, czyli systemu zapisu i strategii, która pomogłaby analitykom najpierw uzyskać tak potrzebne zrozumienie problemu, a potem dodać wymagania co do zachowania systemu (przetwarzania) w ramach takiej solidnej znajomości przedmiotu”.
Podstawowe pojecie w podejściu obiektowych (definicje P.Coad'a i E.Yourdona):
Obiekt - „abstrakcja czegoś w dziedzinie problemu. Odzwierciedlającą zdolność systemu do przechowywania informacji o tym, interakcji z tym czymś lub obie te rzeczy; Kapsułka z wartościami atrybutów i wyłącznie na nich działającymi usługami”
Klasa - „Opis obiektu lub obiektów z jednolitym zbiorem atrybutów i usług, zawierający opis tworzenia nowych obiektów w klasie”
Model pięciu warstw stanowi efekt pracy analityka - wynik wykonania pięciu głównych zadań odpowiadających poszczególnym warstwom modelu, gdzie na każdym kolejno nałożonym na sobie poziomie przedstawiona jest coraz to większa liczba szczegółów:
Warstwa tematów - zadanie polega na identyfikacji tematów czyli środków, „mechanizmów prowadzących użytkownika przez duży i złożony model” ułatwiających komunikację i eliminujących obciążenie informacją.
Warstwa klas i obiektów - praca na tym etapie polega na znajdowaniu klas i obiektów w celu ścisłego dopasowania technicznej reprezentacji systemu do odzwierciedlonego fragmentu świata rzeczywistego.
Warstwa struktur - polega na identyfikacji struktur (w celu zgłębienia złożoności klas-i-obiektów) takich jak:
Całość-część ( która klasa zawiera którą)
Generalizacja-specjalizacji (rozróżnienie pomiędzy klasami)
Warstwa atrybutów - polega na definiowaniu atrybutów czyli danych reprezentujących stan systemu, mających w każdym obiekcie danej klasy swoją wartość, pozwalających bardziej szczegółowo opisać abstrakcję klasa-i-obiekt czy samą klasę
Warstwa usług - ostatnie zadanie to definiowanie usług (zachowań), do których zobowiązany jest dany obiekt, co pozwala na ścisłe opracowanie przetwarzania danych.