42
1 Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac DAAD Project “Joint Course on Software Engineering” Version: Feb. 20, 2004 (D Nov. 06, 2003) Tema 3 Modeli softverskih procesa

Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

1

Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

DAAD Project“Joint Course on Software Engineering”

Version: Feb. 20, 2004 (D Nov. 06, 2003)

Tema 3Modeli softverskih procesa

Page 2: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

2

2DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?

b) Pregled postojećih modela

c) Klasični i iterativni fazni model (vodopadni model)

d) Alternativne faze u faznim modelima

e) Prototipovi

f) Spiralni model

Page 3: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

3

3DAAD project „Joint Course on Software Engineering“ ©

Modeli procesa: korišćena terminologija

(Napomena: pojmovi su slični, ali sadrže razlike; npr. model životnog ciklusa: razvoj i održavanje,

model razvoja softvera: bez održavanja)

Modeli softverskih procesa“Software process models”

Fazni modeli”Phase models”

Modeli životnog ciklusa ”Life cycle models”

Modeli razvoja softvera“Software development models”

Projektni modeli“Project models”

Page 4: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

4

4DAAD project „Joint Course on Software Engineering“ ©

Zašto modeli procesa ?

„SI je primena sistematskog, disciplinovanog, merljivog pristupa razvoju, upotrebi i održavanju softvera...“(IEEE Standard Glossary of Software Engineering Terminology, 1990).

Po definiciji pojma SI zahteva se proučavanje modela za sistematski razvoj softvera (glavni cilj SI)!

Page 5: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

5

5DAAD project „Joint Course on Software Engineering“ ©

Važnost modela procesaModeli procesa su važni za

Organizaciju projekta:• Inače: sporadično,

nekoordinisano upravljanje projektom

• Iskustvo: softver visokog kvaliteta je nemoguće napraviti bez sistematskog pristupa razvoju softvera

Analizu projekta:Koje su slabe tačke u razvojnom procesu?

Planiranje vremena i troškova

Procenu kvaliteta softverskih kućaSertifikacija za ISO 9000

Page 6: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

6

6DAAD project „Joint Course on Software Engineering“ ©

Šta je model procesa?

Model procesa• Uopšteno: razvojni plan koji definiše opšti proces

razvoja softverskog proizvoda.• Preciznije: Definicija koja odredjuje koje aktivnosti se

izvršavaju, od strane kojih osoba u kojim ulogama; kojim redosledom će aktivnosti biti izvršavane, koji proizvodi će biti razvijani i kako će se procenjivati njihov kvalitet.

Uloga• Saradnik koji izvršava odredjenu aktivnost

npr. Test-inženjer, vodja projekta, projektant, programer, softverski ergonomist

Šta je specifično za softver?

Page 7: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

7

7DAAD project „Joint Course on Software Engineering“ ©

Izvršavanje aktivnosti: osnovna šema(aktivnost = podproces modela procesa)

Source: Balzert, vol. 1, p. 60

Dati artefakti

Uloga XSaradnik Y

Alati

Izmenjeni ili novi artefakti

Legenda:

Aktivnost

Uloga

Saradnik

Model(Artefakt)

Dokument(Artefakt)

Metode•Vodiči (“Guidelines”)•Konvencije•Liste za proveru(“Check lists”)•Primeri

Page 8: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

8

8DAAD project „Joint Course on Software Engineering“ ©

Softverski artefakti

Softverski artefakt• Proizvod ljudskih ruku• Može da bude dokument, model ili program• Primeri:

- Dokument, npr. specifikacija zahteva- Model, npr. model OOA - Program, npr. C++ program.

Softverski proizvod• Skup softverskih artefakata

Page 9: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

9

9DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?

b) Pregled postojećih modela

c) Klasični i iterativni fazni model (vodopadni model)

d) Alternativne faze u faznim modelima

e) Prototipovi

f) Spiralni model

Page 10: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

10

10DAAD project „Joint Course on Software Engineering“ ©

Najpoznatiji modeli procesa: pregled

Modeli procesa

• Klasični fazni model(vodopadni model)

• Iterativni fazni model(životni ciklus)

• Spiralni model

• Prototipovi(evolutivno SI)

• V-model

Page 11: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

11

11DAAD project „Joint Course on Software Engineering“ ©

Primedbe

Modeli su uvek idealizovani - daju samo okvir i treba da omoguće fleksibilan rad

ne smeju da ugroze radRazličite vrste problema u razvoju softvera

različiti pogodni modeli

npr. program u oblasti veštačke inteligencije: postepena evolucijaČesto se koristi prototipski model

Page 12: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

12

12DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?

b) Pregled postojećih modela

c) Klasični i iterativni fazni model (vodopadni model)

d) Alternativne faze u faznim modelima

e) Prototipovi

f) Spiralni model

Page 13: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

13

13DAAD project „Joint Course on Software Engineering“ ©

Proces razvoja softvera do 1970: crna kutija

Proces razvoja softvera Programskikod

Šta se dešava unutra?

Samo do 1970?

Korisnik

Neformalni zahtevi

Page 14: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

14

14DAAD project „Joint Course on Software Engineering“ ©

Analizai

definicija

Analizai

definicija

Klasični vodopadni model (1970)

Projektovanje(“Design”)

Projektovanje(“Design”)

ImplementacijaImplementacija

TestiranjeTestiranje

Korišćenje i održavanje

Korišćenje i održavanje

Page 15: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

15

15DAAD project „Joint Course on Software Engineering“ ©

Faze razvoja softvera:tema i proizvodi (pregled)

Analiza i definicijaAnaliza problama + definicija zahteva, težište: spoljašnje ponašenje softverskog sistema; intenzivna saradnja: klijent ↔ kontraktor

specifikacija zahteva, model proizvoda (“product model”), itd.Projektovanje (“design”)Specifikacija strukture softvera (softverska arhitektura), specifikacija komponenti i njihovih veza

softverska arhitektura, detaljni projekat, itd... ImplementacijaSoftverska arhitektura se „popunjava “: programiranje komponenti

program (programski kod)TestiranjeTestiranje komponenti i njihove integracije

slučajevi za testiranje (“test cases”), protokoli za testiranje, itd.

Page 16: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

16

16DAAD project „Joint Course on Software Engineering“ ©

Analizai

definicija

Analizai

definicija

Klasični vodopadni model (1970)

Projektovanje(“Design”)

Projektovanje(“Design”)

ImplementacijaImplementacija

TestiranjeTestiranje

Korišćenje i održavanje

Korišćenje i održavanje

Problemi ?

Page 17: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

17

17DAAD project „Joint Course on Software Engineering“ ©

Dokumenti u razvoju softvera

Zahtevane osobine (beli kružići) se vremenom gube, a nepotrebne (crni kružići) se dodaju

Izvor: Schneider, SEUH 43, p. 123

Korisnik Analitičar Projektant Programer

Korisnički zahtevi Specifikacija Projekat Kod

Page 18: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

18

18DAAD project „Joint Course on Software Engineering“ ©

Protok informacija u razvoju softvera

Kako je korisnik objasnio

Kako je vođa projekta shvatio

Kako ga je “Tester”ostavio

Kako je programer napisao

Kako ga je komercijalista opisao

Kako je projekat bio dokumentvan

Kako je softverski arhitekta projektovao

Kako je naplaćeno Kako je korišćenje bilo kasnije podržano

Šta je korisnik zaista želeo Iz

vor:

nepo

znat

Page 19: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

19

19DAAD project „Joint Course on Software Engineering“ ©

Analizai

definicija

Analizai

definicija

Iterativni fazni model

Projektovanje(“Design”)

Projektovanje(“Design”)

ImplementacijaImplementacija

TestiranjeTestiranje

Korišćenje i održavanje

Korišćenje i održavanje

Problemi?

Page 20: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

20

20DAAD project „Joint Course on Software Engineering“ ©

Raspodela troškova u životnom ciklusu softvera

Održavanje67%

Analiza zahteva3%

Specifikacija3% Projektovanje

5%

Kodiranje7%

Testiranje modula8%

Integracionotestiranje

7%

Izvor: R. Klösch, H.Gall: Objektorientiertes Reverse Engineering. Springer, 1995

Page 21: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

21

21DAAD project „Joint Course on Software Engineering“ ©

Statistika grešaka: nastanak i ispravka

Izvor: Software Metrics Symposium 1996, p. 176

zahtevi projektovanje

implementacija

20 % 38 % 42 %

1 % 2 % 20 % 30 % 40 % 7 %

Pregled (“review”)

zahteva

Pregled projektne dokumen

tacije

Pregled koda

+testiranje jedinica

programa (“unittest”)

Testiranje podsistema

Testiranje sistema i testiranje

prihvatljivosti (”acceptance

test”)

Greške tokom

upotrebe

Kada su otkrivene

Kada su greške nastale

Page 22: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

22

22DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?

b) Pregled postojećih modela

c) Klasični i iterativni fazni model (vodopadni model)

d) Alternativne faze u faznim modelima

e) Prototipovi

f) Spiralni model

Page 23: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

23

23DAAD project „Joint Course on Software Engineering“ ©

Faze po Jacobson-u

Jacobson: Object-oriented Software Engineering p. 32

Karakteristike?

Analizazahteva

PreliminarniProjekat

(“design”)Detaljniprojekat

(“design”)Kodiranje

Testiranje jedinica(“unit testing”)

Integracija

Sistemski test

Page 24: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

24

24DAAD project „Joint Course on Software Engineering“ ©

Faze po Denert-u

Denert: Software Engineering, Springer Verlag, 1992, p. 39

Specifikacija sistema

Korisnički interfejs

Model podataka

Funkcionalni model

Konstrukcija sistema

Modularnost

Organizacija procesa

Projektovanje baza podataka

Implemencija modula

Specifikacija modula

Testiranje modula

Konstrukcija modula

Integracija sistema

Definicija podsistema

Testiranje sistema

Testiranje podsistema

Karakteristike?

Page 25: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

25

25DAAD project „Joint Course on Software Engineering“ ©

RequirementsDefinition Design

DetailedConcept

SoftwareDesign

organization hierarchyHijerarhija organizacije

Sirovi model podatakaProcesi

zadataka

Hijerarhija zadataka

Korisnički interfejs

Procesi funkcija

Hijerarhija funkcija

Model podataka

Analizaproblema

Definicijazahteva

Projektovanje Implementacija,Integracija & Test

Sirovi koncept Detaljni koncept Projekat Softverski sistem

Client/ServerOS/2, MotifMS-WindowsUNIX/RDBs

SNI BS2000COBOL, UTMSESAM, UDS

IBM MVSCOBOL, CICSDB2IMS DB/DC

Model baze podataka

Specifikacija interfejsaComponent SKONTO is connected with the

aaaaaaaaaSKONTO is

aaaaaaaaaaaaBATT

aaaaaaaaaaaaLOOKUP

Model integracije

DB definicije, SQL

GUI objekti

Logika programaIF kunde = 99999

CASE PlaubaTT = 1IF kunde = nnnnnnn

PlaubaTT, I

Model sistem

Faze u CASE-alatu MAESTRO II

Model procesa SEtec

Model proizvoda SEtecIzvor: SoftLab, Munich, MAESTRO II (najpoznatiji nemački CASE alat)

Karakteristike?

Page 26: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

26

26DAAD project „Joint Course on Software Engineering“ ©

Unificirani model razvoja softvera“Unified Software Development Process” (USDP)

Proces objektno-orijentisanog razvoja softvera po Jacobson-u, Booch-u, i Rumbaugh-u (1999)

Zahtevi

Analiza

Projektovanje

Implementacija

Testiranje

Deo fazа “Analiza i definicija‘, u kome će biti detektovani osnovni slučajevi korišćenja:

Dijagrami slučajeva korišćenja(“use case diagrams”)

Deo fazа ‚Analiza i definicija‘ u kome će biti detektovane osnovne klase problema:

Dijagrami klasa(“class diagrams”)

Page 27: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

27

27DAAD project „Joint Course on Software Engineering“ ©

Faze po Balzert-u

Balzert: Textbook of Software Technology vol. 1, 2001

Uvod i pregled

1 Osnove 2 Objektno-orijentisano modeliranje

V Modeliranje složenih sistema

I Upravljanje softverom

1 Osnove

2 Planiranje

3 Organizacija

4 Ljudi

5 Vođstvo

6 Kontrola

III Obezbedjivanje kvaliteta

1 OSnove

2 Obezbedjivanjekvaliteta

3 Manualni metodiprovere

4 Kvalitet procesa

5 Kvalitet proizvoda - komponente

6 Kvalitet proizvoda –sistem

1 Faza planiranja

2 Faza definicije

3 Faza projektovanja

4 Faza implementacije

5 Prihvatanje i uvodjenje

6 Faza održavanja

I Razvoj softvera

4 Reorganizacija3 Ponovnokorišćenje2 CASE1 Principi i

metode

IV Uporedni odeljci i pogledi

Page 28: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

28

28DAAD project „Joint Course on Software Engineering“ ©

1 Faza planiranja

2 Faza definicije

3 Faza projektovanja

4 Faza implementacije

5 Prihvatanje i uvođenje

6 Faza održavanja

I Razvoj softvera

Karakteristike?

Faze po Balzert-u(detaljnije)

Page 29: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

29

29DAAD project „Joint Course on Software Engineering“ ©

Fazni model u programu Space shuttle (NASA)

Činjenice:• 22 verzije (OI = Operational Increment) 1981-2001• razvoj do 2020• svake godine: nova verzija• za svaku verziju: 2 godine razvoja• nekoliko verzija su aktuelnе u isto vreme• velike posledice na upravljanje projektom

Izvor: M. Zelkovitz, I. Rus: ICSM 2001, p. 119

1990

KontrolaPriprema misijeKorišćenje

1992 1994 1996 1998 2000

Q

O

M

K

I

OI v

erzi

ja

Razvoj

Životni ciklus za svaki OI (Operacioni korak –“operational increment”)

Page 30: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

30

30DAAD project „Joint Course on Software Engineering“ ©

Početak projektaProjektovanje

KonstrukcijaPlaniranje proizvodnje

Priprema za rad

Proizvodnja

Testiranje

Ugovor Početak proizvodnje Isporuka

1 godinaIzvor: R.Bronsart, SEUH 1996

Posebni fazni model

Šta je neobično?

Kako interpretirati?

Page 31: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

31

31DAAD project „Joint Course on Software Engineering“ ©

Samsonite-ov fazni

model

Page 32: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

32

32DAAD project „Joint Course on Software Engineering“ ©

Testiranje kofera ☺

Page 33: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

33

33DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?b) Pregled postojećih modelac) Klasični i iterativni fazni model (vodopadni

model)d) Alternativne faze u faznim modelimae) Prototipovif) Spiralni model

Page 34: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

34

34DAAD project „Joint Course on Software Engineering“ ©

Prototipski model

Područja primene:Zahtevi u početku nisu precizni ili se često menjaju

Prototip:izvršivi softverski sistem,• Značajni delovi završnog proizvoda su već završeni

(npr. Korisnički interfejs, osnovna funkcionalnost),• Ostali delovi tek treba da se realizuju (npr. specijalni slučajevi)

Proces primene:• Prototip (može biti odbačen)

(dodatak analizi zahteva: brzo pravljenje prototipova (“rapidprototyping”)

• Postupno napredovanje ka finalnom proizvodu(evolutivni razvoj softvera (“evolutionary software development”))

Page 35: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

35

35DAAD project „Joint Course on Software Engineering“ ©

Faze iterativnog prototipskog modela

Boyle: Design of Multimedia Learnnig, Prentice Hall Europe (1997), p. 186

Projektovanje rešenja

Utvrdjivanje problema

Implementiranjerešenja

Sumarna procena& isporuka

Procena

Karakteristike?

Page 36: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

36

36DAAD project „Joint Course on Software Engineering“ ©

Zahtevi

Analiza

Projektovanje

Implementacija

ProcenaProcenaProcena

Dinamički metod razvoja sistema“Dynamic Systems Development Method”

(DSDM)Standardni RAD (Rapid Application Development – brzi razvoj aplikacija) metod zasnovan na iterativnom prototipskom sistemu koji je vođen od strane korisnika (1995)

Studija izvodljivosti i poslovnih procesa

Uvodjenje sistema u korisničku okolinu

Funkcionalne iteracije prototipovaProjektovanje iteracije prototipova

Page 37: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

37

37DAAD project „Joint Course on Software Engineering“ ©

3. Modeli procesa

a) Zašto modeli procesa?b) Pregled postojećih modelac) Klasični i iterativni fazni model (vodopadni

model)d) Alternativne faze u faznim modelimae) Prototipovif) Spiralni model

Page 38: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

38

38DAAD project „Joint Course on Software Engineering“ ©

Uvod u spiralni modelAnaliza problema:• ciljevi• alternative

Analiza rizika:• procena alternativa

Implementacija:• konstrukcija proizvoda• testiranje

Planiranje:• sledeći koraci u projektu

Pregled(“Revie

Karakteristike faza?

Page 39: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

39

39DAAD project „Joint Course on Software Engineering“ ©

Spiralni model po Boehm-u (1988)

Odredjivanje ciljeva, alternativa i dodatnih zahteva za svaki novi ciklus

Procena alternativa;identifikacija i smanjenje rizika

Planiranje sledećih koraka, tj. sledećeg ciklusa u spirali

Konstrukcija i testiranje tekućeg proizvoda

kraj ciklusa: Pregled

Napredovanje projekta po spiralnim ciklusima

Analiza rizika:Analiza problema:

Implementacija:

Planiranje:

Page 40: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

40

40DAAD project „Joint Course on Software Engineering“ ©

Esencija spiralnog modela

Apstraktni model: meta modelApstrakcija ostalih modela razvoja softvera(jedan “okret” = • jedna faza ili

• razvoj sledećeg protipa ili ...)

Orijentisan sličnim aktivnostima u svakom koraku(analiza problema, analiza rizika, implementacija, planiranje, pregled)analiza rizika: poredjenje mogućih alternativa(primeri: izbor programskog jezika, metoda za analizu i projektovanje, ljudi, alata)

fleksibilan:Prvi “okret” proizvodi prototip, sledeći odgovara fazama analize i

definicije, projektovanja, ...

Page 41: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

41

41DAAD project „Joint Course on Software Engineering“ ©

Fazni model kao specijalni slučaj spiralnog modela

Pagel, Six p.72

Analiza rizika

Korišćenje i održavanje

P r e g l e d Procena prodaje

Plan projektaPlaniranje fazeanalize

GUI-prototip

Simulacija

Analiza

Validacija definije proizvoda

Projekatovanjesoftvera

Kodiranjei testiranje

jedinica

Integracijai

testiranje sistemaInstalacija

Test prihvatljivosti

Planiranje projektovanja

Planiranje implementacijeIntegracije i testiranje

Analiza problema

Implementacija

Planiranje

jedan okret = jedna faza

Page 42: Tema 3 Modeli softverskih procesa - perun.pmf.uns.ac.rs · modeliranje V Modeliranje složenih sistema I Upravljanje softverom 1 Osnove 2 Planiranje 3 Organizacija 4 Ljudi 5 Vođstvo

42

42DAAD project „Joint Course on Software Engineering“ ©

Evolucioni razvoj softvera kao specijalni slučaj spiralnog modela

Pagel, Six p.73

Analiza rizika

predvidjanje prodaje GUI-prototip

Test prihvatljivosti

P r e g l e dPlan projekta

Validacijaprototipa

Revidiraniprojektniplan

Instalacija

Validacija prototipa

Prototip 1Prototip n

Koristan proizvodPlaniranje

2. prototipa

Planiranje 1. prototipa

Korišćenje i održavanje

Analiza problema

Implementacija

Planiranje

jedan okret = jedan prototip