background image

Cykle życia

oprogramowania

Chudzik Patryk s3790, Bialic Piotr s3771

background image

 

Bialic Piotr && Chudzik Patryk

2

Konspekt

• Definicja
• Podstawowe informacje
• Projekty w liczbach
• Podstawowe Modele
• Wady i Zalety
• Podsumowanie
• Linki

background image

 

Bialic Piotr && Chudzik Patryk

3

Definicje cyklu życia

• Seria kolejnych zmian programu, w 

trakcie których odbywa się cykliczne 
dodawanie nowych funkcji oraz 
usuwanie powstających w trakcie 
rozwoju błędów.

• Proces złożony z ciągu wzajemnie 

spójnych etapów, obejmuje okres od 
momentu uświadomienia potrzeby 
istnienia systemu do momentu jego 
wycofania z eksploatacji.

background image

 

Bialic Piotr && Chudzik Patryk

4

Podstawowe pojęcia

• Faza Analizy
• Faza Projektowania
• Faza Konstrukcji- Implementacji
• Faza Testowania
• Faza Wdrażania
• Faza Konserwacji

background image

 

Bialic Piotr && Chudzik Patryk

5

Projekty w liczbach

background image

 

Bialic Piotr && Chudzik Patryk

6

Model buduj i poprawiaj

Budowa

 pierwszej wersji

Budowa

 pierwszej wersji

Modyfikacje zgodne 

z życzeniem klienta

Modyfikacje zgodne 

z życzeniem klienta

Testowanie

Testowanie

Wdrożenie

Wdrożenie

background image

 

Bialic Piotr && Chudzik Patryk

7

Model Kaskadowy

Analiza

Analiza

Projektowanie

Projektowanie

Konstrukcja

Konstrukcja

Testowanie

Testowanie

Wdrażanie

Wdrażanie

Konserwacja

Konserwacja

background image

 

Bialic Piotr && Chudzik Patryk

8

Zalety i wady modelu 

kaskadowego

• Zalety

:

• ułatwia organizację: planowanie, harmonogramowanie, 

monitorowanie
przedsięwzięcia

• zmusza do zdyscyplinowanego podejścia

• wymusza kończenie dokumentacji po każdej fazie

• wymusza sprawdzenie każdej fazy przez SQA

• Wady

:

• narzuca twórcom oprogramowania ścisłą kolejność wykonywania 

prac

• występują trudności w sformułowaniu wymagań od samego 

początku

• powoduje wysokie koszty błędów popełnionych we wczesnych 

fazach,

• powoduje długie przerwy w kontaktach z klientem.

• brak jest weryfikacji i elastyczności

• możliwa jest niezgodność z faktycznymi potrzebami klienta

background image

 

Bialic Piotr && Chudzik Patryk

9

Model Kaskadowy z iteracjami

Analiza

Analiza

Projektowanie

Projektowanie

Konstrukcja

Konstrukcja

Testowanie

Testowanie

Wdrażanie

Wdrażanie

Konserwacja

Konserwacja

background image

 

Bialic Piotr && Chudzik Patryk

10

Zalety i wady

• W iteracyjnym modelu kaskadowym:

• Takie powroty z góry się przewiduje, daje to większą 

elastyczność,

• ale wydłuża czas przedsięwzięcia

• Każda faza kończy się sporządzeniem szeregu dokumentów,

• w których opisuje się wyniki danej fazy.

• Łatwe planowanie, harmonogramowanie oraz monitorowanie

• przedsięwzięcia.

• Dodatkowa zaleta: (teoretyczna) możliwość realizacji dalszych 

faz przez

• inną firmę.

• Wady:

• Duży nakład pracy na opracowanie dokumentów zgodnych ze 

standardem

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

• klienta.

background image

 

Bialic Piotr && Chudzik Patryk

11

Model „realizacji 

przyrostowej”

background image

 

Bialic Piotr && Chudzik Patryk

12

Zalety i wady

• Zalety:
• skrócenie przerw w kontaktach z klientem
• możliwość wczesnego wykorzystania 

przez klienta

• dostarczonych fragmentów systemu
• możliwość elastycznego reagowania na 

powstałe opóźnienia

• Wady:
• dodatkowy koszt towarzyszący niezależnej 

realizacji fragmentów systemu

background image

 

Bialic Piotr && Chudzik Patryk

13

Prototypowanie

background image

 

Bialic Piotr && Chudzik Patryk

14

Zalety i wady

• Zalety:

• lepsze poznanie potrzeb i wymagań klienta

• 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

background image

 

Bialic Piotr && Chudzik Patryk

15

Model RAD - (Rapid Application 

Development)

Analiza

Analiza

Projektowanie

Projektowanie

Konstrukcja

Konstrukcja

Testowanie

Testowanie

Zwrot

Zwrot

Analiza

Analiza

Projektowanie

Projektowanie

Konstrukcja

Konstrukcja

Testowanie

Testowanie

Zwrot

Zwrot

Analiza

Analiza

Projektowanie

Projektowanie

Konstrukcja

Konstrukcja

Testowanie

Testowanie

Zwrot

Zwrot

Wdrażanie

Wdrażanie

background image

 

Bialic Piotr && Chudzik Patryk

16

Zalety i wady

• Zalety :
• szybkość
• Wady:
• projekt musi być skalowalny
• duże zasoby pracownicze
• intensywne zaangażowanie pracowników
• nie dla wszystkich rodzajów aplikacji

background image

 

Bialic Piotr && Chudzik Patryk

17

Model spiralny

background image

 

Bialic Piotr && Chudzik Patryk

18

Zalety i wady

• 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

background image

 

Bialic Piotr && Chudzik Patryk

19

Metoda gotowych elementów

DAL

DAL

Logika

Logika

Interfejs

Interfejs

Aplikacja

Aplikacja

background image

 

Bialic Piotr && Chudzik Patryk

20

Zalety i wady

Zalety:
• Szybkość
• Prostota
• Mniejsze ryzyko błędów
Wady:
• Trudność implementacji takich 

modułów

• Koszty zakupu
• Problem dostosowania

background image

 

Bialic Piotr && Chudzik Patryk

21

Podsumowanie

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

• i nie wiemy, jak się za niego zabrać → model buduj-i-poprawiaj.

• Kiedy 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.

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

• → prototypowanie

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

• Duże ryzyko → podejście ewolucyjne (modele przyrostowy, spiralny).

• Kiedy 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.

background image

 

Bialic Piotr && Chudzik Patryk

22

Podsumowanie c.d.

• Kiedy są krótkie terminy, a system jest dość duż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).

• Kiedy są krótkie terminy, system jest niewielki, a klientowi bardzo 

na nim

• zależy → model programowania ekstremalnego.

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

trakcie

• realizacji budżet się zwiększy → model spiralny.

• Kiedy system jest typu krytycznego → model formalnych 

transformacji.

• 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

background image

 

Bialic Piotr && Chudzik Patryk

23

Linki

http://www.google.pl

http://www.einformatyka.pl

http://joe.org/joe/2001june/a2.html

 

http://www.levela.com/index.htm

http://www.microsoft.com/msf

http://www.wikipedia.pl

• Wykłady BYT 2006/2005

background image

 

Bialic Piotr && Chudzik Patryk

24

KONIEC


Document Outline