Vous êtes sur la page 1sur 14

CG

GIS L@b

Projektovanje i razvoj softvera

Uvod u softversko inenjerstvo


Prof. Dr Slobodanka orevi-Kajan
Elektronski fakultet Ni

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

CG

Ciljevi
Uvesti pojam Softvesrko inenjerstvo i objasniti njegov
znaaj
Dati odgovore na kljuna pitanja o Softverskom
inenjerstvu
Uvesti etike i profesionalne norme (pravila) i objasniti
zato su one vane za softver inenjera

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

GIS L@b

CG

GIS L@b

Softversko inenjerstvo
Softversko inenjerstvo je inenjerska
disciplina koja se bavi teorijom, metodama i
alatima za profesionalni razvoj softvera
Ekonomija svih razvijenih zemalja zavisi od
softvera
Sve vie i vie sistema je softverski
kontrolisano
Izdaci za softversko inenjerstvo
predstavljaju znaajan deo nacionalnih
dohodaka razvijenih zemalja
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

Cena softvera

CG

GIS L@b

Cena softvera esto dominira u ceni sistema


Cena softvera za PC je esto vea od cene
hardvera
Cena odravanja softvera je vea od cene
njegovog razvoja
Kod sistema koji su dugo u upotrebi, cena odravanja
moe biti viestruko vea od cene njegovog razvoja

Sofversko inenjerstvo se bavi efikasnim (costeffective) razvojem softvera

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

Softverska kriza (1)

CG

GIS L@b

Termin prvi put korien 1960. godine


Kriza jo uvek postoji
Rezultat prisustva sw krize vie od 40 godina je softverska
depresija
Indikacija da kriza jo postoji je studija koja je 1996.
sprovedena u Engleskoj od strane OASIG-a (specijalna
interesna grupa koja se bavi organizacionim aspektima
informacionih tehnologija) moe se nai na adresi
http://www.comlab.ox.ac.uk/oucl/users/john.nicholls/oas-sum.html

Studija se odnosi na SW projekte, a zakljuci su sledei:

80-90% SW projekata ne ostvari zacrtane ciljeve


oko 80% se isporui sa zakanjenjem i mimo budeta
oko 40% propadne ili se ukine
ispod 40% ukazuje na potrebu treninga i iskustva
manje od 25% se na pravi nain integrie u organizaciju i njene
tehnoloke ciljeve
samo 10% 20% je uspeno
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

CG

Softverska kriza (2)


Identifikovano je nekoliko razloga za
neuspeh sw projekata:

Nedostatak kompletne specifikacije zahteva


Nedostatak odgovarajue metodologije razvoja
Loa dekompozicija projekta na komponente
kojima se uspeno moe upravljati

Kao reenje za SW krizu predloe se


sistematski prilaz razvoju i evoluciji softvera
ime se bavi Softversko inenjerstvo
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

GIS L@b

CG

FAQs o SW inenjerstvu (1)

GIS L@b

ta je softver (What is software?)


ta je softversko inenjerstvo (What is software
engineering?)
Koja je razlika izmedju softverskog inenjerstva i
informatike (What is the difference between software
engineering and computer science?)
Koja je razlika izmedju softverskog inenjerstva i
sistemskog inenjerstva? (What is the difference between
software engineering and system engineering?)
ta je softverski proces (What is a software process?)
ta je model softverskog procesa (What is a software
process model?)

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

CG

FAQs o SW inenjerstvu (2)

GIS L@b

Koliko kota sw inenjering? (What are the costs of


software engineering?)
ta su metode sw inenjerstva (What are software
engineering methods?)
ta je CASE? (What is CASE: Computer-Aided
Software Engineering)
Koji su atributi dobrog softvera? (What are the
attributes of good software?)
Koji su kljuni izazovi sw inenjerstva? (What are
the key challenges facing software engineering?)
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

ta je softver?

CG

GIS L@b

Softver je raunarski program, pridruena


dokumentacija i konfiguracioni podaci neophodni da
bi softer radio korektno
Softverski sistem se obino sastoji od :
odreenog broja programa
konfiguracionih fajlova, koji se koriste da postave ove
programe
sistemske dokumentacije, koja opisuje strukturu sistema
korisnike dokumentacije, koja objanjava kako se koristi
sistem
Web sajtova za korisnike, odakle mogu download-ovati
najsveije informacije o proizvodu

Softversko inenjerstvo se bavi razvojem softverskih


proizvoda
softvera koji se moe prodati kupcima
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

CG

Tipovi SW proizvoda

GIS L@b

Postoje dva osnovna tipa softverskih proizvoda


Generiki (Generic) samostalni sistemi razvijeni da bi
se prodavali na slobodnom tritu svakome ko moe da
ih kupi
Npr. Word procesori, paketi za crtanje, sistemi za upravljanje
bazama podataka,...

Ugovorni (bespoke, custom) razvijeni za jednog


korisnika prema njegovim zahtevima
Npr. Sistemi za kontrolu avio saobraaja, sistemi za upravljanje
elektranama, ...

Osnovna razlika je ko diktira ta e se raditi


(specifikacija)
Generiki organizacija koja razvija sistem
Ugovorni naruilac, a razvojni tim radi po toj specifikaciji
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

10

CG

GIS L@b

ta je softversko inenjerstvo?
Softversko inenjerstvo je inenjerska
disciplina koja obuhvata sve aspekte
proizvodnje softvera
Softver inenjeri treba da prihvate
sistematski i organizovan nain u svom radu
i da koriste odgovarajue alate i tehnike
zavisno od problema koji reavaju,
ogranienja na koja nailaze u toku razvoja i
raspoloivih resursa
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

11

Koje su razlike izmeu softverskog


inenjerstva i informatike?
CG

GIS L@b

Nauka o raunarstvu ili Informatika


(Computer science) se bavi teorijom i
osnovama raunarstva
Softversko inenjerstvo se bavi praktinom
stranom razvoja i isporuke korisnog softvera
Teorija nauke o raunarstvu je trenutno
dovoljno razvijena i obezbeuje solidnu
osnovu za softversko inenjerstvo
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

12

Koje su razlike izmeu softverskog i


sistemskog inenjeringa?

CG

GIS L@b

Sistemski inenjering (System engineering) se bavi


svim aspektima razvoja sistema zasnovanih na
raunarima, ukljuujui hardverski, softverski i
procesni inenjering
Softversko inenjerstvo je deo tog procesa

Sistem inenjeri (System engineers) su ukljueni u


aktivnostima specificiranja sistema, arhitekturnog
projektovanja, integracije i isporuke sistema
Sistemski inenjering je starija disciplina od SW
ininjeringa
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

ta je softverski proces?

13

CG

GIS L@b

Softverski proces je skup aktivnosti i pridruenih rezultata


iji je cilj proizvodnja softvera
Aktivnosti zajednike za sve softverske procese su:
Specifikacija softvera (Sofware Specification) gde klijenti i softver
inenjeri definiu softver koji treba da se proizvede i ogranienja pod
kojima e raditi
Razvoj softvera (Software Development) gde se softver projektuje i
programira
Validacija softvera (Sofware Validation) gde se proverava da je
proizveden softver kakav je naruilac (kupac) zahtevao
Evolucija softvera (Software Evolution) gde se softver modifikuje
da bi se prilagodio promenjenim zahtevima naruioca i trita

Razliiti tipovi sistema zahtevaju razliite procese razvoja


kod njih su zajednike aktivnosti organizovane na razliite
naine
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

14

CG

GIS L@b

ta je model softverskog procesa?


Model softverskog procesa je uproena
reprezentacija softverskog procesa koja
predstavlja jedan pogled na ovaj proces
Modeli procesa ukljuuju:
Aktivnosti procesa
Softverske proizvode
Uloge ljudi koji uestvuju u softverskom
procesu
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

Neki primeri tipova modela


softverskih procesa

15

CG

Model radnih tokova (Workflow model)


Prikazuje se sekvenca aktivnosti u procesu zajedno sa
ulazima. Izlazima i zavisnostimasekvenca aktivnosti
Akcije u ovom modelu su akcije oveka
Model toka podataka ili model aktivnosti (Dataflow or
activity model)
Predstavlja proces kao skup aktivnosti, pri emu se
svaka aktivnost bavi nekom transformacijom podataka
Ove aktivnosti mogu itvoditi ili ljudi ili raunari
Model uloga/akcija (Role/action model)
Predstavlja uloge ljudi koji uestvuju u SW procesu i
aktivnosti za koje su oni odgovorni
Definie ko ta radi
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

16

GIS L@b

CG

Opti modeli ili paradigme

GIS L@b

Mnogi modeli softverskog procesa su zasnovani na jednom


od tri opta modela ili paradigmi razvoja softvera
Vodopad prilaz (Waterfall approach)
Aktivnosti predstavljaju posebne faze u ovom modelu
Po zavretku svake faze se usvaja dokument i tada se ide na
sledeu fazu

Iterativni razvoj (Iterative Development)


Aktivnosti specifikacija zahteva, razvoj i validacija se prepliu
Inicijalni sistem se vrlo brzo razvija na osnovu vrlo apstraktne
specifikacije
Zatim se u saradnji sa kupcem zahtevi detaljiu i sistem u vie
iteracija razvija do konanog izgleda

Na komponentama zasnovano softversko inenjerstvo


(Component-based software engineering, CBSE)
Polazi se od pretpostavke da delovi sistema ve postoje
Model se koncentrie na integraciju tih delova u celinu

O modelima e biti vie govora u kursu


Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

17

CG

Koji su trokovi sw inenjeringa?


Grubo 60% trokova su razvojni trokovi, 40%
trokovi testiranja. Za korisiki softver, trokovi
evolucije prelaze esto trokove razvoja
Trokovi variraju zavisno od tipa sistema koji se
razvija i zahtevanih atributa sistema, kao to su
performanse i pouzdanost sistema
Distribucija trokova zavisi od korienog modela
razvoja

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

18

GIS L@b

ta su metode softverskog
inenjeringa ?

CG

GIS L@b

To su strukturni prilazi razvoju softvera koji ukljuuju opise


modela sistema, notacije, pravila, savete za projektovanje i
vodi kroz proces
Metode obuhvataju:
Opise modela
Opisi grafikih modela koji nastaju u toku razvoja
Pravila
Ogranienja primenjena na model sistema
Preporuke
Saveti za dobro projektovanje
Vodi kroz proces
Kako teku aktivnosti
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

19

ta je CASE (Computer-Aided Software


Engineering)?

CG

GIS L@b

CASE je softverski sistem koji je namenjen


pruanju automatske podrke aktivnostima
softverskog procesa
CASE sistemi se esto koriste kao podrka za konkretnu
metodu ili grupu metoda

CASE vieg nivoa (Upper-CASE)


Alati koji podravaju rane aktivnosti procesa,
faze inenjeringa zahteva i projektovanja

CASE nieg nivoa (Lower-CASE)


Alati koji podravaju kasnije aktivnosti, kao to
su programiranje, debagiranje i testiranje
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

20

CG

Koji su atributi dobrog softvera ?

GIS L@b

Softver treba da ima funkcionalnost i performanse saglasno


zahtevu korisnika. Takodje, mora biti pogodan za
odravanje, da je upotrebljiv i da uliva poverenje
Pogodnost za odravanje (Maintainability)
Treba da je u stanju da se lako menja

Stabilnost (Dependability)
Softver mora ulivati poverenje, to podrazumeva da je softver
pouzdan (reliability), bezbedan ( security) i siguran (safety)

Efikasnost (Efficiency)
Softver mora ekonomino koristiti resurse sistema (procesorsko
vreme, memoriju)

Upotrebljivost (Usability)
Softver mora biti ugodan za korienje, da ima odgovarajui
korisniki interfejs i adekvatnu dokumentaciju
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

21

Koji su kljuni izazovi


softverskog inenjeringa?

CG

Kako se izboriti sa:


postojeim sistemima (legacy systems),
sve veom raznovrsnou, i
zahtevima da se skrati vreme izrade softvera

Postojei sistemi (Legacy systems)


Stare, vredne sisteme treba odravati i aurirati

Raznovrsnost (Heterogeneity)
Sistemi su distribuirani i ukljuuju raznovrstan hw i sw

Isporuka (Delivery)
Postoji sve vei pritisak da se sotver isporui to je
mogue bre
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

22

GIS L@b

CG

GIS L@b

Profesionalna i etika odgovornost


Softver inenjeri imaju ire odgovornosti od
proste primene tehnikih vetina
Softver inenjeri moraju negovati etiku
odgovornost kako bi bili respektovani kao
profesionalci
Etiko ponaanje je vie od prostog
pridravanja zakona

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

Elementi profesionalne
odgovornosti (1)

23

CG

GIS L@b

Confidentiality (poverljivost)
Inenjeri bi trebalo da respektuju poverljivost
svojih zaposlenih ili klijenata bez obzira na to da
li je formalno potpisan neki dokument o tome

Competence (kompetentnost)
Inenjeri nebi trebalo da pogreno predstavljaju
svoju kompetentnost. Ne bi trebalo da prihvataju
poslove koji su van njihove kompetencije

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

24

Elementi profesionalne
odgovornosti (2)

CG

GIS L@b

Intellectual property rights (prava intelektualne


svojine)
Inenjeri bi trebalo da su obaveteni o lokalnim zakonima
o korienju intelektualne svojine kao to su patenti,
prava kopiranja (copyright), itd. Moraju osigurati zatitu
intelektualnih prava njihovih zaposlenih i klijenata.

Computer misuse (zloupotreba raunara)


SW inenjeri ne bi trebalo da koriste svoje tehnike
vetine za zloupotrebu raunara drugih ljudi. Zloupotreba
moe varirati od trivijalne (npr. Korienje raunara
zaposlenih za igrice) do vrlo ozbiljnih (diseminacija
virusa).
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

25

CG

GIS L@b

Zakljuak (1)
Sotversko inenjerstvo je inenjerska disciplina koja se bavi
svim aspektima proizvodnje softvera
Softverski proizvod se sastoji od razvijenih programa i
pridruene dokumentacije. Esencijalni atributi proizvoda su
sposobnost odravanja, stabilnost, efikasnost i
upotrebljivost
Softverski proces se sastoji od aktivnosti koje su ukljuene u
razvoj softverskog proizvoda. Osnovne aktivnosti su
specificiranje, razvoj, validacija i evolucija softvera
Metode su organizovani naini proizvodnje softvera.
Ukljuuju sugestije za proces koji treba slediti, notacije koje
treba koristiti, pravila koja treba potovati pri opisu sistema
koji je proizveden i preporuke za projektovanje
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

26

CG

Zakljuak (2)

GIS L@b

CASE alati su softverski sistemi koji su


projektovani kao podrka aktivnostima u
softverskom procesu kao to je editovanje
dijagrama projekta, provera konzistentnosti
dijagrama i praenje izvedenih testova
Softver inenjeri imaju odgovornost prema
inenjerskoj profesiji i prema drutvu
Profesionalna udruenja publikuju kodove
ponaanja koji definiu ponaanje koje se
oekuje od lanova tih udruenja
Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

27

CG

Literatura
Ian Sommerville, Software Engineering,
Pearson Education, 2001 (6th Edition),
2004 (7th edition), http://www.softwareengin.com
Eric J. Braude, Software Engineering - An
Object-oriented Perspective, Johns Wiley
& Sons, ISBN 0-471-032208-3-5, 2001

Prof. Dr Slobodanka orevi-Kajan

Elektronski fakultet Ni
Projektovanje i razvoj softvera Uvod SWE

2006/2007

28

GIS L@b

Vous aimerez peut-être aussi