Professional Documents
Culture Documents
INFORMACIJSKIH SISTEMOV
Literatura: Systems Analysis and Design with UML version 2.0
• Poenoten proces
2
Uvod v analizo in dizajn informacijskih sistemov
3
Uvod v analizo in dizajn informacijskih sistemov
4
Uvod v analizo in dizajn informacijskih sistemov
5
Pregled predavanja
• Poenoten proces
6
Življenjski cikel razvoja informacijskih sistemov
• Planiranje
• Analiza
• Dizajn
• Implementacija Implemen-
Analiza
tacija
7
Življenjski cikel razvoja informacijskih sistemov
8
Življenjski cikel razvoja informacijskih sistemov
• Večina pobud za nove sisteme prihaja izven področja IS (pr. marketing ali računovodski
oddelek) v obliki sistemskih zahtev.
11
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Planiranje - koraki
• Projektni menedžer naredi plan dela, določi kdo bo delal na projektu in katere tehnike
bodo uporabljali za izvedbo projekta.
• Projektni menedžer upravlja s projektom skozi vse faze življenjskega cikla razvoja.
12
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Analiza
13
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Analiza - koraki
1. Strategija analize upravlja s prizadevanji projektne ekipe.
• Strategija običajno vključuje analizo obstoječega sistema in njegove probleme,
ter načine za izgradnjo novega sistema.
15
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Dizajn - koraki
1. Strateški dizajn – specificira kdo in kako bo razvijal sistem (lastni
programerji, outsourcing, nakup obstoječega sistema,…).
2. Arhitekturni dizajn – specificira strojno, programsko in omrežno
arhitekturo, ki se bo uporabljala pri razvoju sistema.
• Običajno sistem nadgrajuje že obstoječo opremo v organizaciji.
• Dizajn uporabniškega vmesnika – specificira kako bodo uporabniki uporabljali
sistem (meniji, gumbi) ter obrazce in poročila, ki jih bo sistem potreboval.
3. Specifikacija podatkovnih baz – specificira kakšni podatki bodo
potrebni, kje in kako bodo shranjeni.
4. Programski dizajn – specificira katere programe je treba napisati in
kaj bo vsak program delal.
16
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Dizajn
17
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Implementacija
18
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Implementacija - koraki
19
Življenjski cikel razvoja informacijskih sistemov:
Faze življenjskega cikla
Implementacija - koraki
20
Pregled predavanja
• Poenoten proces
21
Metodologije za razvoj sistemov
22
Metodologije za razvoj sistemov
• Procesno-orientirane metodologije
• Fokus na definicijo procesov v sistemu
• Razvoj procesnih modelov
• Podatkovno-orientirane metodologije
• Fokus na vsebino in organizacijo podatkov v sistemu
• Razvoj podatkovnih modelov
• Objektno-orientirane metodologije
• Uravnovešen fokus med procesi in podatki
• Procesi in podatki v istem modelu
• Najprej se identificirajo osnovni gradniki sistema, potem se definirajo procesi in
podatki, ki so povezani z njimi
23
Metodologije za razvoj sistemov
• Strukturni dizajn
• Agilni razvoj
24
Metodologije za razvoj sistemov:
Strukturni dizajn
25
Metodologije za razvoj sistemov
Strukturni dizajn: Zaporedni (kaskadni) razvoj
• Prvotni (najstarejši) strukturni dizajn.
• Značilnosti:
• Najstarejši razvojni model, značilen za
prve oblike strukturnega pristopa.
• Faze si sledijo zaporedno.
• Vračanje nazaj ni mogoče.
• Primeren za relativno kompleksne
projekte, če projektne zahteve dobro
razumemo in se med projektom ne
bodo bistveno spreminjale.
• Omogoča dobro in natančno
projektno vodenje.
27
Metodologije za razvoj sistemov
Strukturni dizajn: Zaporedni (kaskadni) razvoj
• Prednosti:
• Identifikacija sistemskih zahtev dolgo
preden se začne programiranje
sistema.
• Minimizira spremembe zahtev tekom
razvoja sistema.
• Pomaga zmanjševati količino
režijskega dela, ki ni v povezavi z
izdelavo programske opreme (na pr.,
vodenje projekta), saj je možno
načrtovanje v celoti izvesti vnaprej.
28
Metodologije za razvoj sistemov
Strukturni dizajn: Zaporedni (kaskadni) razvoj
• Slabosti:
• Dizajn sistema mora biti v celoti
specificiran preden se začne s
programiranjem.
• Veliko časa poteče med predlogom
sistema v fazi analize in dokončanjem
sistema.
• Ni fleksibilen – vsaka naknadna
sprememba zahteva veliko dodatnega
napora.
• Poslovno okolje se lahko spremeni v
obdobju od faze analize do dokončanja
sistema.
29
Metodologije za razvoj sistemov
Strukturni dizajn: Paralelni razvoj
30
Metodologije za razvoj sistemov
Strukturni dizajn: Paralelni razvoj
• Prednosti:
• Zmanjša čas dokončanja sistema –
manj sprememb v poslovnem okolju, ki
bi zahtevale spremembe sistema.
• Slabosti:
• Včasih podprojekti niso v celoti
neodvisni – dizajn enega podprojekta
lahko vpliva na dizajn drugega.
• Integracija posameznih podprojektov
je lahko kompleksna.
31
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij (Rapid Application Development – RAD)
• Novejše metodologije razvoja sistemov (iz 90tih let).
• Poskušajo odpraviti slabosti strukturnega dizajna:
• Pospešijo razvojni proces sistemov
• Omogočajo spremembe sistema v procesu razvoja
• Slabost teh metodologij – upravljanje s pričakovanji uporabnikov
• Zaradi hitrega in bolj kvalitetnega razvoja sistema se lahko bistveno spremenijo
pričakovanja uporabnikov in povečajo sistemske zahteve
• Tipi metodologij za hiter razvoj aplikacij:
• Iterativni razvoj (Phased development)
• Prototipen razvoj (Prototyping)
• Prototipen razvoj z opustitvijo (Throwaway prototyping)
32
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Iterativni razvoj
33
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Iterativni razvoj
• Najpomembnejše zahteve so
združene v prvi različici sistema →
dizajn in implementacija prve
različice sistema.
• Po končanju prve različice –
druga različica sistema
• Nove zahteve in ideje iz izkušenj z
uporabo prve različice sistema.
• Proces se nadaljuje dokler sistem
ni dokončan.
34
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Iterativni razvoj
35
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Iterativni razvoj
Prednosti:
36
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Iterativni razvoj
Slabosti:
37
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj
• Faze analiza, dizajn in
implementacija se izvajajo
sočasno in se ponavljajo dokler ni
sistem dokončan.
38
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj
39
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj
Prednosti:
• Uporabniki zelo hitro dobijo
sistem, ki ga lahko uporabljajo,
čeprav ni dokončan.
• Napredek se hitro vidi – ni
dolgega čakanja na razvoj
sistema.
• Hitro in enostavno se
izpopolnjujejo zahteve.
• Omogoča lažje razumevanje
funkcionalnosti sistema.
40
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj
Slabosti:
• Zaradi hitrega razvoja je težko
izvajati temeljito analizo.
• Prototipi se pogosto s časom
bistveno spremenijo, kar
pomeni, da so bile prvotne
odločitve slabe
• To lahko predstavlja problem pri
razvoju kompleksnih sistemov, ker
se problemi odkrijejo šele pozno v
fazi razvoja.
41
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj z opustitvijo
42
Metodologije za razvoj sistemov:
Hiter razvoj aplikacij: Prototipni razvoj z opustitvijo
• Prototipi se ne razvijejo v
končni sistem, vendar se
uporabljajo le za
razumevanje sistema.
• Ko se doseže zadostno
razumevanje funkcionalnosti
sistema
• Opustitev prototipa.
• Dizajn in implementacija
končnega sistema.
43
Metodologije za razvoj sistemov:
Agilni razvoj
• Metodologija za razvoj sistemov, ki se še razvija.
46
Metodologije za razvoj sistemov:
Agilni razvoj – Ekstremno programiranje
Prednosti:
• Razvoj se ne upočasnjuje z
zbiranjem zahtev.
• Poznavanje tehnologije
• Če analitiki in programerji ne poznajo dobro tehnologije – zgodnja uporaba te
tehnologije v metodologiji veča možnosti za uspeh sistema.
• Najboljša izbira: prototipni razvoj z opustitvijo, iterativni razvoj.
49
Metodologije za razvoj sistemov:
Kako izbrati metodologijo
• Več kriterijev za izbiro metodologije (nadaljevanje):
• Kompleksnost sistema
• Kompleksni sistemi zahtevajo skrbna in natančna analiza in dizajn.
• Prototipni razvoj z opustitvijo omogoča natančno analizo in dizajn.
• Klasični strukturni dizajn je primeren za kompleksne sisteme, vendar počasen.
• Zanesljivost sistema
• Prototipni razvoj z opustitvijo – najbolj primerna metodologija, ker ima zelo natančno
analizo in dizajn in omogoča uporabnikom, da testirajo različne verzije sistema.
• Prototipni razvoj ni primeren, ker faze analize in dizajna niso tako natančne.
50
Metodologije za razvoj sistemov:
Kako izbrati metodologijo
• Več kriterijev za izbiro metodologije (nadaljevanje):
• Kratki časovni roki
• Hiter razvoj aplikacij (Rapid Application Development – RAD)
• Prototipni in iterativni razvoj – najboljši metodologiji.
• Najslabša izbira – kaskadni razvoj.
• Pravočasnost izvedbe
• Izziv - imeti pregled nad tem ali se posamezne faze projekta končajo pravočasno (v
predvidenem roku).
• Težko izvedljivo pri strukturnem dizajnu, ker sta dizajn in implementacija sistema na koncu
projekta.
• Najboljša izbira – metodologije hitrega razvoja aplikacij, ker se kritične odločitve o
dizajnu zgodijo zgodaj v projektu → večja sledljivost pravočasnosti projekta.
51
Metodologije za razvoj sistemov:
Kako izbrati metodologijo
Strukturirane Agilne
Hiter razvoj aplikacij
metodologije metodologije
Kriteriji Kaskadni Paralelni Iterativni Prototipni Prototipni razvoj z Ekstremno
razvoj razvoj razvoj razvoj opustitvijo programiranje
Nejasne Slaba Slaba Dobra Odlična Odlična Odlična
uporabniške
zahteve
Nepoznavanje Slaba Slaba Dobra Slaba Odlična Slaba
tehnologije
Kompleksni sistemi Dobra Dobra Dobra Slaba Odlična Slaba
• Poenoten proces
53
Poenoten proces
• Faze:
• Začetek (Inception)
• Priprava (Elaboration)
• Gradnja sistema (Construction)
• Prehod (Transition)
54
Poenoten proces
• Delovni procesi:
• Poslovno modeliranje
• Zahteve
• Analiza
• Dizajn
• Implementacija
• Testiranje
• Uvajanje
• Vodenje projekta
• Konfiguriranje in upravljanje
sprememb
• Okolje
55
Poenoten proces
56
Poenoten proces:
Faze
58
Poenoten proces:
Faze
Začetek (Inception)
• Za odgovor na vprašanja se
izvedejo delovni procesi: poslovno
modeliranje, zahteve ter analiza.
• Rezultati faze:
• Dokument, ki določa obseg projekta,
identificira primarne zahteve in
omejitve, definira začeten projektni
plan, opiše izvedljivost in riziko
povezan s projektom.
• Sprejetje potrebnega okolja za razvoj
sistema.
59
Poenoten proces:
Faze
Priprava (Elaboration)
Priprava (Elaboration)
• Rezultati faze:
61
Poenoten proces:
Faze
Gradnja sistema (Construction)
• Se osredotoča predvsem na
programiranje.
• Konfiguriranje in upravljanje
sprememb – zelo pomemben deloven
proces.
• Kontrola obstoječih verzij sistema in
sprememb v različnih verzijah.
62
Poenoten proces:
Faze
Gradnja sistema (Construction)
• Rezultati faze:
• Implementacija sistema, ki je
pripravljen za testiranje.
63
Poenoten proces:
Faze
Prehod (Transition)
64
Poenoten proces:
Faze
Prehod (Transition)
• Rezultati faze:
65
Poenoten proces:
Delovni procesi
• Delovni procesi opisujejo naloge in
aktivnosti, ki so potrebni za razvoj
sistema.
• Inženirski delovni procesi:
• Poslovno modeliranje
• Zahteve
• Analiza
• Dizajn
• Implementacija
• Test
• Uvajanje
• Podporni delovni procesi:
• Konfiguriranje in upravljanje sprememb
• Vodenje projekta
• Okolje
66
Poenoten proces:
Inženirski delovni procesi
Poslovno modeliranje
• Razkriva poslovne probleme in
identificira potencialne projekte
v organizaciji.
• Cilj – zagotoviti, da vsi vključeni
v razvoj projekta razumejo kako
se bo planiran IS vključil v
poslovne procese organizacije.
• Se izvaja v začetni fazi razvoja.
• Odgovarja fazi planiranja v
tradicionalnem življenjskem
ciklu razvoja sistemov.
67
Poenoten proces:
Inženirski delovni procesi
Zahteve
• Pridobivanje funkcionalne in
nefunkcionalne zahteve.
• Zahteve se zbirajo od
naročnikov projekta, končnih
uporabnikov, strank…
• Različni načini zbiranja zahtev:
intervjuji, opazovanja, analiza
dokumentov, vprašalniki,…
• Dodatne zahteve se odkrijejo
tudi v procesu razvoja.
68
Poenoten proces:
Inženirski delovni procesi
Analiza
69
Poenoten proces:
Inženirski delovni procesi
Dizajn
• Transformira modele iz delovnega
procesa analize v obliko, ki je
potrebna za implementacijo
sistema.
• Osredotoča se na rešitve, ki se
bodo izvajale v določenem okolju.
• Aktivnosti dizajna: dizajn
uporabniškega vmesnika, dizajn
podatkovne baze, arhitekturni
dizajn, optimizacija sistema…
• Povezan s fazami priprava
(Elaboration) in gradnja sistema
(Construction) v poenotenem
procesu.
70
Poenoten proces:
Inženirski delovni procesi
Implementacija
71
Poenoten proces:
Inženirski delovni procesi
Testiranje
73
Poenoten proces:
Podporni delovni procesi
Upravljanje projekta
• Delovni proces, ki je aktiven
skozi vse faze poenotenega
procesa.
• Zelo pomemben delovni
proces:
• Identifikacija in upravljanje z riziki
• Upravljanje z obsegom dela
• Izračun časa za dokončanje
aktivnosti in celoten projekt
• Izračun stroškov razvoja projekta
• Sledenje napredka razvoja projekta
74
Poenoten proces:
Podporni delovni procesi
Konfiguriranje in upravljanje
sprememb
• Namen – spremljanje
stanja/različice sistema.
75
Poenoten proces:
Podporni delovni procesi
Okolje
• Orodje in procesi, ki jih
programerji rabijo za razvoj
sistema.
• Programersko okolje, orodja za
upravljanje projekta, orodja za
upravljanje konfiguracij.
• Delovni proces okolje vključuje
pridobivanje in instalacija teh
orodij.
• Povezano z vsemi fazami,
predvsem pa z začetno fazo.
76
Pregled predavanja
• Poenoten proces
77
Poenoten jezik za modeliranje
Unified modelling language - UML
• Do leta 1995 – objektni koncepti popularni, vendar implementirani na
različne načine s strani različnih razvijalcev sistemov.
78
Poenoten jezik za modeliranje
Unified modelling language - UML
• Tehnike za ustvarjanje diagramov.
• Tri vrste diagramov:
• Strukturni (Structural) diagrami
• Predstavljajo podatke in statične relacije v IS.
79
Pregled predavanja
• Poenoten proces
81
Vloge in spretnosti članov projektne ekipe
• Poslovni analitik
• Osredotoča se na poslovne zadeve sistema: identifikacija poslovne vrednosti, ki jo
bo omogočil sistem, razvoj idej in predlogov o tem kako izboljšati poslovne
procese.
• Predstavlja interese naročnika in uporabnikov sistema.
• Pomaga v fazah planiranje in dizajn, vendar najbolj aktiven v fazi analize.
• Sistemski analitik
• Razvija ideje in predloge o tem kako lahko IT izboljša poslovni proces.
• Ustvarja nove poslovne procese s pomočjo poslovnega analitika.
• Dizajnira nove IS.
• Skrbi da so vsi standardi IS upoštevani.
82
Vloge in spretnosti članov projektne ekipe
• Infrastrukturni analitik
• Osredotoča se na tehnične zadeve o tem kako se bo sistem vklopil v obstoječo
tehnično infrastrukturo organizacije (strojna in programska oprema, omrežja,
podatkovne baze).
• Identificira spremembe infrastrukture, potrebne za podporo sistema.
• Upravlja s sistemom po njegovi instalaciji.
• Projektni menedžer
• Skrbi, da se projekt pravočasno konča, da se ne preseže proračun, da sistem
omogoča vse funkcionalnosti, ki so bile obljubljene.
• Upravlja s člani ekipe, razvija projektni plan, razporeja resurse, je prvi kontakt pri
vprašanjih v zvezi s projektom.
83
Pregled predavanja
• Poenoten proces
84