Projektowanie systemów informacyjnych
Modele organizacyjne
wytwarzania SI
Dr hab. inż.. Edward Kołodziński prof. WSIiE
SIZ-8
Studia magisterskie
Olsztyn 2010/2011
Projektowanie systemów informacyjnych
Literatura:
1. Cadle J. i inni: Zarządzanie procesem
tworzenia systemów informacyjnych,
WNT 2004
2. Jaszkiewicz A.: Inżynieria
oprogramowania, Helion1997
3. Szejko S.: Metody wytwarzania
oprogramowania, Mikom 2002
Cykl
Cykl wytwarzania SI zawiera następujące fazy jego życia:
-f
aza strategiczna;
aza strategiczna;
- określanie wymagań
- określanie wymagań
- analiza - modelowanie systemowe;
- analiza - modelowanie systemowe;
- projektowanie;
- projektowanie;
- implementacja;
- implementacja;
- integracja i testowanie;
- integracja i testowanie;
-
- wdrożenie.
wdrożenie.
Cykl wytwarzania SI
Cykl życia SI
Cykl wytwarzania SI
Cykl wytwarzania
oprogramowania użytkowego
SI
Cykl wytwarzania SI -
udziałowcy
Podział ról w wytwarzaniu SI:
•
analityk –
identyfikuje potrzeby użytkownika i
określa
wymagania na SI;
architekt –
tworzy projekt architektoniczny SI –
dekomponuje funkcjonalność systemy na komponenty;
Dba o spójność podziału na komponenty i zapewnienie
komunikacji między nimi za pomocą portów i interfejsów.
projektanci i programiści
SI
–
projektują strukturę i
dynamikę funkcjonowania komponentów.
Dbają o jakość realizacji „wnętrza” komponentów.
Model
systemu
Model
podsystemu
Oprogram.
podsystemu
Architekt
Projektant
Programista
Wymagania
na SI
Analityk SI
Oprogra
m.
systemu
Tester
Modele cyklu wytwarzania SI
Podstawowe powody przerywania przedsięwzięć
informatycznych:
•zmiany zachodzące wewnątrz organizacji;
•zmiany zachodzące w otoczeniu organizacji;
•nie zadawalające wyniki cząstkowe realizacji
przedsięwzięcia;
• zmiany technologiczne;
•pojawienie się na rynku konkurencyjnych
„produktów”
informatycznych;
• …….
Wytwarzanie SI
Wytwarzanie SI
– jest procesem, który powinien
– jest procesem, który powinien
być realizowany w
być realizowany w
sposób uporządkowany.
sposób uporządkowany.
Jak powinien przebiegać proces
Jak powinien przebiegać proces
„
„
Wytwarzanie SI”
Wytwarzanie SI”
?
?
Na to pytanie odpowiadają modele cyklu
Na to pytanie odpowiadają modele cyklu
wytwarzania SI.
wytwarzania SI.
Modele cyklu wytwarzania
Modele cyklu wytwarzania
SI:
SI:
porządkują przebieg prac,
porządkują przebieg prac,
ułatwiają
ułatwiają
planowanie zadań,
planowanie zadań,
ułatwiają monitorowanie realizacji zadań.
ułatwiają monitorowanie realizacji zadań.
Cykl wytwarzania SI
Wytwarzanie SI
Wytwarzanie SI
– jest procesem, który powinien
– jest procesem, który powinien
być realizowany w
być realizowany w
sposób uporządkowany.
sposób uporządkowany.
Jak powinien przebiegać proces „
Jak powinien przebiegać proces „
Wytwarzanie SI”
Wytwarzanie SI”
?
?
Na to pytanie odpowiadają modele cyklu wytwarzania SI.
Na to pytanie odpowiadają modele cyklu wytwarzania SI.
Modele cyklu wytwarzania
Modele cyklu wytwarzania
SI porządkują przebieg prac,
SI porządkują przebieg prac,
ułatwiają
ułatwiają
planowanie zadań
planowanie zadań
oraz monitorowanie przebiegu ich realizacji.
oraz monitorowanie przebiegu ich realizacji.
Podstawowe modele cyklu wytwarzania SI:
•
montaż z gotowych komponentów.
montaż z gotowych komponentów.
•
realizacja kierowana dokumentami,
realizacja kierowana dokumentami,
•
inne metody – w „Technologia wytwarzania oprogramowania
inne metody – w „Technologia wytwarzania oprogramowania
zintegrowanego systemu zarządzania bezpieczeństwem” -
zintegrowanego systemu zarządzania bezpieczeństwem” -
Cykl wytwarzania SI
Modele wytwarzania SI
stosowane gdy mamy
pełną wiedzę o pożądanych
jego właściwościach
•
model kaskadowy
model kaskadowy
(wodospadowy),
(wodospadowy),
•
model V,
model V,
•
realizacja przyrostowa,
realizacja przyrostowa,
•
model spiralny,
model spiralny,
•
prototypowanie,
prototypowanie,
•
programowanie odkrywcze.
programowanie odkrywcze.
Modele wytwarzania SI
stosowane gdy wiedza o pożądanych
jego właściwościach
jest ograniczona
Model kaskadowy (wodospadowy)
Model kaskadowy (wodospadowy)
Modele cyklu wytwarzania SI
Określenie
wymagań
Określenie
wymagań
Projektowanie
Projektowanie
Implementacja
Implementacja
Integracja i testowanie
Integracja i testowanie
Użytkowanie i konserwacja
Użytkowanie i konserwacja
Modelowa
nie
Modelowa
nie
Cele i szczegółowe wymagania wobec SI.
Szczegółowy projekt SI
uwzględniający
wcześniej określone
wymagania.
Oprogramowanie
użytkowe SI
Logiczny model systemu
Wdrożenie
Wdrożenie
Model kaskadowy (wodospadowy)
Model kaskadowy (wodospadowy)
Modele cyklu wytwarzania SI
Wady tego modelu to:
•
może być stosowany gdy jest możliwość precyzyjnego określenia
wymagań;
• narzuca twórcom SI ścisłą kolejność wykonywania prac
-
osoby
pracujące nad
oprogramowaniem preferują mniej rygorystyczny
styl pracy;
•
długa przerwa w kontaktach z klientem.
Faza strategiczna, określania wymagań i analizy realizowane są w ścisłej
współpracy z
klientem(w przypadku oprogramowania użytkowego wykonywanego
na zamówienie).
Projektowanie, implementacja oraz w dużej mierze testowanie wykonywane są
wyłącznie przez firmę programistyczną. Pojawia się, więc ryzyko zmniejszenia
zainteresowania klienta przedsięwzięciem w czasie, gdy nie bierze on
bezpośredniego
udziału w jego realizacji. W tym czasie poznaje inne
rozwiązania w zakresie
interesujących go funkcjonalności, zmienia się jego
wyobrażenie i oczekiwania
odnośnie „zamówionego” SI. Następuje
rozczarowanie rozwiązaniami jakie zamówił.
• wysoki koszt następstw błędów popełnianych we wstępnych
fazach.
Błędy popełnione w fazie określania wymagań zostaną najprawdopodobniej
wykryte
dopiero w fazie testowania lub konserwacji.
Ich koszt może o rzędy wielkości przewyższać koszty błędów
popełnionych,
np. w fazie implementacji.
Zmodyfikowany model kaskadowy z iteracjami
Modele cyklu wytwarzania SI
Określenie
wymagań
Określenie
wymagań
Modelowanie
Projektowanie
Modelowanie
Projektowanie
Implement
acja
Implement
acja
Integracja
i testowanie
Integracja
i testowanie
Iteracje traktowane są jako sytuacje wyjątkowe.
Wdrożenie
Wdrożenie
Użytkowanie i konserwacja
Użytkowanie i konserwacja
Zmodyfikowany model kaskadowy z iteracjami
Modele cyklu wytwarzania SI
Określenie
wymagań
Określenie
wymagań
Modelowanie
Projektowanie
Modelowanie
Projektowanie
Implementacja
(Kodowanie i scalanie
modułów w podsystemy)
Implementacja
(Kodowanie i scalanie
modułów w podsystemy)
Integracja podsystemów
i testowanie
Integracja podsystemów
i testowanie
Iteracje traktowane są jako sytuacje wyjątkowe.
Wdrażanie
Wdrażanie
Użytkowanie i konserwacja
Użytkowanie i konserwacja
Zatwierdzenie
Weryfikacja projektu
na zgodność z „Wymaganiami”
Testowanie modułów
i weryfikacja funkcjonalności
Test
akceptacyjny
Badania
zdawczo-
odbiorcze SI
Model V
Model V-
Model V-
odmiana
odmiana
modelu kaskadowego, definiuje główne
modelu kaskadowego, definiuje główne
procesy projektu jako
procesy projektu jako
etapy realizowane sekwencyjnie - jeden
etapy realizowane sekwencyjnie - jeden
po drugim.
po drugim.
Rozpoczęcie kolejnego etapu następuje po zakończeniu etapu
Rozpoczęcie kolejnego etapu następuje po zakończeniu etapu
poprzedniego.
poprzedniego.
Podczas realizacji każdego z etapów (lewej strony)
Podczas realizacji każdego z etapów (lewej strony)
opracowuje się
opracowuje się
program metodyki i testy do badań
program metodyki i testy do badań
jakości wyników etapu.
jakości wyników etapu.
Sprzężone są z nim procesy weryfikacyjne i walidacyjne,
rozmieszczone na
drugim ramieniu litery V, obrazują
strukturę całego modelu cyklu wytwarzania
oprogramowania.
Realizacja przyrostowa
Realizacja przyrostowa
Metoda stosowana gdy funkcjonalność SI jest rozszerzana i wdrażana
sukcesywnie.
Wymaganie- zamawiający od początku musi wiedzieć „czego chce”
Modele cyklu wytwarzania SI
Etapy:
• określenie ogólnych wymagań na SI;
• wykonanie projektu całości z wyróżnieniem przyrostów funkcjonalności
oprogramowania i określeniem kolejności ich realizacji;
• iteracyjna realizacja przyrostów właściwości użytkowych oprogramowania
użytkowego (funkcjonalności) zgodnie z modelem kaskadowym.
Określenie ogólnych
wymagań na SI
Określenie ogólnych
wymagań na SI
Projekt
wstępny SI
Projekt
wstępny SI
Wybór
podzbioru
funkcji
rozszerz.
właściwośc
i SI
Szczegółowy projekt
realizacji podzbioru
funkcji SI,
implementacja,
testy
Wdrożenie
zrealizowanej
części funk. SI
Proces
realizowany
iteracyjnie
Realizacja przyrostowa
Realizacja przyrostowa -
ocena
Zalety:
praktycznie ciągły kontakt z użytkownikiem;
ocena przez użytkownika jakości każdego
przyrostu funkcjonalności oprogramowania –
zmniejsza to ryzyko niepowodzenia globalnego.
Wada -
wzrost kosztów wytworzenia
oprogramowania
wskutek
jego
fragmentarycznej realizacji.
Modele cyklu wytwarzania SI
Model spiralny –
iteracyjny w zakresie kompleksowych
właściwości
Istnieje wiele wariantów tego modelu.
Planowanie:
ustalenie
celów wytwarzania
kolejnej wersji
oprogramowania
Analiza ryzyka:
Czynności jak w fazie
strategicznej
+ ew.
budowa prototypu
Wytwarzanie SI
Zgodnie z modelem
kaskadowym
Atestowanie
- przez klienta.
Jeżeli ocena nie jest w pełni
pozytywna, rozpoczynany jest
kolejny cykl.
Modele cyklu wytwarzania SI
Fazy:
Przyrost
funkcjonalno
ści
Prototypowanie
Stosowane gdy są trudności w jednoznacznym ustaleniu
wymagań na SI.
Jest to sposób na uniknięcie zbyt wysokich kosztów wskutek
błędów popełnionych z powodu niedostatecznej znajomości
pożądanych właściwości SI.
Fazy
ogólne określenie wymagań na SI;
budowa prototypu- zazwyczaj interfejsu użytkownika;
weryfikacja prototypu przez klienta;
pełne określenie wymagań;
realizacja pełnego systemu zgodnie z modelem kaskadowym
Cele
wykrycie nieporozumień pomiędzy zamawiającym a
twórcami
systemu;
wykrycie brakujących funkcji;
wykrycie trudnych usług;
wykrycie braków w specyfikacji wymagań;
Zalety
możliwość demonstracji pracującej wersji systemu;
możliwość szkoleń użytkowników zanim SI zostanie
wytworzony.
Modele cyklu wytwarzania SI
Programowanie odkrywcze
Model stosowany gdy
Model stosowany gdy są trudności w ustaleniu nawet
są trudności w ustaleniu nawet
wstępnych wymagań
wstępnych wymagań
–
–
g
gdy zastosowanie prototypowania
nie pozwala ustalić wymagań na SI
.
.
Ustalane są bardzo ogólne wymagania – jednakże o
Ustalane są bardzo ogólne wymagania – jednakże o
maksymalnym, możliwym do określenia, stopniu
maksymalnym, możliwym do określenia, stopniu
szczegółowości. Po czym budowany jest projekt i jego
szczegółowości. Po czym budowany jest projekt i jego
implementacja programowa, która udostępniana jest
implementacja programowa, która udostępniana jest
użytkownikowi do oceny.
użytkownikowi do oceny.
Uwagi użytkownika stanowią
Uwagi użytkownika stanowią
podstawę do uściślenia wymagań
podstawę do uściślenia wymagań
i powtórzenia cyklu.
i powtórzenia cyklu.
Modele cyklu wytwarzania SI
Wymagania
ogólne
Wytworzenie
aplikacji
Testowanie
ocena
użytkownika
pozytywna
Instalacja
oprogramowania
Uszczegółowienie
wymagań
negatywna
Montaż oprogramowania użytkowego z gotowych
komponentów
(reuse)
zakup elementów ponownego użycia od
dostawców;
przygotowanie elementów poprzednich
przedsięwzięć do ponownego użycia.
wysoka niezawodność;
zmniejszenie ryzyka;
efektywne wykorzystanie specjalistów;
narzucenie standardów.
dodatkowy koszt przygotowania elementów ponownego
użycia;
ryzyko uzależnienia się od dostawcy elementów;
niedostatki narzędzi wspomagających ten rodzaj pracy.
Metody
Zalety
Wady
Modele wytwarzania oprogramowania użytkowego SI
Kładzie nacisk na możliwość redukcji nakładów poprzez wykorzystanie
podobieństwa właściwości funkcjonalnych tworzonego oprogramowania do
wcześniej wytworzonego oraz wykorzystanie gotowych komponentów
dostępnych na rynku.
Realizacja kierowana dokumentami (ang. document-
driven)
Jest to odmiana modelu kaskadowego.
Każda faza kończy się sporządzeniem szeregu
dokumentów, w
których opisuje się wyniki danej fazy.
Przyjęty przez armię amerykańską dla realizacji projektów w
języku Ada.
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 zgodnych ze
standardem (DOD STD 2167) - ponad 50% całkowitych
nakładów.
Przerwy w realizacji niezbędne dla weryfikacji dokumentów
przez klienta.
Modele cyklu wytwarzania SI