Upload
dina-t
View
219
Download
0
Embed Size (px)
Citation preview
8/18/2019 OISv 02a Ucesnici-Metodi 2012
1/34
ELEKTROTEHNIČKI FAKULTET U SARAJEVU OSNOVE INFORMACIONIH SISTEMA
Osnoveinformacionih
sistemaMetode, učesnici
8/18/2019 OISv 02a Ucesnici-Metodi 2012
2/34
Sadržaj
• Učesnici u razvoju IS-a?
• Cijena sistema/greške
• Značaj metoda, tehnike i alata u razvoju IS-a
• Pregled metoda
• Odakle početi?
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
3/34
vs
realizacija računarski podržanog
IS-a 2 0 1 0 .
/ 2 0 1 1 . g o d i n a
y1, y2, ..., ym
IS
F1, F2, ..., Fz
x1, x2, ..., xn
T
00110001001 011
011111000 10...
0011010110001..
.
8/18/2019 OISv 02a Ucesnici-Metodi 2012
4/34
Učesnici u razvoju IS-a – nekad i sad
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
Korisnik Poslovni
analitičar
Tehnički
analitičar
(dizajner)
Programer Računar
1001...
?
Moderni računari su razvijeniu toku 2. svjetskog rata,primarno u vojne svrhe.
Programiranje jepodrazumjevalo znanje o
načinu njihovog unutrašnjegrada, zbog čega je bilo
ograničeno na naučnike iinžinjere, pa su i upotreba itržište bili vrlo ograničeni.
HW performanse supočele da rastu sa
pojavom tranzistora.Tokom 50-tih godinarazvijen prvi super
računar.
Cijena je ograničavalaposlovnu primjenu
Poslovna primjena
morala da sačeka do 60-ih godina i pojave
programskih jezika poputCOBOL-a i FORTRAN-A.
Novo zanimanjeprogramer.
Razvoj sw je ostao vandomašaja širokog kruga
korisnika do 80-ih godina ipojave PC-a i programskih jezika kao što su BASIC,C, PASCAL, ... kojima su
korisnici mogli jednostavno razvijati sw.
SW aplikacije kao što sudBase, LOTUS 1-2-3,WordPerfect stimulišu
brzo prihvatanje računarai širenje tržišta.
Razvojna okruženja nezahtjevaju mnogo
treninga te razvoj sw
dobija na zamahu
U gužvi nastaloj usljedbrzog razvoja aplikacija saalatima koji se lako fokusnije bio na metodama i
procesima razvoja.
Pojava mrežnog sw,client-server modela
baza podatakausložnjava pitanja
projektovanja iodržavanja sw.
Popularizacija interneta,nove tehnologije, raznovrsna
razvojna okruženja.
IT sistemi postajunezaobilazan resurs za širokispektar poslovnih područja,ali i svakodnevnog života
pojedinca.
8/18/2019 OISv 02a Ucesnici-Metodi 2012
5/34
korisnici….
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
http://localhost/var/www/apps/conversion/tmp/scratch_1/The%20IT%20Crowd%20-%20Jen%20Brings%20the%20Internet%20to%20the%20Shareholders%20m.flvhttp://localhost/var/www/apps/conversion/tmp/scratch_1/The%20IT%20Crowd%20-%20Jen%20Brings%20the%20Internet%20to%20the%20Shareholders%20m.flv
8/18/2019 OISv 02a Ucesnici-Metodi 2012
6/34
Učesnici u razvoju IS-a – persp. korisnika
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
Korisnik
8/18/2019 OISv 02a Ucesnici-Metodi 2012
7/34
Učesnici u razvoju IS-a – persp. PA
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
Poslovni
analitičar
8/18/2019 OISv 02a Ucesnici-Metodi 2012
8/34
Učesnici u razvoju IS-a – persp. TA
2 0 1 0 .
/ 2 0 1 1 . g o d i n a
Tehnički
analitičar
(dizajner)
8/18/2019 OISv 02a Ucesnici-Metodi 2012
9/34
Učesnici u razvoju IS-a – persp. programera
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Programer
8/18/2019 OISv 02a Ucesnici-Metodi 2012
10/34
Učesnici u razvoju IS-a – persp. HW
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Računar
8/18/2019 OISv 02a Ucesnici-Metodi 2012
11/34
Učesnici u razvoju IS-a – nekad i sad
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Korisnik Poslovni
analitičar
Tehnički
analitičar
(dizajner)
Programer Računar
8/18/2019 OISv 02a Ucesnici-Metodi 2012
12/34
SDLC (rekapitulacija)
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
ANALIZATreba da odgovori na pitanje:Šta treba da bude urađeno?
DIZAJNTreba da odgovori na pitanje:Kako ono što treba da budeurađeno, treba da budeurađeno?
KODIRANJE I TESTIRANJETreba da rezultira izvršnimkodom aplikacije.
IMPLEMENTACIJA IOBUKA KORISNIKATreba da rezultiraimplementacijom sistema kod
krajnjeg korisnika.
8/18/2019 OISv 02a Ucesnici-Metodi 2012
13/34
Cijena sistema/greške
• Analiza
• Dizajn
• Razvoj
• Implementacija/korištenje
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
14/34
Zaključak
• Analiza
• Dizajn
• Razvoj
• Implementacija/korištenje
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Treba nam recept koji će nam reći... ... Šta da radimo? ... Kako da radimo?
... I sredstva koje će automatizirati procese!
MetodTehnik
a
Alat
8/18/2019 OISv 02a Ucesnici-Metodi 2012
15/34
Pristupi – “Code fix”
• Ne predstavlja metod ali je pristup kojeg neki nastavljaju da koriste
• Neki ga autori nazivaju i pristupom tipa “samo neka radi” • Inicijalno kupac može da u formi neke “slabe” specifikacije navede šta mu je potrebno
(npr. skica) ili je specifikacija utemeljena na ekspertskom znanju developer-a o odgovarajućemposlovnom području
• Razvoj počinje brzim ciklusima kodiranja iza kojih slijedi popravka • S vremena na vrijeme developer može da demonstrira aplikaciju kupcima i dobija povratnu
informaciju nakon čega nastavlja razvoj. • Većina vremena se provodi u kodiranju i otklanjanju grešaka.
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Specifikacijasistema
Konačna verzija
Kodiranje Ispravljanjegrešaka
Kvalitet proizvoda je najčešće mali Sistem često završava sa nekontrolisanom, zamršenom zbrkom koda kome nedostaje
prilagodljivost, mogućnost ponovne upotrebe i saradnje Sistemi koji se razvijaju “ad hok” se najčešće teško proširuju i održavaju
8/18/2019 OISv 02a Ucesnici-Metodi 2012
16/34
Pristupi – Rapid Application Development (RAD)
Pristup koji je nastao kao odgovor na izazove razvoja sw u distribuiranom okruženju, odnosno kaopokušaj odgovora na pitanje “kako da brzo napravimo sistem i da zadržimo kontrolu nad konačnimproduktom”.
Nakon što razvoj stigne do unaprijed definisane tačke, razvojni tim demonstrira sw, kupac testira išalje povratne informacije da tim podesi programiranje u željenom pravcu.
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Zahtjevi
Dizajn
Verifikacija Razvoj TestiranjeKonačna verzija
Fino
podešavanje
Petlja sa povratnom spregom
8/18/2019 OISv 02a Ucesnici-Metodi 2012
17/34
Pristupi – Waterfall
Nastao 60-ih godina u mornarici SAD
Na kraju svake faze tim kompletira rezultate
U narednu fazu prelazi se tek ako je kupac odobrio rezultat prethodne faze U slučaju da su potrebne promjene vrlo je teško vratiti se u prethodnu fazu
Pristup je upravljan ciljevima, zadacima i dokumentacijom koja može biti i vrlo obimna
Značajna pažnja se posvećuje planiranju
Pogodan za sisteme u kojima su zahtjevi kupca strogi i unaprijed poznati
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Koncept
Zahtjevi
Dizajn
Kodiranje
Testiranje
Implementacija
8/18/2019 OISv 02a Ucesnici-Metodi 2012
18/34
Pristupi – Isporuke po
etapama
• Modifikacija waterflow pristupa ukojoj se funkcije sistema, a nakondetaljne analize i osnovnog dizajna,isporučuju u etapama
• Kupac može najprije dobiti diosistema koji je za njega značajniji, aostatak kasnije
• Moraju se u obzir uzeti međusobne
zavisnosti komponenata
• Rizik cijelog projekta se smanjuje jer se prave manji dijelovi
• Vraćanje u prethodnu fazupredstavlja poteškoću
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Koncept
Analiza zahtjeva
Osnovni dizajn
Kodiranje
Testiranje
Implementacija
Det. dizajn etapa 1
Kodiranje
Testiranje
Implementacija
Det. dizajn etapa 2
...
8/18/2019 OISv 02a Ucesnici-Metodi 2012
19/34
Pristupi – Iterativni/spiralni
pristup• Razvoj i
poboljšavanjesistema krozvišestruke iteracije
2010./2011. godina
Zahtjevi Analiza i dizajn
Implementacija
Test
Okruženje Procjena
Ugradnja
Planiranje
Poslovnomodeliranje i
inicijalnoplaniranje
RUP – RationalUnifiedProcess
• Predviđanje -pojašnjavanjezahtjeva zajedno skupcem
• Planiranje – Planprojekta koji opisujezadatke, zavisnosti,resurse
• Razvoj – razvoj,kodiranje i testiranje
• Stabilizacija – finalnotestiranje i isporukakupcu
predviđanje
planiranjerazvoj
stabilizacija
Odobrenizahtjevi
Odobrenplan
F-jespremne
Isporuka
MSF – Microsoft Solutions Framework
XP - ExtremeProgramming
8/18/2019 OISv 02a Ucesnici-Metodi 2012
20/34
Pristupi – Agilne metode
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Četiri decenije razvoja softvera. U početku je bio haos. Radi toga je uveden red.
... previše reda
Manifest agilnog razvoja
"Mi pronalazimo bolje načine razvoja softvera čineći i pomažući drugima da to čine. Kroztaj rad naučili smo vrijednovati:
Pojedince i odnose iznad Procesa i alata
Funkcionalan softver iznad Iscrpne dokumentacije
Saradnju s kupcem iznad Pregovaranja i ugovora
Reagovanje na promjenu iznad Praćenja plana
To jest, premda su stvari s desna bitne, mi vrednujemo stvari s lijeva više"
Agile Alliance (više autora)
8/18/2019 OISv 02a Ucesnici-Metodi 2012
21/34
Pristupi – Agilne metode
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Agilni principi
Prihvatanje promjena, čak i kasno u razvoju Česte isporuke cijelog softvera Management i razvojni tim moraju tijesno sarađivati
svakodnevno
Projekt čine motivirani pojedinci Kontinuitet razvoja i jednostavnost
Funkcionalan softver je jedina mjera napretka
Samoorganizacija i samoprilagodljivost
8/18/2019 OISv 02a Ucesnici-Metodi 2012
22/34
Primjer - CDM Classic metod
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Tip: CDMC.ppt
8/18/2019 OISv 02a Ucesnici-Metodi 2012
23/34
Primjer - CDM Fast Track
metod
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
24/34
Primjer - CDM Fast Track
metod
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
25/34
Primjer – Extreme programming (XP)
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Agilna metoda koju mogu da koriste timovi male i srednje veličinekoji rade na razvoju programa u uslovima kada se zahtjevi brzomjenjaju
Zasnovan na osnovnim vrijednostima, a podržavaju ga aktivnosti,praksa i principi
Osnovne vrijednosti: Jednostavnost
(... YAGNI)
Komunikacija(fokus na usmenojkomunikaciji, ne nadokumentaciji)
Povratna sprega(kupac-developer)
Hrabrost(samopozdanje da seprogramira brzo i akotreba da se pravi izpočetka)
Praksa: Planiranje igre
(plan na višem nivou za narednu verziju ili iteraciju) Male verzije (česte verzije) Metafora (zajednička vizija, termini i jezik) Jednostavan dizajn
Testiranje(automatizovani testovi, razvoj testova prije koda)
Refaktorisanje (poboljšanje dizajna koda) Programiranje u paru
Kolektivno vlasništvo Radna nedelja 40 sati
Kupac član tima Standardi u kodiranju
...
8/18/2019 OISv 02a Ucesnici-Metodi 2012
26/34
Primjer – Extreme programming (XP)
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Na prvom ali i drugim sastancima sa korisnikom sedefiniraju priče korisnika (user stories) kojeodređuju šta program trebao da uradi.
U “igri planiranja” procjeni se vrijeme potrebno zaimplementaciju pojedinih priča i zajedno sakorisnikom se isplaniraju izdanja koja će korisniktestirati.
Za svako izdanje isplaniraju iteracije (ovo tim možebez korisnika). Kupac opisuje timu testoveprihvatljivosti.Testovi prihvatljivosti se provode na svakom većemkoraku, a u provođenju aktivnu ulogu ima kupac. Kupac se konstantno upućuje u stanje razvoja (npr.kad god ima vremena) prikazivanjem trenutne radneverzije.
Kratki dnevni jutarnji sastanci na kojima sedogovaraju zadaci za datu iteraciju i dodjeljujuprogramerskim parovima.
Programerski parovi najprije razvijaju kod zafunkcije testiranja, a tek potom funkcionalni diokoda.
8/18/2019 OISv 02a Ucesnici-Metodi 2012
27/34
Recept???
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
?
TIM,pozitivna atmosfera,
liderstvo,
iskustva/“know-how”
8/18/2019 OISv 02a Ucesnici-Metodi 2012
28/34
TIM
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
http://localhost/var/www/apps/conversion/tmp/scratch_1/The%20IT%20Crowd%20_%20Team%20Players%20_%20Channel%204.flvhttp://localhost/var/www/apps/conversion/tmp/scratch_1/The%20IT%20Crowd%20_%20Team%20Players%20_%20Channel%204.flv
8/18/2019 OISv 02a Ucesnici-Metodi 2012
29/34
Učesnici u razvoju IS-a – nekad i sad
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Korisnik Poslovni
analitičar
Tehnički
analitičar
(dizajner)
Programer Računar
? ?
8/18/2019 OISv 02a Ucesnici-Metodi 2012
30/34
Demonstracija
• Pitanja:
• Kolika su odstupanja?
• Kako unaprijediti proces?
• Šta ne treba mijenjati?
• ...
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
31/34
Izvori informacija
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
Dokumentacija
Korisnici(strateški, taktičkii operativni nivo)
Stari sistem (aplikacija, izvještaji,izvorni kod, korisnička dokumentacija )
Ljudi koji održavaju ilisu učestvovali u razvojustarog sistema
Intervju
Pregleddokumentacije
Upitnici
Pregled korisničke i sistemske
dokumentacije
Pregled izvještaja
Observacija
Pregled izvornog
koda
JAD sesije
Web-basedGroupware
ERD dijagrami
Modeliranje procesa
DFD dijagrami
Funkcijski dijagrami
Prikupljanje inf.(Information gathering)
Analiza potreba(Requirements analysis)
• jedan od najznačajnijih i najobimnijihizvora informacija• kompleksna, delikatna i “skupa” tehnika • nikada se ne fokusirati na samo jedanizvor informacija• menadžeri često imaju šire vizije irazumijevanje cjeline; otvoreniji zapromjene i poboljšanja • operativno osoblje bolje razumije dnevneoperacije i problematiku• ljudi koji su učestvovali u razvoju starogsistema poznaju sistem i mogu pružitiinformacije koje su ukodirane u sistemu;često znaju više od toga kako sistem radinego krajnji korisnici
• manje “skupa” tehnika • nije nužno prisustvo analitičara (e-mail,pošta, ...) • kreiranje dobrog upitnika i instrumentarija
je delikatan zadatak• pogrešno struktuirani i provedeni upitnicimogu voditi pogrešnim zaključcima
• vrlo iskoristiva tehnika za razmjenu ideja ipostizanje saglasnosti• ne zahtjevaju eksplicitne sastanke• korisnicima daju slobodu u izboruvremena reakcije• specifičan tip intervjua u kojem učestvujeviše zainteresiranih strana i koji ima za ciljda se postigne konsenzus i/ili projekatpokrene naprijed sa mjesta gdje je stao• skupa tehnika i zahtjeva detaljnupripremu• ako se ne vodi dobro može degenerisati u
forume za iznošenje mišljenja
• zahtijevna i ne previše zabavna tehnika • omogućiti uvid u predviđenu organizacijuposla, procedure i aktivnosti• pregled dokumenata koji cirkulišu usistemu• otkriti zahtjeve korisnika koji nisuotkriveni u drugim izvorima; npr. sistem je
dugo u upotrebi, te se određeni zahtjevi jednostavno podrazumijevaju• mogu dati dobar pregled korisničkihzahtjeva podržanih starim sistemom
• pregled izlaza iz starog sistema možepomoći da se složi mozaik fukcionalnostisistema• odlučiti koji će izvještaji biti zadržani,promijenjeni ili odbačeni
• saznati koji dio sistema sistema korisnicikoriste i na koji način • saznati koji dio sistema korisnici ne koristei saznati zašto
• nastojati što manje uticati na stvarni tokprocesa
• otkriti korisničke zahtjeve implementirane
u starom sistemu (složeni algoritmi ili jednostavnija poslovna pravila)
8/18/2019 OISv 02a Ucesnici-Metodi 2012
32/34
Analiza...
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
?
8/18/2019 OISv 02a Ucesnici-Metodi 2012
33/34
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a
8/18/2019 OISv 02a Ucesnici-Metodi 2012
34/34
Pitanja
?
2 0 1 0 .
/ 2 0 1 1 .
g o d i n a