View
62
Download
1
Category
Preview:
Citation preview
1
Razvoj
informacionih
sistema
Prof. dr Pere Tumbasptumbas@ef.uns.ac.rs
Prof. dr Predrag Matkovićpedja@ef.uns.ac.rs
2
Razvoj informacionih sistema
Struktura softverskog inženjeringaRazvojni principi,
Metodi,
Sredstva (alati) i
Procedure.
Izbor uslovljen: individualnim i kreativnim
postupkom razvoja, različitošću sistema i
različitošću okruženja.
3
Razvoj informacionih sistema
Razvoj informacionog sistema
Metode
IntervjuGrupno ispitivanjeBrain-stormingSWOT analiza
Funkcionalno orijentisanoStrukturisanoObjektno orijentisanoPlaniranje znanja
Tabele odlučivanjaProcesno orijentisano programiranjeStruktruno planiranje programaObjektno orijentisano programiranje
Faza
analize
Planiranje
Izvedba
SredstvaDijagramiTabeleSheme/Slike/Prikazi
DijagramiTabeleI/O analizaHIPOIPO
Blok dijagramiStrukturogramiDijagrami strukture
CASE alati4GL tehnikeSQL standard
Nadzor
sistema
Izvedba
Planiranje
Faza
analize
PrincipiDvo-nivoosko planiranjeIterativost (???)OdlučnostProjektni radOdložene odlukeOsiguranje kvalitetaModelsko posmatranjeSamodokumentovanje
Posmatranje sa aspekta životnog ciklusaFunkcionišući modeliSpiralni modelV model
Koraci razvoja
Opšta
očekivanja
4
Razvoj informacionih sistema
Razvojni principi - određuju način izvršenja rada.
Opšti principi - modelovanja, iteracija,
dokumentovanja, ..
Metodološki koraci - modeli razvoja softvera
(model životnog ciklusa, model vodopada,
spiralni model, 4GT model, model prototipskog
razvoja, kombinovani model).
Metodi - propisani sistematski načini u izvršavanju
pojedinih zadataka razvoja softvera.
Mogu se kombinovati i ne postoji najbolji.
Strukturiraju se po različitim kriterijumima.
Pravilan izbor podrazumeva minimalne troškove i
visoki kvalitet proizvoda.
5
Razvoj informacionih sistema
Alati - automatizovana ili poluautomatizovana
podrška metodima.
CASE tehnologije.
Procedure - sistemi metoda i alata u realizaciji
razvoja.
Opredeljuje ih - priroda problema i očekivanje
korisnika.
Definišu - redosled metoda/koraka, rezultate -
izlaze koraka, kontrole radi obezbeđenja
kvaliteta.
6
Razvoj informacionih sistema
Metodologije - jedinstveni sistemi metoda.
SADT,
ISAC,
James Martin,
Gane and Sarson,
SSADM,
De Marco,
SDM- Pandata,
Lorensen,
Martin and Odell,
RUP
7
Razvoj informacionih sistema
Životni ciklus:
Prilikom idealnog razvoja informacionog
sistema, proces razvoja je linearan.
Identifikacija i izbor projekata
Inicijalizacija projekata
i planiranje
Analiza sistema
Dizajn sistema
Implemen-tacija
sistema
Održavanjesistema
8
Razvoj informacionih sistema
Životni ciklus:
Nakon implementacije prve verzije javljaju se –
novi ili izmenjeni zahtevi korisnika, potrebe za
algoritmima koji će ubrzati rad softvera, okruženje
postavlja svoje zahteve, tehnološki razvoj nameće
potrebu za daljim izmenama, ...
Ciklus se ubrzo ili za godinu-dve ponavlja.
9
Razvoj informacionih sistema
U zavisnosti od značaja koji se pojedinim fazama razvoja softvera i informacionog sistema pridaje, forme organizacije i upravljanja razvojem, iskustva zaposlenih i prirode proizvoda, razlikuju se:
Preskriptivni procesni modeli razvoja –konvencionalni procesni modeli sa delimično različitim tokom procesa razvoja ali sa istim generičkim aktivnostima;
Model vodopada,
Inkrementalni procesni modeli razvoja
Inkrementalni model,
RAD model,
10
Razvoj informacionih sistema
Razvojni procesni modeli:
Model prototipskog razvoja,
Spiralni model,
Specijalizovani procesni modeli:
Model zasnovan na komponentama,
Procesni model sjedinjenog procesa
(Unified Process)
Kombinovani procesni model
11
Razvoj informacionih sistema
Procesni modeli agilnog razvoja:
Extreme Programming (XP)
Adaptive Software Development (ASD)
Dynamic Systems Development Method
(DSDM)
Scrum
Crystal
Feature Driven Development (FDD)
Agile Modeling (AM)
12
Procesni modeli razvoja informacionih sistema
Model vodopada
Analiza zahteva
Verifikacija
Promene u zahtevima
Verifikacija
Specifikacija zahteva
Verifikacija
Projektovanje
Verifikacija
Implementacija
Verifikacija
Integracija
Verifikacija
Funkcionisanje i
održavanje
Isporuka
proizvoda
Razvoj
Održavanje
13
Procesni modeli razvoja informacionih sistema
Karakteristike:
Sačinjavaju ga aktivnosti koje se
sukcesivno obavljaju;
Iterativne interakcije između susednih
aktivnosti;
Svaka aktivnost poseduje strogo definisane
ulaze i izlaze;
Pretpostavka realizacije naredne aktivnosti
su rezultati realizacije prethodne aktivnosti;
14
Procesni modeli razvoja informacionih sistema
Karakteristike:
Realizacija softvera je posledica obavljenih
svih aktivnosti razvoja bez izuzeća;
Najstariji model koji je najšire i najviše
primenjivan do danas;
Kombinuje se sa ostalim modelima, većini
čini osnovu;
Obezbeđuje solidnu dokumentaciju i lakše
održavanje;
15
Procesni modeli razvoja informacionih sistema
Prednosti modela vodopada:
strogo definisani i kontrolisani proces,
kojeg karakterišu standardizovane i
detaljno opisane aktivnosti u svim fazama
razvoja,
uključeno testiranje odnosno verifikacija
izvršenih aktivnosti i dobijenih rezultata na
kraju svake faze razvoja,
detaljna i kvalitetna dokumentacija, koja se
generiše u svim fazama razvoja,
istovremeno kada se izvršavaju pojedine
aktivnosti i
relativno laka zamena pojedinih učesnika u
procesu razvoja.
16
Procesni modeli razvoja informacionih sistema
Nedostaci modela vodopada:
nefleksibilna podela aktivnosti razvoja u
posebne faze i nedostatak povratne sprege
između faza,
greške koje se ne otklone u pojedinim
fazama razvoja kada se vrši testiranje ili
verifikacija proizvoda, mogu imati stravično
distorziono dejstvo na razvoj u celini,
nemogućnost obavljanja iteracija tokom
realizacije razvoja jer iste izazivaju ozbiljne
probleme i konfuziju u primeni modela,
teška prilagodljivost neizvesnosti koja
uglavnom egzistira na startu projekta, kada
je korisniku veoma teško da eksplicitno
navede sve svoje zahteve prema softveru,
17
Procesni modeli razvoja informacionih sistema
Nedostaci modela vodopada:
dugotrajan proces razvoja te korisnik mora
biti veoma strpljiv i istrajan jer su mu radne
verzije softvera dostupne tek na kraju
aktivnosti razvoja, a do tada postoji samo
pisana specifikacija funkcionalnosti
budućeg softvera,
samo potpuno gotov proizvod je upotrebljiv
od korisnika,
visoki razvojni troškovi.
18
Procesni modeli razvoja informacionih sistema
Inkrementalni model
Inicijalni koncept
funkcionalnosti
Analiza zahteva
Projektovanje
arhitekture
Faza 1: Detaljni dizajn, kodiranje,
testiranje i distribucija
Faza 2: Detaljni dizajn, kodiranje,
testiranje i distribucija
Faza n: Detaljni dizajn, kodiranje,
testiranje i distribucija
19
Procesni modeli razvoja informacionih sistema
Inkrementalni model
Karakteristike:
Model u osnovi poseduje model vodopada
pošto svaki inkrement predstavlja
pojedinačno primenjen model vodopada;
Potpuno se razvija inicijalni podskup
softvera, a zatim u sekcesivnim koracima
kao nadgradnja stalno novije i
komplikovanije verzije;
Svaki inkrement je kvalitetan ali zadovoljava
samo podskup korisničkih zahteva;
Inkrementi su mali dodaci kojima se
upotpunjuju funkcije softvera;
20
Procesni modeli razvoja informacionih sistema
Prednosti inkrementalnog modela:
obezbeđuje transparentan razvoj
proizvoda, sa stalno vidljivim razultatima,
uvek raspoloživ funkcionalno upotrebljiv
proizvod, koji zadovoljava određeni
podskup korisničkih zahteva,
lako razumevanje i testiranje
novorazvijenih inkremenata proizvoda jer
oni samo dodaju nove funkcionalnosti
postojećem upotrebljavanom softveru i na
taj način premošćavanje traumatskih
efekata uvođenja kompletno novog
proizvoda odjednom,
21
Procesni modeli razvoja informacionih sistema
Prednosti inkrementalnog modela:
postojanje povratne sprege i permanentne
mogućnosti ugradnje bogatog korisničkog
iskustva u redefinisani proizvod na manje
skup način, putem novih inkremenata
odnosno novih funkcionalnosti proizvoda,
umanjeni rizik od neuspeha razvoja celine,
jer se problemi uglavnom uočavaju u
pojedinim inkrementima,
skromniji obim kapitalnih ulaganja u razvoj
proizvoda i brži povrat investicija,
manji broj angažovanih osoba u procesu
razvoja.
22
Procesni modeli razvoja informacionih sistema
Nedostaci inkrementalnog modela:
dekompozicija proizvoda na inkremente, da
bi se oni mogli integrisati, nije trivijalan
zadatak, kao ni sam proces integracije, a
da se pri tome ne ugrozi kvalitet već
postojećeg proizvoda,
specifikacija detaljnih korisničkih zahteva
se kod svakog inkrementa izrađuje
neposredno pre nego što se on razvija,
integracija može uvek doneti neočekivane
probleme i potrebe za reorganizacijom,
koja može imati posledice po efikasnost i
održavanje,
korisnici imaju stalnu želju da menjaju
svoje zahteve.
23
Procesni modeli razvoja informacionih sistema
RAD model
Model podrazumeva inkrementalni razvoj sa
veoma kratkim vremenskim ciklusom od 60-90
dana.
Brza modifikacija modela vodopada u kojem
svaki ciklus rezultira potpuno funkcionalnim
sistemom.
Razvoj se odvija u malim integrisanim
timovima sa korisnicima, neformalnih
komunikacija.
RAD model čine sledeće faze: modelovanje
organizacije, planiranje zahteva, dizajn
aplikacija, konstrukcija, implementacija.
24
Procesni modeli razvoja informacionih sistema
Modelovanje
organizacije
Planiranje
zahteva
Dizajn
aplikacija
Konstrukcija
Implementacija
Tim #2
Modelovanje
organizacije
Planiranje
zahteva
Dizajn
aplikacija
Konstrukcija
Implementacija
Tim #1
Modelovanje
organizacije
Planiranje
zahteva
Dizajn
aplikacija
Konstrukcija
Implementacija
Tim #3
25
Procesni modeli razvoja informacionih sistema
Prednosti RAD modela:
Povećana brzina razvoja primenom metoda
prototipskog razvoja,
Umanjena funkcionalnost za korisnika i umanjena
kompleksnost,
Veći naglasak na jednostavnost i upotrebljivost
dizajna korisničkog interfejsa.
Nedostaci RAD modela:
Skromnije karakteristike proizvoda u ranijim
ciklusima,
Ubrzanje procesa razvoja dovodi do gubitka pregleda
nad celinom sistema,
Brzina može postati sama sebi svrha pa se izrađuju
privremena i priručna rešenja,
26
Procesni modeli razvoja informacionih sistema
Nedostaci RAD modela:
Veliki projekti pri razvoju ovim modelom zahtevaju
dosta resursa da bi se kreirao odgovarajući broj RAD
timova,
Teška i problematična gradnja komponenti sistema
ukoliko se sistem ne može razložiti na module,
RAD je neodgovarajući model ukoliko je tehnički rizik
razvoja visok.
Recommended