SlideShare a Scribd company logo
1 of 22
Principi softverskog inženjerstva SI3PSI
Uvod
2
1. Sadržaj uvodnog predavanja
a) Oblasti i definicija softverskog inženjerstva
b) Značaj softverskog inženjerstva u praksi –
- problemi razvoja softvera
c) O veličini softvera
d) Istorija softverskog inženjerstva
e) Razlike između razvoja softvera u obrazovnom okruženju
i u praksi
f) Literatura, članci, radovi, ...
3
Oblasti softverskog inženjerstva: podoblasti
 Modeli životnog ciklusa
 Softverski procesi
(CMM, ISO 9000)
 Upravljanje konfiguracijom
 Procena truda
 Upravljanje projektima
 Upravljanje kvalitetom
 “Cleanroom” softversko
inženjerstvo
 Reverzno inženjerstvo
 Shvatanje programa
(razumevanje programa)
 Softverska metrika
 Softverska arhitektura
 Održavanje softvera
 Inženjerstvo zahteva
 Specifikacija softvera
 Ponovno korišćenje
 Verifikacija programa
 Dokumentovanje softvera
 SI “bazirano-na-znanju”
 Sistematsko testiranje
 Pravljenje prototipova
 CASE alati
 Programski jezici za SI
 Objektna-orijentisanost (analiza,
dizajn, programiranje, testiranje)
 Ekstremno programiranje
 Programiranje u parovima
„Programiranje je relativno mala komponenta oblasti softverskog inženjerstva.
Neke druge komponente (uključujući na primer, specifikaciju softvera i
projektovanje) su jednako važne.“
4
Softversko inženjerstvo
uvodne definicije
„SE je inženjerska disciplina koja se bavi svim
aspektima proizvodnje softvera.
Inženjeri softvera treba da usvoje sistematski i
organizovan pristup radu i upotrebljavaju
odgovarajuće alate i tehnike zavisno od problema
koji rešavaju, razvojnih ograničenja i raspoloživih
resursa “
 (Sommerville, 6. izdanje)
5
Definicije softverskog inženjerstva (2)
 „SI je primena sistematskih, disciplinovanih, merljivih
pristupa razvoju, rukovanju i održavanju softvera; drugim
rečima, primeni inženjerstva na softver“ (IEEE standardni
rečnik terminologije softverskog inženjerstva, 1990).
 „Softversko inženjerstvo je definisani, korak-po-korak
proces, koji olakšava specificiranje, projektovanje,
implementaciju i testiranje softvera za skup iznetih
zahteva, na najbrži i najprofitabilniji mogući način“
(Kehoe: ISO 9000-3, 1995, S. 11).
6
Veza softverskog inženjerstva i računarske nauke
Računarska nauka bavi se teorijom i osnovama
(apstrakcija); softversko inženjerstvo bavi se
praktičnim aspektima razvoja i isporuke korisnog
softvera
Pfleeger, Atlee 4ed
7
Softver
Softver =
osobine softvera:
• nema otpadaka tokom rada softvera
• starenje (softver se stalno ažurira)
 posle 10 godina upotrebe i ažuriranja, ne postoji ni jedna
originalna linija koda (Pagel, Six p. 35)
• dugotrajna upotreba
 u proseku 10 - 15 godina (Wallmüller 90, p. 3)
i do 30 godina (Hausi Müller)
• jednostavan za kopiranje ( takođe i grešaka)
• težak za merenje (metrike: kvalitet, kvantitet)
• relativno složen
programi, podaci, dokumentacija
8
Složenost softvera
Prepoznatljive karakteristike softvera industrijske
snage je da je izuzetno složeno, ako ne i
nemoguće, za pojedinca da shvati sve veze u
njegovom projektovanju. Prosto rečeno, složenost
ovakvih sistema prevazilazi intelektialni kapacitet
čoveka.
(Booch, Objektno-orijentisana analiza i projektovanje, s. 4)
9
Povećana složenost softvera
MDI: milioni instrukcija objektnog kôda
EWSD: elektronski telefonski sistem Digital-a
1960 1970 1980 1990 2000
60 MOI
50 MOI
40 MOI
30 MOI
20 MOI
10 MOI
EWSD za
BB-ISDN
SPACE
ŠATL
APOLO
EWSD-APS
WM4.2
KONTROL
A MISIJE
NA MESEC
GEMINI
MERCURY
EWSD-APS
DBP-14
7% godišnji
prirast
produktivnosti
10
Posledice složenosti
Softver je …
• sklon greškama
• ponaša se drugačije od očekivanog
• završen prekasno
• skuplji nego što je planirano
• neprimenljiv
 veoma često: propast projekta
11
Primeri softverskih problema
 Aerodrom u Denveru: nije mogao biti pušten u rad (nije otvoren)
1994 – softver za sistem za transport prtljaga nije radio
 Siemens: računovodstveni softver za lekove razvijen za fondove
zdravstvenog osiguranja nije bio gotov na vreme (sledstveni troškovi
od 1 milijarde DEM - Berliner Zeitung 22.05.96)
 Deutsche Telekom: pogrešan proračun cene telefonskih impulsa za
1.1.96 (softverska greška: bez praznične tarife – šteta: stotine miliona
DEM)
 F18 ratni avion: tokom vežbe 1983 sa novorazvijenim softverom –
nakon prelaska ekvatora, avion se okrenuo naglavačke.
Razlog je bila greška u znaku operacije (+ - ) (Wallmüller 1990, s. 1).
12
Primeri softverskih problema - nastavak
 Prva svemirska raketa za Veneru: 1979 nije pronašla metu:
U Fortran programu, upotrebljena je decimalna tačka, umesto zareza.
Gubitak: više stotina miliona dolara (Wallmüller 1990, s. 1).
 Therac 25 – računarski kontrolisani uredjaj za terapijsku
radijaciju: izmedju juna 1985. i januara 1987. 6 ljudi je predozirano (5
od njih je kasnije umrlo) kao posledica nedostajuće softverske
sigurnosne brave koja bi trebala da spreči predoziranje (Berry, D.M.,
“Myths and realities of software development”).
13
Veličina softvera
Klasifikacija softvera u zavisnosti od njegove veličine:
mali: do 2000 linija koda
srednji: 2000 – 100.000
veliki: 100 000 – 1.000.000
veoma veliki: > 1 Mil.
(A. Macro, s. 70)
prosečna veličina softvera u svakoj od 100 najvećih
kompanija u SAD:
35 Mil. linija koda
(Hausi Müller, s. 3-12)
recimo, SAD, Ministarstvo odbrane:
1,4 milijarda linija koda
(raspoređeni u 1.700 centara podataka)
troškovi rukovanja ovim sistemima:
9 milijardi dolara godišnje
(CACM, 5, 1994, s. 26)
14
Istorijat SE
softverska kriza:
pojam od sredine 60-ih
sredinom 60-ih
cene softvera postaju veće nego cene hardvera
(slika)
NATO konferencije 1968, 69:
definicija pojma softverskog inženjerstva
 velike prednosti
ali: i danas imamo kriza softvera
cene softvera (širom sveta)
1985: 140 milijardi dolara
1995: 435
(Yourdon)
15
Troškovi hardvera i razvoj softvera
Cena hardvera dramatično padala s vremenom, tako da je i fiksan
trošak razvoja softvera opao. Broj softverskih naslova povećavao
se stopom jednakom stopi pojeftinjenja hardvera
Jorgenson, Dale W. and Kevin Stiroh,
"Raising the Speed Limit: US Economic
Growth in the Information Age." Measuring
and Sustaining The New Economy: National
Academy Press 2001.
The Software Encyclopedia 1980 -
2003, R.R. Bowker
16
Perspektive posla u softverskog industriji
 STEM: Science, Technology, Engineering, Matematics
 Procene američkog biroa za statistiku rada (US-BLS) za 2008-18.
17
Studentski razvoj softvera
„Uobičajeni“ studentski pogled na životni vek softvera
Modesitt, LNCS 750, p 42
Čitanje
zadatka
(dan 1)
Kodi-
ranje
(dan 1 ... n - 2)
Traženje
grešaka
(dan n - 1)
Dokumen-
tovanje
(dan n - ε)
Preda-
vanje
(dan n)
18
Distribucija aktivnosti projekta
u funkciji veličine projekta
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
10240
5120
2560
1280
640
320
160
80
40
20
10
veličina projekta (funkcijski bodovi)
kodiranje
otklanjanje grešaka
administriranje
upravljanje i podrška
Yourdon, 1993, p. 151
19
Razvoj softvera u praksi
 pravi kupac
 pre programiranja: pregovori sa kupcem
u cilju raščišćavanja zahteva
 česte promene želja kupaca
 nesporazumi
 složeni zadaci–složen program
 softver podložan greškama
 strogi rokovi
 timski rad
 velika količina dokumenata:
videti sledeće slajdove
 programiranje čini samo 20 % svih aktivnosti projekta
 dugogodišnje korišćenje (10 ... 25 godina)
 izmene softvera nakon isporuke
(nove želje, novi hardver ...)
20
Razvoj softvera je timska aktivnost
Svaki član tima ima svoju ulogu (ne mora biti 1:1 odnos)
Pfleeger,
Atlee
21
Softverski dokumenti
(Sommerville, Softversko inženjerstvo, 5-to izd., s. 17)
Activnost Izlazni dokumenti
Analiza zahteva Studija izvodljivosti
Skica zahteva
Definisanje zahteva Dokumenat zahteva
Specifikacija zahteva Funkcionalna specifikacija
Plan prijemnog testiranja
Skica uputstva za upotrebu
Dizajn arhitekture Specifikacija arhitekture
Plan prijemnog testiranja
Dizajn interfejsa Specifikacija interfejsa
Plan integracionog testiranja
Detaljni dizajn Specifikacija dizajna
Plan testiranja elemenata
Kodiranje Programski kod
Testiranje elemenata Izveštaj o testiranju elemenata
Testiranje modula Izveštaj o testiranju modula
Integraciono testiranje Izveštaj o testiranju integracije
Konačno uputstvo za upotrebu
Testiranje sistema Izveštaj o testiranju sistema
22
Literatura
Udžbenici:
• I. Sommerville: Software Engineering (792 strane),
9 izdanja Addison-Wesley (2011)
• R. Pressman: Software Engineering, A Practitioner‘s
Approach, European Adaptation (928 strana), McGraw-
Hill, 7 izdanja, 2010
• S.L. Pfleeger, J.M. Atlee, Softversko inženjerstvo, teorija i
praksa, prevod trećeg izdanja, CET, 2006. (na
engleskom 4 izdanja, 2010, Prentice Hall, 792 strane)

More Related Content

What's hot

Ćelijske organele - Darko Stevanović - Danijela Veljković
Ćelijske organele - Darko Stevanović - Danijela VeljkovićĆelijske organele - Darko Stevanović - Danijela Veljković
Ćelijske organele - Darko Stevanović - Danijela VeljkovićNašaŠkola.Net
 
Pojam energije. obnovljivi i neobnoljivi izvori.
Pojam energije. obnovljivi i neobnoljivi izvori.Pojam energije. obnovljivi i neobnoljivi izvori.
Pojam energije. obnovljivi i neobnoljivi izvori.Marija Ivkovic
 
Hemijski sastav celije Ivana Jelkic
Hemijski sastav celije Ivana JelkicHemijski sastav celije Ivana Jelkic
Hemijski sastav celije Ivana Jelkicivana_123
 
полисилогизам
полисилогизамполисилогизам
полисилогизамfilozofskaazbuka
 
Zagadjivanje i zaštita zemljišta
Zagadjivanje i zaštita zemljištaZagadjivanje i zaštita zemljišta
Zagadjivanje i zaštita zemljištaEna Horvat
 
Nikola Tesla prezentacija
Nikola Tesla prezentacijaNikola Tesla prezentacija
Nikola Tesla prezentacijaSiraKK2
 
Geološka doba i teorije o organskoj evoluciji
Geološka doba i teorije o organskoj evolucijiGeološka doba i teorije o organskoj evoluciji
Geološka doba i teorije o organskoj evolucijiIvana Damnjanović
 
Геолошки развој земљине коре
Геолошки развој земљине кореГеолошки развој земљине коре
Геолошки развој земљине кореprijicsolar
 
Uticaj savremenog načina života na zdravlje
Uticaj savremenog načina života na zdravljeUticaj savremenog načina života na zdravlje
Uticaj savremenog načina života na zdravljevelkovdanijela
 
Otpad i reciklaža
Otpad i reciklažaOtpad i reciklaža
Otpad i reciklažaEna Horvat
 
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravlje
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravljeTema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravlje
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravljedragan967
 
Modni proizvod
Modni proizvodModni proizvod
Modni proizvodggland1
 

What's hot (20)

Mihajlo pupin
Mihajlo pupinMihajlo pupin
Mihajlo pupin
 
Ćelijske organele - Darko Stevanović - Danijela Veljković
Ćelijske organele - Darko Stevanović - Danijela VeljkovićĆelijske organele - Darko Stevanović - Danijela Veljković
Ćelijske organele - Darko Stevanović - Danijela Veljković
 
Pojam energije. obnovljivi i neobnoljivi izvori.
Pojam energije. obnovljivi i neobnoljivi izvori.Pojam energije. obnovljivi i neobnoljivi izvori.
Pojam energije. obnovljivi i neobnoljivi izvori.
 
Nikola Tesla
Nikola TeslaNikola Tesla
Nikola Tesla
 
Извори енергије
Извори енергијеИзвори енергије
Извори енергије
 
Hemijski sastav celije Ivana Jelkic
Hemijski sastav celije Ivana JelkicHemijski sastav celije Ivana Jelkic
Hemijski sastav celije Ivana Jelkic
 
Računarske mreže
Računarske mrežeRačunarske mreže
Računarske mreže
 
полисилогизам
полисилогизамполисилогизам
полисилогизам
 
Zagadjivanje i zaštita zemljišta
Zagadjivanje i zaštita zemljištaZagadjivanje i zaštita zemljišta
Zagadjivanje i zaštita zemljišta
 
Nikola Tesla prezentacija
Nikola Tesla prezentacijaNikola Tesla prezentacija
Nikola Tesla prezentacija
 
Geološka doba i teorije o organskoj evoluciji
Geološka doba i teorije o organskoj evolucijiGeološka doba i teorije o organskoj evoluciji
Geološka doba i teorije o organskoj evoluciji
 
Геолошки развој земљине коре
Геолошки развој земљине кореГеолошки развој земљине коре
Геолошки развој земљине коре
 
Uticaj savremenog načina života na zdravlje
Uticaj savremenog načina života na zdravljeUticaj savremenog načina života na zdravlje
Uticaj savremenog načina života na zdravlje
 
Kisele kiše
Kisele kišeKisele kiše
Kisele kiše
 
Otpad i reciklaža
Otpad i reciklažaOtpad i reciklaža
Otpad i reciklaža
 
Programski jezici
Programski jeziciProgramski jezici
Programski jezici
 
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravlje
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravljeTema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravlje
Tema 8-prezentacija-fizicka-aktivnost-i-uticaj-na-zdravlje
 
Modni proizvod
Modni proizvodModni proizvod
Modni proizvod
 
Sofoklo, Antigona
Sofoklo, AntigonaSofoklo, Antigona
Sofoklo, Antigona
 
Droge prezentacija
Droge prezentacijaDroge prezentacija
Droge prezentacija
 

Viewers also liked

Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacijaDamjan Pavlica
 
Uvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeUvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeDamjan Pavlica
 
Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Damjan Pavlica
 
SanchaITSolutions_CompanyProfile
SanchaITSolutions_CompanyProfileSanchaITSolutions_CompanyProfile
SanchaITSolutions_CompanyProfileKalaivani L
 
Parque Logístico Panamá galera - lotes 16, 17 y 18
Parque Logístico Panamá  galera - lotes 16, 17 y 18Parque Logístico Panamá  galera - lotes 16, 17 y 18
Parque Logístico Panamá galera - lotes 16, 17 y 18RAFAEL IGNACIO OCHOA CORTES
 
Wordpress - Sistem za upravljanje sadržajem na webu
Wordpress - Sistem za upravljanje sadržajem na webuWordpress - Sistem za upravljanje sadržajem na webu
Wordpress - Sistem za upravljanje sadržajem na webuMilan Stošić
 
Uvod u razvoj softvera
Uvod u razvoj softveraUvod u razvoj softvera
Uvod u razvoj softveraBosnia Agile
 
Javascript #2 - StartIt centar Indjija
Javascript #2 - StartIt centar IndjijaJavascript #2 - StartIt centar Indjija
Javascript #2 - StartIt centar IndjijaDušan Stanković
 
Javascript #3 - StartIt centar Indjija
Javascript #3 - StartIt centar IndjijaJavascript #3 - StartIt centar Indjija
Javascript #3 - StartIt centar IndjijaDušan Stanković
 
May The Nodejs Be With You
May The Nodejs Be With YouMay The Nodejs Be With You
May The Nodejs Be With YouDalibor Gogic
 
Javascript #4 - Startit Centar Indjija
Javascript #4 - Startit Centar IndjijaJavascript #4 - Startit Centar Indjija
Javascript #4 - Startit Centar IndjijaDušan Stanković
 
Responsive Web Design tehnike u WordPress-u
Responsive Web Design tehnike u WordPress-uResponsive Web Design tehnike u WordPress-u
Responsive Web Design tehnike u WordPress-uIgor Benić
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7julien pauli
 
Instalacija i podešavanje word press bloga
Instalacija i podešavanje word press blogaInstalacija i podešavanje word press bloga
Instalacija i podešavanje word press blogaKruno Klukovic
 
WordPress za početnike
WordPress za početnikeWordPress za početnike
WordPress za početnikeDejanVesic
 

Viewers also liked (20)

Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacija
 
Šta je Bootstrap?
Šta je Bootstrap?Šta je Bootstrap?
Šta je Bootstrap?
 
Uvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeUvod u funkcionalno programiranje
Uvod u funkcionalno programiranje
 
Starenje softvera
Starenje softveraStarenje softvera
Starenje softvera
 
Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++
 
Refaktorisanje
RefaktorisanjeRefaktorisanje
Refaktorisanje
 
SanchaITSolutions_CompanyProfile
SanchaITSolutions_CompanyProfileSanchaITSolutions_CompanyProfile
SanchaITSolutions_CompanyProfile
 
Parque Logístico Panamá galera - lotes 16, 17 y 18
Parque Logístico Panamá  galera - lotes 16, 17 y 18Parque Logístico Panamá  galera - lotes 16, 17 y 18
Parque Logístico Panamá galera - lotes 16, 17 y 18
 
Wordpress - Sistem za upravljanje sadržajem na webu
Wordpress - Sistem za upravljanje sadržajem na webuWordpress - Sistem za upravljanje sadržajem na webu
Wordpress - Sistem za upravljanje sadržajem na webu
 
Uvod u razvoj softvera
Uvod u razvoj softveraUvod u razvoj softvera
Uvod u razvoj softvera
 
Javascript #2 - StartIt centar Indjija
Javascript #2 - StartIt centar IndjijaJavascript #2 - StartIt centar Indjija
Javascript #2 - StartIt centar Indjija
 
Javascript #3 - StartIt centar Indjija
Javascript #3 - StartIt centar IndjijaJavascript #3 - StartIt centar Indjija
Javascript #3 - StartIt centar Indjija
 
May The Nodejs Be With You
May The Nodejs Be With YouMay The Nodejs Be With You
May The Nodejs Be With You
 
Javascript #4 - Startit Centar Indjija
Javascript #4 - Startit Centar IndjijaJavascript #4 - Startit Centar Indjija
Javascript #4 - Startit Centar Indjija
 
Responsive Web Design tehnike u WordPress-u
Responsive Web Design tehnike u WordPress-uResponsive Web Design tehnike u WordPress-u
Responsive Web Design tehnike u WordPress-u
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7
 
Centro Comercial Estrelas
Centro Comercial EstrelasCentro Comercial Estrelas
Centro Comercial Estrelas
 
Instalacija i podešavanje word press bloga
Instalacija i podešavanje word press blogaInstalacija i podešavanje word press bloga
Instalacija i podešavanje word press bloga
 
WordPress za početnike
WordPress za početnikeWordPress za početnike
WordPress za početnike
 
Modelo análogo metrocentro, Nicaragua
Modelo análogo metrocentro, NicaraguaModelo análogo metrocentro, Nicaragua
Modelo análogo metrocentro, Nicaragua
 

Similar to Uvod u softversko inženjerstvo

Viseslojne arhitekture i razvojno okruzenje .net
Viseslojne arhitekture i razvojno okruzenje .netViseslojne arhitekture i razvojno okruzenje .net
Viseslojne arhitekture i razvojno okruzenje .netseminarskid
 
1 uvod (1)
1 uvod (1)1 uvod (1)
1 uvod (1)minocka
 
T 1 uvod u softversko inzenjerstvo
 T 1 uvod u softversko inzenjerstvo T 1 uvod u softversko inzenjerstvo
T 1 uvod u softversko inzenjerstvoZoran Jeremic
 
Pitanja za 9. razred 1-24
Pitanja za 9. razred 1-24Pitanja za 9. razred 1-24
Pitanja za 9. razred 1-24Muhamed Pjević
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski softwareucionica
 
Prezentacija east code
Prezentacija east codePrezentacija east code
Prezentacija east codekomorabl
 
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015Dejan Jeremic
 
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićHardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićNašaŠkola.Net
 
Projektovanje aplikativnog softvera
Projektovanje aplikativnog softveraProjektovanje aplikativnog softvera
Projektovanje aplikativnog softveragoranseminarski
 
3D Tehnologije i dizajn u tehnici - Ognjanovic
3D Tehnologije i dizajn u tehnici - Ognjanovic3D Tehnologije i dizajn u tehnici - Ognjanovic
3D Tehnologije i dizajn u tehnici - OgnjanovicВук Вуле
 

Similar to Uvod u softversko inženjerstvo (14)

CaseAlati.pdf
CaseAlati.pdfCaseAlati.pdf
CaseAlati.pdf
 
Viseslojne arhitekture i razvojno okruzenje .net
Viseslojne arhitekture i razvojno okruzenje .netViseslojne arhitekture i razvojno okruzenje .net
Viseslojne arhitekture i razvojno okruzenje .net
 
9 pred910
9 pred9109 pred910
9 pred910
 
1 uvod (1)
1 uvod (1)1 uvod (1)
1 uvod (1)
 
T 1 uvod u softversko inzenjerstvo
 T 1 uvod u softversko inzenjerstvo T 1 uvod u softversko inzenjerstvo
T 1 uvod u softversko inzenjerstvo
 
1
11
1
 
Pitanja za 9. razred 1-24
Pitanja za 9. razred 1-24Pitanja za 9. razred 1-24
Pitanja za 9. razred 1-24
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski software
 
Prezentacija east code
Prezentacija east codePrezentacija east code
Prezentacija east code
 
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015
Mds dejan spasic-vidljivost dogadjaja na mrezi-kladovo_maj2015
 
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićHardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
 
Softver
SoftverSoftver
Softver
 
Projektovanje aplikativnog softvera
Projektovanje aplikativnog softveraProjektovanje aplikativnog softvera
Projektovanje aplikativnog softvera
 
3D Tehnologije i dizajn u tehnici - Ognjanovic
3D Tehnologije i dizajn u tehnici - Ognjanovic3D Tehnologije i dizajn u tehnici - Ognjanovic
3D Tehnologije i dizajn u tehnici - Ognjanovic
 

Uvod u softversko inženjerstvo

  • 2. 2 1. Sadržaj uvodnog predavanja a) Oblasti i definicija softverskog inženjerstva b) Značaj softverskog inženjerstva u praksi – - problemi razvoja softvera c) O veličini softvera d) Istorija softverskog inženjerstva e) Razlike između razvoja softvera u obrazovnom okruženju i u praksi f) Literatura, članci, radovi, ...
  • 3. 3 Oblasti softverskog inženjerstva: podoblasti  Modeli životnog ciklusa  Softverski procesi (CMM, ISO 9000)  Upravljanje konfiguracijom  Procena truda  Upravljanje projektima  Upravljanje kvalitetom  “Cleanroom” softversko inženjerstvo  Reverzno inženjerstvo  Shvatanje programa (razumevanje programa)  Softverska metrika  Softverska arhitektura  Održavanje softvera  Inženjerstvo zahteva  Specifikacija softvera  Ponovno korišćenje  Verifikacija programa  Dokumentovanje softvera  SI “bazirano-na-znanju”  Sistematsko testiranje  Pravljenje prototipova  CASE alati  Programski jezici za SI  Objektna-orijentisanost (analiza, dizajn, programiranje, testiranje)  Ekstremno programiranje  Programiranje u parovima „Programiranje je relativno mala komponenta oblasti softverskog inženjerstva. Neke druge komponente (uključujući na primer, specifikaciju softvera i projektovanje) su jednako važne.“
  • 4. 4 Softversko inženjerstvo uvodne definicije „SE je inženjerska disciplina koja se bavi svim aspektima proizvodnje softvera. Inženjeri softvera treba da usvoje sistematski i organizovan pristup radu i upotrebljavaju odgovarajuće alate i tehnike zavisno od problema koji rešavaju, razvojnih ograničenja i raspoloživih resursa “  (Sommerville, 6. izdanje)
  • 5. 5 Definicije softverskog inženjerstva (2)  „SI je primena sistematskih, disciplinovanih, merljivih pristupa razvoju, rukovanju i održavanju softvera; drugim rečima, primeni inženjerstva na softver“ (IEEE standardni rečnik terminologije softverskog inženjerstva, 1990).  „Softversko inženjerstvo je definisani, korak-po-korak proces, koji olakšava specificiranje, projektovanje, implementaciju i testiranje softvera za skup iznetih zahteva, na najbrži i najprofitabilniji mogući način“ (Kehoe: ISO 9000-3, 1995, S. 11).
  • 6. 6 Veza softverskog inženjerstva i računarske nauke Računarska nauka bavi se teorijom i osnovama (apstrakcija); softversko inženjerstvo bavi se praktičnim aspektima razvoja i isporuke korisnog softvera Pfleeger, Atlee 4ed
  • 7. 7 Softver Softver = osobine softvera: • nema otpadaka tokom rada softvera • starenje (softver se stalno ažurira)  posle 10 godina upotrebe i ažuriranja, ne postoji ni jedna originalna linija koda (Pagel, Six p. 35) • dugotrajna upotreba  u proseku 10 - 15 godina (Wallmüller 90, p. 3) i do 30 godina (Hausi Müller) • jednostavan za kopiranje ( takođe i grešaka) • težak za merenje (metrike: kvalitet, kvantitet) • relativno složen programi, podaci, dokumentacija
  • 8. 8 Složenost softvera Prepoznatljive karakteristike softvera industrijske snage je da je izuzetno složeno, ako ne i nemoguće, za pojedinca da shvati sve veze u njegovom projektovanju. Prosto rečeno, složenost ovakvih sistema prevazilazi intelektialni kapacitet čoveka. (Booch, Objektno-orijentisana analiza i projektovanje, s. 4)
  • 9. 9 Povećana složenost softvera MDI: milioni instrukcija objektnog kôda EWSD: elektronski telefonski sistem Digital-a 1960 1970 1980 1990 2000 60 MOI 50 MOI 40 MOI 30 MOI 20 MOI 10 MOI EWSD za BB-ISDN SPACE ŠATL APOLO EWSD-APS WM4.2 KONTROL A MISIJE NA MESEC GEMINI MERCURY EWSD-APS DBP-14 7% godišnji prirast produktivnosti
  • 10. 10 Posledice složenosti Softver je … • sklon greškama • ponaša se drugačije od očekivanog • završen prekasno • skuplji nego što je planirano • neprimenljiv  veoma često: propast projekta
  • 11. 11 Primeri softverskih problema  Aerodrom u Denveru: nije mogao biti pušten u rad (nije otvoren) 1994 – softver za sistem za transport prtljaga nije radio  Siemens: računovodstveni softver za lekove razvijen za fondove zdravstvenog osiguranja nije bio gotov na vreme (sledstveni troškovi od 1 milijarde DEM - Berliner Zeitung 22.05.96)  Deutsche Telekom: pogrešan proračun cene telefonskih impulsa za 1.1.96 (softverska greška: bez praznične tarife – šteta: stotine miliona DEM)  F18 ratni avion: tokom vežbe 1983 sa novorazvijenim softverom – nakon prelaska ekvatora, avion se okrenuo naglavačke. Razlog je bila greška u znaku operacije (+ - ) (Wallmüller 1990, s. 1).
  • 12. 12 Primeri softverskih problema - nastavak  Prva svemirska raketa za Veneru: 1979 nije pronašla metu: U Fortran programu, upotrebljena je decimalna tačka, umesto zareza. Gubitak: više stotina miliona dolara (Wallmüller 1990, s. 1).  Therac 25 – računarski kontrolisani uredjaj za terapijsku radijaciju: izmedju juna 1985. i januara 1987. 6 ljudi je predozirano (5 od njih je kasnije umrlo) kao posledica nedostajuće softverske sigurnosne brave koja bi trebala da spreči predoziranje (Berry, D.M., “Myths and realities of software development”).
  • 13. 13 Veličina softvera Klasifikacija softvera u zavisnosti od njegove veličine: mali: do 2000 linija koda srednji: 2000 – 100.000 veliki: 100 000 – 1.000.000 veoma veliki: > 1 Mil. (A. Macro, s. 70) prosečna veličina softvera u svakoj od 100 najvećih kompanija u SAD: 35 Mil. linija koda (Hausi Müller, s. 3-12) recimo, SAD, Ministarstvo odbrane: 1,4 milijarda linija koda (raspoređeni u 1.700 centara podataka) troškovi rukovanja ovim sistemima: 9 milijardi dolara godišnje (CACM, 5, 1994, s. 26)
  • 14. 14 Istorijat SE softverska kriza: pojam od sredine 60-ih sredinom 60-ih cene softvera postaju veće nego cene hardvera (slika) NATO konferencije 1968, 69: definicija pojma softverskog inženjerstva  velike prednosti ali: i danas imamo kriza softvera cene softvera (širom sveta) 1985: 140 milijardi dolara 1995: 435 (Yourdon)
  • 15. 15 Troškovi hardvera i razvoj softvera Cena hardvera dramatično padala s vremenom, tako da je i fiksan trošak razvoja softvera opao. Broj softverskih naslova povećavao se stopom jednakom stopi pojeftinjenja hardvera Jorgenson, Dale W. and Kevin Stiroh, "Raising the Speed Limit: US Economic Growth in the Information Age." Measuring and Sustaining The New Economy: National Academy Press 2001. The Software Encyclopedia 1980 - 2003, R.R. Bowker
  • 16. 16 Perspektive posla u softverskog industriji  STEM: Science, Technology, Engineering, Matematics  Procene američkog biroa za statistiku rada (US-BLS) za 2008-18.
  • 17. 17 Studentski razvoj softvera „Uobičajeni“ studentski pogled na životni vek softvera Modesitt, LNCS 750, p 42 Čitanje zadatka (dan 1) Kodi- ranje (dan 1 ... n - 2) Traženje grešaka (dan n - 1) Dokumen- tovanje (dan n - ε) Preda- vanje (dan n)
  • 18. 18 Distribucija aktivnosti projekta u funkciji veličine projekta 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 10240 5120 2560 1280 640 320 160 80 40 20 10 veličina projekta (funkcijski bodovi) kodiranje otklanjanje grešaka administriranje upravljanje i podrška Yourdon, 1993, p. 151
  • 19. 19 Razvoj softvera u praksi  pravi kupac  pre programiranja: pregovori sa kupcem u cilju raščišćavanja zahteva  česte promene želja kupaca  nesporazumi  složeni zadaci–složen program  softver podložan greškama  strogi rokovi  timski rad  velika količina dokumenata: videti sledeće slajdove  programiranje čini samo 20 % svih aktivnosti projekta  dugogodišnje korišćenje (10 ... 25 godina)  izmene softvera nakon isporuke (nove želje, novi hardver ...)
  • 20. 20 Razvoj softvera je timska aktivnost Svaki član tima ima svoju ulogu (ne mora biti 1:1 odnos) Pfleeger, Atlee
  • 21. 21 Softverski dokumenti (Sommerville, Softversko inženjerstvo, 5-to izd., s. 17) Activnost Izlazni dokumenti Analiza zahteva Studija izvodljivosti Skica zahteva Definisanje zahteva Dokumenat zahteva Specifikacija zahteva Funkcionalna specifikacija Plan prijemnog testiranja Skica uputstva za upotrebu Dizajn arhitekture Specifikacija arhitekture Plan prijemnog testiranja Dizajn interfejsa Specifikacija interfejsa Plan integracionog testiranja Detaljni dizajn Specifikacija dizajna Plan testiranja elemenata Kodiranje Programski kod Testiranje elemenata Izveštaj o testiranju elemenata Testiranje modula Izveštaj o testiranju modula Integraciono testiranje Izveštaj o testiranju integracije Konačno uputstvo za upotrebu Testiranje sistema Izveštaj o testiranju sistema
  • 22. 22 Literatura Udžbenici: • I. Sommerville: Software Engineering (792 strane), 9 izdanja Addison-Wesley (2011) • R. Pressman: Software Engineering, A Practitioner‘s Approach, European Adaptation (928 strana), McGraw- Hill, 7 izdanja, 2010 • S.L. Pfleeger, J.M. Atlee, Softversko inženjerstvo, teorija i praksa, prevod trećeg izdanja, CET, 2006. (na engleskom 4 izdanja, 2010, Prentice Hall, 792 strane)