Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie 6. Utrzymywanie STRATEGIA ANALIZA PROJEKTOWANIE IMPLEMENTOWANIE DOKUMENTOWANIE WDROśENIE UTRZYMYWANIE (C) Instytut Informatyki, Politechnika Poznańska 2 Strategia (1) dokładna identyfikacja potrzeb i oczekiwań klienta wobec nowo budowanego lub modyfikowanego systemu, opracowanie modelu organizacji z uwzględnieniem: ograniczeń organizacyjnych ograniczeń finansowych ograniczeń technologicznych opracowanie harmonogramu działania wywiady z pracownikami organizacji, analiza ankiet wypełnianych przez pracowników organizacji, analiza dokumentów, produkowanych przez organizację, obserwacja pracy działów organizacji. (C) Instytut Informatyki, Politechnika Poznańska 3 Strategia (2) wynik: dokładna specyfikacja działania budowanego systemu dokument SRS (ang. Software Requirement Specification), zawierający: wymagania funkcjonalne: określają działanie gotowego systemu, np. realizowane obliczenia, sposób przetwarzania danych, szczegóły techniczne, wymagania niefunkcjonalne: ograniczenia projektowe i implementacyjne, np. przestrzeganie standardów, osiągnięcie odpowiedniej wydajności działania systemu. zestaw diagramów: procesów, związków encji, hierarchii funkcji, przepływów danych (C) Instytut Informatyki, Politechnika Poznańska 4
Analiza podział modelu organizacji na części funkcjonalne, uszczegółowienie informacji zgromadzonych w fazie projektowania, usunięcie błędów i sprzeczności w modelu organizacji, wynik: uszczegółowione, poprawione i zaakceptowane diagramy procesów, związków encji, hierarchii funkcji i przepływów danych, diagramy matrycowe, kontrolujące poprawność i jakość zgromadzonych informacji Projektowanie opracowanie architektury systemu, projekt logicznej struktury bazy danych systemu, projekty aplikacji formularzy ekranowych, raportów, bibliotek, inych, transformacje encji i związków między nimi do schematu bazy danych, transformacje funkcji do projektów aplikacji. (C) Instytut Informatyki, Politechnika Poznańska 5 (C) Instytut Informatyki, Politechnika Poznańska 6 Implementowanie i dokumentowanie uzyskanie fizycznej struktury bazy danych, uzyskanie działających aplikacji, przetestowanie aplikacji pod kątem poprawnego działania, uzyskanie załoŝonej wydajności działania systemu, uzyskanie dokumentacji technicznej i uŝytkowej systemu, generatory baz danych, generatory aplikacji, generatory dokumentacji. WdroŜenie i utrzymywanie wdroŝenie przekazanie działającego systemu końcowym uŝytkownikom, utrzymywanie: usuwanie z systemu przeoczonych w fazie testowania błędów, poprawianie efektywności działania systemu, dostosowywanie funkcjonalności systemu do nowych potrzeb, zmieniających się wymagań, itd. (np. na skutek zmian przepisów, profilu działania organizacji) (C) Instytut Informatyki, Politechnika Poznańska 7 (C) Instytut Informatyki, Politechnika Poznańska 8
CASE (1) Narzędzia CASE (2) CASE ang. Computer Aided Software Engineering, uŝycie narzędzi programistycznych w procesie rozwoju i utrzymywania oprogramowania, typowe narzędzia CASE: edytory, generatory kodu, narzędzia refaktoryzujące, narzędzia transformujące,... wyniki działania narzędzi CASE: kod programu, diagramy, schemat bazy danych, dokumentacja techniczna i uŝytkowa,... (C) Instytut Informatyki, Politechnika Poznańska 9 rodzaje: narzędzia CASE wysokiego poziomu ang. upper CASE: zastosowanie: etapy strategii, analizy i projektowania systemu narzędzia: do tworzenia diagramów, sprawdzania poprawności informacji na diagramach narzędzia CASE niskiego poziomu ang. lower CASE: zastosowanie: etapy implementowania, testowania i wdraŝania, narzędzia: generatory bazy danych, formularzy i raportów, testujące, zarządzające oprogramowaniem (C) Instytut Informatyki, Politechnika Poznańska 10 Projektowanie SI z wykorzystaniem Oracle Designer narzędzia do modelowania: PD, ERD, FHD, DFD, transformacje, Model kaskadowy (1) kolejne fazy następują sekwencyjnie, przejście do następnej fazy dopiero po zakończeniu fazy poprzedniej, struktura logiczna bazy danych (model relacyjny), definicje aplikacji, generowanie obiektów bazy danych i kodu po stronie serwera, generowanie aplikacji. (C) Instytut Informatyki, Politechnika Poznańska 11 (C) Instytut Informatyki, Politechnika Poznańska 12
Model kaskadowy (2) zalety: inwestycja w początkowe etapy tworzenia systemu skutkuje lepszą jakością wyników etapów następnych, dzieli proces na jasno oddzielone fazy, wady: trudno dokładnie określić momenty przejścia do następnego etapu, brak sprzęŝenia zwrotnego pomiędzy kolejnymi etapami, efekt końcowy moŝe nie odpowiadać potrzebom uŝytkownika, model dobry dla stabilnych organizacji, o dokładnie zdefiniowanych celach. Model RAD (1) RAD ang. Rapid Application Development załoŝenia: szybkie tworzenie szkieletów aplikacji (prototypów) celem prezentacji ich uŝytkownikowi, uŝytkownik: nie wiem dokładnie, czego chcę, ale powiem, czy to jest to, gdy to zobaczę (C) Instytut Informatyki, Politechnika Poznańska 13 (C) Instytut Informatyki, Politechnika Poznańska 14 Model RAD (2) zalety: szybsze przekazania działającego systemu, dokładniejsze zaspokojenie potrzeb uŝytkowników, wady: zmniejszona stabilność działania systemu, brak dokładnej analizy funkcjonalnej, Model DCD (Design Capture Driven) stosowany w przypadku istnienia systemów w organizacji, wykorzystuje mechanizmy reverse-engineering, pozwala na tworzenie nowych systemów korzystając ze starych definicji, pozwala realizować nowe potrzeby przedsiębiorstwa przy minimalnych nakładach czasowych i finansowych. (C) Instytut Informatyki, Politechnika Poznańska 15 (C) Instytut Informatyki, Politechnika Poznańska 16
Narzędzia Oracle Designer implementowanie Referencje Richard Barker: CASE*Method: Function and Process Modelling. Addison- Wesley, 1992 Edward Yourdon: Modern Strutured Analysis. Prentice Hall, 1989 What is a CASE Environment? Carnegie Melon Software Engineering Institute. http://www.sei.cmu.edu/legacy/case/case_whatis.html strategia + analiza (C) Instytut Informatyki, Politechnika Poznańska projektowanie dokumentowanie 17 (C) Instytut Informatyki, Politechnika Poznańska 18