W.Dabrowski :: Budowa i wytwarzanie oprogramowania ::
Wykłady
> Etapy wytwarzania oprogramowania > Faza analizy
3.5 Faza analizy
Cel fazy analizy najlepiej określić poprzez porównanie z poprzedzającą ją fazą określania wymagań oraz następującą po niej fazą projektowania. Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: czy i przy jakich ograniczeniach system ma pracować? Wynikiem tej fazy jest zbiór wymagań, czyli zewnętrzny opis systemu. Celem fazy projektowania jest udzielenie odpowiedzi na pytanie: jak system ma zostać zaimplementowany? Wynikiem jest projekt oprogramowania, czyli opis sposobu implementacji. Celem fazy analizy jest odpowiedzenie na pytanie: jak system ma działać? Wynikiem jest logiczny model systemu, opisujący sposób realizacji przez system podstawionych wymagań, lecz abstrahujący od szczegółów implementacyjnych. Ponieważ celem fazy analizy jest budowa logicznego modelu systemu jest ona także nazywana fazą modelowania. Logiczny model pozwala lepiej zrozumieć postawiony problem - i dzięki temu lepiej określić wymagania wobec systemu. Często więc w opisach cyklu życia oprogramowania wymienia się tylko jedną fazę, nazywaną fazą określenia wymagań lub analizy - określenie wymagań i budowę modelu. Model systemu staje się podstawą tworzenia projektu. Tworzony system będzie stanowił fragment większej całości, zwanej dziedziną problemu. Fragment dziedziny problemu, który powinien zostać objęty przez tworzony system zwany jest zakresem odpowiedzialności systemu. Tworzony w fazie analizy model z reguły wykracza poza zakres odpowiedzialności systemu. Wynika to z następujących przyczyn: O Ujęcie w modelu pewnych fragmentów dziedziny problemu nie będących częścią systemu czyni model bardziej zrozumiałym. Przykładem może być ujęcie w modelu systemów zewnętrznych,z którymi współpracuje system. O Na etapie modelowania może nie być jasne, które elementy modelu będą realizowane przez stworzone oprogramowanie, a jakie na przykład w sposób sprzętowy lub ręcznie. O W pewnych przypadkach może być jasne, że dostępne środki nie pozwolą na realizację całości systemu. Celem analizy może być między innymi wykrycie tych fragmentów dziedziny problemu, których wspomaganie za pomocą oprogramowania będzie szczególnie przydatne. Najistotniejsze elementy wpływające na sukces fazy analizy to: O Zaangażowanie właściwych osób ze strony klienta; O Zachowanie przyjętych standardów dotyczących np. stosowanych notacji; O Sprawdzenie poprawności i wzajemnej spójności modelu; O Przejrzystość, logiczny układ i spójność dokumentacji; O Kompleksowe i całościowe podejście do problemu, nie koncentrowanie się na partykularnych jego aspektach. Podstawowe rezultaty fazy analizy to: O Poprawiony dokument opisujący wymagania; O Słownik danych zawierający specyfikację modelu; O Dokument opisujący stworzony model, zawierający: o Diagram klas; o Diagram przypadków użycia; o Diagramy interakcji (dla wybranych sytuacji); o Diagramy aktywności; o Diagram stanów (dla wybranych sytuacji); o Raport zawierający definicje i opisy klas, atrybutów, związków, metod itd.; O Harmonogram fazy projektowania; O Wstępne przypisanie ludzi i zespołów do zadań