Projektowanie systemów informatycznych Wykład 1 Piotr Gawrysiak pgawrysiak@supermedia.pl 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 – pgawrysiak@supermedia.pl
PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak 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 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
Rodzaje systemów informacyjnych PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Rodzaje systemów informacyjnych Mała Krótki Transakcyjne on-line Transakcyjne off-line Proste systemy raportujące Systemy informowania kierownictwa Systemy „inteligentne” Złożoność Czas reakcji Duża Długi Istnieją oczywiście wyjątki – np. bankowe systemy kredytowe
Złożoność, informacja, wiedza PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Złożoność, informacja, wiedza 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ę
Piramida informacyjna PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Piramida informacyjna Sygnały Dane Informacje Wiedza Mądrość Zajęte zasoby Złożoność semantyczna
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.
Cykl życia systemu informacyjnego PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Cykl życia systemu informacyjnego Definiowanie Analiza Projektowanie Implementacja Zainstalowanie, testowanie, usuwanie błędów Szkolenie i przekazanie systemu użytkownikowi Utrzymanie i rozwój systemu Re-inżynieria systemu / zastąpienie systemu innym / zamknięcie systemu Proces projektowania systemu Wdrożenie systemu
PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak Model spiralny Analiza Definiowanie Projektowanie Implementacja
Proces projektowania - parametry 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
Instalowanie, testowanie... 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
Cykl projektowy - podsumowanie 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ć
PROJEKTOWANIE SYSTEMÓW INF. © Piotr Gawrysiak 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 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