Projektowanie systemów informatycznych Wykład 1 Piotr Gawrysiak [email protected] 20 września 2003 PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Zaliczenie Zaliczenie ćwiczeń Przygotowanie studium możliwości (feasibility study) lub przygotowanie wybranych elementów Zaliczenie testu Pytania – [email protected] Wstęp • Czym jest informatyka? – Nauką? – Sztuką? – Szarlatanerią? • Informatyka vs. architektura • Projektowanie systemów informacyjnych, a projektowanie oprogramowania • Podejście inżynierskie w informatyce • Inżynieria oprogramowania PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Systemy biznesowe System informacyjny: Jest to celowe zestawienie ludzi, danych, procesów, sposobów komunikacji, infrastruktury sieciowej i urządzeń komputerowych, które to elementy współdziałają w celu zapewnienia codziennego funkcjonowania organizacji (transakcyjne przetwarzanie danych) jak również wspierający rozwiązywanie problemów i podejmowanie decyzji przez kadrę kierowniczą (systemy raportowania i wspomagania decyzji) System informacyjny niekoniecznie musi zawierać elementy infrastruktury IT PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Systemy biznesowe • System informatyczny może być jedną z części składowych systemu informacyjnego • oba terminy używane są jako synonimy - niesłusznie • System informatyczny to oparte na technologii komputerowej rozwiązanie pojedynczego problemu biznesowego. Może być to aplikacja, rozwiązanie sprzętowe lub (najczęściej) połączenie obu tych składników • System informacyjny może się składać z więcej niż jednego systemu informatycznego PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Rodzaje systemów informacyjnych Transakcyjne on-line Transakcyjne off-line Proste systemy raportujące Systemy informowania kierownictwa • Systemy „inteligentne” Złożoność • • • • Duża Krótki Czas reakcji Mała Długi Istnieją oczywiście wyjątki – np. bankowe systemy kredytowe Złożoność, informacja, wiedza PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak • Dane: surowe fakty o organizacji i jej działaniach (np. transakcjach) • Informacje: celowo zorganizowane dane posiadające określone znaczenie • Wiedza: informacje nadająca się do wykorzystania System informacyjny przetwarza dane w użyteczne informacje System inteligentny - potrafi generować wiedzę PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Piramida informacyjna Złożoność semantyczna Mądrość Wiedza Informacje Dane Sygnały Zajęte zasoby PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Proces projektowania Projektowanie systemu informacyjnego jest procesem. Jest to skończony ciąg kroków (czynności) powiązanych ze sobą relacjami, które mają doprowadzić do osiągnięcia zamierzonego celu w postaci systemu spełniającego przyjęte wymagania. W procesie projektowania możliwe są pętle. Sam proces projektowania jest jednym z elementów większego procesu – cyklu życia systemu informacyjnego. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Cykl życia systemu informacyjnego • • • • • Definiowanie Analiza Proces projektowania systemu Projektowanie Implementacja Zainstalowanie, testowanie, usuwanie błędów Wdrożenie systemu • Szkolenie i przekazanie systemu użytkownikowi • Utrzymanie i rozwój systemu • Re-inżynieria systemu / zastąpienie systemu innym / zamknięcie systemu PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Model spiralny Analiza Definiowanie Projektowanie Implementacja PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Proces projektowania - parametry Np.: • parametry funkcjonalne systemu, • ergonomiczność systemu, • nakłady oraz rzeczywisty koszt, • czas realizacji systemu, • koszty eksploatacji i rozwoju systemu, • kompatybilność ze współdziałającymi systemami • prestiż. Inne parametry interesują wykonawcę, inne zaś zleceniodawcę systemu. Zadaniem projektanta jest dopasowanie tych dwóch zestawów parametrów do siebie PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Metody projektowania • Metoda projektowania systemów informacyjnych jest zbiorem zasad dotyczących tworzenia komponentów systemu i łączenia ich relacjami; • Nie istnieje jedna, uniwersalna metoda projektowania; mamy do czynienia z bardzo wieloma metodami i szkołami; • Inflacja metod - żadna metoda nie jest wystarczająco ogólna; • Trzeba tworzyć własne - eklektyczne metody. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Metody projektowania • Systemy informacyjne są obiektami o dużym stopniu złożoności • Potrzeba szczegółowej organizacji i systematyzacji prac • Podejście systemowe w projektowaniu – zaczerpnięte z teorii organizacji i zarządzania • Strukturalizacja systemu, czyli dekompozycja systemu na mniejsze składniki i przedstawienie go w postaci struktury hierarchicznie powiązanych komponentów • Głębokość dekompozycji powinna zostać dobrana przez projektanta – zależy m.in. od: rodzaju stosowanych technik IT, podwykonawców, wielkości systemu itd. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Metody projektowania • Dekompozycja jest czynnością o charakterze analitycznym, więc metody projektowania oparte na tym podejściu - na rozbiorze systemu na części składowe, nazywa się niekiedy analitycznymi metodami projektowania systemów informacyjnych. • W metodach tych korzysta się szeroko z formalnych (abstrakcyjnych) modeli opisujących składniki systemu informacyjnego. • Kategorie metod analitycznych : metody strukturalne i metody obiektowe. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Definiowanie • uświadomienie i wyartykułowanie potrzeby posiadania systemu; • określenie ogólnych celów systemu; • przygotowanie zapytania ofertowego; • wybranie wykonawcy; • przygotowanie kontraktu (z opisem zadań, punktów kontrolnych, nakładami i harmonogramem); • negocjowanie kontraktu. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Analiza • analiza procesów biznesowych; • identyfikacja procesów związanych z planowanym systemem; • określenie grup obecnych i przyszłych użytkowników; • analiza obecnych i przyszłych potrzeb użytkowników; • określenie wymagań stawianych systemowi; • opracowanie funkcjonalnego modelu systemu i ogólna specyfikacja systemu; • dokładne określenie nakładów i potrzebnych zasobów oraz opracowanie harmonogramu. W ramach analizy procesów biznesowych niezbędna może okazać się poprawa jakości samych procesów, jeszcze przed wdrożeniem systemu. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Projektowanie • opracowanie modeli formalnych systemu uwzględniających struktury danych, procesy, ich powiązania i dynamikę • diagramy DFD • diagramy ER • modele UML • • • • opracowanie modeli fizycznych; specyfikacja aplikacji (także interfejsu użytkownika); wybór architektury systemu; wybór oprogramowania aplikacyjnego (pakiety, oprogramowanie własne) i systemowego oraz sprzętu, • określenie zasad alokacji oprogramowania i aplikacji w zasobach sprzętowych. Całość w zgodzie z uprzednio nakreślonym harmonogramem i nakładami finansowymi. PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Implementacja • wykonanie prototypu lub modeli funkcjonalnych • sprawdzenie założeń projektu • sprawdzenie reakcji użytkowników • wykonanie systemu • przygotowanie dokumentacji • • • • technicznej użytkownika procedury wdrożenia systemu procedury testowania systemu PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Instalowanie, testowanie... • • • • • • • • instalacja systemu; wprowadzenie danych; testowanie poprawności funkcjonalnej; testowanie parametrów wydajnościowych; wyszukiwanie "słabych punktów" systemu; optymalizacja, poprawki usuwanie błędów; "strojenie" systemu (wydajność); pełna migracja danych (jeśli potrzebna) Pożądane jest wykonanie najpierw wdrożenia pilotowego Jeśli system ma zastąpić system już istniejący, niezbędne jest wykonanie wszystkich testów przed wyłączeniem „starego” systemu PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Cykl projektowy - podsumowanie Definiowanie Wynik – Ogólna koncepcja systemu Metody – Burza mózgów, analiza SWOT itd. Analiza Wynik – Studium możliwości (feasibility study) Metody – Wywiady z pracownikami, analiza dokumentacji, analiza biurkowa itd. Projektowanie Wynik – Dokumentacja projektowa Metody – Projektowanie strukturalne, obiektowe, CASE itd. Implementacja Wynik – Oprogramowanie, dokumentacja techniczna, użytkowa, wdrożeniowa Metody – Programowanie Wdrożenie Wynik – Działający system, dokumentacja całościowa PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Analiza systemów inf. Jest to studium problemu w obrębie organizacji w celu zarekomendowania rozwiązania technicznego i stworzenia specyfikacji wymagań „biznesowych” Kto ją wykonuje? Analityk (ang. Systems Analyst) • Analityk rozpoznaje problem wewnątrz organizacji, który może być rozwiązany za pomocą środków technicznych lub organizacyjnych • Jest pomostem między tymi, którzy potrzebują komputeryzacji, a tymi, którzy znają technologię • Musi znać zarówno technologię, zasady zarządzania oraz posiadać podstawową wiedzę dotyczącą charakteru analizowanych procesów biznesowych PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Analityk • Analityk zgłębia problemy i możliwości organizacji • Przekształca wiedzę o potrzebach informacyjnych na propozycję struktury technicznej potrzebnej do ich zaspokojenia • Może być człowiekiem z zewnątrz. Dlaczego? • Konsultant zewnętrzny? • Pracownik? Wiedza: • PTOiZ • IT Może, ale nie musi posiadać wiedzy o przedmiocie działalności, ale musi być w stanie ją przyswoić Metody teorii zarządzania przydatne w analizie systemów informacyjnych • • • • Podejście systemowe Analiza procesów biznesowych Łańcuch wartości Portera Inne analizy • SWOT • Stakeholders • cost/benefit PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Podejście systemowe • • • • • Organizacja jako system (Bertalanffy, Wiener) Wejście => Przetwarzanie => Wyjście Sprzężenie zwrotne Dekompozycja na podsystemy Podsystemy jako „czarne skrzynki” PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Analiza procesów biznesowych • • • • Wykonywane czynności Obieg dokumentów, materiałów Powiązania pomiędzy nimi Osoby wykonujące i odpowiedzialne Co można skomputeryzować? PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak SWOT i inne analizy managerskie • • • • S - strengths - silne strony W - wekanesses - słabe strony O - opportunities - szanse T - threats - zagrożenia