Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 30

Aplikativni softver

2007/2008.

Violeta Tomaevi
vitomasevic@singidunum.ac.yu

Nastava (2+2)
PREDAVANJA
Dr Violeta Tomaevi
KONSULTACIJE
utorak 9 - 10 h
sreda 17 - 18 h

Kurs

Provera znanja
Kolokvijumi
Zavrni ispit

VEBE
Mr Goran imi

Formiranje ocene (1)


Obaveza

Nain polaganja,
prag prolaznosti
(%)

Termin
polaganja
(nedelja)

Udeo u oceni
(%)

10

Kolokvijum I

raunar, 50

IV

25

Kolokvijum II

raunar, 50

VIII

25

Zavrni ispit

pismeni, 50

XII

40

Prisutnost

Vano!
Kolokvijum je poloen ukoliko je na njemu osvojeno najmanje 50% bodova i samo tada
ima udela u oceni.

Formiranje ocene (2)


Broj poena

Ocena

50

51 - 60

61 - 70

71 - 80

81 - 90

91 - 100

10

Sadraj kursa

Nedelja
I

Tema
Uvod o aplikativnom softveru

II VIII

MS Excel

IX - XII

MS Project

Ciljevi kursa
Upoznavanje studenata sa pojmom aplikativnog softvera, uoavanje
njegove uloge i odnosa prema drugim delovima raunarskog sistema.
Kvalitet aplikativnog softvera. Klasifikacija aplikativnog softvera.
SW

SW
SW
SW

Upoznavanje studenata sa konceptima primenjenim u pojedinim


vrstama aplikativnog softvera kroz:
aplikaciju za tabelarna izraunavanja MS Excel
aplikaciju za upravljanje projektima MS Project

Pojam aplikativnog softvera


Aplikativni softver

Word proc.

Graphics

Spreadsh.

programi napravljeni za specifinu svrhu


koji nisu u direktnoj vezi sa hardverom

Web app.

Databases

Games

pri izvravanju, oslanja se na sistemski


softver, posebno na operativni sistem

Aplikativni softver

kupuje se odvojeno od raunarskog


hardvera

Assembler

Debugger

Compilers

Sistemski softver

File Mng.

OS

Utilities

programi na niskom nivou (low-level) koji


slue za kontrolu operacija nad
raunarskom opremom

Sistemski softver
Raunarski hardver

Ponekad nema jasne granice izmeu sistemskog i aplikativnog softvera. Na primer, nema
saglasnosti oko toga da li je Internet Explorer web browser deo Windows OS ili nije.

ivotni ciklus AS
Aplikativni softver
Razvoj softvera

Razvoj aplikativnog softvera


vrlo sloen proces
vie reenja problema koja se
razlikuju po efikasnosti, preciznosti,
korisnosti, razumljivosti, mogunosti
modifikovanja
zahteva znanje, domiljatost i vetinu

Korienje softvera

Izazovi pri izradi AS


Neoekivana upotreba sistema

usled zloupotrebe
usled nestrunog rukovanja
Trite diktira brz razvoj softvera
brza isporuka ostavlja malo vremena za testiranje, pa su greke
ee
ponekad je tee ispraviti uoene nedostatke, nego napisati
kompletan novi softver
Postizanje neophodnog kvaliteta
to je nedostatak due neotkriven, njegovo otklanjanje vie
kota (trokovi ispravljanja greke u fazi analize su 10 puta manji
od trokova nakon isporuke).

Uesnici u razvoju AS
Aplikativni softver
namenjen konkretnom naruiocu

Kupac je kompanija,

namenjen otvorenom tritu


Projektant je
kompanija,
organizacija ili
pojedinac koji pravi
softverski sistem za
kupca.

o
ov
g
U

ob
a
rn

a
Im

a
ez
v
a

Kupac

organizacija ili
pojedinac koji
finansira razvoj
softverskog sistema.

u
eb
r
t
po

Korisnik je

Softverski sistem
Ima potrebu
Projektant

Kupac

jedan ili vie


pojedinaca koji
e stvarno
koristiti sistem.

ta je dobar softver?
Kvalitetan softver je sveobuhvatan, stabilan i razumljiv program koji se lako
odrava i koji efikasno radi ono zbog ega je napravljen.
Kvalitet softvera zavisi od konteksta posmatranja,
pa se mora posmatrati na vie naina:

Kvalitet proizvoda
Kvalitet postupka izrade proizvoda
Kvalitet proizvoda u kontekstu poslovnog okruenja u kome e se
koristiti

Kvalitet proizvoda
Karakteristike proizvoda koje odreuju kvalitet zavise od toga
ko analizira softver

Korisnik

Projektant

smatra da je softver kvalitetan ako radi


na odgovarajui nain, lako se ui i
koristi.
Korisnik meri: tip i broj otkaza.

razmatra interne karakteristike


proizvoda i procenjuje nedostatke.
Projektant meri: broj nedostataka u
zahtevima, projektu i kodu.

Modeli kvaliteta
dovode u vezu spoljni pogled korisnika i
unutranji pogled programera na softver.

Kvalitet procesa
Ako neka od aktivnosti krene u pogrenom smeru, to moe da pogora
kvalitet proizvoda.
O emu
treba voditi
rauna?
Gde i kada emo verovatno nai neku vrstu nedostatka?
Kako moemo to ranije da pronaemo nedostatke u procesu
razvoja?
Kako moemo da ugradimo toleranciju na greke, da bi smanjili
verovatnou da nedostatak pree u otkaz?
Da li postoje alternativne aktivnosti koje mogu da naine proces
efikasnijim, uz osiguranje kvaliteta?

Faze u razvoju AS (1)


1. Analiza i definisanje zahteva
U ovoj fazi se u saradnji sa kupcem utvruju zahtevi koji opisuju sistem. Pri njihovom
definisanju uzimaju se u obzir entiteti, aktivnosti i ogranienja koja postoje u sistemu, kao i
interakcija sistema sa okruenjem.

2. Projektovanje (dizajn) sistema


U cilju zadovoljenja definisanih zahteva, generie se projekat sistema koji opisuje
finkcionalnost sistema i njegov izgled sa stanovita kupca. Projekat obino sadri snimke
ekrana, izvetaje koji e se generisati, interakciju sistema sa korisnikom, itd.

3. Projektovanje programa
Kada kupac odobri projekat sistema, generiu se pojedinani podprojekti pogodni za
programsku realizaciju.

4. Implementacija (pisanje) programa

Faze u razvoju AS (2)


5. Testiranje modula
Nakon pisanja programa, najpre se testiraju individualni delovi koda, tj. pojedinani moduli.

6. Testiranje integrisanog sistema


Moduli se povezuju u celinu i testira se da li moduli dobro rade u spezi sa drugim
modulima.

7. Zavrno testiranje sistema


Proverava se da sistem slui svojoj nameni, tj. da li zadovoljava postavljene zahteve.

8. Isporuka sistema
9. Odravanje sistema
Tokom upotrebe sistema mogu se uoiti razni problemi koje treba reavati.

Modelovanje procesa
SPECIFIKACIJA
SPECIFIKACIJA
ZAHTEVA
ZAHTEVA

MODEL
MODEL
PROCESA
PROCESA
RAZVOJA
RAZVOJA

ISPORUENI
ISPORUENI
PROIZVOD
PROIZVOD

Kada grupa opie primenjivani proces projektovanja, opis postaje zajedniko


shvatanje aktivnosti, resursa i ogranienja ukljuenih u razvoj softvera.
Modelovanje pomae u nalaenju nedoslednosti, vikova i izostavljenih
elemenata u samom procesu, to poboljava efikasnost procesa.
Model treba da odraava ciljeve razvoja. Nakon izrade modela projektni tim
ocenjuje aktivnosti sa aspekta njihove usklaenosti sa postavljenim ciljevima.
Svaki proces mora biti napravljen prema situaciji u kojoj e se primenjivati.
Modelovanje procesa pomae da projektni tim utvrdi mesta na kojima su
potreba prilagoavanja.

Kaskadni model (1)


Royce, 1970.
Model predstavlja vrlo
visok nivo apstrakcije
procesa razvoja softvera.

ANALIZA
ANALIZAZAHTEVA
ZAHTEVA
PROJEKTOVANJE
PROJEKTOVANJE

Jedna faza razvoja


treba da se u
potpunosti okona pre
poetka sledee faze.

KODIRANJE
KODIRANJE
Za svaku aktivnost
procesa definiu se kritine
take i meuproizvodi, to
olakava praenje stepena
gotovosti projekta.

TESTIRANJE
TESTIRANJE
OPERATIVNI
OPERATIVNIRAD
RAD
I IODRAVANJE
ODRAVANJE

Kaskadni model (2)


Prednosti modela

Nedostaci modela

Jednostavnost koja olakava

Ne odraava povratne

pruanje objanjenja kupcima.

sprege koje zbog greaka i


nepreciznosti zahteva postoje
u stvarnosti.

Dobijanje pune
funkcionalnosti sistema.
Eksplicitno ukazivanje na
meuproizvode koji su
neophodni za zapoinjanje
sledee faze.
Pogodan za sluaj kada je
neophodno odjednom zameniti
stari sistem.

Sistem je obino preveliki


da se uradi u jednoj iteraciji.
Nije pogodan kod znatnih
izmena zahteva.

Fazni razvoj (1)


KORISNICI PROJEKTNI
TIM

Fazni razvoj omoguava isporuivanje sistema u delovima, tako da je korisnicima na


raspolaganju jedan deo funkcija, dok je ostatak funkcija jo u razvoju.

Razvojni sistemi

Izrada verzije 1

Izrada verzije 2

Izrada verzije 3
Vreme

Produkcioni sistemi

Upotreba verzije 1

Upotreba verzije 2

Upotreba verzije 3

Produkcioni sistem je onaj koji trenutno koriste naruilac i korisnik. Razvojni sistem
predstavlja sledeu verziju koja se priprema da zameni postojei produkcioni sistem. Sistemi
se obino nazivaju prema rednom broju njihove verzije. Tako, projektni tim uvek radi na verziji
n+1, dok je verzija n u fazi operativnog korienja.

Fazni razvoj (2)


Inkrementalni razvoj podrazumeva da se sistem u skladu sa specifikacijom
zahteva deli na podsisteme prema funkcijama. Verzije se definiu kao
funkcionalni podsistemi, tako da se svakoj novoj verziji prikljuuju nove funkcije.
Sistem se nadograuje do potpune funkcionalnosti.

Iterativni razvoj takoe podrazumeva podelu sistema na podsisteme prema


funkcijama, ali se potpun sistem isporuuje u svim verzijama, s tim to se u
svakoj novoj verziji menjaju funkcije svakog podsistema. Svaka sledea verzija
unapreuje prethodnu.

Fazni razvoj (3)


Prednosti inkrementalnog razvoja

Prednosti iterativnog razvoja

Operativni podskup funkcija po


zahtevima korisnika moe biti vrlo
brzo isporuen.

Obuka moe da pone sa prvom


verzijom, to je dobro, jer praenje
izvravanja nekih funkcija moe da
sugerie poboljanja u kasnijim
verzijama.

Projektni tim moe da ima relativno


mali broj ljudi.
Progres na projektu je vidljiv (nije
samo u okviru dokumenata).
Mogunost odziva od strane
korisnika kroz ceo ciklus razvoja vodi
ka stabilnijim meurezultatima i
sistemu uopte.

Na trite moe da se izae vrlo


rano, ako se radi o funkcionalnostima
koje nikada ranije nisu bile nuene.
este verzije omoguavaju brzo
otkanjanje nepredvienih problema.
Projektni tim moe da se usredsredi
na razliite oblasti usavravanja u
razliitim verzijama (na pr. korisniki
interfejs, performanse sistema itd.).

Kvalitet u kontekstu poslovanja


Kvalitet sa aspekta poslovanja se posmatra u zavisnosti od proizvoda i
usluga koje prua poslovni sistem iji je softver sastavni deo. Pri tome
se analizira poslovna vrednost proizvoda.
Povratak investicije

Tehnika
vrednost proizvoda
Poslovna
vrednost proizvoda

........
Krai put do kupca

Kvalitet
proizvoda

Kvalitet
procesa

Produktivnost

Agilne metode
Agilne metode (Agile Alliance, 2001.) su nastale kao otpor mnogim ranijim
modelima razvojnog procesa koji su pokuavali da nametnu neki oblik
discipline vezane za osmiljavanje softvera, dokumentovanje, razvoj i
testiranje. Ideja je da se naglasi uloga fleksibilnosti u spretnom, brzom razvoju
softvera.

4 principa agilnog razvoja


Za uspenost projekta najvaniji su
kvalitet ljudi koji na njemu rade i
kvalitet njihove saradnje. Postupci i
alati imaju sporedni znaaj.

Umesto planiranja i praenja plana,


vanije je odgovarati na promene,
jer se ne mogu svi zahtevi predvideti
na poetku razvoja.

Bolje je uloiti vreme u izradu


softvera koji radi, nego u izradu
sveobuhvatne dokumentacije.

Zajedniki rad sa naruiocem je vrlo


vaan, jer se tako naruilac ukljuuje
u kljune aspekte razvoja.

Korisnici AS
Pojedinani korisnik

Finansijske institucije
(banke, berze)

Obrazovne institucije

Velike kompanije

Aplikativni softver
Mala preduzea

Vladine institucije

Zdravstvene institucije

Klasifikacija AS (1)
Poslovni softver (Enterprise software)
Koristi se za potrebe organizacije procesa i podataka u velikim distribuiranim
okruenjima.

Finansijsko poslovanje
Odnosi sa naruiocima
Snabdevanje i distribucija...
Softver specifine namene (Departmental software)
Podvrsta poslovnog softvera koja je fokusirana na manje organizacione
jedinice.

Pruanje informacija
Obrada putnih trokova...

Klasifikacija AS (2)
Softver za poslovnu infrastrukturu (Enterprise infrastructure software)
Prua podrku sistemima poslovnog softvera.

Baze podataka
E-mail serveri
Mree i zatita...

Softver za informacionu podrku (Information worker software)


Koristi se za generisanje i upravljanje informacijama na individualnim projektima u
okviru manjih organizacionih jedinica.

Vremensko planiranje
Upravljanje podacima
Dokumentacija
Analitika
Saradnja...

Klasifikacija AS (3)
Pristupni softver (Content access software)
Omoguava direktan pristup i korienje digitalnih sadraja.

Media Players
Web pretraivai
Igre...

Edukacioni softver (Educational software)


Omoguava pristup nastavnom materijalu, evaluaciju i
praenje napredovanja, kao i kolaborativni razvoj.

Softver za simulaciju (Simulation software)


Koristi se za simulaciju stvarnih ili apstraktnih sistema u razliite svrhe,
kao to su istraivanje, obuka ili zabava.

Klasifikacija AS (4)
Softver za razvoj multimedijalnih sadraja (Media development software)
Koristi se za razvoj tampanih i elektronskih multimedijalnih sadraja, najee u
komercijalne ili obrazovne svrhe.

Grafika
Izdavatvo
Razvoj multimedijalnih aplikacija
HTML editori
Kreiranje audio vizuelnih sadraja...

Softver za razvoj proizvoda (Product engineering software)


Koristi se za razvoj hardverskih i softverskih proizvoda.

CAD (Computer-added design)


CAE (Computer-added engineering)
Editori i prevodioci za programske jezike
Integrisana razvojna okruenja
API (Application Programmer Interfaces)...

Povezivanje AS
Skup aplikacija (Application suite)

vie aplikacija povezanih u celinu u vidu paketa


korisniki interfejsi aplikacija iz skupa imaju slinosti
mogua interakcija izmeu aplikacija iz skupa
primer: Microsoft Office

Ugraeni sistemi (Embedded systems)


AS i OS mogu biti tako povezani da korisnik ne moe da uoi
razliku meu njima
primer: softver za kontrolu DVD ureaja

Izbor AS
Microsoft Office Excel
tipian primer, jedan od najvie korienih AS
izuzetno zastupljen u oblasti finansija i menadmenta
velika verovatnoa njegove primene na buduem radnom
mestu
poznavanje njegovih naprednijih i ree korienih alata moe
da predstavlja prednost pri zapoljavanju
Microsoft Project
popularan i vrlo zastupljen AS u oblasti upravljanja projektima
znaajan za budue menadere
njegovo poznavanje moe da doprinese brem dolasku na
rukovodeu poziciju

You might also like