You are on page 1of 26

Softverski inenjering

DOC. DR. EMIR SKEJI

Softverski inenjering
Osnovne informacije o
predmetu
2

Softverski inenjering
Nastavno osoblje
3

Nastavnik: Doc. dr. Emir Skeji


Lokacija: Fakultet elektrotehnike, kancelarija 203
E-mail: emir.skejic@untz.ba
Web stranica predmeta: www.fe.untz.ba/nastava

Asistent: dr. sc. Emir Mekovi


Lokacija: Fakultet elektrotehnike, kancelarija 208
E-mail: emir.meskovic@untz.ba

Softverski inenjering
Preduslovi za sluanje predmeta
4

Osnovno poznavanje programiranja

Softverski inenjering
Obaveze studenata
5

Redovno pohaanje predavanja


Dozvoljena su 2 neopravdana izostanka

Redovno pohaanje vjebi


Dozvoljen je samo 1 neopravdan izostanak

Softverski inenjering
Nain bodovanja i ocjenjivanje
6

Zadae iz inenjeringa: 50%


Zavrni ispit: 40%
Prisustvo predavanjima: 5%
Prisustvo vjebama: 5%

Potreban uslov za formiranje konane ocjene je


ostvarenih minimalno 50% bodova na zavrnom
ispitu.

Softverski inenjering
Nain bodovanja i ocjenjivanje
7

Konana ocjena se formira kao zbir osvojenih bodova


Od 54 do 63 dovoljan (6)
Od 64 do 73 dobar (7)
Od 74 do 83 vrlo dobar (8)
Od 84 do 93 odlian (9)
Od 94 do 100 izvrstan (10)

Softverski inenjering
Literatura
8

Osnovna literatura
Materijali s predavanja i vjebi u pdf formatu
"Software Engineering: A Practitioner's Approach" 5th Ed.
by Roger S. Pressman, Mc-Graw-Hill, 2001

Dodatna literatura
"Software Engineering" by Ian Sommerville, Addison-
Wesley, 2001
Bilo kakvi korisni sadraji koji se mogu pronai na
Internetu

Softverski inenjering
Uvodno predavanje
9

DOC. DR. EMIR SKEJI

Softverski inenjering
Ciljevi predavanja
10

Definirati proces softverskog inenjeringa


Razumjeti vanost softverskog inenjeringa
Razmotriti bitne karakteristike softvera
Razumjeti da kvalitet razliitih aplikacija moe biti
razliito evaluiran

Softverski inenjering
Jednostavan program
11

"Napisati program za dobijanje liste rezultata testa,


izraun ocjena i ispis izvjetaja o rezultatima"

Softverski inenjering
Tipini pristupi
12

Sjesti za raunar i odmah napisati program


Pronai stari program i izmijeniti ga
Prodiskutovati s prijateljima kako to uraditi
Zamoliti predavaa za vie informacija o programu

Softverski inenjering
ta je softverski inenjering
13

Softver je
instrukcije (raunarski programi) koje kada se izvode
obezbjeuju funkciju i performansu
strukture podataka koje omoguavaju programima da
adekvatno manipuliraju informacijama
dokumenti koji opisuju funkcioniranje i upotrebu programa

Inenjering
Disciplina koja primjenjuje naune i tehnike metode u
dizajnu i produkciji proizvoda

Softverski inenjering
Definicija softverskog inenjeringa
14

IEEE definicija:
Primjena sistematinog, discipliniranog,
kvantifikabilnog pristupa razvoju, funkcioniranju i
odravanju softvera

Softverski inenjering
Jo jedna definicija softverskog inenjeringa
15

Praktina primjena naunih spoznaja u dizajnu i


izgradnji raunarskih programa i pripadajue
dokumentacije potrebne za razvoj, funkcioniranje i
odravanje istih. (Barry Boehm)

Softverski inenjering
Ciljevi softverskog inenjeringa
16

Poboljati kvalitet softverskih proizvoda


Poveati zadovoljstvo kupaca
Poveati produktivnost
Poveati zadovoljstvo poslom

Softverski inenjering nije programiranje.


Programiranje je vaan dio softverskog
inenjeringa.
"Ovo nije kurs programiranja"

Softverski inenjering
Historijska pozadina
17

U poecima razvoja raunarstva programi su pisani


da bi hardver radio
Programiranje nije bilo disciplina, vie hobi ili
"umjetniko izraavanje"
Meutim, razvoj raunara je zahtijevao izradu veih
programa, npr. kompajlera i operativnih sistema
Programiranje postaje profesija

Softverski inenjering
Karakteristike programa
18

Prije su programi bili mali i izraivao ih je samo


jedan strunjak (programming in the small) za
odreeni algoritam. Ulaz su bili numeriki podaci a
izlaz je bio slat na printer. Otkrivanje greaka
(troubleshooting) se radilo na memorijskom i
registarskom nivou.
Danas su programi veliki i kompleksni, a piu ih
grupe ljudi (programming in the large).

Softverski inenjering
Trokovi u IT-u
19

100%

Odravanje hardvera Razvoj


softvera
troak
Ukupni

Odravanje softvera

1955 1980-e
Softverski inenjering
Softverska kriza
20

Veliki programski projekti su zahtijevali da mnogo


programera zajedno radi
Projekti nisu zavravani na vrijeme, a kotali su vie
nego to je poetnim budetom bilo predvieno
softverska kriza
Da bi se ovi problemi prevazili, razvijene su metode
softverskog inenjeringa

Softverski inenjering
Sistematian proces
21

Problem
Analiza

Dizajn
Modeli

Razvoj

Rjeenje
Testiranje

Softverski inenjering
Karakteristike softvera
22

Softver se razvija ili gradi, a ne proizvodi u klasinom


smislu
Softver se ne "troi"
Veina softvera se gradi za jednog kupca (engl.
custom-built), a ne iz postojeih komponenti

Softverski inenjering
ta je dobar softver? 1/2
23

Softver je nematerijalan
Dobar softver je subjektivan
Neke osobine koje se koriste da bi se ocijenio softver:
Ispravnost: Mjera u kojoj program zadovoljava svoje
specifikacije.
Pouzdanost: Mjera u kojoj se moe oekivati da program
zadovoljava svoje namijenjene funkcije s potrebnom
preciznou.
Upotrebljivost: trud potreban za uenje, rukovanje,
pripremu ulaznih i interpretaciju izlaznih podataka
programa.
Integritet: Mjera u kojoj pristup softveru ili podacima od
strane neautoriziranih osoba moe biti kontroliran.

Softverski inenjering
ta je dobar softver? 2/2
24

Efikasnost: koliina potrebnih raunarskih resursa.


Odrivost: trud potreban da se lociraju i isprave greke u
operativnim programima.
Prenosivost: trud potreban da se program prenese iz jednog
hardverskog i/ili softverskog okruenja u drugo.
Testabilnost: trud potreban za testiranje programa kako bi se
osiguralo da isti obavlja svoje namijenjene funkcije.
Interoperabilnost: trud potreban da se poveu programi.
Ponovna upotrebljivost: Mjera u kojoj program (ili dijelovi
programa) mogu biti ponovo upotrijebljeni u drugim aplikacijama.

Softverski inenjering
Softverske aplikacije
25

Sistemski softver
Real-time softver
Poslovni softver
Inenjerski i nauni softver
Ugraeni softver
Softver za personalne raunare (Personal Computer
Software)
Softver za vjetaku inteligenciju (Artificial
Intelligence Software)

Softverski inenjering
Reference
26

"Software Engineering: A Practitioner's Approach"


5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001
"Software Engineering" by Ian Sommerville,
Addison-Wesley, 2001

Softverski inenjering

You might also like