Projektowanie systemów
informatycznych
Wykład 1
Piotr Gawrysiak
pgawrysiak@supermedia.pl
20 września 2003
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
• 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
Systemy biznesowe
Rodzaje systemów
informacyjnych
• Transakcyjne on-line
• Transakcyjne off-line
• Proste systemy raportujące
• Systemy informowania
kierownictwa
• Systemy „inteligentne”
Z
ło
żo
n
o
ść
Duża
Mała
C
za
s
re
a
k
cj
i
Długi
Krótki
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Istnieją oczywiście wyjątki – np. bankowe systemy kredytowe
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ę
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Sygnały
Dane
Informacje
Wiedza
Mądrość
Zajęte zasoby
Złożoność
semantyczna
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Piramida informacyjna
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
• 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
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Proces projektowania systemu
Wdrożenie systemu
Model spiralny
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Definiowanie
Analiza
Projektowanie
Implementacja
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ż.
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Inne parametry interesują wykonawcę, inne zaś zleceniodawcę
systemu. Zadaniem projektanta jest dopasowanie tych dwóch
zestawów parametrów do siebie
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
• 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
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.
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
W ramach analizy procesów biznesowych niezbędna może
okazać się poprawa jakości samych procesów, jeszcze przed
wdrożeniem systemu.
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.
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
Całość w zgodzie z uprzednio nakreślonym
harmonogramem i nakładami finansowymi.
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)
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
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
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
Analiza systemów inf.
PROJEKTOWANIE
SYSTEMÓW INF.
© Piotr Gawrysiak
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”
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
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