OBLIKOVANJE I Napomena IMPLEMENTACIJA z Materijali u ovoj prezentaciji predstavljaju INFORMACIJSKIH SUSTAVA pomoćni radni materijal za svladavanje gradiva na predmetu Oblikovanje i implementacija IS-a. Sadrže dijelove koji se Prof.dr.sc. Josip Mesarić moraju revidirati i nadopuniti uz dozvole Mag.oec. Dario Šebalj citiranih autora i izvora.

OIIS -2013/14 OIIS -2013/14

Predmet Sustav za ocjenjivanje

z Nastava z Aktivnosti koje će se bodovati: z Prisustvovanje predavanjima: max:15 x 2= 30 z 2 sata predavanja + 2 sata vježbe z Aktivnost na nastavi: max: 6 x5 = 50 z Predavanja z Obavljene vježbe i zadatci: min=60, max=120 z Vježbe: Objektno orijentirano modeliranje - UML z Pismeni ispit na računalu min=110, max=200 z Seminarski rad: max=100, min=60 z Seminar: Opcionalno za višu ocjenu - projektna z Ukupna ocjena: min=150,max=300 dokumentacija za realni/ zamišljeni poslovni sustav z Raspon ocjena: Teme 160 - 190 = 2 >190 – 230 = 3 Obrazac >230 – 270 = 4 >270 – 300 = 5

OIIS -2013/14 OIIS -2013/14

Kriteriji za ocjenjivanje projektne dokumentacije Primjeri IS-a za seminar

z Identifikacija i originalnost problema z Poslovna funkcija z Knjiženje ulaznih računa z Postavljanje cilja z Knjiženje izlaznih računa z Izbor analitičkog postupka i izvedba analize z Formiranje financijskih izvješća z Prikupljanje podataka i analiza zahtjeva z Blagajničko poslovanje z Skladišno poslovanje z Model funkcija poslovnog procesa z Isporuka robe z Model procesa z Call centar z Model podataka z Banka..... z Marketing IS z Model događaja z IS turističke agencije z Model organizacije z CRM z Model programa z SCM z Arhitektura z Bolnički IS za zaprimanje pacijenata z Prijedlog izvedbe z IS kladionice.....

OIIS -2013/14 OIIS -2013/14

1 Materijali i informacije z Materijali z Literatura z Majdandžić, Niko: Izgradnja informacijskih sustava proizvodnih poduzeća, Slavonski Brod : Strojarski fakultet, 2004. ISBN 953-6048-25-6 z Ćerić, Vlatko, Varga Mladen: Informacijska tehnologija u poslovanju, Element, Zagreb, 2004, ISBN 953-197-640-6 z Pavlić, Mile: Razvoj informacijskih sustava, Zagreb : Znak, 1996. ISBN 953- 180:004.6 z Pavlić, Mile: Informacijski sustavi, Školska knjiga, Zagreb, 2011, ISBN 978-953- 0-30882-4 z Cassidy, Anita. A Practical Guide to Information Systems Strategic Planning, OBLIKOVANJE I IMPLEMENTACIJA IS-A Second Edition, AUERBACH; 2 edition (October 14, 2005) ISBN-10: 0849350735 ISBN-13: 978-0849350733 z Gupta, Uma: Inforamtion Systems, Succes in 21. century, Prentice Hall, London, OSNOVE SISTEMSKE TEORIJE 2000. ISBN 0-13-010857-X z Ostali izvori uz pojedina poglavlja z Konzultacije z e-mail: [email protected]

OIIS -2013/14 OIIS -2013/14

SUSTAV: definicije SUSTAV: Opće karakteristike Neke definicije sustava: 1. Sustav je skup; cjelina dijelova, komponenata odnosno elemenata 2. U datom se kontekstu mogu definirati granice između sustava i okoline z Sustav je skup različitih stvari, (komponenata 3. Među njegovim dijelovima uspostavljaju se različite veze – interakcije odnosno elemenata) koje zajedno mogu 4. U njemu postoji kontinuirani i cikličan proces transformacije ulaza u izlaze 5. Sustav ovisi o kontinuiranom prilivu materije, energije i informacija da bi proizvesti rezultat koji ne može postići njegov dio opstao odnosno sveo stanje svoje entropije na minimum, ili komponenta sama (Maier and Richtin) – 6. Homeostatičnost ili težnja k određenim stabilnim stanjima, 7. Svrhovitost odnosno definirane ciljeve (teleološko načelo) 8. Svojstvo ekvifinaliteta donosno sposobnosti da kombinacijom različitih ulaza postigne svoje ciljeve 9. Diferencijacija odnosno tendencija razvijanja strukture (elemenata i odnosa z Načelno, sustav je skup ili tvorevina stvari među njima), 10. Sinergija – rezultat funkcioniranja sustava (objekta) je više od rezultata (objekata, elemenata) čije se ponašanje iskazuje sume funkcioniranja njegovih dijelova zasebno u zajedništvu tih stvari (Murray Cantor) važno

OIIS -2013/14 OIIS -2013/14

SUSTAV - konceptualni prikaz SUSTAV: struktura i funkcija

filteri z Strukturu sustava čine komponente sustava, položaj jedne komponente u odnosu na drugu i u odnosu na Informacijski cjelinu te veze među njima. Između pojedinih Informacijski komponenti sustava veze se mogu uspostaviti neposredno ili posredno preko drugih komponenata. U L A Z I A U L Materijalni Materijalni z Pod funkcijom sustava podrazumijevamo svrhu

Energetski Z I A I Z L postojanja sustava, ulogu koju sustav ima u svojoj Energetski okolini i način ostvarivanja svrhe. Funkcija sustava proizlazi iz stajališta promatranja. Iz jasno definirane Granica sustava i okoline funkcije sustava utvrđuju se njegove komponente i njihovi međuodnosi (struktura). (Pavlić) Elementi Podsustav OIIS -2013/14 OIIS -2013/14

2 SUSTAV: kontrola i upravljanje SUSTAV: kontrola i upravljanje sustavom sustavom

Povratna veza (utjecaj na ulaz i u sustav, povratna Negativna povratna veza (povratna informacija) je informacija) je skup aktivnosti kojima se kontrolira i mijenja utjecaj na sustav koji će korigirati faktore u funkcioniranje sustava kako bi se postigao željeni cilj (izlazi) procesima i podsustavima te kvaliteti ulaza koji sustava. uzrokuju greške. Negativna povratna veza ima za cilj da smanji fluktuaciju oko izlaza, tako da veličina izlaza zadovoljava postavljeni standard.

ULAZProces Proces Proces IZLAZ 1 2 n Pozitivna povratna veza je utjecaj na sustav koji Sustav uzrokuje da se kod procesa koji su dali željeni rezultat postigne daljnje povećanje tako da sustav Kontrola izlaza Povratna veza brže ili jače ponavlja svoju funkciju. iz sustava Izvor: Pavlić, http://www.

OIIS -2013/14 OIIS -2013/14

SUSTAV – problem SUSTAV: Arhitektura sustava kompleksnosti z Arhitektura predstavlja strukturu, dinamiku, Kompleksnost sustava proizlazi iz: funkcije i načine njihove izgradnje i z Prirode, broja i odnosa među elementima realizacije. z Razina upravljanja z Mora obuhvatiti sve razine promatranja z Ciljeva i njihovih odnosa (kontekst, koncept, logiku, fiziku i potrebne razine detaljiziranosti) a istovremeno z Organizacije i dinamike sustava odgovoriti na pitanja: tko, što, zašto, kako, z Sudionika kada i gdje z Procesa i tehnoloških osnova

OIIS -2013/14 OIIS -2013/14

SUSTAV: okvir za razvoj Okviri za razvoj (arhitektura) (arhitekture) kompleksnih sustava

Dvo- i višedimenzijske matrične strukture u z Mnoštvo okvira za razvoj arhitektura za različite vrste kojima dimenzije opisuju: sustava z Primarno su razvijani za razvoj informacijskih sustava z Razinu promatranja (pogled) z Mnoštvo izvedenica – postaju okviri za razvoj poslovnih sustava i drugih kompleksnih sustava općenito z Sudionike (Tko), z Pretežito dvodimenzijske strukture koje u osnovi z Sredstva (materijalna i informacijska) (Što) predstavljaju metamodele za razvoj sustava z Procese i funkcije (Kako) z Mogu se ujedinjavati u višedimenzijske arhitekture z Nisu modeli z Ciljeve i motive (Zašto) z Ćelije i područja ćelija matrice određuju izbor modela i z Gdje (prostornu raspoređenost i veze) metoda za njihovo oblikovanje z Kada (vremenski raspored i tajming)

OIIS -2013/14 OIIS -2013/14

3 Konceptualne dimezije Tko, što, zašto, kako, kada, arhitektura gdje izgrađuje i oblikuje IS z Okviri: daju logičku klasifikaciju i organizaciju z Tko: uloga pojedinca, organizacijskih cjelina i kompleksnih informacija njihovih odnosa u oblikovanju sustava z Arhitektura: identificira organizacijske strukture kao z Što: informacijski entiteti i objekti, podatci i odnosi sistemske komponente i odnose, principe i upute među njima kojima se treba voditi u oblikovanju i evoluciji kroz z Zašto: ciljevi i odnosi među njima, pravila pod kojim vrijeme sustav funkcionira; motivi sudionika na pojedinim z Životni ciklus: serija stanja u procesima razvoja razinama arhitekture z Kako: koji se procesi funkcije moraju uključiti z Perspektiva: točka motrišta pojedinih sudionika z Kada: koji se događaji javljaju u oblikovanju sustava z Motrišta: skup perspektiva s kojih se opisuje sustav z Gdje: na kojim prostornim i organizacijskim z Apstrakcija: pojednostavljena reprezentacija ili opis lokacijama će se sustav oblikovati i implementirati i motrišta koje se uzima za modeliranje arhitekture kako će se ostvariti veze Izvor: Osvalds, G.: Enterprise Arcitecture Reference Cube, EACOE, 2008

OIIS -2013/14 OIIS -2013/14

Tko, što, zašto, kako, kada, Primjeri okvira za arhitekturu gdje oblikuje i izgrađuje IS sustava: Zachman architecture Zašto Kako Što Tko Gdje Kada (Motivacija) (Procesi) (Sredstva) (Uloge i (Mjesta, (Tajming – odgovornosti) komunikacija početak – z U kojem kontekstu i distribucija) trajanje – završetak) z Na kojim konceptualnim osnovama Kontekst Lista Lista Lista Organizac. Lista Lista (Poslovni Ciljeva procesa materijala Cjelina i lista geograf. događaja z Na kakvim logičkim postavkama model) uloga lokacija Koncept Odnosi Model Entitet – Model Lokacijski Model z Na kakvoj fizičkoj osnovi (Sistemski među procesa odnos organzacije i model događaja model) ciljevima model uloga z Do koje razine detaljiziranosti Logika Dijagrami i Dijagram Model Dijagram Lokacijski Dijagram pravila procesa dijagrama odnosa dijagram događaja (Poslovna podataka uloga logika) Fizička Specifikacija Specifikacija Specifikac. Specifikacija Specifikacija Specifikacija Osnova pravila procesa Podatkov. uloga lokacije dogđaja funkcija entiteta (Tehnologija) Detalji Detalji Procesni Detalji Detalji uloga Detalji Detalji OIIS -2013/14 (Detaljna pravila detalji podatakaOIIS -2013/14 lokacije događaja reprezentacija)

Primjeri okvira za arhitekturu sustava: Zachman architecture Pravila za korištenje okvira

Pravila z Kolone nemaju određen redosljed z Svaka kolona ima jednostavan temeljni model z Svaki redak predstavlja jedinstveni pogled – perspektivu na sustav koji se razmatra z Kombinacija ćelija u jednom retku predstavlja kompletan opis perspektive tog retka z Svaka je ćelija jedinstvena u pogledu modela i prikaza z Logika je rekurzivna

OIIS -2013/14 OIIS -2013/14

4 Konceptualna razrada - biblioteka

z Odnosi među ciljevima – detaljna analiza ciljeva sudionika: biblioteka: dovoljan broj bibliotečnih jedinica; max. Prihoda od članarine, minimiziranje troškova; korisnik: raspoloživost bibliot. Jedinica, dovoljan period posudbe z Razrada procesa na sve aktivnosti i definiranje podatkovnih jedinica: zaprimanje zahtjeva za članstvo, učlanjivanje, posudba, vraćanje, obračun zakasnine, produživanje posudbe, naručivanje knjiga, obrada ponuda, pribavljanje knjiga, uvođenje u evidenciju, slaganje u police, posuđivanje, rashodovanje. Podatci: korinsik – član, članska iskaznica, djelatnik u biblioteci i njegovi podatci, knjige i njihovi podatci, posudbe i podatci, rezervacije i podatci DODATAK z Odnosi među podatcima – logički model entiteta i odnosa z Identifikacija svih sudionika i njihovih aktivnosti s vremenskim ograničenjima i KORIŠTENJE OKVIRA U uvjetima: aktivnosti voditelja biblioteke, bibliotekara, potencijalnog korisnika, člana biblioteke OBLIKOVANJU I IZGRADNJI IS-A z Raspored radnih mjesta, mjesta kontakta, uređaja i veza među njima z Analiza događaja koji pokreću procese i rezultati procesa koji pokreću nove događaje npr. zahtjev za učlanjenje, upit o raspoloživosti, rezervacija, posudba, povrat, naplata Konceptzakasnine…Odnosi Model Entitet – Model Lokacijski Model OIIS -2013/14 (Sistemski među procesa OIISodnos -2013/14 organzacije model događaja model) ciljevima model i uloga

Primjer korištenja okvira u izgradnji informacijskog sustava Poslovna logika z Opis poslovnih pravila – tko i pod kojim uvjetima može postati član, Kontekst: Biblioteka dokumentacija potrebna za članstvo, načini rezerviranja građe, opis poslova z Lista ciljeva: Pribavljati i posuđivati bibliotečni materijal bibiliotekara, pravila za posudbu (rokovi, produžeci, kazne, pravila za obračun zakasnine, pravila za traženje ponuda, pravila za izbor z Procesi: Evidentirati članove, Raditi posudbe, Pribavljati knjige dobavljača…. z Detaljna analiza svih procesnih koraka i radnih tokva s opisom podataka z Lista materijala: članovi, bibliotečne jedinice, posudbe, koji se prikupljaju, čuvaju, pretražuju, ispisuju na zaslonu, pisaču, koriste za nabavke označavanje z Organizaciske cjeline i lista uloga: odjel nabave, odjel z Opis svih podatkovnih entiteta i njihovih atributa, ključeva i odnosa posudbe, rezervacije z Detaljna analiza uloga pojedinih sudionika, opis alata i uređaja, opis z Lokacije: biblioteka 1, biblioteka2 programskih rješenja za pojedine sudionike z Nabaviti knjigu, Evidentirati novu bibliotečnu jedinicu, z Prikaz detalja razmještaja uređaja, opis mreže i uređaja te protokola učlaniti člana, rezervirati knjigu, posuditi knjigu, evidentirati z Detaljan opis slijeda događaja i uvjeta grananja aktivnosti, prekida i tokova povratak

Kontekst Lista Lista Lista Organizac. Lista Lista Logika Dijagrami i Dijagram Model Dijagram Lokacijski Dijagram Ciljeva procesa materijalaOIIS -2013/14 Cjelina i geograf. događaja pravila procesa dijagramaOIIS -2013/14 odnosa dijagram događaja (Poslovni (Poslovna model) lista uloga lokacija podataka uloga logika)

Fizička osnova – specifikacija Detaljna razrada – programskog rješenja i baze implementacijsko rješenje

z Specifikacija pravila u konkretnom programskom rješenju s z Raščlanjivanje programa na cjeline – module i definiranje pravila i konkretnim programskim jezikom i bazom podataka ograničenja na programske module i bazu podataka z Detalji programskog rješenja do razine programske naredbe z Način povezivanja programskih modula z Detaljna specifikacija podataka s pravilima za očuvanje integriteta, z Izrada kompletne sheme podataka, normalizacija, Mapiranje modela domene i tipovi podataka, implementacija na izabrani SQL podataka na izabranu bazu podataka z Uloga programskih modula do razrade aktivnosti na sučeljima i z Definiranje sučelja za unos, pohranu pretraživanje i izvještavanje automatizmima pojedinih programskih rješenja z Oblikovanje programskih rješenja za pojdeine sudionike i uređaje z Programski zadatci u konkretnom programskom rješenju koji z Razrada događaja na razini programskog rješenja (automatizmi, aktiviraju druge procese i njihova manifestiacija nad podatcima i upiti, pokretanje modula) programskim sučeljima

Fizička Specifikacij Specifikacij Specifikac. Specifikacij Specifikacij Specifikacij Detalji Detalji Procesni Detalji Detalji Detalji Detalji Osnova a pravila a procesa Podatkov. a uloga a lokacije a dogđaja funkcija entitetaOIIS -2013/14 (Detaljna pravila detalji podatakaOIIS -2013/14 uloga lokacije događaja (Tehnologija) reprezentacija )

5 Što nedostaje u okvirima za Modeli za razvoj sustava izgradnju? z Svaka ćelija može imati vlastiti model za z Slijed aktivnosti razvoj arhitekture z Performanse postignuća ciljeva z Aspekt ima skup modela z Kriteriji izbora z Modeli bliskih ćelija su međusobno povezani

OIIS -2013/14 OIIS -2013/14

Informacijski sustav – Informacijski sustav – definicija – ontološko načelo teleološko načelo

Informacijski sustav je sustav koji čine z Informacijski sustav se razmatra s aspekta ljudi, programska i računalna oprema svrhe kojoj služi u datom kontekstu. Tipični koja je napravljena, oblikovana i kontekst uključuje poslovne sustave, državne dovedena u operativno stanje te služi ustanove, neprofitne organizacije (škole, biblioteke i druge…) ili može biti tehnološki skupljanju, zapisivanju, spremanju i proces ili neki drugi ograničeni kontekst u pronalaženju te prikazivanju informacija u organizaciji. odgovarajućem obliku (Kiš, 2002). z (http://www.cs.kau.se/~gustas/student/em/paperonEMapproach.pdf)

OIIS -2013/14 OIIS -2013/14

Zahtjevi koji se postavljaju Dijelovi IS pred (informacijske) sustave

IS predstavlja skup povezanih dijelova, i to: z Funkcionalnost – spsobnsot sustava da osigura korisniku i ostalim sustavima postizanje poslovnih potreba z Ljudi (analitičari, dizajneri, programeri i poslovni korisnici, z Korisnost : lakoću pristupa svim sistemskim funkcijama upravitelji…), z Održivost: lakoću dodavanja novih funkcionalnosti z IT (hardver, strojevi, mreža, alati, softver …), z Skalabilnost: sposobnost da se koristi od strane povećanog broja z Procedure (pravila, propisi, ograničenja, znanja, korisnika, povećanog broja podataka i rastućih zahtjeva metodologija …), z Pouzdanost i raspoloživost: vjerojatnost da će sustav raditi ispravno uključujući i zahtjeve sigurnosti z Podataka i informacija različitih pojavnih oblika na različitim nositeljima podataka podesnih za prihvat, obradu, z Performance: očekivano vrijeme odgovora na zahtjev u slučaju pohranu, pretraživanje i distribuciju odgovarajućeg opterećenja kapaciteta z Kapacitet: očekivani broj korisnika i broj podataka koji se može obraditi z Programa kojima se procedure mogu dovoljno dobro u jeidnici vremena opisati i izvoditi nebrojeno mnogo puta (prvenstveno u z Osiguranje potpore: lakoća dobivanja usluge u određenom polju svrhu automatizacije) (proizvodnji, financijama i sl.) z Organizacija (hijerarhija, mjesta odlučivanja, linije kontrole z Minimiziranje troškova uvođenja sustava i izvještavanja, odgovornost, raspodjela posla, timovi…) z Smanjenje operacionih troškova – troškova funkcioniranja sustava

OIIS -2013/14 OIIS -2013/14

6 Nužnost “poravnavanja” PS i Koncepti i metode povezivanja IS PS-a i IS-a

“Dobro definiran PS «ulaz» je u IS. Cilj modeliranja IS-a jest načiniti projekt IS- z Uvođenje i primjena IS-a može biti uspješno a – razraditi 3 cjeline: model POSLOVNI SUSTAV samo onda ako je razvoj IS-a usklađen sa informacijskih procesa, model podataka (PS) i model resursa. Poslovni i informacijski Način strategijom razvoja poslovnog sustava. Zahtjevi procesi nisu isti. Model IS-a nam realizacije pokazuje kako treba, organizirati Ovakav pristup naziva se strateškim informacijski sustav da on stvarno daje INFORMACIJSKI SUSTAV (IS) planiranjem razvoja IS-a. potporu PS-u. IS mora biti neovisan i neopterećen od bilo kakve konkretne Način Zahtjevi z za to postoji više mogućnosti kao što su: ICT tehnologije.” realizacije Izvor:http://www.foi.hr/studiji/dodiplomski/IS/kolegiji/uis/nast z strateško poravnanje PS-a i IS-a, avni_materijali.html ICT IZVEDBA z strateško planiranje IS-a i z metoda CoBIT.

OIIS -2013/14 OIIS -2013/14

Strateško poravnanje PS-a i IS-a Strateško poravnanje PS-a i IS-a Tehnologija Strategija koristi podržava strategiju PS tehnologiju z Osnovna ideja Poslovna strategija Organizacijska zrelost PS-a Uloge IS-a baziranog na ICT-a u jest uskladiti z tehnička razina, PS-u: potrebe PS-a s z potpora poslovanju, z potpora aktivnostima u mogućnostima vrijednosnom lancu, IS-a. podržava Strateško poravnanje koristi z strateško upravljanje i z integracije vrijednosnog lanca, z učenje i organizacijski razvoj z poboljšanje poslovnih procesa promjena opsega poslovanja

IS Strategija Izbor strategije

IS ne uspjeva nedovoljno strategija podržati PS korišten IS IT Strategija operativne potpore – strategiji operativne potpore odgovara uloga IS kao (IS deficit) (IS suficit) potpora aktivnostima lanca stvaranja vrijednosti.

IT strategija Strategija integracije poslovanja – njoj odgovara uloga IS kao integratora lanca stvaranja vrijednosti. Izvor:http://www.foi.hr/studiji/dodiplomski/IS/kolegiji/uis/nastavni_materijali.html Strategija stvaranja organizacijske vrijednosti – u organizacijama koje primjenjuju strategiju stvaranja organizacijske vrijednosti IS mora (s obzirom na zrelost svojih mogućnosti) biti na razini strateškog upravljanja. OIIS -2013/14 OIIS -2013/14

BSP- bussiness system planning Strateško planiranje IS-a PS IS Ciljevi Ciljevi IS-a i PS-a procjena učinaka z Metode i metodike strateškog planiranja IS-a down -

Organizacija op Informacijski T z Najstarije BSP metoda i Rockard-ova analiza, PS-a Bootom-up procesi nakon kojih je nastao čitav splet drugih metoda i Poslovni procesi Izvedba IS-a modela kao što su: u PS-u putem ICT z Earl model, End-Means, CSF analiza, 5F-metoda, Baze Klase podataka podataka i SWOT, BCG itd. za potrebe PS-a aplikacije z A. Cassidy načinila je praktični priručnik za strateško

planiranje IS-a. Osnovna Dio koji arhitektura IS-a z pokriva BSP Također, i pojedine metodike razvoja IS-a kao što su metoda Model strukture IS-a SPIS, SSADM, MIRIS, ARIS, CASE*Method i druge, Izvor:http://www.foi.hr/studiji/dodiplomski/ omogućavaju izradu strateškog plana IS-a. IS/kolegiji/uis/nastavni_materijali.html

OIIS -2013/14 OIIS -2013/14

7 Ostale metode strateškog Ostale metode strateškog planiranja IS-a planiranja IS-a

SSADM (Structured Systems Analysis And Design z Metodika MIRIS (Metodika za razvoj IS-a) Methodology) sastoji se iz sljedećih 7 faza: z 1. Studije izvedivosti, sastoji se od dvije temeljne faze projektiranja: z 2. Ispitivanja postojećeg stanja, logičkog i fizičkog oblikovanja, koje se dalje z 3. Moguće izvedbe poslovnog sustava, dijele na po 3 koraka. Logičko oblikovanje z 4. Definiranja zahtjeva, čini strateško planiranje IS-a, glavni projekt i z 5. Moguće tehničke izvedbe sustava, izvedbeni projekt, dok je fizičko oblikovanje z 6. Logičkog oblikovanja sustava i izvedba programske potpore, uvođenje i z 7. Fizičkog oblikovanja sustava. http://en.wikipedia.org/wiki/SSADM primjena te održavanje. http://www.comp.glam.ac.uk/pages/staff/tdhutchings/chapter4.html http://www.ogcio.gov.hk/eng/prodev/es3.htm z http://www.ris.hr/page.php?id=4

OIIS -2013/14 OIIS -2013/14

Ostale metode strateškog planiranja IS-a Literatura

CASE*Method se sastoji od 6 faza: z Mark W. Maier and Eberhardt Rechtin, The z strategije, Art of Systems Architecting (second edition), CRC Press, 2000, p 8. z analize, z Murray Cantor, Rational Unified Process for z oblikovanja, System Engineering, Part 1, z izgradnje + dokumentiranja, http://www.therationaledge.com/content/aug_ z uvođenja i 03/f_rupse_mc.jsp z primjene IS-a http://www.sei.cmu.edu/legacy/case/case_whatis.html http://www.cs.queensu.ca/Software-Engineering/tools.html

OIIS -2013/14 OIIS -2013/14

Modeli i modeliranje

z “Modeliranje se može definirati kao čin predstavljanja nečega , obično u manjem obujmu ili sa manje detalja. Uz upotrebu alata za modeliranje (npr. poslovnih procesa) modeliranje se može shvatiti kao čin grafičke reprezentacije poslovnih procesa ili softvera. Model tako kreiran može se koristitit za određene aspekte sustava koji se predstavlja modelom (podatci, dokumenti, komunikacija). Studija modela omogućava uvid u razumijevanje modeliranog sustava”. (Enterprise Architect) OBLIKOVANJE I IMPLEMENTACIJA INFORMACIJSKIH z Model – pojednostavljena slika stvarnosti u kojoj se ističu najvažnija SUSTAVA svojstva te stvarnosti z Opis stvarnosti (konstrukcija modela) može se izvesti različitim “jezicima” – izražajnim sredstvima MODELI I METODE ZA RAZVOJ z U tom opisu trebala bi postojati izomorfija – jednoznačno preslikavanje svojstava iz modela u svojstva iz stvarnosti INFORMACIJSKIH SUSTAVA z U tom opisu uvijek dolazi do gubitka informacija i podataka

OIIS -2013/14 OIIS -2013/14

8 O čemu treba voditi računa O čemu treba voditi računa kod modeliranja kod modeliranja z Vrijednost modela ovisi od konzistentnosti, obilja i točnosti z Ulazno izlazna preslikavanja nemaju u toku dužeg vremenskog podataka koji se koriste u konstrukciji modela, perioda invarijantan karakter z Izbor ključnih varijabli ovisi o osobnim procjenama, ciljevima, z Dinamika i struktura objekta kao i relacije s okruženjem mijenjaju opsegu problema, ekonomiji modeliranja, se tijekom vremena a tako i granice sustava s okruženjem z Jake statističke veze među varijablama ne znače i jaku uzročno z Ne postoje objektivni kriteriji da se utvrdi koji atributi sustava su posljedičnu vezu mjerljivi a koji nisu, z Relevantnost modela za budućnost sustava koji je modeliran je z Poslovni sustavi su sustavi s nedestruktivnom memorijom – suštinski problem modeliranja; vrijednost modela određena je evolucijski sustavi, što znači da je prošlost integralni dio objekta; inherentnim hipotezama, oni sa svakim novim stanjem generiraju nove oblike ponašanja, z Model će predstavljati osnovu za akciju z Poslovni sustavi su anticipativni objekti, što znači da će akcije z Predviđanja nisu nikad bezgrešna i modelar mora prepoznavati i koje se predviđaju za budućnost snažno utjecati na odluke u ocijeniti odstupanje od realnosti pri izboru alata za modeliranje sadašnjosti, z Kada je jedanput izabran model, tada rješavamo model a ne z Poslovni sustavi su sustavi u kojima se mogu identificirati brojne stvarnost; implementacija ubrzo pokazuje kvalitetu modela povratne sprege, što znači da ponašanje sustava ovisi od (Izvor: Godet, M: Scenarios and strategic management, Butterworths, London, 1987.) njegove vlastite dinamike.

OIIS -2013/14 OIIS -2013/14

Metode i metodologija Uloga metodologije

Metoda – ukupnost procedura koje dovode do rješenja modela Cilj metodologija z omogućiti sustavni postupak razvoja kojem će se moći pratiti napredak Zahtjevi za metodom: z Jednostavnost i lakoća korištenja, z uspostaviti komunikaciju između sudionika uključenih u izgradnju IS z Koncepcijska osnova i matematički aparat koji se primjenjuje za rješavanje modela, (poslovodstvo, korisnici, analitičari, programeri …) z Generalnost metode – sposobnost metode da obuhvati različite klase i strukture, z osigurati skup tehnika koji će omogućiti da se zadaci izvršavaju na z Snaga metode – sposobnost dolaženja do konačnog rješenja za dati tip zadatka, standardne i provjerene načine z Višekriterijalnost – sposobnost metode da rješava model s različitih aspekata, z osigurati učinkovit nadzor sa ciljem uočavanja pogrešaka u ranim fazama z Bliskost pravila izbora čovjekovom misaonom procesu, omogućiti elastične promjene poslovanja i tehnologije (npr. Odvajanjem z Način tretiranja neizvjesnosti i uključivanja vjerojatnosti u model analize i oblikovanja) Metoda mora zadovoljiti: z Opće kriterije (originalnost, uopćenost) z uokviriti razvojnu strategiju kojom će se ukloniti ad hoc rješavanje problema z Sintaktičke kriterije (jasno formuliranje pojmova, unutrašnja neproturječnost, sklad nalaza z odrediti ili ukazati kada i u kojoj mjeri je potrebno uključivanje korisnika, te izvedenih dedukcijom), poticati i omogućiti uključivanje korisnika kada se za to ukaže potreba z Semantičke (izdiferenciranost pojmova, mogućnost emprijske interpretacije pojmova, homogenost) z osigurati da se dovoljno pažnje posveti analizi poslovanja, čime će se z Ontološke kriterije (znanstvena objektivnost i sklad s općim karakteristikama objektivne osigurati izrada sustava koji odgovara poslovanju i zahtjevima korisnika stvarnosti) (Izvor: http://www.zpm.fer.hr/courses/pis) z Kriterije spoznajne vrijednosti (sklad informacija i hipoteza i mogućnost emprijske verifikacije istinitosti informacija) (Izvor: Ackoff, L.R.: Scientific method, J.Willey&Sons, New York, 1965)

OIIS -2013/14 OIIS -2013/14

Vrste modela u modeliranju IS-a Povjesni razvoj modela Modeli poslovnih z Modeli za pristup razvoju informacijskih sustava. Određuju: sustava z Faze u izgradnji sustava Modeli poslovnih z Dinamiku izgradnje Modeli informacijskih pravila z Modeli strukturnih elemenata i strukturne analize. Određuju: -Proširenje Sustava z Strukture sustava s različitih aspekata obujma z Strukturalne odnose Modeli (baza) Sudjelovanje i -Standardizacije z Konceptualni modeli. Određuju: podataka razumijevanje z Domenu (kontekstni model, informacijski model, model ciljeva i funkcija, sistemski Istraživanja model, model sudionika i njihvoih uloga) zajedničkih 2005 z Obuhvat Pročišćavanje i okvira z Modeli aspekata s kojih se promatra IS. Određuju: Pionirski proširivanje 90-e Domenski specifični z Model podataka modela “Ontološki modeli” z Model funkcija i procesa radovi 80-e i jezici z Model događaja Obrazovanje korisnika i z Model resursa 70-e sudjelovanje u projektima z Model programa Aspekt Formalizacija z Integrativni modeli – objedunjuju modele strukturnih elemenata i konceptualne 60-e vemena vs neformalizacija modele (strukturalni modeli – s osnovom na relacijskim bazama i objektno orijenirani modeli temeljeni na UML notifikaciji) Izvor: Janis A. Bubenko jr, A Historical Perspective on Conceptual Modelling: from Information Algebra to Enterprise z Metamodeli navedenih modela i modelskih podsustava Modelling and Ontologies, Royal Institute of Technology, Stockholm, Sweden, [email protected],

OIIS -2013/14 OIIS -2013/14

9 Tehnike i alati za opis modela z Jezične strukture prirodnog jezika z Pseudojezici (pseudokod) z Grafički prikaz s dogovorenim Modeli za pristup razvoju informacijskih sustava. (standardiziranim) skupom simbola i notacija Faze u izgradnji sustava za pojedine aspekte sustava Dinamiku izgradnje MODELI FAZA RAZVOJA – ŽIVOTNI CIKLUS RAZVOJA

OIIS -2013/14 OIIS -2013/14

Životni ciklus razvoja sustava (SDLC- systems development life cycle) SDLC – definicija U.S. Department of Justice (DOJ)

SDLC je “sistemski pristup rješavanju problema kroz faze koje z sadrže više koraka”. Ovisno o konceptu (prirodi sustava) to može Systems Development Life Cycle (SDLC) biti: ili ponekad (SLC) definira se kao software z Software development life cycle development process, iako se može shvatiti z ISDLC- information system development life cycle z PDLC – project development life cycle kao proces neovisan o softveru ili razmatranju IT-a. Koriste ga sistem analitičari z Osigurava slijed logičkih faza i njima pripadajućih koraka za za razvoj IS a uključuje analizu zahtjeva, razvoj (planiranje, izvršenje, nadzor) projekta z Svaka faza rezultira nekim “izlazima” (deliverables) koji su važni vrednovanje, obuku, oblikovanje, za ili se isporučuju u slijedeću fazu implementaciju i održavanje sustava. z Moraju postojati metrike i kontrole izvršenja u svakoj fazi radi donošenja odluka o daljnjim fazama

OIIS -2013/14 OIIS -2013/14

Modeli i metodologije za SDLC – nekoliko metoda i izvedenica pristup izgradnji IS-a z Klasični (izvorni) – Royce model Izbor modela i metodologije ovisi o: z Pristup DOJ (Department of Justice USA) z Veličini i obujmu projekta IS-a z z UK administration model Prirodi problema (ciljevima) koji se uvođenjem IS-a želi riješiti z CIO.GOV (Glavni informacijski ured z Vremenu raspoloživom za stvaranje IS-a američke vlade) z Znanju raspoloživom o problemu za koji se IS razvija z Raspoloživim resursima z Modalitetima izgradnje

OIIS -2013/14 OIIS -2013/14

10 Modeli i metodologije za pristup izgradnji IS-a – prepoznavanje faza izgradnje Vodopadni (waterfall) pristup

Analiza i z Vodopadni (klasični i modificirani) pristup specifikacija Klasični vodopadni model zahtjeva z V – model z Evolucijski model z slijedno napredovanje iz faze u Oblikovanje fazu z Spiralni model z nisu dozvoljene naknadne Implementacija z Prototipiranje promjene rezultata prethodnih faza z Brzi razvoj aplikacija (Rapid Application z primjeren velikim projektima Provjera - Development) (investicijama) vrednovanje z prikladan za dobro definirano Primjena i z Agilno programiranje i ujedinjeni razvojni proces okruženje, gdje postoje održavanje razrađene procedure z Ekstremno programiranje (eXstreme Programming) z ručne obrade ili računalski z Ograničeno programiranje (Constraint programming) sustav koji treba unaprijediti Izvorni Royce's waterfall model

OIIS -2013/14 OIIS -2013/14

Vodopadni pristup - analiza Vodopadni (waterfall) pristup zahtjeva

Prednosti: Nedostatci: z Vremenski zahtjevno – z strukturna sistemska analiza nalaženje nemoguće je do z Temeljitost – bolje je perfekcije dovesti svaku skupa “atomarnih” temeljnih funkcija pogriješiti u fazu z Nemogućnost sustava, njihovih ulaza i izlaza inicijalnim fazama i predviđanja budućih ispraviti grešku događaja z opis ulaza, izlaza i spremišta preko rječnika z Zahtjeve i oblikovanje kao nego u kasnijim i ostale faze moraju ssa. fazama analizirati visokostručni ljudi z opis pojedinačnih atomarnih funkcija preko z Dokumentiranost z Teško je predvidjeti svake faze troškove pojedinih faza pseudokoda z Ne postoji procjena rizika z Disciplinirani z Sustav je upotrebljiv kad pristup je gotov u potpunosti

OIIS -2013/14 OIIS -2013/14

Vodopadni pristup – oblikovanje Vodopadni pristup – sustava implementacija z Logičko oblikovanje (projektiranje) Implementacija z Izgradnja odgovarajućeg modela podataka (model z Kodiranje u nekom strukturnom jeziku i testiranje ili objekti-veze) z Primjena generatora aplikacija (jezika četvrte generacije) z Transformacija modela objekti-veze u normalizirani relacijski model. z Relacijske baze podataka i dvoslojna klijent-server arhitektura. z Oblikovanje strukturnih programa (programskih struktura) z Fizičko oblikovanje z Fizičko oblikovanje baza podataka z Oblikovanje korisničkih sučelja z Dodavanje “fizičkih elemenata” strukturnim programima.

OIIS -2013/14 OIIS -2013/14

11 Vodopadni pristup – primjena i održavanje Modificirani vodopadni pristup z Testiranje na probnim podatcima z Uvode se povratne veze i Analiza mogućnost promjene rezultata zahtjeva z Konverzija podataka iz postojećeg sustava prethodnih faza z uvođenje prema dolje: moduli na Oblikovanje z Puna funkcionalnost i dokumentiranje višim, pa na nižim razinama z primjena tehnika strukturiranog programiranja z Implementacija Obuka korisnika z aktivnosti različitih faza mogu se obavljati istovremeno Održavanje z korištenje rječnika podataka, 4GL Provjera - i generatora aplikacija vrednovanje z z prikladan kada se unaprijed ne Korektivno zna konačni izgled sustava Primjena i održavanje z mora nastati (papirnati) model z Adaptivno sustava z Preventivno

OIIS -2013/14 OIIS -2013/14

SDLC- DOJ – detaljna razrada SDLC DOJ – SHEMA

The DOJ SDLC sadrži 10 faza: Operabilni sustav Dispozicija z Inicijalna faza Inicijalizacija i održavanje z Započinje identifikacijom poslovnih potreba ili poslovnih Razvoj sistemskog prilika. Imenuje se projektni manager. Izlaz: Dokument o koncepta konceptualnom oblikovanju. Management odobrava projekt. Implementacija z Faza razvoja sistemskog koncepta z Obuhvaća studije izvodljivosti i prikladnosti; definiraju se Planiranje sistemske granice i ograničenja; obuhvat (SCOPE) Analiza projektnih zadataka; Izlazi: idejni projekt i odobrenje korisničkih zahtjeva Integracija i financiranja i obujma projekta. testiranje z Faza planiranja Oblikovanje z Pregled i analiza postojećeg stanja. Usuglašavanje ciljeva

Razvoj PS-a i IS-a; planiranje aktivnosti, redosljeda i rasporeda financijskih resursa, kadrova i opreme, sigurnosti, upravljanje i nadzor nad izvršenjem pojedinih zadataka. INFORMATION RESOURCES MANAGEMENT, The Department of Justice Izlaz: glavni projekt Systems Development Life Cycle Guidance Document, January 2003 Izvor: http://www.usdoj.gov/jmd/irm/lifecycle/table.htmOIIS -2013/14 OIIS -2013/14

SDLC-DOJ – detaljna razrada SDLC-DOJ – detaljna razrada – - nastavak 1 nastavak2 z Faza analize zahtjeva z Faza ravoja z Analiziraju se i definiraju svi funkcionalni zahtjevi u z Specifikacije iz prethodne faze prevode se na hardversku pojmovima potrebnih podataka, sistemskih karakteristika, platformu i operacijski sustav, komunikacije i izvršni oblik sigurnosti i održavanja sustava; detaljna analiza postojećeg softvera. Softverkski moduli se testiraju, Hardver se testira i stanja (As is model sustava) i budućeg stanja stanja (To be podešava. model sustava); svi zahtjevi moraju biti mjerljivi i provedivi i z Integracija i testiranje usuglašeni s poslovnim potrebama identificiranim u z Različite komponente sustava se testiraju i i integriraju. inicijalnoj fazi. Korisnici testiraju sustav; provjeravaju se funkcionalni z Faza oblikovanja zahtjevi i podešavaju prema korisničkim zahtjevima. z Sustav se promatra s aspekta projektanta; logički fizički Certificiranje softverskih rješenja. dizajn; definiranje podsustava i operativne platforme; z Faza implementacije definiranje ulaza, izlaza, procesa i resursa; podsustavi se z Sistemske komponenete se instaliraju na datoj platformi; oblikuju u module. Priređuje se detaljna logička specifikacija faza se nastavlja sve dok se ne dobije oerativni sustav koji pojedinih modula. Definiraju se fizičke karakteristike sustava funkcionira prema korisničkim zahtjevima. Izlaz: (pogled izvođača). Izlaz: tehnološka specifikacija sustava specifikacija funkcionalnosti sustava

OIIS -2013/14 OIIS -2013/14

12 SDLC-DOJ – detaljna razrada – Razvoj informacijske arhitekture; IS LC Stages and Deliverables, DOE Software development Methodology, http://cio.doe.gov/sqse nastavak3 Razvoj informacijske arhitekture poslovnog sustava

Definiranje Funkcionalno Sistemsko Izrada / Planiranje z Faza operativne upotrebe i održavanja zahtjeva oblikovanje oblikovanje konstrukcija

z Operativni sustav se promatra u svim fazama procesa; Studija Matrica Logički model Prošireni rječnik Plan prihvaćanja izvodljivosti informacijskih Rječnik podataka podataka Plan instalacije sustav se povremeno procjenjuje i prilagođava manjim zahtjeva Planiranje Specifikacija Model fizičkog opreme novim i promjenjenim zahtjevima radi povećanja projekta Plan kontinuiteta zahtjeva sustava Proširena operacija učinkovitosti i boljeg iskorištenja. Izlaz: plan održavanja Plan Matrica Nacrt plana za matrica osiguranja Nacrt rječnika slijednosti testiranje slijednosti sustava kvalitete podataka zahtjeva integracije zahtjeva Plan Specifikacija Dokument Prošrena matrica Finalni plan za z Faza dispozicije upravljanja zahtjeva funkcionalnog slijednosti testiranje projektom Nacrt plana plana zahtjeva integracije z Osigurava redovite i neplanirane prekide sustava i očuvanje Strukrirani prihvaćanja Revidirani Plan prevođenja pregled Revidirani projektni plan Dokument Prošrena matrica vitalnih informacija o sustavu tako da se mogu reaktivirati u Procjena projektni plan Strukturirani sistemskog slijednosti budućnosti i/ili migrirati na drugi sustav stanja faza Strukturirani pregled faze oblikovanja zahtjeva Izlazi iz faze prikaz Procjena faze Specifikacija Plan prijelaza na planiranja programa novi sustav Procjena faze Izlazi iz faze INFORMATION RESOURCES MANAGEMENT, The Department of Justice Systems Izlazi iz faze funkcionalnog Programski Nacrt definiranja oblikovanja standardi operativnih Development Life Cycle Guidance Document, January 2003 Izvor: zahjteva Revidirani dokumenata http://www.usdoj.gov/jmd/irm/lifecycle/table.htm projektni plan Plan obuke Strukturirani Revidirani pregled faze projektni plan Procjena faze Strukturirani Izlazi iz faze pregled faze sistemskog Procjena faze oblikovanja Izlazi iz faze izrade OIIS -2013/14 OIIS -2013/14

SDLC – faze u ovisnosti o SDLC – rekapitualcija kompleksnosti projekta

Kompleksnost sustava Planiranje Plan sustava Dorada, prerada, 1. 2. Testiranje 3. nadogradnja Vrednovanje Planiranje (zašto) Implementacija Zašto graditi sustav? Analiza (tko, što, kada, gdje) Pregled 1. Studija 2. Analiza 3. Oblikovanje 4. Razvitak 5. Uvođenje 6. Održavanje Analiza izvodljivosti sustava Tko koristi sustav? Što mora raditi? Gdje i kada će se sustav koristiti? 1. Studija 2. Analiza 3. Oblikovanje 4. Uvođenje 5. Održavanje izvodljivosti Specifikacija zahtjeva Oblikovanje (kako) Operabilni sustav Kako će sustav raditi? Izrada (+isporuka) 1. Studija 2. Analiza 3. Oblikovanje 4. Razvitak 5. Testiranje 6. Uvođenje izvodljivosti sustava ugradnja rješenja Oblikovanje Primjena Primjena i održavanje i poboljšavanje 1. Analza 2. Oblikova 3. Razvitak 4. Uvođenje 5. Vrednovanje održavanje uključivo i nje sustava Studija izvodljivosti Specifikacija Funkcionalni sustava 1. Studija 2. Analiza 3. Oblikovanje 4. Uvođenje 5. Testiranje 6. Vrednovanje 7. Održavanje Izradba sustav izvodljivosti Izvor: Kalpić, PIS, predavanja

OIIS -2013/14 OIIS -2013/14

V- model

z Nastao kao Analiza Oblikovanje testa Test rezultat evolucije zahtjeva prihvatljivosti prihvatljivosti

Oblikovanje softverskog Sistemsko Testiranje sistemskog oblikovanje sustava testiranja testa

Oblikovanje z Oblikovanje Test Nakon svake faze Testa arhitekture integrativnosti provodi se integracije SDLC Oblikovanje Oblikovanje Testna testiranje i testne modula jedinica ŽIVOTNI CIKLUS RAZVOJA ispravljaju greške jedinice

SUSTAVA – OSTALI MODELI Kodiranje

OIIS -2013/14 OIIS -2013/14

13 Inkrementalni model Spiralni model

Spiralni prikaz Prethodi mu z ordinata predstavlja kumulativni kumulativni podjela trošak trošak na podsustave – z svaka petlja spirale od osi X Integracija 4 1 polazna arhitektura predstavlja jednu fazu razvoja Izrada z faza može biti realizirana slijedno, 4 1 je definirana prototipski ili evolucijski 4 Oblikovanje z odluka o nastavku razvoja donosi se 1 prolaskom kroz os X Analiza 4 1

Faze: 3 2 1. Analiza rizika, procjena alternativa 3 2 2. Razvoj i verifikacija sljedećeg 3 2 "produkta" 3. Planiranje sljedeće faze 2 4. Pregled - Određivanje ciljeva, alternativa i ograničenja

OIIS -2013/14 OIIS -2013/14

Spiralni (Boehm-ov) model Prototipiranje

z Prototip se radi da bi se isprobale neke mogućnosti z Izvodi se da bi se testirale neke osobine sustava, prikupile potrebne informacije i provjerile ideje – Prethodi mu definiranje arhitekture sustava – skupa aplikacija i modela beze z Istraživački model (research model) z traženje različitih načina na koje se sustav može izraditi z Pogodan za razvoj manjih sustava z Prototip koji postupno, inkrementanlnom doradom -“bistrenjem” (stepwise refinement) postaje dio završnog IS (Fertalj, Kalpić) Prednosti z Ubrzana izgradnja i relativno niski troškovi z Mogu se procijeniti rizici projekta z Podržava aktivno sudjelovanje zainteresiranih strana z Rano uočavanje pogrešaka... Nedostaci z Bojazan da se sustav neće razviti do kraja z Teže upravljanje projektom; loša dokumentiranost i z Nemogućnost implementacije u cjelosti.. Teško održavanje OIIS -2013/14 OIIS -2013/14

Brzi razvoj aplikacija (Rapid application development - RAD Agilno modeliranje

Agile Unified Process obuhvaća (Rational Unfied Process) z Razvio se kao odgovor na spore i često neefikasne slijedeće faze metode kao što je vodopadni pristup. z Počinjanje z Identificira se inicijalni obujam projekta, potencijalna z Starting with the ideas of Brian Gallagher, Barry arhitektura sustava i prihvaćanje od zainteresiranih Boehm and Scott Shultz, James Martin developed strana the Rapid Application Development approach during z Elaboracija the 1980s at IBM and finally formalised it by z Pokazuje se arhitektura sustava z Konstrukcija publishing a book in 1991. z Razvija se softver na postepenoj osnovi polazeći od z Podatci o metodologiji: najviših prioriteta z Prijelaz http://csweb.cs.bgsu.edu/maner/domains/RAD.htm z Vrednuje se i provjerava softver na operativnom okruženju

OIIS -2013/14 OIIS -2013/14

14 Ekstremno programiranje (XP - Agilno modeliranje eXtreme Programming)

Discipline Jedna od metoda agilnog programiranja. Temelji se na 5 vrijednosnih grupa: z Model – razvija se poslovni model organizacije, identificira se problemska domena i raspoloživa rješenja z Komunikativnost – razvojni tim ima dijeljeni korisnikov. Favorizira se z Implementacija – transformira se model u izvršni oblik koda i izvodi temeljno testiranje na jednostavan dizajn, zajedničke metafore, kolaboracija i verbalna jedinici za testiranje komunikacija. z Testiranje – pronalaženje grešaka, testiranje sustava na realnom okruženju i provjera da li z Jednostavnost –započinje se s najjednostavnijim rješenjem; fokus je na sustav udovoljava zahtjevima rješenjima potrebnim danas z Upravljanje konfiguracijom – upravljanje projektnim smtenjama i prilagođavanje sustava za njihovo izbjegavanje z Povratna veza – testiranje z Upravljanje projektom – usmjeravanje aktivnosti koje su vezane uz izvođenje projekta; z Povratna veza sa sustavom – izabiru jedinice za testiranje i periodičnu upravljanje rizicima, usmjeravanje ljudi na zadatke i provjeravanje napretka, koordinacija aktivnosti integraciju z Okruženje – potpora radu u skupini uz osiguranje hardverskih softverskih alata, vodiča z Povratna veza s klijentom – radi se test prihvatljvosti kroz projekt i standarda kvalitete z Povratna veza s razvojnim timom – nakon provjere zadovljnosti klijenta Filozofija razvojni tim daje procjenu vremena za implementaciju z Jednostavnost z Agilnost z Povjerenje – članovi tima imaju visoko međusobno povjerenje i ne zahtjeva z Fokusiranje na aktivnosti “viših vrijednosti” se provjera ispravnosti jer se vjeruje u njihovu visoku profesionalnost (rad u z Neovisnost o alatu parovima; kolktivno vlasništvo nad softverom) z Prilagodba AUP-a potrebama korisnika z Poštovanje – nitko u timu se ne zapostavlja; postoji visoka lojalnost timu z http://www.ambysoft.com/unifiedprocess/agileUP.html, z http://www.agilealliance.org/,

OIIS -2013/14 OIIS -2013/14

Ekstremno programiranje – Modelom vođena arhitektura aktivnosti i prikladnost (razvoj)

AKTIVNOSTI Prikladnost XP-a: z Model Driven z Modelom vođeni razvoj z Kodiranje. z Za prototipski pristup gdje zahtjevi mijenjaju često i gdje Architecture (MDA) koju z Testiranje je nema provjerenih rješenja omogućava: z Slušanje z U istraživačkim projektima gdje razvoj softvera nije je 2001 predložila Object glavni cilj već razvoj domenskog znanja z Specifikaciju sustava z Oblikovanje Management Group je z U manjim projektima gdje poželjno neformalno vođenje neovisnu od bilo kakve projekta “an approach to using implementacije; z Gdje se može okupiti motivirani visoko profesionalni tim models in software Neprikladnost XP i upotreba klasičnih metoda: development”. z Specifikaciju platforme; z u projektima sa stabilnom tehnologijom i fiksnim zahtjevima te predvidljvim promjenama z Pojam arhitektura se z Izbor platforme za z U projektima gdje se moraju poštivati formalne metode i vezuje za činjenicu da implementaciju traži se visoka sigurnost specificiranog sustava z U velikm projektima gdje mora postojati formalna se preko asptraktnih komunikacija modela (PIM) može z Transformaciju z U kompleksnim sustavima gdje projektna dokumentacija predstavlja temelj za operativno djelovanje i održavanje ostvariti inteoperabilnost specifikacije sistema u sustava heterogenih sustava izabranu platformu. (Izvor: http://www.extremeprogramming.org/index.html)

OIIS -2013/14 OIIS -2013/14

TRENDOVI U RAZVOJU ŽIVOTNOG Modelom vođena arhitektura CIKLUSA – Razvoj sofvera kao usluge u Računarski Computation Independent Model –CIM – model (razvoj)nezavisan model Cloud Computing-u CIM odgovarajuće domene, zajednički riječnik za korisnika i projektanta OPEN SOA SaaS SDLC – moderni koncept Platform Independent Model – PIM. z SDLC se definira kao kombinacija vrata (dveri), Platformski Model za opis Model IS nezavisan od uloga i odgovornosti; SDLC aktivnosti se dijele u nezavisan model Platforme procese kao grupe primjerenim im aktivnostima. PIM PDM implementacijske platforme. Specifikacija sustava z Vrata (gate) –točka odluke ili prijelaza na drugu aktivnost u projektu z Uloga – pojedinca ili grupe koji sudjeluje u projektu Platform Description Model –PDM Transformacija z Odgovornost - cilj (akcija, dokument ili drugo Model implementacijske platforme postignuće za koje je uloga dodjeljena nositelju z Proces/Procedura – jedna ili više aktivnosti Platformski zavisan Platform Specific Model- PSM model usmjerena na pojedinačnu ulogu i njezinu PSM Model IS implementiran u datom odgovornost za projekt okruženju. OIIS -2013/14 OIIS -2013/14

15 OPEN SOA SaaS SDLC Kompleksnost faza u SaaS SDLC Primjer: Inicijalizacija...

Početno istraživanje (survey phase, initial study) z prethodna istraživanja; prepoznavanje problema, potreba ili prilika z Što su pokretači promjena z nezadovoljstvo aplikacijama i/ili podacima (nepouzdanost, nedostupnost, z manjkavost) z nestabilnost aplikacija, podaci koji nedostaju, potreba za novim funkcijama z reorganizacija – promjene organizacijske strukture, promjene poslovnih procesa z pokazatelji poslovanja z npr. pad prodaje, uska grla proizvodnje, neplanirano i nejasno povećanje troškova z zastarjela tehnologija z (problem održavanja), sučelja (Internet), baze podataka z Treba li pokrenuti projekt? z Postavljanje svrhe

Izvor: http://www.saassdlc.com/ OIIS -2013/14 OIIS -2013/14

Kompleksnost faza u SaaS SDLC Kompleksnost faza u SaaS SDLC Primjer: Inicijalizacija... Primjer: Definicija...

Generiranje projektne ideje (poslovnog slučaja) Snimka – analiza postojećeg stanja z Reference - Naziv projekta/reference, Izvor/osnova/postojeće stanje z Kontekst – poslovni ciljevi, poslovna strateška opredjeljenja, prioriteti z Brzo vrednovanje identificiranih problema, potreba ili z Pretpostavljene vrijednosti – Poželjni izlazi, Očekivane koristi, Kvantificirane vrijednosti izlaza, Finacijske procjene, Procjene rizika prilika ili direktiva z Fokus – Obujam problema/rješenja, pretpostavke/ograničenja, moguće opcije , procjena kompleksnosti z Procjena mogućih rješenja z Postignuća -načelne koristi koje se očekuju, organizacijska područja na koja se projekt odnosi, zainteresirane strane i njihvoe ovisnosti z Snimka postojećeg poslovnog sustava z Radni učinci – Pristup, faze, aktivnosti, raspored aktivnsoti, procijenjeni kritični z putevi Phase/stage definitions (Project (change) activities, Technical delivery Snimka postojećih informacijskih podsustava activities, Workload estimate/breakdown, Project plan and schedule, Critical path) z Resursi – Projektni tim i vodstvo, Upravljanje projektom, Financiranje z Obveze – projektna kontrola, izvječćivanje, raspored budžeta z Povjerenstvo za odobrenje projekta Izvor: http://en.wikipedia.org/wiki/Business_case)

OIIS -2013/14 OIIS -2013/14

Kompleksnost faza u SaaS SDLC Kompleksnost faza u SaaS SDLC Primjer: Definicija... Primjer: Definicija...

Planiranje Ciljevi Ograničenja z Izrada početnog plana Podjela projekta u potprojekte z Primjeri poslovnih ciljeva z Osoblje z razrada projekta u manje cjeline i određivanje redoslijeda izrade z Zaprimanje narudžbe i rezervacije z Nužnost obrazovanja postojećeg z za pojedini projekt izrađuje se plan rada (work breakdown structure) od klijenata putem interneta kadra z Dozvoljeni broj novih kadrova z obavlja se razrada i raspodjela poslova te izrada vremenskog rasporeda z Precizna evidencija materijalnih z mogući načini podjele posla na cjeline tako da: troškova po pogonima z Materijalni trošak z cjelinu može obaviti jedna osoba ili ekipa z Minimizacija zaliha materijala i z Uredski materijal z cjelina se može obaviti jednom metodom trgovačke robe na skladištu s z Potrošni materijal z posao završi jednim “proizvodom” (dokumentom, aplikacijom ili podsustavom) dojavom o minimumima, vremenu z Softver – sistemski i opći z Izrada početnog plana razvoja IS stajanja i aktivnim mjerama prodaje z Računalna oprema z početni glavni plan projekta (master plan, baseline plan) z Online prodaja izbor iz kataloga i z Računala (osobna i serveri) z podprojekti, prioriteti, … marketinške promidžbe na internetu z Mreža z okvirni vremenski plan po fazama z Pisači i ostala oprema z dorađuje se i ažurira sukladno napretku projekta z Financijska sredstva z Prezentacija projekta radi traženja suglasnosti o nastavku projekta z Neposredni troškovi uvođenja z konsolidirani prijedlog projekta (project charter) može poslužiti kao interni sustava ugovor projekta (Izvor: PIS, Kalpić,51) z Troškovi održavanja sustava

OIIS -2013/14 OIIS -2013/14

16 Kompleksnost faza u SaaS SDLC Kompleksnost faza u SaaS SDLC Primjer: Definicija... Primjer: Definicija...

Modeliranje postojećeg sustava – Prijedlog idejnog rješenja -dokument Analiza postojećeg sustava z Sažetak z problemi, mogućnosti i analiza Svrha z Sažetak problema, mogućnosti i direktiva z uzroka i posljedica za pojedine z Preciziranje dosega projekta z Kratki navod ciljeva unaprjeđenja z elemente sustava z Verifikacija razumijevanja problema i usaglašavanje percepcije sustava z Performance i stavova između sudionika (korisnici, informatičari) z Strategijske odrednice z Informacije z Kratki navod sadržaja izvješća Globalni, okvirni, grubi modeli z Ekonomija z Poznate informacije z Kontrola z Model organizacije i resursa z Popis održanih razgovora i koordiniranih z Učinkovitost z kontekst, organizacijska struktura, prostorni raspored sredstava z grupnih sastanaka z Usluge (servisi) z Globalni model procesa z Popis ostalih izvora informacija Detaljni prijedlozi z Opis tehnika korištenih u analizi z funkcionalna dekompozicija z Ciljevi i prioriteti unaprjeđenja sustava z Pregled postojećeg sustava z Prepreke unaprjeđenja sustava z tok ključnih poslovnih procesa z Strategijske odrednice z Plan projekta z kolanje dokumenata i protok informacija z Modeli postojećeg sustava z Precizirani doseg projekta z Globalni model entiteti-veze (enterprise data model) z Revidirani glavni plan z Detaljni plan za slijedeći korak z kategorije podataka – klase podataka (ne razredi objekata!) (Izvor: http://www.zpm.fer.hr/courses/pis) Izvor: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Procesi razvoja – Ujedinjeni razvojni proces Rational Unified Process Danas: RATIONAL UNIFIED PROCESS z Počinjanje (Inception) z Konstrukcija, gradnja (Construction) ¾ opravdanje razloga za pokretanje projekta ¾ prikupljanje ostalih zahtjeva + promjene zahtjeva ¾ prikupljanje najvažnijih ¾ razrada arhitekture i izrada zahtjeva (10% detaljno) sustava ¾ određivanje dosega projekta ¾ kontinuirana integracija z Elaboracija (Elaboration) z Prijelaz (Transition) ¾ prikupljanje detaljnih zahtjeva ¾ beta testiranje, podešavanje (80%) performansi, poduka korisnika ¾ globalna (high-level) analiza i ¾ provjera prihvatljivosti i dizajn zadovoljstva korisnika z Post-implementacija (Post- ¾ ustanovljavanje osnovne deployment) arhitekture ¾ nastavak evolucijskog razvoja ¾ planiranje konstrukcije ¾ uz očuvanje integriteta aplikacija

OIIS -2013/14 OIIS -2013/14

Tko i kako izrađuje sustav - SDLC - situacije Insourcing

z Provodi se ako u poslovnom sustavu postoje IT stručnjaci koji su u stanju kreirati novi Tko i kako izgrađuje Obujam projekta sustav. Provodi se kroz slijedeće faze: z Planiranje – utvrđivanje plana za informacijskog sustava kroz: sustav z Minorna poboljšanja z Definiranje sustava koji se namjerava razviti – temeljem priroriteta i kritičnih faktora uspjeha z Insourcing z Značajne promjene z Obujam projekta – (scope) – identificiraju se zahtjevi i poželjni rezultati z Razvoj projektnog plana – detaljiziraju se i formaliziraju zaatci koji se moraju z Selfsourcing z Novi sustav izvršiti z Upravljanje nadzorom nad projektnim planom z Prototyping z Mali sustav z Analiza – korisnici i IT specijalisti surađuju na prikupljanju, razumijevanju i objašnjavanju korisničkih zahtjeva, prioritetima i sugestijama za poboljšanje z Outsourcing z Veliki sustav z Oblikovanje – stvara se tehnički opis sustava kroz: z Oblikovanje tehničke arhitekture (softver, hardver, komunikacije....) z Oblikovanje sistemskog modela – grafičko kreiranje modela, prijedlog grafičkih sučelja, arhitekture baze podataka. z Popis testnih uvjeta za pojedina rješenja i zahtjeve

OIIS -2013/14 OIIS -2013/14

17 Tko i kako izrađuje sustav - Tko i kako izrađuje sustav - Insourcing - nastavak Selfsourcing z Razvoj –prevođenje oblikovanog logičkog sustava u fizički kroz: Provodi se u slučaju da postoje stručnjaci koji su sposobni izraditi z Izgradnju tehničke arhitekture kroz nabavku potrebne opreme plan i koncipirati sustav z Izgradnju baze i programa za pojedine zahtjeve z Usuglašavanje sustava s ciljevima organizacije i snažni naglasak z Testiranje – testiranje razvijenog sustava na vremenu potrebnom za stvaranje sustava. z Provjera sustava prema planiranim (željenim) izlazima i stvarnim izlazima; ako postoji razlika proces treba se vratiti na prethodnu z Utvrđivanje potrebnih vanjskih usluga od IT specijalista fazu.; z Dokumentiranje i formaliziranje sustava za konačne korisnike z Upotreba (implementacija) – sustav se stavlja u službu korisnicima: z z Kreiraju se upute Osiguravanje potrebne potpore u slučaju promjena u poslovnom z Provodi se obuka korisnika sustavu i okruženju. z Održavanje – sustava se održava “up to date” stanju respektirajući promjene u organizaciji i okruženju: z Izgrađuje se help desk kao potpora korisnicima z Implementiraju promjene kada su u sustavu potrebne.

OIIS -2013/14 OIIS -2013/14

Tko i kako izrađuje sustav - Tko i kako izrađuje sustav - Prototyping Outsourcing

kreiranje modela koji prikazuje nužne karakteristike Zapošljava se vanjska firma tako da se dobije sustav najbolje moguće predloženog sustava kvlaitete: z Outsourcing za razvoj softvera- z Prikupljanje zahtjeva – obavljaju ih kompetentni stručnjaci u z Kupovina gotovog softvera i posebne nadoplate za modifikacije poslovnom sustavu uspoređujući ih s postojećim sustavom z Outsourcing razovja cjelokupnog sustava za koji ne postoji softver z Izbor ciljnog sustava - treba osigurati da ne postoje kritičke informacije z Kreiranje prototipa sustava – tehnički profesionalna rješenja koje treča strana ne bi trebala vidjeti. s potrebnim sučeljima i izvješčima. z Utvrditi logičke zahtjeve – IT specijalisti i stručnjaci iz poslovnog sustava surađuju na oblikovanju aplikacije i raspravljaju koji se zadatci moraju z Pregled sustava od profesionalaca koji poznaju poslovne poduzeti da bi se dobila rješenja koja u potpunosti pokrivaju zahtjeve procese i poslovni sustav – kreiranje modela sustava koji će korisnika se analizirati , pregled i vrednovanje rješenja, davanje z Kreiranje zahtjeva za ponudu – zahtjev mora sadržavati sve specifikacije preporuka za postizanje potrebnih izlaza koje sustav mora imati da bi se temeljem toga napravio poslovni ugovor. z Procjenjuju se ponude i vrši izbor ponuđača. z Revidiranje prototipa ako je potrebno z Testiranje i prihvaćanje rješenja i potpis ugovora z Plasiranje ideja o novom sustavu na tržište z Promatranje, kontrola i ponovo vrednovanje – sustav se mora održavati i prilagođavati promjenama relevantnim za poslovnu organizaciju.

OIIS -2013/14 OIIS -2013/14

MODELI ASPEKATA IS-A Modeli aspekata IS-a

Modeli podataka / oblikovanje podataka (data modelling) Modeli događaja z model podataka – ŠTO su podaci, odnosno što opisuju podaci z model događaja – KADA se podaci obrađuju z konceptualni model - opisuje podatke i veze između podataka z entiteti-veze (entity-relationship model) z razmatranje učinka koji događaji imaju na procese i podatke te z logički model – opisuje strukturu podataka i logičkih datoteka, najčešće opis stanja, npr. relacijski z dijagram promjene stanja (state transition diagram) z model podataka (relational data model) Modeli procesa/funkcija (process modelling, functional decomposition) Modeli resursa/sredstava z model funkcija i procesa – KAKO se prikupljaju, obrađuju i distribuiraju z izvršitelji - TKO obrađuje podatke, GDJE se nalaze podaci, podaci GDJE se obrađuju podaci z model funkcija - oblikuje se razlaganjem (dekompozicijom) funkcija, iterativno od vrha prema dolje (od globalnih funkcija do osnovnih procesa) Modeli programa z model procesa – opisuje obradu podataka promatranog sustava, najčešće dijagram toka podataka (data-flow diagram) z struktura (programskih) modula IS, primjerice strukturnim kartama (http://www.zpm.fer.hr/courses/pis)

OIIS -2013/14 OIIS -2013/14

18 Komercijalne metodologije Ključni problemi s metodama

Neke strukturirane metodologije: z AD/Cycle (Application Development Cycle) STRUKTURNE OBJEKTNE z BSP (Business System Planning) z Podesne za statički z Opisuju sustav sa svih z CASE*Method z IEM (Information Engineering Methodology, Martin) prikaz dobro definiranih aspekata uključujući z JSD/JSP (Jackson System Development / Jackson System Programming) sustava njegovu dinamiku z SA/SD ( / Structured Design) z SASS (Structured Analysis and System Specification) z Nisu riješile problem z Zahtijevaju visoku razinu z SSM/M (Soft Systems Method / Multiview) z SSA (Structured System Analysis) dinamike sustava i apstrakcije z SSADM (Structured System Analysis and Design Method) nepodesne su za z z Yourdon (Yourdon Structured Method) (http://www.yourdon.com/strucanalysis/wiki/ Fleksibilnost i Objektno usmjerene metodologije: vremenski brzo adaptabilnost definiranih z Yourdon/OO (Yourdon / Object Oriented) promjenjive podatke z OMT (Object Modelling Technique) klasa na različite tipove z BOOCH (Booch’93) z Nefleksibilnost problema z Schlaer-Mellor z Unified Modelling Process (Rational) z Vremenski zahtjevne

OIIS -2013/14 OIIS -2013/14

Integrativni “alati” za Integrativni “alati” za modeliranje modeliranje z Tendiraju sustav modelirati s različitih aspekata Prednosti: z Pokušavaju prikazati statičku i dinamičku stranu z razumijevanje procesa sustava z pomoć pri određivanju ključnih faktora koji utječu na z Inkorporirati ciljeve poslovnog sustava performanse procesa z Ekonomiju izgradnje sustava z analiza osjetljivosti procesa na promjene z Praćenje performanci sustava z izrada “što-ako” scenarija i razvoj alternativnih z Omogućiti ponovnu upotrebu modela u promjenjenim uvjetima funkcioniranja sustava rješenja z Biti razumljivi i korisnicima i kreatorima IS-a z poboljšanje procesa z Integriraju modele podataka, procesa, funkcija, z standardizacija procesa i procedura resursa iorganizacije z primjena modela procesa za razvoj IS

OIIS -2013/14 OIIS -2013/14

Integrativni “alati” za Standardi za (konceptualno) modeliranje (i modeliranje metamodeliranje) poslovnih procesa i IS-a

z OMG – BOMSIG (OMG Business Object Management Special Interest Group springs form Nedostaci: the mainstream of the Object Management Group) z CORBA z ispreplitanje modela postojećeg i željenog stanja z UML Lista principa ili kriterija za vrednovanje ciljeva: z pogrešno odabrani sudionici projekta z Obujam i granice onoga što će se modelirati z Vrednovanje direktnosti modela z puno ispravaka modela z Pročiščavanje primarne i sekundarne upotrebe modela z problemi pri prikupljanju podataka o procesima z Vrenovanje vještina i znanja za kreiranje i korištenje modela z Vrednovanje upotrebe modela od strane stroja z postojanje iznimki z Identifikacija alata i jezika za modeliranje z model nikada nije gotov z Projekti razvoja modela z IS TR 9007. z prikaz modela na jako niskom nivou (detaljizacija) z ISO/IEC JTC1 project 21.63.1 Conceptual Schema Modelling Facility z Work of the OMG Business Object Management Special Interest Group z z ISO/IEC 10746 Basic Reference Model of OpenDistributed Processing problem prevođenja modela procesa u model IS z ISO/IEC 13249-1:2007 z ISO/IEC 19763-3:2007 z problem održavanja i korištenja modela procesa z ISO/IEC 19763-1:2007 (Izvor: http://www.efzg.hr/default.aspx?id=4018)

OIIS -2013/14 OIIS -2013/14

19 Strukturni modeli SDAT - IDEF Objektno orijentirani modeli - – modeli i metodologije aspekti

IDEF metode z IDEF7- metoda za reviziju IS-a z IDEF0 – funkcionalno modeliranje z IDEF8 – modeliranje korisničkih z IDEF1 – informacijsko modeliranje temeljeno na relacijskom modelu sučelja z IDEF2 – simulacijsko modeliranje – z IDEF9 – specifikacija za sistemska dinamika oblikovanje IS-a vođena scenarijem z IDEF1X – modeliranje podataka z IDEF10 – implementacija modelske Za svaki aspekt daje se temeljeno na relacijskom modelu arhitekture statički i dinamički opis z IDEF3 – obuhvat za opis tokova procesa z IDEF11 – modeliranje sustava z IDEF4 – objektno-orijentirani dizajn informacijskih smetnji z IDEF5 – obuhvat za opis ontologije z IDEF12 – modeliranje organizacije z IDEF6 – Logička podloga za z IDEF13 – oblikovanje i mapiranje obuhvat oblikovanja sheme stabla z IDEF14 – oblikovanje mreže

OIIS -2013/14 OIIS -2013/14

Objektno orijentirani modeli – OMG modeli i specifikacije (Object dijagrami UML -a Management Group Initiative) State State Use Case Use Case DiagramsDijagrami Use Case UseDijagrami Case Diagrams z http://www.omg.org/technology/documents/spec_catalog.htm DiagramsDijagrami Diagrams klasa Diagrams Diagramsslučajeva z BUSINESS MODELING SPECIFICATIONS sekvenci korišćenja z Business Motivation Model State z Business Process Definition Metamodel Scenario State z Business Process Maturity Model Scenario DiagramsDijagrami Diagrams Diagrams z Business Process Modeling Notation DiagramsDijagrami objekata kolaboracije z Semantics of Business Vocabulary and Business Rules z Workflow Management Facility Dinamički Statički z MIDDLEWARE SPECIFICATIONS Scenario State z CORBA/IIOP Specifications Scenario Modeli State Diagrams Diagrams z Data Distribution Service (DDS) Specifications DiagramsDijagrami DiagramsDijagrami prelaza stanja komponenti z Specialized CORBA Specifications z LANGUAGE MAPPING SPECIFICATIONS z IDL / Language Mapping Specifications Component Component z MODELING AND METADATA SPECIFICATIONS DiagramsDijagrami Dijagrami Diagrams z UML, MOF, CWM and XMI Specifications aktivnosti Rasporeda OIIS -2013/14 OIIS -2013/14

Literatura z http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle OBLIKOVANJE I IMPLEMENTACIJA z http://www.usdoj.gov/jmd/irm/lifecycle/table.htm INFORMACIJSKIH SUSTAVA z http://www.house.gov/cao-opp/PDFSolicitations/SDLCPOL.pdf z http://www.isaca.org/ z http://www.ambysoft.com/essays/agileLifecycle.html z http://www.saassdlc.com/ z http://www.zpm.fer.hr/courses/pis z Bill Olivier, Development Director, JISC Domain Mapping & Modelling, http://www.jisc.ac.uk/ Strateško planiranje, analiza z http://www.via-nova-architectura.org/proceedings/emmsad-05/a- historical-perspective-on-conceptual-modelling-from-information- sustava i korisničkih zahtjeva, algebra-4.html z http://www.ambysoft.com/unifiedprocess/agileUP.html, studija izvodljivosti z http://www.agilealliance.org/, z http://www.agile.com z http://www.extremeprogramming.org/index.html

OIIS -2013/14 OIIS -2013/14

20 Strateško planiranje IS-a

z Metode i metodike strateškog planiranja IS-a z Najstarije BSP metoda i Rockard-ova analiza, nakon kojih je nastao čitav splet drugih metoda i modela kao što su: z Earl model, End-Means, CSF analiza, 5F-metoda, SWOT, BCG itd. POSLOVNI SUSTAV I INFORMACIJSKI SUSTAV z A. Cassidy načinila je praktični priručnik za strateško STRATEŠKO PLANIRANJE planiranje IS-a. z Također, i pojedine metodike razvoja IS-a kao što su INFORMACIJSKOG SUSTAVA SPIS, SSADM, MIRIS, ARIS, CASE*Method i druge, omogućavaju izradu strateškog plana IS-a.

OIIS -2013/14 OIIS -2013/14

Earl-ov model Cassidy model

Značajke Faza 1 Faza 2 Faza 3 Faza 4 Faza 5

Uključivanje IS-a u Vizija poslovnog Projektiranje Definiranje potreba Detaljno planiranje Procjena strateške Fokus strategiju sustava aplikacija korisnika IS-a prednosti poslovanja Usaglašavanje Usklađivanje Postizanje Povezivanje IS-a i Pridobivanje prioriteta Ključni ciljevi funkcija poslovnih poslovne poslovodstva razvoja aplikacija učinaka strategije IS misija i ciljevi aplikacija

Ponuda Korisnici i razvoj Usuglašeno: Inicijator Poslovodstvo i Sadašnji sustav informacijskih Više poslovodstvo informacijskih poslovodstvo, planiranja korisnici tehnologija tehnologija korisnici i IT IS strategija Uravnoteženo: Razvoj aplikacija Analiza potreba Poduzetnički – Pristup “odozdo gore” Više kombiniranih “odozdo “odozgo korisničke planiranju i “odozgo pristupa prema gore” prema dolje” inovacije dolje” IT arhitektura Planiranje prema Planiranje prema Planiranje vođeno Planiranje vođeno Planiranje vođeno Općaznačajka poslovnim strateškim tehnologijom metodama troškovima ciljevima ciljevima

OIIS -2013/14 OIIS -2013/14

SPIS – dugoročno planiranje korisnih učinaka informacijskog sustava (IS) i uporabe informacijske Cassidy model – faze razvoja IS-a tehnologije (IT) u poslovanju

Konceptualna poslovna razina je prva faza Konceptualni plan i vizija IS-a je treća faza Ulazne/Izlazne vrijednosti metode Ocjena metode A. Cassidy modela za koju u praksi treba koja pozornost usmjerava na IS. U praksi Metode i tehnike § - strateške Ulazi Izlazi V – vrlo snažna 2-4 tjedna, a čiji je rezultat dokumentacija traje 2-4 tjedna, a njen rezultat je Problemi/koraci kod # - strukturne Metoda S – snažna sljedećeg sadržaja: sljedeća dokumentacija: modeliranja † - objektne K - korisna z poslovni plan (misija, vizija, ciljevi, z sadašnji IS (razina izgrađenosti, poslovni prioriteti), struktura, aplikacije, okolina, očekivanja), 1.Usklađivanje buduće § Balanced Scorecard Poslovni sustav / Procjena K z poslovne informacije, z eksterni razvoj (industrijski trendovi, itd.) strategije poslovnog sustava s § BCG – matrica performansi sustava S raspoloživim informacijskim § 5F – model Poslovna strategija / Prioriteti K z zahtjevi okoline, z novi pravci razvoja IS-a (vizija, misija, tehnologijama § “Value chain” model razvoja IS-a V z eksterni zahtjevi, strategija, Strateški ciljevi, IS arhitektura, IT arhitektura, politika i odgovornosti). Poslovna strategija / Informacije z operativna vizija. za ostvarenje poslovnih ciljeva Detaljna poslovna analiza je druga faza Izrada detaljnih IS smjernica. U praksi Primarni procesi / Doprinos IT koju fokusira poslovanje i za koju u praksi obično traje 6-12 mjeseci, a daje sljedeću profitabilnosti primarnih procesa treba 3-6 tjedana. Njen rezultat je dokumentaciju: z GAP analiza sadašnje – buduće, sljedeća dokumentacija: 2. Određivanje osnovnih # BSP – dekompozicija Poslovi / Poslovni procesi V z poslovni procesi, z preporuke (troškovi, vrijeme, resursi, procesa postojećeg poslovnog # BSP – analiza životnog Osnovni resursi sustava / S prednosti, nedostatci, usporedba) i z informacijske potrebe, sustava ciklusa resursa Poslovni procesi z ROI analiza. z poslovni zahtjevi. 3. Preustroj (reinženjering) § BPR Poslovni procesi / Korisnički S sustava u skladu s odabranom § SWOT analiza usmjereni procesi V poslovnom strategijom # Funkcionalna shema Novi poslovni procesi / Ocjena K Izvor:http://www.foi.hr/studiji/dodiplomski/ provedivosti IS/kolegiji/uis/nastavni_materijali.html Poslovni procesi / Poslovna tehnologija OIIS -2013/14 OIIS -2013/14

21 SPIS- SPIS

4. Određivanje optimalne # Matrica poslovne Veze među procesima / Podsustavi V 8 .Procjena učinaka novog # Simulacijsko modeliranje Poslovna tehnologija / Performanse K arhitekture informacijskog sustava tehnologije novog IS-a S informacijskog sustava (npr. ARIS) nove poslovne tehnologije # Analiza afiniteta (adhezije) Veze među procesima / Rojevi K # Genetički algoritmi (Clusters) Veze među procesima / Grupirani procesi 9. Osnovno oblikovanje # Objektno prošireni HIPO Podsustavi novog IS-a / Osnovna V programskih rješenja dijagram struktura programskih rješenja S 5. Određivanje kritičnih faktora § CSF analiza (Rockart) Poslovna tehnologija / Kritične S (procedure, događaji, † Tranzicijski (SW-a) uspjeha i informacija za upravljanje # “Ends-Means” analiza informacije K transakcije) dijagram Transakcije / Događaji sustavom Poslovni procesi / Informacije za povećanje učinkovitosti i djelotvornosti poslovnih procesa 10. Modeliranje podataka sustava # ERA model Poslovni podaci / ERA model V 6. Fizičko modeliranje poslovnih # Organizacijski dijagram Organizacijski ustroj / Hijerarhijske V † Objektni model Poslovni podaci / Objekti (podaci, S procesa novog sustava toka podataka (OFD) veze među organizacijskim S operacije) i klase objekata # Tok aktivnosti (AFD) jedinicama S # Radni dijagram (WFD) Poslovni procesi / Veze među aktivnostima Poslovni procesi / Radni koraci izvršitelja 11. Detaljno oblikovanje strukture i # Akcijski dijagram Informacijski procesi / Logički odnosi V algoritama za programe i † Objektni scenarij programskih procedura 7. Logičko modeliranje procesa za # Dijagram toka podataka Poslovni procesi / Informacijski V procedure (podprocesa) informacijski sustav novog (DFD) procesi s tokovima, spremištima i S Objekti / Ponašanje objekata S poslovnog sustava # Akcijski dijagram (AD) okolinom K # Stabla i tablice odlučivanja Poslovni procesi / Informacijski procesi OIIS -2013/14Poslovni procesi / Unutrašnja logika OIIS -2013/14 informacijskih procesa

Ostale metode strateškog SPIS planiranja IS-a

12. Izrada relacijskog modela # Relacijski model ERA model / Relacijski model V SSADM (Structured Systems Analysis And Design podataka # Normalizacija Relacijski model / Normalizirane V relacije Methodology) sastoji se iz sljedećih 7 faza:

13. Izrada programske opreme # CASE alati i 4 GL Normalizirane relacije, HIPO / V z 1. Studije izvedivosti, (Aplication Softwre) † OO-CASE alati Programi S Ponašanje objekata /Klase z 2. Ispitivanja postojećeg stanja, procedura, nasljeđivanje i OO- Programi z 3. Moguće izvedbe poslovnog sustava, 14. Integracija i procjena # Function Point Analiza Programi i OO-Programi / složenosti aplikacije Složenost aplikacija S z 4. Definiranja zahtjeva, z 5. Moguće tehničke izvedbe sustava, 15. Uvođenje IS-a, njegovo # SPICE, TQM Informacijski sustav / Kvaliteta K vrednovanje i procjena # Balanced Scorecard IS-a K z 6. Logičkog oblikovanja sustava i učinaka na poslovni sustav Novi poslovni sustav / Usklađena procjena performansi z 7. Fizičkog oblikovanja sustava. novog sustava http://en.wikipedia.org/wiki/SSADM http://www.comp.glam.ac.uk/pages/staff/tdhutchings/chapter4.html http://www.ogcio.gov.hk/eng/prodev/es3.htm

Izvor:http://www.foi.hr/studiji/dodiplomski/ IS/kolegiji/uis/nastavni_materijali.html OIIS -2013/14 OIIS -2013/14

Ostale metode strateškog Ostale metode strateškog planiranja IS-a planiranja IS-a z Metodika MIRIS (Metodika za razvoj IS-a) CASE*Method se sastoji od 6 faza: sastoji se od dvije temeljne faze projektiranja: z strategije, logičkog i fizičkog oblikovanja, koje se dalje z analize, dijele na po 3 koraka. Logičko oblikovanje čini strateško planiranje IS-a, glavni projekt i z oblikovanja, izvedbeni projekt, dok je fizičko oblikovanje z izgradnje + dokumentiranja, izvedba programske potpore, uvođenje i z uvođenja i primjena te održavanje. z primjene IS-a z http://www.ris.hr/page.php?id=4 http://www.sei.cmu.edu/legacy/case/case_whatis.html http://www.cs.queensu.ca/Software-Engineering/tools.html

OIIS -2013/14 OIIS -2013/14

22 Metodika CoBIT (Control of Objectives of Klasični poslovni procesi i nužnost IT) kao osnova povezivanja PS-a i IS-a reinžinjerstva poslovnih procesa (http://www.isaca.org/ )

Kako bi se osiguralo da je informacijska tehnologija z “klasično strukturiranje poslovnih sustava temelji na uobičajenim usklađena s poslovanjem i poslovnim ciljevima, organizacijskim oblicima, kao što su funkcionalni, predmetni, matrični, projektni i drugi oblici. Međutim, takve organizacije razvijeno je sljedeće: uspješne su samo do određene razine kojom se postiže z modeli zrelosti za strateški izbor i usporedbu s ograničena učinkovitost poslovnog sustava. Razlog tome jest drugima (benchmarking) nejasno postavljena poslovna tehnologija, poslovni procesi najčešće nisu niti definirani, a ako i jesu, obično u njima ima z kritični faktori uspjeha za dovođenje IS procesa puno nelogičnosti, uskih grla, ponavljanja i praznih pod nadzor hodova.”(Krakar,str.149) z Uobičajeno pitanje “Kako bolje raditi ono što radimo?” zamjenjuju z ključni indikatori ciljeva za nadzor ostvarenja se s pitanjem “Zašto radimo ono što radimo i možemo li raditi ciljeva IS procesa nešto što daje veći učinak?” To je bio početak koncepta suvremenog BPI-a z ključni indikatori izvršenja za nadzor provedbe Izvor:http://www.foi.hr/studiji/dodiplomski/ unutar svakog IT procesa. IS/kolegiji/uis/nastavni_materijali.html

OIIS -2013/14 OIIS -2013/14

(Re)inžinjerstvo poslovnih (Re)inžinjerstvo poslovnih procesa procesa z Rezultat inženjeringa i reinženjeringa poslovnih procesa je z Reinženjering je mogućnost promjene industrijske organizacije i moderna poslovna organizacija. Koristi koji se dobivaju ovakovim načina upravljanja. Hammer i Champy (M. Hammer-a pristupom su: (Reeingineering work: don't automate - obliterate, 1990. g.), a z jasna vidljivost procesa, naročito knjigom M. Hammer-a i J. Champy-a (Reeingineering the Corporation, 1993. g.) zaključili su da reinženjering započinje z mogućnost njihovog preoblikovanja, strateškim pitanjem – kako bolje anticipirati stalne promjene želja z mogućnost otklanjanja nelogičnosti među procesima, kupaca i kako uspostaviti bolju poslovnu organizaciju da bi se z određivanje vremena i troškova procesa, postigla maksimalna poslovna uspješnost? z bolja integracija s dobavljačima i kupcima, z Definicija reinženjeringa prema ovim autorima kaže da je to z bolja integracija dijelova poslovnog sustava, temeljita promjena načina razmišljanja i radikalni redizajn z efikasnije upravljanje, organizacije putem poslovnih procesa na način da se postignu dramatična poboljšanja u bitnim značajkama, kao što su troškovi, z kvalitetnija i brža proizvodnja/usluge, kvaliteta, usluge i brzina. Ova definicija dakle sadrži 4 ključne z olakšana informatizacija itd.” (Krakar,str.149) riječi: temeljito, radikalno, dramatično i procesno.

OIIS -2013/14 OIIS -2013/14

Funkcionalni i procesni pristup Suvremeni modeli i metodolgije z Funkcionalni- z Procesni: stvaranje lanca z ARIS (Architecture of Integrated Information Systems) razvija se organizacija struktura vrijednosti radi postizanja cilja od 1992. g. kao metodika za cjelovito povezivanje poslovnog i informacijskog sustava (http://www2.ids-scheer.com)

računovodstvo i financije dodana z Zachman-ov kocept http://www.zifa.com/ vrijednost Ostali koncepti: upravljanje ljudskim resursima z CIMOSA nastao u okviru ESPRIT programa Europske zajednice, informacijski sustav z nastojanja IBM-ovog AD/CYCLE-a koja su rezultirala proizvodom administracija, opći i pravni poslovi AIX/CASE, sekundarni procesi z razvoj infrastrukture poslovnog sustava Microsoft-ov pristup vrlo sličan AD/CYCLE-ovom, objektno orijentirani koncepti itd. potpora nabava za skladištenje i prodaja i proizvodnja nakon proizvodnju distribucija marketing prodaje

primarni procesi Porterov lanac vrijednosti

OIIS -2013/14 OIIS -2013/14

23 O čemu treba voditi računa

Nemoguće je izgraditi učinkoviti programski sustav za korisnika koji Ako imate računalo pete ne zna što treba; sve što mu generacije, softver četvrte, napravite nije ono što on “očekuje” organizaciju treće a (Majdanžić) kadrove druge generacije sustav će raditi u drugoj generaciji (Srića) Ako napravite sustav koji i budala može koristiti, samo ANALIZA KORISNIČKIH budala će ga i koristiti (Shaw) ZAHTJEVA

OIIS -2013/14 OIIS -2013/14

Odakle se polazi u analizi Analiza zahtjeva – definicije zahtjeva z U softverskom inžinjerstvu obuhvaća zadatke z Intervjui, radne sjednice i promatranja korisnika u kojima se određuju potrebe ili uvjeti koje radu sustava mora imati alternativni proizvod uzimajući u z Združeni zahtjevi kao rezultat analiza zahtjeva obzir moguće konfliktne zahtjeve različitih korisnika i radnih sjednica (Joint requirements development) managera (poslovnih analitičara), strana (krajnjeg korisnika i kreatora sustava, izvršitelja i ICT stručnjaka radi utvrđivanja zahtjeva na primjer.) koji se preklapaju, ukrštavaju i/ili izvode paralelno i na sličan način z Liste zahtjeva koji su ugovorom definirani z Mjerljivosti izvršenja ciljeva

OIIS -2013/14 OIIS -2013/14

Analiza zahtjeva Što sadrži analiza zahtjeva

Što je zahtjev: Tri tipa aktivnosti: z IEEE standard definira zahtjeve kao: z Otkrivanje – utvrđivanje zahtjeva; opis svih zahtjeva nakon z Uvjet ili sposobnost koje korisnik treba da bi riješio problem ili ostvario cilj. komunikacije s korisnicima zahtjeva- modeliranje zahtjeva. z Uvjet ili sposobnost koji mora posjedovati sustav ili komponenta sustava da bi zadovoljila ugovor, standard, specifikacije ili neki drugi ugovoreni dokument. (3) z Analiza i komunikacija zahtjeva- određivanje jasnoće, cjelovitosti, z Dokumentiranu reprezentaciju uvjeta ili mogućnosti definiranih pod (1) ili (2). [IEEE Std 830-1998], [IEEE Std 610.12-1990] nedvosmislenosti, kontradiktornosti zahtjeva i njihovo potrebno z Zahtjev mora biti izvediv, mjerljiv, provjerljiv, vezan uz identificiranu poslovnu potrebu ili priliku i razrješenje i mogućnost upravljanja zahtjevima dovoljno jasno definiran da bude dostatan za oblikovanje novog sustava z Postizanje dogovora oko zahtjeva i bilježenje zahtjeva u nekom z Zahtjevi ne sadrže detalje dizajna, detalje implementacije ili informacije vezane uz planiranje projekta. Pažnja se usmjerava na ono ŠTO se želi izgraditi, a ne ulazi se u detalje dokumentiranom obliku (prirodnim jezikom- korisničke priče, kako i kada to napraviti. slučaja upotrebe ili procesne specifikacije) z Za 40-60% pogrešaka u projektu uzrok leži u pogreškama napravljenim u fazi postavljanja zahtjeva. [Leffingwell, 1997] http://en.wikipedia.org/wiki/Requirements_analysis z Tipična posljedica su "prazna očekivanja" (expectation gap): razlika između onog što očekuje naručitelj i onoga što je izvoditelj mislio da treba napraviti. Bashar Nuseibeh, Steve Easterbrook, Requirements Engineering: A Roadmap z Naknadne prepravke mogu predstavljati do 40% troškova razvoja, od čega je 70-85% pripisivo pogrešnim zahtjevima [Leffingwell, 1997]. z Nepotpuno definirani zahtjevi čine planiranje projekta i praćenje promjena (Izvor: http://www.zpm.fer.hr/courses/pis)

OIIS -2013/14 OIIS -2013/14

24 Primjer zahtjeva MZOŠ – Primjeri zahtjeva krajnjih sustav prehrane korisnika

Primjeri zahtjeva vlasnika sustava z Prehrana kod bilo kojeg pružatelja usluga z Očekivana novčana ušteda z Novi sustav mora omogućiti da student ostvaruje svoje pravo kod bilo kojeg pružatelja usluge subvencionorane prehrane. Dosadašnja praksa z Sustav mora biti tako koncipiran da prava na subvencioniranu je bila da svaki pružatelj usluga izdaje svoje bonove koji se mogu prehranu može koristiti samo student koji ih je stekao i da ih koristiti samo u određenim restoranima. može koristiti samo usvrhu prehrane. z Ukinuti plaćanje unaprijed z Sustav mora onemogućiti: z Treba izbjeći bilo kakvo plaćanje od strane studenata za potrebe ostvarivanja prava, a posebice unaprijed. z korištenje subvencije od strane osoba koje nemaju na to pravo z Ukloniti nepotrebne postupke za ostvarivanje prava z zaradu ilegalnih posrednika z Sustav mora biti tako koncipiran da kad se studentu jednom zavedu prava na z korištenje subvencije za druge svrhe osim prehrane naplatu matičnoj ustanovi nisu potrebna nikakva daljnja dokazivanja za ostvarivanje prava usluga koje nisu pružene kod pružatelja usluga. z Smanjiti rizik gubitka ostvarenih prava z U idealnom slučaju zahtjevi vlasnika podudaraju se s poslovnim ciljevima! z Sustav mora onemogućiti zloporabu stečenih prava. z Lakše ostvarivanje ostalih prava iz studentskog standarda (Izvor: http://www.zpm.fer.hr/courses/pis) z Npr. javni prijevoz po povlaštenoj cijeni, kazališta, kina, smještaj u studentskim domovima, student-servis, itd. (Izvor: http://www.zpm.fer.hr/courses/pis)

OIIS -2013/14 OIIS -2013/14

Vrste zahtjeva Vrste zahtjeva

z Poslovni zahtjevi (zašto) z Zahtjevi vanjskih sučelja z Načelni zahtjevi zbog kojih se projekt IS-a pokreće i koi su definirani u strateškim opredjeljenjima z Ovaj razred zahtjeva opisuje veze između sustava i vanjskog svijeta. Specifikacija tvrtke z sistemskih zahtjeva trebala bi uključivati odlomke za ove zahtjeve uključujući i sučelja z • primjer: poslovni zahtjev, "Omogućiti Internet prodaju“ z te mehanizme komunikacije za korisnike, hardver i druge softverske sustave. z Korisnički zahtjevi (zahtjevi krajnjih korisnika) z Ograničenja z opisuju zadatke koje korisnik mora moći obaviti služeći se aplikacijama z Ograničenja su uvjeti koji ograničavanju izbor rješenja raspoloživih dizajneru ili z sadržani u opisima slučajeva korištenja, tj. opisima scenarija rada z programeru. Spadaju u nefunkcionalne zahtjeve i trebaju biti dokumentirani. Neopravdana ograničenja treba pokušati odbaciti jer onemogućavaju postizanjenajboljeg rješenja. Također mogu umanjiti primjenu z Funkcionalni zahtjevi (što) komercijalnog softvera i z Funkciopnalni zahtjevi se mogu opisati kao skup ulaza, ponašanja, izlaza, manipulacije podatcima, z komponenti u rješenju. Neka ograničenja mogu pomoći u zadovoljavaju atributa kvalitete. Primjer je vrste obrade itd. poboljšanje prenosivosti programa korištenjem samo standardnih naredbi nekog računalnog jezika. z definiraju softversku funkcionalnost (očekivano ponašanje i operacije koje sustav z Definicije podataka z može izvoditi) koju treba ugraditi u proizvod da bi omogućio korisnicima obavljanje z Definicija podataka je bilo koji opis formata, dozvoljenih vrijednosti, pretpostavljenih vrijednosti ili z njihovih zadataka kompozicija složenih podatkovnih struktura. Sve definicije bi trebalo pohraniti u rječnik podataka, kao z Nefunkcionalni zahtjevi (kako ili kako dobro) glavno kazalo za sudionike na projektu. z su zahtjevi koji se mogu smatrati ograničenjima ili zahtjevima za kvalitetom izvedbe; Tipični su takvi z Ideje o rješenju zahtjevi raspoloživost sustava, proširivost i troškovi, z Ako korisnik opisuje specifičan način interakcije sa sustavom kojom bi mogao obaviti neku akciju, npr. z standardi, pravila i ugovori kojih se proizvod mora pridržavati, opisi vanjskih sučelja, «Korisnik odabire podatak koji on želi iz padajuće liste», on predlaže rješenje, a ne zahtjev. Predloženo rješenje može odvući pažnju od pravih zahtjeva.Kod postavljanja zahtjeva treba se usmjeriti na ono što je z zahtjevi na performance, ograničenja na dizajn i implementaciju, te svojstva kvalitete potrebno obaviti, a ne na način realizacije. Treba istražiti zašto korisnik predlaže određenu ugradnju jer z (preciziraju opis proizvoda navodeći karakteristike proizvoda u različitim dimenzija to može pomoći u razumijevanju stvarne potrebe i korisnikovih očekivanja o načinu kako bi sustav trebao z koja su važne ili korisniku, ili graditelju) raditi. (Izvor: http://www.zpm.fer.hr/courses/pis) (Izvor: http://www.zpm.fer.hr/courses/pis)

OIIS -2013/14 OIIS -2013/14

Analiza prioriteta zahtjeva Dokumentiranje analize zahtjeva z Nužno svojstvo - Da li vlasnik sustava nešto stvarno mora imati? z Definicija zahtjeva (Requirements Definition) z Postoji tendencija da se previše zahtjeva proglasi nužnim! z izjava o stanju i ograničenjima sustava te potrebama - narativni dokument z Po definiciji, ako sustav ne uključuje nužne zahtjeve, taj sustav ne može namijenjen korisniku ili ga piše korisnik ispuniti svoju svrhu. z poslovni i korisnički zahtjevi te njihovi prioriteti z Treba testirati svaki zahtjev koji se smatra nužnim i probati ga rangirati. z uočeni problemi, ključne pretpostavke i preporuke rješenja z Ako se zahtjev može rangirati onda nije obvezan! z Specifikacija zahtjeva (Requirements Specification) z Potpuno obvezni zahtjevi se ne mogu rangirati jer su nužni za prvu z često se naziva i funkcionalnom specifikacijom - strukturirani dokument s z verziju sustava! detaljnim opisom očekivanog ponašanja sustava -namijenjen ugovarateljima i izvoditeljima razvoja z Poželjno svojstvo - Funkcije koje korisnik želi na kraju imati z ugradbeno nezavisan pogled na sustav z Ranije verzije sustava mogu pružiti (ne potpunu) funkcionalnost bez tih z funkcionalni i nefunkcionalni zahtjevi te njihovi prioriteti z zahtjeva. z model organizacijske strukture (strukturni dijagrami) z Poželjni zahtjevi mogu i trebaju biti rangirani. z opis protoka dokumenata (dijagrami toka) z Neobvezna svojstva - Proizvoljni zahtjevi z model procesa (dijagram toka podataka) z Svojstva i mogućnosti bez kojih se može iako bi ih lijepo bilo imati, to nisu pravi zahtjevi. Ovi zahtjevi također mogu biti rangirani. z konceptualni model podataka (dijagram entiteti-veze)

OIIS -2013/14 OIIS -2013/14

25 Kakteristike dobro Rizici lošeg planiranja zahtjeva postavljenih zahtjeva z Nedovoljna uključenost korisnika z bez korisnika ne može se točno znati što korisnici žele neprihvatljivi proizvodi z Cilj je napisati dovoljno dobre zahtjeve, na z Čudni korisnički zahtjevi z neopravdana promjena mišljenja tijekom izvedbe prekoračenja rokova i temelju kojih se može pristupiti dizajnu degradacije kvalitete proizvoda z Nejasni (dvosmisleni) zahtjevi iugradnji uz prihvatljiv stupanj rizika. z situacija u kojoj čitatelj(i) zahtjeva zahtjev tumače na više načina z Gubljenje vremena i prepravljanje z Svrha: dobro postavljeni zahtjevi su z Pretjerano ukrašavanje z želja izvođača da dodaju novu funkcionalnost "koja bi se trebala svidjeti korisnima" i osnova za dobro oblikovanje sustava zahtjev korisnika za dodacima koji dobro izgledaju ali ne pridonose z Funkcionalnosti z nepotrebni dodaci i gubljenje vremena z minimalističke specifikacije - tendencija postavljanja minimalnih zahtjeva ili skiciranja koncepta, uz želju da ih izvođači nadopune tijekom izvedbe z frustracije izvođača, neispunjena, očekivanja korisnika z Zanemarivanje potreba z zanemarivanje potreba određenih (grupa) korisnika stvaranje 'opozicije‘ projektu

OIIS -2013/14 OIIS -2013/14

Karakteristike dobro Nedovoljno dobro definirani postavljenih zahtjeva zahtjevi

Zahjtev Opis

Kohezivnost Zahtjev definira jednu i samo jednu stvar Nedovoljno definirani zahtjevi Cjelovitost Zahtjev je u potpunost definiran na jednom z Ponekad nedostaju informacije o nekom zahtjevu. mjestu bez nedostataka z Takve zahtjeve treba dosljedno označiti posebnom, dogovorenom oznakom Konzistentnost Zahtjev nije kontradiktoran ni s koim drugim npr. TBD (engl. To Be Determined - za odlučiti, razlučiti). Dokument se zahtjevom ili vanjskim zahtjevom kasnije može pretraživati po tim oznakama. Korektnost Zahtjev u potpunosti udovoljava zahtjevima z Implementaciju ovakvih zahtjeva treba odgoditi do razrješenja nedoumice ili poslovodstva i korisnika barem treba dizajnirati one dijelove sustava koje je lako promijeniti kad se zahtjev konačno definira. Aktualnost Zahtjev će biti aktualan duže vrijeme z U suprotnom će programeri zahtjev ugraditi prema vlastitom nahođenju, Observabilnost Zahtjev je vidljiv (prepoznatljiv) vanjskom koje ne mora biti točno. korisniku i respektira ograničenja Izvodljivost Zahtjev je izvediv u okviru ograničenja projekta

Nedvosmislenost Zahtjev je jasno iskazan i opisan

Provjerljivost Zahtjev se može provjeriti isnpekcijom, analizom ili testiranjem na sustavu

OIIS -2013/14 OIIS -2013/14

KOJE INFORMACIJE TREBAJU Kako doći do informacija

z Intervjui s ključnim korisnicima i radne sjednice z Korisnički zahtjevi z Ako naručitelj zapošljava informatičare svakako ih treba uključiti u analizu. z Sučeljavanje korisnika i informatičara ubrzava rješavanje proturječnih iskaza. z Intervjui z Upitnici i ankete z Nadomjestak za intervju ili prikupljanje informacija o resursima. z Analiza dokumentacije z Upitnici i ankete z Treba prikupiti sve dokumente značajne za poslovanje, radi boljeg utvrđivanja pravila, z poslovne politike, ciljeva poslovanja te strukture informacija. z Informacije o postojećem sustavu z Prosudba postojećih rješenja na računalu z Nužna je prosudba postojećih aplikacija i/ili računalom podržanih podataka, radi analize podataka ali i zbog njihove konverzije u novi sustav. z Informacije o aplikacijama – softverska z Promatranje z Neposredni uvid u poslovne procese promatranjem radnih sredina (način izrade i rješenja z razmjene dokumenata, procesi osnovne djelatnosti). z Drugi načini z Dokumentacija z Prototipiranje, … z Postupak analize mora biti prilagođen korisniku. z Evidentiranje rezultata analize poželjno je obaviti CASE pomagalom. z Poslovni procesi i informacijski tokovi

OIIS -2013/14 OIIS -2013/14

26 Intervjui Tehnika intervjua z Intervju – ispitivanje pojedinca kroz razgovor s planiranim pitanjima ali i s mogućnošću prilagođavanja s neplaniranim pitanjima; ispitanik ima punu z Priprema za razgovor slobodu odgovaranja z utvrđivanje informacija koje treba saznati z Ispitanici z Neposredni korisnici, rukovoditelji, suradnci z proučavanje postojeće dokumentacije i prethodnih z Ispitivač: osoba iz projektnog tima; organizator, planer, projektant nalaza z Individualni intervju – ispitivanje pojedinca ili grupe koja se bavi istim poslom z određivanje dokumentacije koju bi trebalo prikupiti z Grupni intervju – ispitivanje grupe u kojoj su korisnici iz više različitih ali međusobno povezanih područja z priprema pitanja koja će biti postavljena tijekom razgovora z Primjer intervjua: z izrada jezgre tema, to jest standardnih pitanja z Analiza rezultata intervjuiranja; rijetko se samo jednim krugom intervjuiranja z dobiva skup svih potrebnih informacija već se intervju ponavlja za neke izrada sveobuhvatnog podsjetnika i izdvajanje korisnike i/ili skupine korisnika prikladnih pitanja

OIIS -2013/14 OIIS -2013/14

Upitnici i ankete Proučavanje dokumenata z Upitnik (pismeni intervju) z Prikuplja se sve do čega se može doći z sadrži pitanja koja se postavljaju tijekom razgovora (okvirno 20) z Analiza procesa z može se dostaviti korisniku prije, umjesto ili nakon intervjua z Tipični dokumenti: pravilnici i zakoni z nedostaci: z Analiza podataka z ispitanik može prilagoditi (kontrolirati) svoje odgovore z Tipični dokumenti: obrasci (formulari), izvješća z teško je procijeniti iskrenost (spontanost) odgovora z Poželjno je da dokumenti budu reprezentativni, tj. popunjeni na tipičan način. z može obeshrabriti ispitanika z Tako se može ustanoviti koje informacije se uopće unose i na kakav način. z Anketa (inventar) z Reprezentativni dokumenti najčešće ne ukazuju na izuzetke, to jest podatke koji se z može se obuhvatiti više ispitanika rjeđe bilježe ali ipak trebaju. z pitanja zatvorenog tipa z Također, stalno bilježenje nekih podataka ne mora značiti da su ti podaci stvarno z odgovori i obrada odgovora mogu se standardizirati potrebni. z pogodna za popis resursa z Treba prikupiti više uzoraka iste vrste dokumenta! ( sampliranje) z Primjer: IS-Resursi z Vrijednost informacija o analiziranoj organizaciji prikupljena (samo) preko z Intervjuiranje je elastičnije! dokumenata je niska. z Pomoću intervjua može se više naučiti o stavovima, osjećajima i motivaciji osoblja. z Praksa može odudarati od pravilnika i administrativnih obrazaca. z Tijekom intervjua analitičar i ispitanik nalaze se jedan nasuprot drugom, pa analitičar z z može promatrati način na koji ispitanik odgovara i po potrebi proširiti ili usmjeriti Treba shvatiti zašto i kada dokumenti nastaju, kako se popunjavaju, koliko su potrebni z pitanja. te što treba promijeniti da bi ih se popravilo (sadržaj, lakoća popunjavanja i čitanja) (Izvor: http://www.zpm.fer.hr/courses/pis) z Nužno je modele (podataka) razlučene analizom provjeriti kod korisnika. (Izvor: Kalpić, PIS)

OIIS -2013/14 OIIS -2013/14

Analiza postojećih aplikacija Analiza postojećih aplikacija z Procjena aplikacija i (baza) podataka u primjeni z Nedostaci modela podataka z korišteni programski jezici i pomagala, uključujući programe za uredsko z Različitost modela podataka postojećih aplikacija poslovanje (npr. Excel) z entiteti iz stvarnog svijeta nisu jednako zastupljeni u postojećim modelima z podržane funkcije i način posluživanja programa z isti entitet iz stvarnog svijeta pojavljuje se pod različitim nazivima z međusobna povezanost različitih aplikacija i podataka z isti entitet iz stvarnog svijeta opisan je različitim atributima z postojeće platforme (računalo, operacijski sustav, mreža, SUBP) z dva ili više entiteta iz stvarnog svijeta prikazano je različitim brojem entiteta u z sastav i stupanj informatičke izobrazbe korisnika z podatkovnim modelima z Nedostaci sklopovske opreme i programske podrške z Nedostaci unutar pojedinog modela z nepovezanost aplikacija (tzv. informatički otoci) z nedefiniranost identifikatora (primarnih ključeva) z loša programska rješenja (funkcionalnost, ergonomija) z nedefiniranost veza među podacima, najčešće kao posljedica nepostojanja z nepouzdanost primarnih ključeva z integritet, zaštita i sigurnost podataka z nedefiniranost veza unatoč postojanju primarnih i (drugih) stranih ključeva, kao posljedica razvoja tijekom uporabe i nedosljednosti z nepostojanje programske dokumentacije z naglašena zalihost uvedena prilikom izrade zahtjevnih ili složenih programskih z tehnološka zastarjelost (programski jezici i alati, nemogućnost rada u rješenja višekorisničkom okruženju, grafičko sučelje) z ukupna nenormaliziranost modela

OIIS -2013/14 OIIS -2013/14

27 Promatranje procesa poslovnog sustava Radni sastanci i sjednice z Uvid u poslovne procese promatranjem radnih sredina z promatra se lokacija i kretanje ljudi te tijek izvršavanja poslova z Radni sastanci, sjednice (workshop) z fizički ulazi i izlazi sustava z zaprimanje, izrada i razmjena dokumenata z z procesi osnovne djelatnosti, primjerice proizvodnja analitičari i korisnici zajednički provode analizu i z Prednosti oblikovanje z analitičar je u stanju realno sagledati poslovni proces z učinkovitost, ako se dobro provede z pouzdanost prikupljenih informacija z Cilj sjednice je (zajedničko) z Nedostaci z neučinkovitost, ako se dobro ne provede pronalaženjenajboljeg rješenja z utrošak vremena z ometanje i neugoda promatranih osoba z mogućnost manipulacije promatrača npr. prikrivanjem uobičajenog kršenja radnih procedura z poseban prostor i izolacija z Dužina i učestalost promatranja z Podaci dobiveni iz malog broja kratkotrajnih promatranja mogu biti nepouzdani inetočni. z moderator, dnevni red i zapisnici z Promatranje na licu mjesta je najteža metoda za pronalaženja činjenica.

OIIS -2013/14 OIIS -2013/14

Radni sastanci i sjednice Razvoj prototipa z Prednosti Prototipiranje (prototyping) z Sjednice su pogodne za projekte kojima se rješavaju problemi važni za čitavu z Koristi se kada korisnik ne može točno definirati svoje informacijske organizaciju ili veći dio poslovanja. potrebe prije nego što se izgradi informacijski sustav. z Izbjegavanje specifičnih (egzotičnih) i nejasnih zahtjeva z Preciznije ustanovljavanje dosega projekta z Razlog tomu može biti nedostatak postojećeg modela na kojem bi z Bolje uočavanje proturječnih zahtjeva korisnik zasnivao svoje potrebe ili pak teška vizualizacija budućeg z Nedostaci sustava. z sadržaj i dinamika z Izrada prototipa z pasivnost sudionika z Izgrađuje se sustav koji zadovoljava neke osnovne, inicijalne potrebe. z “usitnjavanje” razgovora z U radu s takvim sustavom korisnik otkriva svoje informacijske potrebe te se z udaljavanje od tema z sustav modificira kako bi se zadovoljile te potrebe. z trajanje z Postupak korištenje sustava i modificiranja istog iterativno se ponavlja, a z sjednice bi trebale trajati više dana (5-10) u nekoliko tjedana informacijske potrebe korisnika otkrivaju korištenjem sustava. z ovom zahtjevu u praksi je vrlo teško udovoljiti zbog obveza sudionika z z otpor sjednici i pratećoj izolaciji Izrada prototipa pogodna je u onim okruženjima gdje je teško z razmjeran je razini položaja konkretnog sudionika definirati konkretni model sustava te u okruženjima gdje z naglašen kada poduzeće zapošljava informatičare, jer se podrazumijeva da je informatizacija isključivo njihov posao. z Tehnika brainstorminga

OIIS -2013/14 OIIS -2013/14

Najčešći problemi pri prikupljanju informacija

Ponašanja korisnika z Taktika kuhinjskog sudopera z korisnik navodi (preko)brojne potrebe: hrpu nepotrebnih izvještaja, formi, sortiranja, izračuna i sl. z ovakav pristup obično je uzrokovan pomanjkanjem iskustva korisnika koji ne zna što bi mu stvarno trebalo zatrebati ili nije u stanju razlučiti ono što je bitno z Taktika dimne zavjese z korisnik traži više mogućnosti a zapravo mu je potrebna samo jedna ili dvije z dodatni zahtjevi služe za postizanje bolje nagodbe s analitičarom z taktika obično oslikava korisnika s dobrim poznavanjem onoga što želi, a zahtjeve z treba reducirati na one realne i izvodljive z Taktika "Treba mi isto ali u boljem obliku" z korisnik koji koristi ovu taktiku nedostaje volja ili znanje, a ponekad oboje z šanse za uspješno definiranje problema su male jer samo korisnik može izraziti svoje potrebe i probleme z Korisnik je sklon prešutjeti izuzetke, koji su bitni (nužni !!!) za uspješnu realizaciju, a obično zahtijevaju i najviše napora tijekom ugradnje. STUDIJA IZVODLJIVOSTI IS-A "To je naša jedina procedura … (osim kada …)" z Ne izjednačavati “tako se uvijek radi” s “tako treba raditi”! (Izvor: http://www.zpm.fer.hr/courses/pis)

OIIS -2013/14 OIIS -2013/14

28 Analiza izvodljivosti – studija izvodljivosti Tehnološka izvodljivost

z Analiza i procjena mogućih rješenja z Svrha: provjera izvodljivosti sustava s z Procjena softverskih zahtjeva različitih stanovišta; izvješće – studija z Operacijski sustavi i upravljanje komunikacijama z Mreže i sigurnost izvodljivosti projekta sastavni je dio idejnog z Baze podataka, aplikacijski i razvojni softver projekta sustava: z Procjena hardverskih rješenja u odnosu aktuelne trendove z Serveri z Aspekti: z Komunikacije i mreže z Radne stanice z Tehnološka izvodljivost z Periferije z Procjena novih rješenja i iskoristivost postojećih rješenja z Ekonomska izvodljivost (hardverskih i sofvertskih) z Procjena stručnosti i sposobnsoti korisnika za usvajanje novih z Operativna izvodljivost tehnoloških rješenja z Procjena vremena i sredstava za prihvaćanje izvodljivosti -> z Vremenska izvodljivost vremenska studija, ekonomska studija

OIIS -2013/14 OIIS -2013/14

Operativna izvodljivost Vremenska izvodljivost

Procjena performanci budućeg sustava z Procjena vremena za realizaciju i punu z Brzina obradbe u odnosu na postojeći sustav funkcionalnost sustava z Obuhvat podataka i kvaliteta izlaznih informacija z Učinkovitost resursa – ljudi, opreme, programa z Očekivano vrijeme realizacije sustava z Kontrolabilnost sustava z Poželjni rokovi z Pitanja sigurnosti sustava z Čvrsti rok do kada sustav mora profunkcionirati z Pouzdanost i lakoća ispravka grešaka u sustavu z Lakoća korištenja i prolagođenost korisničkim zahtjevima z Izvodljivost pojedinih faza i angažman resursa po z Upotrebljivost sustava za zadatak, mjesto, zahtjev i raspoložive fazama podatke z Procjena alternativnih puteva realizacije i vremena z Prenosivost podataka s postojećeg na novi sustav potrebnog za realizaciju alternativa

OIIS -2013/14 OIIS -2013/14

Ekonomska izvodljivost- Ekonomska izvodljivost nastavak z Procjenjuju se troškovi i koristi od izgradnje sustava kroz z Analiza trošak – korist financijske vrijednosti z Financijski izraz za troškove z Troškovi z Financijski izraz za koristi od sustatva z Troškovi razvoja sustava (fiksni troškovi projekta) z Vrijeme povrata investicija z Troškovi opreme z Prosječna stopa povrata z Troškovi softvera z Neto sadašnja vrijednost ulaganja z Plaće i honorari z z Troškovi obuke i izobrazbe Interna stopa rentabilnosti z Troškovi primjene i eksploatacije sustava z Nemjerljivi troškovi i koristi sustava z Naknade za održavanje sustava z (ne)zadovoljstvo korisnika upotrebom sustava z Troškovi licenci z Prekidi u radu i “iskakanje” sustava z Režijski troškovi (struja, telefoni, naknade za korištenje linija) z Lakoća korištenja sustavskih rješenja z Plaće zaposlenika na sustavu z Kvaliteta informacija s aspekta odlučivanja

OIIS -2013/14 OIIS -2013/14

29 Problemi ekonomske procjene Ekonomska izvodljivost z Procjena troškova je relativno jednostavna i egzaktna Trošak/korist Godina 0 Godina1 Godina 2 Godina3 Godina 4 Godina 5 Godina 6 Trošak razvoja 100000 z Procjena koristi a pogotovo njihovo mjerenje nije Primjena i odžavanje 0 10000 11000 12000 13000 14000 15000

jednostavno niti standardizirano. Faktor za kamatu 12% 1 0,893 0,797 0,712 0,636 0,567 0,507 z Direktne koristi: integracija podataka, ubrzani rad Trenutna vrijednost 100000 8930 8767 8544 8268 7938 7605

(unos, obrada, izvješčivanje) i ubrzano pretraživanje Kumulativni trošak 100000 108930 117697 126241 134509 142447 150052 podataka. Problem: mjerenje z Efikasan informacijski sustav doprinosi povećanju Primitci (koristi) 0 30000 38000 45000 46000 48000 55000 prihoda; mjerljivi pokazatelj ali je doprinos IS-a Faktor za kamatu 12% 1 0,893 0,797 0,712 0,636 0,567 0,507 nejasan Trenutna vrijednost 0 26790 30286 32040 29256 27216 27885 z Indirektne koristi odnosno smanjenje troškova Kumulativna korist 0 26790 57076 89116 118372 145588 173473 uvođenjem novog sustava 0123456 Razlika trošak - korist -100000 -82140 -60621 -37125 -16137 3141 23421

OIIS -2013/14 OIIS -2013/14

Ekonomska izvodljivost Točka povrata Modeliranje funkcija,

40000 procesa i događaja 20000 0 Razlika trošak - -20000 1234567 korist -40000 -60000 -80000 -100000 -120000

OIIS -2013/14 OIIS -2013/14

Kompleksnost poslovnih sustava i nužnost dekompozicije Osnovna polazišta

Stvarni problemi su preveliki i presloženi da bi ih se riješilo odjednom (“u Proces (elementarni, primitivni Aktivnost komadu”) proces) z strukturno raščlanjivanje, rastavljanje z Skup međusobno povezanih z Djelovanje nekog ili nečeg u Logički procesi: funkcije, događaji i elementarni procesi aktivnosti ili zadataka koji proizvode specifičan rezultat za sustavu i sustava samog što z rad i akcije koji se obavljaju bez obzira na način ugradnje i resurse sustava (ljudi, strojevi, softver) nekog klijenta proizvodi neki rezultat ili z postupak, način rada, dosljedna kontrolu izmjena stanja Postupak dekompozicije z diskretna odluka, aktivnost ili z Slijed koraka (radnog toka) koji zadatak kojima se obavlja neki se izvode u okviru funkcije i/ili Sustav se razlaže i opisuje hijerarhijskim modelima posao procesa z modeli sustava oblikuju se iterativnim razlaganjem s vrha prema dolje razlagati z proces se obavlja uvijek na se mogu jednak način (za određeni ulaz daje isti izlaz) z funkcije i procesi z trajanje procesa je konačno i z organizacijska struktura odredivo (poznati početak, z struktura podataka završetak, ponavljanje) z struktura programske opreme z za obavljanje se koriste z Aplikacijski model procesa = logički model procesa sustava ili aplikacije sredstva, npr. ljudska, koji se radi u fazi analize materijalna (strojevi), financijska

OIIS -2013/14 OIIS -2013/14

30 Osnovna polazišta Procesi u sistemskom okviru

Kako Strukturni Funkcija Događaj (Procesi) modeli z skup logički povezanih trajnih z logički dio posla koji se obavlja kao poslovnih aktivnosti i zadataka nedjeljiva cjelina česti naziv (djelatnost, posao) transakcija Kontekst Lista IDEF0 – z funkcija se obavlja stalno (nema z pokreće se diskretnim ulazom i (Poslovni procesa dijagram određeni početak i kraj) završava nakon što proces model) konteksta z funkciju obavljaju osobe, grupe odgovoriodgovarajućim izlazom djelatnika ili organizacijske cjeline IDEF0 – z poslovni događaj može se Koncept Model z tipični primjeri: prodaja, proizvodnja, predstaviti jednim procesom kojim konceptualni (Sistemski procesa dijagram otprema, računovodstvo sustav reagira na taj događaj model) z funkcija se može sastojati od z logički događaj dalje se razlaže do IDEF0 desetina pa i stotina diskretnih elementarnih procesa kojima se prikazuje reakcija sustava na taj Logika Dijagram Razrada do procesa procesa elementarnih događaj Poslovna z funkcije se mogu hijerarhijski razložiti ( procesa (Poslovna do razine diskretnih procesa koji z Okidač – triger za aktivnost koja iz logika) logika) obavljaju njega proizlazi Specifikacija z određeni zadatak kojim odgovaraju na Fizička IDEF0 - poslovne događaje Osnova procesa Fizička osnova (Tehnologija) (Tehnologija) funkcija Detalji Procesni IDEF0 - (Detaljna detalji OIIS -2013/14 (Detaljna OIIS -2013/14 reprezentacija) reprezentacija)

Poslovna pravila i poslovna Procesi u sistemskom okviru politika Kako Što Strukturni (Procesi) (Sredstva) modeli Poslovno pravilo, poslovna politika z poslovno pravilo - instrukcije i logika koji određuju proceduru Kontekst Lista Lista entiteta DFD obavljanja procesa (Poslovni procesa dijagram z ugrađuje se u računalni program (npr. preduvjeti izlaska na ispit, broj model) polaganja ispita, uvjeti upisa) konteksta z poslovna politika – skup poslovnih pravila Koncept Model Entitet – DFD procesa z u većini organizacija podloga za donošenje odluka (Sistemski odnos konceptualni model) model z Primjer: zaprimanje robe na skladištu i knjiženje ulaznih + dijagram dokumenata Dijagram + Model Logika DFD (Poslovna z Temeljem ulaznih dokumenata (račun-otpremnica, tovarni list, carinska procesa dijagrama (Poslovna logika) deklaracija) provjerava se kvantiteta i kvaliteta isporučene robe. Glavni logika) podataka skladištar unosi podatke o primljenoj robi sa svim stavkama iz prateće dokumentacije. Račun otpremnica knjiži se u knjigovodstvu dobavljača. Fizička Specifikacija Specifikac. Workflow - Zadužuje se skladište i obračunava vrijednost robe. Obračunati porez Osnova procesa Podatkov. funkcija entiteta na dodanu vrijednost predstavlja pretporez za umanjenje poreznih (Tehnologija) obveza za mjesec u kojem je porezna obveza nastala. Detalji Procesni Detalji Detalji DFD - (Detaljna detalji podataka programa reprezentacija) OIIS -2013/14 (Detaljna OIIS -2013/14 reprezentacija)

Poslovna pravila - Izbor modela za oblikovanje karakteristike procesa, funkcija i događaja

z Deklarativnost: poslovno pravilo je izjava istinitosti o organizaciji. 1. Strukturni modeli temeljeni na SAS (strukturna analiza Njezina je namjera da opiše operacije u organizaciji a ne da ih sustava) i SSADM metodologiji: propiše; poslovno pravilo se otkriva ili uočava a ne kreira. 1. IDEF0 – modeliranje funkcija (funkcionalnosti) sustava z Elementarno pravilo: pravilo je ili u potpunosti istinito ili u 2. modeliranje tokova procesa (događaja, aktivnosti i objekata potpunosti krivo. koji sudjeluju u procesu i ograničenja) IDEF3 z Modeliranje promjena stanja objekata u procesima z Razlikovnost i neovisni konstrukt: razdvojite pravila od procesa, ne izgrađujte ciklične ovisnosti i pojednostavite konstrukciju z (kako objekti mijenjaju stanja u procesu (DFD) z koji procesi i kada mijanjaju ta stanja (EPC) pravila z Modeliranje resursa – sudionika i njihovih aktivnosti (BPN) z Izrazite pravilo u prirodnom jeziku bez upotrebe tehničkog 2. Objektno orijentirani modeli (UML) žargona 1. Dijagram aktivnosti z Pravilo mora biti orijentirano poslovanju a ne tehnologiji 2. Dijagram slučajeva, z Pravila su rezultat poslovnih odluka a ne korištene tehnologije od 3. Dijagram klasa koje bi trebale biti neovisne (Izvor: http://en.wikipedia.org/wiki/Business_rules) 4. Dijagram slijeda

OIIS -2013/14 OIIS -2013/14

31 Strukturni modeli: modeliranje funkcija Dijagram dekompozicije funkcija Funkcionalna dekompozicija, dekompozicija funkcija •koristi se za izradu općeg modela funkcija (modela poslovnih POSLOVNI Dijagram funkcionalne dekompozicije funkcija) promatranog sustava u fazi planiranja SUSTAV •strukturirano planiranje 0 z eng. Functional Decomposition Diagram (FDD) •hijerarhija funkcija iterativno se razlaže do razine procesa, tj. do trenutka kada se počne opisivati što se nekom funkcijom obavlja z ista notacija koristi se za razlaganje bilo koje hijerarhijske Poslovna Poslovna strukture pa se često zove samo Dijagram dekompozicije ili funkcija funkcija Poslovni sustav 1 2 Mapa hijerarhije 0 Elementi Aktivnost funkcije Aktivnost funkcije Funkcija Aktivnost Aktivnost Aktivnost Aktivnost 1.1. 1.2. sustava funkcije funkcije funkcije funkcije 2.2. z funkcije - označavaju se (glagolskom) imenicom, npr. Prodaja, Zadatak Zadatak 1 Zadatak 1.1. 1.2. 2.1. 1.1.1. 1.1.2. 1.2.1. Proizvodnja Zadatak Zadatak Zadatak 1.1.3. 1.2.2. Zadatak Zadatak Zadatak 2.2.1. 1.1.1. 1.2.1. 2.1.1. z procesi - označavaju se glagolskim izrazom oblika infinitiv+objekt

Zadatak z Aktivnost funkcije Zadatak Zadatak Zadatak spojnice - spojevi između funkcija i procesa (connector) Fukcija Aktivnost funkcije 1.1.2. 1.2.2. 2.1.2. 2.2.2. 2.1. sustava 2.2. z vanjski spojevi -- spojevi s dijelovima dijagrama na drugim Zadatak Zadatak 2 Zadatak Zadatak Zadatak Zadatak Zadatak 2.1.1. 2.1.2. 2.1.3. 2.2.1. 2.2.2. 1.1.3. 2.2.3. stranicama (offpageconnector) Zadatak Zadatak Zadatak 2.1.3. 2.1.4. 2.2.3. Zadatak 2.1.4.

OIIS -2013/14 OIIS -2013/14

Dijagram poslovne Izrada dijagrama dekompozicije organizacije Shema, mapa, karta organizacije (Organization chart) Postupak • prikaz strukture organizacije hijerarhijom kutija ("kućica") z Korijen = sustav z Razrada u podsustave i poslovne funkcije • svaka kutija reprezentira određenu ulogu ili odgovornost u z Daljnja razrada do razine operacionalizacije organizaciji Pravila z svaki proces je roditelj ili dijete Primjer: EFOS z roditelj mora imati barem dvoje djece z po većini standarda, dijete smije imati samo jednog roditelja Preporuke z izostaviti procese koji samo premiještaju ili preusmjeravaju podatke, a da ih pri tom ostavljaju nedirnute z pažnju usmjeriti na procese koji z nešto računaju (npr. prosjek ocjena) z donose ili potpomažu odluke (npr. određivanje raspoloživosti robe pri naručivanju) z filtriraju ili sumariziraju podatke (npr. računi kojima je istekao rok plaćanja) z organiziraju podatke u korisne informacije (npr. generiranje izvješća) z pokreću druge procese (npr. mijenjaju modalitet rada stroja) z rukuju podacima (npr. stvaranje, čitanje, ažuriranje, brisanje) - Ne pretjerivati!

OIIS -2013/14 OIIS -2013/14

Modeliranje poslovnih funkcija i procesa - metodologija Dijagram funkcija IDEF0 z Business Process Modeling (IDEF0) (http://www.idef.com/IDEF0.html) z tehnika strukturirane analize i dizajna (Structured Analysis and Design Technique - SADT®, SofTech, 1960-ih), zamišljena kao inženjerska disciplina za razvoj složenih sustava koji uključuju strojeve i ljude; metoda za oblikovanje poslovnih funkcija z Grafički prikaz poslovnih procesa i angažiranih resursa z proces – niz aktivnosti (funkcija) z aktivnost – prikazana ICOM konceptom z ulaz (I=Input): nešto što se troši u procesu - opcionalan z upravljanje (C=Control): ograničenje na obavljanje procesa - obvezno z izlaz (O=Output): rezultat procesa - obvezan z mehanizam (M=Mechanism): koristi se u procesu, ali se ne troši - opcionalan Opća notacija IDEF0: kontekst

OIIS -2013/14 OIIS -2013/14

32 IDEF0- dijagram konteksta- IDEF0 – dijagram funkcija i primjer aktivnosti – 1.razina z Oblikovanje sustava hijerarhijom ugniježdenih aktivnosti Broj narudžbe z Aktivnost konteksta - Inf. O novom OBRADA korisniku Tovarni list vrh hijerarhije, NARUDŽBI Verifikacija Račun- predstavlja čitav plaćanja A0 otpremnica sustav

OIIS -2013/14 OIIS -2013/14

Razrada poslovnih funkcija Dekompozicija procesa X 0 DIJAGRAM Entitet A Z Entitet B KONTEKSTA Y Informacijski sustav

Radna procedura, poslovna procedura (workflow) Dekompozicija procesa DFD dijagram z slijed koraka obrade koji u potpunosti obrađuje jednu poslovnu transakciju z polazni dijagram ili dijagram konteksta RAZINA 0 (context diagram) hijerarhijski se razlaže na 1 poddijagrame do razine osnovnih procesa Entitet A X z definira logiku obrade i precizira nositelja Proces T z proces na nekoj razini (parent) razrađuje se z može imati više varijanti (scenarija) B (explode) dijagramom na nižoj razini (child) Y 2 3 Entitet B Tehnike modeliranja – leveling = nivelizacija Z A z preporuča se izrada dijagrama koji sadrže D1 Spremište N Proces U Proces V z u širinu - svaki dijagram se detaljizira prije dekomponiranja (breadth-first) podataka N između 2 i 9 procesa, a poželjno je slijediti N z u dubinu - identificira se hijerarhija, a zatim se detaljizira (depth-first) “pravilo 7±2” z postupak se zaustavlja kada postane DFD dijagram Razina dekompozicije (Kada stati) očigledna ugradnja implementacija) RAZINA 1 2.1. B J z postupak se provodi do dubine dovoljne za razumijevanje modela (!?) procesa na najnižoj razini Proces D z napredak do stanja u kojem ulazi i izlazi prevladaju na dijagramu Preporuke za označavanje elemenata G 2.2. 2.3. z procesi - hijerarhijske brojčane oznake, z nastavak se može provesti G A razina konteksta = 0 D1 Spremište N Proces E Proces F Y podataka N N z oblikovanjem tokova procesa (IDEF3) ili z spremišta, izvori i odredišta – nazivlje z oblikovanjem tokova podataka (DFD) velikim slovima, oznake oblika slovo ili slovo+broj DFD dijagram Napomena: pomagala opće namjene, kao što je Visio, podržavaju neke RAZINA 1 2.2.1. z procesi i tokovi podataka - malim slovima dijagrameformalnih tehnika ali ih različito zovu ili se notacija razlikuje od izvorne H1 G1 Proces K (grupedijagrama Business Process i Flowchart, npr. IDEF0, Cross Functional H FlowChart) Q H2 2.2.2. G D1 Spremište N 2.2.3. podataka N Proces L R N S Proces M G2 OIIS -2013/14 OIIS -2013/14

Modeliranje funkcija IDEF0 Modeliranje procesa z Procedura u VISIO programu z Opisuje procese čijim se djelovanjem z Funkcije se modeliraju kao skup hijerarhijskih čvorova; tu ostvaruju ciljevi sustava hijerarhiju treba imati na umu jer s njom počinje i završava modelirane procesa z Osnova za razvoj informacijskog sustava z Kreira se konceptualni blok koji će predstavljati vrhovni čvor; z Rezultat analize sustava i definiranja zahtjeva z U njemu se kreira activity box s osnovnim ulazima, izlazima, z Model “Kako je” i model “Kako treba biti” kontrolama i mehanizmima, navode se subdijagrami koji se iz njega izvode Logički model procesa z Konceptualni blok s procesom se sprema kao datoteka u z Prikazuje procese koji se u sustavu odvijaju zajednički katalog nezavisno od načina realizacije i sredstava z Na isti način izrađuju se aktivnosti na nižim razinama z Prikaz logičke strukture – što se u sustavu z Na kraju se kreira hijerarhijski dijagram čvorova i označavaju zbiva, a ne i kako linkovi na funkcije (spremljene kao datoteke).

OIIS -2013/14 OIIS -2013/14

33 Elementi dijagrama toka Modeliranje toka podataka podataka

Dijagram toka podataka (DFD - Data Flow Diagram) Tok podataka (data flow) Proces z predstavlja skupove podataka koji z predstavlja aktivnost pretvorbe z skup dijagrama za dokumentiranje fizičkog i logičkog modela sustava te zahtjeva se kreću kroz sustav podataka z tokovi ulaze u procese (ulazni), (ulaznog u izlazni tok podataka) z prikaz protoka, strukture i obrade podataka koriste se i mijenjaju tijekom z procesi se imenuju glagolskim obavljanja procesa z dokumentiranje logike, poslovnih pravila i procedura izrazima oblika infinitiv+objekt (npr. z (ulazno/izlazni) ili nastaju kao Prijaviti ispit) ili glagolskom z sinonimi: transformacijski graf, mjehurasti graf, (Bubble Chart) rezultat procesa (izlazni) imenicom (npr. Prodaja, Prijava z Tehnika se primjenjuje pri razvoju aplikacija, otkuda je i z tokovima se pridjeljuju jedinstveni ispita) potekla nazivi oblika imenica ili z nazivom treba izraziti što proces pridjev+imenica, npr. obavlja, to jest treba izbjegavati z Ne može se koristiti za opis programske logike, opis promjene općenite nazive (npr. Obavljanje stanja, izradu upravljačkih specifikacija ili dizajn korisničkog računovodstvenih poslova) sučelja!!! z opis procesa sadrži opis aktivnosti(algoritam) njegovog z Koristi se pri modeliranju poslovnih procesa djelovanja z daljnja razrada IDEF0 procesnog dijagrama z IDEF3 (zavisnost procesa) ili DFD (tok informacija)

OIIS -2013/14 OIIS -2013/14

Elementi dijagrama toka Izrada dijagrama toka podataka podataka

Spremište podataka (data store) Vanjski entitet (external Dijagram konteksta z predstavlja organizirani i trajni skup entity,external agent) z prikazuje sustav na najvišoj razini podataka z objekt vanjskog svijeta povezan s hijerarhije prikaza (top level z označava mjesto pohrane podataka, promatranim sustavom diagram) npr. dokument, registrator, datoteka, z određuje granice promatranog z definira okruženje sustava i tablica u bazi podataka (izbjegavati sustava područje analize (environmental u nazivlju) z vanjski entiteti predstavljaju izvorišta model) z promjena sadržaja spremišta i odredišta podataka, to jest izvore i z prikazuje jedan proces i vanjske (punjenje, ažuriranje, pražnjenje) i ponore podataka (source, sink) entitete korištenje (čitanje) obavlja se z vanjski entiteti mogu biti osobe, org. z započeti s procesom koji prikazuje procesima jedinice, ustanove, drugi sustavi … sustav u cjelini z odrediti vanjske entitete i njihovu z spremište se označava imenicom z za označavanje entiteta koriste se povezanost sa sustavom z (imenicom u množini), npr. imenice, npr. Student, Kupac, Prijavnica (Prijavnice) Dobavljač

OIIS -2013/14 OIIS -2013/14

Izrada dijagrama toka podataka Izrada dijagrama toka podataka

Pregledni dijagram (initial diagram) Pregledni dijagram z uočiti glavne tokove informacija (npr. korišteni dokumenti, Zahtjev za Rezervirati identifikaciu video potrebni podaci) Upisati novog Rezervacija D2 VIDEO Osoba Identifikacija člana 4 1 z odrediti glavne aktivnosti sustava i prikazati ih odgovarajućim Članska iskaznica procesima D4 EZERVACIJE z uključiti vanjske entitete i tokove podataka s dijagrama konteksta Rezerv acija D1 ČLANOVI Član z složiti se s korisnikom oko granica sustava Nabaviti Posudba video Članska Tražiti z utvrditi procese i spremišta podataka iskaznica video Posuditi Posudba Video Novi 3 Narudžba video Upit Rezulta t upita D3 POSUDBA Dobavljač Video Član

Vratiti Posudba Video video

OIIS -2013/14 OIIS -2013/14

34 Izrada dijagrama toka podataka Povezivanje procesa i podataka Razrada Raspoloživa za svaki proces s preglednog dijagrama D1 PROIZVODI zaliha identificirati podaktivnosti na primjer, za D3 ZALIHE Alocirana zaliha proces Upisati novog člana: Autorizira na • Zatražiti osobne podatke narudžba

• Evidentirati novog člana Alocirane Prihvati Provjeri zalihe • Izraditi člansku karticu specifikaciju Zahtjev za raspoloživost Ponavljati postupak za svaki od procesa narrudžbe zalihe na skladištu A431 A432 na poddijagramu •uspostaviti razinu detalja slijedeći Alociraj zalihe “pravilo 7±2” D4 DETALJI NARUDŽBE •provjeriti potpunost i ispravnost modela A433 Komunikacija Model obrazložiti korisniku a zatim ga s kupcem ažurirati po potrebi Dubinu i uravnoteženost modela teško je odrediti. Iszuzmi sa skladišta i U praksi to može značiti doradu dijagrama u isporuči Komunikacija s D2 KUPCI Kupac A434 većem broju ponavljanja, čak i kada kupcem dijagrame rade iskusni analitičari!!!

OIIS -2013/14 OIIS -2013/14

Pravila i ograničenja prilikom Preporuke za izradu DTP izrade DTP

Pravilo bilance (očuvanja) tokova (level balance rule) Treba pripaziti na: z količina tokova koji ulaze u proces i izlaze iz procesa mora odgovarati količini z trivijalne tokove – izlazi iz procesa koji ne ulaze u spremišta ili tokova podprocesa na nižoj razini hijerarhije odredišta z nije dozvoljeno variranje tokova neke razine na nižim razinama (npr. tok T na nižim razinama prikazivati kao T1, T2) z obično imaju posebno značenje, a mogu se koristiti za prikaz Ograničenja i posebni slučajevi posebnih stanja kao što je dojava poruke sustava (npr. dojava z Svi objekti modela moraju biti povezani. Nepovezanost pojedinih objekata pogreške) ukazuje na nepotpunost modela, na primjer: z neposredno povezane procese z postojanje procesa bez ulaza i/ili izlaza (tzv. čuda i crne rupe) z ako postoje, to znači da jedan od procesa čeka na završetak z izlaze za koje ne postoji dovoljno ulaza (tzv. sive rupe – najčešće) z postojanje nepovezanih spremišta ili vanjskih entiteta prethodnog z Ne dozvoljava se neposredna povezanost: z procese koji ne obavljaju pretvorbu podataka z vanjskih entiteta z ako je izlazni tok jednak ulaznom z spremišta z treba preimenovati jedan od tokova ili z spremišta i vanjskog entiteta z treba obaviti prespajanje tokova z Nije dozvoljeno: z grananje toka u različite tokove, spajanje različitih tokova z Procesi se mogu zbivati istovremeno z postojanje “rekurzivnih” procesa z DTP se ne smije tumačiti kao dijagram toka (flowchart)!

OIIS -2013/14 OIIS -2013/14

Opisivanje podataka Notacije koje koriste DTP

z Gane-Sarson Rječnik podataka (Data Dictionary) z Yourdon/DeMarco z mjesto pohrane definicija podatkovnih elemenata i struktura z podataka SSADM Najmanja logička cjelina Podatkovni z strukturirano spremište meta- podataka element podataka, to jest podataka o podacima z Proširenja: Grupe podatkovnih Struktura z prvotno se pojavio kao proširenje elemenata dijagrama toka podataka, za podtaka z Cikličnost procesa pohranu opisa spremišta podataka i tokova podataka Grupe struktura z Oznake ponavljanja z može se koristiti kao alternativna Tok Spremište procesa tehnika za prikaz modela podataka podataka podataka podataka z standardno se upotrebljava BNF z notacija (Backus-Naur Form), koja Posebni simboli za tok se inače koristi za opis sintakse resursa, tok dokumenata ili programskih jezika tok upravljanja

OIIS -2013/14 OIIS -2013/14

35 Modeliranje toka procesa Opisi procesa

Metoda Process Flow Modeling (IDEF3) z Opis prirodnim jezikom z strukturirana metoda za opis poslovne situacije uređenim slijedom z događaja i objekata koji Dijagram strukture procesa u njoj sudjeluju z prikazuje slijed, z Prikaz globalne strukture procesa zavisnost i konkurentnost aktivnosti z z prikladna za prikupljanje Prikaz potprocesa i veza među njima informacija tijekom analize i dizajna z Slijed izvođenja potprocesa z poslovna politika i poslovne procedure z preoblikovanje z Dijagram aktivnosti poslovnih procesa z modeliranje scenarija kojima se z Detaljni prikaz procesa (potprocesa) odgovara na pitanja "što-ako" z Stabla i tabele odlučivanja z Opis procesa s mnogo uvjetovanih potprocesa i OIIS -2013/14 točaka grananja OIIS -2013/14

Procesi, događaji i osnovni Poslovni procesi i događaji u algoritmi glavnih programa nabavi z Primjer: PROCESI I DOGAĐAJI U SLUŽBI NABAVE z Preuzimanje naloga za nabavu z Ispostava računa u druge službe z Služba nabave dobiva specifikaciju materijala, opreme ili trgovačke z Otvaranje novog naloga za nabavu z Traženje jamstava za narudžbu robe u obliku naloga za nabavu. Referenti šalju upite dobavljačima. Za z Slanje upita dobavljačima z Dobivanje potrebnih jamstava za eventualne promjene upita šalju nadopune. Dobavljači vraćaju z Dopuna upita dobavljaču narudžbu referentima svoje ponude. Referenti ih uspoređuju i izabiru optimalan s z Ponuda dobavljača z Traženje potrebnih atesta obzirom na cijenu, rokove, kvalitetu i uvjete isporuke. Dobavljaču se z Dopuna ponude dobavljača z Dobivanje potrebnih atesta šalje narudžba ili ugovor i od njega očekuje potvrda narudžbe. U skladu z Izbor dobavljača z Traženje bankovnih jamstava s dogovorenim načinima plaćanja od dobavljača očekuje se predračun. z Dobivanje bankovnih jamstava Za veće iznose sukcesivnih isporuka i odgođena plaćanja dobavljač z Tehnička ovjera ponude z Slanje narudžbe dobavljaču z Dobivanje predračuna od može tražiti jamstva za plaćanje (zadužnica, bankovna garancija). Isto dobavljača tako nabava može tražiti kontra garancije za slučajeve većeg avansa. z Dopuna narudžbe z Plaćanje predračuna dobavljaču z Potvrda narudžbe i evidencija z U skladištu dobavljača se pravi otpremnica koja prati robu na putu a u z Plaćanje po osnovi računa skladištu kupca se pravi primka vezana uz narudžbu. Materijal se z Prijem robe – otpremnica dobavljača kontrolira kvalitativno i količinski. U slučaju manjkavosti pravi se z Evidencija reklamacija - zapisnik zapisnik i šalje reklamacija dobavljaču. Za otpremnicom se šalje račun, z Prijem računa dobavljača atesti i jamstva. Majdandžić, 113-121, 333-343, 349-353

OIIS -2013/14 OIIS -2013/14

EPC (Event-Process-Chain) Procesi i sudionici u Business dijagrami Modeling Notation

BPMN - dijagram procesa brzojavne usluge

OIIS -2013/14 OIIS -2013/14

36 Događaji

Modeliranje podataka

EPC dijagram procesa brzojavne usluge

OIIS -2013/14 OIIS -2013/14

Napomena Modeliranje podataka

z Materijali u ovoj prezentaciji predstavljaju z Modeliranje podataka obuhvaća strukturiranje pomoćni radni materijal za svladavanje podataka i organizaciju podataka i njihovu gradiva na predmetu Modeliranje i izgradnja implementaciju na DBMS IS-a. Sadrže dijelove koji se moraju revidirati i z Model podataka – proizlazi iz modela nadopuniti uz dozvole citiranih autora i izvora. procesa (dekompozicije procesa i funkcija) i analize korisničkih zahtjeva z Modeliranje podataka = kreiranje modela podataka primjenom teorije podatkovnih modela (danas aktualnih: relacijskih, objektnih, XML)

OIIS -2013/14 OIIS -2013/14

Modeliranje podataka Modeli podataka

Obuhvaća: z Konceptualni model – opisuje semantiku organizacije; sastoji se od klasa eniteta (koje predstavljaju stvari od z Definiranje podatkovnih entiteta značaja za organizaciju) i odnosa među njima z Definiranje atributa entiteta z Logički model – polazi od konceptualnog modela i z Definiranje domena atributa opisuje semantiku na način kako se podatcima manipulira izabranom tehnologijom; sadrži opis z Definiranje ključeva tablica, kolona, objektno orijentiranih klasa ili XML z Definiranje veza među entitetima tagova z Kreiranje dijagrama entiteti-veze z Fizički model –polazi od logičkog modela uzimajući u obzir arhitekturu baze (strukture podataka - tablice, z Razvoj logičkog modela podataka kao osnove za odnose, indekse, i fizičke karakteristike ) i zahtjeve za razvoj fizičkog modela i implementaciju na hardverskim specifikacijama za izabrani DBMS izabranu bazu podataka z http://www.agiledata.org/essays/dataModeling101.html

OIIS -2013/14 OIIS -2013/14

37 Konceptualni model podataka Kontekstualni model podataka z Globalni model podataka Model konteksta podataka z Koristi se u prikupljanju ideja za rješenje problemske domene; z Identificira klase entiteta koje predstavljaju stvari od Neovisan je implementacijskim detaljima (izabranoj bazi, značaja za organizaciju programskom jeziku) z Provodi se na početku analize z Svrha je definiranje značenja, pojmova i koncepata koje eksperti koriste u razradi problemske domene; za pronalaženje ispravnih z Ne obuhvaća detalje o entitetima ili detalje o poslovnim pravilima odnosa između različitih koncepata z sadrži samo one entitete koji će biti obuhvaćeni tehničkim rješenjem z podatkovni model poduzeća (enterprise data model) u fazi planiranja z ERD s entitetima i vezama (često nespecifičnim), bez atributa ili samo s osnovnim atributima z konceptualni model entiteti-veze koji najčešće sadrži neodređene veze i nerazrađene kategorije podataka, a pojedine veze mogu i z obične veze, tj. veze tipa 1:N nedostajati z npr. "račun ima više stavki" z definira mogući doseg sustava i ukupne informacijske potrebe z veze višeg stupnja z npr. “zaposlenje osobe u org. jedinici na radnom mjestu” → Zaposlen

OIIS -2013/14 OIIS -2013/14

Logički model podataka Struktura podataka

Model s definiranim ključevima z Model podataka opisuje strukturu podataka u datoj domeni i implicitno z eliminacija neodređenih veza i njihovo nadomještanje asocijativnim strukturu te domene; podatkovni model specificira i gramatiku entitetima (programskog) jezika za tu domenu z određivanje ključeva (primarnih, alternativnih, stranih) z Model podataka predstavlja klase entiteta (vrste stvari) o kojima se u poslovnom sustavu drže podatci, sadrži atribute tih podataka, odnose z ako se PK ne može odrediti, možda se ne radi o skupu entiteta među entitetima i implicitno odnose među atributima; model opisuje z preciziranje kardinalnosti veza organizaciju podataka neovisno o tome kako će se oni predstaviti z odgovor na pitanja oblika “mora/može”: “ni jedan” (0), “barem jedan” (1), računalnim sustavom. “više” z Struktura podatka je način kako će se podatci smještati u računalo da bi z (N) → donja/gornja granica kardinalnosti se mogli efikasno iskorištavati. Struktura podataka može se promatrati z – Koliko stavki računa mora/može imati račun ? → 1,N kao primjena metode pristupa smještaju podataka koji je organiziran z – Koliko se osoba mora/može nalaziti u mjestu ? → 0,N prema združenim tipovima podataka. z definiranje generalizacijskih hijerarhija z Atomizirani podatak – podatak pojedinačni podatak koji ne mora biti vezan ni z određivanje specijalizacija, tj. podtipova entiteta uz koji drugi podatak (slovo) z definiranje klasifikacijskog atributa nadtipa (diskriminator podtipa) z Strukturirani podatak – podatak kojem je definicija vezana uz njegovu vrijednost tj. uz interne odnose ili organizaciju odnosno strukturalne odnose. Igla”, “Avion” } http://en.wikipedia.org/wiki/List_of_data_structures“ } א z – npr. Proizvod.TipProizvoda

OIIS -2013/14 OIIS -2013/14

Tehnike za modeliranje Ograničenja modela podataka z Prikladni konceptualni model podataka opisuje Postoji više tehnika koje su razvijene za oblikovanje modela podataka. Metode su vodilje za rad onima koji modeliraju i često semantiku subjektnog područja. On je skup će se dogoditi da dvoje ljudi koristeći istu metodologiju dobiju tvrdnji (izraza) o prirodi informacija koje se drugačije rezultate. Najčešće korištene metode su: koriste u jednoj ili više organizacija. Prikladna z Entity-relationship model klasa entiteta imenuje se rječima prirodnog z IDEF1x jezika a ne u tehničkom žargonu. Isto tako z Object Role Modeling (ORM) or Nijssen's Information Analysis prikladno imenovani odnosi čine konkretne Method (NIAM) tvrdnje o subjektnom području. z Business rules or business rules approach z RM/T z Bachman diagrams z Object-relational mapping z Barker's Notation z EBNF Grammars

OIIS -2013/14 OIIS -2013/14

38 Metoda ENTITETI - VEZE (EV model) Metoda ENTITETI - VEZE (EV model) (Entity-Relationship Method - ER model) (Entity-Relationship Method - ER model) z Koristi koncepte bliske korisniku z Koncept entiteta – prikaz korisniku važnih z Shema modela podataka je laka za razumijevanje i komunikaciju između projektanta i korisnika “objekata” o kojima će se voditi zapisi z Osnova za mnoge komercijalne DBMS (Data Base Management System) softverske produkte z Koncept odnosa (veza) – prikaz odnosa z DFD dijagrami su okrenuti procesima i funkcijama sustava a ne podatcima koje trebaju; ERD komponente (pravokutnici) korespondiraju među objektima na temelju nekih svojstava sa spremištima podataka u DFD-u a rombovi sa vezama u DFD-u. z Koncept atributa – prikaz svojstava entiteta i Prvi korak procesa izrade logičkog modela (baze) podataka zapis pojedinog svojstva za određenu pojavu z Grafički prikaz temeljnih podataka informacijskog sustava (instancu) entiteta z Pri izradi logičkog modela baze podataka prethodi relacijskom modelu z Manje formalan od relacijskog modela z Koncept zavisnosti – entitet koji generira z Bliži (razumljiviji) korisniku novi entitet (roditelj i dijete)

OIIS -2013/14 OIIS -2013/14

Elementi dijagrama Entiteti- Komponente ERD-a Veze (ERD (E-R) notacija)

Ovisi o notaciji (sintaksi) koju primjenjujemo u izradi z Tipovi objekata (Object types) modela podataka Chenova notacija z Odnosi (Relationships ) Romb i crte koje povezuju entitete Naziv veze - glagol, glagolska imenica unutar z Pokazivači pridruženih tipova objekata romba Martinova notacija (Associative object type indicators) Crta s nazivom veze z Pokazivači nadtipa/podtipa (Supertype/subtype indicators)

OIIS -2013/14 OIIS -2013/14

Entiteti Tip entiteta i instanca entiteta

Entitet je: TIP entiteta je obrazac ili pojava o kojoj se prikupljaju informacije (student, z nešto što postoji u stvarnom svijetu i posjeduje značajke koje ga opisuju i po nastavnik, predmet) kojima se razlikuje od svoje okoline Instanca eniteta – pojava entiteta (primjer tipa entiteta) (Ivo Ivić, Prof. Ana z Stvar koja se može zasebno identificirati [P. Chen, 1976] Anić, Bilogija) z Bilo koji objekt koji se može razlikovati i predstaviti u bazi podataka [C.J.Date, Tip entiteta 1986] I tip i instanca imaju imaju skup svojih atributa z Logička reprezentacija podatka [C.Finkelstein, 1989] z Bilo što o čemu pohranjujemo informaciju [J.Martin, 1989] Atributi Entitet može biti: Student z Osoba (Ivana Marić) z Objekt (knjiga u biblioteci) Prezime Ime Godina Status Spol z apstraktni pojam (npr. hrvatski jezik ili iskustvo (poznavanje jezika) studija Instance z ustanova (EFOS), organizacija (Saponia Osijek) ili organizacijska cjelina, Ivić Ivo 2 Redoviti M entiteta događaj (situacija, stanje) - prošli, sadašnji ili budući, npr. rođenje, školovanje, entiteta zaposlenje, smrt Perković Sanja 4 Izvanredni Ž z povezanost različitih objekata stvarnog svijeta, npr. Srodstvo

Vrijednost OIIS -2013/14 OIIS -2013/14 atributa

39 Tip entiteta - pojava entiteta Imenovanja tipa entiteta z Tip entiteta STUDENT z Ime bi trebalo biti jedinstveno z Pojava entiteta - Ante, Filip, Mate,.... (svi studenti sustava koji razmatramo – fakultet,odjel, z Ime mora biti samobjašnjavajuće u nazivu Veleučilište, Sveučilište, itd.) z Navodi se kao imenica u jednini z Svakom tipu entiteta odgovara određen broj pojava entiteta z Pišu se u pravilu VELIKIM SLOVIMA z Pojedinačno pojavljivanje entiteta - z Ne bi trebalo biti ime individualnog objekta (INSTANCA) tipa entiteta z Treba izraziti jedan koncept skupa podataka z Tip entiteta određuje kontekst (Pr. OSOBA je u pravilu tip entiteta ali u kontekstu skupljača z Treba biti dokumentirano u specifikacijama antiknih figura može biti atribut figure) za oblikovanje sustava

OIIS -2013/14 OIIS -2013/14

Tip entiteta (Entity type, Entity Tip Objekta set, Entityclass) z Prikazani pravokutnikom; z Skup entiteta iste vrste Entitet realnog svijeta (materijalni i nematerijalni koji z Dobiva se procesom klasifikacije prema zajedničkim je u sustavu predstavljen kao Kupac svojstvima tip objekta z Mogu biti stvarni i apstraktni z Primjer: KUPAC, RADNIK, KNJIGA, STROJ (stvarni) z Svaki se može identificirati na neki način (mora postojati z METODA, AKTIVNOST, TRANSAKCIJA (apstraktni) način za razlikovanje jednog z Grafičko predstavljanje od drugog; ime ID…) z Svaki igra neku nužnu ulogu u sustavu kojeg izgrađujemo z Svaki se može opisati jednim ili više podatkovnih elemenata

OIIS -2013/14 OIIS -2013/14

Atributi i domene Pravila vezana uz atribute

1. ENTITET može imati proizvoljan broj atributa z Atribut 2. ATRIBUT može pripadati samo jednom entitetu z atribut predstavlja neko obilježje, značajku entiteta 3. ATRIBUT može imati samo jednu vrijednost za određeno pojavljivanje z sinonimi: svojstvo (property), element, polje (field) entiteta (u određenom vremenu) z pojedinačne vrijednosti atributa pohranjuju se u bazu podataka → elementarni 4. ATRIBUT ima samo jedno značenje podatak (data element, data item) 5. RAZLIČITA POJAVLJIVANJA ENTITETA mogu ali ne moraju imati z po vrijednostima koje predstavljaju, atributi mogu biti: različite vrijednosti za isti atribut z jednostavni atributi (simple attribute) - vrijednost atributa je pojedinačni podatak, – primjer: Prezime, Ime z složeni, sastavljeni atributi (compound/composite/concatenated attribute, data structure) - vrijednost je uređena n-torka ili z logička grupa jednostavnih atributa, – primjer: datum = (dan, mjesec, godina) z višeznačni atributi (multivalued attribute) - atributi koji predstavljaju ponavljajuće grupe podataka, to jest atributi s više istovrsnih vrijednosti – primjer: Osoba.Telefon = (TelefonNaPoslu, TelefonKodKuce, MobilniTelefon) z s obzirom na pohranu vrijednosti, atributi mogu biti: z atributi pohrane (stored attribute) z izvedeni atributi (derived attribute) - vrijednost im se može odrediti na temelju vrijednosti drugih atributa – primjer: starost = (DanašnjiDatum-DatumRođenja)

OIIS -2013/14 OIIS -2013/14

40 Atributi i domene Atributi i domene

Vrijednosti atributa definiraju Domena z tip podatka, z skup mogućih vrijednosti koje nad njom definirani atributi mogu z domena i poprimiti z pretpostavljena ili standardna vrijednost (default) z domene mogu biti jednostavne i složene (vrijedi i za atribute) Tipovi podataka z nad svakom domenom može se definirati po volji mnogo atributa z netehnički (logički) z opći tipovi koji se koriste u sistem analizi i pri prikupljanju zahtjeva z skup vrijednosti može se definirati z primjeri: broj, datum-vrijeme, znakovni niz, tekst, tehnički izraz z tipom podatka, npr. integer z generički tipovi podataka koji se mogu preslikati u konkretne tipove, z podskupom vrijednosti tipa podatka, npr: formula AA99, interval [10- npr.integer, character 99] z konkretni tipovi SUPB, npr. char, int, byte (SQLserver) Standardna vrijednost atributa z skupom konstanti, npr. Spol = z vrijednost koja se zapisuje kada korisnik ne specificira vrijednost atributa z općenito, većina atributa trebala bi imati standardnu vrijednost

OIIS -2013/14 OIIS -2013/14

Vrijednost atributa Izvedeni atributi z Sve dozvoljene vrijednosti IZVORI z Određene pravilima (mogu biti vrlo složena) z Pripadaju nekoj domeni z Atributi istog pojavljivanja istog entiteta (Starost) z JEDNOZNAČNOST z Atributi iz različitih pojavljivanja istog entiteta (Broj Svaki atribut mora biti određen tako da osnovno značenje ostaje jednako bez obzira redovnih studenata na nekom odjelu) na specifičnu vrijednost. Šifre kupca < 5000 znače jedno (dobar bonitet), z Atributi iz različitih pojavljivanja različitih entiteta a > 5000 drugo (plaćaju sa zakašnjenjem) z DOSLJEDNOST / ISKLJUČIVOST z (Tjedno opterećenje nastavnika) Određena vrijednost tipa atributa ne smije obuhvaćati značenja druge vrijednosti tog istog atributa z Postojanje nekog entiteta (Status zaposlenja na osnovu ugovora) Atribut: Bračni status oženjen, neoženjen, razveden, udovac z Broj pojavljivanja jednog ili više entiteta Vrijednost oženjen ne isključuje vrijednost razveden. z (Broj otvorenih narudžbi za kupca) Rješenje: Uvesti novi atribut npr. Broj brakova

OIIS -2013/14 OIIS -2013/14

Vrijednost atributa Određivanje atributa

Višestruke vrijednosti atributa z Razmatranjem svakog entiteta i traženjem njegovih atributa z U određeno vrijeme z Ime OSOBE (neki ljudi imaju više imena) z Poslovna dokumentacija z Cijena PROIZVODA (može se razlikovati po područjima) z Zahtjevi korisnika z U različito vrijeme z Dokumentacija postojećeg IS-a z Prezime OSOBE (dodatno prezime kod sklapanja braka) z Cijena PROIZVODA (nova cijena za novo područje) z Razmatranjem svakog atributa i utvrđivanjem njegove pripadnosti entitetu z Rješenje: Kvalificirati naziv atributa (Krsno ime, Djevojačko prezime) z Iz neke postojeće liste atributa z Dodati novi atribut/e (Bazna cijena, Varijabilni dio) z Dodati novi entitet/e (Područje) KUPAC NARUDŽBA KUPCA Šifra kupca Broj narudžbe Nul-vrijednost atributa JMBG Šifra kupca z Trenutno nepoznata vrijednost atributa Ime Datum zaprimanja z Broj telefona za entitet RADNIK (9999999999). Prezime Datum isporuke z Ne nastupa za sve pojave entiteta Adresa Adresa isporuke Šifra mjesta Vrijednost narudžbe z (neprimjenjivo svojstvo) Telefon Datum storniranja Status Djevojačko prezime za entitet OSOBA. PROIZVOD STAVKA NARUDŽBE KUPCA Nul vrijednost nije 0 (nula) niti “ “ (prazan znakovni niz) već vrijednost koja nadomješta nepoznatu ili neodređenu Šifra proizvoda Redni broj vrijednost atributa ( - ) Naziv proizvoda Broj narudžbe kupca Vrsta pakiranja Šifra proizvoda Cijena Naručena količina Količina na zalihi Iznos stavke

OIIS -2013/14 OIIS -2013/14

41 Entiteti i atributi – koncepti zavisnosti Koncepti zavisnosti z Identifikator entiteta z Jaki (nezavisni) entitet z Jedan ili više atributa koji jednoznačno definiraju pojavu entiteta z Minimalno jedan atribut (jednostavan) z Egzistira samostalno OSOBA JMBG z Može se sastojati od više atributa (složeni) Npr. ŠKOLA, RADNIK z TEČAJ Oznaka valute + Datum tečaja z Slabi (zavisni) entitet z Postojeći atributi istog entiteta z JMBG za OSOBU z Ne egzistira samostalno - egzistencijalno ovisan z Postojeći atributi nezavisnog entiteta o kojem zavisni entitet ovisi Npr. DIJETE nekog radnika u kadrovskoj z Šifra kupca + Šifra proizvoda za STAVKA NARUDŽBE evidenciji z Umjetni atribut – ima samo svrhu identifikacije z Ne identificira samostalno - identifikacijski ovisan z Matični broj za KLIJENTA (kreiran unutar sustava npr. u banci) Npr. RAZRED određene škole

OIIS -2013/14 OIIS -2013/14

Jaki i slabi entiteti Podtip entiteta

PODTIP ENTITETA z Podskup skupa svih pojavljivanja nekog entiteta z Nadtip - nadređeni entitet z Sadrži zajedničke atribute z Podtip - podređeni entitet z Sadrži samo njemu svojstvene atribute (posebnosti)

VOZILO (PLOVILA, KOPNENA VOZILA, ZRAKOPLOVI) KOPNENA VOZILA (CESTOVNA VOZILA, ŽELJEZNIČKA VOZILA) CESTOVNA VOZILA (PUTNIČKA VOZILA, TERETNA VOZILA, OSOBNA VOZILA) POSLOVNI PARTNER (PODUZEĆE, FIZIČKA OSOBA)

PODTIP ENTITETA DEFINIRA SE U SLIJEDEĆIM SLUČAJEVIMA

Definiramo u sljedećim slučajevima: z Sadrži neki atribut svojstven samo podskupu pojava entiteta z Postoje veze samo nekih pojava entiteta s drugim entitetima z Definiranje podtipa je prirodno i logično z Nadređenom tipu pristupamo preko podtipa

OIIS -2013/14 OIIS -2013/14

Indikator nadtipa i podtipa Specijalizacija/Generalizacija z Nadtip/podtip tip objekta sastoji od tipa Specijalizacija/Generalizacija objekta i jedne ili više potkategorija povezanih odnosom (relationship-om) z takozvana "jest" veza (“is a” relationship) subcategories, connected by a z veza koja opisuje posebne slučajeve u nekom skupu entiteta, to jest odnos nekog relationship. entiteta (nadtip) i njegovih posebnosti (podtip) z ZAPOSLENIK EMPLOYEE može imati z podređeni entiteti stvaraju se na temelju njima nadređenog entiteta u kojem kategorije STALNO_ZAPOSLEN i dijele zajedničke atribute ZAPOSLEN_NA_ODREĐENO z nadtip (supertype) - sadrži zajedničke atribute i predstavlja generalizaciju podređenih z Podtipovi su povezani na nadtip preko entiteta neimenovanog romba (odnosa). Nadtip z podtip (subtype) - sadrži samo njemu svojstvene atribute i predstavlja specijalizaciju je na odnos povezan ukrštenom vezom nadređenog entiteta z ZAPOSLENIK: Ime, Adresa, Godine_staža z B jest podtip od A ako: B jest uvijek A, A jest ponekad B z Djelatnik je uvijek Osoba, Osoba je ponekad Djelatnik (Suradnik) z STALNO_ZAPOSLEN: Plaća, Nadređena_osoba, Org_jedinica z Igla jest uvijek Proizvod, Proizvod jest ponekad Igla (Avion) z ZAPOSLEN_NA_ODREĐENO: Satnica, z specijalizacija može biti: Početak_zaposlenja, Prekovremeni rad z neekskluzivna - Osoba jest Djelatnik ili Suradnik, ali u isto vrijeme može biti i Djelatnik i Suradnik z ekskluzivna - Proizvod jest Igla ili Avion, ali ne može istovremeno biti I Igla i Avion

OIIS -2013/14 OIIS -2013/14

42 Specijalizacija/Generalizacija Involucija (povratni tip veze) Koliko tipova entiteta za “slične” stvari Kriteriji: z Različiti atributi Veza među instancama (pojavama) jednog tipa entiteta Odvojenost procesiranja z “Veza entiteta samog sa sobom” Subjektivna procjena projektanta Kriterija z Tipični slučajevi: Poslovnog interesa za praćenje “različitosti” z Organizacijska shema Kako razlikovati pojavljivanja entiteta u slučaju generalizacije (definiranja jednog entiteta)? z Pomoću različitih vrijednosti atributa (neki imaju nul vrijednost) Sastavnica (dijelovi proizvoda) Pomoću različitih tipova zavisnih entiteta - z Pogled korisnika (više međusobno zavisnih entiteta): PRODAJNI UGOVOR, UGOVOR S DOBAVLJAČEM (pojava entiteta PRODAJNI UGOVOR za određenu pojavu entiteta POSLOVNI z Za svaki tip organizacijske jedinice jedan entitet PARTNER znači da seradi o kupcu) z SEKTOR, DIREKCIJA, POSLOVNICA, ODJEL, … z Proizvod i dijelovi su entiteti z AUTOMOBIL, KOTAČ, KOMPJUTER, EKRAN, DISK, … z Model: z Jedan entitet z Povratna veza

OIIS -2013/14 OIIS -2013/14

Indikator asocijativnog tipa Povratne veze objekta

z predstavlja nešto što istovremeno funkcionira kao objekt i kao odnos; z predstavlja odnos o kojem bismo željeli održavati neke informacije z Pr. Kupovina z KUPUJE ne znači ništa do li pridruživanje (asocijaciju) KUPCA i jednog ili više predmeta z Ukoliko želimo memorirati datum kupovine ili vrijeme (koje nije atribut niti KUPCA niti PREDMETA) tada se vrijeme pridružuje kupovini i ona postaje TIP OBJEKTA i ODNOS z Označava se usmjerenom strelicom

OIIS -2013/14 OIIS -2013/14

Agregirani (mješoviti) tip entiteta Atributi - Ključevi z Koncept koji omogućava promatranje više tipova entiteta i Ključevi njihovih veza kao novi tip entiteta u sljedećim slučajevima: z Ključ (key) ili identifikator z atribut ili skup atributa koji (svojim vrijednostima) jednoznačno identificira svaki od entiteta z Pojavljuje se atribut u tipu veze (Veza ima svojstvo, obilježje) u nekom skupu entiteta z mora se sastojati od bar jednog atributa → jednostavan ključ primjer: OSOBA = @JMBG + Prezime z Povezuju se dva tipa veze + Ime … z Rastavljanje višestrukih tipova veze u binarne veze z – primjer: MJESTO = @ŠifraMjesta + NazivMjesta ... z može se sastojati od više atributa → složeni, sastavljeni, ulančani ključ z – primjer: MJESTO = @ŠifraDržave+@ŠifraMjesta z ključ mora zadovoljavati sljedeće uvjete z jednoznačnost (u skupu entiteta ne smiju postojati dvije pojave s istim vrijednostima svih ključnih atributa) z – primjer: ne smiju postojati 2 osobe s JMBG=020946330097 z minimalnost (ne postoji podskup atributa ključa koji je također jednoznačan) z – primjer loš: OSOBA = @JMBG + @Prezime ... z – primjer dobar: TEČAJ = @KraticaValute + @DatumTečaja + ... z određenost - postojanje vrijednosti u trenutku stvaranja instance z stabilnost - otpornost na promjene tijekom vremena z raspoloživost - dostupnost svim korisnicima z neutralnost - s obzirom na značenje vrijednosti ključa (samogovoreće šifre)

OIIS -2013/14 OIIS -2013/14

43 Ključevi Ključevi z entitet može imati jedan ili više ključeva Strani ključ (foreign key) z entitet mora imati barem jedan ključ z skup atributa koji se z entitet može imati više mogućih ključeva, tj. kandidata za primarni ključ odnosi na ključ drugog z (candidate key), koji ne moraju biti međusobno disjunktni, tj. mogu imati skupa entiteta, tj. skup atribute presjeka atributa čije se vrijednosti odnose na vrijednosti z jedan od ključeva odabire se za primarni ključ (primary key) ključa drugog entiteta z – primjer: Osoba.IdOsobe, Mjesto.SifMjesta z (Osoba.SifMjesta odnosi z nakon odabira primarnog ključa, ostali mogući ključevi postaju se na Mjesto.SifMjesta) z alternativni ključevi (alternate key) z – primjer: Osoba.JMBG, Mjesto.PostBr z ponekad je potrebno identificirati podskupove entiteta z kriterij podskupa (subsetting criteria) – atribut (jednostavni ili ulančani) s konačnim skupom vrijednosti za grupiranje instanci entiteta upodskupove, u nekim metodama naziva se inversion entry z Nejedinstveni indeks

OIIS -2013/14 OIIS -2013/14

Ključevi Veze - Odnosi (Relationships) z Ključevi Veza (relationship) z Strani ključ z pokazuje odnos između entiteta z ukazuje na povezanost između entiteta, odnosno skupova entiteta – može z analogno entitetima, pojedinačna veza uspostavlja se na razini poprimiti vrijednost primarnog ključa drugog entiteta ili – može poprimiti nul- vrijednost (null value) instanci entiteta, a veze se grupiraju u skupove veza (relationship sets) z primjer: – Osoba.SifMjesta odnosi se na Mjesto.SifMjesta, odnosno – Entitet Osoba (IdOsobe=8746) ima SifMjesta=038, tj. referencira entitet Mjesto s z – kada se ne razmatraju instance, pojam veza podrazumijeva skup IdMjesta=038 veza z Nul-vrijednost z može izražavati ulogu entiteta koje povezuje z Nul-vrijednost označava nepoznatu vrijednost atributa ili neodređenu z imenuje se glagolom ili glagolskom imenicom vrijednost atributa, tj. nadomiješta vrijednost atributa koji se ne koristi z Primjer (veza i uloge) z nul-vrijednost nije 0 (nula) niti “” (prazan znakovni niz) Osoba STANUJE u Mjestu (Osoba je STANOVNIK Mjesta) z Primjer: Osoba (IdOsobe=37528) boravi u nepoznatom mjestu, pa joj je SifMjesta nedefinirana vrijednost u Mjestu STANUJE Osoba (Mjesto je MJESTO z Vozilo (tipa osobni automobil) nepoznatog registarskog broja, naspram STANOVANJA)

OIIS -2013/14 OIIS -2013/14

Veze - Odnosi (Relationships) Veze z Svaka instanca odnosa predstavlja Stupanj veze (degree of relationship) asoscijaciju između nula ili više KUPUJE pojavnosti jednog objekta i nula ili više KUPAC PREDMET z broj entiteta koji sudjeluju u vezi pojavnosti drugog objekta z općenito, može se povezati bilo koji broj entiteta z KUPUJE može sadržavati slijedeće individualne instance : (oprez!) z veza drugog stupnja → binarna veza z instanca 1: kupac 1 kupuje predmet 1 Alternative notacije za odnose: z veza trećeg stupnja → ternarna veza z instanca 2: kupac 2 kupuje predmet 2 i 3 z općenito, veza može biti n-tog stupnja → n-arna veza z instanca 3: kupac 3 kupuje predmet 4 z posebni slučaj jest veza nekog entiteta s tim istim z instanca 4: kupac 4 kupuje predmet 5, entitetom 6 i 7 itd. z z Odnos mora biti nešto što će biti veza prvog stupnja → unarna veza (refleksivna, rekurzivna, zapamćeno od strane sustava (Isto involucijska) u nekim metodama smatra se posebnim vrijedi i za Tip objekta) slučajem binarne veze, to jest posebnom vezom 2. stupnja

OIIS -2013/14 OIIS -2013/14

44 Kardinalnost veze Veze

Tip, klasifikacija veze (type of relationship) označava način pridruživanja pojava entiteta u vezi z jedan-prema-jedan (1:1) z jedan-prema-više (1:N) z može postojati više (paralelnih) veza između dva entiteta z više-prema-više (M:N) z Modalitet veze (modality) i Kardinalnost veze (cardinality) z minimalni i maksimalni broj pojava jednog entiteta za pojedinačnu pojavu s njim povezanog entiteta z donja i gornja granica kardinalnosti z donja granica može biti 0, 1, pozitivni cijeli broj ili znak (npr. M) donja granica = 0 → djelomično, neobavezno (optional) pridruživanje » ne mora imati niti jednu instancu s druge strane veze z donja granica ≠ 0 → potpuno, obavezno (mandatory) pridruživanje » mora imati barem neki broj ili općenito M instanci s druge strane veze z gornja granica može biti 1, pozitivni cijeli broj ili znak (npr. N) z » može imati konkretan broj ili općenito N instanci s druge strane veze veze su dvosmjerne pa se kardinalnost definira za oba smjera veze

OIIS -2013/14 OIIS -2013/14

Opcionalnost Veze

z Primjer: binarna veza 1:N

z Primjer, binarna veza M:N

OIIS -2013/14 OIIS -2013/14

Proširenja riječnika podataka Veze na ERD

z Objekti i instance z Spremište podataka KUPCI z Tip objekta KUPAC je istovremeno i instanca od KUPCI z Notacija: z KUPCI ={KUPAC} z KUPAC = @ime_kupca+adresa+telefon

OIIS -2013/14 OIIS -2013/14

45 Nespecifične, neodređene veze Napomene za kreiranje ERD-a

Asocijativni entitet (Gerund) z Nakon prve verzije ERD-a treba definirati z U dodjeljivanju atributa može se pojaviti atribute podatkovnih elemenata na jedan potreba za kreiranjem novog tipa objekta z konkatenirani entitet (concatenated od slijedećih načina: zbog: entity), z Otkrivanja podatkovnog elementa koji se z kompozitni entitet (composite entity) z Ako je razvijen DFD ili se radi paralelno s može atribuirati nekoj instanci objektnog z binarna veza M:N, npr. Proizvodi ERD-om tada bi trebao biti razvijen i tipa ali ne i drugim instancama (Pr. riječnik podataka koji bi trebao biti u prvoj Zaposleni: u drugom stanju; podjela će z ternarna veza ili veza stupnja >3, npr. verziji dostatan za razvoj atributa se morati napraviti na podtip muški i Zaposlen podatkovnih elemenata ženski) z veza o kojoj se želi pohraniti podatke z Ako procesni model nije razvijen z Mogu se otkriti neki podatkovni elementi (veza s opisnim atributima), pr. potrebno je intervjuiranjem prikupiti koji su primjenjivi na sve instance dva Sastav podatkovne elemente i dodjeliti im različita objekta –treba napraviti nadtip atribute u ERD-u (vremenski zahtjevno) z Može se otkriti da neki podatkovni Agregacija (agregacijska veza) z Ako postoji profesionalna grupa za elementi opisuju odnose između ostalih tipova objekata (treba uvesti prazan z sinonim: agregacijski entitet prkupljanje podataka vjerojatno je rječnik (aggregate entity) podataka razvijen i može se započeti odnos) proces dodjeljivanja atributa z veza koja sudjeluje u vezama s drugim entitetima z u nekim metodama označava odnos z http://yourdon.com/strucanalysis/wiki cjelina-dio

OIIS -2013/14 OIIS -2013/14

Napomene za kreiranje ERD-a Napomene za kreiranje ERD-a

z Ponekad inicijalni ERD može z Uklanjanje objekta sadržavati tipove objekata koji 1. Tip objekta koji sadrži samo jedan identifikator koji imaju asocijativni 2 akarakter. 2. Tip objekta za koji postoji z Primjer: U ERD-u s tri objekta samo jedna instanca pri dodjeljivanju atributa tipu 3. “Klimajući” asocijativni tip objekta npr. Vrijeme isporuke objekta pripada objektu NARUDŽBA 4. Izvedeni odnos jer isporuka ne mora biti obavljena ili je isporuka PROIZVOD urađena na temelju NARUDŽBE koja je u 3 stvari odnos između KUPCA I PROIZVODA o kojem treba 1 memoriarti podatke

OIIS -2013/14 OIIS -2013/144

Pretvorba modela E-V u Pretvorba modela E-V u relacijski model relacijski model –integracija E-V model predstavlja osnovu za oblikovanje baze na konkretnom sustavu za upravljanje bazom podataka pri čemu se mora voditi računa o: ‰Tipu veze ‰Ključevima ‰Nespecifičnim vezama ‰Specijalizaciji (tipovima i nadtipovima) -Primjer:

z Binarna veza 1:N → strani ključ z egzistencijalni slabi entitet → obični strani ključ npr. Stanuje → Osoba.SifMjesta, Pripada → OrgJed.SifNadJed, z RacunOsoba → Racun.SifOsobe

Izvor: Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis OIIS -2013/14 OIIS -2013/14

46 Literatura Literatura

z http://www.aisintl.com/case/datamdl.html z http://www.aisintl.com/case/datamdl.html z http://www.aisintl.com/case/user_groups/logicworks/ z http://www.aisintl.com/case/user_groups/logicworks/ library/1997_conference_ppt/index.htm (Logical library/1997_conference_ppt/index.htm (Logical data modeling) data modeling) z http://en.wikipedia.org/wiki/Data_modeling z http://en.wikipedia.org/wiki/Data_modeling z http://en.wikipedia.org/wiki/Entity-relationship_model z http://en.wikipedia.org/wiki/Entity-relationship_model z http://www.idef.com/IDEF1.html z z http://www.agiledata.org/essays/dataModeling101.ht http://www.idef.com/IDEF1.html ml z http://www.agiledata.org/essays/dataModeling101.ht z http://www.bpmn.org/ ml z Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis z http://www.bpmn.org/

OIIS -2013/14 OIIS -2013/14

Napomena Oblikovanje baze z Materijali u ovoj prezentaciji predstavljaju podataka pomoćni radni materijal za svladavanje gradiva na predmetu Modeliranje i izgradnja Izrada sheme baze podataka IS-a. Sadrže dijelove koji se moraju revidirati i Normalizacija i ugađanje baze nadopuniti uz dozvole citiranih autora i izvora. Postupci za očuvanje integriteta Meta podatci i metabaza

OIIS -2013/14 OIIS -2013/14

Oblikovanje baze podataka – Oblikovanje baze podataka proces oblikovanja

z Je proces izrade detaljnog modela podataka u bazi podataka: Taj z Određivanje podataka koji se moraju pohraniti u bazu logički model sadrži sve potrebne logičke i fizičke opcije i parametre podataka fizičke pohrane u DDL-u (Data Definition Language) koji se mogu z Određivanje konceptualne sheme - odnosa (relationship) koristiti u krieranju baze (Ključevi, opisna polja) između podatkovnih elemenata z To je logički dizajn strukture baze za pohranu podataka; u relacijskom modelu to su tablice i pogledi, u objektnim bazama to su z Logičko strukturiranje podataka koje će se mapirati na objekte entiteti i odnosi koji se mapiraju na objektne klase i odnose. pohrane podržane DBMS-om (tablice koje spremaju podatke z Oblikovanje podataka može se shvatiti i kao oblikovanje ne samo u redove i kolone) strukture baze podataka već i formi i upita koji se koriste u DBMS z Fizički dizajn baze – specificira fizički dizajn konfiguracije sustavu. baze: detaljnu specifikaciju podatkovnih elemenata , tipova z prevođenje podatkovnog modela u strukture podržane odabranom podatka, opcionalnih indeksa i ostalih parametara iz rječnika tehnologijom (SUBP) podatka DBMS sustava

OIIS -2013/14 OIIS -2013/14

47 Podatkovna shema – shema baze podataka Normalizacija z z Postupak za oblikovanje tablica u z Postupak za uklanjanje nekih Proizlazi iz (logičkog) modela podataka odnosno bazi podataka čiji je cilj anomalija koje se javljaju kod rječnika podataka i obuhvaća: minimiziranje dupliciranja unosa, brisanja i ažuriranja informacija, osiguravajući bazu od podataka u bazu podataka z Entitete, atribute i njihove domene: logičkih i/ili stukturalnih problema z Svrha normalizacije je: (anomalija u podatcima) z Tablice – kolone zaglavlja tablice z da se ukloni (nepotrebna) z Primjer: kada se višestruka redundancija (zalihost) podataka, z Tip podatka za dati atribut instanca (jedan te isti podatak u različitim tablicama) ažurira z da se ubrza i olakša pretraživanje z Raspone – domene podatka za svaki atribut postoji mogućnost da se ne baze podataka uz upotrebu SQL ažurira u svim tablicama jezika z Instance (slogove) z Poveća pouzdanost u ispravnost z Problemi vezani uz normalizaciju: unešenih i pretraživanih podataka z Odnose među njima z Anomalija ažuriranja z Subshema – podskup sheme koji uključuje z Anomalija unosa novog sloga samo one slogove i odnose potrebne pojedinim z Anomalija brisanja korisnicima ili grupi korisnika.

OIIS -2013/14 OIIS -2013/14

Normalizacija Funkcijska ovisnost

Teorija normalizacije definirala je Postoji 6 normalnih formi, veći broj ograničenja pomoću razvrstanih od nižih(blažih) do PARTNER_SIFRA# PARTNER_NAZIV PARTNER_ADRESA MB kojih se definiraju normalne viših(strožih): 10 Zagreb d.o.o. Zagreb 3 forme. Za definiranje z Prva normalna forma (1NF) 20 Horizont d.d. Pula 5 spomenutih normalnih formi z Druga normalna forma (2.NF) Æ30 Josip Ferić Dugo Selo 11 važne su: z Treća normalna forma (3.NF) Æ30 Amalija d.d. Rijeka 9 z Funkcijska zavisnost z Boyce-Coddova normalna z Višeznačna zavisnost forma (BCNF) z Ključ relacije je PARTNER_SIFRA, a definirane funkcijske zavisnosti su: z Spojna zavisnost (zavisnost z Četvrta normalna forma (4.NF) z PARTNER_SIFRAÆPARTNER_NAZIV spajanja) z Peta normalna forma (5.NF) z PARTNER_SIFRAÆ PARTNER_ADRESA z PARTNER_SIFRAÆMB z Relacija nije legalna, funkcijska zavisnost PARTNER_SIFRAÆPARTNER_NAZIV nije ispunjena jer partner s brojem 30 ima dva naziva.

Izvor; Pavlić, M: Normalizacija podataka, OIIS -2013/14 OIIS -2013/14

Nenormalizirana relacija 1.Normalna forma

z Tok normalizacije z Redudancija relacije koja je u 1NF je velika i pojavljuju se anomalije unosa, brisanja i Definicija: Relacija se nalazi u prvoj normalnoj formi (1NF) ako su svi neključni promjene podataka. Npr. ako se promijeni atribut ODJEL_BROJ P1 u P5 tu promjenu morat atributi funkcijski ovisni o ključu relacije. Svi atributi moraju biti atomarni; ćemo upisivati na sva mjesta gdje se pojavljuje P1, a ne samo na jednom mjestu. Tablica je u prvoj normalnoj formi (1NF) ako i samo ako ne dozvoljava z Što je uzrok redudancije? dupliciranje redaka (ne postoje dva retka s istim primarnim ključem)- uvjet za z Ključ relacije sastavljen je od atributa MB i PARTNER_NAZIV. Pritom atributi 1NF je da je definiran primarni ključ IME_PREZIME, ODJEL_BROJ, i ODJEL_NAZIV nisu ovisni o cijelom ključu, nego samo o njegovom dijelu, točnije atributu MB. Taj problem rješava sljedeća normalna forma. PRIMJER:

MB IME_PREZIME ODJEL_BROJ ODJEL_NAZIV PARTNER_NAZIV MB IME_PREZIME ODJEL_BROJ ODJEL_NAZIV PARTNER_NAZIV 3 Ana Horvat P1 O-Zagreb Zagreb d.o.o. 3 Ana Horvat P1 O-Zagreb Zagreb d.o.o. Horizont d.d. 3 Ana Horvat P1 O-Zagreb Horizont d.d. 5Josip Antić P2 O-Osijek Horizont d.d. 5Josip Antić P2 O-Osijek Horizont d.d. Kompakt d.o.o. Neatomarni atribut 5Josip Antić P2 O-Osijek Kompakt d.o.o. 9 Ante Ivić P3 O-Split Vicko Stić 9 Ante Ivić P3 O-Split Vicko Stić Hotel F Amalija d.d. 9 Ante Ivić P3 O-Split Hotel F 11 Maja Markić P1 O-zagreb Josip Ferić 9 Ante Ivić P3 O-Split Amalija d.d. Brzopromet 11 Maja Markić P1 O-zagreb Josip Ferić ? ? ? ? A-banka d.d. 11 Maja Markić P1 O-zagreb Brzopromet ? ? ? ? A-banka d.d. Ključ MB ima više vrijednosti atributa PARTNER_NAZIV. Funkcijska zavisnost nije ispunjena. OIIS -2013/14 OIIS -2013/14 Izvor; Pavlić, M: Normalizacija podataka, Izvor; Pavlić, M: Normalizacija podataka,

48 2.Normalna forma (Potpuna funkcionalna ovisnost) 2. NF –tok normalizacije TRGOVAC_2(2NF) z PRIMJER: Relacija MB IME_PREZIME ODJEL_BROJ ODJEL_NAZIV z Tablica je u 2NF ako je prethodno normalizirana u TRGOVAC_PARTNER na na prethodnoj 1NF slici nije u 2NF. 3 Ana Horvat P1 O-Zagreb z TOK NORMALIZACIJE: Izdvajaju se svi atributi koji djelomično ovise o ključu, 5Josip Antić P2 O-Osijek Definicija: zajedno s dijelom ključa o kojem ovise, u 9 Ante Ivić P3 O-Split novu relaciju. z Pregledom relacije TRGOVAC_2 vidi se 11 Maja Markić P1 O-Zagreb • Relacija se nalazi u drugoj normalnoj formi (2NF) da još uvijek postoji redudancija koja ako su svi neključni atributi potpuno funkcijski ovisni uzrokuje anomalije pri obradi. Ovdje problem proizlazi iz zavisnosti neključnog TRGOVAC_PARTNER_2 (2NF) o bilo kojem (mogućem) ključu relacije, odnosno atributa ODJEL_NAZIV o drugom funkcijski ovise o svim djelovima ključa. neključnom atributu ODJEL_BROJ. MB PARTNER_NAZIV z Vrjede ove funkcijske ovisnosti: 3 Zagreb d.o.o. MBÆODJEL_BROJ i z Niti jedan ne-primarni atribut nije funkcionalno ODJEL_BROJÆODJEL_NAZIV. Zbog 3 Horizont d.d. ovisan o kandidatnom ključu; drugaim riječima, sve tranzitivnosti vrijedi i 5 Horizont d.d. MBÆODJEL_NAZIV stoga je ova 5 Kompakt d.o.o funkcionalne ovisnosti ne-primarnih atributa su ovisnost u relaciji TRGOVAC_2 nepotrebna odnosno redudantna. Ovaj 9Vicko Stić potpuno funkcionalno neovisne problem rješava treća normalna forma 9 Hotel F koja izbacuje tranzitivne ovisnosti. 9 Amalija d.d. 11 Josip Ferić OIIS -2013/14 OIIS -2013/14 Izvor; Pavlić, M: Normalizacija podataka, 11 Brzopromet

3. Normalna forma (tranzitivna ovisnost) 3.NF - TOK NORMALIZACIJE

CILJ: Uklanjanje anomalija izmjene odnosno tranzitivnih ovisnosti. PRIMJER: Dekompozicija relacije TRGOVAC_2 (2NF) na TRGOVAC_3 (3NF) i ODJEL(3NF) z Definicija: Relacija se nalazi u trećoj normalnoj formi (3NF) ako je u 2NF i ako ni jedan neključni atribut nije tranzitivno ovisan o bilo kojem TOK NORMALIZACIJE: Svi neključni atributi između kojih postoji funkcijska ovisnost ključu relacije odnosno: (ODJEL_BROJÆODJEL_NAZIV u primjeru) izdvajaju se u posebnu relaciju. 3NF dovoljna je za većinu praktičnih situacija. Ali ne rješava probleme složenih primarnih z Svaki neključni atribut mora ovisiti o ključu, cijelom ključu i samo o ključeva. ključu! Tranzitivna ovisnost TRGOVAC_3 (3NF) MB IME_PREZIME ODJEL_BROJ 3 Ana Horvat P1 Ključ A Atribut B1 Atribut B2 TRGOVAC_2(2NF) 5Josip Antić P2 Funkcionalne ovisnosti: 9 Ante Ivić P3 MB IME_PREZI ODJEL_BR ODJEL_NAZ AÆB1 i B1ÆB2 ÎAÆB2 ME OJ IV 11 Maja Markić P1 3 Ana Horvat P1 O-Zagreb B2 je tranzitivno ovisan o ključu A + 5Josip Antić P2 O-Osijek = 9 Ante Ivić P3 O-Split ODJEL_BROJ ODJEL_NAZIV P1 O-Zagreb 11 Maja Markić P1 O-Zagreb Ključ A Atribut B1 Atribut B1 Atribut B2 P2 O-Osijek P3 O-Split

OIIS -2013/14 OIIS -2013/14 Izvor; Pavlić, M: Normalizacija podataka, ODJEL (3NF)

Boyce-Coddova normalna forma (strožiji oblik 3NF) BC NF

CILJ: Uklanjanje anomalija izmjene TOK NORMALIZACIJE: Izdvaja se neključni atribut preko kojeg je Definicija 1: Relacija je u Boyce-Coddov normalnoj formi (BCNF) ako sve ostvarena tranzitivna funkcijska ovisnost dijela ključa u novu funkcijske ovisnosti proizlaze iz njezinog ključa. shemu relacije koja sadrži i atribut o kojemu je izdvojeni atribut funkcijski ovisan. Definicija 2: Ako je atribut iz složenog ključa ovisan o nekom atributu A sheme relacije, tada taj atribut mora biti ključ. PARTNER_TRGOVAC PARTNER_POSAO PRIMJER: Relacija koja je u 3NF, a koja ne udovoljava BCNF. PARTNER_ŠIFRA POSAO_ŠIFRA PARTNER_ŠIFRA MB 10 A1 TRGOVAC_POSAO 10 1 20 B2 MB POSAO_SIFRA PARTNER_SIFRA 20 3 mora biti ključ 75 C1 1A110 75 5 75 C2 3B220 Funkcijske ovisnosti: 30 9 30 D3 5C175 MB,POSAO_SIFRAÆPARTNER_SIFRA 5C275 PARTNER_SIFRAÆMB 9D330 Dekompozicija je pouzdana (reverzibilna), ali u njoj nisu sačuvane funkcijske ovisnosti zadane početnom relacijom. Izgubljena je funkcijska Javlja se redudantnost. Npr. informacija da je partner 75 vezan uz trgovca ovisnost MB,POSAO_ŠIFRAÆPARTNER_ŠIFRA. U ovom slučaju bolje je 5 navedena je u dvije n-torke. Pošto vrijedi PARTNER_SIFRAÆMB informacija bi trebala biti zabilježena samo jednom zadržati relaciju u 3NF nego izgubiti jednu funkcijsku ovisnost. OIIS -2013/14 OIIS -2013/14 Izvor; Pavlić, M: Normalizacija podataka, Izvor; Pavlić, M: Normalizacija podataka,

49 Denormalizacija Denormalizacija

Dijeljenje i udruživanje tablica z Prije početka kodiranja obavlja se z dijeljenje tablica smještanjem rijetko korištenih atributa u posebnu tablicu z udruživanje tablica ili uklanjanje pojedinih tablica stapanjem atributa ograničeno uvođenje zalihosti i ugađanje z obične veze 1:1 z • udruživanje nadtipa s podtipovima kardinalnosti 1:1, pod uvjetom da su slične strukture i baze podataka zbog poboljšanja sadržaja Uvođenje zalihosti elastičnosti i poboljšanja performanci z dodavanje atributa za pohranu izvedenih vrijednosti z atribut pohrane za izvedenu vrijednost koja se može izračunati agregatnom funkcijom (npr. iznos računa kao suma iznosa stavki) z zahvat može rezultirati određenim brojem z oznaka zadnje vrijednosti nekog stanja kada se vrijednosti pojedinih stanja nalaze u tablici s velikim brojem zapisa (npr. stanje skladišta) intervencija u logički model z redundantna vrijednost koja se inače dohvaća složenim i/ili sporim upitima (zadnje zaposlenje + zadnji izbor u zvanje + zadnje školovanje) z dodavanje atributa kao što su zastavice za "trajno" označavanje zapisa z Denormalizacija - ograničeno i kontrolirano Podrazumijeva se da se denormalizacija obavlja samo na mjestima gdje je to stvarno nužno i na takav način da ne ugrožava integritet podataka - aplikacijsko upravljanje narušavanje NF integritetom

OIIS -2013/14 OIIS -2013/14

Očuvanje integriteta baze Ugađanje baze podataka

Očuvanje integriteta stvaranjem objekata u rječniku BP z Postavljanje indeksa radi z osiguranja integriteta podataka z Entitetski integritet - postavljanjem primarnog ključa z ubrzanja dohvata podataka z Referencijski integritet - postavljanjem stranog ključa i ograničenja na Preporuke za postavljanje indeksa unos z Jedinstveni indeks nad primarnim i alternativnim ključem (integritet) z mora postojati vrijednost stranog ključa (mandatory→ not null) z Indeks nad stranim ključem (ubrzanje provjere integriteta i spojnih upita) z strani ključ smije se postaviti na nul-vrijednost (optional→ null) z Indeksi nad najčešće korištenim poljima, tj poljima koja se koriste za z Domenski integritet - postavljanjem ograničenja na skup vrijednosti grupiranje, sortiranje ili selekciju uz uvjet (ubrzanje pretraživanja) Neki sustavi implicitno kreiraju indekse za primarne i strane ključeve z Alternativni ključevi - obveznim atributima i jedinstvenim indeksima z općenito, u tom slučaju ne treba posebno kreirati indekse Pravila referencijskog integriteta – opći slučaj z ako su ključevi složeni pretraga će raditi brzo uglavnom po prvom polju z Postupci prilikom unosa, ažuriranja i brisanja roditelja ili djeteta z – po potrebi postaviti dodatne indekse nad preostalim poljima z zabrana (restrict) z Gomilasti indeks (CLUSTERED INDEX), Faktor popunjenosti (FILL FACTOR), .... z brisanje n-torki koje imaju odgovarajuću vrijednost stranog ključa z Promjene podataka uzrokuju ažuriranje indeksa. (cascade) z Izbjegavati nepotrebne i indekse koji su sastavni dio drugih indeksa! z ažuriranje odgovarajućih vrijednosti stranih ključeva (set null) z Ukloniti indekse prigodom masovnih obrada podataka z postavljanje na standardnu vrijednost (set default) z Koristiti naredbe i opcije za uvoz podataka (BULK INSERT ... CHECK_CONSTR.) z Treba li kreirati indeks u tablicama s malim brojem podataka?

OIIS -2013/14 OIIS -2013/14

Ugađanje baze podataka Pohrana podataka – vrste baza Minimizacija nul-vrijednosti z problem neodređenih vrijednosti agregatnih funkcija, problem operacija s nul- vrijednostima z Vrste datoteka/tablica – primjer: SELECT AVG(polje), gdje polje ima/nema nul-vrijednosti z Matične - dodani zapis ostaje “zauvijek” u sustavu, može se z opisna polja - zahtijevana vrijednost + pretpostavljena vrijednost mijenjati z problem vanjskih spojnih upita z primjer: Kupac, Artikl, Predmet, OrgJedinica z strana polja – posebne vrijednosti u šifrarnicima z – primjer: 0-nepoznata vrijednost, 999-nepostojeća vrijednost z Transakcijske (prometne) – zapisi poslovnih događaja, Ubrzanje upita ograničeni vijek, uklanjanje zapisa uz arhiviranje z analiza plana izvođenja (Execution Plan) i odabir poželjnog plana z primjer: Racun, Prijavnica z – primjer: SELECT ... OPTION (FORCE ORDER) z Šifrarnici – statički podaci koji se koriste od različitih aplikacija z primoravanje korištenja određenog indeksa radi očuvanja konzistentnosti podataka i poboljšanja performansi z – primjer: SELECT ... WITH (INDEX(index, index...)) z primoravanje nekorištenja indeksa primjenom neškodljive funkcije nad poljem nad z primjer: Mjesto (poštanski brojevi), StatusNecega kojim se uobičajeno koristi indeks z Dokumentacijske – kopije povijesnih podataka za lakši dohvat i z – primjer: WHERE NULLIF ( polje , “” ) = ... pregled bez regeneriranja dokumenata z ostale opcije z Arhivske – uklonjene iz medija za direktni (on-line) pristup z – primjer: SELECT ... OPTION (FAST n_rows) z Dnevnici (audit, log) – evidencija pristupa i promjena podataka

OIIS -2013/14 OIIS -2013/14

50 Metamodeli (baza) podataka Metamodel z Meta-model – model baze podataka z Meta-baza – baza podataka o bazi podataka z Šifrarnici z Dokumenti z Opisi događaja z Opisi procesa

OIIS -2013/14 OIIS -2013/14

Metamodel Oblikovanje programskih rješenja

OIIS -2013/14 OIIS -2013/14

Specifikacija i dizajn programske Napomena podrške

Specifikacija programske podrške (software specification), z Materijali u ovoj prezentaciji predstavljaju z specifikacija programa (program specification) pomoćni radni materijal za svladavanje z navođenje svih zadataka koje program treba obaviti z međusobne povezanosti različitih dijelova programa i podataka gradiva na predmetu Modeliranje i izgradnja z opis vrste podataka, opis ulaznih i izlaznih podataka IS-a. Sadrže dijelove koji se moraju revidirati i z specifikacija prikaza podataka z \Dokumentacija\SpecifikacijaZahtjeva nadopuniti uz dozvole citiranih autora i izvora. z Dizajn programske podrške (software design) dizajn programa (program design, software design) z proces pretvorbe zahtjeva na programsku podršku u oblik koji omogućuje programiranje z opis jezikom za oblikovanje programa (PDL - Progam Design Language) pri čemu program napisan pomoću PDL nema oblik izvedbenog programa z Dokumentacija\SpecifikacijaDizajna Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

51 Pristup oblikovanju programa Pristup oblikovanju programa

Funkcionalni pristup (Yourdon, Constantine, 1979) Podatkovno usmjereni pristup (Jackson, Warnier, z strukturirani dizajn programske podrške 1981) z svladavanje veličine i složenosti programa razradom u hijerarhiju modula z struktura podataka određuje strukturu programa z programski modul – grupa instrukcija Objektno usmjereni pristup z paragraf, blok, potprogram, subrutina z podjela u razrede (klase) koji istovremeno sadrže z podjela programa i/ili sustava module ili tzv. crne kutije (black podatkovne strukture i procedure box) z veliko unutarnje prianjanje modula – kohezija (cohesion) z (metode) koje se obavljaju nad objektima z – moduli moraju biti interno visoko povezani (instancama) razreda z –svaki modul treba obavljati jednu i samo jednu funkciju z kohezija i skopčavanje također se uvažavaju, a z – postizanje ponovne upotrebljivosti u budućim programima provode kontroliranim nasljeđivanjem, sučeljima i z mala vanjska zavisnost modula – skopčavanje (coupling) fasadama između razreda i komponenti z – moduli trebaju biti minimalno međusobno zavisni z – minimizacija utjecaja promjene jednog modula na druge module Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis Fertalj, KalpiOIISć: http://www.zpm.fer.hr/courses/pis -2013/14 OIIS -2013/14

Strukturirani dizajn Strukturna karta

z Strukturna karta (Structure Chart) z modeliranje programske funkcija podrške na temelju dijagrama kontrola toka podataka podatak z • dijagram toka podataka poziv prikazuje ŠTO treba postići Ugrađena z • strukturnom kartom izražava se funkcija - iteracija selekcija KAKO ostvariti zahtjeve modul z prikaz hijerarhije programskih modula koji uključuje z • prijenos podataka i upravljanja između različitih razina obrade z • prikaz slijedne, ponavljajuće i uvjetne obrade z elementi prikaza:

OIIS -2013/14 OIIS -2013/14

Transakcijska analiza Opis logike programa z Transakcijska analiza (transaction analysis) z analiza izvršenja/obavljanja obrade z Dijagram toka z primjenjuje se na sustave sa jasno raspoznatljivim središtima izvršenja z Blok dijagram z (transaction centre), tj. sustave u kojima se donosi odluka o tome koji će se z Pseudokod z proces koristiti za pretvorbu ulaza u izlaze (npr. interaktivne aplikacije) z Akcijski dijagrami z Ulaz se usmjerava BC C1 C B3 z Tablice odlučivanja 3 B1 C2 6 C3 B1 C1 B2 4 C2 z Struktogrami B2 C3 2 B3 5 5 5 B 5

OIIS -2013/14 OIIS -2013/14

52 Standardizacija i modularnost Standardizacija i modularnost programske podrške programske podrške

z U brojnim programskim aplikacijama postoje rješenja za određene z Standardne funkcije modula aplikacije za rad s bazom podataka vrste poslova koji su tijekom razvoja velikog broja sustava z Ulaz u modul standardizirani z automatski prikaz podataka na temelju uvjeta / parametera z – niti jedan zapis z Procedure za te procese standardizirane su i u pojedinim vrstama z – svi zapisi programskih alata i programskih jezika z – odabrani zapisi (primarni ključ, uvjet za selekciju zapisa) z Poslovna i druga složena programska rješenja uobičajeno se z Traženje (selekcija) podataka izrađuju kao moduli za pojedine vrste procesa i u kompleksnoj z mora podržavati traženje po uzorcima (query by example), koji se unose s ekranske maske (query by form) aplikaciji mogu se preko jedinstvene baze podataka međusobno z ako programski jezik nema neproceduralnih naredbi za konstrukciju uvjeta lako povezati selekcije, treba ih programski simulirati z Unos novog zapisa z obavlja odgovarajuću provjeru domenskog, entitetskog i referencijalnog integriteta z treba omogućiti odabir i po potrebi unos podataka koji se nalaze u drugim tablicama, a povezani su preko stranog ključa

Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Elementi grafičkog sučelja za Oblikovanje sučelja unos podataka

Korisnička sučelja Text Box i varijante List Box z tekstovna, grafička z slobodni tekst z umjereno velik broj (?) poznatih, ne z masovni unos (batch input) - periodičko pretipkavanje Radio Button z nužno isključivih vrijednosti z interaktivni unos (on-line) - na mjestu nastanka z vrijednosti iz konačnog malog skupa Spin (Spinner), DomainUpDown, Automatizirani unos z unaprijed poznatih, međusobno NumericUpDown z biometrijski uređaji - otisci prstiju, uzorci glasa z isključivih vrijednosti (2 do 3) z nevelik slijed diskretnih vrijednosti z elektromagnetski uređaji - identifikacija objekata s pomoću radio valova Check Box Grid – mreža, matrica z magnetski uređaji - magnetske kartice i drugo z binarne vrijednosti, opcionalno z kombinacije osnovnih elemenata z optički čitači - • optical-mark reader (OMR), • optical-character reader (OCR) z "nepoznato" z pametne kartice (smart cards) - mikroprocesor, memorija, baterija Drop-Down ili Combination z uređaji osjetljivi na dodir - touch screen, touch-pad, pen-based z (Combo) Box Izlazi - izvješća z umjereno velik broj (?) poznatih (?), z dokument - npr. prijavnica, račun z međusobno isključivih vrijednosti z detaljna - dokumentiranje obrade, povijest i stanja evidencije z zbirna - grupiranje, sortiranje, iznimke z grafička - točkasti, štapičasti, linijski, torta, ... Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Karakteristike objektnog pristupa Objektno orijentirani z Intuitivnost pristup z Lakoća uočavanja pogrešaka z Lakoća održavanja z Lakoća oblikovanja z Mogućnost za ponovu upotrebu istih koncepata na drugim slučajevima

OIIS -2013/14 OIIS -2013/14

53 Konceptualne osnove Konceptualne osnove

z učahurivanje (encapsulation) – podatci (atributi) i metode (procesi) kojima se z Objekt je stvar iz realnog svijeta o kojoj se vode pristupa podatcima ili vrši bilo kakva manipulacija nad podatcima su združeni u objektu (detalji ugradnje su sakriveni - objekti su “crne kutije” čijim se podacima podatci i način manipulacije tim podatcima rukuje putem ugrađenih metoda) z razmjena poruka (messaging/signaling) – objekti su izolirani i za međusobnu z Podatci o objektu (atributi) i procesi nad tim komunikaciju se šalje poruka da bi izveo neku od svojih metoda, i time promijenio stanje nekog od svojih atributa npr. Promjena stanja objekta generira podatcima se integriraju signal koji pokreće metodu na drugom objektu Dodaj proizvod z nasljeđivanje (inheritance) – podrazred (subclass) nasljeđuje svojstva i metode nadrazreda (superclass), npr. Desktop računali i Notebook z Objekti sličnih svojstava se grupiraju u klase računalo nasljeđuju superklasu Računalo z višeobličje (polymorphism) – operacija ili metoda je polimorfna ako proizvodi z Pojedinačni objekt je instanca (pojava) klase slične rezultate na različitim objektima ili na različitim razinama objekta. Npr. Prodaja robe kupcu, povrat robe, isporuka robe su događaji koji mijenjaju stanje objekata zaliha robe na skladištu. Struktura metode za ažuriranje podataka m ože se naslijediti s klase najviše razine i nakon toga ju prilagoditi za svaki od posebnih z Složeni sustavi grade se iz pojedinačnih slučajeva. komponenti.

OIIS -2013/14 OIIS -2013/14

Objektno orijentirano modeliranje vizualno Objektno usmjereni razvoj modeliranje – dijagrami i jezici

Obuhvaća: z Dijagrami Jezici: z Objektno orijentiranu analizu z Dijagrami struktura z UML – Unified Modelling z Identifikacija i opis klasa objekata koji opisuju (čine) sustav z Dijagrami klasa Language (objedinjeni z postojeći objekti i mogućnost nihova korištenja z Dijagrami objekata jezik za modleiranje) z Novi objekti važni za buduću primjenu IS sustava z Dijagram komponenti z Može se koristiti za sve z Objektno orijentirano oblikovanje (design) z Dijagram upotrebe faze životnog ciklusa z Definiranje softverskih objekata koji će se implementirati u OO jeziku z Dijagrami ponašanja razvoja IS-a z Razrada zahtjeva, karakteristika podataka i procesa z Dijagrami slučajeva z Može se koristiti za: z korištenja Definiranje novih skupova objekata z Modeliranje podataka z Dijagrami sekvenicija z Objektno orijentirana konstrukcija (programiranje) z Modeliranje procesa z Implementacija objekata na objektno orijentirani jezik (C++, Java, z Dijagrami suradnje z Modeliranje komponenata i Visual basic) z Dijagrami aktivnosti odnosa

OIIS -2013/14 OIIS -2013/14

Dijagrami klasa (razreda) Primjer za klasu (razred) z Razred (class) = kolekcija, skup objekata sa z Primjer: zajedničkom strukturom, zajedničkim ponašanjem, z Definirati klasu Student z Svaki student ima svoj broj indeksa, prezime, ime i prosjek ocjena. Student može prijaviti i odjaviti zajedničkim vezama i zajedničkom semantikom, na ispit te mu pristupiti. Za prijavu i odjavu ispita potrebna je šifra predmeta, a operacije vraćaju primjer C-Student vrijednosti jesu li uspjele ili ne. U slučaju pristupanja ispitu povratna vrijednost je dobivena ocjena na ispitu. z Objekt – pojedinačna pojava (objekt, instanca) iz nekog razreda, na primjer C-Maja Majić i C-Pero Perić iz razreda C-student z Definiranje razreda z Naziv z Opis (komentar) – slobodan tekst u vitičastim zagradama z Atributi - struktura kojom su određena svojstva objekata z Operacije - procesi/servisi koje razred (objekt) zna obaviti, čime se određuje ponašanje objekata

OIIS -2013/14 OIIS -2013/14

54 Atributi Operacije

z Operacije su procesi koje klasa može izvršiti. Navode se u pravokutniku ispod z svojstva klasa atributa. z navode se u pravokutniku ispod naziva klase z Svojstva operacija mogu biti: z imaju i svoja svojstva: z vidljivost (isto kao i kod atributa) z naziv – prva riječ piše se malim slovom, početno slovo ostalih riječi z ulazni i izlazni parametri – svojstveni samo za operacije. Određuju ulazne vrijednosti velikim (brojIndeksa) koje operacija dobiva i izlazne koje vraća. z vidljivost z z javno (public) – dostupan svim klasama i paketima (simbol: +) z Pravilo pisanja operacija: z privatno (private) – dostupan unutar iste klase (simbol: - ) z zaštićeno (protected) – dostupan unutar iste klase i izvedenih klasa (simbol: #) z [vidljivost] imeOperacije (parametri) z paket (package) – dostupan svim klasama istog paketa (simbol: ~) z tip z UML tipovi (Boolean, Integer, String, UnlimitedInteger) z Java tipovi (byte, char, double, float, int) z početna vrijednost – moguće je atributima dodati neku inicijalnu vrijednost (npr. za klasu automobil definiramo atribut brojVrata i dodijeljujemo mu vrijednost 4 Æ brojVrata = 4)

OIIS -2013/14 OIIS -2013/14

Odnosi među klasama Pridruživanje Vrste pridruživanja (veza): z Postoje 2 osnovna tipa odnosa među klasama: pridruživanje i podtip. Pridruživanje •jednosmjerne (unidirekcionalna) – smjer definiran samo na jednom vrhu predstavlja statične odnose između dvije klase, dok podtip predstavlja oblik odnosa •dvosmjerne (bidirekcionalna) – smjer definiran na oba vrha između klasa (jedna klasa je 'roditelj' jednoj ili više drugih klasa) •agregacije •refleksivne Dozvoljene vrijednosti:

PRIDRUŽIVANJE (ASOCIJACIJA) 1= točno 1 pojedinac n1 = bilo koji točno određen broj (0, 1, 5, 23) n1.. n2 = između n1 i n2 (5..8 Æ 5, 6, 7 ili 8) n1..n = između n1 i više pojedinaca n1...n2, n3 = kombinacija (4..7,9 Æ 4, 5, 6, 7 ili 9) n..* = n ili više pojedinaca, neograničeno (5..* Æ 5 ili više)

Primjer: Višestrukost veze između klase Student i Indeks

OIIS -2013/14 OIIS -2013/14

Agregacija Kompozicija

Agregacija predstavlja vezu u kojoj promatrana klasa pripada kolekciji unutar Kompozicija je slična agregaciji, ali se uništavanjem agregata (cjeline) uništavaju i njegovi neke druge klase, tj. da jedna klasa sadrži druge (klasa je agregirana u drugoj dijelovi. Kaže se da je ona jaki tip agregacije. U slučaju kompozicije promatrana klasa ne klasi). To je oblik odnosa nadskup-podskup, odnosno cjelina-dio. može egzistirati bez neke druge klase. Označavanje kompozicije identično je agregaciji.

simbol: Simbol: Primjer: U nekom poduzeće postoje odjeli nabave, prodaje, financija... Zaposlenici su zaposleni u tim odjelima.

OIIS -2013/14 OIIS -2013/14

55 Nasljeđivanje Generalizacija i Specijalizacija

z Odnos između općenitog i njemu određenijeg elementa Između različitih klasa često postoje sličnosti. Dvije ili više klasa mogu dijeliti iste z nadređeni razred ili tip (superclass, supertype) atribute i/ili iste metode. Budući da se želi izbjeći nepotrebno ponavljanje z podređeni razred ili tip (subclass, subtype) programskog koda, koristi se koncept nasljeđivanja koji omogućava ponovno z Sve što vrijedi za nadređeni element vrijedi i za podređeni element, korištenje postojećih podataka i kodova. z ali ne i obrnuto z Strelice označavaju odnose derivacija: proširuje, implementira, "je tipa", "ima Kada klasa A nasljeđuje od B, kaže se da je A podklasa klase B, a B nadklasa obilježja od", itd. klase A. Nadalje, termin „čisto nasljeđivanje“ označava kada klasa A nasljeđuje z Generalizacija sve atribute i metode od klase B. z stvaranje nadklase koja objedinjuje ponašanje zajedničko za nekoliko klasa z usmjerena je od podklase prema nadklasi Jedna klasa je 'roditelj' jednoj ili više drugih klasa, a veza nasljeđivanja uvijek je usmjerena od podklase prema nadklasi z Specijalizacija z stvaranje podklasa koja predstavlja dodavanje novih elemenata z usmjerena je od nadklase prema podklasi

OIIS -2013/14 OIIS -2013/14

DIJAGRAM OBJEKATA Ovisnosti (OBJECT DIAGRAM)

z odnos koji pokazuje da jedna klasa ovisi o drugoj klasi. z Prikazuju stukturu sustava u nekom trenutku. Taj prikaz može biti z promjena u jednom (neovisnom) entitetu može utjecati na drugi (ovisni) entitet djelomičan ili cjelovit, tj. nije nužno prikazati objekte svih razreda sustava. z neovisni entitet Æ isporučitelj z Dijagrami objekata generiraju se iz dijagrama klasa predstavljaju instancu klase z ovisni entitet Æ klijent z jednosmjerna veza z simbol: z Simbol objekta je pravokutnik u kojem se prikazuju 2 dijela – jedan za naziv objekta, a drugi za vrijednost atributa. Objekti se razlikuju od klasa jer nemaju definicije atributa i operacija, ali imaju jasno naznačeno stanje Primjer: važnih atributa. Postoje 2 klase: A i B. Klasa B ovisi o promjenama klase A.

z Naziv objekta piše se podvučeno, a u nastavku stavlja se znak dvotočke te naziv klase kojoj pripada.

OIIS -2013/14 OIIS -2013/14

Veze među objektima Nasljeđivanje objekata

z Dijagrami objekata sastoje se od objekata i veza. Za pridruživanja objekata najčešće z Pojedinci klase koji nasljeđuju druge klase automatski nasljeđuju i sve atribute se koristI dvosmjerna veza, a dozvoljeno je korištenje i kompozicije. Ako su dvije roditelja. klase povezane nasljeđivanjem, veza između njihovih objekata biti će dvosmjerna. Višestrukost veze je uvijek 1. Primjer: Naveden je primjer dijagrama klasa koji prikazuje nasljeđivanje klasa Student i z Profesor. Na temelju tog dijagrama potrebno je kreirati dijagram objekata. z U izradu dijagrama objekata prvo odaberemo klase čije objekte ćemo prikazati. Najčešće su to najvažnije klase za ispravno funkcioniranje sustava. z Nakon toga unosimo proizvoljne vrijednosti u objekte, ali pazimo da one ispravno demonstriraju vrijednosti koje će atributi imati tijekom rada sustava. z Na kraju povezujemo objekte, označavamo veze gdje je to potrebno i završavamo izradu dijagrama. Primjer:

OIIS -2013/14 OIIS -2013/14

56 DIJAGRAM SLUČAJEVA DIJAGRAM SLUČAJEVA KORIŠTENJA (USE-CASE DIAGRAM) KORIŠTENJA – simboli i veze z Dijagrami slučajeva korištenja prikazuju z Slučaj korištenja (use case) je skup scenarija povezanih jednim ciljem korisnika. Predstavlja apstraktni zadatak kojeg izvode sudionici. Izvršavanje svakog slučaja ponašanje sustava, dijelova sustava ili korištenja neovisno je od drugih slučajeva korištenja. konkretne klase na način vidljiv korisniku z Sudionik (actor) je vanjski entitet direktno povezan sa sustavom. Inicijator svih akcija sustava. je sudionik. Oni su vanjski dijelovi sustava te su njihove odgovornosti također van sustava. z Ponašanje sustava opisano je pomoću ciljeva i z Sudionicima se dodjeljuju imena, koja ne bi smjela biti povezana sa organizacijom sudionika koji predstavljaju apstrakciju korisnika poduzeća ili nekim određenim korisnikom. Može biti živo biće ili neki drugi sustav. Na sustava. dijagramima sudionici su prikazani pojednostavljenim prikazom čovjeka. z Dva su tipa sudionika – primarni i sekundarni. Primarni sudionik pokreće slučaj z Ovi dijagrami opisuju samo poglede na korištenja (smjer strelice je od sudionika prema slučaju korištenja), a sekundarni je sudionik slučaja korištenja nakon što je on pokrenut (smjer strelice je od slučaja ponašanje sustava sa strane korisnikove korištenja prema sudioniku). percepcije i ne opisuju kako je funkcionalnost izvedena unutar sustava.

OIIS -2013/14 OIIS -2013/14

DIJAGRAM SLUČAJEVA DIJAGRAM SLUČAJEVA KORIŠTENJA – asocijacija KORIŠTENJA – generalizacija z Asocijacijom se povezuju sudionici sa slučajevima korištenja u kojima z Generalizacijom se povezuju dva sudionika ili dva slučaja korištenja. sudjeluju. Moguće je koristiti i višestrukost pri čemu se određuje koliko puta z U slučaju da se generalizacijom povezuju dva sudionika, specifičniji sudionik neki sudionik sudjeluje u određenom slučaju korištenja te koliko sudionika preuzima sve uloge apstraktnijeg uz dodatak novih uloga. može izvesti određeni slučaj korištenja. z Kod korištenja generalizacije između dva slučaja korištenja specifičniji proširuje odnosno mijenja funkcionalnosti apstraktnijeg.

OIIS -2013/14 OIIS -2013/14

DIJAGRAM SLUČAJEVA DIJAGRAM KOMPONENTI KORIŠTENJA – uključivanje (COMPONENT DIAGRAM) z Vezom uključivanja se povezuju dva slučaja korištenja na način da z Komponenta je zasebna cjelina programske potpore s vlastitim sučeljem. jedan slučaj u tijeku svog izvođenja u potpunosti izvede uključeni z Dijagrami komponenti prikazuju komponente sustava i njihove međusobne slučaj korištenja. odnose z Komponentni dijagrami pomažu u modeliranju fizičkih cjelina sustava kao što su izvršne datoteke, programske biblioteke, tablice, datoteke i svi drugi dokumenti. z Dijagrami komponenti su strukturni UML-dijagrami. Prikazuju vremenski nepromjenjiva (statička) svojstva sustava s fizičkog aspekta implementacije.

Primjer: Prikazati sistemsku datoteku 'gdi32.dll' operacijskog sustava Windows. Datoteka eksportira Graphics Device Interface(GDI) programsko sučelje.

OIIS -2013/14 OIIS -2013/14

57 DIJAGRAM KOMPONENTI – DIJAGRAM KOMPONENTI – vrste komponenata stereotipovi komponenata z Komponente razmještaja - nužne i dovoljne za ispravan Postoji 5 standardnih stereotipova: rad dizajniranog sustava. Npr. dinamički povezane biblioteke (dynamic linked z <> komponenta može biti izvršna libraries DLL) i izvršne datoteke (*.exe) u čvoru z Komponente radnog proizvoda su nastale tijekom z <> komponenta je statička ili dinamička razvoja sustava biblioteka Npr.datoteke s izvornim kodom (source code) i datoteke s z <

> komponenta je tablica baze podacima (data files podataka z Komponente izvođenja su nastale kao posljedica izvođenja i rada sustava. z <> komponenta je dokument s izvornim Npr. COM+ objekti jer nastaju izvođenjem DLL datoteka kodom ili podacima Program Debug Database (PDB) datoteke nastale tijekom z <> komponenta je dokument općeg izrade .NET projekata značenja ili sadržaja

OIIS -2013/14 OIIS -2013/14

DIJAGRAM KOMPONENTI – sučelja komponenti DIJAGRAMI PAKETA z Sučelje je kolekcija operacija koja određuju usluge komponente. z Paket - opći mehanizam grupiranja lemenata, Ponašanje komponente definirano je pomoću njezinih sučelja. Komponenta može biti zamijenjena drugom ako i samo ako su logički povezana grupa elemenata modela, njihova sučelja identična. dio modela z Dijelovi paketa – općenito podsustavi, manji paketi, usecase, komponente z Koriste se u fazi razvoja sustava za npr. organizaciju izvornog koda

OIIS -2013/14 OIIS -2013/14

SEKVENCIJSKI DIJAGRAM Dijagram paketa (SEQUENCE DIAGRAM)

z Prikazuju interakciju objekata u vremenskom slijedu - daje naglasak vremenskom Primjena paketa radoslijedu kojim se odvija međudjelovanje sudionika u sustavu z Sudionici koji se modeliraju na sekvencijskim dijagramima mogu biti sudionici (predočavanjem komunikacije sudionika s dijagrama slučajeva korištenja) ili objekti, •Za veće projekte pri čemu se prikazuje komunikacija instanci klasa prikazanih na dijagramu klasa. •Za testiranje z Sudionici se crtaju u obliku pravokutnika s nazivom sudionika unutar njega koji je •Za uočavanje zavisnosti podcrtan. z Ispod sudionika proteže se linija koja se naziva životna linija sudionika i može biti •Održavanje kontrole nad puna ili isprekidana. Ona označava boravak sudionika u međudjelovanju unutar strukturom cjelokupnog sustava sustava koji se modelira. z Objekti i/ili razredi prikazani horizontalno na vrhu isprekidanih vertikalnih crta, linija života . z Poruke prikazane strelicama između linija života objekata koji komuniciraju z Linija života (lifeline): život objekta za vrijeme interakcije

OIIS -2013/14 OIIS -2013/14

58 SEKVENCIJSKI DIJAGRAM – Sekvencijski dijagram - primjer: otvaranje računa tumačenje

z Objekti z prvi stupac: uobičajeno sudionik koji inicira slučaj korištenja z drugi stupac: granični objekt (boundary object), kojim sudionik pokreće slučaj korištenja z ostali stupci: objekti koji upravljaju slučajem korištenja z Poruke z Poruka predstavlja poziv postupka referenciranog objekta z oruke se označavaju barem nazivom poruke z Oznaka se može proširiti argumentima poruke te povratnim vrijednostima i/ili upravljačkim informacijama z Vremenska os z nelinearna, određena događajima z čita se s vrha prema dnu z prikazuje redoslijed, a ne stvarno vrijeme z Linija života objekta z povezuje postojanje i cjelokupno ponašanje objekta z redoslijed linija nema posebno značenje

OIIS -2013/14 z zlomljena linija života označava da objektOIIS nije-2013/14 aktivan, kvadrat označava da je objekt aktivan.

Napomena Modeliranje i z Materijali u ovoj prezentaciji predstavljaju implementacija IS-a pomoćni radni materijal za svladavanje gradiva na predmetu Modeliranje i izgradnja Implemantacija IS-a IS-a. Sadrže dijelove koji se moraju revidirati i nadopuniti uz dozvole citiranih autora i izvora.

OIIS -2013/14 OIIS -2013/14

Implementacija – izrada i ugradnja sustava Kodiranje, programiranje

Implementacija sustava, ugradnja sustava Kodiranje z izrada novog sustava i isporuka tog sustava u produkciju, to jest z pretvorba detaljnog programskog opisa u stvarni program, najčešće svakodnevnu primjenu primjenom nekog formalnog programskog jezika z Izrada sustava z ručno kodiranje z faza u kojoj se obavlja z neizbježno zbog veličine stvarnih problema i složenosti procesa z izgradnja i testiranje mreža (po potrebi) z sporo i dugotrajno → primjena jezika visoke razine z izrada i provjera baze podataka z – jezici četvrte generacije (4GL – Fourth Generation Language) z – kreiranje baze podataka, z – objektno zasnovani jezici (Object Based Language) z – transfer probnih podataka, z – objektno usmjereni jezici (Object Oriented Language) z – testiranje operacija nad podacima z poželjno je da konkretni jezik uz prevodilac (compiler) uključuje interpretator (interpreter) te alat za otkrivanje pogrešaka (debugger) z instalacija i testiranje novih softverskih paketa (po potrebi) z pisanje i testiranje novih programa, pisanje programske dokumentacije z automatsko kodiranje z – provodi se prema detaljnom planu programiranja z generiranje programskog koda, sučelja, sheme baze podataka z – prethodno se stvara izvedbena ekipa i pridjeljuju odgovornosti članovima z Istovremeno korištenje različitih programskih jezika, a naročito z drugi nazivi: konstrukcija, izvedba, provedba jezika različitih generacija treba koristiti samo po potrebi, primjerice kada se želi ukloniti neke nedostatke osnovnog jezika Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis kojim se obavlja razvoj.

OIIS -2013/14 OIIS -2013/14

59 Kodiranje, programiranje Pristup programiranju

Strukturirano programiranje, Strukturno programiranje Monolitni pristup (build and fix) z tehnika programiranja koja podrazumijeva z dugotrajno kodiranje, a zatim niz ponavljanja oblika z pristup odozgo prema dolje (top-down programming) i provjera+ispravak z uporabu programskih struktura: z – slijed, tj. blok naredbi s jednim ulazom i izlazom z odgađa otkrivanje problema (pogrešaka u kodu i dizajnu) z – uvjetno grananje, npr. naredbe if, case/switch/select z prosljeđuje probleme u primjenu i održavanje z – ponavljanje, tj. programske petlje (s uvjetom na početku, s uvjetom na kraju, s unaprijed poznatim brojem koraka) Inkrementalni pristup (stupnjevito, postupno programiranje) z izbjegavanje bezuvjetnih skokova (GOTO naredbe) z niz ponavljanja oblika kodiranje+provjera+ispravak Proceduralno programiranje z omogućuje raniju provjeru i izdvajanje pogrešaka (fault isolation) z način programiranja koji omogućuje da se program definira kao skup programskih cjelina, poželjno takvih da se mogu opetovano koristiti z omogućuje raniju raspoloživost djelomičnih (nedovršenih) verzija z programska cjelina (unit) z omogućuje ravnomjerniju podjelu posla z skup programskih naredbi koje obavljaju jedan zadatak ili jedan dio zadatka, npr. glavni program, potprogrami (procedure, funkcije) z odozgo prema dolje, odozdo prema gore te mješovito z programski modul – skup logički povezanih programskih cjelina →modularno programiranje Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis z komponenta – bilo koji sastavni dio softvera, uobičajeno podrazumijeva fizičke cjeline

OIIS -2013/14 OIIS -2013/14

Provjera ispravnosti Vrste testiranja z Testiranje programa, provjeravanje, z Načini provjere Testiranje okrajaka (stub testing, unit testing) ispitivanje programa z strukturalno (white-box, clear box testing) z provjera programa izvođenjem, uz uporabu z provjera kako cjelina radi z testiranje upravljačkih struktura i vrijednosti sadržanih u kodu ispitnih podataka te analizom rezultata z probni slučajevi izvode se uvidom u obrade programski kôd (inspekcija koda) z ispitivanje pojedinačnih cjelina ( Proceduralno programiranje) z testiranje i ispravljanje pogrešaka mora se z provode programeri obavljati redoslijedom kojim su moduli z funkcionalno (black-box testing) z nedovršeni elementi mogu se simulirati ( odresci i pogonski kodirani, uobičajeno s vrha prema dolje z provjera što cjelina radi, to jest da li z cilj testiranja na pogreške je utvrđivanje zadovoljava zahtjeve moduli) pogrešaka odnosno nedostataka unutar z probni slučajevi izvode se iz specifikacija programa funkcija Testiranje komponenti (module testing) z z • uspješan test je onaj test koji dokaže provodi osoblje proizvođača ili korisnici postojanje pogreške z Verifikacija - ovjera ispravnosti z Ispitivanje pojedinih programskih komponenti z dokazivanje da je faza dobro provedena ili da je proizvod dobro napravljen, tj. da z provodi razvojnik komponente (postoje iznimke za kritične odgovara specifikaciji zahtjeva sustave) z Validacija - potvrda valjanosti z kojom se utvrđuje da je napravljen pravi z testovi nastaju iz iskustva te osobe proizvod, koji odgovara korisniku-namjeni Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

Fertalj, KalpiOIISć: http://www.zpm.fer.hr/courses/pis -2013/14 OIIS -2013/14

Vrste testiranja Vrste testiranja

Integracijska provjera (integration testing) Provjera sustava (system testing) z Ispitivanje grupa komponenti koje integrirane čine cijeli sustav ili z provjera rada sustava kao cjeline, kojom se osigurava da svi neki njegov dio nezavisno razvijeni aplikacijski programi rade ispravno te sukladno specifikacijama provjere z provjere z Funkcionalno testiranje – provjera funkcionalnosti prema z test korisničkog sučelja – provjera svake funkcije sučelja zahtjevima z test slučajeva korištenja – provjera svakog pojedinačnog slučaja z Testiranje performanci – provjera nefunkcionalnih zahtjeva z test toka podataka – provjera procesa korak-po-korak z – stress – verifikacija velikog broja simultanih pristupa z – volume – test na količinu podataka, složenost algoritama, z test sučelja sustava – provjera prijenosa podataka između fragmentaciju sustava z – security – provjera prava pristupa z ispitivanje provodi nezavisni tim za testiranje z – timing – brzina odziva z testovi su zasnovani na specifikaciji sustava z – recovery – mogućnost oporavka pri “forsiranom” padu sustava z Testiranje dokumentacije – provjera korisničke dokumentacije i z dokumentacije – provjera korisničke dokumentacije i primjera primjera Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

Fertalj, KalpiOIISć: http://www.zpm.fer.hr/courses/pis -2013/14 OIIS -2013/14

60 Izrada dokumentacije Izrada dokumentacije

Projektna dokumentacija Korisnička dokumentacija z dokumentira razvoj i proizvode pojedinih faza z pomoć korisnicima pri uporabi sustava z Primjer, dokumentacija po IEEE standardu z mora biti prilagođena korisnicima različitog iskustva z Software Validation and Verification Plan (SVVP) z upute za uporabu (user manual) z Software Quality Assurance Plan (SQAP) z instalacijski priručnik (installations manual) z Software Configuration Management Plan (SCMP) z detaljni priručnik (reference manual) z Software Project Management Plan (SPMP) z upute za vježbu (training guide, tutorial) z Software Requirements Specification (SRS) z podsjetnici ili kratke upute (quick reference guide, pocket guide, z Software Design Document (SDD) cue cards) z Source code z broj, vrsta i obujam dokumenata ovise o aplikaciji z Software Test Documentation (STD) Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis z User's manual Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Izrada dokumentacije Primjena i održavanje Tehnička dokumentacija z probni podaci i rezultati provjere z namijenjena tehničkom osoblju z dnevnik promjena z potrebna za razumijevanje, izradu i z programski priručnici sustava održavanje sustava z instalacijski priručnik z upravljanje projektom i z opis instalacijske procedure konfiguracijom sustava z upute za rukovanje i održavanje z plan razvoja (operations manual) z specifikacija dizajna z opis procedura za z opis arhitekture sustava pokretanje/zaustavljanje (startup/shutdown) z specifikacija sučelja prema drugim sustavima z opis izrade rezervnih kopija i vraćanja podataka (backup, z programska dokumentacija restore) z izvorni kôd z opis postupka ponovnog z opis baze podataka pokretanja i oporavka (restart, recovery)

Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Napomena Uvođenje u primjenu

Uvođenje uključuje instaliranje opreme, završni prijenos podataka te prelazak z Materijali u ovoj prezentaciji predstavljaju na novi način rada. z Aktivnosti i preduvjeti pomoćni radni materijal za svladavanje z Test sustava z – vid Izrada\Testiranje gradiva na predmetu Modeliranje i izgradnja z Izrada plana konverzije (migracije) za uspješan prijelaz z –način uvođenja, poslovi, odgovornosti, resursi i redoslijed izvedbe IS-a. Sadrže dijelove koji se moraju revidirati i z – plan testa prihvatljivosti, ako nije obavljen ranije z Instalacija opreme, aplikacija i baze (baza) podataka novog sustava nadopuniti uz dozvole citiranih autora i izvora. z – inicijalni unos podataka z – prijenos postojećih podataka uz konverziju z – uspostava sustava zaštite i održavanja z Poduka tehničkog osoblja i krajnjih korisnika z – verbalna poduka z – raspodjela dokumentacije z Konverzija sustava z prelazak na novi način rada z evaluacija projekta i sustava Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

61 Uvođenje u primjenu Poduka

Način uvođenja z Poduka korisnika z Izravno uvođenje (direct installation, abrupt cutover) z tehničko osoblje z početak rada novog sustava uz istovremeni prestanak rada starog sustava z kranji korisnici z provodi se na određeni dan, uobičajeno datum završetka poslovnog z Sadržaj poduke razdoblja, po mogućnosti na kraju tjedna z Poduka krajnjih korisnika može uključivati: z mogući problemi: pojava pogrešaka koje nisu bile uočene tijekom testiranja, nepredviđeno preopterećenje opreme u punom pogonu z opću informatičku kulturu (npr. uporaba osobnih računala) z nedostatak: neposredna izloženost korisnika pogreškama sustava z funkcije sustava i način uporabe sustava, to jest korištenje aplikacija z poduku iz posebnih znanja potrebnih za obavljanje osnovne djelatnosti (npr. z Paralelno uvođenje (parallel installation, parallel conversion) operacijska istraživanja, projektiranje primjenom računala) z istovremeni rad starog i novog sustava tako dugo dok se ne pokaže da novi sustav ispravno radi i da su se korisnici navikli na novi način rada z Poduka tehničkog osoblja može uključivati: z bitno manje rizičan postupak u odnosu na izravno uvođenje z operacijski sustav i uslužne programe z nedostatak: potreba za dvostrukom obradom istih podataka, u starom i u z administriranje baze podataka novom novom sustavu → otpor korisnika z programske jezike i pomagala

Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Poduka Održavanje

Redoslijed poduke Održavanje je trajna aktivnost koja započinje odmah po z prvo se obavlja poduka tehničkog osoblja koje će održavati sustav i uvođenju u primjenu. pružati potporu krajnjim korisnicima, da bi se mogla pokrenuti primjena z Bez obzira kako dobro je sustav dizajniran, konstruiran i z zatim bi trebalo obrazovati (niže) rukovodstvo, da bi se stekla njegova potpora pri poduci ostalih korisnika te tijekom primjene testiran pogreške će se neizbježno pojaviti! z slijedi školovanje (krajnjih) korisnika, koje treba prilagoditi funkcijama z spravljanje pogrešaka u primjeni naziva se održavanjem sustava koje oni obavljaju u svakodnevnom radu ili održavanjem programa. Postupci i tehnike poduke z Održavanje samo po sebi ne podrazumijeva ugradnju z tečajevi poboljšanja ili novih mogućnosti, ali se ona uobičajeno provodi. z probni rad fazi provjere rada sustava z Tijekom primjene i održavanja obavlja se analiza dodatnih z kvalitetni sustav interaktivne pomoći zahtjeva, planiranje i priprema aktivnosti koje slijede te tako z prikladna dokumentacija započinje novi ciklus razvoja. z potpora tijekom primjene Poduku mogu obaviti djelatnici naručitelja (npr. odjel informatike ili grupa za to odabranih i osposobljenih djelatnika) ili vanjski Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis izvođači poduke. Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Poboljšanje sustava i Održavanje – vrste i ciljevi reinženjerstvo z Preventivno Poboljšanje sustava (system enhancement) z podrazumijeva zaštitu od mogućih problema z dorada i nadgradnja sustava prema novim zahtjevima z redovita izrada sigurnosnih kopija (backup) z analiza novih zahtjeva i povratak u odgovarajuću fazu (analiza, dizajn, z obavlja se periodički (dnevno, tjedno, mjesečno) izrada) z Korektivno z većina novih zahtjeva uzrokovana je promjenama u poslovanju, z podrazumijeva popravak nakon što se problem pojavio potrebama za dodatnim informacijama ili novim idejama (željama z vraćanje podataka iz sigurnosne kopije (restore) korisnika) z uklanjanje uzroka pogreške (ispravljanje programa) Reinženjerstvo (reengineering) z Adaptivno z neke aplikacije teško je održavati (npr. uslijed zastarjelosti tehnologije), z prilagodba funkcionalnosti (načina posluživanja) a trošak održavanja pojedinih aplikacija može doseći trošak izrade z prilagodba strukture (promjene strukture podataka) novih z poboljšanje performanci (optimizacija programa) z reinženjerstvo - adaptacija s ciljem smanjenja troškova održavanja z Perfektivno z prilagodba većim promjenama tehnologije z nadgradnja sustava da bi se riješili novi problemi z ispravak sustava prije nego što dođe do mogućeg prekida u radu z ugradnja novih mogućnosti (features) z ispravak sustava koji će biti lakše popraviti ako dođe do prekida

Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

62 Modaliteti izgradnje Modaliteti izgradnje

Vlastiti razvoj z Nedostaci Vanjski razvoj (Outsourcing) z Prednosti z Varijante z zahtijeva značajno vrijeme i z najam usluge razvoja informacijskog z IS ili njegovi dijelovi izrađuju se po mjeri sustava ili njegovih dijelova naručitelja z Razvoj vlastitim informatičkim napor z izobrazba djelatnika informatičke struke z – sustav je prilagođen snagama (in-house), koji može z skuplje, dugotrajnije z pomoć pri analizi i oblikovanju ili organizaciji/poslovanju sadržavati z može povećati gomilanje provedba analize i oblikovanja z – po mogućnosti treba istovremeno z osposobljavanje i angažiranje zaostalog posla z kodiranje (generiranje) cjelovitog poboljšati organizaciju/poslovanje netehničkog osoblja z razvoj vlastitim snagama ima programskog sustava z razvoj podrazumijeva dugotrajan z Razvoj unajmljenim osobljem smisla kada se radi o z upravljanje provedbom i/ili nadzor postupak i sukladno visoku cijenu povremeno ili dugoročno (buy- programskoj podršci koja je provedbe z Nedostaci i rizici in, preferred supplier posebnost organizacije, takva z konzultativna pomoć prilikom ugradnje z gubitak povjerljivih informacija složenih poslovnih funkcija z Prednosti da ne postoje gotova rješenja na z gubitak nadzora nad sadašnjim i/ili tržištu ili takva da organizacija s z Varijante: z fleksibilnost i kreativnost budućim razvojem (zavisnost o pomoću nje postiže z Ugovoreni razvoj - ugovara se isporuka dobavljaču) z povećanje stručnosti vlastitog komparativnu prednost u gotovog proizvoda (contract out) z gubitak vlastite stručnosti osoblja odnosu na konkurenciju z Dugoročna suradnja s isporučiteljem ili izdvajanje vlastitog informatičkog odjela z Nužno je da upravljanje projektom z kada postoje dodatni ili posebni u informatizacije na sebe preuzme razlozi kao što su povećana vlastito kompetentno osoblje koje z preferiranog izvođača (preferred tajnost podataka i poslovnih contractor) – strateškog partnera (pr. ima mogućnost odlučivanja procesa ili povećana zaštita IS Agencija)

Fertalj, Kalpić: http://www.zpm.fer.hr/courses/pis

OIIS -2013/14 OIIS -2013/14

Modaliteti izgradnje Modaliteti izgradnje

Nabava gotovih programskih z Sustavi za upravljanje z Nabava poslovnih sustava z Nabavka “gotovih” stranih poslovnih proizvoda poslovanjem z Nabavka i prilagodba postojećih domaćih sustava poslovnih sustava/aplikacija z prednosti z COTS = Commercial-Of-The-Shelf z Enterprise Resource Planning software (ERP) systems z prednosti: z raskošna funkcionalnost z usklađenost našim uvjetima, npr. z kompatibilnost sa svjetskim poslovnim z u pravilu ne ispunjavanju poslovne z npr. SAP, BAAN, J.D. Edvards, zakonima standardima potrebe u potpunosti Peoplesoft z zahtijeva prvenstveno prilagodbu z nedostatci z poželjno je da se mogu prilagoditi z cjeloviti sustavi za potporu organizaciji/poslovanju z neprilagođenost domaćim uvjetima i potrebama poslovanju z nedostatci konkretnoj organizaciji/poslovanju - z Aplikacijski paketi z financijsko poslovanje (accounting), z nepostojanje ili manjkavost pojedinih zahtijeva komponenti, mjestimična tehnološka z istovremenu prilagodbu programske opreme z z proizvodnja (manufacturing), programski paketi za uredsko zastarjelost i promjenu organizacije/poslovanja poslovanje (office automation), z robno-materijalno poslovanje z prekapacitiranost dobavljača z prilagodba se obavlja slično razvoju - z npr. Microsoft Office (material management/distribution), z modaliteti: rješenja gube moguću komparativnu z upravljanje ljudskim resursima i prednost (brzinu ilakoću primjene) z programi za upravljanje z otkup izvornog koda i samostalna dokumentima (document plaće (HR management, payroll). dorada z (glomazni) paketi mogu zahtijevati angažman velikog broja konzultanata - management), z kompletni outsourcing uz samostalno vrlo visoka cijena izrade z održavanje npr. Lotus Domino z modaliteti z specijalističke aplikacije za z prilagodba vlastitim snagama uz određene namjene savjetništvo i pomoć dobavljača

OIIS -2013/14 OIIS -2013/14

Kriteriji za donošenje odluke o nabavi z Opći kriteriji za donošenje odluke z cijena z funkcionalnost, kapacitet, brzina, broj korisnika z mogućnost poduke i trajne potpore z kredibilitet i održivost dobavljača na tržištu (referencama) z elastičnost, tj. mogućnost prilagodbe i prepravki z raspoloživost dokumentacije z Dodatni kriteriji z Otvorenost sustava (Portabilnost, interoperabilnost) z Tehničke mogućnosti (Client-Server, OLTP, OLAP, ...) z tehničke konzultacije, z održavanje (dinamika razvoja i mogućnosti nabavke novih verzija), z promptno otklanjanje problema, z ponuda gotovih aplikacija, z pomoć u razvoju vlastitih aplikacija z (Veliki broj kriterija moguće je pronaći nan npr. http://www.technologyevaluation.com)

OIIS -2013/14

63