Professional Documents
Culture Documents
Kompetencije
Predmet prua znanja potrebna za sudjelovanje u svim fazama razvoja informacijskog sustava. Studenti e sudjelovati u projektiranju sloenog, po mogunosti stvarnog, informacijskog sustava. Studenti e biti osposobljeni za prouavanje postojeeg sustava, definiranje zahtjeva na novi sustav, predlaganje i evaluaciju alternativnih rjeenja, oblikovanje sloene programske podrke, izradu projektne dokumentacije te provedbu postupaka uvoenja i odravanja i potpore informacijskog sustava.
Izvedba
Predavai & izvoai
prof. dr. sc. Kreimir Fertalj mr.sc. Boris Milainovi Marija Kati, prof.
Materijali
Nastavni materijali folije s predavanja, pratei primjeri http://creativecommons.org/licenses/by-nc-sa/2.5/hr/ podsjetnici, "alabahteri", e-knjiga, .... http://www.fer.hr/predmet/ris - formalna stranica http://bob.zpr.fer.hr/predmeti/RIS/ - kolaboracijski portal
Administracija
Zavod za primijenjeno raunarstvo, III kat zgrada D tajnica Sonja Majstorovi, Tel: 6129-915
Obavijesti
web-stranica predmeta http://www.fer.hr/predmet/ris ulaz u Zavod za primijenjeno raunarstvo (3. kat zgrade D)
Literatura:
J.A. Hoffer, J.F. George, J.S. Valacich: Modern Systems Analysis and Design, 4th ed., Prentice Hall, 2004. ISBN 0131454617 A. Dennis, B.H. Wixom, D.Tegarden: Systems Analysis & Design: An Object-Oriented Approach with UML, Wiley & Sons, 2002. ISBN 0471348066 G. B. Shelly, T. J. Cashman, H. J. Rosenblatt: Systems Analysis and Design, 5th ed, Course Technology, 2003. ISBN 0789566494
Konzultacije i primjedbe
ZPR, D/III, sjeverozapadno krilo e-mail nastavniku ili suradniku To: ime.prezime@fer.hr Subject: [RIS] U potpisu navesti puno ime i prezime te JMBAG
FER \ Fertalj: Razvoj informacijskih sustava 3
Sadraj
Osnove informacijskih sustava. Uvod u analizu i projektiranje sustava. Strategija organizacije. Identifikacija, selekcija, pokretanje i planiranje projekata. Modaliteti i alternative izgradnje. Prikupljanje informacija i definiranje problema. Specifikacija zahtjeva. Strukturirana analiza i dizajn. Modeliranje funkcija, procesa i podataka. Objektno usmjerena analiza i dizajn. Odabir arhitekture programske podrke. Oblikovanje korisnikog suelja i izvjea. Konstrukcija, integracija i provjera ispravnosti te dokumentiranje sustava. Uvoenje sustava u primjenu. Postupci odravanja. Potpora korisnicima. Raunalom podrano inenjerstvo. Obrnuto inenjerstvo. Preoblikovanje programske podrke. Metodologije razvoja informacijskih sustava. Osnove upravljanja projektom razvoja informacijskog sustava. Sustavi za upravljanje poslovanjem. Pozvano predavanje tvrtki koje se bave razvojem IS.
FER \ Fertalj: Razvoj informacijskih sustava 5
Vrednovanje rada
Sudjelovanje na predavanjima
cijeni se aktivnost prema subjektivnom dojmu predavaa minimum je dolazak (i ostanak) na barem pola predavanja
Ocjenjivanje
Za pozitivnu ocjenu (prolaz) treba ostvariti barem 50,00 % bodova svake pojedine komponente u tablici
Raspodjela prolaznih ocjena provodi se prema Gaussovoj raspodjeli
Meuispit I
strukturirana analiza i oblikovanje u tjednu 06.04.2009. 10.04.2009.
Nemogunost ispunjenja obveza treba dojaviti najkasnije tjedan dana od dana kada je nemogunost nastupila
nema isprinice "za cijeli semestar" na dan provjere znanja!!!
Meuispit II
objektno-orijentirana analiza i oblikovanje u tjednu 18.05.2009. - 22.05.2009.
Zavrni ispit
izrada, uvoenje, upravljanje projektom u tjednu 22.06.2009. 26.06.2009.
Aktivnost Pojedina no Predavanja 7 Doma e zada e 2-4 Test (blic) 10 I meuispit 15 II meuispit 15 Zavrni ispit 15
Puta Bodova Udio 1 7 7.00% 6 18 18.00% 3 30 30.00% 1 15 15.00% 1 15 15.00% 1 15 15.00% Ukupno 100 100.00%
8
Ostalo
Ankete
anonimne, slue za analizu i unaprjeenje nastave ulazna anketa - tijekom prva tri tjedna predavanja zavrna anketa - tijekom zadnja tri tjedna predavanja obrazac e biti objavljen na webu FER Ahyco
Informacijski sustav
\PosebnoOznaeniNaFolijama
10
Sustav
Sustav = ureeni poredak meuzavisnih komponenti povezanih za postizanje zajednike svrhe ili cilja. Fiziki sustav materijalne naravi
skup jedinica, organizacijski ujedinjenih u cjelinu (npr. poduzee) skup dijelova, povezanih opom funkcijom (npr. ivani)
Elementi sustava
Komponente - podsustavi
nerazdvojivi dijelovi ili agregacije dijelova koje pripadaju sustavu npr. Nabava, Proizvodnja, Prodaja npr. Studentska sluba, Zavodi, Financijska sluba mogu biti zamijenjeni bez potrebe za promjenom itavog sustava (!?) organizacija, interakcija, meuzavisnost, integriranost
Informacijski sustav
Informacijski sustav (Information System) = skup meusobno povezanih komponenti koji prikuplja, obrauje, pohranjuje i prua informacije potrebne za obavljanje poslovne zadae
obavijesni sustav, informacijski sistem sustav za upravljanje sustavom ljudskih aktivnosti [Checkland, 1980]
Granica
definira sadraj i domaaj sustava
Svrha
prikupljanje i pruanje informacija korisnicima u jednoj ili vie organizacija organizacijski IS (poslovni IS)
Okolina
sve to je izvan granica sustava, ali se jo uvijek tie sustava npr. MZO i studentske udruge kao okolina visokog uilita
Podrazumijeva
sustave podrane raunalom raunalni (kompjuterizirani, kompjuterski) sustave koji se ne oslanjaju na raunala, ali obrauju informacije
Ulazi i izlazi
sve to ulazi u sustav iz okoline ili ga naputa
Korisnici
poslovodstvo, djelatnici (zaposlenici, osoblje), klijenti
Suelja
veze-diralita izmeu sustava i njegove okoline (zatita, filtri)
Ogranienja
unutarnji i vanjski imbenici koji odreuju i ograniavaju funkcioniranje sustava npr. ogranienja prostora ili ljudstva, pravilnici, zakonske odredbe
FER \ Fertalj: Razvoj informacijskih sustava 13 FER \ Fertalj: Razvoj informacijskih sustava 14
Komponente IS
programska oprema (software) sistemska, namjenska raunalna oprema (hardware) raunala i periferije osobe (lifeware) - korisnici, informatiari mrena infrastruktura (netware) - mrena oprema organizacija (orgware) postupci povezivanja pojedinih dijelova u cjelinu Okolina sustava ...
Sustav Granica sustava Automatizirani dio sustava
I(P)S: nabave, prodaje, proizvodnje, financija, ljudskih resursa i plaa, osnovnih sredstava IS Subvencionirane Prehrane (ISSP) Integrirani PIS Visokih Uilita (IPISVU) IS Personalnog Upravljanja MORH
Informacijski sustav
podsustav poslovnog sustava ulazi i izlazi: ulazne informacije, obraene informacije procesi: obrada informacija (podataka) o stanjima stvarnog sustava izvritelji: osobe, programi, raunala skladita: spremita informacija (podataka)
Granica automatizacije
15
16
Upravljanje IS
Upravljanje i razine IS
Informacijski sustav transakcijski upravljaki za potporu odlu ivanju Informacije, kada obrada podataka, dnevno zbirne, periodiki sintetizirane, ad hoc Korisnici, Upravljanje tko nie operativno poslovodstvo srednje taktiko poslovodstvo (trendovi) vie strategijsko poslovodstvo, (to ako,) uprava
Ostale vrste IS
Expert System (ES) ekspertni sustav
sustav pravila i mehanizam zakljuivanja ugraena struna znanja za koritenje od strane manje
Proizvodnja
Planiranje proizvodnje. Izvrenje proizvodnje. Proizvodnja po narudbi. Procesna proizvodnja.
Prodaja i distribucija
Upravljanje nalozima za prodaju. Upravljanje ugovorima. Fakturiranje.
19
Upravljanje kvalitetom
Ispitivanje kvalitete.
Izvjetaji
FER \ Fertalj: Razvoj informacijskih sustava 20
IS personalnog upravljanja
Osnovni podaci o osobama (osobine, civilna i vojna povijest) Ustroj (postrojbe, dunosti, ustrojna mjesta) Tijek slube (prijam, sluba, posebna stanja, izlaz) Dodjela inova i redova, ocjenjivanje Dodjela odlija i medalja kolovanje (povijest, izobrazba u HV) Evidencija prekraja, mjere Ostalo (naknade, doplatci, )
21
22
Standish Group, 2002: 34% uspjenih projekata 17% potpunih neuspjeha Ciljevi razvoja IS izgraditi sustav koji radi i koji je pouzdan, unutar zadanih granica izgraditi sustav koji zadovoljava poslovne ciljeve, prema zahtjevima korisnika izgraditi sustav u prihvatljivom vremenu i po opravdanoj cijeni
Projektiranje i izgradnja IS
24
Uzroci neuspjeha
Informacije o neuspjenim projektima u RH se rjee objavljuju. Meu najeim uzrocima su [Kalpi, Fertalj & Mornar, 2001]
Loa organizacija i voenje projekata oslonac na vanjske voditelje i savjetnike, delegirano upravljanje projektima, nerealno planiranje i pretjerani optimizam, formalno izvjetavanje o napretku, formalni nadzor nad projektom, podcijenjena uloga vlastitih strunjaka Loa izvedba projekata neodgovarajua analiza sustava, pogreke u dizajnu i kontroli kvalitete, neodgovarajua CASE pomagala i krivo koritenje, pa ak i svojevrsna zloporaba CASE pomagala
Taurus (1993)
Projekt sustava automatiziranih transakcija Londonske burze prekinut je nakon 5 godina razvoja i troka od 75m te posljedini gubitak klijenata od 450m. Ukupni gubici smatra se da su neizraunljivi. strateki projekt eljeno najvee burze na svijetu, "de-materijalizacija" dionica sloenost, prostorno rasprene ekipe, loa arhitektura, nepridravanje metodologije, loe upravljanje projektom i kontrola kvalitete
Mnogi sustavi su propali ili su bili odbaeni jer su se izvoai trudili napraviti lijepa programska rjeenja a nisu razumjeli sutinu organizacije i poslovanja.
26
Poboljanje uspjenosti IS
Poboljanje uspjenosti IS
Projektiranje IS Planiranje, upravljanje provedbom, praenje napretka Ukljuivanje korisnika Korisnik poznaje(?) poslovni proces i zna(?) odrediti potrebe. Informatiar upoznaje(?) poslovanje i zna(?) kako izraditi IS. Vano je da u procesu izgradnje sudjeluje i poslovodstvo, da bi se upoznalo sa stvarnim mogunostima i koristima uvoenja IS, posebice jer donosi konane (za poduzee sudbonosne) odluke.
Programska potpora
Programska oprema/podrka/potpora, softver (software)
dio raunalnog sustava koji nema fizikalnih dimenzija opi pojam za sve vrste programa, programskih jezika itd Skup elemenata ili objekata u jedinstvenoj konfiguraciji koju ine raunalni programi + podaci + dokumentacija svojstva: sloenost, podlonost pogrekama, ne troi se, teko mjerljiv, stari, dugo se koristi, lako se kopira (zajedno s pogrekama)
Programsko inenjerstvo
Programsko inenjerstvo (software engineering)
Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1). [IEEE Std 610.12-1990, 1994] IEEE Std 610.12-1990 "Standard Glossary of Software Engineering Terminology", IEEE, New York, 1994, p. 67.
IEEE = Institute of Electrical and Electronic Engineers, http://www.ieee.org
Informacijsko inenjerstvo
Informacijsko inenjerstvo (information engineering, IE)
Inenjerski pristup izgradnji IS i upravljanju informacijama IS mora biti projektiran, kao to se to ini s drugim proizvodima razvoj IS kao strukturiran i planiran proces podran raunalom Sustavna primjena prikladnog skupa metoda, tehnika i alata u procesu razvoja informacijskih sustava.
sistematian, discipliniran i mjerljiv pristup razvoju, primjeni i odravanju softvera primjena inenjerskog pristupa na programsku opremu Programsko inenjerstvo je inenjerska disciplina koja obuhvaa sve aspekte izrade programske opreme. [Sommerville, 2004] Programsko inenjerstvo... ima za cilj ekonomian razvoj visokokvalitetne programske opreme [Pagel / Six 1994, str. 49]
Tehnika (technique)
definira nain provoenja postupka i dokumentiranja rezultata tog postupka npr. tehnika intervjuiranja, strateko planiranje, strukturirano programiranje
Projektiranje IS
Slijed izrade fizikog i logikog modela postojeeg IS, a zatim logikog i fizikog modela budueg IS na temelju poslovnih zahtjeva i zahtjeva krajnjih korisnika.
fiziki model (ugradbeni, implementacijski, tehniki) opisuje kako je sustav fiziki i tehniki ugraen, te tko, gdje i kada neto radi logiki model (esencijalni, konceptualni, poslovni) to je sustav, to radi, to su podaci operativni (budui fiziki) sustav to, tko i kada, ali ne i gdje opcionalno, moe se razmatrati organizacijska razina razliito znaenje podataka zavisno od podruja unutar organizacije i okolia
Postojei fiziki Postojei logiki Budui logiki Budui fiziki
Modeliranje IS
Izrada modela koji odgovaraju dijelovima stvarnog sustava
model: apstrakcija ili reprezentacija dijela stvarnog svijeta Kada otprije ne postoji sustav, potrebno je odrediti "surogat" postojeeg sustava po ugledu na istovrsne sustave u drugim organizacijama ili razvoj zapoeti s izradom logikog modela.
Korisniki/poslovni zahtjevi
FER \ Fertalj: Razvoj informacijskih sustava
Budui organizacijski
31 FER \ Fertalj: Razvoj informacijskih sustava 32
Tehnike modeliranja
Modeliranje podataka / oblikovanje podataka (data modelling)
model podataka TO su podaci, odnosno to opisuju podaci konceptualni model - opisuje podatke i veze izmeu podataka, najee model entiteti-veze (entity-relationship model) logiki model opisuje strukturu podataka i logikih datoteka, najee relacijski model podataka (relational data model)
Modeliranje objekata
uahurivanje podataka i procesa u objekte objektni modeli dijagrami koji dokumentiraju strukturu objekata i njihove interakcije (UML)
Modeliranje dogaaja
model dogaaja KADA se podaci obrauju razmatranje uinka koji dogaaji imaju na procese i podatke te opis stanja, npr. dijagram promjene stanja (state transition diagram)
Projektant, Dizajner sustava (Designer) tehniki strunjak koji oblikuje sustav tako da zadovolji zahtjeve korisnika
prevodi poslovne zahtjeve i ogranienja u tehniko rjeenje, modeliranjem
Modeliranje resursa/sredstava
izvritelji - TKO obrauje podatke, GDJE se nalaze podaci, GDJE se obrauju podaci
Graditelj sustava (Builder, Developer) - programer, razvojnik izgrauje sustav, provjerava njegovu ispravnost te ga isporuuje u primjenu
konstruira komponente sustava na temelju specifikacija koje rade projektanti sustava
Modeliranje programa
struktura (programskih) modula IS, primjerice strukturnim kartama, UML dijagramima
FER \ Fertalj: Razvoj informacijskih sustava 33
34
Kljune uloge
Sistem analitiar [Whitten et. al, 2000]
Sistem analitiar potpomae prouavanje problema i potreba poslovanja radi odreivanja kako poslovni sustav i informacijska tehnologija mogu najbolje rijeiti problem i postii unaprjeenje poslovanja. Plodovi ove aktivnosti mogu biti poboljani poslovni procesi, poboljani informacijski sustavi te nove ili poboljane aplikacije, a esto sve zajedno. identifikacija tehnolokih poboljanja poslovnih procesa, oblikovanje poslovnih procesa, projektiranje IS, osiguranje sukladnosti IS standardima
Poslovni analitiar
analiza poslovanja, identifikacija koristi, oblikovanje (novih) procesa i procedura
Analitiar ?= konzultant
FER \ Fertalj: Razvoj informacijskih sustava 35 FER \ Fertalj: Razvoj informacijskih sustava 36
Planiranje (zato)
Analiza
Specifikacija zahtjeva
Oblikovanje (kako)
Kako sustav napraviti i kako e raditi?
Operabilni sustav
Izrada
ugradnja i provjera rjeenja
Primjena
isporuka, odravanje i poboljavanje
Primjena, odravanje
Specifikacija sustava
FER \ Fertalj: Razvoj informacijskih sustava 37 FER \ Fertalj: Razvoj informacijskih sustava
Izrada
Funkcionalni sustav
38
Planiranje sustava
Traenje odgovora na pitanje zato graditi sustav
Faza analize
Traenje odgovora na pitanje tko e koristiti sustav, to e sustav raditi te gdje i kada e biti koriten. Prouavaju se postojei sustavi, ustanovljavaju mogua poboljanja i razvija koncept novog sustava
Inicijacija projekta
Zahtijevanje sustava (system request), Inicijalna strategija (initial strategy) odreivanje poslovnih ciljeva, problema i ideja njihovog rjeavanja snimka stanja, saetak poslovnih potreba Studija izvodljivosti (feasibility study) analiza problemskog podruja i odreivanje (granica) projekata procjena kljunih aspekata predloenog projekta
tehnika izvodljivost (moe li se izgraditi) ekonomska izvodljivost (hoe li se isplatiti) organizacijska izvodljivost (da li e se koristiti)
Analiza zahtjeva (requirements analysis): detaljna analiza kojom se preciziraju granice projekta i poslovni zahtjevi
detaljna analiza postojeeg sustava (problema i poslovnih zahtjeva) modeliranje (postojeeg) sustava
Upravljanje projektom
po odobrenju projekta Izrada plana rada, kadroviranje projekta, upravljanje i nadzor projekta
Specifikacija zahtjeva (requirements specification): detaljni opis zahtjeva na IS, oblikovan tako da ga razumiju projektanti
modeliranje (budueg) sustava definiranje zahtjeva na budui IS
Oblikovanje sustava
odreuje kako e sustav funkcionirati, sa stanovita hardvera, softvera i mrene infrastrukture, korisnikog suelja, programa te spremita podataka
Izrada sustava
Provedba - ugradnja ili nabava oblikovanih rjeenja
Testiranje (testing)
provjera komponenti
Primjena sustava
Uvoenje u primjenu i odravanje
Uvoenje u primjenu, primjena (operation, production) prijenos (konverzija) podataka sa starog na novi sustav uspostava novih radnih aktivnosti Odravanje (maintenance) odravanje sustava u upotrebi izmjene sustava radi poboljanja radnih karakteristika (performanci), poboljanja ili prilagodbe naina uporabe Potpora (support) dobavljaa opreme, tehnikog osoblja korisnicima
Novi projekti, novi razvojni ciklus Navedene su tipine faze ivotnog ciklusa, bez implikacije da se radi o diskretnim i/ili slijednim aktivnostima!
FER \ Fertalj: Razvoj informacijskih sustava 43 FER \ Fertalj: Razvoj informacijskih sustava 44
Pokretanje projekta
Rezultati
donesena odluka o pokretanju projekta (ako se isplati) kreirani i provjereni dokumenti: vizija projekta (svrha i ciljevi) studija izvodljivosti i isplativosti plan kontrole promjena lista moguih rizika dnevnik softverskog projekta dnevnik problema postavljanje upravitelja projekta postavljanje ciljeva projekta izrada vizije projekta analiza isplativosti projekta studija izvodljivosti plan kontrole promjena sastavljanje liste rizika otvaranje dnevnika projekta otvaranje dnevnika problema angaman 23 iskusna razvojnika
Resursi
Kontrolne liste za provjeru i predloci projektne dokumentacije nalaze se na http://www.construx.com Prilagodljivi razvojni proces (Adaptable Process Model) opisan je na http://www.rspa.com Prije spomenuti http://cio.doe.gov/sqse
45
46
Analiza
Aktivnosti
prikupljanje informacija stvaranje vodia za stil suelja kreiranje i revizija prototipa korisnikog suelja razrada procjena priprema prijedloga o koritenju postojeih dijelova softvera, odnosno nabavi novih izrada i revizija plana razvoja softvera (prvo preliminarni, a potom i detaljni) analiza i klasifikacija zahtjeva okupljanje i suradnja svih zainteresiranih strana s ciljem otklanjanja problema povezanih sa zahtjevima razrjeavanje nejasnih i dvosmislenih zahtjeva kreiranje i revizija korisnikog prirunika / specifikacija zahtjeva izrada i revizija plana testiranja revizija i auriranje rizika projekta revizija i auriranje dnevnika projekta revizija i auriranje prototipa suelja i vodia za stil suelja revizija i auriranje dnevnika problema kontrola kvalitete svih proizvoda
Oblikovanje
Aktivnosti
zapoljavanje veine razvojne ekipe priprema preliminarnih dijagrama dizajna priprema PDL-a za funkcije/objekte dizajna visoke razine razrjeavanje problema preostalih iz faze razvoja zahtjeva zapoljavanje veine QA osoblja definiranje dizajna visoke razine (arhitekture sustava) kreiranje i revidiranje dokumenta o arhitekturi softvera auriranje procjena auriranje rizika auriranje dnevnika projekta auriranje korisnikog prirunika / specifikacije zahtjeva auriranje dnevnika problema auriranje plana razvoja definiranje dizajna niske razine kreiranje i revizija plana isporuke po stadijima izrada plana izrade za prvi stadij kreiranje i revizija testova za prvi stadij kontrola kvalitete svih proizvoda
Rezultati
detaljan prototip korisnikog suelja kreirani i provjereni dokumenti: matrica praenja zahtjeva korisniki prirunik / specifikacija zahtjeva plan za osiguranje kvalitete softvera detaljan plan razvoja softvera plan testiranja rjenik podataka procjene aurirani ostali dokumenti
Rezultati
kreirani i revidirani slijedei dokumenti: dokument o arhitekturi softvera plan gradnje softvera po stadijima dokument detaljnog dizajna testovi za 1. stadij plan isporuke po stadijima aurirani i revidirani svi ostali dokumenti
47
48
Ugradnja
Aktivnosti
zapoljavanje cijele razvojne ekipe i QA osoblja korekcija pogreaka iz prethodnih faza kreiranje i revizija testova za sljedei stadij kreiranje i revizija plana konstrukcije za trenutni stadij kreiranje liste mini koraka za trenutni stadij postavljanje standarda kodiranja pisanje programskog koda testiranje i integracija cjelina tehnika revizija auriranje i revizija dokumenta detaljnog dizajna auriranje liste rizika auriranje dnevnika projekta auriranje korisnikog prirunika / specifikacije zahtjeva auriranje dnevnika problema auriranje plana razvoja auriranje procjena kreiranje i revizija plana testiranja kreiranje i revizija testova sustava izrada plana alfa i beta testiranja izrada nacrta testova prihvatljivosti izrada rijeenih problemskih primjera (Test case) kontrola kvalitete svih proizvoda
Integracija i provjera
kreirani i revidirani slijedei dokumenti: plan integracijskih i sistemskih testiranja plan alfa i beta testiranja nacrt testova za prihvaanje softvera napisana lista mini koraka napisan programski kod obavljena testiranja komponenti obavljena integracija komponenti aurirani svi ostali dokumenti
Rezultati
Aktivnosti
provjera sustava, alfa i beta testiranja sastavljanje izvjetaja o rezultatima testiranja popravljanje i prepravljanje programskog koda auriranje korisnikog prirunika identificiranje kandidata za ponovo uporabive programske knjinice kreiranje plana testiranja za prihvaanje konanog proizvoda kreiranje konanog plana konverzije kreiranje nacrta plana odravanja priprema za provjeru prihvatljivosti auriranje plana projekta auriranje procjena auriranje dnevnika projekta auriranje dnevnika problema kontrola kvalitete svih proizvoda
49 FER \ Fertalj: Razvoj informacijskih sustava
Rezultati
izvjetaji napravljeni na temelju svih obavljenih testiranja plan testova za prihvaanje finalnog proizvoda instalacijski plan softver koji radi kako treba (testirani sistemski kod i datoteke podrke)
50
Instalacija i prihvaanje
Aktivnosti
auriranje dnevnika projekta auriranje procjena izrada konane verzija plana odravanja kompletiranje korisnike dokumentacije izrada kontrolne liste isporuke finalno testiranje prije isporuke (mjerilo prihvaanja finalne verzije) izrada izvjetaja o rezultatima testova za prihvaanje softvera izrada dokumenata o zavretku (obrasci, suglasnost o primopredaji) izrada instalacijske inaice auriranje dnevnika problema
Isporuka i odravanje
Aktivnosti
isporuka funkcionalnog proizvoda arhiviranje projekta (izvornog koda, razvojnih pomagala, dokumenata, ...) finalno auriranje dnevnika projekta kreiranje i revizija povijesnih dokumenata uspostava distribucije upravljanje distribucijom (kome isporuiti, kada, kako) uspostavljanje slube (centra) za suradnju i pomo korisnicima odravanje, nadgradnja ili izdavanje novih verzija nove verzije se prije isporuke testiraju i u skladu s tim korigira se korisniki prirunik
Rezultati
instalacijska verzija softvera izvjetaj o rezultatima testova za prihvaanje softvera konana verzija korisnike dokumentacije aurirani ostali dokumenti
Rezultati
isporuka potpuno dovrenog i ispravnog proizvoda arhivirani projektni mediji dokument o povijesti projekta instalacijski paketi korisnicima omogueno da predlau dalje korekcije softvera ili da se obrate za pomo ako im zatreba
51
52
54
10 24 0 51 20 25 60 12 80 64 0 32 0 16 0 80
40 20
10
Odravanje 67%
Provjera integracije 7%
Primjenjivost
dobro definirano i stabilno okruenje, gdje postoje razraene procedure rune obrade ili raunalski sustav koji treba unaprijediti veliki projekti (investicije) zaposlenici neiskusni ili posjeduju ogranieno tehniko znanje
Modeli razvoja
Nedostaci
uvoenje prema gore (bottom up): moduli, podsustavi, sustav sustav nije upotrebljiv dok nije gotov u potpunosti problem predodbe o proizvodu na temelju pisane specifikacije korisnici prekasno uoe nedostatke problem u sluaju pogreaka ili novih/promijenjenih zahtjeva
Primjena
58
Oblikovanje
Izrada
Uvoz asopisa
FER \ Fertalj: Razvoj informacijskih sustava 57 FER \ Fertalj: Razvoj informacijskih sustava
V model
Validacija
Verifikacija
Autodijelovi
59
definiraju se rezultati (proizvodi) pojedinih faza koji se prosljeuju u slijedee faze odreuju se rezultati kojima se testiraju elementi IS na razliitim stupnjevima razvoja
FER \ Fertalj: Razvoj informacijskih sustava 60
Prednost ubrzanje razvoja, vidljivost rezultata Nedostatci rizik nezamijeenih zavisnosti meu podprojektima, problem integracije.
uklanja se zajednikom arhitekturom Ministarstvo
61
62
Prednosti
stjee se bolja slika o zahtjevima korisnika uklanjaju se mogua iznenaenja na kraju razvoja mogue su promjene zahtjeva korisnika poveanje kreativnosti i brzine razvoja
Prednost
postoji dokumentacija mogue je planiranje Izdavaka kua Njemaki naruitelj
63 FER \ Fertalj: Razvoj informacijskih sustava 64
Nedostaci
zaboravljanje da prototip nije pravi sustav mogui neuspjeh zamjene prototipa sustavom dokumentacija proizlazi iz izrade, uz opasnost da pisane specifikacije nikad nee biti napravljene nemogunost ispravne procjene i planiranja resursa
FER \ Fertalj: Razvoj informacijskih sustava
Prednosti
omoguuje isporuku dijelova proizvoda prije konanog zavretka projekta bra uporaba - ranije vidljiva vidi korist sustava korisnici bre identificiraju dodatne zahtjeve
Nedostaci
korisnici upotrebljavaju sustav koji je namjerno nedovren potreba za paljivim planiranjem (raspodjela resursa, ovisnosti izmeu pojedinih faza isporuke) - kljuno je da najpotrebnije i najkorisnije mogunosti budu ugraene prve
konana isporuka
Spiralni model
Iterativno se analizira rizik i planira naredna iteracija od 6 koraka:
Odreivanje ciljeva, alternativnih metoda i ogranienja, Odreivanje i pronalaenje rjeenja za rizike koji se mogu pojaviti, Procjenjivanje alternativnih rjeenja, Razvoj izlaznih proizvoda iteracije i potvrivanje njihove tonosti, Planiranje sljedee iteracije, Pokretanje sljedee iteracije (ako se odlui krenuti u novu iteraciju).
Spiralni model
Primjena
izgradnja velikih sustava (trokovi izrade malih sustava su mali) kada provoenje analize rizika ne predstavlja preveliki relativni troak najee na interne projekte (naruitelj i izvoa iz iste organizacije)
Prednosti
praenje napretka, sigurnost
Nedostaci
sloenost, troak
FER \ Fertalj: Razvoj informacijskih sustava 67 FER \ Fertalj: Razvoj informacijskih sustava 68
70
MOOSAD pristup
Planiranje Odreivanje zahtjeva i razvoj sluajeva koritenja Analiza Oblikovanje Izrada Verzija 1 Knjinice predloaka
Postojei proizvodi rijetko zadovoljavaju svu potrebnu funkcionalnost, ali nabava moe imati i prednosti.
Knjinice predloaka
Analiza
Oblikovanje
Izrada
Analiza
Oblikovanje
Izrada
Verzija n
Proizvod je vidljiv i moe se ocijeniti (!?) Proizvod je "odmah" dostupan po nabavi (!?) Ovo vrijedi uglavnom za pakete namijenjene irokom krugu nepoznatih korisnika. U sluaju ERP, treba obaviti prilagodbu koja moe potrajati mjesecima ili godinama. npr. SAP: 20k tablica, 20k zaslona, ABAP (Advanced Business Application Programming)
Primjena
71
72
NAELA IS
Priprema projekta
Dizajn rje rjeenja Produkcija I Produkcija II PostPostprodukcijska podr podrka
Faza 1: Projektni standardi Metodologija Sastav timova Identifikacija poslovnih procesa Koncept rjeenja Realizacija Priprema Poetak produkcije
Kraj projekta
02.11.2007.
16.12.2007.
30.04.2008.
1.12.2008.
31.12.2008.
73 FER \ Fertalj: Razvoj informacijskih sustava 74
Resursi
Association for Information Systems, http://home.aisnet.org/ Kontrolne liste za provjeru i predloci projektne dokumentacije nalaze se na http://www.construx.com Prilagodljivi razvojni proces (Adaptable Process Model) opisan je na http://www.rspa.com http://www.itjungle.com/tfh/tfh053105-story03.html
79
80
Reference
Avison, D.E. & Fitzgerald, G. Information Systems development: methodologies, techniques and tools. 2nd. ed. McGraw-Hill, 1998. Awad A.M. System Analysis and Design, Irwin, 1985. Blum, B.I. A taxonomy of software development methods. Comm. of the ACM, vol. 37(11), 1994, 82-94. Boehm, B.W. Seven Basic Principles of Software Engineering, Journal of Systems & Software, 3(1) | March 1983, pp. 3-24. Brooks, F.P. The Mythical Man Month. Addison Wesley, 1975. Brooks, F.P. No silver bullet: essence and accidents of software engineering. Computer vol.20 (no 4), 1987, 10-19. Davis W.S, Yen D.C. The Information System Consultant's Handbook: Systems Analysis and Design. CRC Press, 1999. Dennis A., Wixom B.H., Tegarden D. Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, 2nd Edition, 2005
Reference
IEEE Std 610.12-1990 "Standard Glossary of Software Engineering Terminology" in IEEE Software Engineering Standards Collection, 1994 Edition, IEEE, New York, 1994, p. 67. Harel, D. Biting the Silver Bullet: Toward Brighter Future for System Development, Computer, 25 (1), 1992, 8-20. Hirscheim, R. and Klein, H.K. Four paradigms of information systems development, Comm. of the ACM, 32 (10), 1989, 1199 - 1216. Maciaszek L. Requirements Analysis and System Design: Developing Information Systems with UML, 3/ed, Addison Wesley Higher Education, 2007. McConnell S. Software Project Survival Guide Microsoft Press, 1998. McConnell S. : Rapid Development: Taming Wild Software Schedules. Redmond, Wa.: Microsoft Press, 1996.
81
82
Corporate strategy Project Identification and Selection Project Initiation and Planning
Strateko planiranje IS
Tradicionalno planiranje IS
provodi se odvojeno od poslovnog planiranja ili provodi se kao reakcija na promjene u poslovnoj politici
Strateko planiranje IS
procjena alternativnih usluga, aplikacija i infrastrukture uspostava smjera i prioriteta usklaivanja informacijskih servisa sukladno misiji, viziji i ciljevima organizacije planiranje IS sukladno strategiji razvoja organizacije, tako da informatizacija bude potpora promjeni organizacije i poslovnih procesa primjena metoda analize i dizajna na istraivanje poslovnog sustava s ciljem definiranja opeg (sveobuhvatnog) plana i arhitekture IS iji razvoj slijedi
U praksi ...
Umjesto prema stratekom planu, organizacija se "dovodi u red" tijekom informatizacije i s pomou informatizacije. Analizom sustava evidentiraju se problemi i slabosti poslovnih procesa. Dizajnom sustava predlau se ili nameu poboljanja.
P A
User review
P A D C
User review
P A D C
User review
Ponuda proizvoda ponuda usmjerena na klijente Zadovoljavati stalno promjenjive potrebe klijenata visoko personalizirani proizvodi djelotvorna prodaja putem kanala distribucije, ukljuivi mobilnu prodaju
D C
R.McLeod, E.Jordan (2002). Systems Development: A Project Management Approach,ISBN: 0471-22089-2, Wiley Higher Education
Arhitektura IS
prelazak sa dvoslojne na vieslojne web aplikacije odabir razvojnog alata uvaavajui strategiju proizvoaa RDBMS odabir i migracija razvojne platforme - pilot projektima upravljanje projektima i razvojem aplikacija agilnost, modeliranje procesa
FER \ Fertalj: Razvoj informacijskih sustava 90
Ljudski resursi
Za standardne funkcije (financije, kadrovi, ...) mogua nabava standardnih aplikacija Vlastiti razvoj ili potpuno upravljanje nabavljenim softverom za osnovnu djelatnost Outsourcing, insourcing, multisourcing kao modaliteti angamana vanjskih usluga kriterij: tehnika, tehnoloka i podatkovna kompatibilnost nedostatak resursa - postupno udvostruiti broj strunjaka stimulativno zapoljavanje i zadravanje osoblja
FER \ Fertalj: Razvoj informacijskih sustava 91
92
Uprava
Rukovoditelj Slube informatike
Primjena
Funkcionalnost je dobra uz 3 (od 17) izuzetka. Aplikacije su izrazito potrebne. Korisnicima je lako koristiti aplikacije. Veina aplikacija je dosta fleksibilna, samo dvije su izuzetak. Tonost je prilina. Stabilnost zadovoljavajua. Brzina vrlo dobra. Dostupnost i adekvatnost opreme vie nego vrlo dobra uz samo 1 izuzetak. Korisnika dokumentacija je osrednja. Obuenost korisnika je dobra, ali bi mogla biti i bolja. Podrka je svagdje dobra do odlina.
FER \ Fertalj: Razvoj informacijskih sustava
Smjernice upravljanja IS-om Smjernice upravljanja sigurnosti IS-a Taktiki plan provedbe projekta izgradnje IS
Odjel razvoja
Vii sistem analitiar
Sistem analitiar
Task Name Faza pripreme Uspostava infrastrukture projekta (TFS, SP kolovanje za modeliranje podataka kolovanje za SQL kolovanje za razvojno okruenje Formiranje ekipa Metodologija razvoja Razvoj programske okosnice Poduka primjene metodologije i okosnice
Duration 80 days 5 days 5 days 5 days 15 days 30 days 30 days 60 days 10 days
Start Mon 26.1.09 Mon 26.1.09 Mon 2.2.09 Mon 16.2.09 Mon 2.3.09 Mon 23.3.09 Mon 26.1.09 Mon 26.1.09 Mon 11.5.09
Finish Fri 22.5.09 Fri 30.1.09 Fri 6.2.09 Fri 20.2.09 Fri 20.3.09 Fri 8.5.09 Fri 6.3.09 Fri 24.4.09 Fri 22.5.09
Qtr 1, Jan
Thu 1.2.07 Wed 1.11.06 Fri 16.6.06 Fri 8.5.09 Tue 11.7.06 Tue 5.9.06 Mon 23.10.06 Wed 14.5.08 Fri 28.11.08 Fri 15.5.09
95
96
scope
Business Requirements
Feasibility Assessment and Project Plan technology standards System Owners system proposal technology proposal
Business Requirements
Technology Requirements
Proposals
Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley
98
Identifikacija projekta
Sponzor projekta = osoba ili grupa koja ustanovi poslovne potrebe
najee netko iz poslovnog podruja (Financije, Studentska, Proizvodnja)
Predlaganje projekata
Predlaganje projekata
temeljem (prethodno napravljenog) plana informatizacije planu prethodi analiza i prijedlog strategije temeljem zahtjeva na sustav unutar organizacije sponzor projekta interno dostavlja zahtjev na sustav (system request) uoavanjem poslovnih potreba provodi se snimka stanja i izrada internog prijedloga - povelje projekta temeljem prijava na natjeaj organizacije/institucije koja trai rjeenje u sluaju natjeaja otvorenog tipa vanjski predlagatelj navodi potencijalno trite ili korisnike te oekivanu korist primjeri:
Program hrvatskog inovacijskog tehnologijskog razvitka (HITRA) Razvoj na znanju utemeljenih poduzea (RAZUM) natjeaj MZO za prijavu i-projekta (iprojekti.mzos.hr)
Pokretai promjena
korisnici - nezadovoljstvo aplikacijama i/ili podacima (nepouzdanost, nedostupnost, manjkavost), prijedlog novih mogunosti npr. nestabilnost aplikacija, potrebe za podacima, potreba za novim funkcijama reorganizacija, utjecaji okoline promjene organizacijske strukture, promjene poslovnih procesa npr. promjene na Sveuilitu uzrokovane novim Zakonom, restrukturiranje studija, smjerova i zavoda pokazatelji poslovanja npr. pad prodaje, uska grla proizvodnje, neplanirano i nejasno poveanje trokova zastarjela tehnologija zahtjev za novim tehnologijama npr. razvojni alati (problem odravanja), korisnika suelja (Internet), baze podataka, neintegriranost sustava (informacijski otoci)
FER \ Fertalj: Razvoj informacijskih sustava 99
Zahtjev na sustav
Zahtjev na sustav
saetak projekta (sponzor, naziv, cilj, svrha) npr. odjel Financija, dopredsjednik Marketinga poslovne potrebe poslovni razlozi za pokretanje npr. poveanje prodaje, poveanje udjela na tritu, poboljtanje pristupa podacima, poboljanje usluge krajnjim korisnicima poslovni zahtjevi poboljane mogunosti poslovanja npr. pristup putem interneta, prikupljanje podataka o kupcima, izrada upravljakih izvjea oekivana korist poslovna vrijednost npr. poveanje prodaje 3%, poveanje udjela na tritu 1%, utede u odravanju sustava posebnosti i ogranienja - argumenti relevantni za odobrenje npr. rok do kraja poslovne godine, kompatibilnost s politikom sigurnosti i zatite
Upravljanje projektom (
Primjer:
\Planiranje\ZahtjevZaUslugamaIS
101
Izrada plana rada Ustroj projektne ekipe ukljuivanje sudionika iz razliitih djelatnosti, npr. djelatnici razliitih poslovnih podruja ili organizacijskih jedinica, uprava, vanjski konzultanti vano je osigurati predanost dionika zajednikom cilju (commitment) Uspostava upravljanja i nadzora projekta
FER \ Fertalj: Razvoj informacijskih sustava 102
Snimka stanja
Snimka stanja
brzo istraivanje i procjena problema, moguih prilika i direktiva problem: neeljena situacija koja sprjeava potpuno ispunjenje svrhe, postizanje ciljeva, obavljanje zadaa mogua prilika: mogunost pozitivne promjene, ak i kada ne postoji problem direktiva: zahtjev ili ogranienje nametnuti poslovnom politikom (npr. pravilnik) ili vanjskim utjecajem (npr. zakon) odreivanje poetnog dosega projekta i poetnog plana projekta
Hitnost
HITNO 6 mjeseci 6 mjeseci 12 mjeseci
Vidljivost
Visoka Srednja
Korist
175,000 75,000
Prioritet
2 2
Predloeno rjesenje
Novi razvoj Novi razvoj
Srednja
515,000
Novi razvoj
Niska
15,000
Po razvitku novog sustava, pruiti korisnicima lako svladive alate za pisanje izvjetaja. Brza ispravka, a zatim novi razvoj Novi razvoj, dodatna ocjena koristi moze poveati urnost Budue verzije tek razvijenog sustava Brza ispravka, a zatim novi razvoj
3 mjeseca 6 mjeseci
Visoka Srednja
35,000 nepoznato
1 2
12 mjeseci 3 mjeseca
Niska Visoka
nepoznato 65,000
4 1
Primjeri:
\Planiranje\PISFER-Snimka-*
103
Vidljivost: U kolikoj mjeri e rjeenje ili novi sustav biti dostupni korisnicima. Korist: Paualna procjena koliko bi rjeenje povealo dobit ili smanjilo troak u jednoj godini.
FER \ Fertalj: Razvoj informacijskih sustava 104
Vremensko planiranje
odreivanje prioritetnih zadataka i okvirnih rokova prioriteta
FER \ Fertalj: Razvoj informacijskih sustava 105 FER \ Fertalj: Razvoj informacijskih sustava 106
Povelja projekta
Primjeri: \Planiranje\
PrijavaProjektaPrimjeneIT PrijedlogProjektaPIS
108
Analiza problema
Produbljivanje analize za projekte koji prou poetnu selekciju
"Da li su problemi vrijedni rjeavanja?, "Da li je gradnja isplativa?" Detaljnija analiza problema, njihovih uzroka i posljedica "Ne pokuavaj popraviti prije nego shvati kako radi!" Analiza poslovnih procesa Koji su najvei problemi? Koja su mogua rjeenja problema? Kako informatizacija moe pomoi? Grubo modeliranje postojeeg sustava
Analiza izvodljivosti
110
1. Umanjiti vrijeme unosa pojedine 1. Broj zaposlenih u obradi narudbi se ne moe uveati. narudbe za 30%. 2. Runi unos narudbi svesti na 50% ukupnog broja. 2. Novi sustav mora biti kompatibilan s postojeim Windows XX standardom.
3. Na zaslonu za runi unos smanjiti broj potrebnih pritisaka 3. Novi sustav mora biti kompatibilan s ve odobrenim na tipkovinicu. sustavom za automatsku 4. Prenijeti unos podataka sa identifikaciju tapiastim 3. Sredinje raunalo radi na sredinjeg na osobna raunala. kodom. maksimumu svojih kapaciteta, 5. Zamijeniti postoje e obrasce za to se oituje u sporijem radu prikupljanje narudbi mrenim aplikacija za unos narudbi. sustavom izmeu skladita i Budui da slubenici prodaje tako da se eliminira pokuavaju bre raditi, poveao uporaba papirnate se broj pogreaka pri unosu. dokumentacije. 4. Obrasci za prikupljanje narudbi iz skladita nisu oblikovani za uunkovito popunjavanje, to dodatno usporava unos narudbi.
FER \ Fertalj: Razvoj informacijskih sustava 111
112
Postavljanje ciljeva
Primjeri poslovnih ciljeva
Potpomoi reorganizaciju u trino orijentirano poduzee prema EU normama. Osigurati informacije o izvorima, razlozima i mjestu nastanka svakog troka u sustavu. Uskladiti hijerarhiju odluivanja s hijerarhijom u poduzeu. Racionalizirati utroak novca za ...
Ogranienja
Osoblje
Odjel informatike smije zaposliti najvie tri stalna zaposlenika
Materijalni troak
Nabavka uredskog i potronog materijala ne smije premaiti XXX HRK
Raunalna oprema
Projekt se mora obaviti bez nabavke novog hardvera (gospodarstvo?) Troak opreme poeljno predstavlja barem 33% budeta (znanost!)
Primjer ciljeva IS
Problem: Predugo vrijeme unosa narudbi Cilj: Ubrzanje unosa Kriterij: performance, izvedba Lo primjer: Poveanje ili smanjenje Poveati broj unijetih narudbi u 24 sata za 5% Bolji primjer: Uinkovitost provedbe Unijeti 98% zaprimljenih narudbi unutar 24 sata Kriterij mora biti mjerljiv Apsolutni iznos ili relativni iznos konkretne vrijednosti Moe biti binaran postoji ili ne postoji, npr. Omoguiti online pretraivanje
Financijska sredstva
Ukupni budet projekta je XXXXX HRK (uvijek manji od traenog!) Naknade izvoaima ne smiju premaiti XX% ukupnog iznosa
113
114
Analiza izvodljivosti
Analiza, Studija izvodljivosti (feasibility analysis, feasibility study)
mjerenje korisnosti, praktinosti i isplativosti projekta procjenjuje se da li je projekt izvodljiv s obzirom na raspoloiva sredstva procjenjuje se da li projekt omoguuje poboljanja radi se izvjee o izvodljivosti (feasibility report) i prezentira se relevantnim dionicima ili dostavlja odboru za odabir eventualni povratak u studiju izvodljivosti revidirano izvjee trebala bi se raditi tijekom planiranja, ali i kasnije (npr. nakon faze analize) nakon odluke o pokretanju projekta sloenost i opseg projekta mogu se promijeniti pa poetno izvodljiv projekt moe postati neizvodljiv
Primjer: CIP
odobrenje samostalnog budeta, te dodatno investiranje u softver, hardver i sustav rezervnog napajanja integracija sustava investicije u fiziku zatitu (protupoarni i protuprovalni sustav) zapoljavanje dodatnih djelatnika sa SSS
Organizacijska izvodljivost
Ima li smisla graditi ? Hoe li se koristiti?
Organizacijska izvodljivost
Socio-psiholoka izvodljivost
Da li e rjeenje zadovoljiti korisnikove potrebe? Do kojeg stupnja? Kako e rjeenje promijeniti korisnikovu radnu okolinu?
Operativna izvodljivost
procjena hitnosti rjeavanja problema (planiranje) procjena prihvatljivosti rjeenja (kasnije faze)
P [performance] potreba za poboljanjem performansi, npr. protonost i odziv sustava I [information] potreba za poboljanjem informacija (i podataka), pravodobne, prikladne, aurne, korisne informacije E [economics] potreba za poboljanjem ekonomije, kontrole trokova ili poveanje profita, npr. usluge i kapaciteti, smanjenje trokova C [control] potreba za poboljanjem kontrole ili osiguranja, npr. tonost, sigurnost i zatita podataka E [efficiency] potreba za poboljanjem efikasnosti ljudi i procesa, npr. maksimalna uporaba raspoloivih resursa (ljudi, vrijeme) S [service] potreba za poboljanjem usluge kupcima, dobavljaima, partnerima, zaposlenicima, npr. poeljni i pouzdani servisi, elastinost i mogunost prilagodbe
FER \ Fertalj: Razvoj informacijskih sustava 117
Tehniko-tehnoloka izvodljivost
Moe li se sagraditi? Moe li se kupiti?
Vremenska izvodljivost
Kada e biti gotovo? Moe li biti gotovo na vrijeme?
Poeljni rokovi
Bolje je isporuiti ispravan sustav neto kasnije, nego neispravan ili beskoristan na vrijeme!!!
kanjenje pojedinih zadataka ili dodavanje novih zadataka (uslijed upravljanja promjenama) posmie zavretak projekta iterativno se aurira ili predlae alternativni vremenski plan
Strunost
Postoji li potrebna strunost za primjenu tehnologije? Postoji li potrebna vjetina za oekivani zavretak prema rasporedu?
postavlja se vrsti rok isporuke odreuju prioriteti funkcionalnosti koju treba ugraditi gradi se jezgra sustava (nune funkcionalnosti) odgaa se ugradnja funkcionalnosti koja ne moe biti dovrena na vrijeme u roku se isporuuje sustav s dosegnutom funkcionalnou ponavljaju se koraci 3. do 5. s nadodanom funkcionalnou iskustvo na slinim projektima (najbolje) modeli koji su predvieni za tip industrije i tip razvoja (npr. COCOMO) opi modeli razvojnog procesa (npr. Rapid Development)
Primjer: Uprava-IzborAlata
FER \ Fertalj: Razvoj informacijskih sustava 119
120
Preciznost procjene
Faza projekta Poetni koncept projekta Odobreni koncept projekta Specifikacija zahtjeva Specifikacija dizajna detaljni dizajn projekta Potrebni rad i veliina projekta Optimistino 0.25 0.50 0.67 0.80 0.90 Pesimistino 4.0 2.0 1.5 1.25 1.10 Trajanje projekta Optimistino 0.60 0.80 0.85 0.90 0.95 Pesimistino 1.6 1.25 1.15 1.10 1.05
Postupak procjenjivanja
Osnovni koraci
Procjena veliine projekta (broj programskih redaka ili funkcijskih toaka). Ovaj korak je intelektualno najzahtjevniji i to je jedan od razloga zato ga ljudi esto preskau. Alternativno, veliina se moe odrediti usporedbom u odnosu prema odgovarajuim dijelovima starog projekta Procjena potrebnog uloenog rada u ovjek-mjesecima (m). Moe se izraunati iz procjene veliine projekta i povijesnih podataka rada na slinim projektima. Procjena trajanja (vremenski plan) projekta npr. u kalendarskim mjesecima. Trivijalno se rauna iz procjena veliine i potrebnog rada.
Trokovi projekta (veliina i potrebni rad) 4x 2x 1.5 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x Poetni koncept projekta Odobreni koncept projekta Specifikacija zahtjeva Specifikacija dizajna
Trajanje projekta
1.6x 1.25x 1.15x 1.1x 1.0x 0.9x 0.85x 0.8x 0.6x Detaljni dizajn projekta Zavren projekt
121
Meta korak
Procjene treba izraavati u rasponima i, kako projekt napreduje, postupno smanjivati raspone i poveavati preciznost procjene.
122
Izlazi iz programa
Ekrani, izvjetaji, grafovi ili poruke koje program stvara za krajnjeg korisnika ili druge programe . Ovo ukljuuje sve izlaze koji imaju jedinstveni oblik ili trae razliitu logiku obrade podataka od ostalih izlaza.
Upiti
Kombinacije ulaza i izlaza gdje ulaz rezultira trenutnim i jednostavnim izlazom. Izraz dolazi iz baza podataka i odnosi se na izravnu potragu za podacima koristei jedinstveni klju. U suvremenim aplikacijama s grafikim korisnikim sueljem granica izmeu upita i izlaza je nejasna jer su upiti nad bazom jednostavni, a izlazi mogu obraivati podatke i mogu sadravati sloene formate.
Funkcijske toke mala sloenost x3 x4 x3 x7 x5 srednja sloenost x4 x5 x4 x10 x7 velika sloenost x6 x7 x6 x15 x10
124
Telefonski imenik ukljuuje podatke iz datoteke o djelatnicima kojom upravlja druga aplikacija. Ovo raunamo kao vanjsku datoteku. Pretpostavimo da je sloenost svih karakteristika programa osim telefonskog imenika (izlaz) mala.
Procjena analogijom
Skaliranje poznavanjem ciklusa i provedene aktivnosti
npr. poznata je razdioba optereenja za poslovne projekte: Planiranje (15%), Analiza (20%), Dizajn (35%), Izrada (30%) ako je na planiranje utroeno 4m, slijedi Analiza (5.33m), Dizajn (9.33m), Izrada (8m)
Odreivanje produktivnosti
Standardne vrijednosti za LOC
Real-time embedded systems, 40160 LOC/P-month. Systems programs , 150-400 LOC/P-month. Commercial applications, 200-900 LOC/P-month.
Language SLOC/UFP Ada 71 AI Shell 49 APL 32 Assembly 320 Assembly (Macro) 213 ANSI/Quick/Turbo Basic 64 Basic-Compiled 91 Basic-Interpreted 128 C 128 C++ 29 ANSI COBOL 85 91 Fortran 77 105 Forth 64 Jovial 105 Lisp 64 Modula 2 80 Pascal 91
TPT p H n
vrijeme produktivnosti tima u satima po tjednu postotak radnog tjedna koji se smatra produktivan broj radnih sati jedne osobe po radnom tjednu broj ljudi zaposlenih u timu
Ukupna produktivnost raste s brojem lanova i dostie maksimum na n=60 Ukupna produktivnost za n=20 i n=94 lana priblino je jednaka
Broj lanova tima (n) 20 40 60 80 94 100
129 FER \ Fertalj: Razvoj informacijskih sustava
Ukupno vrijeme produktivnosti (TPT) [sati/tjedan] 424,8 755,2 895,2 748,8 424,5 220
130
Ekonomska izvodljivost
Isplati li se graditi? Kada e se isplatiti?
Analiza trokova-koristi (cost-benefit analysis - CBA) Troak razvoja sustava (fiksni troak)
apsolutni iznos, poetna procjena, auriranje tijekom napretka projekta primjeri: osoblje: plae, honorari oprema procjenjuje se nakon odabira tehnikog rjeenja izobrazba: teajevi
trajanje u mjesecima =
3.0(ovjek-mjeseci)1/3
Ako je procijenjeno da e projekt zahtijevati 65 ovjek-mjeseci, optimalno trajanje projekta je 12 mjeseci (3.0*65^1/3). To dalje znai da je optimalna veliina tima 5-6 lanova. to se dogaa kada projekt treba dovriti bre?
Prema razliitim izvorima faktor 3.0 moe varirati od 4.0 do 2.5.
Gornja formula je razlog zato su rasponi procjene iri za procjenu rada nego za procjenu trajanja.
Vei projekti traju due, ali i imaju vee razvojne timove, pa se potrebni rad poveava neproporcionalno bre od trajanja projekta. Ovo podrazumijeva da se veliina razvojnog tima mijenja s veliinom projekta. Ako veliina tima ostaje konstantna, onda su rasponi procjene za potreban rad i trajanje projekta jednaki.
FER \ Fertalj: Razvoj informacijskih sustava 131
132
Nemjerljivi (intangible)
Pretpostavlja se ili se zna da postoje, ali im se postojanje ili "vrijednost" ne moe egzaktno dokazati
Mjerljive koristi
Najee izraene kao godinja uteda ili uteda po proizvedenom predmetu
Nemjerljivi trokovi
pad morala, pad produktivnosti (nemjerljivi) ili gubitak trita
Nemjerljive koristi
Neopipljive koristi mogu pomoi ili odmoi korisnosti sustava, npr. poboljano zadovoljstvo kupca, zadovoljstvo zaposlenika, ...
Nemjerljive koristi se ponekad mogu kvantificirati postavljanjem nekoliko pretpostavki o njihovom uinku:
nezadovoljni kupci naruuju manje i rjee ako se to kvantificira moemo dobiti postotak u gubitku posla
133
134
Osoblje: Vrsta Analitiar sustava Programer Strunjak za komunikacije Administrator baza podataka Pisac dokumentacije Tajnica Unos podataka Edukacija: Vrsta in-house poduke za programere in-house poduka za korisnike Materijal: Vrsta Kopiranje Diskovi, trake, papir Sklopovlje i programska podrka: Vrsta Windows licence Memorija za 20 klijenata Periferni ureaji za 20 klijenata Mreni programi Office alati Koliina Cijena 500 kn 650 kn Cijena 1,000 kn 8,000 kn 2,500 kn 15,000 kn 20,000 kn
135 FER \ Fertalj: Razvoj informacijskih sustava 136
Koliina 900h * 45kn/h 1375h * 36kn/h 60h * 40kn/h 30h * 42kn/h 240h * 25kn/h 160h * 15kn/h 80h * 12kn/h Koliina 3 dana 3 dana
Cijena 40,500 kn 49,500 kn 2,400 kn 1,260 kn 6000 kn 2,400 kn 960 kn Cijena 7,000 kn 10,000 kn
Nadogradnja sklopovlja i programske podrke: Vrsta Koliina Sklopovlje Programska podrka Ostali trokovi
Koliina
Dananja vrijednost onoga to e postati $1.00 nakon n godina u budunosti, ako uzmemo u obzir kamate I iznosi: PV = 1/(1 + I)n = (1 + I)-n Razlika predstavlja kamatu koja se moe zaraditi tim novcem
NPV
2,316
-2,000 2,000 0
3,201
138
137
Povrat investicije
Povrat investicije
Ulaganja donose korist koja s vremenom postaje sve vea. U jednom trenutku prihod dosegne rashod
12.00% Godina 0 Godina 1 Godina 2 Godina 3 Godina 4 Godina 5 (418,040) (15,045) (16,000) (17,000) (18,000) (19,000) 1.00 0.893 0.797 0.712 0.636 0.567 (418,040) (13,435) (12,752) (12,104) (11,448) (10,773) (418,040) (431,475) (444,227) (456,331) (467,779) (478,552) 150,000 0.893 133,950 133,950 1 (297,525) 170,000 0.797 135,490 269,440 2 (174,787) 190,000 0.712 135,280 404,720 3 (51,611) 210,000 0.636 133,560 538,280 4 70,501 230,000 0.567 130,410 668,690 5 190,138
1.00 0 0 0 (418,040)
Vrijeme povrata
= 3 + 51611 / (70501 + 51611) = 3.42 godine
200,000 100,000
139
140
Povrat investicije
Postotak povrata investicije
ROI - postotak relativne koristi projekta u odnosu na troak ROI = (ukupna korist ukupan troak) / (ukupan troak) preraunato u sadanju vrijednost, ROI = NPV / (ukupan sadanji troak) Za primjer s kamatom 12%, ROI = 190378 / 478552 = 0.3973 = 39.73% Za primjer s kamatom 6%, ROI = 301284 / 489196 = 0.6159 = 61.59%
6.00% Godina 0 Godina 1 Godina 2 Godina 3 Godina 4 Godina 5 (418,040) (15,045) (16,000) (17,000) (18,000) (19,000) 1.00 0.943 0.890 0.840 0.792 0.747 (418,040) (14,187) (14,240) (14,280) (14,256) (14,193) (418,040) (432,227) (446,467) (460,747) (475,003) (489,196) 150,000 0.943 141,450 141,450 1 (290,777) 170,000 0.890 151,300 292,750 2 (153,717) 190,000 0.840 159,600 452,350 3 (8,397) 210,000 0.792 166,320 618,670 4 143,667 230,000 0.747 171,810 790,480 5 301,284
1.00 0 0 0 (418,040)
Za kamatu 6%
NPV = 300k VP = 3.05 godina
141
142
Povrat investicije
Interna stopa rentabilnosti - Internal Rate of Return (IRR)
Interna stopa povrata investicije Izraava potrebni postotak povrata potreban da bi se troak i korist izjednaili u nekom vremenskom razdoblju Kamatna stopa pri kojoj je NPV = 0
50,000 (50,000) 0 (100,000) (150,000) (200,000) (250,000) (300,000) (350,000) (400,000) (450,000) 1 2 3 4 5
Globalni model entiteti-veze (enterprise data model) kategorije podataka klase podataka (ne razredi objekata!)
Primjeri:
\Planiranje\
MesnaIndustrija-Idejno, Ministarstvo-Idejno
FER \ Fertalj: Razvoj informacijskih sustava 143 FER \ Fertalj: Razvoj informacijskih sustava 144
145
Vlastiti razvoj
Vlastiti razvoj (Insourcing)
Varijante Razvoj vlastitim informatikim snagama (in-house), koji moe sadravati osposobljavanje i angairanje netehnikog osoblja
Primjeri: Ministarstvo, Drutvo, Poduzee
Vanjski razvoj
Vanjski razvoj (Outsourcing)
najam usluge razvoja informacijskog sustava ili njegovih dijelova poduka djelatnika informatike struke savjetnitvo pri provedbi pojedinih faza ciklusa izrada rjeenja po specifikaciji naruitelja Varijante: Ugovoreni razvoj isporuke gotovog proizvoda (contract out) Dugorona suradnja s isporuiteljem (stratekim partnerom) ili izdvajanje odjela informatike u preferiranog izvoaa (preferred contractor) Kljuna karakteristika: zavisnost o dobavljau
Prednosti poveanje strunosti naruitelja, samostalnost Nedostaci trajni troak kune informatike problem paralelnog razvoja i odravanja, gomilanje posla
Odabir rjeenja
Odreivanje moguih rjeenja
Identifikacija rjeenja na temelju analize poslovnih zahtjeva Ulazi: specifikacija raunalne opreme i programske podrke te odabrana tehnoloka arhitektura Izlazi: mogua rjeenja novog sustava i njihove karakteristike
Kriteriji za odabir
Primjeri: \Planiranje\IEEE-KriterijiNabave
149
150
S i = sij w j
j =1
gdje su Si = ukupna vrijednost i-tog rjeenja sij = vrijednost j-tog kriterija za i-to rjeenje wj = vanost ili teina j-tog kriterija
Kadrovska
Financije i blagajna
Obraun plaa
Nastava i procedure
Zavodi i projekti
Urudbeni zapisnik
Opa sluba
Skladite i materijalno
3 3 3 3 3 1 1 1 1 1 2 3 3 1 2.25 x
3 3 3 3 3 1 1 1 1 1 2 2 2 2 2 x
3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 x
3 3 2 3 2.75 2 2 1 1 1.5 1 1 1 1 1 x
1 1 1 1 1 3 2 2 2 2.25 2 2 3 1 2
1 1 1 1 1 3 2 1 1 1.75 1 1 1 1 1
1 1 1 1 1 3 2 1 1 1.75 1 2 2 1 1.5
2 2 1 2 1.75 2 1 1 1 1.25 2 2 3 1 2 x
0 0 0 0 0 2 2 1 1 1.5 1 2 3 2 2
Ekonomska Ocjena alternative Konaan prijedlog alternative Nadogradnja Izrada vlastitog Nabava gotovog
x x
153 FER \ Fertalj: Razvoj informacijskih sustava 154
Postupak intervjuiranja
Intervju
neusiljen i elastian razgovor s ispitanikom, slijed pitanja i odgovora ispitanik se pojavljuje u ulozi pasivnog sugovornika (!?) sugovornici: rukovoditelji, krajnji korisnici, ostali sudionici standardno ukljuuje dva sugovornika ali moe i vie (korisnika, ispitivaa): individualni intervju jedan korisnik ili suradnici koji rade isti posao intervjuiranje grupe vie korisnika iz razliitih podruja
Tehnika intervjuiranja
Priprema za razgovor
utvrivanje informacija koje treba saznati prouavanje postojee dokumentacije i prethodnih nalaza odreivanje dokumentacije koju bi trebalo prikupiti priprema pitanja koja e biti postavljena tijekom razgovora izrada jezgre tema, to jest standardnih pitanja izrada sveobuhvatnog podsjetnika i izdvajanje prikladnih pitanja
Organizacija razgovora
informacije se prikupljaju nizom pojedinanih razgovora (prvi) razgovori trebali bi se voditi prema unaprijed dogovorenom planu i rasporedu koordinator Primjeri: \Analiza\PlanRazgovora postupak je spor i neuinkovit, jer se organizacija razgovora mora obaviti za svaki pojedini razgovor nakon dovretka analize i sinteze dobivenih informacija neke razgovore (ponekad i itavu seriju) treba ponoviti da bi se upotpunile dobivene informacije ili uskladili proturjeni iskazi ukupan broj razgovora ne moe se unaprijed tono odrediti i treba ga prilagoditi stvarnoj situaciji
FER \ Fertalj: Razvoj informacijskih sustava 155
Primjeri:
\Analiza\
156
Tehnika intervjuiranja
Planiranje i obavljanje razgovora
okvirno trajanje prvog razgovora je 2 sata (openito 1,5 2,5 sata) Poetak razgovora predstavljanje sudionika upoznavanje sa svrhom razgovora (prikupljanje informacija o ) Voenje razgovora postavljanje pitanja i biljeenje odgovora prikupljanje dokumentacije Zavretak razgovora priblino 5-10 minuta prije isteka planiranog vremena prekida se slijed postavljanja pitanja provjerava se da li postoji neto to je sugovornik htio rei a nije bilo pitano provjerava se da li treba proiriti krug sugovornika dogovara se nastavak razgovora (dopunski razgovor) kada:
voditelj razgovora nije postavio sva planirana pitanja ili voditelj smatra da je razgovor nametnuo nova pitanja
Tehnika intervjuiranja
Preispitivanje i pojanjenje sadraja (follow-up)
provjera zabiljeenih navoda radi upotpunjavanja biljeki telefonom, elektronikom potom, novim sastankom
Dokumentiranje razgovora
Pisanje zapisnika samostalno pisati zapisnike (Tko ne razumije, ne moe biljeiti.) kada u razgovoru sudjeluje vie analitiara, odreuje se voditelj razgovora koji je ujedno i zapisniar, a ostali ulau primjedbe Sadraj zapisnika
Vrijeme i mjesto odravanja razgovora Sudionici Sadraj razgovora (tekst zapisnika) Popis prikupljene dokumentacije Zapisniar
zapisnik mora sadravati ono to je reeno i slijediti tok razgovora zapisnik ne smije nametati zakljuke, jer su oni rezultat analize
Primjeri:
\Analiza\
zahvala na razgovoru
FER \ Fertalj: Razvoj informacijskih sustava 157
Zapisnik-* TragRazgovora
FER \ Fertalj: Razvoj informacijskih sustava 158
Preporuljivo ponaanje
iskrenost i nepristranost cilj je nai za korisnika najprikladnije rjeenje, a ne podupirati odreeno programsko rjeenje ili raunalnu platformu panja i jezgrovitost brzo misli, jasno govori izbjegavanje sugestivnih pitanja nenametanje zakljuaka leernost (+ praenje reakcija sugovornika)
Grupno intervjuiranje
izbjegavati i po potrebi nadomjestiti radnim sjednicama iznimno provesti, kada se eli utvrditi zajedniki interes ili proturjeje
159 FER \ Fertalj: Razvoj informacijskih sustava 160
Upitnici i ankete
Upitnik (pismeni intervju)
sadri pitanja koja se postavljaju tijekom razgovora (okvirno 20) moe se dostaviti korisniku prije, umjesto ili nakon intervjua nedostaci: ispitanik moe prilagoditi (kontrolirati) svoje odgovore teko je procijeniti iskrenost (spontanost) odgovora moe obeshrabriti ispitanika Primjer: \Analiza\Upitnik
Prouavanje dokumenata
Prikuplja se sve do ega se moe doi
Analiza procesa Opis radnih procedura Tipini dokumenti: opis radnih procedura !?, pravilnici i zakoni Analiza podataka Tipini dokumenti: obrasci (formulari), izvjea Poeljno je da dokumenti budu reprezentativni, tj. popunjeni na tipian nain. Tako se moe ustanoviti koje se informacije i kako unose.
Reprezentativni dokumenti najee ne ukazuju na izuzetke, to jest podatke koji se rjee biljee ali ipak trebaju. Stalno biljeenje nekih podataka ne mora znaiti da su ti podaci stvarno potrebni. Treba prikupiti vie uzoraka iste vrste dokumenta! ( uzorkovanje)
Anketa (inventar)
moe se obuhvatiti vie ispitanika pitanja zatvorenog tipa odgovori i obrada odgovora mogu se standardizirati pogodna za popis resursa Primjer: \Analiza\Anketa-resursi
Intervjuiranje je elastinije!
Pomou intervjua moe se vie saznati o stavovima, osjeajima i motivaciji osoblja. Tijekom intervjua analitiar moe promatrati nain na koji ispitanik odgovara i po potrebi proiriti ili usmjeriti pitanja.
FER \ Fertalj: Razvoj informacijskih sustava 161
Primjeri:
\Analiza\PrimjeriDokumenata\
162
Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design, John Wiley & Sons, 2000
Radne sjednice
Prednosti
Sjednice su pogodne za projekte kojima se rjeavaju problemi vani za itavu organizaciju ili vei dio poslovanja. Izbjegavanje specifinih (egzotinih) i nejasnih zahtjeva Preciznije ustanovljavanje dosega projekta Bolje uoavanje proturjenih zahtjeva
Nedostaci
sadraj i dinamika pasivnost sudionika usitnjavanje razgovora udaljavanje od tema trajanje sjednice bi trebale trajati vie dana (5-10) u nekoliko tjedana ovom zahtjevu u praksi je vrlo teko udovoljiti zbog obveza sudionika otpor sjednici i prateoj izolaciji razmjeran je razini poloaja pojedinog sudionika izraeniji meu korisnicima koji smatraju da je to informatiki posao
Prednosti
analitiar je u stanju realno sagledati poslovni proces uinkovitost, ako se dobro provede pouzdanost prikupljenih informacija, za dobro planirano promatranje
Nedostaci
utroak vremena ometanje i neugoda promatranih osoba mogunost manipulacije promatraa npr. prikrivanjem uobiajenog krenja radnih procedura problem odreivanja duine i uestalosti promatranja informacije dobivene iz malog broja kratkotrajnih promatranja mogu biti nepouzdane
as-is, pooboljanja, as-is, to-be pooboljanja veliki srednji Dubina informacije mali veliki Raspon informacije mali mali Integracija informacije srednje mali Sudjelovanje korisnika srednje mali Troak
as-is, pooboljanja, to-be veliki srednji veliki veliki srednji do velik mali
nepovezanost aplikacija (tzv. informatiki otoci) zalihost i nenormaliziranost modela pojedinih aplikacija loa programska rjeenja (funkcionalnost, ergonomija) nepouzdanost integritet, zatita i sigurnost podataka nepostojanje programske dokumentacije tehnoloka zastarjelost (programski jezici i alati, nemogunost rada u viekorisnikom okruenju, grafiko suelje)
FER \ Fertalj: Razvoj informacijskih sustava 168
167
Razvoj prototipa
Prototipiranje (prototyping)
Koristi se kada korisnik ne moe tono definirati svoje informacijske potrebe prije nego to se izgradi informacijski sustav. Razlog tomu moe biti nedostatak postojeeg modela na kojem bi korisnik zasnivao svoje potrebe ili tea vizualizacija budueg sustava.
Izrada prototipa
Izgrauje se sustav koji zadovoljava neke osnovne, inicijalne potrebe. U radu s takvim sustavom korisnik otkriva svoje informacijske potrebe te se sustav modificira kako bi se zadovoljile te potrebe. Postupak koritenje sustava i modificiranja istog iterativno se ponavlja, a informacijske potrebe korisnika otkrivaju koritenjem sustava.
Analiza sustava
Izrada prototipa pogodna je u onim okruenjima gdje je teko definirati konkretni model sustava te u okruenjima gdje se informacijske potrebe korisnika mijenjaju ili razvijaju.
FER \ Fertalj: Razvoj informacijskih sustava 169 FER \ Fertalj: Razvoj informacijskih sustava 170
Analiza sustava
Analiza sustava, sustavska analiza
Analiza sustava je (1) razmatranje i planiranje sustava i projekta, (2) prouavanje i analiza postojeeg poslovnog i informacijskog sustava te (3) definiranje poslovnih zahtjeva i prioriteta novog ili poboljanog postojeeg sustava. [Whitten et. al, 2000]
Aktivnosti analize
detaljna analiza postojeeg sustava te utvrivanje potreba i zahtjeva Kako radi postojei sustav? Na koji nain ljudi koriste sustav da bi obavili svoj posao? Koji su problemi pri koritenju aplikacija ili uslijed nedostatka aplikacija? detaljna specifikacija zahtjeva na IS Koji su podaci potrebni? Tko ih treba? Kada? Od koga? Tko ih stvara? Koji su izlazni podaci? Kakav im je oblik? Koji su izvori podataka? Na koji nain se podaci prikupljaju i objedinjuju? daljnja razrada granica projekta
Modeliranje sustava
Za potrebe pozadinske analize moe se izraditi shema organizacijske strukture iz koje e biti vidljivo koja osoba ili grupa ljudi obavlja koji dio posla ( Modeliranje funkcija). Za ostale elemente takoer se rade odgovarajui modeli ( Modeliranje procesa, modeliranje podataka)
Primjeri:
Tehnike
Analiza problema (problem analysis) Otkrivanje problema postojeeg sustava i predlaganje rjeenja budueg sustava uz pomo korisnika Poboljanja su mala i inkrementalna (npr. otkrivanje da je potreban izvjetaj koji ne postoji), ali poboljavaju uinkovitost i lakou koritenja sustava Poboljanja poslovne vrijednosti (business value) su mala Analiza uzroka (root cause analysis) Usmjerenost na probleme (simptome), a ne na rjeenja Problemima se dodjeljuju prioriteti te trae svi mogui uzroci Uzroci se analiziraju sve dok se ne utvrdi pravi uzrok Najbolje je analizirati one uzroke koji se pojavljuju kod vie problema
FER \ Fertalj: Razvoj informacijskih sustava 173
Rjeenja:
kreiranje i auriranje naloga na mjestu nastanka (podnositelj) automatizacija postupka odobravanja isplata predujmova putem tekueg rauna
FER \ Fertalj: Razvoj informacijskih sustava 174
Tehnike
Analiza trajanja (duration analysis) Analiza vremena po svim koracima procesa postojeeg sustava Procese koje obavlja vie ljudi istovremeno treba integrirati i paralelizirati
Integracija procesa je mijenjanje glavnog procesa tako da manje ljudi radi na ulazima potrebnim za proces Paralelizacija procesa je mijenjanje procesa tako da se pojedinani koraci procesa izvode istovremeno
Kotanje poslovnih procesa (activity-based costing) Analiza trokova po svim koracima procesa Odreivanje direktnog troka rada i resursa za svaki ulaz Badarenje i usporedba (Informal benchmarking) Prouavanje poslovanja drugih organizacija Predstavljanje novih ideja koje mogu imati dodatnu vrijednost Uobiajeno za procese kod kojih se obavlja interakcija s korisnicima
FER \ Fertalj: Razvoj informacijskih sustava 175 FER \ Fertalj: Razvoj informacijskih sustava 176
Tehnike
Analiza posljedica (outcome analysis) Razumijevanje osnovnih rezultata koji osiguravaju vrijednost za korisnika, procjena to bi se moglo ponuditi krajnjim korisnicima Analiza tehnologije (technology analysis) Analitiari i voditelji razvijaju listu vanih i zanimljivih tehnologija te donose odluke o koristi i primjeni u poslovnim procesima Uklanjanje aktivnosti (activity elimination) Analitiari i voditelji donose odluke za svaku aktivnost unutar poslovnog procesa o mogunosti njenog uklanjanja i posljedicama
178
Nakon preoblikovanja
Preporuke za analizu
Tehnike i pomagala ne znae puno bez ispravnog pristupa.
Postupak analize mora biti prilagoen korisniku. Kljuno je razumjeti sutinu organizacije i nain poslovanja Primjer: \Analiza\ PreporukeZaAnalizu
Paraliza analize
Postupak ponavljanog modeliranja postojeeg sustava i vrednovanja modela moe utroiti znaajno vrijeme na modeliranje neega to e vjerojatno biti izmijenjeno ili zamijenjeno. Ne pretjerivati s modeliranjem postojeeg sustava!
182
Definiranje zahtjeva
IEEE standard definira zahtjeve kao [IEEE Std 610.12-1990]
(1) Uvjet ili sposobnost koje korisnik treba da bi rijeio problem ili ostvario cilj. (2) Uvjet ili sposobnost koji mora posjedovati sustav ili komponenta sustava da bi zadovoljila ugovor, standard, specifikacije ili neki drugi ugovoreni dokument. (3) Dokumentiranu reprezentaciju uvjeta ili mogunosti definiranih pod (1) ili (2).
Inenjerstvo zahtjeva
Zahtjevi ne sadre detalje dizajna, detalje implementacije ili informacije vezane uz planiranje projekta.
Panja se usmjerava na ono TO se eli izgraditi, a ne ulazi se u detalje kako i kada to napraviti.
Za 40-60% pogreaka u projektu uzrok lei u pogrekama napravljenim u fazi postavljanja zahtjeva. [Leffingwell, 1997]
Tipina posljedica su "neispunjena oekivanja" (expectation gap): razlika izmeu onog to oekuje naruitelj i onoga to je izvoditelj mislio da treba napraviti.
Naknadne prepravke mogu predstavljati do 40% trokova razvoja, od ega je 70-85% pripisivo pogrenim zahtjevima [Leffingwell, 1997].
Nepotpuno definirani onemoguuju planiranje projekta i praenje promjena.
184
Vrste zahtjeva
Poslovni zahtjevi (zato)
ciljevi organizacije ili korisniki zahtjevi na vioj razini, opis problema koje treba rijeiti primjer: poslovna potreba, "Poboljanje usluge postojeim klijentima i pridobivanje novih" sadrani u dokumentima u kojima se opisuje vizija i doseg projekta primjer: poslovni zahtjev, "Omoguiti Internet prodaju"
186
Izvoz podataka
Omoguiti izvoz izvjea u Excel formatu
Svojstva vanija korisnicima Dostupnost Uinkovitost Prilagodljivost Integritet Interoperabilnost Pouzdanost Robustnost Upotrebljivost
191 FER \ Fertalj: Razvoj informacijskih sustava
Svojstva vanija razvojnicima Lakoa odravanja Prenosivost Ponovna upotrebljivost Podlonost testiranju
192
Interoperabilnost
Interoperabilnost definira koliko lako sustav moe razmjenjivati podatke ili usluge s drugim sustavima. Procjenjuje se koje druge aplikacije se namjerava koristiti i koji podaci e se razmjenjivati. Npr. "Sustav e moi uitati podatke o transakcijama iz MS Access baze podataka."
Uinkovitost
Uinkovitost je mjera koja govori koliko dobro sustav iskoritava kapacitet procesora, diskovni prostor, memoriju ili komunikacijske strukture. Primjer: "10% procesorskog kapaciteta i 15% memorije sustava e biti raspoloivo za vrijeme maksimalnog optereenja sustava." Potrebno je razmotriti minimalne hardverske konfiguracije.
Pouzdanost
Pouzdanost je vjerojatnost da e se softver u nekom razdoblju raditi bez pogreke. Mjeri se postotkom ispravno izvedenih operacija, trajanjem rada bez pogreaka ili uestalou pogreaka. Treba uspostaviti kvantitativne zahtjeve za pouzdanou s obzirom na veliinu tete u slulaju pogreke i procijeniti da li se isplati maksimizirati pouzdanost. Ukoliko proizvod zadovolji zahtjeve za pouzdanou moe se smatrati isporuivim (s obzirom na pouzdanost) ak i ako je poznato da jo uvijek postoje defekti. Primjer: "Najvie 5 od 1000 kemijskih eksperimenata smije propasti zbog programske podrke."
193 FER \ Fertalj: Razvoj informacijskih sustava 194
Prilagodljivost
Prilagodljivost govori koliko je napora potrebno da bi se proizvodu dodale nove mogunosti. Svojstvo je presudno za proizvode koji se rade inkrementalno ili iterativno.
FER \ Fertalj: Razvoj informacijskih sustava
Upotrebljivost
Upotrebljivost mjeri napor koji treba uloiti da bi se podaci pripremili za unos, obradili i protumaili, to jest lakou koritenja proizvoda (eng. user friendliness).. Procjenjuju se krivulja uenja te mogunost uporabe od strane poetnika odnosno iskusnih korisnika. Sukladnost standardima ili uzoru: "Sve kratice na u izborniku File e biti iste kao i u File izborniku programa XXXX.")
Ponovna upotrebljivost
Ovo svojstvo govori do koje mjere se softverska komponenta moe upotrebljavati u drugim aplikacijama. Razvoj ponovno iskoristive softverske komponente znatno je skuplje od razvoja jednokratno koritene komponente. Ponovno iskoristiv softver mora biti modularan, dobro dokumentiran, neovisan o specifinoj aplikaciji i operativne okoline i donekle openit.
Lakoa odravanja
To je mjera koliko lako je popraviti pogreku ili napraviti izmjenu u softveru. Ovisi o tome koliko lako je razumjeti softver, promijeniti ga i ponovno testirati. Lakoa odravanja se moe mjeriti prosjenim vremenom potrebnim da se rijei problem i postotkom popravaka koji su ispravno obavljeni. Primjer: "Izvjea e biti izmijenjeno u roku od tjedan dana od zaprimanja novih obrazaca za izvjea."
FER \ Fertalj: Razvoj informacijskih sustava 195
Podlonost testiranju
Podlonost testiranju govori o tome koliko lako je testirati softversku komponentu kako bi se pronala pogreka. Oekuje se kod proizvoda sa sloenim logikom obrade te kod proizvoda sa sloenim poveznicama izmeu funkcija. Ovo svojstvo je takoer bitno kod proizvoda koji e se esto mijenjati, da bi se olakalo regresijsko testiranje.
FER \ Fertalj: Razvoj informacijskih sustava 196
Podlonost testiranju
Lakoa odravanja
Interoperabilnost
Meu zavisnost
Prilagodljivost Uinkovitost Dostupnost Integritet
Ponovna isupotrebljivost
Prenosivost
Pouzdanost
Robustnost
Potpunost
Svaki zahtjev mora potpuno opisivati funkcionalnost i sadravati sve informacije potrebne izvoau pri dizajnu i ugradnji funkcionalnosti.
Tonost
Svaki zahtjev mora tono opisivati funkcionalnost koju treba ugraditi. Referenca za tonost je izvor zahtjeva, npr. korisnik ili specifikacija sistemskih zahtjeva. U sluaju da softverski zahtjev nije u skladu sa sistemskim zahtjevom, smatra se netonim. Samo predstavnici korisnika mogu odluiti je li neki korisniki zahtjev ispravno zapisan.
Dostupnost Uinkovitost Prilagodljivost Integritet Interoperabilnost Lakoa odravanja Prenosivost Pouzdanost Ponovna isupotrebljivost Robustnost Podlonost testiranju Upotrebljivost
FER \ Fertalj: Razvoj informacijskih sustava
+ + + + + + + + + + + + + + + + + + + + + + + + + -
+ + + + + + + + + + 197
Ostvarivost (izvodljivost)
Zahtjevi moraju biti izvodljivi s obzirom na sredstva i tehnologiju te ogranienja i okolinu sustava. U prikupljanju zahtjeva trebaju sudjelovati razvojnici, radi procjene to se i kako moe napraviti .
Nunost
Pojedini zahtjev treba sadravati ono to korisnik stvarno treba ili ono to je potrebno radi povezivanja s drugim sustavima ili radi standarda.
Redoslijed po prioritetu
Svakom zahtjevu treba pridijeliti prioritet Kada bi svi zahtjevi bili jednako vani ne bi se moglo mijenjati i replanirati
Nedvosmislenost
Svi se zahtjevi moraju moi na jedinstven nain i konzistentno interpretirati.
Mogunost provjere
Svaki zahtjev treba moi provjeriti zahtjevi koje nije mogue testirati nisu dobro postavljeni.
198
Bolji zahtjev:
"Korisnik e posebno dogovorenom akcijom, odabrati da li e se HTML oznake u trenutno otvorenom dokumentu prikazivati ili ne." Sad je jasno da je rije o HTML oznakama te da korisnik mora obaviti nekakvu akciju, ali nije tono navedeno kakvu (npr. kombinacija tipki), to se preputa dizajnerima.
Primijetiti da u zahtjevu nije detaljno opisano kako e se poruka i gdje ispisivati. To e biti odlueno tijekom dizajna.
FER \ Fertalj: Razvoj informacijskih sustava 199 FER \ Fertalj: Razvoj informacijskih sustava 200
Inenjerstvo zahtjeva
Inenjerstvo zahtjeva
Inenjerstvo zahtjeva dijeli se na: razvoj zahtjeva i upravljanje zahtjevima. Razvoj zahtjeva dalje se dijeli na odreivanje (iznalaenje) zahtjeva (elicitation), analizu, specificiranje i verifikaciju. Ove poddiscipline obuhvaaju sve aktivnosti vezane za prikupljanje, vrednovanje i dokumentiranje zahtjeva.
Inenjerstvo zahtjeva
Bolje:
Nakon to je HTML analizator obradio datoteku generirat e izvjee koje sadri broj retka i tekst HTML pogreaka, te opis pojedine pogreke. Ukoliko nema pogreaka prilikom analize, nee se generirati izvjee.
Razvoj zahtjeva Upravljanje zahtjevima
Odreivanje
FER \ Fertalj: Razvoj informacijskih sustava 201
Analiza
Specificiranje
Verifikacija
202
Upravljanje zahtjevima
Rokovi prihvaanja zahtjeva Pregled promjena zahtjeva i procjena njihovog utjecaja, prije nego to se donese odluka o prihvaanju ili odbijanju promjene Kontrolirana ugradnja prihvaenih promjena zahtjeva. Auriranje plana projekta sukladno promjeni zahtjeva Pregovori o rokovima isporuke ovisno o utjecaju promjena Praenje i povezivanje pojedinih zahtjeva s odgovarajuim izvornim kodom i primjerima za testiranje. Praenje statusa aktivnosti i promjena zahtjeva tijekom projekta
203
204
Zakljuivanje zahtjeva
Prikupljanje zahtjeva zavrava postizanjem (i potpisivanjem) sporazuma o zahtjevima. Vano je da obje strane znaju to potpisuju.
U ranoj fazi projekta nije mogue odmah i detaljno znati sve zahtjeve. Nedvojbeno je da e se neki zahtjevi tokom vremena promijeniti.
Razvojna ekipa ne bi smjela imati stav da se potpisani dokument zahtjeva ne moe kasnije mijenjati !!!
Specifikacija zahtjeva sadri osnovicu zahtjeva, a kasniji zahtjevi ili promjene ulaze u proces upravljanja promjenama.
Primjer:
\Analiza\DOO-Specifikacija
205
Odreivanje zahtjeva
Poslovni zahtjevi
Sve to opisuje financijski, trgovaki ili drugi poslovni probitak koji korisnici, ili organizacija koja razvija sustav, mogu dobiti je najvjerojatnije poslovni zahtjev.
Ogranienja
Ogranienja su uvjeti koji ograniavanju izbor rjeenja raspoloivih projektantu ili programeru. Spadaju u nefunkcionalne zahtjeve. Neka ogranienja mogu pomoi u zadovoljavaju atributa kvalitete. Primjer je poboljanje prenosivosti koritenjem samo standardnih naredbi programskog jezika.
Poslovna pravila
Kada korisnik izjavi da neku aktivnost mogu obavljati samo pojedine osobe ili uloge, pod odreenim uvjetima, on moda opisuje poslovno pravilo. Poslovna pravila su operativni principi poslovnih procesa. Oni nisu funkcionalni zahtjevi.
Funkcionalni zahtjevi
Izjava koja poinje s Korisnik mora moi obaviti neku funkciju, ili Sustav treba moi demonstrirati odreeno ponaanje je najvjerojatnije funkcionalni zahtjev. Funkcionalni zahtjevi opisuju vidljivo ponaanje sustava i definiraju to e sustav raditi. Treba biti svima jasno zato sustav mora biti u stanju obavljati odreene funkcije. Predloeni funkcionalni zahtjevi ponekad predstavljaju zastarjele ili neuinkovite poslovne procese.
Definicije podataka
Definicija podataka je bilo koji opis formata, dozvoljenih vrijednosti, pretpostavljenih vrijednosti ili kompozicija sloenih podatkovnih struktura. Sve definicije bi trebalo pohraniti u rjenik podataka.
Ideje o rjeenju
Ako korisnik opisuje specifian nain interakcije sa sustavom kojom bi mogao obaviti neku akciju, npr. Korisnik odabire podatak koji on eli iz padajue liste, on predlae rjeenje, a ne zahtjev. Predloeno rjeenje moe odvui panju od pravih zahtjeva. Kod postavljanja zahtjeva treba se usmjeriti na ono to je potrebno obaviti, a ne na nain realizacije. Treba istraiti zato korisnik predlae odreenu ugradnju jer to moe pomoi u razumijevanju stvarne potrebe i korisnikovih oekivanja o nainu kako bi sustav trebao raditi.
FER \ Fertalj: Razvoj informacijskih sustava 208
Atributi kvalitete
Izjave koje opisuju kako dobro sustav obavlja funkciju su atributi kvalitete, tj. jedna vrsta nefunkcionalnih zahtjeva. Zahtjeve koji opisuju poeljne karakteristike sustava: brzinu, jednostavnost, intuitivnost, robusnost, pouzdanost, sigurnost i efikasnost treba razmotriti s korisnicima da bi se precizno utvrdilo to oni misle pod tim dvosmislenim i subjektivnim terminima.
FER \ Fertalj: Razvoj informacijskih sustava 207
Analiza zahtjeva
Analiza zahtjeva
Analiza zahtjeva obuhvaa proiavanje, analizu i pomno ispitivanje prikupljenih zahtjeva kako bi bili sigurni da svi sudionici projekta razumiju to zahtjevi znae, a ujedno slui da se pronau pogreke, nedostatci i ostali defekti. Izrada dijagrama konteksta sustava Jednostavni model koji definira ograde i suelja sustava te identificira tok informacija i materijala kroz suelje Izrada prototipova korisnikog suelja model oponaanja kao sredstvo razjanjenja zahtjeva Analiza ostvarivosti zahtjeva procjena trokova, performanci, rizika, konflikata prema ostalim zahtjevima Postavljanje prioriteta odreuje se relativni prioritet implementacije za pojedini sluaj koritenja, svojstvo proizvoda ili drugi zahtjev Modeliranje zahtjeva izrada modela strukture, ponaanja i stanja Izrada rjenika podataka sredinji repozitorij za definiranje podataka i struktura koritenih u sustavu te zajedniku terminologiju
FER \ Fertalj: Razvoj informacijskih sustava 210
Korisnik je sklon preutjeti izuzetke, koji su bitni (nuni !!!) za uspjenu realizaciju, a obino zahtijevaju i najvie napora tijekom ugradnje.
"To je naa jedina procedura (osim kada )"
Postavljanje prioriteta
Nuno svojstvo (must have) - Da li se neto stvarno mora imati?
Postoji tendencija da se previe zahtjeva proglasi nunim! Po definiciji, ako sustav ne ukljuuje nune zahtjeve, taj sustav ne moe ispuniti svoju svrhu. Treba testirati svaki zahtjev koji se smatra nunim i probati ga rangirati. Ako se zahtjev moe rangirati onda nije obvezan! Nuni zahtjevi se ne mogu rangirati jer su potrebni za prvu verziju!
Glagol
"Kemiar ili lan osoblja kemijskog laboratorija moe podnijeti zahtjev za jednom ili vie kemikalija. Zahtjev moe biti udovoljen ili dostavom pakiranja kemikalije koja se ve nalazila na zalihi kemijskog laboratorija ili upuivanjem narudbe za novim pakiranjem kemikalije od vanjskog dobavljaa. Osoba koja upuuje zahtjev mora imati mogunost pretraivanja kataloga kemikalija vanjskog dobavljaa dok sastavlja narudbu. Sustav mora pratiti status svakog zahtjeva za kemikalijama od trenutka kad je ispunjen do trenutka kad je udovoljen ili otkazan. Takoer, mora pratiti povijest svakog pakiranja kemikalija od trena kad stigne u kompaniju do trenutka kad je potpuno upotrijebljen ili odbaen."
FER \ Fertalj: Razvoj informacijskih sustava 211
Primjer, QFD
Navesti u tablici sve zahtjeve (requirements), osobine (features) ili sluajeve koritenja (use cases) za koje se ele postaviti prioriteti. Vei broj elemenata po potrebi hijerarhijski grupirati. Procijeniti relativnu korist (benefit) svakog svojstva za klijenta ili posao u rasponu od 1 do 9, pri emu 1 predstavlja dvojbenu korist, a 9 enormnu vrijednost. Procijeniti relativnu kaznu (penalty) ukoliko svojstvo ne bude ugraeno. Na ljestvici od 1 do 9, 1 predstavlja nepostojanje kazne, a 9 vrlo ozbiljan nedostatak. Pripaziti na zahtjeve koji imaju i nisku korist i nisku kaznu, jer oni pridonose trokovima, a imaju malu vrijednost. Stupac koji predstavlja ukupnu vrijednost je zbroj relativne koristi i relativne kazne pomnoenih s odgovarajuim teinama. Procijeniti relativni troak (cost) implementacije pojedinog svojstva, od 1 (nisko) do 9 (visoko). Razvojnici mogu rangirati trokove na temelju procjena koje ukljuuju sloenost zahtjeva, koliinu rada koje je potrebno uloiti za razvoj korisnikog suelja, mogunost ponovne uporabe koda, obujma potrebne dokumentacije, testova itd. Na slian nain, procijeniti relativni stupanj rizika vezanog uz svako svojstvo od 1 (izuzetno mali rizik) do 9 (ozbiljna zabrinutost oko izvedivosti, problemi s osobljem ili tehnologijom). Uobiajeno je da su korist, kazna i troak jednake teine, no svakom od tih faktora moe se dodijeliti razliita teina.
213 FER \ Fertalj: Razvoj informacijskih sustava 214
IEEE 98
Kovitz 99
Verifikacija zahtjeva
Aktivnosti ovjere osiguravaju da su izjave o zahtjevima precizne, potpune i da demonstriraju eljene karakteristike.
Rel. Rel. Rel. Mogunost korist kazna Vrijednost Vrijednost% troak M1 5 3 13 15.12% 2 M2 9 7 25 29.07% 5 M3 5 5 15 17.44% 3 M4 2 1 5 5.81% 1 M5 4 9 17 19.77% 4 Mn 4 3 11 12.79% 3 Ukupno 29 28 86 100.00% 18
Upravljanje zahtjevima
Upravljanje promjenama podrazumijeva proces za predlaganje promjena i ispitivanje potencijalnih trokova i utjecaja promjena na projekt.
Dokumentiranje zahtjeva
Definicija zahtjeva (Requirements Definition)
izjava o stanju i ogranienjima sustava te potrebama narativni dokument namijenjen korisniku ili ga pie korisnik poslovni i korisniki zahtjevi te njihovi prioriteti uoeni problemi, kljune pretpostavke i preporuke rjeenja
Dokumentiranje zahtjeva
Primjeri:
\Analiza\Firma-Zahtjevi, DOO-Specifikacija \Predloci\SpecifikacijaZahtjeva
FER \ Fertalj: Razvoj informacijskih sustava 220
221
222
Oznaavanje zahtjeva
Uzastopni brojevi
Novi zahtjev dobiva raspoloivi serijski broj (npr. Z01, Z02, ... ). Broj obrisanog zahtjeva ne koristi se ponovno. Nepregledno, teko za pratiti vei broj zahtjeva
Hijerarhijsko numeriranje
Zahtjev u poglavlju 3.2. ima oznaku koja poinje s 3.2., npr. 3.2.4. Vie znamenaka u oznaci oznaava detaljniji zahtjev. Jednostavna i najee koritena tehnika. Ureiva teksta se moe podesiti da automatski dodjeljuje oznake. Znamenke ne govore nita o namjeni zahtjeva. Problem brisanja zahtjeva koje uzrokuje posmak slijednih oznaka. Poboljanje: tekstovne oznake unutar brojanih hijerarhija Primjer: "Poglavlje 3.2. - Funkcije editora", sa zahtjevima u poglavlju oznaenim s "ED-01", "ED-02", itd. Ovaj pristup omoguuje hijerarhiju i organizaciju, oznake su kratke i smislene te manje osjetljive na promjene teksta.
FER \ Fertalj: Razvoj informacijskih sustava 224
223
Potpunost
Nijedan zahtjev ili informacija ne smiju nedostajati. Zahtjeve koje nedostaju teko je uoiti. Razumijevanje poslovnog procesa moe pomoi u sprjeavanju nepotpunosti. Informacije koje nedostaju treba u specifikaciji oznaiti posebnom oznakom (npr. TBD - "to be determined"), te ih razrijeiti prije poetka ugradnje.
Plan i raspored moraju se dinamiki (iterativno) prilagoavati, sukladno poveanju jasnoe opsega i zahtjeva. Prva procjena truda uobiajeno se zasniva na inicijalnoj viziji i dosegu projekta. Rane procjene su nesigurne i treba ih aurirati nakon to zahtjevi budu bolje definirani i/ili shvaeni.
225
226
Minimalistike specifikacije
Tendencija postavljanja minimalnih zahtjeva ili skiciranja koncepta, uz elju da ih izvoai nadopune tijekom izvedbe frustracije izvoaa, neispunjena oekivanja korisnika.
Zanemarivanje potreba
Zanemarivanje potreba odreenih (grupa) korisnika stvaranje 'opozicije' projektu Uvaiti ciljane grupe korisnika, uz objanjenje prioriteta.
Reference
http://www.jiludwig.com/Requirements_Management_Tools.html
4/13
229
Strukturirana analiza
Moderna strukturirana analiza = Logiki dizajn (esti sinonim)
strukturirana analiza strukturirani proces i rezultati analize tehnika modeliranja poslovnih zahtjeva na sustav usmjerena procesima, ali se razvila tako da obuhvaa i podatke strukturiranje procesa, ulaza, izlaza te spremita podataka potrebnih da bi se ogovorilo na poslovne dogaaje logiki modeli odreivanje TO je sustav i TO mora raditi (ne KAKO) koriste se dijagrami toka podataka za logiki prikaz poslovnih zahtjeva nezavisno od tehnikih rjeenja logiki dizajn izraavaju sutinu sustava sinonimi: esencijalni, konceptualni, poslovni modeli ukljuuje odreivanje prioriteta zahtjeva
Postupak dekompozicije
stvarni problemi su preveliki i presloeni da bi ih se rijeilo odjednom (u komadu) strukturno ralanjivanje, rastavljanje naelo podijeli pa s/vladaj (lat. divide et impera, eng. divide and conquer)
Aplikacijski model procesa = logiki model procesa sustava ili aplikacije koji se radi u fazi analize
FER \ Fertalj: Razvoj informacijskih sustava 231 FER \ Fertalj: Razvoj informacijskih sustava 232
Logiki procesi
Funkcija
skup logiki povezanih trajnih poslovnih aktivnosti i zadataka (djelatnost, posao) funkcija se obavlja stalno (nema odreeni poetak i kraj) funkciju obavljaju osobe, grupe djelatnika ili organizacijske cjeline tipini primjeri: prodaja, proizvodnja, otprema, raunovodstvo funkcija se moe sastojati od desetina pa i stotina diskretnih procesa funkcije se mogu hijerarhijski razloiti do razine diskretnih procesa koji obavljaju odreeni zadatak kojim odgovaraju na poslovne dogaaje
Dogaaj
logiki dio posla koji se obavlja kao nedjeljiva cjelina esti naziv transakcija pokree se diskretnim ulazom i zavrava nakon to proces odgovori odgovarajuim izlazom poslovni dogaaj moe se predstaviti jednim procesom kojim sustav reagira na taj dogaaj logiki dogaaj dalje se razlae do elementarnih procesa kojima se prikazuje reakcija sustava na taj dogaaj
Modeliranje funkcija
Funkcionalna dekompozicija, dekompozicija funkcija
koristi se za izradu opeg modela funkcija (modela poslovnih funkcija) promatranog sustava u fazi planiranja strukturirano planiranje hijerarhija funkcija iterativno se razlae do razine procesa, tj. do trenutka kada se pone opisivati to se nekom funkcijom obavlja
0 The System
Elementi
funkcije - oznaavaju se (glagolskom) imenicom, npr. Prodaja, Proizvodnja procesi - oznaavaju se glagolskim izrazom oblika infinitiv+objekt spojnice - spojevi izmeu funkcija i procesa (connector) vanjski spojevi - spojevi s dijelovima dijagrama na drugim stranicama (offpage connector)
1 AFunction
2 Another Function
Funkcija
Task1.1.1
Task1.2.1
Task2.1.1
Task2.2.1
Proces
Task1.1.3
Task2.1.3
Task2.2.3
Task2.1.4
235
236
Nabava
Knjigovodstvo
Prodaja
Naruivanje robe
Knjienje
Fakturiranje
Prodaja robe
Izrada narudbi
Zaprimanje robe
Izrada otpremnica
Otprema robe
Dodavanje
Au riranje
Brisanje
Primjeri:
\Modeliranje\PutniNaloziBlagajna
237
Obraun plaa
FER \ Fertalj: Razvoj informacijskih sustava 238
Dijagram organizacije
Shema, mapa, karta organizacije (Organization chart)
prikaz strukture organizacije hijerarhijom pravokutnika ("kuica") svaki pravokutnik reprezentira odreenu ulogu ili odgovornost u organizaciji
Pravila
svaki proces je roditelj ili dijete roditelj mora imati barem dvoje djece po veini standarda, dijete smije imati samo jednog roditelja
Dekan XXX
Preporuke
izostaviti procese koji samo premjetaju ili preusmjeravaju podatke, a da ih pri tom ostavljaju nedirnute panju usmjeriti na procese koji neto raunaju (npr. prosjek ocjena) donose ili potpomau odluke (npr. odreivanje raspoloivosti robe pri naruivanju) filtriraju ili sumariziraju podatke (npr. rauni kojima je istekao rok plaanja) organiziraju podatke u korisne informacije (npr. generiranje izvjea) pokreu druge procese (npr. mijenjaju modalitet rada stroja) rukuju podacima (npr. stvaranje, itanje, auriranje, brisanje) - Ne pretjerivati!
FER \ Fertalj: Razvoj informacijskih sustava 239
Prodekan za poslovanje
Financijska sluba
Sredinja knjinica
...
...
240
243
244
Tok podataka
Proces
a Vanjski entitet
P1 Proces
Tok materijala
247
248
Proces
predstavlja aktivnost pretvorbe podataka (ulaznog u izlazni tok podataka) procesi se imenuju glagolskim izrazima oblika infinitiv+objekt (npr. Prijaviti ispit) ili glagolskom imenicom (npr. Prodaja, Prijava ispita) nazivom treba izraziti to proces obavlja, to jest treba izbjegavati openite nazive (npr. Obavljanje raunovodstvenih poslova) opis procesa sadri opis aktivnosti (algoritam) njegovog djelovanja
250
Rezultat upita
d Upit
251
252
D4 Rezervacija
Rezervacija D1 lan P5 Traiti video Posudba P2 Posudba D2 Posudba Posuditi video lanska kartica i plaanje Video P3 Vratiti video
FER \ Fertalj: Razvoj informacijskih sustava
lan
P6 Nabaviti video
P1.4 Evidentirati novog lana
lanska kartica
Upit
Rezultat upita
Narudba b
Novi video
Dubinu i uravnoteenost modela teko je odrediti. U praksi to moe znaiti doradu dijagrama u veem broju ponavljanja, ak i kada dijagrame rade iskusni analitiari!!!
253 FER \ Fertalj: Razvoj informacijskih sustava 254
primjer:
a b c b
256
Opisivanje podataka
Rjenik podataka (Data Dictionary)
mjesto pohrane definicija podatkovnih elemenata i struktura podataka strukturirano spremite meta-podataka, to jest podataka o podacima prvotno se pojavio kao proirenje dijagrama toka podataka, za pohranu opisa spremita podataka i tokova podataka moe se koristiti kao alternativna tehnika za prikaz modela podataka standardno se upotrebljava BNF notacija (Backus-Naur Form), koja se inae koristi za opis sintakse programskih jezika
Najmanja logika cjelina podataka
Podatkovni element
Ulazni tok
Yourdon/DeMarco
1 Vanjski entitet Proces Ulazni tok
1 Proces D1 Izlazni tok Spremite podataka
Izlazni tok
Spremite podataka
SSADM
a Vanjski entitet Ulazni tok
Proirenja modela
okida (trigger) - prikaz uestalosti procesa (npr. tri puta dnevno) posebni simboli za prikaz ponavljanja procesa razdvajanje i spajanje tokova (alternativni tokovi) posebni simboli za tok resursa, tok dokumenata ili tok upravljanja (npr. razliite linije ili ikone)
FER \ Fertalj: Razvoj informacijskih sustava 257
Struktura podataka
Tok podataka
Spremite podataka
258
Elementarni procesi
Mini-specifikacije (funkcionalne primitive)
specifikacije za opisivanje osnovnih procesa u dijagramu toka podataka mogu poprimiti razliite oblike, ali imaju nekoliko zajednikih elemenata: naziv i broj procesa listu podataka koji ulaze u proces (ulaznih tokova podataka) listu podataka koji iz procesa izlaze (izlaznih tokova podataka) tijelo opisa procesa
Opis procesa
sadri algoritam zadatka koji se procesom obavlja, koji moe poprimiti razliite oblike ( dizajn programa - opis programske logike) na temelju ovog algoritma moe se, ovisno o alatu, generirati kd
260
Definiranje procesa
Primjer definicije procesa (1)
Proces 1: Opis: Ulazni tokovi: Provjera raspoloivosti filma Provjera da li u videoteci postoji kopija filma koja se moe iznajmiti Upit (Film) Rezervacije Posudbe Izlazni tokovi: Logika procesa: Rezultat upita (raspoloiv | nije raspoloiv | ne postoji) izraunaj broj kopija traenog filma u videoteci ako je broj kopija vei od nule tada ako je broj kopija vei od (broj posudbi + broj rezervacija rezultat = "Raspoloiv" inae rezultat = "Nije raspoloiv" inae rezultat = "Ne postoji"
Definiranje procesa
Primjer definicije procesa (2)
Proces 1: Opis: Ulazni tokovi: Izlazni tokovi: Logika procesa: Provjera raspoloivosti filma Provjera da li u videoteci postoji kopija filma koja se moe iznajmiti Upit (Film), Rezervacije, Posudbe Film nije raspoloiv, Film je raspoloiv izraunaj broj kopija traenog filma u videoteci ako je broj kopija vei od nule tada ako je broj kopija vei od (broj posudbi + broj rezervacija) nastavi s P2 (izl. tok Film je raspoloiv) inae ako lan eli rezervirati film tada upii rezervaciju (izl. tok Film nije raspoloiv) inae poruka "Ne postoji"
261
262
Analiza sustava
aplikacijski modeli procesa - logiki modeli procesa sustava ili aplikacije teorijski, mogue je proizvesti DTP povratnim inenjerstvom postojeih aplikacija, ali e takav dijagram biti preoptereen fizikalnim primjesama
Dizajn sustava
fiziki modeli procesa - dodavanjem upravljakih komponenti i resursa
FER \ Fertalj: Razvoj informacijskih sustava 263 FER \ Fertalj: Razvoj informacijskih sustava 264
Primjeri DTP
novo stanje "Kemiar ili lan osoblja inventorija informacija o katalogu zahtjev za kemikalijom kemijskog laboratorija moe dobavlja a 6. podnijeti zahtjev za jednom ili auriranje stanja zaliha vie kemikalija. Zahtjev moe laboratorija 1. informacija o katalogu biti udovoljen ili dostavom katalog podnoenja dobavlja a dobavlja a zahtjeva za pakiranja kemikalije koja se ve kemikalijom 2. pakiranje nalazila na zalihi kemijskog ispunjavanje kemikalija novo stanje inventorija zahtjeva iz laboratorija ili upuivanjem zaliha laboratorija narudbe za novim pakiranjem zahtjev za informacijom kemikalije od vanjskog dobavljaa. Osoba koja upuuje pakiranje inventorij kemijskog kemikalija laboratorija zahtjev mora imati mogunost laboratorijski pretraivanja kataloga zahtjev zahtjev status dobavlja eve narudbe za kemikalijom kemikalija vanjskog podaci stanje inventorija o promijenama dobavljaa dok sastavlja u inventoriju narudbu. Sustav mora pratiti zahjev za dobavlja evom 5. status svakog zahtjeva za kemikalijom generiranje izvje a o kemikalijama od trenutka kad je 3. 4. stanju zaliha ispunjen do trenutka kad je podnoenje generiranje zahtjeva za izvje a za udovoljen ili otkazan. Takoer, kemikalijom vladu mora pratiti povijest svakog izvje e o pakiranja kemikalija od trena zahjev za dobavlja evom uporabi zahtijev za status kemikalija kemikalijom izvje em o dobavlja eve kad stigne u kompaniju do uporabi kemikalija narudbe trenutka kad je potpuno upotrijebljen ili odbaen." ... Odjel za kupovinu Vladin odjel za sigurnost i zdravlje
pakiranje kemikalija
pakiranje kemikalija
266
Pokrovitelj subvencije
P4
Zatrazena kartica
P2
P1
Vlasnik
CAP
Ustanova
P1.3 Promjena razine prava vlasnika Vlasnik D1 Vlasnik D3 Upis godine D2 Kartica
Kartica
Vlasnik
Nova kartica
Dokumentacija
P3
Restoran
267
268
Dogaaji
Dogaaj
zgoda, zbivanje u sustavu koja vodi ili pokree procese sustava sm dogaaj nije proces, nego okida procesa koji se njime pokree primjer: kupac dostavi narudbu, pokree proces provjere da li se radi o narudbi postojeeg ili novog kupca, proces stvaranja podataka o narudbi i stavkama narudbe, provjeru prethodnih zaduenja kupca, provjeru stanja skladita itd.
Modeliranje dogaaja
270
Vrste dogaaja
Vrste dogaaja
vanjski dogaaji potaknuti od strane vanjskih entiteta, koji zahtijevaju informaciju ili auriranje podataka ulazni tokovi podataka imenuju se tako da naziv sadri naziv vanjskog entiteta primjer: zahtjev za upis studenta ili zaprimanje narudbe kupca vremenski dogaaji - vremenski uvjetovani (rok, uestalost) ulazni upravljaki tokovi imenuju se tako da naziv sadri vremensku oznaku primjer: istek roka plaanja rauna, mjeseni obraun plaa, zakljuivanje ispitnog roka unutarnji dogaaji, dogaaji stanja - posljedica prijelaza sustava iz jednog stanja u drugo, na takav nain ta to zahtjeva obradu ulazni upravljaki tokovi primjer: isporuka robe sa skladita zahtijeva naruivanje nove robe
1. 2. 3.
4.
5.
6. 7.
271
272
1
The System
event 3
event 4
...
Slika: Whitten et.al, Systems Analysis and Design Methods, McGraw-Hill Higher Education, 2000
Event 1
Event 4 Event n
The System
Event n-1
2
Event 3
Event 5
Function 1
Function 2
...
Function n
Event 1
Event 2
Event 3
Event 4
Event 5
...
Event n-2
Event n-1
Event n
2.3
...
2.1 2.4
...
Event 1
...
Event 5
...
Event n
2.2
273
274
Okida
Kako sustav zna da se dogodio dogaaj? Za vanjske dogaaje, ovo su podaci koji ulaze u sustav. Za privremene dogaaje, odreivanje toke u vremenu koja pokree rad sustava.
2. Narudba
Nova narudba
Kupac
Izvor
Za vanjski dogaaj, vanjski uzronik, tj. izvor podataka koji ulaze u sustav
4. Vrijeme za zatraiti izvjetaje o poslovanju 5. Vrijeme za izraditi izvjetaje o transakcijama 6. Kupac, ili uprava, eli provjeriti stanje narudbe Kraj tjedna, mjeseca, godine Kraj dana Napraviti izvjetaje Izvjetaji Uprava
Aktivnosti
to sustav radi u sluaju dogaaja?
Odgovor
Koji/kakav izlaz (ako postoji) izlazi iz sustava
Odredite
Kamo ide odgovor?
Napraviti Izvjetaji o izvjetaje o Ra unovodstvo transakcijama transakcijama Uprava Ispitati stanje ili narudbe Kupac Podaci o narudbi Uprava ili Kupac
276
Primjeri:
\Modeliranje\StrukturiranaAnalizaDizajn
275
Matrica Entiteti/Dogaaji
Matrica Entiteti/Dogaaji Primjer: pojednostavnjena
Entity/Event Matrix, Event/Enquiry, rezervacija sobe u hotelu Proljee Entity Access Matrix pogled na sustav usmjeren dogaajima (event oriented view) matrica sadri: dogaaje (retci) Dogaaj/Entitet entitete (stupci) elemente koji prikazuju uinak dogaaja na entitete privremena rezervacija C/M C
rezervacija sobe zaduenje korisnik soba
Stvaranje: C (create) itanje: R (read) - u nekim metodama se ne biljei Auriranje: U (update) ili M (modify) Brisanje: D (delete)
provjera dovrenosti: svaki dogaaj mora imati uinak na barem jedan entitet svaki entitet mora imati dogaaj koji ga ita, stvara, mijenja ili brie
FER \ Fertalj: Razvoj informacijskih sustava
potvrda rezervacije opoziv rezervacije dolazak gosta poveanje trokova plaanje usluga arhiviranje rezervacije
C/M
C/M M C/M M M D
matrica Korisnik / Proces / X matrica Korisnik / Entitet / CRUD Korisnik pri tome predstavlja grupu korisnika ili ulogu korisnika Ovisno o detaljima ugradnje u fizikom modelu Korisnik moe biti i konkretna osoba
277
278
R R R R RU R R RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R
R R R RU
R RU R
R R
R R R R
R R R R
R R
R R
R R
R R
R R
R R
279
280
Elementi prikaza:
stanje kumulativni rezultat ponaanja nekog objekta (pravokutnik, krug ili elipsa) prijelaz promjena stanja uzrokovana nekim dogaajem (usmjerena linija od jednog stanja prema drugom) dogaaj uvjet promjene stanja i akcija koja se obavlja (opis linije prijelaza oblika dogaaj/akcija)
Primjena
sustavi za rad u stvarnom vremenu (real-time system) jezina analiza (parsing) dizajn korisnikog suelja
FER \ Fertalj: Razvoj informacijskih sustava
D G
I J K
N O P R S T
U X Y
natoeno
FER \ Fertalj: Razvoj informacijskih sustava 283
284
Mape dijaloga
Korisniko suelje u mnogim aplikacijama se moe promatrati kao konani automat.
Jedan element suelja (izbornik, radna povrina, komandna linija ili prozor dijaloga) moe biti aktivan u odreenom trenutku. Korisnik moe doi do ogranienog broja drugih elemenata ovisno o akcijama koje poduzima. Broj putanji kojima korisnik moe mijenjati dijaloge je obino vrlo velik, ali je konaan i mogunosti su najee poznate.
Mape dijaloga
Koristi se notacija dijagrama prijelaza stanja
Uvjet koji pokree korisniku navigaciju prikazan kao tekst na strelicama. Postoji nekoliko vrsta pokretakih uvjeta: Korisnika akcija, kao to je pritisak tipke ili klik na link ili gumb dijaloga Podatkovna vrijednost, npr. pogrean unos koji izaziva poruku o pogreci Sistemski uvjet, kao to je signal da je pisa ostao bez papira Kombinacija navedenih, npr. tipkanje opcije iz menija i pritisak na tipku Enter
285
286
Mape dijaloga mogu prikazati Alternativne putove (npr. naruiti od dobavljaa) koji odstupaju od uobiajenog puta (kemikalija iz zaliha). Opcionalne putove (npr. Pregled povijesti pakiranja) Potvrda da je Posebna stanja (npr, poruke o pogrekama) otkai zahtijev
primljen
podnijeti zahtjev za >0 kemikalija Trenutna lista zahtjeva odaberi dobavljaa i dodaj u listu otkai dodavanje kemikalije
Povijest pakiranja
287
Strukturirani dizajn
Strukturna karta
Strukturna karta (Structure Chart)
modeliranje programske podrke na temelju dijagrama toka podataka dijagram toka podataka prikazuje TO treba postii strukturnom kartom izraava se KAKO ostvariti zahtjeve prikaz hijerarhije programskih modula koji ukljuuje prijenos podataka i upravljanja izmeu razliitih razina obrade prikaz slijedne, ponavljajue i uvjetne obrade elementi prikaza:
podatak (dat a couple)
289
290
Strukturna karta
Primjer, izvjee o poslovanju tvrtke Tajkun & ortaci
datum Sustav izvjea o prodaji zbir zbir Uzmi datum Zapii izvjee Ispii zbir
Transformacijska analiza
Transformacijska analiza (transform analysis)
analiza promjene/pretvorbe podataka primjenjiva na sustave koji imaju strukturu oblika ulazsredite-izlaz, tj. aplikacije s jasno raspoznatljivim ulazima, sredinjom obradom i izlazima, koji se daju prikazati linearnim tokom podataka
sredite
1 C
izlazi
2 I 3
datum
zbir
zbir
ulazi
System
C C I
datum datum
zbir
Uspjeh
Katastrofa
Struktura dizajna prikladna za ovakve sustave sastoji se od tri odgovarajua elementa (ulaz, obrada, izlaz), tj. podsustava:
Get C, koji pribavlja podatak C C I, koji obradom pretvara podatak C u podatak I Put I, koji ispisuje rezultat I
Raunaj zbir
Get C
CI
Put I
1
291 FER \ Fertalj: Razvoj informacijskih sustava
3
292
Transakcijska analiza
Transakcijska analiza (transaction analysis)
analiza izvrenja/obavljanja obrade primjenjuje se na sustave sa jasno raspoznatljivim sreditima izvrenja (transaction centre), tj. sustave u kojima se donosi odluka o tome koji e se proces koristiti za pretvorbu ulaza u izlaze (npr. interaktivne aplikacije) ulaz se usmjerava nekom od modula obrade, a pojedini izlazi se kasnije koriste u daljnjoj obradi
Umreeni procesi
Ostale strukture
sustavi koji nisu ni transformacijski niti transakcijski obrauju se na poseban nain najee se oblikuju plonim razlaganjem glavnog procesa u sastavne procese nadreeni proces mora pribaviti sve ulaze potrebne za obavljanje pojedinih podreenih procesa te prikupiti i uvati proizvedene rezultate obrade
Primjer,
sredite zaprima ulaz B, koji se usmjerava (kao B1, B2 ili B3) u odgovarajui proces (3, 4 ili 5) rezultirajui podatak (C1, C2 ili C3) koristi se kao izlazni tok C.
3 B1 2 B B3 5 C1 C2 B2 4 C3 6 C
BC
B3 B1 C1 B2 C3 C2
Primjer
strukturna karta za DTP razloen plonom dekompozicijom
D C 7 E F 9 H 8 G 10 I
E C F F G E H I D
CI
7
5
293 FER \ Fertalj: Razvoj informacijskih sustava
10
9
294
Sloeni sustavi
Stvarni sustavi primjena kombinacija osnovnih postupaka
3 B1 2 B 1 A Get C
E C B B C F F G E H I I D
Primjeri
\Modeliranje\StrukturiranaAnalizaDizajn
primjer strukturiranog oblikovanja
C1 C2 6 C3 C 7
D F E
G 10 I 11 J 12 K
B2 B3
4 5
C
\Modeliranje\KakoRazmiljajuPoslovniLjudi
Izvor: Howard Smith - The Third Wave of Business Process Management
System
I C I
CI
Put I
H
7 2 and 6: BC
B B1 C1 B2
10
J
Get B
A A
8
B3 C3 C2
11: I J
J K
Put J
K
Get A
1: A B
12: J K
Put K
295 FER \ Fertalj: Razvoj informacijskih sustava 296
Kako razmiljaju poslovni ljudi Stranka Upravljanje narudbama Skladite Proizvodnja Isporuka
Slanje narudbe
Provjera skladita Lista artikala Provjera artikla PI Raspoloivost artikla Artikl nije raspoloiv Da Zahtjev za proizvodnju
Zahtjev za isporuku
Odobrenje narudbe
Odbijanje narudbe
ZP
Ne
Provjera skladita Raspoloivost artikla Raspoloivost narudbe Potvrda narudbe Da Potvrda narudbe RN Raspoloivost narudbe Potvrda narudbe Ne Obustava narudbe CO PN Zahtjev za isporuku Definiranje prijevoznika Datum isproruke DI Datum isporuke Obustava narudbe Da Potvrda narudbe
, ???
Isporuka RA
Ne
Raspoloivost artikla ZI
Narudba za isporuku
Definiranje prijevoznika DP
297
Modeliranje podataka
Modeliranje podataka (Data modeling)
tehnika organiziranja i dokumentiranja podataka sustava sinonimi: modeliranje baze podataka (podaci se najee pohranjuju u BP) modeliranje informacija (openitije)
5/13
Vrste modela
Konceptualni
najee model entiteti-veze poslovni pogled na podatke zanemaruje nekritine detalje uglavnom sadri znaajne entitete i veze "vie prema vie" moe sadravati vane atribute i kljueve
Model entiteti-veze
Model entiteti-veze
model baze podataka koji opisuje entitete (pojavnosti, instance), njihove atribute i veze. "The entity-relationship model: toward a unified view of data", P.P. Chen, ACM Transactions on Database Systems 1:1 pp 9-36, 1976. za prikaz se koristi dijagram entiteti-veze (Entity-Relationship Diagram, ERD naziva se jo i dijagram objekti-veze (izbjegavati!) postoje razliite notacije, npr. Chen, Martin, ... ne postoje jednoznani standardi postupka izrade
0,1 Mjesto Zanimanj e NadJed 1,1 1,N PodJed 0,N Stanuj e Osoba 1,N Zaposlen 1,N Or gJed 0,M Proizvodi Pri pada
Logiki
relacijski (najee), postrelacijski, objektno-relacijski uobiajeno podlijee relacijskoj teoriji podrazumijeva potpuno normalizirane entitete (samo veze jedan prema vie) potpuno definirani atributi i njihove domene (logike tipove vrijednosti) potpuno definirani kljuevi
0,N
Fiziki
logiki model preveden u model model podataka za odabrani SUBP ukljuuje stvarne tipove, indekse, poglede, ugradnju referencijskog integriteta te fizike parametre (podatkovni prostor, volumetrija)
FER \ Fertalj: Razvoj informacijskih sustava 301 FER \ Fertalj: Razvoj informacijskih sustava
NS 0,1
1,1 0,N 1,1 Racun 1,1 Proi zvod 1,1 1,1 RacStRac OdnosiSeNa ES Di o 0,N Cj elina
0,M
Sastav
0,N
1,N 0,N
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
302
Entiteti
Entitet (entity)
Stvar koja se moe zasebno identificirati [P. Chen, 1976] Logika reprezentacija podatka [C.Finkelstein, 1989] Bilo to o emu pohranjujemo informaciju [J.Martin, 1989]
Atributi
Atribut - predstavlja neko obiljeje, znaajku entiteta
sinonimi: svojstvo (property), element, polje (field) po vrijednostima koje predstavljaju, atributi mogu biti: jednostavni atributi (simple attribute) - vrijednost atributa je pojedinani podatak,
primjer: Prezime, Ime
Primjeri entiteta:
osoba, npr. Kit Karson objekt, npr. video zapis Prohujalo s vihorom apstraktni pojam, npr. hrvatski jezik ili iskustvo (poznavanje jezika) ustanova (FER), organizacija (Hotel Proljee) ili organizacijska cjelina (Ured za istraivanje ruda i gubljenje vremena) dogaaj (situacija, stanje) - npr. roenje, kolovanje, zaposlenje, smrt povezanost razliitih objekata stvarnog svijeta, npr. srodstvo
sloeni, sastavljeni atributi (compound/composite/concatenated attribute, data structure) - vrijednost je ureena n-torka jednostavnih atributa
primjer: datum = (dan, mjesec, godina)
s obzirom na pohranu vrijednosti, atributi mogu biti: atributi pohrane (stored attribute) izvedeni atributi (derived attribute) - vrijednost temeljem vrijednosti drugih atributa
primjer: starost = (DananjiDatum-DatumRoenja)
Kljuevi
Klju (key) ili identifikator
atribut ili skup atributa koji (svojim vrijednostima) jednoznano identificira svaki od entiteta u nekom skupu entiteta mora se sastojati od bar jednog atributa jednostavan klju primjer: OSOBA = @JMBG + Prezime + Ime moe se sastojati od vie atributa sloeni, sastavljeni, ulanani klju primjer: MJESTO = @ifraDrave+@ifraMjesta +... moe postojati vie kandidata za klju primjer: Valuta.ifraValute (385), Valuta.KraticaValute (HRK) nakon odabira (primarnog) kljua, ostali mogui kljuevi postaju alternativni kljuevi (alternate key) Primjer,
SifMjesta
PostBr
NazMjesta
IdOsobe
Prezime 1
Ime
Ulica
Mjesto
Osoba
Adresa
N
KBr
Telefon
305
306
Veze
Veza (relationship)
pokazuje odnos izmeu entiteta analogno entitetima, pojedinana veza uspostavlja se na razini instanci entiteta, a veze se grupiraju u skupove veza (relationship sets) kada se ne razmatraju instance, pojam veza podrazumijeva skup veza moe izraavati ulogu entiteta koje povezuje imenuje se glagolom ili glagolskom imenicom
Mjesto MjestoStan
Stanuje Stanovnik
Osoba
gornja granica (kardinalnost) moe biti pozitivni cijeli broj ili znak (npr. N) veze su dvosmjerne pa se kardinalnost definira za svaku stranu veze stil oznaavanja: donja,gornja kao donja..gornja, pr. 0,N kao 0..N
307 FER \ Fertalj: Razvoj informacijskih sustava 308
Mjesto
1,1
Stanuje
0,N
Osoba
OrgJed PodJed
Pripada
konkatenirani entitet (concatenated entity), kompozitni entitet (composite entity) binarna veza M:N, npr. Proizvodi ternarna veza ili veza stupnja >3, npr. Zaposlen veza o kojoj se eli pohraniti podatke (veza s opisnim atributima), pr. Sastav
0,N
OrgJed
0,M
Proizvodi
0,N
Proizvod
Zanimanje 0,N
OrgJed
0,M
Proizvodi
0,N
Proizvod
Zaposlen
OrgJed
0,N
DatPoc
DatZav
310
309
Agregacija
Agregacija (aggregation) - agregacijska veza
sinonim: agregacijski entitet (aggregate entity) veza koja sudjeluje u vezama s drugim entitetima poimlje se kao apstraktni entitet u nekim metodama oznaava odnos cjelina-dio
Specijalizacija/Generalizacija
Generalizacija/Specijalizacija - takozvana "jest" veza (is a)
odnos nekog entiteta (nadtip) i njegovih posebnosti (podtip) nadtip (supertype) - generalizacija podreenih, sadri zajednike atribute podtip (subtype) - pecijalizacija nadreenog, sadri svojstvene atribute potpunost generalizacije: djelomina ne mora se specijalizirati potpuna mora se specijalizirati specijalizacija moe biti: neekskluzivna - Osoba u isto vrijeme moe biti i Djelatnik i Suradnik ekskluzivna - Proizvod je Igla ili Avion, ali ne istovremeno uvjetovana umirovljenici su samo osobe preko N godina
Osoba 1,1 Proizvod 1,1 ES
N N N
N 1
0,1 Djelatnik
NS
0,N Suradnik
0,1 Igla
0,1 Avion
312
311
Identifikacijska veza
definira identifikacijski slabi entitet - entitet koji se ne identificira samostalno, tj. entitet koji nema vlastiti klju, nego se njegov klju tvori od kljua jakog entiteta i (opcionalno) vlastitog atributa (deskriptora), pr. StavkaRacuna Primjer, identifikacijska veza i identifikacijski slab entitet
1,1 Racu n Ra cStRac 1,N Stavka Ra cun a
0,N
1,1 0,N 1,1 Racun 1,1 Proi zvod NS 1,1 1,1 RacStRac OdnosiSeNa ES Di o 0,N Cj elina
0,M
Sastav
0,1
0,N
1,N 0,N
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
315
316
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
Partner
ISA
Tvrtka
Djelatnik
ISA
Korisnik
319
Konceptualni model postane logiki u trenutku kada sadri samo veze 1:N s definiranim stranim kljuevima ili se takve mogu jednoznano generirati
Odluke o konanom dizajnu donose se tijekom pretvorbe konceptualnog modela u relacijski Logiko modeliranje podataka
321
322
Zanimanje Drzava ifrarnik drava Obavljanje srodnih poslova odreene struke, kao i drugih odgovaraju ih poslova
Mjesto Jedinica lokalne samouprave (op ina ili grad) RadnoMjesto Funkcija zaposlenika prema pravilniku o unutranjem redu
323
324
Stranka VrstaOrgJed IdStranke NazStranke TipStranke TipStranke Kontakt IdOsobe (FK) VrstaKontakta TipStranke TekstKontakta Zanimanje
TipOrgJedinice OpisOrgJedinice
Djelatnik IdDjelatnika (FK) SifDjelatnika BrojIskaznice Korisnik Zaporka IdStruke (FK) SifSpreme (FK) Svjedodzba IdZvanja (FK) DrzavniIspit StrucniIspit DatPrvogZaposlenja StazUkupno DatZaposlenjaMZOPU StazMZOPU NapomDjelatnik IdRadnogMjesta (FK)
OdgovornaOsoba
DrzavaRodjenja NadJedinica
MjestoPrebivalista
NazMjesta (IE2.1) TipMjesta PostBr SifDrzave (FK) StariNazMjesta SifMjesta IdNadCjeline (FK) NadCjelina RadnoMjesto IdRadnogMjesta IdOrgJedinice (FK) NazRadnogMjesta KratRadnogMjesta BrIzvrsitelja Popunjeno IdSluzbenMjesta (FK) Poslovi Uvjeti
SredisteZupanije
326
327
Atributi
kardinalnost 0 opcionalna vrijednost (null) kardinalnost 1 zahtijevana vrijednost (not null) kardinalnost N vieznani atribut (npr. Osoba.Telefon) atribut atribut, npr. Osoba.Prezime izvedeni atribut atribut pohrane ili se izostavlja, npr. Osoba.Staz sloeni atribut atribut (grupiranjem), npr. (dan, mjesec, godina) datum
Osob a IdOsob e Prezim e Im e Adres a DatRo d Staz
IdOsob e Prezim e Im e Te lefo nNaPosl u Tele fonKo dKuce Mobil niTe lefo n Adres a DatRo d Staz
329 FER \ Fertalj: Razvoj informacijskih sustava
Osoba
330
Pretvorba kljueva
Kljuevi
klju primarni klju, npr. Osoba.IdOsobe, Mjesto.SifMjesta alternativni klju indeks nad jedinstvenim vrijednostima (unique index) + oznaka zahtijevane vrijednosti (not null), npr. Mjesto.PostBr
331
332
identifikacijski slabi entitet nasljeuje klju jakog entiteta spojni klju (compound key), npr. StavkaRacuna (BrRacuna, SifProizvoda, JedCijena, Kolicina)
ili
kompozitni klju (composite key), npr. StavkaRacuna (BrRacuna, RbrStRac, SifProizvoda, JedCij, Kolicina)
Racu n BrRac DatRac IdOsobe <FK> IznosRac StavkaRac BrRac <FK> Si fProizvoda <FK> Jed Ci j Koli cin a Pro izvo d SifProi zvod a NazProi zvod a Je dCijen a TipProi zvod a
Stavka Ra cun a BrRac <FK> RbrStRac Si fProizvoda <FK> Je dCijen a Koli cin a
FER \ Fertalj: Razvoj informacijskih sustava 333 FER \ Fertalj: Razvoj informacijskih sustava 334
Pretvorba specijalizacija
Specijalizacija nadtipa u n podtipova n binarnih veza
nadtip (jaki) entitet, kojemu se po potrebi odreuje klasifikacijski atribut, npr. Proizvod.TipProizvoda podtip (identifikacijski) slabi entitet, npr. Igla, Avion, Djelatnik, Suradnik
1,1 NS
0,1 Djelatnik
0,N Suradnik
Osoba
Zaposlen
OrgJed
Proizvod 1,1 ES
0,1 Igla
0,1 Avion
DatPoc
DatZav
335
336
Zaposlen IdOsobe <FK1> Si fOrgJed <FK2> SifZanim <FK3> DatPoc DatZav KoefPlace
337
338
Provjera modela
pripaziti na sinonime (razliite nazive istih objekata) pripaziti na homonime (jednake nazive razliitih objekata) provjeriti sumnjive i redundantne veze i po potrebi ih ukloniti (oprez!) uklanjanje neke od paralelnih veza uklanjanje veza koje se daju izvesti iz drugih (tzv. trijade) - pripaziti na kardinalnost veza u lancu ukloniti balansirane veze 1,1:1,1 (ukoliko je mogue!) pripaziti na nebalansirane veze 0,1:1,1 (zavisnost entiteta) cirkularne reference izbaciti izvedene atribute mogui gubitak informacije o potrebnim izvedenim/izraunatim poljima
DrzavaOsoba Osoba IdOsobe Prezime Ime IdDrzave (FK) IdMjesta (FK) MjestoOsoba Mjesto IdDrzave (FK) IdMjesta NazMjesta PostBr DrzavaMjesto
Osoba
OID Ime prezime Drava Mjesto Enter Text Enter Text Id. drave Id. mjesta Naziv drave Naziv mjesta
340
339
Razlozi za udruivanje
jednostavniji dohvat podataka ubrzanje upita
Razlozi za razdvajanje
NadCjelina
uteda diskovnog prostora utjecaj na fiziki raspored podatka tablice u vezi 1:1 s prevelikim brojem stranih kljueva
341
342
343
344
UML ...
345
346
ifarski sustav
Serijske ifre
brojevi koji se slijedno pridjeljuju svakoj novo dodanoj instanci entiteta u modernim SUBP mogu se generirati uz opcionalna ogranienja primjer: SQL Server IDENTITY [ ( seed , increment ) ]
Blok ifre
ifarski sustav
slino serijskim iframa, s tim da su serijski brojevi grupirani prema znaenju primjer satelitskih TV kanala: 100-199 PAY PER VIEW, 200-299 CABLE CHANNELS, 300-399 SPORT, 400-499 ADULT, 500-599 MUSIC-ONLY, ...
Alfanumerike oznake
Odreivanje kljueva
ogranieni skup znakovnih oznaka, esto kombiniranih s brojevima primjer, oznake drava: HR, DE, IT, SI
Hijerarhijski kodovi
podjela u grupe, podgrupe itd.
348
Primjeri ifrarnika
Primjer, studentska prehrana
Pravilnikom o studentskoj prehrani propisan je status upisa potreban za ostvariranje prava na subvencioniranu prehranu. Npr. mora biti upisan u tekuu akademsku godinu na redovnom studiju ili studiju za osobne potrebe.
ifra statusa R P U V L O Opis statusa redovan studij paralelni studij studij uz rad vanredni studij paralelni studij s pravom prehrane studij za osobne potrebe Pravo prehrane DA NE NE NE DA DA
B. C. D. E.
jedinstveni broj u meunarodnom kartinom poslovanju (IIN) uvijek 601983 i prema meunarodnom standardu ISO/IEC 7812 na jedinstven nain identificiraju Studentsku karticu u meunarodnom sustavu kartinog poslovanja oznaka vrste kartice (1 znamenka) npr: 1 - student i 4 - privremena kartica redni broj kartice koju je student dobio (1 znamenka) JMBAG (10 znamenki) Kontrolna znamenka (1 znamenka),
350
349
Primjer: IPISVU
ifre djelatnika kao redni brojevi, honorarci oblika 9999* dobavljai iz dravne riznice, nadopunjeni vlastitim
Ugaanje i (de)normalizacija
351
Normalizacija
Normalizacija
postupak strukturiranja sheme relacijske baze podataka tako da se ukloni to vie neodreenosti (zalihosti) stupanj normalizacije poveava se od 1NF do 5NF veina dizajnera zaustavlja se na 3NF ili na BCNF (Boyce-Codd NF)
Denormalizacija
Denormalizacija - postupak dovoenja (redukcije) baze podataka u niu normalnu formu
Ne smije se mijeati s pogrekom nedovoenja u jau normalnu formu, tj. loim dizajnom (bad design)
Razlozi za denormalizaciju
poboljanje performanci, npr. ubrzanje upita eliminacijom vanjskih spajanja pad performanci meutim moe biti uzrokovan loim dizajnom, pa bi u tom sluaju denormalizacija mogla dovesti do jo veih problema ! olakanje pristupa nekim podacima koje je komplicirano dohvatiti
Denormalizaciju treba obaviti samo tamo gdje je to stvarno nuno i na takav nain da ne ugroava integritet podataka
Terapija Uinak
Ime Pacijenta
Adr Pacijenta
Ime Kirurga
Naz Operacije
odravanje redundancije podataka zahtijeva aplikacijsko upravljanje integritetom podataka koje je "skupo"
353
354
Preporuke za denormalizaciju
Poznavati vlastitu bazu podataka
kako je logiki strukturirana te kako ju aplikacije koriste poznavanje frekvencije obrade podataka
(umjesto denormalizacije)
Postavljanje indeksa
primarni i strani kljuevi implicitno indeksirani postaviti indekse nad najee koritenim poljima, tj poljima koja se koriste za grupiranje, sortiranje ili selekciju uz uvjet (ubrzanje pretraivanja) ako su kljuevi sloeni pretraga e raditi brzo uglavnom po prvom polju po potrebi postaviti dodatne indekse nad preostalim poljima ukloniti indekse prigodom masovnih obrada podataka, pa ih kasnije vratiti
Uklanjanje nul-vrijednosti
Indeksi ne pomau u sluaju nul-vrijednosti
opisna polja - zahtijevana vrijednost + pretpostavljena vrijednost
PK UI
FK
357
358
"isti" dizajn
Takozvani isti dizajn dosljedna ugradnja nadomjesnog kljua sa samopoveavajuim vrijednostima u sve tablice baze podataka
Prednost: pojednostavnjenje ugradnje Nedostatci: umnoavanje kljueva (nadomjesni primarni, originalni alternativni) nepreglednost izvornog stranog kljua
primjer: umetanje Valuta.IdValute (serial 876) ispred OznValute (string HRK) za posljedicu ima, npr. Dokument.IdValute umjesto Dokument.OznValute
359
360
Uvoenje zalihosti
Dodavanje atributa za vrijednosti koje se daju izraunati iz drugih
atribut pohrane za izvedenu vrijednost koja se moe izraunati agregatnom funkcijom, na primjer: iznos dokumenta kao suma iznosa stavki oznaka zbirnog stanja kada se vrijednosti pojedinih stanja nalaze u tablici s velikim brojem zapisa (stanje skladita, saldo na raunu)
NadJedinica Ustanova
FER \ Fertalj: Razvoj informacijskih sustava 362
Meta-modeliranje
363
Meta-modeliranje
Meta-modeliranje = modeliranje podataka o podacima
oznaka "meta" oznaava viu razinu apstrakcije metapodaci su podaci o podacima metamodel je model za opisivanje drugih modela
Pohrana meta-modela
Meta-model model modela Meta-baza baza podataka za pohranu modela
rjenik podataka, repozitorij, riznica
Primjene
Definiranje i odravanje baze podataka Generiranje aplikacija, generiranje podataka, generiranje meta podataka, ... Dinamika prilagodba aplikacije podacima, supstitucija slinih tablica, ...
Rjenik podataka dio SUBP s podacima potrebnim za upravljanje bazama podataka, kao to su definicija strukture, evidencija dozvola, ...
365
366
367
368
Koritenje rjenika
Primjer:
CREATE PROCEDURE ap_CountALL AS DECLARE @tablename varchar(30) DECLARE @sql varchar(75) DECLARE cu_names CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' OPEN cu_names FETCH NEXT FROM cu_names INTO @tablename WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN SELECT @sql = 'SELECT ''' + @tablename + ''', COUNT(*) FROM ' + @tablename EXEC (@sql) END FETCH NEXT FROM cu_names INTO @tablename END DEALLOCATE cu_names GO
Domain DomName TypeName DomLen DomDec Case Just DataMask ValRule Field Required Index Serial Virtual SN
Key Field SN
Form Field FormName FFldName SN FormFldId VarRow VarCol VarWdth VarHght Label LabRow LabCol LabWdth LabHght
369
370
Meta-modeliranje aplikacije
Prednosti
Pojednostavnjivanje modela Smanjenje broja objekata
(>>
ForEach Fld Where Fld.EntName=sEnt.EntName -> sFld << >> Print sFld.Fldname, " "; ...
Nedostatci
Oteano razumijevanje Problem preslikavanja realnih objekata u objekte metamodela
CREATE TABLE Drzava ( OznDrz CHAR(2) NOT NULL, NazDrz CHAR(25) NOT NULL, PRIMARY KEY (OznDrz) CONSTRAINT pk_drzava ); ...
371
372
P la n
v ez a Os ob a Os ob a na dok ume ntu Do kum ent Doga dj aj na dok ume ntu Doga dj aj
P ra vn a os ob a
Fi zi ck a os ob a
S as ta vn ic a s re ds tv a
S re ds tv o
S voj s tv o s re ds tv a
373
374
Narudzb eni ca
P l an
Igla Avion
P rav na oso ba
Fi zic ka oso ba
Se sti um Moni tor Stampac S kener Osnov no Teh nic ko Vrsta sre dstva S voj stvo
F117 F117
Sjedala Dolet
1 6578
S re dstvo
to s tipovima vrijednosti ?
375 FER \ Fertalj: Razvoj informacijskih sustava 376
Primjer meta-podataka
Definiranje dokumenata, modeliranje poslovnih pravila
FER \
SELECT Artikl.SifArt, Artikl.NazArt, SUM(StavkaDok.Kolicina*VrstaDok.PredMat) FROM Dokument INNER JOIN VrstaDok ON Dokument.VrDok=VrstaDok.VrDok INNER JOIN StavkaDok ON StavkaDok.IdDok = Dokument.IdDok INNER JOIN Artikl ON StavkaDok.SifArt = Artikl.SifArt WHERE VrstaDok.PredMat <> 0 AND Artikl.IdeSklad <> 0 AND Dokument.DatSklad IS NOT NULL AND Dokument.DatStorno IS NULL 379 BY Artikl.SifArt, Artikl.NazArt Fertalj: RazvojGROUP informacijskih sustava
380
NarodnoIme IdNarodnogImena: int NazNarodnogImena: varchar(128) IdJezika: varchar(2) PodrucjePrimjene: varchar(255) IdReference: int Klasa IdKlase: int NazKlase: varchar(128) NazKlaseHR: varchar(255) KratKlase: varchar(64) Objavljeno: varchar(255) OpisKlase: text IdKategorije: varchar(2) StatPodatka: varchar(2) IdNadKlase: int Vrsta IdVrste: int ImenaLat: varchar(255) KratVrste: varchar(64) OznVrste: varchar(64) Objavljeno: varchar(255) Endem: bit IdAlohtone: varchar(16) OpisVrste: text OpisPodrijetla: varchar(4000) RasprostVrsteWR: varchar(4000) RasprostVrsteEU: varchar(4000) RasprostVrsteHR: varchar(4000) OpisUzrokaUgroze: varchar(4000) OpisMjeraZastite: varchar(4000) LocusTipicus: varchar(4000) OpisIshrane: varchar(4000) OpisRazmnozavanja: varchar(4000) CestocaObilje: varchar(4000) IdUcestalosti: int StatPodatka: varchar(2)
SinonimKlase IdSinonimaKlase: int IdSinonima: int IdKlase: int IdTipaSinonima: smallint IdOsobe: int DatVazenja: datetime OpaskaSinonimaKlase: varchar(255) FER \ Fertalj: Razvoj informacijskih sustava IdReference: int
381
382
Zadaci
Zadaci za razgibavanje
ER model videoteke (lan, Posudba, Rezervacija, Video) Na posudbu se plaa zakasnina
[neke] Reference
Great News - The Relational Model is Dead
http://www.wiscorp.com/SQLStandards.html http://www.tdan.com/view-articles/5093
Mapping Objects to Relational Databases ER model cjenika u restoranu brze prehrane Razliite cijene samostalnog proizvoda i proizvoda u paketu
http://www.ambysoft.com/essays/mappingObjects.html
Domaa zadaa
ime crtati ?
http://www.ibm.com/developerworks/rational/library/content/03July/2500/2785/2785_u ml.pdf
383
384