Informacja - zmiana nieokreśloności (nieznajomości ) stanu wiedzy o przedmiocie (przez zainteresowanego nim) po uzyskaniu o nim: wiadomości, dokonaniu obserwacji, uzyskaniu danych itp.
Warunkiem koniecznym uzyskania informacji z danej jest jej zinterpretowanie.
Stopień nieokreśloności przedmiotu naszego zainteresowania określa się za pomocą entropii informacyjnej.
Jeżeli zakres zmienności stanów przedmiotu naszego zainteresowania jest dyskretny, to miara entropii informacyjnej ma postać:
H(X) = -Σi pi log2 pi.
System - zbiór wzajemnie bezpośrednio powiązanych elementów ( obiektów), wyodrębnionych z otoczenia ze względu na określony cel ich działania - zadania do realizacji . Powiązania między elementami systemu tworzą jego strukturę.
Przykłady systemów: uczelnia, stołówka, komputer, sieć komputerowa itp.
Otoczenie systemu - zbiór obiektów nie należących do systemu, które mają wpływ na działanie systemu lub funkcjonowanie systemu ma wpływ na ich działanie.
Przykłady: jeżeli sklep będziemy rozpatrywać jako system, to parking stanowi jego otoczenie. Również bankomaty przy sklepie wchodzą w skład otoczenia.
System informacyjny (SI) - to system, którego celem działania jest dostarczanie odbiorcy informacji, użytecznej do jego działania.
Przykłady SI: system monitorowania bezpieczeństwa obiektu, telewizja itp.
System informatyczny - to system informacyjny lub informacyjno- decyzyjny w którym zastosowano komputery.
Przykłady: system rekrutacji na UWM, system finansowo-księgowy itp
Modelem systemu nazywamy ilościową i jakościową reprezentację systemu na innej bazie materialnej niż występuje on w rzeczywistości, ujmującą podstawowe cechy systemu, istotne ze względu na zamierzony cel badań.
Modelowanie - proces opracowywania modelu.
Rodzaje modeli systemów:
modele fizyczne (materialne);
modele symboliczne.
Modele fizyczne są to układy (systemy), których działanie odwzorowuje działanie rzeczywistego systemu przez wykorzystanie innych wielkości fizycznych w innej skali.
Model symboliczny - opis wyodrębnionej rzeczywistości w określonym języku formalnym.
Przykłady: plan miasta, rysunek techniczny obrabiarki, elementu roweru itp.
Model matematyczny - symboliczny model wyodrębnionej rzeczywistości, który zawiera ilościowe i jakościowe związki między cechami tej rzeczywistości, istotnymi z punktu widzenia celu jego opracowywania. Może być wyrażany za pomocą: wzorów, zestawień itp.
Algorytm
w języku potocznym algorytmem określamy zwykle przepis wykonywania czynności, w wyniku których osiągnie się zamierzony cel;
w dziedzinie naszych zainteresowań - algorytm, to przepis przekształcania danych, w celu zrealizowania zadania, np.
- wyznaczenia największego wspólnego podzielnika dwóch liczb;
- wyznaczenia pierwiastków równania kwadratowego,
- itp.
W procesie wyznaczania rozwiązania zadania według ustalonego algorytmu wyróżniamy:
- dane początkowe - dane wyjściowe do obliczeń, które mamy przekształcać (krok po kroku) według algorytmu,
- wyniki pośrednie - uzyskiwane w kolejnych iteracjach (krokach) obliczeniowych,
- wynik końcowy - wyznaczone rozwiązanie zadania poszukiwany wynik.
Oprogramowanie - zespół programów, wraz z ich dokumentacją, o określonym przeznaczeniu, np.:
Inżynieria - umiejętność projektowania i realizacji projektów, np. budowli, systemów, urządzeń itp.
Inżynieria systemów informatycznych- to dziedzina inżynierii, która obejmuje wszystkie aspekty (nie tylko techniczne) procesu tworzenia SI , we wszystkich fazach cyklu jego życia .
Inżynieria SI jest więc wiedzą empiryczną a nie nauką teoretyczną. Jej metody, techniki i narzędzia powstają i są rozwijane w oparciu doświadczenia projektowe i weryfikowane przez tysiące ośrodków podczas praktycznego ich stosowania.
Inżynieria SI:
obejmuje wszystkie fazy cyklu życia SI;
oprogramowanie traktuje jako produkt, który ma spełniać potrzeby techniczne, ekonomiczne lub społeczne.
Warstwy infrastruktury informatycznej organizacji:
infrastruktury sprzętowej- sieć komputerowa, drukarki itp.;
oprogramowania podstawowego- systemy operacyjne, systemy bazodanowe, systemy kompilatory języków itp.;
oprogramowania aplikacyjnego - systemy pracy biurowej, systemy wspomagania zarządzaniem klasy ERP (np. SAP, Oracle Applications itp.) itp.
Podstawowe zasady informatyzacji organizacji:
Kierunkowa zasada uszczegółowiania wprowadzania informatyzacji:
Strategia Program Projekt
Kierunkowa zasada ustalania komponentów składowych przy informatyzacji organizacji:
Oprogramowanie aplikacyjne Oprogramowanie podstawowe Infrastruktura sprzętowa
Kierunkowa zasada wzrostu udziału zasobów ludzkich organizacji w pracach nad jej informatyzacją:
Oprogramowanie aplikacyjne Oprogramowanie podstawowe Infrastruktura sprzętowa
Kierunkowa zasada korzyści (w tym efektów ekonomicznych) z informatyzacji
organizacji :
Oprogramowanie aplikacyjne Oprogramowanie podstawowe Infrastruktura sprzętowa
Kierunkowa zasada wzrostu kosztów informatyzacji organizacji
Oprogramowanie aplikacyjne Oprogramowanie podstawowe Infrastruktura sprzętowa
Zasada wdrażania gotowej aplikacji SI:
Strukturę i zasady funkcjonowania organizacji dostosowujemy do jej modelu przyjętego przy opracowywaniu wdrażanej aplikacji użytkowej SI;
Zasada przedsięwzięcia wytwórczo - wdrożeniowego
Struktura i zasady funkcjonowania organizacji nie ulegają zmianie, projekt zaczynamy od analizy wymagań użytkownika - dopasowanie SI do specyfiki organizacji.
Fazy przedsięwzięcia wdrożeniowego gotowej aplikacji SI:
analiza przedwdrożeniowa:
opracowanie modelu funkcjonowania informatyzowanej organizacji lub jej dziedziny problemowej;
analiza potrzeb użytkownika i definicja wymagań funkcjonalnych wobec SI;
analiza infrastruktury informatycznej organizacji;
wstępna definicja projektu wdrożeniowego;
wybór rozwiązania informatycznego i negocjacje z dostawcą tego rozwiązania:
przygotowanie zapytania ofertowego (najlepiej w postaci formularzy);
wypełnienie formularzy przez oferentów;
analiza i ocena ofert przez zamawiającego;
negocjacje merytoryczne i handlowe;
wdrożenie rozwiązania informatycznego:
przygotowanie organizacyjne;
projektowanie wdrożenia;
realizacja wdrożenia SI;
uruchomienie funkcjonowania SI;
testowanie SI.
Podstawowe fazy cyklu życia SI :
określania wymagań, w której określane są cele oraz szczegółowe wymagania wobec tworzonego systemu,
projektowania (ang. design), w której powstaje szczegółowy projekt systemu spełniającego ustalone wcześniej wymagania,
implementacji/kodowania (ang. implementation/coding) oraz testowania modułów, w której projekt zostaje zaimplementowany w konkretnym środowisku programistycznym oraz wykonywane są testy poszczególnych modułów,
testowania, w której następuje integracja poszczególnych modułów połączona z testowaniem poszczególnych podsystemów oraz całego SI,
konserwacji, w której oprogramowanie jest wykorzystywane przez użytkownika (ów), a producent dokonuje konserwacji SI (a przede wszystkim oprogramowania) - wykonuje modyfikacje polegające na usuwaniu błędów, zmianach i rozszerzaniu funkcji systemu;
Dodatkowe fazy cyklu życia SI (nakładają się na wymienione powyżej fazy podstawowe) :
strategiczna (ang. strategy) wykonywana przed formalnym podjęciem decyzji o realizacji przedsięwzięcia. W tej fazie podejmowane są decyzje strategiczne odnośnie podejmowania przedsięwzięcia projektowego: zakresu, kosztów, czasu realizacji itp.
analizy (ang. analysis), w której budowany jest logiczny model systemu,
dokumentacji, w której wytwarzana jest dokumentacja użytkownika. Opracowywanie dokumentacji przebiega równolegle z produkcją oprogramowania. Faza ta praktycznie rozpoczyna się już w trakcie określania wymagań. Sugeruje się nawet, że podręcznik użytkownika dla przyszłego systemu jest dobrym dokumentem opisującym wymagania. Ostatnie uaktualnienia w dokumentacji dokonywane są w fazie instalacji.
instalacji, w której następuje przekazanie systemu użytkownikowi.
Kryteria powodzenia przedsięwzięcia informatycznego, to:
zmieścić się w zaplanowanym budżecie;
zmieścić się w zaplanowanych ramach czasowych;
zaspokoić potrzeby zamawiającego - wyrażone w „Wymaganiach …”.
Podstawowi udziałowcy przedsięwzięcia informatycznego:
Zamawiający - ma potrzeby;
Analityk systemu - identyfikuje potrzeby (problem Zamawiającego) i „zamienia” je na wymagania - formułuje problem do rozwiązania w postaci „Wymagań na ….”;
Projektant - rozwiązuje problem. Rozwiązanie przedstawia w postaci „Projektu ……”;
Programista - opracowuje projekt oprogramowania i wykonuje jego implementację;
Zespół oceny jakości (testerzy) - ocenia zgodność właściwości funkcjonalnych wytworzonego systemu z wymaganiami zawartymi w „Wymaganiach na ….”;
Zespół wdrożeniowy - instaluje system, przeprowadza szkolenie administratora i użytkowników, przeprowadza badania kwalifikacyjne systemu, wspomaga uruchomienie eksploatacyjne systemu.
Wielkości charakteryzujące każde przedsięwzięcie informatyczne.
W realizacji każdego przedsięwzięcia, w tym informatycznego, występują trzy wzajemnie zależne wielkości je charakteryzujące :
zakres - określony przez wymagania;
koszt ;
czas.
Koszt i czas przedsięwzięcia projektowego kształtuje się poprzez wymagania.
Ustalanie wymagań na SI, opracowywany dla organizacji, realizujemy w dwóch etapach:
opracowujemy model biznesowy organizacji -środowiska funkcjonowania SI;
opracowujemy model systemowy SI, na który składają się:
model struktury SI,
model dynamiki SI.
Trudności określania wymagań na system:
nieokreśloność oczekiwań „klienta”,
„klient”= zamawiający +użytkownik+ „płatnik” - każdy z nich ma inne cele,
wielu użytkowników o różnych oczekiwaniach,
niejednoznaczność terminologiczna,
różne poziomy wiedzy o dziedzinie problemu,
różne poziomy uświadomienia potrzeb i następstw ich zaspokojenia u „klientów”.
Modelowanie obiektowe polega na:
modelowanie obiektów:
wyodrębnieniu obiektów w środowisku,
opisaniu struktury obiektów,
opisaniu dynamiki działania obiektów,
grupowaniu obiektów o tych samych właściwościach w klasy,
modelowanie klas obiektów:
opisaniu struktury i powiązań klas obiektów,
opisaniu dynamiki współdziałania klas podczas funkcjonowania systemu.
Obiekt -byt z dziedziny (rzecz, pojęcie) mający tożsamość, stan i zachowanie.
Klasa - abstrakcja, wzorzec obiektów o jednakowej charakterystyce.
Operacje, metody, komunikaty - operacja na obiekcie jest wykonywana przy pomocy jednej z jej metod po wysłaniu komunikatu do obiektu.
Paradygmat obiektowy:
Abstrahowanie - odfiltrowywanie atrybutów i operacji klasy nieistotnych z punktu widzenia aktualnie realizowanego zadania - rozwiązywanego problemu. W wyniku abstrahowania w strukturze klasy uwzględniamy zatem jedynie istotne składniki (atrybuty i operacje) .
Hermetyzacja (kapsułkowanie) - obiekt widziany jest jako czarna skrzynka połączona z jego otoczeniem wyłącznie poprzez interfejs.
Hermetyzacja -zamknięcie informacji o obiekcie w 1 „bryle”, umożliwienie manipulowania tą „bryłą” jako całością, ukrywanie zbędnych informacji.
Wiąże się z ukrywaniu informacji o obiektach (tzw. składowe prywatne).
Stan obiektu jest dostępny przez metody (tzw. funkcje publiczne).Uumożliwia bezpieczne użycie kodu, bez możliwości zmian wnętrza przy pomocy innych środków niż udostępnione operacje.
Interfejs -informacje o tych własnościach klasy, które są konieczne do poprawnego manipulowania obiektami danej klasy. Opisuje co obiekt robi a nie jak.
Znajomość interfejsu nie oznacza pełnej wiedzy o klasie. Klasa może być wyposażona w wiele interfejsów jak i jeden interfejs może być związany z kilkoma klasami.
Następstwa hermetyzacji w projektowaniu SI:
możliwość zrównoleglenia prac projektowych;
błędy w jednym module nie przenoszą się na inne;
większa łatwość ponownego (wielokrotnego) wykorzystania fragmentów oprogramowania , na zasadzie komponentów.
Generalizacja (uogólnienie) -umożliwia stworzenie hierarchii dziedziczenia, co oznacza, że obiekty podklasy dziedziczą cechy obiektów nadklasy. Potomek dziedziczy strukturę i zachowanie przodka, a ponad to ma cechy własne.
Polimorfizm - oznacza, że ta sama nazwa operacji w różnych klasach może oznaczać różne działania (ten sam komunikat wysłany do różnych obiektów może wywołać różne operacje, decyzja o wyborze metody jest podejmowana dynamicznie, w czasie wykonywania tzw. późne wiązanie).
Modelowanie struktury SI. Do modelowania struktury SI za pomocą UML stosuje się:
diagramy obiektów (ang. object diagram) - do przedstawienia obiektów fizycznych modelowanej rzeczywistości i ich powiązań,
diagramy klas (ang. class diagram) - do przedstawienia obiektów i ich powiązań zgrupowanych w klasę,
diagramy pakietów (ang. package diagram) - do przedstawienia obiektów i ich powiązań zgrupowanych w pakiet,
diagramy komponentów (ang. component diagram) - do przedstawienia obiektów i ich powiązań zgrupowanych w komponent,
diagram wdrożenia (ang. deployment diagram) - do reprezentowania fizycznych centrów obliczeniowych za pomocą węzłów.
Modelowanie dynamiki systemu. Dynamikę systemu opisujemy za pomocą diagramów:
przypadków użycia (ang. use case);
sekwencji (ang. seguence);
komunikacji (ang.communication);
czynności (ang.activity);
maszyny stanów (ang.state machine);
opisu interakcji ( ang. interaction overview);
następstw (ang. timing).
Opracował mgr Piotr Czerpak na podstawie wykładów dr hab. inż.. Edward Kołodziński prof. UWM