Model procesa izrade softvera
Visoka Poslovna Škola Strukovnih Studija - Blace
Student: Dušan Jovanović R 21/07 III
Seminarski rad iz predmeta Softverski Inžinjering
Modeli Procesa Izrade Softvera
.
www.vpskp.edu.rs
Uvod
Rezultati istraživanja među mladim naučnicima, iz Društva Informatičara Nemačke, oblast Softverskog
Inžinjerstva stavljaju na treće mesto važnosti disciplina u toku školovanja na fakultetu i visokoškolskim
obrazovnim institucijama.
Teorijske aspekte ove grane informatike moramo poznavati ukoliko želimo da razvijamo visokokvalitetan
softver, za razliku od onih koji se upuštaju u izgradnju aplikativnih rešenja velikih dimenzija sa veoma
malim predznanjem pa stoga dobijaju i nekvalitetne proizvode.
Softverski inžinjering je primena principa inžinjeringa u cilju izrade ekonomičnog, efikasnog i pouzdanog
softvera. (Fritz Bauer, NATO konferencija 1968)
Softverski inžinjering možemo definisati i kao usmerenje ka ekonomičnom razvoju softvera visokog
kvaliteta disciplinom koja je usmerena na praktične probleme velikih softverskih sistema, a sve to uz pomoć
matematičkih, naučnih i ekonomskih principa i metoda.
Većina laika ne razume samu suštinu ovog pojma pa često dolazi do mešanja pojmova programiranja sa
softverskim inžinjerstvom iako je razlika među njima ogromna.
Softver čine programi, podaci i dokumentacija po standardizaciji JUS ISO 9127/94.
Da bi mogli da analiziramo aspekte izrade softvera moramo da upoznamo mane sistema izgrađenim ovom
disciplinom:
- Softver je sklon greškama
- Softver je sklon neočekivanom ponašanju
- Softver je u većini slučajeva skuplji od očekivanog
- Veliki deo softverskih rešenja prekoračuje rokove izrade
- U modernom dobu dolazi do masovne izrade neprimenljivog softvera od strane početnika
Jedan od primera koji upućuje na gorepomenute probleme je slučaj zatvaranja aerodroma u Denveru zbog
problema sa softverom za transport prtljaga.
Firma Siemens je izgubila milijardu dolara na tržištu zbog kašnjenja softvera za knjigovodstvo.
Američki vojni avion F/A-18 Hornet je izvršio rotaciju oko ose za 180 stepeni pri prelasku preko ekvatora
za vreme vojne vežbe 1983. godine. Tada je utvrđeno da je avion zbog promene znaka izvršio manevar
iako je softver trebao da reguliše slične situacije.
Zbog korišćenja tačke umesto zareza u linijama koda programskog jezika Fortran, veštački satelit je
uništen na Veneri jer nije pronađena tačna lokacija sletanja. Šteta je iznosila više stotina miliona američkih
dolara.
Deutsche Telekom izgubio je stotine miliona nemačkih maraka zbog neobračunavanja poreza od 1.96% u
okviru softverskog rešenja koje je korišćeno u računovodstvu već je programsko rešenje i dalje koristilo
03
Visoka Poslovna Škola Strukovnih Studija - Blace
Student: Dušan Jovanović R 21/07 III
Seminarski rad iz predmeta Softverski Inžinjering
Modeli Procesa Izrade Softvera
.
www.vpskp.edu.rs
predprazničnu tarifu obračunavanja pre popusta.
Najpoznatiji problem današnjice je sigurno Y2K sa štetom od 5.000.000.000$
Svi ovi primeri i istorijski razvoj ove grane upućuju na činjenice da je softversko inžinjerstvo mlada
disciplina, grana inžinjerstva koja je sklona konstantnim izmenama i dopunama.
Ovo potvrđuje činjenica da je 1998. godine prvi put registrovan zaposleni sa pozicijom Inžinjera Softvera u
Teksasu, SAD.
U Sjedinjenim Američkim Državama čak 75% softverskih kompanija je na primitivnom nivou gde je
uzročnik posledice neadekvatno edukovana radna snaga.
Da sumiramo prethodne navode.
Softversko inžinjerstvo je računarska disciplina koja se bavi razvojem složenih aplikacija.
Ono se bavi ne samo tehničkim aspektima izgradnje softverskog sistema, već i menadžerskim problemima
poput organizacije tima, terminskim planiranjem, finansijama...
Sommerville je 2001. godine definisao softversko inžinjerstvo kao inžinjersku disciplinu koja vodi brigu o
svim aspektima proizvodnje softvera od specifikacije sistema do implementacije sistema i održavanja.
Iz svega gore pomenutog možemo zaključiti da ne postoji precizna definicija softverskog inžinjerstva jer
ono obuhvata mnoge grane informacionih tehnologija pa i drugih nauka, ali primećujemo zajedničke
termine tj. ključne pojmove koji se svuda pojavljuju, a to su inžinjerska disciplina i svi aspekti proizvodnje
softvera.
Životni ciklus razvoja softvera
Na slici je prikazana infografska predstava životnog ciklusa razvoja softvera sa naznačenim bitnim
elementima i kategorisanom podelom.
04

Visoka Poslovna Škola Strukovnih Studija - Blace
Student: Dušan Jovanović R 21/07 III
Seminarski rad iz predmeta Softverski Inžinjering
Modeli Procesa Izrade Softvera
.
www.vpskp.edu.rs
• razvoj softverskih metodologija i okvira
• troškovi razvoja
• trajanje razvoja
• rizici u razvoju softvera
• ugrađivanje kvaliteta, razmišljanje u procesu izrade softvera
• testiranje
• upravljanje razvojnih timova
• menadžment projekta
• izveštavanje o projektu
• projekt o brzini razvoja
• komunikacija svih učesnika
• udaljena kolaboracija
Softverski Proizvod
Softverski proizvod (aplikacija) stvoren po principima softverskog inžinjerstva može biti razvijen kao:
• generički proizvod
• naručeni proizvod
• troškovi razvoja
06
Visoka Poslovna Škola Strukovnih Studija - Blace
Student: Dušan Jovanović R 21/07 III
Seminarski rad iz predmeta Softverski Inžinjering
Modeli Procesa Izrade Softvera
.
www.vpskp.edu.rs
Za razvoj softvera karakteristične su određene temeljne aktivnosti:
• specifikacija potreba
(identifikacija, transformacija potreba u zahteve, analiza, određivanje prioriteta)
• dizajniranje problema
(oblikovanje problema grafičkom notacijom)
• implementacija
(kodiranje, testiranje, uvođenje u rad, dokumentovanje, edukacija)
• validacija
(testiranje softverskog sistema, procena kvaliteta)
• evolucija
(održavanje sistema i reinžinjering)
na grafikonu su prikazane aktivnosti razvoja softvera
Principi i modeli razvoja softvera
Softverski inžinjering se sastoji iz metoda, alata i procedura.
Koraci njihove primene zasnovani su na razvojnim principima koje nazivamo modelima procesa.
Model razvoja se odabira u zavisnosti od prirode projekta i aplikacije, tehničke orijentacije ljudi koji će
učestvovati u razvoju, metoda i alata koji će se upotrebljavati pri razvoju, načina kontrole i samih proizvoda
koji se zahtevaju.
07
Algorithm
Parallelization Analysis
Parallel/Distributed description
Program Implementation
Program
SoC/Multi-core Platform
Specification Verification
Performance Estimation
Verification
Performance Evaluation
Feedback
Reference Program
System Level Description
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti