You are on page 1of 36

Softverski proces i

životni ciklus
softvera
jeremycod@yahoo.com

dr Zoran Jeremić

1
Sadržaj

1. Uvod

2. Životni ciklus razvoja softvera

2
Uvod

• Softversko inženjerstvo možemo definisati kao


sistemski pristup razvoju, korišćenju, održavanju i
odumiranju softvera.
• Pored isporuke softvera, visok kvalitet, mali
troškovi i kratak vremenski rok su dodatni ciljevi
koje softverski inženjer mora da dostigne.
• Na kvalitet i produktivnost utiču 3 faktora: ljudi,
procesi i tehnologija.

3
Uvod

• Kvalitet i produktivnost konačnog proizvoda zavise


od veštine ljudi uključenih u projekat, procesa koji
koriste za različite zadatke u projektu i alata koje
koriste.
• U softverskom inženjerstvu glavni fokus je dat na
procesima.
 Osnovni zadatak procesa je da pomogne ljudima da
postignu veći kvalitet i produktivnost kroz
specifikaciju zadataka koje treba uraditi i
definisanjem načina na koji ih treba uraditi.

4
Softverski proces

• Softverski proces definiše način izrade softvera. On


obuhvata:
 Model životnog ciklusa softvera
 Alate koji se koriste
 Pojedince koji učestvuju u izradi softvera
• Model životnog ciklusa softvera definiše način na
koji se upravlja različitim fazama životnog ciklusa
softvera.

5
Životni ciklus razvoja softvera
Šta je informacioni sistem (IS)?

Hardver, softver, podaci, ljudi Sistem—Skup komponenti


i procedure koji funkcionišu koje međusobno sarađuju
zajedno da bi proizveli kako bi postigli zajednički cilj.
kvalitetne informacije.

U poslovanju se koriste
različiti tipovi sistema

6
Životni ciklus razvoja softvera
Šta je životni ciklus razvoja softvera?
• (engl. System Development Life Cycle – SDLC)
• Proces kroz koji stručnjaci različitih profila
(analitičari, projektanti, inženjeri, programeri, ...) i
korisnici informacionog sistema prave informacioni
sistem.

7
Životni ciklus razvoja softvera
Koje su faze životnog ciklusa razvoja softvera?
Faza 2. Analiza
 Izvođenje preliminarne analize
Faza 1. Planiranje  Izvršenje detaljne analize:
Faza 3. Dizajn
 Pregled projektnih Proučavanje trenutnog sistema  Nabavka hardvera i
zahteva
Utvrđivanje korisničkih zahteva softvera, ukoliko je
 Analiza prioriteta potrebno
Predlog rešenja
projektnih zahteva
 Razvoj detalja
 Dodeljivanje resursa sistema
 Identifikovanje proj.
razvojnog tima

Faza 5. Podrška Faza 4. Implementacija


 Revizije sistema  Razvoj programa,
 Identifikovanje grešaka i  Instaliranje i testiranje novog
unapređenja sistema
 Praćenje performansi sistema  Obuka korisnika
 Korišćenje novog sistema

8
Životni ciklus razvoja softvera
Koje su preporuke za razvoj sistema?

Grupisanje zadataka po
fazama (grupama aktivnosti)

Uključivanje korisnika (bilo koje lice


za koje se sistem implementira)

Razvoj jasno definisanih standarda (procedure za koje


kompanija očekuje da zaposleni treba da ih primenjuju)

9
Životni ciklus razvoja softvera
Ko su učesnici u
životnom ciklusu
razvoja softvera?

10
Životni ciklus razvoja softvera
Šta je analitičar sistema?

Osoba odgovorna za
dizajn i razvoj
informacionog sistema

Veza između korisnika i


IT profesionalaca

11
Životni ciklus razvoja softvera
Šta je projektni tim?

Grupa ljudi koji rade na projektu od početka do kraja

Sastoji se od korisnika, analitičara sistema i drugih IT profesionalaca

Vođa projekta—jedan od članova tima koji upravlja i


kontroliše budžetom projekta i vremenskim planom

12
Životni ciklus razvoja softvera
Šta je izvodljivost?
Operaciona
izvodljivost
Procena koliko
će koristi
Četiri testa
kompanija
izvodljivosti:
imati od Izvodljivost
razvoja sistema vremenskog
roka

Ekonomska
izvodljivost
(poznata i kao Tehnička
cost/benefit izvodljivost
analiza)

13
Životni ciklus razvoja softvera
Šta je dokumentacija?

Kolekcija i rezime podataka i


informacija

Obuhvata izveštaje, dijagrame,


programe i druge izveštaje

14
Životni ciklus razvoja softvera
Šest tehnika za prikupljanje podataka i informacija?
 Analiza dokumentacije
 Posmatranje
 Upitnici
 Intervjui
 Joint-application
design (JAD) sesija
 Istraživanje

15
Planiranje
Koji su razlozi za kreiranje ili modifikovanje
informacionog sistema?

Rešavanje problema u Unapređenje postojećeg


postojećem sistemu sistema

Spoljašnji uslovi zahtevaju Konkurentnost može voditi


promenu do promene

16
Planiranje
Šta je zahtev za održavanjem sistema?
 Formalni zahtev za
novim ili modifikovanim
informacionim sistemom
 Takođe zvan
projektni zahtev

17
Planiranje
Šta je faza planiranja?
Počinje kada upravni odbor primi projektni zahtev

Upravni
odbor—
rukovodeće telo
kompanije

Funkcije odbora:

Formiranje
Recenzija i Određivanje
razvojnog tima
odobravanja prioriteta Dodeljivanje
projekta za
projektnih projektnim resursa
svaki odobreni
zahteva zahtevima
projekat

18
Analiza
Šta je faza analize?

Izvršenje preliminarnog Izvršenje detaljne


istraživanja, poznato i kao analize
studija izvodljivosti

19
Analiza
Šta je preliminarno istraživanje?
 Utvrđivanje tačne prirode problema ili unapređenja i
utvrđivanje da li je vredno truda
 Zaključci se prezentuju u izveštaju o izvodljivosti, poznatom kao studija
izvodljivosti

20
Analiza
Šta je detaljna analiza?

1. Proučavanje kako trenutni


sistem funkcioniše

2. Utvrđivanje šta korisnik želi, šta


mu je potrebno i definisanje
zahteva

3. Predlaganje rešenja

Ponekad se zove logički dizajn

21
Analiza
Šta je
predlog projekta? Procenjuje
izvodljivost
svakog
alternativnog
rešenja

Predstavlja se
Predlaže
upravnom
najizvodljivije
odboru, koji
rešenje za
donosi odluku o
projekat
tome kako će se
sistem razvijati

22
Analiza
Šta su moguća rešenja? Softver za
horizontalno
tržište—rađen za
potrebe mnogih
Kupovina paketskog softvera —softver kompanija
dostupan na tržištu
Softver za vertikalno
tržište—dizajniran za
Izrada sopstvenog korisničkog određenu industriju
softvera—softver razvijen prema
korisničkim zahtevima

Outsource—spolja razvijen softver

23
Dizajn
Šta je faza dizajna?
 Definiše se arhitektura sistema (komponente, njihov
interfejs i ponašanje).
Izlaz:
• dokument koji opisuje arhitekturu
• plan implementacije
• analiza osnovnih prioriteta
• Plan testiranja
Razvoj svih detalja novog ili
modifikovanog informacionog
sistema

24
Dizajn
Šta je potrebno za nabavku novog softvera?
 Identifikovanje svih hardverskih i softverskih zahteva
novog ili modifikovanog sistema

Razgovor sa drugim
Pretraživanje Weba
analitičarima sistema

Razgovor sa Čitanje štampanih i


kompanijama za online trgovačkih
izradu softvera časopisa, novina,
oglasa…

25
Dizajn
Koja su tri osnovna dokumenta koja se koriste za
pregled tehničkih specifikacija?
Kupac Prodavac daje
definiše Zahtev za izjašnjavanjem cene za
proizvode navedene
koje želi proizvode

Prodavac bira
Zahtev za predlog
proizvod(e) koji
ispunjavanju
definisane zahteve i Manje formalni
predlaže cene metod koji koristi
standardnu formu za
dobijanje informacije
Zahtev za informacijom o proizvodu ili usluzi

26
Dizajn
Kako analitičari sistema testiraju softverski proizvod?
 Proučavanje referenci prodavca
 Razgovor sa trenutnim korisnicima proizvoda
 Demonstracije proizvoda
 Korišćenje trial verzija softvera
 Merenje performansi korišćenjem benchmark testova

27
Dizajn
Šta je detaljni dizajn?

Detaljna specifikacija dizajna za komponente u predloženom rešenju

Obuhvata nekoliko aktivnosti

Dizajn baze
Dizajn ulaza i izlaza Dizajn programa
podataka

28
Dizajn
Šta je mockup?
 Funkcionalnosti sistema se predstavljaju crtanjem
elemenata korisničkog interfejsa.
 Primer izgleda
ekrana predstavljen
korišćenjem alata za
kreiranje mockup-a

29
http://www.balsamiq.com/
Implementacija
Šta je prototip?
 Nekompletna verzija softvera koji se razvija.
 Obično simulira samo nekoliko aspekata funkcionalnosti
eventualnog softvera i može biti potpuno drugačiji od kranjeg
proizvoda.
 Omogućava korisnicima softvera da evaluiraju ono što su
developeri predložili kao rešenje.

Radni model za
predloženi sistem

Izrada prototipa previše


rano može dovesti do
problema 30
Implementacija
Šta je computer-aided software engineering (CASE)?
 Softverski alati dizajnirani da podrže aktivnosti
životnog ciklusa razvoja softvera

31
Implementacija
Šta je faza implementacije?
 Cilj je da se konstruiše ili izgradi novi ili modifikovani
sistem a zatim isporuči korisnicima
Prelazak na novi sistem

Obuka korisnika

Instalacija i testiranje novog sistema

Razvoj programa

32
Implementacija
Koja su tri tipa testova koje izvršava projektni tim?

Testiranje Testiranje
jedinice sistema
Provera da li svaka
Provera da li svi
pojedinačna
programi u aplikaciji
komponenta
rade zajedno
funkcioniše

Testiranje
integracije
Provera da li
aplikacija radi sa
drugim aplikacijama

33
Podrška
Šta je obuka?
 Pokazivanje
korisnicima kako će
koristiti hardver i
softver u sistemu

34
Podrška
Šta je faza podrške?
 Obezbeđuje tekuću pomoć nakon implementacije sistema
Upravljanje analizom sistema nakon implementacije—vođenje
sastanaka da bi se utvrdilo da li se informacioni sistem ponaša prema
očekivanjima

Identifikovanje grešaka

Identifikovanje potencijalnih unapređenja

Praćenje performansi sistema

35
Softverski proces i
životni ciklus
softvera
jeremycod@yahoo.com

dr Zoran Jeremić

36

You might also like