Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie...

49
KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA Dr inż. Mariusz Makuchowski Wykład 9 Cykl życia systemu informatycznego

Transcript of Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie...

Page 1: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

KOMPUTEROWE WSPOMAGANIE

ZARZĄDZANIA

Dr inż. Mariusz Makuchowski

Wykład 9

Cykl życia systemu informatycznego

Page 2: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

2

Cykl życia systemu informatycznego

Przez cykl życia systemu informatycznego należy rozumieć określoną

koncepcję rozłożenia w czasie czynności odbywających się podczas

pracy nad opracowaniem i wyprodukowaniem systemu określonego

typu oraz jego eksploatacji. Cykl ten obejmuje okres od powstania u

użytkownika potrzeby budowy systemu informatycznego, prezentacji

jego idei, konstrukcję, użytkowanie, przystosowane do

ewentualnych zmian funkcjonowania a kończąc na wycofaniu z

eksploatacji.

Page 3: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

3

Cykl życia systemu informatycznego

Fazy cyklu życia systemu informatycznego:

• faza strategiczna

• analiza - modelowanie systemowe

• projektowanie

• implementacja

• integracja i testowanie

• wdrożenie

• utrzymanie

• likwidacja

Page 4: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

4

Cykl życia systemu informatycznego

W fazie strategicznej podejmowane są czynności poprzedzające

decyzję o realizacji przedsięwzięcia. Między innymi decyzje

dotyczące sposobu organizacji i harmonogramowania.

Do decyzji strategicznych należy:

• Wybór modelu, zgodnie z którym będzie realizowane

przedsięwzięcie

• Wybór technik stosowanych w fazach analizy i projektowania

• Wybór środowiska (środowisk) implementacji

• Wybór narzędzia CASE

• Określenie stopnia wykorzystania gotowych komponentów

• Podjęcie decyzji o współpracy z innymi producentami

Page 5: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

5

Cykl życia systemu informatycznego

Modele cyklu wytwarzania systemów internetowych

- porządkują przebieg prac,

- ułatwiają planowanie zadań,

- ułatwiają monitorowanie realizacji zadań.

• Model kaskadowy - separacja faz specyfikacji i implementacji

• Model ewolucyjny - przeplatanie się faz specyfikacji i

implementacji

• Model spiralny - elementy modelu kaskadowego i ewolucyjnego

• Pozostałe modele to różne ich odmiany i modyfikacje

Page 6: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

6

Model kaskadowy (model wodospadu)

Najstarszym i prawdopodobnie najlepiej znanym cyklem życia

oprogramowania jest model kaskadowy zwany też modelem

wodospadu.

W modelu tym, aby zbudować system informatyczny należy przejść

przez kolejne etapy, których realizacji ma zapewnić zakończenie

projektu. Wyjście z jednego etapu jest równocześnie wejściem w

kolejny, bez możliwości powrotu. Oczywiście w czasie

poszczególnych etapów mogą wystąpić problemy i wtedy będzie

konieczny powrót ale możliwość wystąpienia takiej sytuacji powinna

być minimalizowana.

Page 7: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

7

Model kaskadowy (wodospadu)

Określenie

wymagań

Analiza

Projektowanie

Implementacja

Wdrożenie

Testowanie

Stosowany w projekcie o

dobrze zdefiniowanych

wymaganiach dla

dobrze rozumianych

zastosowań

Page 8: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

8

Model kaskadowy (wodospadu)

• Określanie wymagań – określane są cele oraz szczegółowe wymagania

wobec tworzonego systemu,

• Analiza – budowany jest logiczny model systemu

• Projektowanie - powstaje szczegółowy projekt systemu

• Implementacja/kodowanie oraz testowania modułów - projekt

zostaje zaimplementowany w konkretnym środowisku

programistycznym oraz wykonywane są testy poszczególnych modułów,

• Testowanie - następuje integracja poszczególnych modułów połączona

z testowaniem poszczególnych podsystemów oraz całego

oprogramowania,

• Wdrożenie - system jest wykorzystywany przez użytkownika(ów), a

producent dokonuje konserwacji oprogramowania — wykonuje

modyfikacje polegające na usuwaniu błędów, zmianach i rozszerzaniu

funkcji systemu

Page 9: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

9

Cechy modelu kaskadowego

Wady:

• Wymagania klienta muszą być w dużym stopniu sprecyzowane.

W przypadku ich zmiany koszty znacznie wzrastają a wszystkie

etapy muszą być przechodzone od nowa.

• Kolejność wykonywania prac musi być ściśle przestrzegana.

• Weryfikacja zgodności produktu z wymaganiami i jego

użyteczności następuje dopiero w końcowych krokach.

• Błędy popełnione we wstępnych etapach (zbierania lub analizy

wymagań) mogą być wykryte dopiero na etapie testów

akceptacyjnych, bądź eksploatacji, a koszty ich naprawy są

bardzo wysokie.

Page 10: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

10

Cechy modelu kaskadowego – c.d.

• Próba dopasowania produktu do zmieniających się wymagań,

powoduje znaczący wzrostu kosztów budowy systemu.

• Długa przerwa w kontaktach z klientem może spowodować

zmniejszenie zainteresowania produktem. Klient uczestniczy w

projekcie na samym początku przy określaniu wymogów i analiz

a następny jego udział jest dopiero na etapie wdrażania.

Zalety:

• łatwe planowanie, harmonogramowanie oraz monitorowanie

przedsięwzięcia

• zmusza do zdyscyplinowanego podejścia

Page 11: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

11

Model kaskadowy z iteracjami

Określenie

wymagań

Analiza

Projektowanie

Implementacja

Wdrożenie

Testowanie

W czystym modelu kaskadowym

konieczność powrotu do wcześniejszej fazy

traktuje się jako nieprawidłowość, czyli

sytuację awaryjną.

W iteracyjnym modelu kaskadowym

Takie powroty z góry się przewiduje, daje

to większą elastyczność ale wydłuża czas

przedsięwzięcia

Page 12: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

12

Realizacja kierowana dokumentami

Realizacja kierowana dokumentami jest odmianą modelu

kaskadowego.

Model stworzony przez armię amerykańską NASA

Każda faza kończy się opracowaniem szeregu dokumentów,

które z założenia są wystarczającą podstawą do realizacji

kolejnych etapów. Dopiero akceptacja dokumentacji

zrealizowanego etapu pozwala na rozpoczęcie kolejnego.

Page 13: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

13

Realizacja kierowana dokumentami

Zalety:

• łatwe planowanie, harmonogramowanie oraz monitorowanie

przedsięwzięcia.

• możliwość realizacji kolejnych faz przez inną firmę.

Wady:

• Duży nakład pracy na opracowanie dokumentów - ponad 50%

całkowitych nakładów.

• Przerwy w realizacji niezbędne dla weryfikacji dokumentów

przez klienta.

Page 14: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

14

Model ewolucyjny

W modelu tym następuje bardzo wczesne wprowadzenie

użytkownika w obsługę projektowanego systemu. Użytkownik ma

możliwość proponowania zmian w projekcie, co pozwala w

końcowym efekcie na stworzenie systemu, który będzie w pełni

satysfakcjonował użytkownika.

Page 15: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

15

Model ewolucyjny

Zalety:

• dobry dla małych projektów, szybki start projektu

• tolerancja dla słabo zdefiniowanych wymagań

• niski koszt błędów (krótki czas życia błędów)

Wady:

• trudność z harmonogramowaniem

• Trudno określić zaawansowanie projektu

• systemy często o złej strukturze

Page 16: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

16

Model ewolucyjny

Zarys systemu

Wersja

początkowa

Wersje

pośrednie

Wersja końcowa

Specyfikacja

Rozwój systemu

Weryfikacja

Czynności przebiegające

równolegle

Page 17: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

17

Model przyrostowy

Model przyrostowy jest wariantem modelu ewolucyjnego. W

tym modelu rozpoznanie i analiza dotyczą całego systemu.

Dopiero po sformułowaniu problemu i określeniu pełnej

koncepcji następuje podział systemu na moduły (przyrosty),

które są z osobna projektowane, programowane a następnie

wdrażane.

Page 18: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

18

Model przyrostowy

Fazy:

• określenie całości wymagań, wykonanie wstępnego, ogólnego

projektu całości systemu

• wybór pewnego podzbioru funkcji systemu (przyrostów)

• szczegółowy projekt (wg modelu kaskadowego) oraz

implementacja części systemu realizującej wybrane funkcje

• testowanie zrealizowanego fragmentu i dostarczenie go

klientowi

• powtarzanie kolejnych etapów, aż do zakończenia

implementacji całego systemu

Page 19: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

19

Model przyrostowy

Zalety:

• częste kontakty z klientem (skrócenie przerw w porównaniu z

modelem kaskadowym)

• brak konieczności zdefiniowania z góry całości wymagań

• możliwość wczesnego wykorzystania przez klienta dostarczonych części

systemu,

• możliwość elastycznego reagowania na opóźnienia realizacji fragmentu

– przyspieszenie prac nad inną/innymi częściami (sumarycznie - bez

opóźnienia całości przedsięwzięcia projektowego)

Wady:

• dodatkowy koszt związany z niezależną realizacją fragmentów systemu

• potencjalne trudności z wycinaniem podzbioru funkcji w pełni

niezależnych

Page 20: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

20

Model przyrostowy

Określenie

ogólnych

wymagań

Przypisanie

wymagań do

przyrostów

Projekt

architektury

systemu

Tworzenie

przyrostu

systemu

Testowanie

przyrostuIntegracja

systemuTestowanie

systemu

System końcowy

system nie ukończony

Page 21: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

21

Model „V”

Jest odmianą modelu kaskadowego, charakteryzuje go rozbudowana

faza testów. Model V jest jednym z najpopularniejszych podejść do

procesu testowania, które mają na celu weryfikację i walidację

poprawności wykonania każdego etapu stanowiącego cykl życia

oprogramowania.

• Każdy z etapów wytwórczych poddany jest różnym testom dzięki

czemu prawdopodobieństwo pojawienia się błędu lub niezgodności

z wymaganiami przy wdrożeniu i eksploatacji jest dużo mniejsze niż

w modelu kaskadowym.

• W procesie tworzenia oprogramowania zgodnym z tym modelem

udział biorą dwa zespoły: projektowy, który opracowuje produkty

poszczególnych faz i testujący, który testuje powstające produkty

Page 22: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

22

Model „V”

W modelu V:

• Lewa , schodząca w dół część V ilustruje przejście od analizy do

projektowania, następnie do programowania oraz zwiększający

się podział składowych systemu

• Prawa, biegnąca ku górze część V ilustruje narastające

składanie i testowanie, kończące się na dostarczonym

produkcie;

• Z uwagi na dodatkowe testy mające zapewnić wysoką jakość

systemu, zdecydowanie wydłuża się czas jego tworzenia oraz

znacznie zwiększają się koszty.

Page 23: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

23

Model „V”

wymagania

Projekt

systemu

Projekt

podsystemu

Projekt

modułu

Testowanie

akceptacyjne

Integracja i

walidacja systemu

Integracja i weryfikacja

podsystemu

Testowanie

modułu

implementacja

Page 24: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

24

Model spiralny

• zaproponowany przez Boehma (1988)

• Główną cechą modelu spiralnego jest analiza ryzyka w każdej

fazie prac co stanowi próbę minimalizacji ryzyka niepowodzenia

przedsięwzięcia.

• Ciągła weryfikacja produktu przez użytkownika ma na celu

wytworzenie produktu w pełni satysfakcjonującego klienta.

• Budowę systemu zaczyna się od określenia podstawowych

wymagań i założenia celów, następnie dokonywana jest analiza

realizacji projektu wraz z oceną alternatywnych rozwiązań. Na

tej podstawie tworzony jest prototyp systemu.

Page 25: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

25

Model spiralny

Model spiralny to cyklicznie powtarzane cztery czynności:

• planowanie – na podstawie wymagań i celów wyznaczonych przez

klienta, dokonuje się określenia alternatyw i ograniczeń oraz kolejnego

planowania przy każdorazowym rozpoczęciu kolejnego cyklu spirali.

• analiza ryzyka – sprowadza się do oceny rozwiązań alternatywnych

oraz próby identyfikacji i analizy ryzyka związanego z każdą z

możliwych alternatyw konstrukcji nowego wydania.

• konstrukcja – ma postać „małego‖ wodospadu, a jej celem jest

wytworzenie kolejnego wydania systemu.

• ocena przez klienta – walidacja wydania i jego ocena z możliwością

modyfikacji wymagań na system (możliwość wystąpienia modyfikacji

wymagań powinna być minimalizowana).

Page 26: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

26

Model spiralny

TESTOWANIE

PLANOWANIE

Ocena przez klienta – jeżeli

nie jest satysfakcjonująca to

rozpoczyna się nowy cykl

Planowanie -

wyniki kontaktu

z klientem

Wymagania i

założenia

początkowe

ANALIZA

RYZYKA

KONSTRUKCJA

(MODEL

KASKADOWY)

Analiza ryzyka w

oparciu o wymagania

Analiza ryzyka w

oparciu o reakcje

klienta

Kolejne wydania

produktu

Page 27: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

27

Model spiralny

Zalety:

• Do dużych systemów - szybka reakcja na pojawiające się

czynniki ryzyka

• Połączenie iteracji z klasycznym modelem kaskadowym

Wady:

• Trudno do niego przekonać klienta

• Konieczność umiejętności szacowania ryzyka

• Problemy, gdy źle oszacujemy ryzyko

Page 28: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

28

Prototypowanie

Idea modelu prototypowego polega na stosunkowo szybkim powstaniu

prototypu systemu, który podlega ciągłym iteracją (powtórzeniach,

zapętleniach) aż do momentu uzyskania satysfakcjonującego produktu.

Stosowane gdy są trudności w jednoznacznym ustaleniu wymagań

Przez cały okres tworzenia systemu, użytkownicy uczestniczą w jego

tworzeniu poprzez swoją ocenę oraz możliwość zgłaszania uwag bądź

pomysłów, które zostają przekazana projektantom. Prototypowanie pozwala

na uściślenie wymagań i odpowiednią ich interpretację.

Pozwala na uniknięcie zbyt wysokich kosztów błędów popełnionych w fazie

określania wymagań

Page 29: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

29

Prototypowanie

Zalety:

• lepsze określenie wymagań, wykrycie nieporozumień pomiędzy

klientem a twórcami systemu,

• skrócenie czasy powstania całości projektu

• ograniczenie liczby błędów

• redukcja kosztów

• możliwość szybkiej demonstracji pracującej wersji systemu,

• możliwość szkoleń zanim zbudowany zostanie pełny system

Wady:

• niezadowolenie klienta, który po obejrzeniu działającego prototypu

musi następnie długo czekać na dostawę gotowego systemu

• (pozorna) koszt budowy prototypu

Page 30: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

30

Prototypowanie

Model ten składa się z następujących faz:

• ogólne określenie wymagań,

• budowa prototypu,

• weryfikacja prototypu przez klienta,

• pełne określenie wymagań,

• realizacja pełnego systemu zgodnie z modelem kaskadowym

Szybkie tworzenie działającego prototypu wymaga najczęściej

wykorzystania narzędzi i metod wspomagających, tj.

generatory oprogramowania, programy szkieletowe, narzędzia

typu CASE

Page 31: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

31

Prototypowanie

negatywna

pozytywna

Określenie

ogólnych

wymagań

Budowa prototypu

Ocena przez

klienta

Budowa pełnego

systemu wg modelu

kaskadowego

Poprawa

projektu

i prototypu

Cele:

• wykrycie nieporozumień pomiędzy

klientem a twórcami systemu

• wykrycie brakujących funkcji

• wykrycie trudnych usług

• wykrycie braków w specyfikacji wymagań

Pełne określenie

wymagań

Page 32: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

32

Prototypowanie

Metody prototypowania:

• Niepełna realizacja: objęcie tylko części funkcji

• Języki wysokiego poziomu: Smalltalk, Lisp, Prolog, 4GL…

• Wykorzystanie gotowych komponentów

• Generatory interfejsu użytkownika: wykonywany jest wyłącznie

interfejs, wnętrze systemu jest ―podróbką‖.

• Szybkie programowanie: normalne programowanie ale bez

zwracania uwagi na niektóre jego elementy, np. zaniechanie

testowania

Page 33: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

33

Montaż z gotowych elementów

Montaż z gotowych elementów zwany też programowaniem z

półki, kładzie szczególny nacisk na możliwości redukcji

nakładów przez maksymalne wykorzystanie podobieństw

tworzonego oprogramowania do wcześniej tworzonych

systemów.

Page 34: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

34

Montaż z gotowych elementów

Wykorzystane są tu:

• biblioteki,

• języki czwartej generacji,

• pełne aplikacje

Metody pozyskiwania gotowych komponentów:

• zakup od zewnętrznych dostawców,

• opracowanie wyników aktualnie realizowanych przedsięwzięć

tak, aby mogły być wykorzystane w kolejnych

przedsięwzięciach.

Page 35: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

35

Montaż z gotowych elementów

Zalety:

• wysoka niezawodność,

• zmniejszenie ryzyka,

• efektywne wykorzystanie specjalistów,

• narzucenie standardów,

• potencjalna redukcja kosztów.

Wady:

• dodatkowy koszt przygotowania elementów do ponownego

wykorzystania,

• ryzyko uzależnienia się od dostawcy komponentów,

• niedostatki narzędzi wspomagających ten rodzaj pracy.

Page 36: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

36

Programowanie odkrywcze

Model stosowany gdy są trudności w ustaleniu nawet wstępnych

wymagań (zaleta), Uwagi użytkownika stanowią podstawę do

uściślenia wymagań i powtórzenia cyklu.

Fazy programowania odkrywczego:

• początek cyklu - bardzo ogólne określenie wymagań,

• budowa systemu - faza realizacji obejmuje wykonanie przynamniej

ogólnego projektu,

• Weryfikacja systemu przez klienta – w przypadku nie spełnienia

oczekiwań, budowana jest kolejna wersja systemu,

• koniec cyklu – w przypadku uzyskania produktu satysfakcjonującego

klienta, jest to jedna z kolejnych wersji systemu

Page 37: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

37

Programowanie odkrywcze

negatywnapozytywna

Określenie

ogólnych

wymagań

Budowa systemu

ModyfikacjaWstępne

testowanie

Ocena przez

klientaGotowy produkt

Wytwarzanie odkrywcze polega

na stałej modyfikacji budowy

systemu, bez odrzucania

dotychczas wytworzonego

oprogramowania

(przeciwnie do prototypowania)

Page 38: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

38

Programowanie odkrywcze

Wady:

• trudności z zachowaniem sensownej struktury systemu,

• niemożliwe jest wykonanie większych systemów o

zadowalającej niezawodności,

• możliwość testowania wyłącznie przy współudziale klienta.

Page 39: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

39

Model RAD (ang. Rapid Application

Development)

Model ten można zastosować gdy system jest skalowalny tzn. składa

się z kilku słabo ze sobą powiązanych lub niepowiązanych głównych

funkcji

• gwarantuje wysoką jakością rozwiązania,

• ewolucyjny proces wytwarzania systemu,

• techniki inżynierskie wytwarzania są stosowane w całym cyklu

realizacji,

• każdą funkcję można przydzielić do realizacji innemu zespołowi

produkcyjnemu. Zespoły te mogą działać niezależnie

• cechuje go stosowanie wydajnych narzędzi wspomagających

wytwarzanie oprogramowania,

• gwarantuje produktywność wytwarzanego oprogramowania.

Page 40: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

40

Model RAD

Zalety:

• szybkość tworzenia systemu

Wady:

• system musi być skalowalny

• duże zasoby pracownicze

• intensywne zaangażowanie pracowników

• nie dla wszystkich rodzajów aplikacji

Page 41: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

41

Jak wybrać odpowiedni model?

W związku z tym, iż różne projekty mają różne wymagania,

nie ma jednego uniwersalnego modelu, który mógłby być

zawsze stosowany.

Czynnikami, które należy uwzględnić przy wyborze lub

konstrukcji konkretnego procesu są m.in.:

• specyfika tworzonego systemu (m.in. rozmiar systemu),

• stosowane technologie,

• wielkość i charakter zespołu realizującego proces,

• ryzyka związane z realizacją procesu.

Page 42: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

42

Jak wybrać odpowiedni model?

Jak podano w literaturze (M. Piasecki) wstępnie można

przyjąć, że jeżeli jest tworzony system informatyczny i:

• na własny użytek chcemy rozwiązać pewien niewielki problem i

nie wiemy, jak się za niego zabrać - model odkrywczy

• wymagania są dobrze zdefiniowane, produkt jest podobny do

realizowanych przez nas do tej pory, mamy doświadczenie w

realizacji podobnych przedsięwzięć - model kaskadowy lub

montażu z gotowych elementów

• klient ma problemy ze wyartykułowaniem swych wymagań -

prototypowanie

Page 43: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

43

Jak wybrać odpowiedni model?

• istnieje duża niepewność związana z wytwarzaniem produktu

i duże ryzyko - podejście ewolucyjne (modele przyrostowy,

spiralny)

• wymagania są dość dobrze zdefiniowane, ale występuje dość

duża złożoność problemu (np. bardzo duży system – dużo kodu

do napisania) – podejście przyrostowe

• Kiedy są krótkie terminy, a system jest duży należy zastosować

- podejście RAD ( gdy dysponujemy dużym zespołem produkcyjnym)

- Przyrostowe ( jeżeli mamy niewielki zespół, a klientowi zależy

głównie na najważniejszych funkcjach)

Page 44: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

44

Jak wybrać odpowiedni model?

• klient ma chwilowo małe fundusze, ale jest szansa, że w trakcie

realizacji budżet się zwiększy - model spiralny

• W każdym możliwym przypadku budować z gotowych

elementów

• W przypadku wyboru dowolnego modelu, jeśli wymagania są źle

określone - zrobić prototyp

Page 45: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

45

Przyczyny niepowodzeń

Przyczyny niepowodzeń projektów informatycznych:

- przytłaczająca złożoność

- zbyt mało kompetencji i doświadczenia (zbyt ambitne cele)

- specyfikacje są niekompletne lub niejednoznaczne

- za mały udział użytkowników

- zła komunikacja

- za mało planowania

- złe oszacowania

- nieobiektywna ocena postępu prac

- brak jasnego określenia zakresu odpowiedzialności

- późne zmiany specyfikacji

- nieskończone ulepszanie

- mało uwagi poświęcone problemom jakości

- słaba dokumentacja

Page 46: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

46

Czynniki wpływające na powodzenie

projektu

Kluczowe czynniki powodzenia:

- wspólna wizja produktu - atmosfera zaangażowania i

współodpowiedzialności za projekt

- doświadczona i kompetentna kadra

- praca zespołowa - w szczególności współpraca z użytkownikiem

- myślenie przyszłościowe - zapobieganie zagrożeniom, nie zaś tylko

usuwanie skutków

- planowanie i analiza ryzyka

- dobra komunikacja i przepływ informacji

- zarządzanie zmianami

- regularne przeglądy projektu

Page 47: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

47

Bibliografia

[1] Adam Nowicki, Komputerowe wspomaganie biznesu (2006)

[2] Karol Kukuła, Badania operacyjne w przykładach i zadaniach (2002)

[3] Czesław Smutnicki, Algorytmy szeregowania (2002)

[4] Ryszard Knosyla i Zespół, Komputerowe wspomaganie zarządzania

przedsiębiorstwem –Nowe metody i systemy (2007)

[5] Zbigniew Klonowski, Systemy informatyczne zarządzania przedsiębiorstwem.

Modele rozwoju i właściwości funkcjonalne (2004)

[6] M. Fertsch, K. Grzybowska, A. Stachowiak, Logistyka i zarządzanie produkcją –

nowe wyzwania i odległe granice (2007)

[7] S. Zieliński – Inteligentne systemy w zarządzaniu. Teoria i praktyka (2000)

[8] Adamczewski, Piotr. Zintegrowane systemy informatyczne w praktyce, Warszawa,

PWN, 2005

[9] Szejko, Stanisław (Redakcja naukowa). Metody wytwarzania oprogramowania,

Warszawa, PWN, 2004

[10] Lausen, Georgie; Vossen, Gottfried. Obiektowe bazy danych. Modele danych i

języki, Warszawa, WNT, 2004

Page 48: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

48

Bibliografia

[11] Miłosz, Marek (Redakcja naukowa). Bezpieczeństwo informacji, Warszawa, PWN,

2005

[12] Dolińska, Małgorzata. Projektowanie systemów informacyjnych na przykładzie

zarządzania marketingiem, Warszawa, Agencja Wydawnicza "Placet", 2003.

[13] Cheesman, John; Daniels, John. Komponenty w UML. Warszawa, WNT 2004

[14] Szyjewski, Zdzisław. Zarządzanie projektami informatycznymi, metodyka

tworzenia systemów informatycznych. Warszawa, Agencja Wydaw. Placet, 2001.

(Biblioteka Biznesmena)

[15] Leyland, Valerie. EDI Elektroniczna wymiana dokumentacji. Warszawa, WNT,

2003

[16] Orłowski, Cezary. Projektowanie hybrydowych systemów informatycznych do

wspomagania zarządzania, Wydaw. Politech. Gdańskiej, 1999.

[17] M.Jurczyk, R.Knosala - Terminowość i efektywność realizacji zleceń w systemach

z wyróżnionym zasobem taktującym

Page 49: Komputerowe wspomaganie zarządzania Tworzenie i wdrażanie ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · akceptacyjnych, bądź eksploatacji, a koszty ich

Dziękuję za uwagę.