WPROWADZENIE DO ANALIZY SYSTEMÓW INFORMACYJNYCH
Analiza i projektowanie systemów informacyjnych jest złożonym procesem organizacyjnym, którego celem jest stworzenie systemu informatycznego dla danego przedsiębiorstwa. Systemy informatyczne tworzone są z myślą o korzyściach dla firmy dlatego też analiza, jak również projektowanie muszą opierać się na pełnym zrozumieniu celów, struktury i procesów przedsiębiorstwa, dla którego system ma zostać stworzony. Analiza i projektowanie to po prostu rozwiązywanie problemów biznesowych przy użyciu aplikacji komputerowych.
Def: Analiza systemów jest techniką rozwiązywania problemów, która dekomponuje system na części w celu zbadania na ile dobrze części te pracują i współdziałają dla osiągnięcia swojego celu.
Def: Analiza systemów informacyjnych to te fazy rozwoju projektu, które głównie koncentrują się na problemie biznesowym, niezależnie od jakiejkolwiek technologii, która mogłaby lub będzie użyta do zaimplementowania rozwiązania tego problemu.
Podczas analizy ustala się potrzeby systemu, tzn. co system ma robić aby zaspokoić wymagania użytkownika; nie powinna ona natomiast zawierać szczegółów implementacyjnych tzn. jak system ma realizować konkretne zadania. Dokument, który jest wynikiem analizy, to dokument zawierający wymagania systemu. Na wymagania te składają się: funkcje, interfejsy, ograniczenia projektowe. Celem takiego dokumentu jest sformalizowanie potrzeb klienta oraz ustalenie listy zadań.
Celem fazy analizy jest rozwiązanie problemu biznesowego. Wynikiem jest logiczny model systemu, opisujący sposób realizacji przez system postawionych wymagań, lecz abstrahujący od szczegółów implementacyjnych.
Techniki analizy systemów informacyjnych
Są różne podejścia do rozwiązywania problemów, stąd też różne są podejścia do analizy systemów informacyjnych. Na naszych zajęciach skoncentrujemy się na podejściu zwanym modelowaniem. To podejście do analizy systemów skupia się na przedstawianiu i dokumentowaniu istniejącego lub proponowanego systemu przy pomocy modeli. Ostatecznie model systemu staje się podstawą do projektowania i konstrukcji systemu. Przykładami takiego podejścia są: analiza strukturalna, inżynieria informacyjna oraz analiza obiektowa.
Analiza strukturalna jest techniką skupiającą się na procesach, która stosowana jest do analizy istniejącego systemu lub definiowania wymagań biznesowych nowego systemu. Modele przedstawiają poszczególne części systemu i związane z nimi wejścia, wyjścia i pliki.
Do modelowania procesów wykorzystuje się model przepływów danych (ang. data flows model). Modelowanie danych jest kwestią drugorzędną, aczkolwiek nie ignorowaną.
Inżynieria informacyjna jest techniką skupiającą się na danych, jak również procesach która stosowana jest do planowania, analizy i projektowania systemów informacyjnych. Do modelowania danych używane są modele związków encji. Natomiast do modelowania procesów diagramy przepływu danych tak jak w analizie strukturalnej.
Oba podejścia - analiza strukturalna i inżynieria informacyjna dążą do zsynchronizowania modeli procesów i danych. Różnica polega jedynie na tym, który model rysowany jest pierwszy.
Metody obiektowe pojawiły się w latach osiemdziesiątych i są nadal intensywnie rozwijane. Ich podstawą jest wyróżnianie w systemie składowych, które łączą w sobie możliwość przechowywania danych oraz wykonywania pewnych operacji. Analiza obiektowa dąży do wyeliminowania podziału na modelowanie procesów i danych. Jest to technika integrująca procesy i dane w jedną całość zwaną obiektem. Modele w analizie obiektowej przedstawiają obiekty systemu z różnych perspektyw: struktury, zachowania.
Oprócz omówionego wyżej podejścia zwanego modelowaniem występują również techniki zwane analizą przyspieszoną, w których koncentrujemy się na budowie prototypów i szybszej identyfikacji biznesowych wymagań dla nowego systemu. Przykładami tego podejścia do analizy są: prototypowanie wymagań i inżynieria wsteczna.
Prototypowanie wymagań używane jest do identyfikacji wymagań biznesowych użytkowników poprzez przedstawienie im wstępnej i pobieżnej implementacji tych wymagań (np. w MSAccess). To podejście jednak nie może być rozszerzane do budowy całego systemu.
Inżynieria wsteczna to przyspieszone podejście do analizy, które umożliwia budowę modeli. Modele te tworzone są na podstawie istniejących systemów lub prototypów wymagań, poprzez automatyczne wygenerowanie odpowiedniego modelu z kodu bazy danych, aplikacji czy interfejsu.
Rola analityka
Podstawową rolą analityka systemu jest przestudiowanie i dokładne poznanie problemów i potrzeb organizacji aby możliwe było określenie w jaki sposób ludzie, metody i technologie informatyczne mogą zostać najlepiej połączone w celu osiągnięcia ogólnej poprawy w skali całego przedsiębiorstwa. Analityk pomaga użytkownikom (pracownikom firmy oraz menadżerom) zdefiniować ich potrzeby i wymagania co do przyszłego systemu informatycznego. Można powiedzieć, że analityk jest agentem zmian i innowacji. Aby być dobrym analitykiem trzeba posiadać określone umiejętności oraz wiedzę i doświadczenie: umiejętność rozwiązywania problemów, umiejętności komunikacji interpersonalnych i relacji międzyludzkich, pewne doświadczenie w programowaniu, ogólną wiedze z zakresu biznesu, znajomość technologii informatycznych oraz narzędzi i technik analizy i projektowania systemów informacyjnych.
Rodzaje systemów informatycznych
Mówiąc o systemach informatycznych możemy wyróżnić kilka ich rodzajów, dzieląc je ze względu na zadania jakie dany system spełnia, lub ze względu na technologie wykorzystaną do jego konstrukcji. Możemy wyróżnić przynajmniej 4 główne klasy systemów informatycznych tzn.: systemy transakcyjne (ich zadaniem jest zbieranie i przetwarzanie danych z bieżącej działalności firmy), informatyczne systemy zarządzania (systemy te pobierają dane z systemów transakcyjnych i przetwarzają je tworząc zagregowane dane użyteczne dla szczebla kierowniczego), systemy wspomagania decyzji (systemy te zaprojektowane są z myślą o wspomaganiu decydentów firmy w podejmowaniu decyzji poprzez zapewnienie im interaktywnego środowiska, w którym mogą oni dowolnie manipulować danymi i modelami procesów biznesowych obserwując ewentualne efekty), oraz systemy ekspertowe (systemy te dążą raczej do zebrania i manipulowania wiedzą niż pojedynczymi informacjami a praca z nimi wygląda jak rozmowa z ekspertem z danej dziedziny; jest to system komputerowy, który korzysta z reprezentacji doświadczenia ludzkiego w pewnej dziedzinie; mechanizm wnioskowania w takim systemie określany jest jako wsteczny lub zorientowany na cel - system ma najpierw określony cel do osiągnięcia i zadając pytania użytkownikowi dochodzi do ostatecznej odpowiedzi). Dodatkowo możemy również wyróżnić: naukowe systemy informatyczne oraz systemy automatyzacji biura. Dla każdego z tych typów systemów metody ich tworzenia są inne i w związku z tym analityk musi brać pod uwagę inne aspekty.
Definicja systemu
System to zbiór elementów (obiekty), które są ze sobą połączone (relacje) i zarówno te obiekty jak i relacje między nimi mają swoje cechy (atrybuty). Każdy system ma także zdefiniowany cel, dla którego jest (lub został) tworzony i środowisko, w którym pracuje.
Tworzenie systemu informacyjnego i cykl życia budowy systemu
Cykl życia budowy systemu informatycznego jest powszechną metodyką wykorzystywaną przy tworzeniu systemów przez wiele organizacji. Jest to sposób organizacji prac projektowych i pewnym uporządkowanym zestawem czynności przewidzianych i zaplanowanych dla każdego projektu budowy systemu. Cykl ten składa się z kilku faz, które określają postęp w rozwoju systemu. Istnieje kilka konkurencyjnych modeli cyklu życia budowy systemów informacyjnych. Najbardziej powszechnym jest kaskadowy model cyklu życia budowy systemu. Jest to jeden z najlepiej opracowanych współczesnych modeli. W podejściu tym proces tworzenia SI rozumiemy jako dobrze zdefiniowane etapy, z dobrze określonymi wejściami do każdego etapu i dobrze określonymi wyjściami z każdego etapu.
W cyklu życia systemu wyróżniamy 7 kroków (faz) - identyfikacja i selekcja projektu (w fazie tej następuje identyfikacja, analiza i usystematyzowanie ogólnych potrzeb informacyjnych organizacji jak również proces selekcji systemu najbardziej nadającego się do opracowania z punktu widzenia celów organizacji), inicjacja i planowanie projektu inaczej zwana studium zastosowalności (w tej fazie dokładniej analizowany jest projekt potencjalnego systemu informatycznego oraz zostają przedstawione argumenty za jego kontynuacją bądź odrzuceniem; konstruowany jest również szczegółowy plan kontynuacji kolejnych faz cyklu życia systemu jak i określane są ramy danej aplikacji w celu zbadania czy przystąpienie do danego projektu jest wykonalne ze względu na dostępne zasoby organizacyjne) - te pierwsze dwie fazy pełnią w pewnym sensie funkcję dwóch filtrów na początku cyklu życia; typowy raport studium zastosowalności zawiera listę problemów w aktualnym środowisku, listę wymagań dotyczących proponowanego systemu, przeglądową analizę głównych działań i danych proponowanych systemów, listę możliwych technicznych opcji dla wdrożenia oraz zestawienie kosztów i korzyści wynikających z danego systemu. Jeżeli studium zastosowalności zostanie zaakceptowane przez użytkowników to jest przekazywane do fazy analizy. Analiza (pierwsza część tej fazy polega na dokładnym przestudiowaniu obecnego systemu, natomiast druga na przedstawieniu propozycji kilku alternatywnych systemów, które mogłyby zastąpić ten istniejący). Końcowym rezultatem tej fazy jest specyfikacja użytkownika lub dokument przedstawiający wymagania użytkownika. W większości współczesnych dokumentów zawierających wymagania wykorzystuje się różnego rodzaje notacje graficzne do wyrażenia szczegółów przetwarzania i danych. Kolejna faza to faza projektowania, która zawiera w sobie zarówno tworzenie modelu logicznego (wszystkie funkcjonalne cechy systemu wyznaczone do budowy w fazie analizy zostają opisane w oderwaniu od jakiejkolwiek platformy sprzętowo-programowej), jak i modelu fizycznego (specyfikacje z modelu logicznego zostają dostosowane do danej platformy sprzętowo-programowej, na której następnie opierać się będą kolejne fazy programowania i budowy systemu). Następna faza to faza implementacji lub realizacji (w tej fazie mamy programowanie, testowanie, instalacja oraz tworzenie dokumentacji). Przedostatnią fazą jest faza oceny, w której system poddawany jest krytycznej ocenie na podstawie porównania utworzonego systemu z elementami pierwotnego dokumentu wymagań w celu sprawdzenia, czy zostały zrealizowane cele systemu. Potem mamy już eksploatację zwaną również fazą przeglądów - faza ta polega na ciągłym nadzorze nad systemem, jego modyfikacji oraz naprawach.
Oprócz czynności ściśle związanych z poszczególnymi fazami cyklu życia budowy systemu istnieją też czynności, które trwają przez cały cykl i wykonywane są na przestrzeni wielu lub wszystkich faz tego cyklu. Należą do nich: zbieranie danych i informacji, tworzenie dokumentacji i prezentacji, analiza wykonalności (techniczna, operacyjna, ekonomiczna, dotycząca terminu i ryzyka), zarządzanie projektem i procesem, estymacja i pomiary, zarządzanie zmianami i zarządzanie jakością.
Alternatywne modele cyklu życia budowy systemu
szybkie prototypowanie - nacisk jest tutaj położony na szybkie opracowywanie elementów działającego systemu przy nieustannym uwzględnianiu ocen użytkownika. Prototyp, który powstaje w ten sposób jest traktowany jako gotowy system.
prototypowanie strukturalne - jest to podejście bardziej ostrożne. Tutaj prototypowanie traktowane jest głównie jako narzędzie służące wyjaśnieniu wymagań. Robocza wersja technicznego systemu informacyjnego nie ma być wynikiem prototypowania. Prototyp jest dokumentowany w specyfikacji wymagań przed podjęciem projektowania
opracowanie ewolucyjne - tutaj każdy gotowy produkt zapewnia pewną wymaganą zdolność operacyjną, generując jednocześnie dalsze wymagania.
model spiralny - jest podejście mieszczące się między modelem kaskadowym a iteracyjnym. Współrzędna Y reprezentuje całkowity koszt poniesiony do danego momentu na projekt. Każda pętla spirali, od osi X zgodnie z ruchem wskazówek zegara reprezentuje jedną fazę opracowania. Faza może być oparta na podejściach kaskadowym, prototypowania lub ewolucyjnym. Decyzja, który z modeli ma być użyty lub też czy zakończyć projekt, jest podejmowana przy każdorazowym przecięciu osi X.
Metody i narzędzia wspomagające analizę i projektowanie SI
W celu poprawy i wspomagania procesu analizy i projektowania oraz by proces ten był jeszcze lepiej ustrukturalizowany stosuje się różnego rodzaju metody i narzędzia. Zaliczyć do nich można:
narzędzia CASE (Computer-Aided Softaware Engineering). Narzędzia takie jak CASE pomagają analitykom i projektantom w bardziej efektywnym wykonywaniu swoich zadań poprzez zautomatyzowanie rutynowych zadań (narzędzia do tworzenia diagramów, narzędzia do projektowania formatek ekranowych czy raportów). W dalszym toku naszych zajęć będziemy jeszcze bliżej omawiać te narzędzia jak również poznawać jedno z nich ze strony praktycznej.
zintegrowane środowiska tworzenia aplikacji (są to zintegrowane narzędzia do tworzenia oprogramowania, które zawierają wszystkie narzędzia niezbędne do szybkiego wytwarzania aplikacji o wysokiej jakości)
aplikacje do zarządzania projektami (jest to jedno z narzędzi wspomagające czynności towarzyszące w cyklu życia budowy systemu)
Pytania:
Co jest celem analizy systemowej i co jest jej wynikiem?
Jaka jest rola analityka systemu i jakie powinien mieć umiejętności?
Jakie są cztery podstawowe typy systemów informacyjnych? Proszę krótko scharakteryzować każdy z nich.
Podać definicje systemu.
Podać siedem faz cyklu życia systemu.
Proszę bliżej scharakteryzować fazę analizy.
Jakie są czynności uzupełniające cykl życia budowy systemu?
Jakie możemy wyróżnić modele cyklu życia budowy systemu?
Do czego stosuje się narzędzia CASE?
1
Analiza systemów informacyjnych
Karolina Muszyńska