Professional Documents
Culture Documents
Predmet
Nastavno optereenje
2 sata predavanja + 2 sata laboratorijskih vjebi tjedno
Predavanja
Pohaanje predavanja nije uvjet za dobivanje potpisa
Ispit
Usmenom ispitu mogu pristupiti studenti koji prikupe najmanje polovicu bodova za svaku od aktivnosti koje mu prethode. Pozitivna ocjena pristupa usmenom ispitu rauna po sustavu bodovanja
Aktivnost Pohaanje predavanja Projektna dokumentacija Pismeni ispit - zadaci Pojedinano 2 20 10 Puta 15 6 5 Ukupno Nedovoljan Korak 2-5 Bodova 30 120 50 200 100 25 Udjel 15.00% 60.00% 25.00% 100.00% 50.00% 12.50%
2
Materijali, informacije
Materijali
http://www.zpm.fer.hr/courses/pis aurirat e se nakon predavanja Vlastite biljeke
Sadraj
Sadraj
Informacijski sustav. Projektiranje i izgradnja informacijskih sustava. ivotni ciklus i faze razvoja. Strategija i planiranje sustava. Prikupljanje i odreivanje zahtjeva. Analiza. Oblikovanje funkcija. Oblikovanje procesa. Konceptualno oblikovanje podataka. Modeliranje dogaaja. Procjena alternativa izgradnje. Oblikovanje. Dizajn arhitekture sustava. Dizajn i ugaanje baze podataka. Oblikovanje programa i suelja. Izrada sustava. Uvoenje u primjenu. Odravanje. Poduka i potpora. Modeli razvoja i metodologije. Moderni postupci. Organizacija projekta i upravljanje projektom. Programski alati i razvojna okruenja. CASE.
Literatura
J. A. Hoffer, J. F. George, J. S. Valacich: Modern Systems Analysis and Design, 3/e, Prentice Hall College Div, 2001 J. L. Whitten, L. D. Bentley, K. C. Dittman: Systems Analysis & Design Methods, 5/e, McGraw-Hill Higher Education, 2000 L. Maciaszek: Requirements Analysis and System Design: Developing Information Systems with UML, 1/e, Addison Wesley Higher Education, 2002
Konzultacije
Doc.dr.sc. Kreimir Fertalj, Prof.dr.sc Damir Kalpi ZPM raunarci, zgrada D/III kat, sjeverozapadno krilo poeljno uz najavu elektronikom potom obvezno s vlastitim biljekama
E-mail
To: kresimir.fertalj@fer.hr, damir.kalpic@fer.hr Subject: PIS
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 3
Informacijski sustav
podatak je sirova injenica koja predstavlja neku istinu iz stvarnog svijeta pojedinani podaci sami za sebe znae malo ili nemaju neko znaenje informacija je interpretacija podatka - proien, organiziran i obraen podatak u smislenom kontekstu informacija je subjektivnog znaenja, u kontekstu primatelja znanje se gradi na temelju novih informacija koje se nadovezuju na postojee znanje isti podaci mogu biti razliito interpretirani od strane razliitih ljudi u ovisnosti o njihovom znanju -130000 ??? primjer: -130000 HRK ? na raunu ! broj 1313 (tj. Mojem) !!!
Sustav
Sustav openito - sistem, poredak
oblik drutvene organizacije (npr. dravni) skup dijelova, povezanih opom funkcijom (npr. ivani) skup jedinica, organizacijski ujedinjenih u cjelinu (npr. poduzee) oblik, nain ustrojstva, organizacija neega (npr. izborni) uvjetovan planskim, pravilnim rasporedom dijelova (npr. sistem rada) Podsustavi:
Granica:
definira opseg i domaaj sustava
Okolina:
sve to je izvan granica sustava, ali se jo uvijek tie sustava
Sustav je ureeni poredak meuzavisnih komponenti povezanih prema zajednikom planu za postizanje odreenog cilja.
Komponente sustava jesu njegovi fiziki dijelovi, ulazi i izlazi te procesi njihove pretvorbe i upravljaki postupci (planiranje, organizacija, upravljanje i nadzor).
Ulazi:
elementi koji ulaze u sustav iz okoline
Izlazi:
elementi koji naputaju sustav
Suelja:
veze izmeu sustava i njegove okoline (zatita, filtri)
Ogranienja:
unutarnji i vanjski imbenici koji odreuju i ograniavaju funkcioniranje sustava
Informacijski sustav
Informacijski sustav (Information System)
obavijesni sustav, informacijski sistem sustav za upravljanje informacijama vanim za organizaciju i drutvo sustav za upravljanje sustavom ljudskih aktivnosti [Checkland, 1980]
Pojam IS podrazumijeva:
sustave podrane raunalom raunalni (kompjuterizirani, kompjuterski) sustave koji se ne oslanjaju na raunala, ali obrauju informacije
Svrha
prikupljanje i pruanje informacija korisnicima u jednoj ili vie organizacija organizacijski IS (poslovni IS)
Korisnici
poslovodstvo, djelatnici (zaposlenici, osoblje), klijenti
Primjeri
I(P)S: nabave, prodaje, proizvodnje, financija, ljudskih resursa i plaa, osnovnih sredstava IS Subvencionirane Prehrane (ISSP) IS Visokih Uilita (ISVU) IS Personalnog Upravljanja MORH
Informacijski sustav
podsustav poslovnog sustava ulazi i izlazi: ulazne informacije, obraene informacije procesi: obrada informacija (podataka) o stanjima stvarnog sustava izvritelji: osobe, programi, raunala
Upravljanje i razine IS
11
Korisnici, Upravljanje tko nie operativno poslovodstvo srednje taktiko poslovodstvo (trendovi) vie strategijsko poslovodstvo, (to ako,) uprava
12
Projektiranje i izgradnja IS
13
Taurus (1993)
Projekt sustava automatiziranih transakcija Londonske burze prekinut je nakon 5 godina razvoja i troka od 75m te posljedini gubitak klijenata od 450m. Ukupni gubici smatra se da su neizraunljivi.
Neki problemi
prekoraenje planiranog vremena i financijskih sredstava neispunjenje zahtjeva neodgovarajui sustav nepouzdanost, nesigurnost, neelastinost u primjeni tekoe u odravanju
Ariane 5 (1996)
Eksplodirala u lanseru radi niza softverskih pogreaka
Drugi primjeri
Challenger - niz pogreaka u dizajnu Teleskop Hubble - pogreke u dizajnu, propusti u testiranju Mars Climate Orbiter - problem navigacije zbog raskoraka izmeu engleskog i metrikog mjernog sustava
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 16
Uzroci neuspjeha
Razlozi neuspjenih projekata
sloenost aplikacija nedostatak usmjerenosti korisniku zanemarivanje okruenja organizacije pretjerani optimizam izostanak praenja napretka nedostatak komunikacije izmeu korisnika i izvoaa
Poboljanje uspjenosti IS
Poboljanje uspjenosti IS
Projektiranje IS Planiranje, upravljanje provedbom, praenje napretka Ukljuivanje korisnika Korisnik poznaje(?) poslovni proces i zna(?) odrediti potrebe. Informatiar upoznaje(?) poslovanje i zna(?) kako izraditi IS. Vano je da u procesu izgradnje sudjeluje i poslovodstvo, da bi se upoznalo sa stvarnim mogunostima i koristima uvoenja IS, posebice jer donosi konane (za poduzee sudbonosne) odluke.
U Hrvatskoj se uzroci neuspjeha uglavnom ne istrauju, a informacije o neuspjenim projektima nerado se objavljuju. Meu najeim uzrocima su [Kalpi, Fertalj & Mornar, 2001]
Loa organizacija i voenje projekata oslonac na vanjske voditelje i savjetnike, delegirano upravljanje projektima, nerealno planiranje, formalno izvjetavanje o napretku, formalni nadzor nad projektom, podcijenjena uloga vlastitih strunjaka Loa izvedba projekata neodgovarajua analiza sustava, pogreke u dizajnu i kontroli kvalitete, neodgovarajua CASE pomagala i krivo koritenje, pa ak i svojevrsna zloporaba CASE pomagala
Mnogi sustavi su propali ili su bili odbaeni jer su se izvoai trudili napraviti lijepa programska rjeenja a nisu razumjeli sutinu organizacije i poslovanja.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 17
Programsko inenjerstvo
Programska oprema (software)
programska podrka, naputbina dio raunalnog sustava koji nema fizikalnih dimenzija opi pojam za sve vrste programa, programskih jezika itd raunalni programi, podaci, dokumentacija svojstva: sloenost, podlonost pogrekama, ne troi se, teko se mjeri, stari, dugo se koristi, lako se kopira (zajedno s pogrekama)
Programsko inenjerstvo
Programsko inenjerstvo (software engineering)
Software Engineering: (1) The application of a systematic, disciplines, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1). [IEEE Std 610.12-1990, 1994] IEEE Std 610.12-1990 "Standard Glossary of Software Engineering Terminology" in IEEE Software Engineering Standards Collection, 1994 Edition, IEEE, New York, 1994, p. 67.
IEEE = Institute of Electrical and Electronic Engineers, http://www.ieee.org
Programsko inenjerstvo je inenjerska disciplina koja obuhvaa sve aspekte izrade programske opreme. [Sommerville, 2000] Programsko inenjerstvo je inenjerska disciplina koja se bavi praktinim problemima razvoja velikih programskih sustava [Sommerville 1992, 4. ur., str. v] Programsko inenjerstvo... ima za cilj ekonomian razvoj visokokvalitetne programske opreme [Pagel / Six 1994, str. 49]
Brooks, F.P. (1987) No silver bullet: essence and accidents of software engineering. Computer, 20 (4), 10-19.
tekoe su sastavni dio softvera (sloenost, promjenjivost, nevidljivost...) neprilike/nezgode postoje, ali nisu sastavni dio, tj. nisu neizbjene
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 22
Informacijsko inenjerstvo
Informacijsko inenjerstvo (information engineering, IE)
Inenjerski pristup izgradnji IS i upravljanju informacijama IS mora biti projektiran, kao to se to ini s drugim proizvodima razvoj IS kao strukturiran i planiran proces podran raunalom Sustavna primjena prikladnog skupa metoda, tehnika i alata u procesu razvoja informacijskih sustava.
Metoda (method)
Smiljen i organiziran skup procedura izrade (modela, softvera), uz koritenje dobro definirane notacije sugerira proces obavljanja i nain biljeenja definira primjenu tehnika i njihovo povezivanje (pr. ERD-DFD)
Software Management
3.1 Software Project Management 3.2 Software Risk Management 3.3 Software Quality Management 3.4 Software Configuration Management 3.5 Software Process Management 3.6 Software Acquisition
Tehnika (technique)
Feature metode, koji definira nain provoenja odreenog postupka i dokumentiranja rezultata tog postupka Nain na koji se provodi odreena aktivnost razvojnog procesa.
Pomagalo (tool)
instrument, sredstvo (artefact) koje se koristi u razvoju IS
23 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 24
Sistemsko inenjerstvo
Nema opeprihvaene definicije. Neke od objavljenih
The application of scientific and engineering efforts to (a) transform an operational need into a description of system performance parameters and a system configuration through the use of an iterative process of definition, synthesis, analysis, design, test, and evaluation; (b) integrate related technical parameters and ensure compatibility of all physical, functional, and program interfaces in a manner that optimizes the total system definition and design; and (c) integrate reliability, maintainability, safety, survivability, human engineering, and other such factors into the total engineering effort to meet cost, schedule, supportability, and technical performance objectives. An interdisciplinary approach encompassing the entire technical effort to evolve and verify an integrated and life-cycle balanced set of system, people, product, and process solutions that satisfy customer needs. Integrated approach to synthesis of entire systems designed to perform tasks in what is expected to be most efficient possible manner, with each component of system designed to function as part of a single entity
Saeto
Sagledava sustav kao cjelinu pristupom s vrha prema dolje (top-down) Upravlja ciklusom koji sadrava sve faze od dizajna do umirovljenja Osigurava djelotvornost i (dovoljno) rano donoenje odluka definiranjem zahtjeva i njihovim povezivanjem s odgovarajuim oblikovanjem Interdisciplinarni i/ili timski pristup oblikovanju i razvoju kojim se osigurava njihova djelotvornost i uinkovitost
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 26
Projektiranje IS
Slijed izrade fizikog i logikog modela postojeeg IS, a zatim logikog i fizikog modela budueg IS na temelju poslovnih zahtjeva i zahtjeva krajnjih korisnika.
fiziki model (ugradbeni, implementacijski, tehniki) opisuje kako je sustav fiziki i tehniki ugraen, te tko, gdje i kada neto radi logiki model (esencijalni, konceptualni, poslovni) to je sustav, to radi, to su podaci operativni (budui fiziki) sustav to, tko i kada, ali ne i gdje opcionalno, moe se razmatrati organizacijska razina razliito znaenje podataka zavisno od podruja unutar organizacije i okolia
28
Modeliranje
Izrada modela koji odgovaraju dijelovima stvarnog sustava
model: apstrakcija ili reprezentacija dijela stvarnog svijeta Kada otprije ne postoji sustav, potrebno je odrediti "surogat" postojeeg sustava po ugledu na istovrsne sustave u drugim organizacijama ili razvoj zapoeti s izradom logikog modela.
Vrste modela
Izrada modela podataka / oblikovanje podataka (data modelling)
model podataka TO su podaci, odnosno to opisuju podaci konceptualni model - opisuje podatke i veze izmeu podataka, najee model entiteti-veze (entity-relationship model) logiki model opisuje strukturu podataka i logikih datoteka, najee relacijski model podataka (relational data model)
Modeliranje resursa/sredstava
izvritelji - TKO obrauje podatke, GDJE se nalaze podaci, GDJE se obrauju podaci
Modeliranje programa
struktura (programskih) modula IS, primjerice strukturnim kartama
29
30
Sistem analitiar
Sistem analitiari razumiju i poslovanje i raunarstvo
Provode sistemsku analizu i dizajn Povezuju one koji trebaju raunalo i one koji poznaju IT
Vlasnik sustava naruitelj (ovisno o vlasnitvu: stvarni vlasnik ili predsjednik uprave)
naruuje i plaa razvoj i odravanje sustava, postavlja prioritete i odreuje politiku njegovog koritenja
Projektant, Dizajner sustava (Designer) tehniki strunjak koji oblikuje sustav tako da zadovolji zahtjeve korisnika
prevodi poslovne zahtjeve i ogranienja u tehniko rjeenje oblikuje datoteke, baze podataka, ulaze, izlaze, zaslone, mreu i programe, integrira rjeenje
moe biti i graditelj sustava Graditelj sustava (Builder, Developer) - programer, razvojnik strunjak koji izgrauje sustav, provjerava njegovu ispravnost te ga isporuuje u primjenu
konstruira komponente sustava na temelju specifikacija koje rade dizajneri sustava
Veina sistem analitiara koristi neku inaicu pristupa koji se naziva ivotni ciklus razvoja sustava sistematian i metodian pristup rjeavanju problema sustava.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 31 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 32
Faze razvoja
Planiranje, strategija
Snimka stanja, Inicijalna strategija (initial strategy): odreivanje poslovnih ciljeva, identificiranje problema i ideja njihovog rjeavanja te odreivanje zahtjeva za sustav Studija izvodljivosti (feasibility study): pregledna analiza problemskog podruja i odreivanje (granica) projekata Planiranje projekta: Izrada plana rada, kadroviranje projekta, upravljanje i nadzor projekta Poslovni cilj i projekti, plan sustava, plan informatizacije (glavni projekt)
Planiranje (zato)
Zato graditi sustav?
Pregled
Specifikacija zahtjeva
sistemsko inenjerstvo
Oblikovanje (kako)
Kako e sustav raditi?
Operabilni sustav
Izrada (+isporuka)
Oblikovanje
ugradnja rjeenja
Primjena
odravanje i poboljavanje
Specifikacija sustava Izrada
Primjena, odravanje
Funkcionalni sustav
Faze razvoja
Oblikovanje
Dizajn sustava (system design): modeliranje IS (pogled projektanta) donoenje odluke o tome kako graditi sustav dizajn rjeenja po potrebi (ima rjeenja koja ne treba dizajnirati) izrada zahtjeva kojima se opisuje kako izgraditi sustav Detaljni dizajn (detailed design): razrada rjeenja, izrada tehnolokog modela IS (pogled izvoaa) dizajn arhitekture, suelja, pohrane podataka i programa Tehnika specifikacija sustava
Faze razvoja
Uvoenje i odravanje
analiza ugraenog rjeenja, poboljanje dizajna, ugradnja poboljanja Uvoenje u primjenu, primjena (operation, production): prijelaz radnih aktivnosti i prijenos (konverzija) podataka sa starog na novi sustav Odravanje (maintenance): izmjene sustava radi poboljanja radnih karakteristika (performanci), poboljanja ili prilagodbe naina uporabe Potpora (support): dobavljaa opreme, tehnikog osoblja korisnicima Informacijski sustav u primjeni, plan odravanja
Izrada, provedba
ugradnja oblikovanih rjeenja Izrada (implementation), konstrukcija: ugradnja baze podataka, kodiranje procesa (funkcija) novog IS, nakon odabira platforme Testiranje (testing): provjera komponenti Integracija i provjera sustava (system integration, evaluation): udruivanje dijelova i provjera cjeline, da bi se dokazalo da sustav radi (da je ispravno napravljen) te da radi ono to je zahtijevano (da je napravljen pravi sustav, koji ispunjava zahtjeve) Funkcionalni sustav i tehnoloki opis sustava
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 37
Navedene su tipine faze ivotnog ciklusa, bez implikacije da se radi o diskretnim i/ili slijednim aktivnostima!
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 38
Isporuka (dan n)
Debugiranje (dan n - 1)
Dokumentiranje (dan n - )
Prilagodba prema Modesitt, LNCS 750, pp. 42
39
40
Strateko planiranje
Strateko planiranje
Definiranje poslovne strategije, planiranje akcija za postizanje cilja Uprava definira viziju i misiju organizacije, tj. strateke ciljeve.
http://www.fer.hr (Sustainable excellence - in education and research) http://www.zaba.hr (O nama) http://www.lura.hr (O nama)
Strategija i planiranje
Na temelju toga definiraju se poslovni ciljevi i odreeniji zadaci kojima e organizacija u nekom razdoblju ispuniti svoju misiju. to se eli postii: prepoznatljivost, kvaliteta, prihodi, ... kako to postii: promjenom organizacije, poboljanjem sustava administracije, ...
poveanje proizvodnosti ulaganjem u nove proizvodne tehnologije uz istovremeno odravanje kakvoe proizvoda osiguranje zadovoljstva i radnih sposobnosti zaposlenika dokolovanjem i mogunostima napredovanja
Planiranje IS
Planiranje informacijskog sustava
Traenje odgovora na pitanja: ime se organizacija bavi (grana, proizvodi, trite, konkurencija)? Koji su problemi, zadae i ciljevi poslovnog sustava? Koja je eljena uloga IS u postizanju postavljenih ciljeva? Koje aplikacije postoje, emu i kako slue, koje i kakve podatke sadre? Postoje li aplikacije iji je razvoj u tijeku? U kojem su stadiju razvojni projekti? Koje su potrebne aplikacije? Koji su raspoloivi resursi (osoblje, tehnika sredstva, tehnologija, )?
Strateko planiranje IS
Tradicionalno planiranje IS
provodi se odvojeno od poslovnog planiranja ili provodi se kao reakcija na promjene u poslovnoj politici
Strateko planiranje IS
uspostava smjera i prioriteta usklaivanja informacijskih servisa sukladno misiji, viziji i ciljevima organizacije planiranje IS sukladno strategiji razvoja organizacije, tako da informatizacija bude potpora promjeni organizacije i poslovnih procesa primjena metoda analize i dizajna na istraivanje poslovnog sustava s ciljem definiranja opeg (sveobuhvatnog) plana i arhitekture IS iji razvoj slijedi
P A
User review
P A D C
User review
P A D C
User review
D C
R.McLeod, E.Jordan (2002). Systems Development: A Project Management Approach,ISBN: 0471-22089-2, Wiley Higher Education
Primjeri:
\Planiranje
natjeaj: Obrazac za prijavu projekta primjene IT (MZT) interno: Zahtjev za uslugama informacijskog sustava
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 45 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 46
Snimka stanja
Snimka stanja
brzo istraivanje i evaluacija problema, moguih prilika i direktiva problem: neeljena situacija koja sprjeava potpuno ispunjenje svrhe, postizanje ciljeva, obavljanje zadaa mogua prilika: mogunost pozitivne promjene, ak i kada ne postoji problem direktiva: zahtjev ili ogranienje nametnuti poslovnom politikom (npr. pravilnik) ili vanjskim utjecajem (npr. zakon) opcionalno se provodi procjena moguih tehnikih rjeenja, pri emu treba imati na umu da to treba biti detaljnije provedeno u kasnijim fazama odreivanje dosega projekta i poetnog plana projekta
Planiranje projekta (
Izrada plana rada Ustroj projektne ekipe ukljuivanje sudionika iz razliitih djelatnosti, npr. djelatnici razliitih poslovnih podruja ili organizacijskih jedinica, uprava, vanjski konzultanti vano je osigurati predanost sudionika zajednikom cilju (commitment) Uspostava upravljanja i nadzora projekta
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 47
Planiranje projekta
Odreivanje cilja i svrhe projekta (goal, objective)
izdvajanje zadataka koji su sukladni poslovnim ciljevima, a mogu biti informatizirani Koji se probleme nastoji rijeiti projektom? Koje su oekivane koristi?
Hitnost
HITNO 6 mjeseci 6 mjeseci 12 mjeseci
Vidljivost
Visoka Srednja
Korist
175,000 75,000
Prioritet
2 2
Predloeno rjesenje
Novi razvoj Novi razvoj
Srednja
515,000
Novi razvoj
Niska
15,000
Po razvitku novog sustava, pruiti korisnicima lako svladive alate za pisanje izvjetaja. Brza ispravka, a zatim novi razvoj Novi razvoj, dodatna ocjena koristi moze poveati urnost Budue verzije tek razvijenog sustava Brza ispravka, a zatim novi razvoj
3 mjeseca 6 mjeseci
Visoka Srednja
35,000 nepoznato
1 2
12 mjeseci 3 mjeseca
Niska Visoka
nepoznato 65,000
4 1
Vremensko planiranje
odreivanje prioritetnih zadataka i vremenskih okvira prioriteta
49 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 50
Vidljivost: U kolikoj mjeri e rjeenje ili novi sustav biti dostupni korisnicima. Korist: Paualna procjena koliko bi rjeenje povealo dobit ili smanjilo troak u jednoj godini.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Primjeri:
\Planiranje\Plan*.*
52
Detaljan prijedlog
Obrazloenje prijedloga Hitne prepravke Brze prepravke Unaprjeenja Novi razvoj Plan projekta Poetni ciljevi projekta Poetni glavni plan projekta (na razini faza) Detaljni plan za slijedeu fazu
Prikupljene informacije
Kratak opis projektnog zahtjeva Kratko objanjenje provedenih aktivnosti
injenice i zakljuci
moe se potkrijepiti matricom problema i moguih rjeenja Problemi i analiza problema Mogunosti i analiza mogunosti Direktive i implikacije
Prilozi
Zahtjev za uslugama sustava Matrica obrazloenja problema (ostala dokumentacija)
Istraivanje uzroka
Primjer: Istraivanje uzroka
Problem: pad prodaje Vidljivi znak: poveani opoziv (storno) narudbi Razlog: nezadovoljstvo kupaca Uzrok: spor sustav za naruivanje
1. Umanjiti vrijeme unosa pojedine 1. Broj zaposlenih u obradi narudbi se ne moe uveati. narudbe za 30%. 2. Runi unos narudbi svesti na 50% ukupnog broja. 2. Novi sustav mora biti kompatibilan s postojeim Windows XX standardom.
3. Na zaslonu za runi unos smanjiti broj potrebnih pritisaka 3. Novi sustav mora biti kompatibilan s ve odobrenim na tipkovinicu. sustavom za automatsku 4. Prenijeti unos podataka sa 3. Sredinje raunalo radi na identifikaciju tapiastim sredinjeg na osobna raunala. maksimumu svojih kapaciteta, kodom. 5. Zamijeniti postojee obrasce za to se oituje u sporijem radu prikupljanje narudbi mrenim aplikacija za unos narudbi. sustavom izmeu skladita i Budui da slubenici prodaje tako da se eliminira pokuavaju bre raditi, poveao uporaba papirnate se broj pogreaka pri unosu. dokumentacije. 4. Obrasci za prikupljanje narudbi iz skladita nisu oblikovani za uunkovito popunjavanje, to dodatno usporava unos narudbi.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 55
56
Postavljanje ciljeva
Primjeri poslovnih ciljeva
Potpomoi reorganizaciju u trino orijentirano poduzee prema EU normama. Osigurati informacije o izvorima, razlozima i mjestu nastanka svakog troka u sustavu. Uskladiti hijerarhiju odluivanja s hijerarhijom u poduzeu. Racionalizirati utroak novca za ...
Ogranienja
Osoblje
Odjel informatike smije zaposliti najvie tri stalna zaposlenika
Materijalni troak
Nabavka uredskog i potronog materijala ne smije premaiti XXX HRK
Raunalna oprema
Projekt se mora obaviti bez nabavke novog hardvera (gospodarstvo?) Troak opreme poeljno predstavlja barem 33% budeta (znanost!)
Financijska sredstva
Ukupni budet projekta je XXXXX HRK (uvijek manji od traenog!) Naknade izvoaima ne smiju premaiti XX% ukupnog iznosa
57
58
Globalni model entiteti-veze (enterprise data model) kategorije podataka klase podataka (ne razredi objekata!)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 59
Idejno rjeenje
Saetak
Saetak prijedloga Saetak problema, mogunosti i direktiva Kratki navod ciljeva unaprjeenja sustava Kratki navod sadraja izvjea
Primjeri
Primjeri: \Planiranje
Globalno idejno rjeenje informatizacije za "SLJEME", d.d. Idejno rjeenje IS Personalne uprave Strategic Plan For Alaskas Criminal Justice Information System Integration
Poznate informacije
Popis odranih razgovora i koordiniranih grupnih sastanaka Popis ostalih izvora informacija Opis tehnika koritenih u analizi
Detaljni prijedlozi
Ciljevi i prioriteti unaprjeenja sustava Prepreke unaprjeenja sustava Plan projekta Precizirani doseg projekta Revidirani glavni plan Detaljni plan za slijedei korak
Dodaci
Modeli sustava (ako nisu dio studije) (ostala dokumentacija prema potrebi)
61
62
Analiza izvodljivosti
Za pojedine projekte analizira se izvodljivost
mjerenje korisnosti, praktinosti i isplativosti projekta - IS trebala bi se raditi tijekom planiranja, ali i kasnije (npr. nakon faze analize) nakon odluke o pokretanju projekta sloenost i opseg projekta mogu se promijeniti pa poetno izvodljiv projekt moe postati neizvodljiv praktino gledano, tonost procjene izvodljivosti raste s dubinom analize
64
Operativna izvodljivost
Organizacijska/Operativna izvodljivost
procjena hitnosti rjeavanja problema (planiranje) procjena prihvatljivosti rjeenja (kasnije faze)
Tehniko-tehnoloka izvodljivost
Moe li se sagraditi? Moe li se kupiti?
Strunost
Postoji li potrebna strunost za primjenu tehnologije? I najnovija tehnologija moe se svladati Postoji li potrebna vjetina za oekivani zavretak prema rasporedu? Bitno je da usvajanje tehnologije i njezina primjena zavre na vrijeme
65 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 66
Vremenska izvodljivost
Kada e biti gotovo? Moe li biti gotovo na vrijeme?
Ekonomska izvodljivost
Isplati li se graditi? Treba li graditi?
Bolje je isporuiti ispravan sustav dva mjeseca kasnije, nego neispravan ili beskoristan na vrijeme!!!
67
68
Ekonomska izvodljivost
CBA rauna trokove i korist projekta kao trenutnu vrijednost (Present value - PV)
$ oznaava novanu jedinicu u bilo kojoj valuti
Troak / Korist Troak razvoja Primjena i odravanje Faktor za kamatu 12% Trenutna vrijednost Kumulativni troak Korist od novog IS Faktor za kamatu 12% Trenutna vrijednost Kumulativna korist Ukupno
400,000 $ 300,000 $ 200,000 $ 100,000 $ 0$ (100,000 $) (200,000 $) (300,000 $) (400,000 $) (500,000 $)
Dananja vrijednost onoga to e postati $1.00 nakon n godina u budunosti, ako uzmemo u obzir kamate I iznosi: PV = 1/(1 + I)n = (1 + I)-n Razlika predstavlja kamatu koja se moe zaraditi tim novcem
Primjeri:
trokovi razvoja od $100.000 imaju trenutnu vrijednost od $100.000 korist projekta u iznosu od $30.000 za pet godina uz kamatnu stopu od 8% ima trenutnu vrijednost od samo: $30.000 / (1 + 0.08)5 = $20.417
70
71
Prikupljanje informacija
Intervjui s kljunim korisnicima i radne sjednice
Ako naruitelj zapoljava informatiare svakako ih treba ukljuiti u analizu. Sueljavanje korisnika i informatiara ubrzava rjeavanje proturjenih iskaza.
Postupak intervjuiranja
Intervju
neusiljen i elastian razgovor s ispitanikom, slijed pitanja i odgovora ispitanik se pojavljuje u ulozi pasivnog sugovornika (!?) sugovornici: rukovoditelji, krajnji korisnici, ostali sudionici standardno ukljuuje dva sugovornika ali moe i vie (korisnika, ispitivaa): individualni intervju jedan korisnik ili suradnici koji rade isti posao intervjuiranje grupe vie korisnika iz razliitih podruja
Upitnici i ankete
Nadomjestak za intervju ili prikupljanje informacija o resursima.
Analiza dokumentacije
Treba prikupiti sve dokumente znaajne za poslovanje, radi boljeg utvrivanja pravila, poslovne politike, ciljeva poslovanja te strukture informacija.
Organizacija razgovora
informacije se prikupljaju nizom pojedinanih razgovora (prvi) razgovori trebali bi se voditi prema unaprijed dogovorenom planu i rasporedu koordinator Primjeri: \Analiza\PlanRazgovora postupak je spor i neuinkovit, jer se organizacija razgovora mora obaviti za svaki pojedini razgovor nakon dovretka analize i sinteze dobivenih informacija neke razgovore (ponekad i itavu seriju) treba ponoviti da bi se upotpunile dobivene informacije ili uskladili proturjeni iskazi ukupan broj razgovora ne moe se unaprijed tono odrediti i treba ga prilagoditi stvarnoj situaciji
Promatranje
Neposredni uvid u poslovne procese promatranjem radnih sredina (nain izrade i razmjene dokumenata, procesi osnovne djelatnosti).
Drugi naini
Prototipiranje,
Postupak analize mora biti prilagoen korisniku. Evidentiranje rezultata analize poeljno je obaviti CASE pomagalom.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 73
74
Tehnika intervjuiranja
Priprema za razgovor
utvrivanje informacija koje treba saznati prouavanje postojee dokumentacije i prethodnih nalaza odreivanje dokumentacije koju bi trebalo prikupiti priprema pitanja koja e biti postavljena tijekom razgovora izrada jezgre tema, to jest standardnih pitanja izrada sveobuhvatnog podsjetnika i izdvajanje prikladnih pitanja
Tehnika intervjuiranja
Planiranje i obavljanje razgovora
okvirno trajanje prvog razgovora je 2 sata (openito 1,5 2,5 sata) Poetak razgovora predstavljanje sudionika upoznavanje sa svrhom razgovora (prikupljanje informacija o ) Voenje razgovora postavljanje pitanja i biljeenje odgovora prikupljanje dokumentacije Zavretak razgovora priblino 5-10 minuta prije isteka planiranog vremena prekida se slijed postavljanja pitanja provjerava se da li postoji neto to je sugovornik htio rei a nije bilo pitano provjerava se da li treba proiriti krug sugovornika dogovara se nastavak razgovora (dopunski razgovor) kada:
voditelj razgovora nije postavio sva planirana pitanja ili voditelj smatra da je razgovor nametnuo nova pitanja
Primjeri:
\Analiza\
zahvala na razgovoru
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 75 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 76
Tehnika intervjuiranja
Preispitivanje i pojanjenje sadraja (follow-up)
provjera zabiljeenih navoda radi upotpunjavanja biljeki telefonom, elektronikom potom, novim sastankom
Dokumentiranje razgovora
Pisanje zapisnika samostalno pisati zapisnike (Tko ne razumije, ne moe biljeiti.) kada u razgovoru sudjeluje vie analitiara, odreuje se voditelj razgovora koji je ujedno i zapisniar, a ostali ulau primjedbe Sadraj zapisnika
Projekt Vrijeme i mjesto odravanja razgovora Sudionici Sadraj razgovora (tekst zapisnika) Popis prikupljene dokumentacije Zapisniar
zapisnik mora sadravati ono to je reeno i slijediti tok razgovora zapisnik ne smije nametati zakljuke, jer su oni rezultat analize
Primjeri:
Upitnici i ankete
Upitnik (pismeni intervju)
sadri pitanja koja se postavljaju tijekom razgovora (okvirno 20) moe se dostaviti korisniku prije, umjesto ili nakon intervjua nedostaci: ispitanik moe prilagoditi (kontrolirati) svoje odgovore teko je procijeniti iskrenost (spontanost) odgovora moe obeshrabriti ispitanika Primjer: Podsjetnik za SIO
Preporuljivo ponaanje
iskrenost i nepristranost cilj je nai za korisnika najprikladnije rjeenje, a ne podupirati odreeno programsko rjeenje ili raunalnu platformu panja i jezgrovitost brzo misli, jasno govori izbjegavanje sugestivnih pitanja nenametanje zakljuaka leernost (+ praenje reakcija sugovornika)
Anketa (inventar)
moe se obuhvatiti vie ispitanika pitanja zatvorenog tipa odgovori i obrada odgovora mogu se standardizirati pogodna za popis resursa Primjer: IS-Resursi
Intervjuiranje je elastinije!
Pomou intervjua moe se vie nauiti o stavovima, osjeajima i motivaciji osoblja. Tijekom intervjua analitiar i ispitanik nalaze se jedan nasuprot drugom, pa analitiar moe promatrati nain na koji ispitanik odgovara i po potrebi proiriti ili usmjeriti pitanja.
Grupno intervjuiranje
izbjegavati i po potrebi nadomjestiti radnim sjednicama iznimno provesti, kada se eli utvrditi zajedniki interes ili proturjeje
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 79
80
Prouavanje dokumenata
Prikuplja se sve do ega se moe doi
Analiza procesa Tipini dokumenti: pravilnici i zakoni Analiza podataka Tipini dokumenti: obrasci (formulari), izvjea Poeljno je da dokumenti budu reprezentativni, tj. popunjeni na tipian nain. Tako se moe ustanoviti koje informacije se uope unose i na kakav nain.
Reprezentativni dokumenti najee ne ukazuju na izuzetke, to jest podatke koji se rjee biljee ali ipak trebaju. Takoer, stalno biljeenje nekih podataka ne mora znaiti da su ti podaci stvarno potrebni. Treba prikupiti vie uzoraka iste vrste dokumenta! ( sampliranje)
Primjeri:
\Dokumenti
81
Primjeri:
\PIS-PrimjerProjekta
82
Prednosti
analitiar je u stanju realno sagledati poslovni proces uinkovitost, ako se dobro provede pouzdanost prikupljenih informacija
Nedostaci
neuinkovitost, ako se dobro ne provede utroak vremena ometanje i neugoda promatranih osoba mogunost manipulacije promatraa npr. prikrivanjem uobiajenog krenja radnih procedura
Primjer: ERwin Examiner Navedeni nedostaci opreme, podrke i podataka najei su razlozi za izgradnju novog IS! ( Operativna izvodljivost)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 83
Radne sjednice
Radni sastanci, sjednice (workshop)
analitiari i korisnici zajedniki provode analizu i oblikovanje cilj sjednice je (zajedniko) pronalaenje najboljeg rjeenja poseban prostor i izolacija moderator, dnevni red i zapisnici
Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design, John Wiley & Sons, 2000
Radne sjednice
Prednosti
Sjednice su pogodne za projekte kojima se rjeavaju problemi vani za itavu organizaciju ili vei dio poslovanja. Izbjegavanje specifinih (egzotinih) i nejasnih zahtjeva Preciznije ustanovljavanje dosega projekta Bolje uoavanje proturjenih zahtjeva
Nedostaci
sadraj i dinamika pasivnost sudionika usitnjavanje razgovora udaljavanje od tema trajanje sjednice bi trebale trajati vie dana (5-10) u nekoliko tjedana ovom zahtjevu u praksi je vrlo teko udovoljiti zbog obveza sudionika otpor sjednici i prateoj izolaciji razmjeran je razini poloaja konkretnog sudionika naglaen kada poduzee zapoljava informatiare, jer se podrazumijeva da je informatizacija iskljuivo njihov posao.
86
Razvoj prototipa
Prototipiranje (prototyping)
Koristi se kada korisnik ne moe tono definirati svoje informacijske potrebe prije nego to se izgradi informacijski sustav. Razlog tomu moe biti nedostatak postojeeg modela na kojem bi korisnik zasnivao svoje potrebe ili pak teka vizualizacija budueg sustava.
Izrada prototipa
Izgrauje se sustav koji zadovoljava neke osnovne, inicijalne potrebe. U radu s takvim sustavom korisnik otkriva svoje informacijske potrebe te se sustav modificira kako bi se zadovoljile te potrebe. Postupak koritenje sustava i modificiranja istog iterativno se ponavlja, a informacijske potrebe korisnika otkrivaju koritenjem sustava.
Izrada prototipa pogodna je u onim okruenjima gdje je teko definirati konkretni model sustava te u okruenjima gdje se informacijske potrebe korisnika mijenjaju ili razvijaju.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 87
Korisnik je sklon preutjeti izuzetke, koji su bitni (nuni !!!) za uspjenu realizaciju, a obino zahtijevaju i najvie napora tijekom ugradnje.
"To je naa jedina procedura (osim kada )"
Analiza sustava
Analiza sustava
Analiza sustava, sistemska analiza
Analiza sustava je ralanjivanje sustava u njegove komponente da bi se prouilo kako te komponente rade i meusobno komuniciraju. provodi se s namjerom slijedee sinteze sustava i razvoja aplikacija Sinteza sustava Ponovno objedinjavanje komponenti u cjeloviti, poeljno poboljani, sustav.
Aktivnosti analize
Aktivnosti analize
detaljna analiza postojeeg sustava te utvrivanje potreba i zahtjeva Kako radi postojei sustav? Na koji nain ljudi koriste sustav da bi obavili svoj posao? Koji su problemi pri koritenju aplikacija? detaljna specifikacija zahtjeva na IS Koji su podaci potrebni? Tko ih treba? Kada? Od koga? Tko ih stvara? Koji su izlazni podaci? Kakav im je oblik? Koji su izvori izlaznih podataka? Na koji nain se podaci prikupljaju i objedinjuju? daljnja razrada granica projekta primjeri: ProtokDokumenata, RazmjenaPodataka
Alternativna definicija
Analiza sustava je (1) razmatranje i planiranje sustava i projekta, (2) prouavanje i analiza postojeeg poslovnog i informacijskog sustava te (3) definiranje poslovnih zahtjeva i prioriteta novog ili poboljanog postojeeg sustava. [Whitten et. al, 2000]
Pozadinska analiza
Vano je da shvatiti strukturu organizacije, tko u njoj radi, tko je kome podinjen, kako surauju razliiti odjeli, itd.
92
Strukturirana analiza
Moderna strukturirana analiza = Logiki dizajn (esti sinonim)
strukturirana analiza strukturirani proces i rezultati analize tehnika modeliranja poslovnih zahtjeva na sustav usmjerena procesima, ali se razvila tako da obuhvaa i podatke strukturiranje procesa, ulaza, izlaza te spremita podataka potrebnih da bi se ogovorilo na poslovne dogaaje logiki modeli modelima se prikazuje TO je sustav i TO mora raditi (ne KAKO) koriste se dijagrami toka podataka za logiki prikaz poslovnih zahtjeva nezavisno od tehnikih rjeenja logiki dizajn izraavaju sutinu sustava sinonimi: esencijalni, konceptualni, poslovni modeli ukljuuje odreivanje prioriteta zahtjeva
Informacijsko inenjerstvo
podatkovno usmjerena, ali procesno osjetljiva tehnika, usmjerena prouavanju organizacije ili njenih veih dijelova kao cjeline, a ne projekt po projekt
Navedeni postupci mogu se komplementarno primjenjivati, unato uvrijeenom poimanju da je rije o meusobno iskljuivim metodama!!
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Definiranje zahtjeva
IEEE standard definira zahtjeve kao:
(1) Uvjet ili sposobnost koje korisnik treba da bi rijeio problem ili ostvario cilj. (2) Uvjet ili sposobnost koji mora posjedovati sustav ili komponenta sustava da bi zadovoljila ugovor, standard, specifikacije ili neki drugi ugovoreni dokument. (3) Dokumentiranu reprezentaciju uvjeta ili mogunosti definiranih pod (1) ili (2). [IEEE Std 830-1998], [IEEE Std 610.12-1990]
Vrste zahtjeva
Poslovni zahtjevi (zato)
ciljevi organizacije ili korisniki zahtjevi na vioj razini, opis problema koje treba rijeiti primjer: poslovna potreba, "Poboljanje usluge postojeim klijentima i pridobivanje novih" sadrani u dokumentima u kojima se opisuje vizija i opseg projekta primjer: poslovni zahtjev, "Omoguiti Internet prodaju"
Zahtjevi ne sadre detalje dizajna, detalje implementacije ili informacije vezane uz planiranje projekta. Panja se usmjerava na ono TO se eli izgraditi, a ne ulazi se u detalje kako i kada to napraviti. Za 40-60% pogreaka u projektu uzrok lei u pogrekama napravljenim u fazi postavljanja zahtjeva. [Leffingwell, 1997]
Tipina posljedica su "prazna oekivanja" (expectation gap): razlika izmeu onog to oekuje naruitelj i onoga to je izvoditelj mislio da treba napraviti.
Naknadne prepravke mogu predstavljati do 40% trokova razvoja, od ega je 70-85% pripisivo pogrenim zahtjevima [Leffingwell, 1997].
Nepotpuno definirani zahtjevi ine planiranje projekta i praenje promjena nemoguim.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 95
Bolji zahtjev:
"Korisnik e posebno dogovorenom akcijom, odabrati da li e se HTML oznake u trenutno otvorenom dokumentu prikazivati ili ne." Sad je jasno da je rije o HTML oznakama te da korisnik mora obaviti nekakvu akciju, ali nije tono navedeno kakvu (npr. kombinacija tipki), to se preputa dizajnerima.
Primijetiti da u zahtjevu nije detaljno opisano kako e se poruka i gdje ispisivati. To e biti odlueno tijekom dizajna.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 99 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 100
Odreivanje zahtjeva
Sve to opisuje financijski, trgovaki, ili drugi poslovni probitak koji korisnici, ili organizacija koja razvija sustav, mogu dobiti je najvjerojatnije poslovni zahtjev.
Poslovna pravila
Kada korisnik izjavi da se neku aktivnost mogu obavljati samo pojedine osobe ili uloge, pod odreenim uvjetima, on moda opisuje poslovno pravilo. Poslovna pravila su operativni principi poslovnih procesa. Oni nisu funkcionalni zahtjevi.
Bolje:
Nakon to je HTML analizator obradio datoteku generirat e izvjee koje sadri broj linije i tekst pronaenih HTML pogreaka, te opis svake pogreke. Ukoliko nema pogreaka prilikom analize, nee se generirati izvjee.
Funkcionalni zahtjevi
Izjava koja poinje s Korisnik mora moi obaviti neku funkciju, ili Sustav treba moi demonstrirati odreeno ponaanje je najvjerojatnije funkcionalni zahtjev. Funkcionalni zahtjevi opisuju vidljivo ponaanje sustava i definiraju to e sustav raditi. Treba biti svima jasno zato sustav mora biti u stanju obavljati odreene funkcije. Predloeni funkcionalni zahtjevi ponekad predstavljaju zastarjele ili neuinkovite poslovne procese koji ne trebaju biti ukljueni u novi sustav.
Atributi kvalitete
Izjave koje opisuju kako dobro sustav obavlja funkciju su atributi kvalitete, tj. jedna vrsta nefunkcionalnih zahtjeva. Zahtjeve koji opisuju poeljne karakteristike sustava: brzinu, jednostavnost, intuitivnost, robusnost, pouzdanost, sigurnost i efikasnost treba razmotriti s korisnicima da bi se precizno utvrdilo to oni misle pod tim dvosmislenim i subjektivnim terminima.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 101 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 102
Odreivanje zahtjeva II
Zahtjevi vanjskih suelja
Ovaj razred zahtjeva opisuje veze izmeu sustava i vanjskog svijeta. Specifikacija sistemskih zahtjeva trebala bi ukljuivati odlomke za ove zahtjeve ukljuujui i suelja te mehanizme komunikacije za korisnike, hardver i druge softverske sustave.
Postavljanje prioriteta
Nuno svojstvo - Da li vlasnik sustava neto stvarno mora imati?
Postoji tendencija da se previe zahtjeva proglasi nunim! Po definiciji, ako sustav ne ukljuuje nune zahtjeve, taj sustav ne moe ispuniti svoju svrhu. Treba testirati svaki zahtjev koji se smatra nunim i probati ga rangirati. Ako se zahtjev moe rangirati onda nije obvezan! Potpuno obvezni zahtjevi se ne mogu rangirati jer su nuni za prvu verziju sustava!
Ogranienja
Ogranienja su uvjeti koji ograniavanju izbor rjeenja raspoloivih dizajneru ili programeru. Spadaju u nefunkcionalne zahtjeve i trebaju biti dokumentirani. Neopravdana ogranienja treba pokuati odbaciti jer onemoguavaju postizanje najboljeg rjeenja. Takoer mogu umanjiti primjenu komercijalnog softvera i komponenti u rjeenju. Neka ogranienja mogu pomoi u zadovoljavaju atributa kvalitete. Primjer je poboljanje prenosivosti programa koritenjem samo standardnih naredbi nekog raunalnog jezika.
Definicije podataka
Definicija podataka je bilo koji opis formata, dozvoljenih vrijednosti, pretpostavljenih vrijednosti ili kompozicija sloenih podatkovnih struktura. Sve definicije bi trebalo pohraniti u rjenik podataka, kao glavno kazalo za sudionike na projektu.
Ideje o rjeenju
Ako korisnik opisuje specifian nain interakcije sa sustavom kojom bi mogao obaviti neku akciju, npr. Korisnik odabire podatak koji on eli iz padajue liste, on predlae rjeenje, a ne zahtjev. Predloeno rjeenje moe odvui panju od pravih zahtjeva. Kod postavljanja zahtjeva treba se usmjeriti na ono to je potrebno obaviti, a ne na nain realizacije. Treba istraiti zato korisnik predlae odreenu ugradnju jer to moe pomoi u razumijevanju stvarne potrebe i korisnikovih oekivanja o nainu kako bi sustav trebao raditi.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 103
Primjeri:
\Analiza\ProtokDokumenata, RazmjenaPodataka \Dokumentacija\
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 105
106
Cilj je napisati dovoljno dobre zahtjeve, na temelju kojih se moe pristupiti dizajnu i ugradnji uz prihvatljiv stupanj rizika. Nedovoljno definirani zahtjevi
Ponekad nedostaju informacije o nekom zahtjevu. Takve zahtjeve treba dosljedno oznaiti posebnom, dogovorenom oznakom npr. TBD (engl. To Be Determined - za odluiti, razluiti). Dokument se kasnije moe pretraivati po tim oznakama. Implementaciju ovakvih zahtjeva treba odgoditi do razrjeenja nedoumice ili barem treba dizajnirati one dijelove sustava koje je lako promijeniti kad se zahtjev konano definira. U suprotnom e programeri zahtjev ugraditi prema vlastitom nahoenju, koje ne mora biti tono.
107
108
Preporuke za analizu
Tehnike i pomagala ne znae puno bez ispravnog pristupa.
Postupak analize mora biti prilagoen korisniku. Kljuno je razumjeti sutinu organizacije i nain poslovanja Primjer: \Analiza\ PreporukeZaAnalizu
Glagol
Paraliza analize
Postupak ponavljanog modeliranja postojeeg sustava i vrednovanja modela moe utroiti znaajno vrijeme na modeliranje neega to e vjerojatno biti izmijenjeno ili zamijenjeno. Ne pretjerivati s modeliranjem postojeeg sustava!
"Kemiar ili lan osoblja kemijskog laboratorija moe podnijeti zahtjev za jednom ili vie kemikalija. Zahtjev moe biti udovoljen ili dostavom pakiranja kemikalije koja se ve nalazila na zalihi kemijskog laboratorija ili upuivanjem narudbe za novim pakiranjem kemikalije od vanjskog dobavljaa. Osoba koja upuuje zahtjev mora imati mogunost pretraivanja kataloga kemikalija vanjskog dobavljaa dok sastavlja narudbu. Sustav mora pratiti status svakog zahtjeva za kemikalijama od trenutka kad je ispunjen do trenutka kad je udovoljen ili otkazan. Takoer, mora pratiti povijest svakog pakiranja kemikalija od trena kad stigne u kompaniju do trenutka kad je potpuno upotrijebljen ili odbaen."
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 109
110
Postupak dekompozicije
stvarni problemi su preveliki i presloeni da bi ih se rijeilo odjednom (u komadu) strukturno ralanjivanje, rastavljanje naelo podijeli pa s/vladaj (lat. divide et impera, eng. divide and conquer)
Aplikacijski model procesa = logiki model procesa sustava ili aplikacije koji se radi u fazi analize
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 112
Logiki procesi
Funkcija
skup logiki povezanih trajnih poslovnih aktivnosti i zadataka (djelatnost, posao) funkcija se obavlja stalno (nema odreeni poetak i kraj) funkciju obavljaju osobe, grupe djelatnika ili organizacijske cjeline tipini primjeri: prodaja, proizvodnja, otprema, raunovodstvo funkcija se moe sastojati od desetina pa i stotina diskretnih procesa funkcije se mogu hijerarhijski razloiti do razine diskretnih procesa koji obavljaju odreeni zadatak kojim odgovaraju na poslovne dogaaje
Dogaaj
logiki dio posla koji se obavlja kao nedjeljiva cjelina esti naziv transakcija pokree se diskretnim ulazom i zavrava nakon to proces odgovori odgovarajuim izlazom poslovni dogaaj moe se predstaviti jednim procesom kojim sustav reagira na taj dogaaj logiki dogaaj dalje se razlae do elementarnih procesa kojima se prikazuje reakcija sustava na taj dogaaj
Modeliranje funkcija
Funkcionalna dekompozicija, dekompozicija funkcija
koristi se za izradu opeg modela funkcija (modela poslovnih funkcija) promatranog sustava u fazi planiranja strukturirano planiranje hijerarhija funkcija iterativno se razlae do razine procesa, tj. do trenutka kada se pone opisivati to se nekom funkcijom obavlja
0 The System
Elementi
funkcije - oznaavaju se (glagolskom) imenicom, npr. Prodaja, Proizvodnja procesi - oznaavaju se glagolskim izrazom oblika infinitiv+objekt spojnice - spojevi izmeu funkcija i procesa (connector) vanjski spojevi - spojevi s dijelovima dijagrama na drugim stranicama (offpage connector)
1 AFunction
2 Another Function
Funkcija
Task1.1.1
Task1.2.1
Task2.1.1
Task2.2.1
Proces
Task1.1.3
Task2.1.3
Task2.2.3
Task2.1.4
115
116
Nabava
Knjigovodstvo
Prodaja
Naruivanje robe
Knjienje
Fakturiranje
Izrada narudbi
Zaprimanje robe
Izrada otpremnica
Otprema robe
Dodavanje
Au riranje
Brisanje
Obraun plaa
117 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 118
Pravila
svaki proces je roditelj ili dijete roditelj mora imati barem dvoje djece po veini standarda, dijete smije imati samo jednog roditelja
Sell & Market Products
$1,103,222 1
Plan Production
$628,802 3
As semble Product
$3,540,136 4
Preporuke
izostaviti procese koji samo premijetaju ili preusmjeravaju podatke, a da ih pri tom ostavljaju nedirnute panju usmjeriti na procese koji neto raunaju (npr. prosjek ocjena) donose ili potpomau odluke (npr. odreivanje raspoloivosti robe pri naruivanju) filtriraju ili sumariziraju podatke (npr. rauni kojima je istekao rok plaanja) organiziraju podatke u korisne informacije (npr. generiranje izvjea) pokreu druge procese (npr. mijenjaju modalitet rada stroja) rukuju podacima (npr. stvaranje, itanje, auriranje, brisanje) - Ne pretjerivati!
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 119
Manage Adv ertising Tak e Orders Prov ide Pricing Inf orm ation Dev elop Docum entation Prepare W ork Tic ket
Order As sem bly Components Issue W ork Dev elop Ticket Specif ic ations Manage Specif y Component Components Inv entory Tes t Schedule Conf iguration Production Approv e Dis pose Vendors Outdated Component Parts
Populate Motherboards As semble Conf igure Perf orm Final Tes t Troubleshoot & Repair Prepare Order f or Shipment
Receiv e & Answer Support Store Inquiries Components Trace Order & Pick Order Spec if ications Items Run D iagnostics Pack age Prov ide Order Solutions Ship Manage Returns Return Def ectiv e Parts
NODE: A0
T IT LE:
NUMBER:
120
Dijagram organizacije
Shema, mapa, karta organizacije (Organization chart)
prikaz strukture organizacije hijerarhijom kutija ("kuica") svaka kutija reprezentira odreenu ulogu ili odgovornost u organizaciji
121
122
Oblikovanje aktivnosti
Oblikovanje sustava hijerarhijom ugnijedenih aktivnosti Aktivnost konteksta - vrh hijerarhije, predstavlja itav sustav
USED AT : AUT HOR: PROJECT : Proc es s Orders NOT ES: 1 2 3 4 5 6 7 8 9 10 DAT E: 05.09.1997 REV: 05.09.1997 W ORKING DRAFT RECOMMENDED PUBLICATION READER DAT E CONTEXT : T OP
Oblikovanje aktivnosti
Dekompozicija aktivnosti
USED AT: AUTHOR: PROJECT: Process Orders NOTES: 1 2 3 4 5 6 7 8 9 10 DATE: 05.09.1997 REV: 05.09.1997 WORKING DRAFT RECOMMENDED PUBLICATION Order Policy READER DATE CONTEXT: A-0 Customer Status
Viewpoint: Order Clerk Scope: New Customer Orders
Product Request(s)
Products Ordered
Quantities Ordered
PROCESS ORDERS
Paym ent Verification 0 Produc t Order System On-line Produc t Catalog Cus tomer Credit Rec ords
Payment Verification
Produc t Inventory
POS (Order Module) On-line Product Catalog NODE: TITLE: A0 Product Order System PROCESS ORDERS
Product Inventory
123
124
Tehnike modeliranja
u irinu - svaki dijagram se detaljizira prije dekomponiranja (breadth-first) u dubinu - identificira se hijerarhija, a zatim se detaljizira (depth-first)
Yes
127
128
Dijagram aktivnosti
Activity Diagram
tehnika za oblikovanje procedura koja se najee koristi u projektiranju objektnim pristupom.
X J2
false
& J4
& J1
$0 Chec k Dunn & Bradstreet 3 true $0 Pass D&B 5 $0 Set Credit Rating High 8
X J3
& J5
Customer
129
130
Dijagram aktivnosti
Primjer dijagrama aktivnosti
Tok podataka
Proces
a Vanjski entitet
P1 Proces
Tok materijala
Proces
predstavlja aktivnost pretvorbe podataka (ulaznog u izlazni tok podataka) procesi se imenuju glagolskim izrazima oblika infinitiv+objekt (npr. Prijaviti ispit) ili glagolskom imenicom (npr. Prodaja, Prijava ispita) nazivom treba izraziti to proces obavlja, to jest treba izbjegavati openite nazive (npr. Obavljanje raunovodstvenih poslova) opis procesa sadri opis aktivnosti (algoritam) njegovog djelovanja
134
Rezultat upita
d Upit
135
136
D4 Rezervacija
Rezervacija D1 lan P5 Traiti video Posudba P2 Posudba D2 Posudba Posuditi video lanska kartica i plaanje Video P3 Vratiti video Video d lan Zahtjev za rezervaciju Upit Rezultat upita P6
lan
Nabaviti video
lanska kartica
Narudba b
Novi video
Dubinu i uravnoteenost modela teko je odrediti. U praksi to moe znaiti doradu dijagrama u veem broju ponavljanja, ak i kada dijagrame rade iskusni analitiari!!!
137 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 138
primjer:
a b c b
140
Opisivanje podataka
Rjenik podataka (Data Dictionary)
mjesto pohrane definicija podatkovnih elemenata i struktura podataka strukturirano spremite meta-podataka, to jest podataka o podacima prvotno se pojavio kao proirenje dijagrama toka podataka, za pohranu opisa spremita podataka i tokova podataka moe se koristiti kao alternativna tehnika za prikaz modela podataka standardno se upotrebljava BNF notacija (Backus-Naur Form), koja se inae koristi za opis sintakse programskih jezika
Najmanja logika cjelina podataka
Podatkovni element
Ulazni tok
Yourdon/DeMarco
1 Vanjski entitet Proces Ulazni tok
1 Proces D1 Izlazni tok Spremite podataka
Izlazni tok
Spremite podataka
SSADM
a Vanjski entitet Ulazni tok
Proirenja modela
okida (trigger) - prikaz uestalosti procesa (npr. tri puta dnevno) posebni simboli za prikaz ponavljanja procesa razdvajanje i spajanje tokova (alternativni tokovi) posebni simboli za tok resursa, tok dokumenata ili tok upravljanja (npr. razliite linije ili ikone)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 141
Struktura podataka
Tok podataka
Spremite podataka
142
Elementarni procesi
Mini-specifikacije (funkcionalne primitive)
specifikacije za opisivanje osnovnih procesa u dijagramu toka podataka mogu poprimiti razliite oblike, ali imaju nekoliko zajednikih elemenata: naziv i broj procesa listu podataka koji ulaze u proces (ulaznih tokova podataka) listu podataka koji iz procesa izlaze (izlaznih tokova podataka) tijelo opisa procesa
Opis procesa
sadri algoritam zadatka koji se procesom obavlja, koji moe poprimiti razliite oblike ( dizajn programa - opis programske logike) na temelju ovog algoritma moe se, ovisno o alatu, generirati kd
Definiranje procesa
Primjer definicije procesa (1)
Proces 1: Opis: Ulazni tokovi: Provjera raspoloivosti filma Provjera da li u videoteci postoji kopija filma koja se moe iznajmiti Upit (Film) Rezervacije Posudbe Izlazni tokovi: Logika procesa: Rezultat upita (raspoloiv | nije raspoloiv | ne postoji) izraunaj broj kopija traenog filma u videoteci ako je broj kopija vei od nule tada ako je broj kopija vei od (broj posudbi + broj rezervacija rezultat = "Raspoloiv" inae rezultat = "Nije raspoloiv" inae rezultat = "Ne postoji"
Definiranje procesa
Primjer definicije procesa (2)
Proces 1: Opis: Ulazni tokovi: Izlazni tokovi: Logika procesa: Provjera raspoloivosti filma Provjera da li u videoteci postoji kopija filma koja se moe iznajmiti Upit (Film), Rezervacije, Posudbe Film nije raspoloiv, Film je raspoloiv izraunaj broj kopija traenog filma u videoteci ako je broj kopija vei od nule tada ako je broj kopija vei od (broj posudbi + broj rezervacija nastavi s P2 (izl. tok Film je raspoloiv) inae ako lan eli rezervirati film tada upii rezervaciju (izl. tok Film nije raspoloiv) inae poruka "Ne postoji"
145
146
Analiza sustava
P2.2 Create Back Order
aplikacijski modeli procesa - logiki modeli procesa sustava ili aplikacije teorijski, mogue je proizvesti DTP povratnim inenjerstvom postojeih aplikacija, ali e takav dijagram biti preoptereen fizikalnim primjesama
Dizajn sustava
D2 Order D etails
Prikupljanje i sreivanje informacija o funkcijama i procesima moe se obaviti s pomou tablica prije, ali i umjesto izrade dijagrama.
Customer Contracts
Customer Communication
Product O rder
Manage Order/Enquiry
NU MBER:
A4
Authoris ed Order
Av ailable Stoc k
4 STO CK
Alloc ated s toc k
$0.00
A432
Zaprimanje u slubu
Osoba
Osoba, Tijek slube Provjeri zahtjev prema Pravilniku o zapoljavanju, pa ispie rjeenje
C us tomer C ommunic ation $0.00 A433
2 ORD ER D ETAILS
Allocate Stock
A434
1 C USTOMER
Produc t Order
N OD E:
TITLE:
N UMBER :
A43
149
150
151
152
P4
Zatrazena kartica
P2
CAP
Ustanova
Nova kartica
Kartica
Vlasnik
Nova kartica
Upisni list
P3
Restoran
Vlasnik
P1.3 Promjena razine prava vlasnika Vlasnik D1 Vlasnik D3 Upis godine D2 Kartica
Unutar svake od navedenih cjelina obavlja se vie specifinih procesa koji ine osnovu sustava.
153
154
p8
vraeni artikli
Dobavljai
Kupci
promjena koliine
D4
dokumenti
nalog za meuskladitenje meuskladinica otpremnica povratnica kupca nalog za interno izdavanje artikla interna izdatnica interna povratnica
p1 Narui artikle
p2 predraun otpremnica artikl D1 artikli i usluge uplate raun predraun Izrada rauna
artikl usluga
p3 Izrada otpremnice
dobavlja
D7
Stanje skladita
p9 promjeni koliinu Otpremanje artikala otpremi artikle zahtjev za ponudu predraun artikl d Kupac
155
raun
D2
156
promjeni koliinu
Radne jedinice
zaprimljeni artikli
D5
cijene artikala
meuskladinica
p0
Proces izrade ponude vodi sluba prodaje. Na zahtjev kupca sluba nabave izrauje ponudu/predraun. Podaci o kupcu dohvaaju se iz spremita poslovnih partnera, a artikli i usluge dohvaaju se iz spremita artikala i usluga. Izraena ponuda sprema se u spremite dokumenata, a kopija se ispostavlja kupcu. Raun je dokument koji kao potvrdu podmirivanja potraivanja od kupca izdaje sluba prodaje. Raun se izrauje iz predrauna, sprema se u spremite dokumenata, a kopija se alje kupcu. Otpremnica kupcu skladini je dokument na osnovu kojeg se izdaju artikli sa skladita. Izrauje se na osnovu rauna i sprema u spremite dokumenata.
poslovna jedinica
D3
poslovne jedinice
b Poslovne jedinice
intera izdatnica
povratnica dobavljau
Meuskladitenje artikl
artikl
artikl
skladite
p7
meuskladinica artikl
izdani artikli
Skladita
nalog za izdavanje
p6
Interni povrat
interna povratnica
Promjeni koliinu
narubenica dostavnica
a Dobavljai
D6
nabavne cijene
cijena
D7
stanje skladita
artikl
D6
preuzeti artikli
cijena
D1
artikli i usluge
interna povratnica
nalog
nalog
D7
stanje skladita
D3
poslovne jedinice
p1.3 D2 poslovni partneri skladite dobavlja Izraditi skladinu primku skladina primka
Proces narudbe vodi sluba nabave koja na osnovu praenja stanja skladita i potreba na tritu odluuje o nabavi artikla. Nabavna sluba izrauje narudbenicu koja se zatim alje dobavljau. Dobavlja na temelju isporuene narudbenice ispostavlja predraun s naruenim artiklima. Na temelju predrauna nabavna sluba izrauje ulazni raun, a isplatom potraivanja dobavljau artikli se zajedno s dostavnicom primaju na skladite. Na skladitu se poveava koliina te ako je potrebno mijenja se nabavna cijena. Naposljetku, ova poslovna promjena biljei izradom skladine primke koja se zatim sprema u spremite dokumenata.
157
p6.4
D1
artikl artikl
D3
poslovne jedinice
Proces povrata artikala dobavljau takoer vodi nabavna sluba. Dobavlja na temelju vraenih artikala izdaje potvrdu o povratu na osnovu koje se izrauje povratnica dobavljau. Povratnica dobavljau sprema se u spremite dokumenata. Interno izdavanje i povrat artikala koristi se kod prijenosa artikala izmeu skladita i radne jedinice. Proces zapoinje prijemom naloga. U sluaju internog izdavanja artikala nalog prima skladite koje artikle treba izdati u radnu jedinicu, dok u sluaju internog povrata nalog prima radna jedinica koja treba vratiti artikle u skladite. Naloge za izdavanje u pravilu ispostavlja priprema rada, odnosno referada za otvaranje i praenje provoenja radnih naloga, poslovoe ili sam vlasnik. Na temelju primljenog naloga izrauje se interna izdatnica koja se prosljeuje skladitaru dok se interna povratnica izrauje se na temelju artikala vraenih iz radne jedinice. Dokumenti interna izdatnica i interna povratnica dokazuju izvrenu poslovnu promjenu i pohranjuju se u spremitu dokumenata.
158
plaanje
D3
poslovne jedinice
meuskladinica
D4
dokumenti
p7.1 skladite koje daje artikle skladite koje prima artikle artikl Izrada meukladinice izdani artikli
promjena koliine
Modeliranje podataka
D1
izdani artikli
c skladite koje daje artikle skladite koje prima artikle izdani artikli Skladita
D7
Stanje skladita
nalog
p7.3 artikl promjena koliine artikla na skladitu koje prima Prijem artikla primljeni artikli
primljeni artikli
159
meuskladinica
Modeliranje podataka
Modeliranje podataka (Data modeling)
tehnika organiziranja i dokumentiranja podataka sustava sinonimi: modeliranje baze podataka (podaci se najee pohranjuju u BP) modeliranje informacija (openitije) (po mnogima) najvanija tehnika oblikovanja podaci su resurs koji se dijeli izmeu veeg broja procesa i zbog toga moraju biti organizirani na nain koji je prilagodljiv poslovnim zahtjevima kreativnost strukture podataka i njihova svojstva su trajniji i stabilniji od procesa modeliranje podataka zavrava bre nego modeliranje procesa
modeli podataka bre se pribliavaju rezultatu nego modeli procesa modeli podataka su bitno manji od modela procesa i objektnih modela
Dijagram entiteti-veze
Dijagram entiteti-veze
eng. Entity-Relationship Diagram, ERD naziva se jo i dijagram objekti-veze (izbjegavati!) postoje razliite notacije, npr. Chen, Martin osim osnovnih, koriste se i proireni modeli ne postoje jednoznani standardi postupka izrade
0,1 Mjesto Zanimanj e NadJed 1,1 1,N PodJed 0,N Stanuj e Osoba 1,N Zaposlen 1,N Or gJed 0,M Proizvodi Pri pada
0,N
modeli podataka postojeeg i budueg sustava meusobno su sliniji nego modeli procesa postojeeg i budueg sustava, ili ih je lake preoblikovati, pa se manje posla baca dobra komunikacija s korisnicima, utvrivanje nazivlja lake odreivanje definiranje dosega projekta ...
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 161 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
1,1 0,N 1,1 Racun 1,1 Proi zvod NS 1,1 1,1 RacStRac OdnosiSeNa ES Di o 0,N Cj elina
0,M
Sastav
0,1
0,N
1,N 0,N
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
162
Entiteti
Entitet (entity)
neto to postoji u stvarnom svijetu i posjeduje znaajke koje ga opisuju i po kojima se razlikuje od svoje okoline Stvar koja se moe zasebno identificirati [P. Chen, 1976] Bilo koji objekt koji se moe razlikovati i predstaviti u bazi podataka [C.J.Date, 1986] Logika reprezentacija podatka [C.Finkelstein, 1989] Bilo to o emu pohranjujemo informaciju [J.Martin, 1989]
Entiteti
Pojedinane pojave (instance) grupiraju se u skupove
ovisno o metodi skup entiteta (entity set), tip entiteta (entity type), razred entiteta (entity class) primjeri: osobe (Kit Karson, Sir Oliver, Alan Ford, ...) fakulteti (FER, FF, ...) u praksi se moe poistovjetiti pojam entitet sa skupom entiteta, ako se ne razmatraju konkretni podaci oznaava se imenicom (u jednini) Osoba, Fakultet
164
Atributi i domene
Atribut
atribut predstavlja neko obiljeje, znaajku entiteta sinonimi: svojstvo (property), element, polje (field) pojedinane vrijednosti atributa pohranjuju se u bazu podataka elementarni podatak (data element, data item) po vrijednostima koje predstavljaju, atributi mogu biti: jednostavni atributi (simple attribute) - vrijednost atributa je pojedinani podatak,
primjer: Prezime, Ime
Atributi i domene
Vrijednosti atributa definiraju
tip podatka, domena i pretpostavljena ili standardna vrijednost (default)
Tipovi podataka
netehniki (logiki) opi tipovi koji se koriste u sistem analizi i pri prikupljanju zahtjeva primjeri: broj, datum-vrijeme, znakovni niz, tekst, BLOB tehniki generiki tipovi podataka koji se mogu preslikati u konkretne tipove, npr. integer, character konkretni tipovi SUPB, npr. char, int, byte (SQLserver)
sloeni, sastavljeni atributi (compound/composite/concatenated attribute, data structure) - vrijednost je ureena n-torka ili logika grupa jednostavnih atributa,
primjer: datum = (dan, mjesec, godina)
vieznani atributi (multivalued attribute) - atributi koji predstavljaju ponavljajue grupe podataka, to jest atributi s vie istovrsnih vrijednosti
primjer: Osoba.Telefon = (TelefonNaPoslu, TelefonKodKuce, MobilniTelefon)
s obzirom na pohranu vrijednosti, atributi mogu biti: atributi pohrane (stored attribute) izvedeni atributi (derived attribute) - vrijednost im se moe odrediti na temelju vrijednosti drugih atributa
primjer: starost = (DananjiDatum-DatumRoenja)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 165
Atributi i domene
Domena
skup moguih vrijednosti koje nad njom definirani atributi mogu poprimiti domene mogu biti jednostavne i sloene (vrijedi i za atribute) nad svakom domenom moe se definirati po volji mnogo atributa skup vrijednosti moe se definirati tipom podatka, npr. integer podskupom vrijednosti tipa podatka, npr: formula AA99, interval [10-99] skupom konstanti, npr. Spol = { M, }
8746 37528 1164 ... Ford Karson Rock ... Alan Bob Kit ... Melrose place xx Sunset boulevard 2958 Vukovar avenue 63 ...
Kljuevi
Klju (key) ili identifikator
atribut ili skup atributa koji (svojim vrijednostima) jednoznano identificira svaki od entiteta u nekom skupu entiteta mora se sastojati od bar jednog atributa jednostavan klju
primjer: OSOBA = @JMBG + Prezime + Ime primjer: MJESTO = @ifraMjesta + NazivMjesta ...
klju mora zadovoljavati sljedee uvjete jednoznanost (u skupu entiteta ne smiju postojati dvije pojave s istim vrijednostima svih kljunih atributa)
primjer: ne smiju postojati 2 osobe s JMBG=020946330097
Adresa (Adresa) M elrose place 666 Vukovar avenue 63 Sunset boulevard 2958
odreenost - postojanje vrijednosti u trenutku stvaranja instance stabilnost - otpornost na promjene tijekom vremena raspoloivost - dostupnost svim korisnicima neutralnost - s obzirom na znaenje vrijednosti kljua (samogovoree ifre)
168
Kljuevi
entitet moe imati jedan ili vie kljueva entitet mora imati barem jedan klju entitet moe imati vie moguih kljueva, tj. kandidata za primarni klju (candidate key), koji ne moraju biti meusobno disjunktni, tj. mogu imati atribute presjeka jedan od kljueva odabire se za primarni klju (primary key)
primjer: Osoba.IdOsobe, Mjesto.SifMjesta
Kljuevi
Strani klju (foreign key)
skup atributa koji se odnosi na klju drugog skupa entiteta, tj. skup atributa ije se vrijednosti odnose na vrijednosti kljua drugog entiteta (Osoba.SifMjesta odnosi se na Mjesto.SifMjesta)
Identifikator osobe (IdOsobe) 8746 37528 1164 765 Prezime (Prezime) Karson Ford Rock Ford Ime (Ime) Kit Alan Bob Kit Adresa (Adresa) Melrose place 666 Vukovar avenue 63 Sunset boulevard 2958 ifra mjesta (SifMjesta) 038 001 282
nakon odabira primarnog kljua, ostali mogui kljuevi postaju alternativni kljuevi (alternate key)
primjer: Osoba.JMBG, Mjesto.PostBr
ponekad je potrebno identificirati podskupove entiteta kriterij podskupa (subsetting criteria) atribut (jednostavni ili ulanani) s konanim skupom vrijednosti za grupiranje instanci entiteta u nepodskupove, u nekim metodama naziva se inversion entry jedinstveni indeks
ifra mjesta Potanski broj (SifMjesta) (PostBr) 038 10000 001 20000 282 30000
169 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Kljuevi
Strani klju ukazuje na povezanost izmeu entiteta, odnosno skupova entiteta
moe poprimiti vrijednost primarnog kljua drugog entiteta ili moe poprimiti nul-vrijednost (null value)
primjer:
Osoba.SifMjesta odnosi se na Mjesto.SifMjesta, odnosno Entitet Osoba (IdOsobe=8746) ima SifMjesta=038, tj. referencira entitet Mjesto s IdMjesta=038
SifMjesta
PostBr
NazMjesta
IdOsobe
Prezime
Ime
Nul-vrijednost
Nul-vrijednost oznaava nepoznatu vrijednost atributa ili neodreenu vrijednost atributa, tj. nadomijeta vrijednost atributa koji se ne koristi nul-vrijednost nije 0 (nula) niti (prazan znakovni niz) Primjer: Osoba (IdOsobe=37528) boravi u nepoznatom mjestu, pa joj je SifMjesta nedefinirana vrijednost Vozilo (tipa osobni automobil) nepoznatog registarskog broja, naspram vozila (tipa tenk) koje se ne registrira na isti nain
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 171
Mjesto
Osoba
Adresa
SifMjesta
Staz
Telefon
172
Veze
Veza (relationship)
pokazuje odnos izmeu entiteta analogno entitetima, pojedinana veza uspostavlja se na razini instanci entiteta, a veze se grupiraju u skupove veza (relationship sets)
kada se ne razmatraju instance, pojam veza podrazumijeva skup veza
Veze
Stupanj veze (degree of relationship)
broj entiteta koji sudjeluju u vezi openito, moe se povezati bilo koji broj entiteta (oprez!) veza drugog stupnja binarna veza veza treeg stupnja ternarna veza openito, veza moe biti n-tog stupnja n-arna veza posebni sluaj jest veza nekog entiteta s tim istim entitetom veza prvog stupnja unarna veza (refleksivna, rekurzivna, involucijska) u nekim metodama smatra se posebnim sluajem binarne veze, to jest posebnom vezom 2. stupnja
moe izraavati ulogu entiteta koje povezuje imenuje se glagolom ili glagolskom imenicom
Mjesto MjestoStan
Stanuje Stanovnik
Osoba
173
174
Veze
Tip, klasifikacija veze (type of relationship)
oznaava nain pridruivanja pojava entiteta u vezi jedan-prema-jedan (1:1) jedan-prema-vie (1:N)
moe postojati vie (paralelnih) veza izmeu dva entiteta
Veze
Primjer: binarna veza 1:N
Mjesto
1,1
Stanuje
0,N
Osoba
vie-prema-vie (M:N)
OrgJed
0,M
Proizvodi
0,N
Proizvod
gornja granica moe biti 1, pozitivni cijeli broj ili znak (npr. N)
moe imati konkretan broj ili openito N instanci s druge strane veze
Veze
Primjer, ternarna veza
Zanimanje 1,N 1,N 1,N
Specijalizacija/Generalizacija
Specijalizacija/Generalizacija
takozvana "jest" veza (is a relationship) veza koja opisuje posebne sluajeve u nekom skupu entiteta, to jest odnos nekog entiteta (nadtip) i njegovih posebnosti (podtip) podreeni entiteti stvaraju se na temelju njima nadreenog entiteta u kojem dijele zajednike atribute nadtip (supertype) - sadri zajednike atribute i predstavlja generalizaciju podreenih entiteta podtip (subtype) - sadri samo njemu svojstvene atribute i predstavlja specijalizaciju nadreenog entiteta
0,M Cjelina
Osoba
Zaposlen
OrgJed
Pripada
Proizvod Dio
Sastav
0,N
177 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 178
Specijalizacija/Generalizacija
B jest podtip od A ako: B jest uvijek A, A jest ponekad B Djelatnik je uvijek Osoba, Osoba je ponekad Djelatnik (Suradnik) Igla jest uvijek Proizvod, Proizvod jest ponekad Igla (Avion) specijalizacija moe biti: neekskluzivna - Osoba jest Djelatnik ili Suradnik, ali u isto vrijeme moe biti i Djelatnik i Suradnik ekskluzivna - Proizvod jest Igla ili Avion, ali ne moe istovremeno biti i Igla i Avion
Osoba 1,1 NS
Proizvod 1,1 ES
0,1 Djelatnik
0,N Suradnik
0,1 Igla
0,1 Avion
179
180
Mjesto
1,1
Stanuje
0,N
Osoba
konkatenirani entitet (concatenated entity), kompozitni entitet (composite entity) binarna veza M:N, npr. Proizvodi ternarna veza ili veza stupnja >3, npr. Zaposlen veza o kojoj se eli pohraniti podatke (veza s opisnim atributima), pr. Sastav
sinonim: agregacijski entitet (aggregate entity) veza koja sudjeluje u vezama s drugim entitetima u nekim metodama oznaava odnos cjelina-dio
0,M
Osoba 1,N
Zaposlen
OrgJed
0,N
DatPoc
DatZav
182
0,N
1,1 0,N 1,1 Racun 1,1 Proi zvod NS 1,1 1,1 RacStRac OdnosiSeNa ES Di o 0,N Cj elina
0,M
Proi zvod
Sastav
Racun
0,1
0,N
1,N 0,N
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
Djel atni k
Suradni k
StavkaRacuna
Igl a
Avion
183
184
Zahtjev za kemikalijom
zahtijeva
pohranjuje
Pakiranje kemikalija
sadri
Kemikalija
opisuje
M 1 Dobavljaev katalog
prati
185
Kategorije entiteta
osnovni, fundamentalni jaki entiteti, ne spadaju u ostale kategorije (Mjesto) asocijativni (spojni, vezni) - koji proizlaze iz asocijativnih veza (Zaposlenje) atributivni koji opisuju ili kategoriziraju druge entitete (Zanimanje, Stanje) podtipovi specijalizacije (Djelatnik, Suradnik, Igla, Avion)
Primjeri:
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 187
Zanimanje Drzava ifrarnik drava Obavljanje srodnih poslova odreene struke, kao i drugih odgovarajuih poslova
Mjesto Jedinica lokalne samouprave (opina ili grad) RadnoMjesto Funkcija zaposlenika prema pravilniku o unutranjem redu
TipOrgJedinice OpisOrgJedinice
Djelatnik IdDjelatnika (FK) SifDjelatnika BrojIskaznice Korisnik Zaporka IdStruke (FK) SifSpreme (FK) Svjedodzba IdZvanja (FK) DrzavniIspit StrucniIspit DatPrvogZaposlenja StazUkupno DatZaposlenjaMZOPU StazMZOPU NapomDjelatnik IdRadnogMjesta (FK)
OdgovornaOsoba
DrzavaRodjenja NadJedinica
MjestoPrebivalista
NazMjesta (IE2.1) TipMjesta PostBr SifDrzave (FK) StariNazMjesta SifMjesta IdNadCjeline (FK) NadCjelina RadnoMjesto IdRadnogMjesta IdOrgJedinice (FK) NazRadnogMjesta KratRadnogMjesta BrIzvrsitelja Popunjeno IdSluzbenMjesta (FK) Poslovi Uvjeti
SredisteZupanije
192
Definiranje veza
jedinstveni naziv glagol, glagolska imenica, Roditelj-Dijete , Rnn znaenje veze detalji dokumentacije tip identifikacijske, neidentifikacijske veze modalitet i kardinalnost kljuevi diskriminator generalizacije/specijalizacije pravila za ouvanje integriteta pri unosu i brisanju instanci
193 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 194
Definiranje atributa
naziv atributa - jedinstven, s izuzetkom stranih kljueva znaenje atributa domena atributa kardinalnost atributa izvedeni atributi (iz razliitih instanci) i izraunati atributi (jedne instance) [Inmon 1989, Haeckel & Nolan, 1993] derivacijska formula, derivacijska zavisnost [McClure 1993]
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 195
Atributi
kardinalnost 0 opcionalna vrijednost (null) kardinalnost 1 zahtijevana vrijednost (not null) kardinalnost N vieznani atribut (npr. Osoba.Telefon) atribut atribut, npr. Osoba.Prezime izvedeni atribut atribut pohrane ili se izostavlja, npr. Osoba.Staz sloeni atribut atribut (grupiranjem), npr. (dan, mjesec, godina) datum
Osob a IdOsob e Prezim e Im e Adres a DatRo d Staz
IdOsob e Prezim e Im e Te lefo nNaPosl u Tele fonKo dKuce Mobil niTe lefo n Adres a DatRo d Staz
197
Osoba
198
199
200
Stavka Ra cun a BrRac <FK> RbrStRac Si fProizvoda <FK> Je dCijen a Koli cin a
201
202
Osoba
Zaposlen
OrgJed
O soba IdOsobe Prezime Ime SifMjesta < FK1> Adresa DarRod Staz
Osoba
Zaposlen IdOsobe <F K1> SifOrgJed < FK2> SifZanim <FK3> DatPoc DatZav KoefPlace
1,1 NS
0,1 Djelatnik
0,N Suradnik
Proizvod 1,1 ES
0,1 Igla
0,1 Avion
DatPoc
DatZav
0,M
0,N FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
203
204
Zaposlen IdOsobe <FK1> Si fOrgJed <FK2> SifZanim <FK3> DatPoc DatZav KoefPlace
istoa modela
izbjegavati entitete koji opisuju ugradnju (ulazno-izlazni ureaji, meta-podaci, itd)
Provjera modela
Proizvodi Si fOrgJed <FK1> SifPr oizvoda <FK2>
Racun BrRac DatRac IdOsobe <FK> IznosRac Dj elatnik IdOsobe <FK1> BrRadKnj BrTekRac Suradnik IdOsobe <FK> BrUgovora BrZiroRac Uvj etiSuradnje
pripaziti na sinonime (razliite nazive istih objekata) pripaziti na homonime (jednake nazive razliitih objekata) provjeriti sumnjive i redundantne veze i po potrebi ih ukloniti (oprez!) uklanjanje neke od paralelnih veza OrgJedinica-Osoba
primjer: OrgJedinica 1:N Djelatnik i OrgJedinica N:1 Djelatnik-Upravitelj primjer: MjestoRodjenja 1:N Osoba i MjestoPrebivalista 1:N Osoba
uklanjanje veza koje se daju izvesti iz drugih (npr. trijade) - pripaziti na kardinalnost veza u lancu
primjer: naspram Osoba 0,N:1,1 Mjesto 0,N:1,1 Drzava Osoba 0,N:0,1 Mjesto 0,N:0,1 Drzava
Igla SifProizvoda <FK> Duljina Promj er FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
ukloniti balansirane veze 1,1:1,1 pripaziti na nebalansirane veze 0,1:1,1 (zavisnost entiteta) cirkularne reference izbaciti izvedene atribute oprez, mogui gubitak informacije o potrebnim izvedenim/izraunatim poljima
205 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 206
Dogaaji
Dogaaj
zgoda, zbivanje u sustavu koja vodi ili pokree procese sustava sm dogaaj nije proces, nego okida procesa koji se njime pokree primjer: kupac dostavi narudbu pokree proces provjere da li se radi o narudbi postojeeg ili novog kupca, proces stvaranja podataka o narudbi i stavkama narudbe, provjeru prethodnih zaduenja kupca, provjeru stanja skladita itd.
Modeliranje dogaaja
Vrste dogaaja
vanjski dogaaji potaknuti od strane vanjskih entiteta, koji zahtijevaju informaciju ili auriranje podataka ulazni tokovi podataka imenuju se tako da naziv sadri naziv vanjskog entiteta primjer: zahtjev za upis studenta ili zaprimanje narudbe kupca vremenski dogaaji - vremenski uvjetovani (rok, uestalost) ulazni upravljaki tokovi imenuju se tako da naziv sadri vremensku oznaku primjer: istek roka plaanja rauna, mjeseni obraun plaa, zakljuivanje ispitnog roka unutarnji dogaaji, dogaaji stanja - posljedica prijelaza sustava iz jednog stanja u drugo, na takav nain ta to zahtjeva obradu ulazni upravljaki tokovi primjer: isporuka robe sa skladita zahtijeva naruivanje nove robe
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 208
1
The System
event 3
4.
5.
6. 7.
Izrada dijagrama konteksta sustava postavljanje poetnog dosega projekta Izrada dijagrama funkcionalne dekompozicije podjela sustava u logike podsustave i/ili funkcije Izrada popisa dogaaja i odziva utvrivanje poslovnih dogaaja na koje sustav mora odgovoriti element popisa = dogaaj, ulaz, izlaz Izrada dijagrama dekompozicije dogaaja dodavanje procesa za rukovanje dogaajima (event handler) dodaje se po jedan proces za svaki utvreni dogaaj Izrada dijagrama dogaaja razrada procesa za obradu dogaaja po jedan dijagram za svaki svaki dogaaj Izrada dijagrama sustava udruivanjem dijagrama dogaaja Izrada primitivnih dijagrama razrada dijagramom toka podataka koji sadri osnovne procese, spremita i tokove za svaki pojedini dogaaj
event 4
...
Slika: Whitten et.al, Systems Analysis and Design Methods, McGraw-Hill Higher Education, 2000
The System
Function 1
Function 2
...
Function n
Event 1
Event 2
Event 3
Event 4
Event 5
...
Event n-2
Event n-1
Event n
Event 1
...
Event 5
...
Event n
209
210
Event 1
Event 4 Event n
Event n-1
Event 5 Event 3
2.3
...
2.1 2.4
...
2.2
211
212
Matrica Entiteti/Dogaaji
Matrica Entiteti/Dogaaji Primjer: pojednostavnjena
Entity/Event Matrix, Event/Enquiry, rezervacija sobe u hotelu Proljee Entity Access Matrix pogled na sustav usmjeren dogaajima (event oriented view) matrica sadri: dogaaje (retci) Dogaaj/Entitet entitete (stupci) elemente koji prikazuju uinak dogaaja na entitete privremena rezervacija C/M C
rezervacija sobe zaduenje korisnik soba
Stvaranje: C (create) itanje: R (read) - u nekim metodama se ne biljei Auriranje: U (update) ili M (modify) Brisanje: D (delete)
provjera dovrenosti: svaki dogaaj mora imati uinak na barem jedan entitet svaki entitet mora imati dogaaj koji ga stvara i brie
potvrda rezervacije opoziv rezervacije dolazak gosta poveanje trokova plaanje usluga arhiviranje rezervacije
C/M
C/M M C/M M M D
matrica Korisnik / Proces / X matrica Korisnik / Entitet / CRUD Korisnik pri tome predstavlja grupu korisnika ili ulogu korisnika Ovisno o detaljima ugradnje u fizikom modelu Korisnik moe biti i konkretna osoba
213
214
R R R R RU R R RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R
R R R RU
R RU R
sl ij e dn i do ga a j (sli j ed )
po na vl j an i do ga a j (ite ra ci j a)
R R
R R R R
R R R R
R R
R R
R R
R R
R R
R R
m
215
op era ci je
o
216
Elementi prikaza:
rezervacij a, nenajav. dolazak opozi v rezervacij e ili nedolazak
potvrda rezervacij e 3
najavljeni dolazak 2 3
stvaranj e troka
pl aanje usluga
stanje kumulativni rezultat ponaanja nekog objekta (pravokutnik, krug ili elipsa) prijelaz promjena stanja uzrokovana nekim dogaajem (usmjerena linija od jednog stanja prema drugom) dogaaj uvjet promjene stanja i akcija koja se obavlja (opis linije prijelaza oblika dogaaj/akcija)
3 privremena rezervacij a dolazak gosta opozi v rezervacij e nedolazak gosta poveanje troka
Primjena
1. 2. 3. 4. 5. 6. 7. Kreirati rezervaciju Zauzeti sobu Aurirati status rezervacij e Kreirati zaduenje Ponititi zaduenje Osloboditi sobu Obrisati podatke o rezervaci ji
217
sustavi za rad u stvarnom vremenu (real-time system) jezina analiza (parsing) dizajn korisnikog suelja
Primjeri:
\Dizajn
218
u pripremi
korisnik dohvaa nepotpun zahtjev
primljeno
zahtijeva otkazuje narudbu
podneen
vraen
natoeno
otkazan
219
220
Mape dijaloga
Korisniko suelje u mnogim aplikacijama se moe promatrati kao konani automat.
Jedan element suelja (izbornik, radna povrina, komandna linija ili dijalog prozor) moe biti aktivan u odreenom trenutku. Korisnik moe doi do ogranienog broja drugih elemenata ovisno o akcijama koje poduzima. Broj putanji kojima korisnik moe mijenjati dijaloge je obino vrlo velik, ali je konaan i mogunosti su najee poznate.
221
222
Mape dijaloga
Koristi se notacija dijagrama prijelaza stanja
Uvjet koji pokree korisniku navigaciju prikazan kao tekst na strelicama. Postoji nekoliko vrsta pokretakih uvjeta: Korisnika akcija, kao to je pritisak tipke ili klik na link ili gumb dijalog prozora Podatkovna vrijednost, kao to je pogrean unos koji pokree pojavljivanje poruke o pogreci Sistemski uvjet, kao to je signal da je pisa ostao bez papira Kombinacija navedenih, kao to je tipkanje opcije iz menija i pritisak na tipku Enter
Dijalog mape mogu prikazati
zatrai kemikaliju
podnijeti zahtjev za >0 kemikalija odaberi dobavljaa i dodavanje u listu otkai dodavanje nove kemikalije
Prilikom analize zahtjeva, dijalog mapa predstavlja interakciju korisnika i sustava na konceptualnoj razini. Konkretna ugradnja moe biti drugaija.
Primjer: Korisnik inicira ovaj model koritenja odabirom opcije "zatrai kemikaliju" iz glavnog izbornika. Nije nuno prikazivati detalje (npr. Potvrdu otkazivanja itavog zahtjeva) Kljuno je da korisnik i razvojnik jednako razumiju opisanu funkcionalnost.
povratak
Povijest pakiranja
223
224
Oblikovanje sustava
Analiza to sistem mora raditi Dizajn kako sustav treba izgraditi ili kakav sustav treba biti
Oblikovanje sustava
Procjena alternativa i detaljna specifikacija raunalom podranog rjeenja tehnika specifikacija sustava Izrada ugradbeno zavisnog modela, kojim se opisuje kako sustav radi fiziki dizajn
226
Opi dizajn
Opi dizajn (konceptualni, visoki, dizajn arhitekture) funkcionalne specifikacije Odabir tehnike arhitekture sustava
Centralizirana ili distribuirana obrada i pohrana? Kako? Tehnologije? Softver: nabavljeni, napravljen po mjeri, mjeavina? Razvojni alati?
Detaljni dizajn
Detaljni dizajn tehnike specifikacije Izrada fizikog modela podataka
pretvorba logikog modela podataka u fiziki model podataka za odabrani SUBP shema baze podataka prilagodba modela mogunostima i ogranienjima SUBP fiziki parametri (volumetrija) i ugaanje baze podataka oblikovanje fizikih datoteka
Dizajn programa
utvrivanje strukture programa na temelju modela procesa (logiki) proces ili skup procesa jedan ili vie programskih modula odreivanje veza izmeu modula (standardno strukturnim kartama) preciziranje programske logike
Dizajn suelja
dizajn suelja sustava protokoli pristupa i razmjene podataka oblikovanje zaslonskih maski i izvjea
Fazno
podjela na podsustave te nezavisni razvoj pojedinih podsustava uz kasniju integraciju podsustava mogue kod velikih IS koji se daju rastaviti problem rastavljanja i povezivanja podsustava
Arhitektura sustava
Optimalno rjeenje
izrada jedinstvenog modela podataka na poetku razvoja razvoj i postupna integracija aplikacija
229
Arhitektura sustava
Funkcije sustava = slojevi arhitekture
Pohrana podataka (data storage) Pristup podacima (data access logic) Elementi obrade (application logic) Suelje (presentation logic)
All data on the mainframe server
Distributed Presentation
Posluitelji
Velika raunala (Mainframe) Mala raunala (Minicomputer) Mikroraunala (Microcomputer) PC
Data on DB process on Server
Klijenti
Klasini terminali - ansi, vt220, ... Mikroraunala PC pristup terminal emulatorima ili udaljenim radnim plohama Terminali posebne namjene bankovni terminali (bankomati), Internet kiosk, runa raunala, ...
231
Network Data on database server Secure connection to database server
Model mree
prikaz glavnih komponenti sustava, njihove fizike lokacije i nain njihovog meusobnog povezivanja
Internet Connection provides access to interfaces and some logic Some logic on Internet Server
232
Centralizirana obrada
Viekorisniko raunalo (mainframe, minicomputer) + terminal
pohrana podataka (datoteke i baze podatka) poslovna logika (programska podrka) korisniko suelje (uobiajeno znakovno suelje ) suelje sustava (mrene i druge komponente)
Primjeri
Distribuirana prezentacija
opcionalna nadgradnja sredinjih aplikacija zamjenom znakovnog suelja grafikim, koje se izvodi na osobnom raunalu produljuje vijek starih aplikacija, ali se funkcionalnost ne moe znaajno poboljati
Korisnicima izgleda kao da jedno raunalo (njihov PC) obavlja cijeli posao Prednosti
izolacija promjena u pojedinom sloju kvalitetnija (laka) obrada sredinje upravljanje integritetom podataka na posluitelju
Nedostaci
odravanje aplikacijske logike (programa) na svim klijentima debeli klijenti
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 233 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 234
Debeli klijent
Debeli klijent
Podatkovna logika integrirana u klijenta Nema obrade podataka na serveru ili je obrada minimalna Minimalna ili nikakva elastinost na promijene poslovne politike
Tanki klijent
Tanki klijent
Podatkovna logika se nalazi na posluitelju Osnovna namjena klijenta je prikaz podataka Veinom se koriste u poslovnim sustavima Tipian primjer tankog klijenta je web preglednik
Prednosti
brzi poetni razvoj aplikacije vea samostalnost klijenta rastereenje glavnog raunala (servera) moe imati lokalnu bazu podataka mogu se nabaviti jeftina raunala sa snanim procesorima
Prednosti
promjena poslovne logike ne znai nuno i promjenu u klijentskom dijelu aplikacije promjena poslovne logike moe se obaviti centralizirano raunala ne moraju imati veliku procesorsku snagu ukoliko s vremenom obrada postane spora (zbog koliine podataka), moemo jednostavno poveati snagu sredinjeg raunala kao tanki klijent moe se koristiti npr. web preglednik (dobro definirano i svima dostupno) smanjena mogunost rada sa zastarjelim podacima (gotovo za svaku promjenu ide se na server) manja kompleksnost razvoje velikih aplikacija (kod je podijeljen na serverski dio i klijentski dio)
Nedostaci
poslovna logika integrirana na klijenta promjena poslovne logike znai instaliranje nove verzije aplikacije na svim klijentima velika mogunost rada sa zastarjelim podacima ako s vremenom aplikacija postane spora (zbog koliine podataka), treba promijeniti sve klijente razvoj velike aplikacije s vremenom postaje vrlo kompleksan (sav kod je na klijentu)
Nedostaci
veliko optereenje glavnog raunala, a to znai skupo glavno raunalo ukoliko se kao klijent koristi web preglednik moraju se potivati njegova ogranienja
235 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 236
Vieslojna arhitektura
Koristi se za razvoj sloenih aplikacija Kod se moe podijeliti u vie razina, npr.
kod na formi (GUI - Graphic User Interface) kod u sloju poslovne logike (BLL - Business Logic Layer ) kod u sloju pristupa podacima (DAL - Data Access Layer) kod na bazi podataka (stored procedure)
Primjeri
Prednosti
bolja raspodjela optereenja vea skalabilnost - mogunost ekspanzije, npr. poveanja broja korisnika, bez preoptereenja ili potrebe za promjenom procedura)+
Nedostaci
sloeni (komplicirani) dizajn i razvoj problem raspodjele podataka, procesa, suelja vee optereenje mree
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 237 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 238
241
242
244
Primjer dohvata zadnjih 20 narudbi u b-klasi. Tu ujedno moemo napraviti i promjenu da se dohvati zadnjih 50 narudbi. Ovo je primjer pristupa bazi podataka preko objekata. Taj primjer se ne ini ba jednostavan, ali u praksi se pokazuje da ima mnoge prednosti u odnosu na pisanje SQL upita. Osnovna prednost je manja mogunost pogreke, a sljedea prednost je preglednost koda. Na slian nain bi se rijeio i dohvat detalja pojedine narudbe.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 246
Normalizacija
Normalizacija
postupak strukturiranja sheme relacijske baze podataka tako da se ukloni to vie neodreenosti (zalihosti) stupanj normalizacije poveava se od 1NF do 5NF veina dizajnera zaustavlja se na 3NF ili na BCNF (Boyce-Codd NF) svodi se na ispunjenje tzv "relacijske zakletve" [Finkelstein, 1989]: Klju
1NF: nema ponavljajuih grupa, definiran primarni klju
Svrha
pouzdanost - konzistentnost i integritet podataka uinkovito rukovanje podacima prilagodljivost na promjene zahtjeva skalabilnost
Cijeli klju
2NF: svi nekljuni atributi u potpunosti zavisni o itavom PK
Analiza podataka
priprema modela podataka za ugradnju normalizacija - tehnika organiziranja atributa, dovoenje modela u odreeni stupanj organiziranosti, 3NF ili viu NF
Great news - the relational model is dead! Michael Gorman, Whitemarsh Information Systems, Corp., http://www.wiscorp.com
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 249 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 250
Normalizacija
Prevoenje modela i normalizacija uporabom CASE pomagala
Automatizirano pridjeljivanje stvarnih tipova podataka konkretnog SUBP Stvaranje tablica za entitete nadtipa i podtipa Automatizirana migracija kljua i prepoznavanje tzv. viseih veza (dangling relationships) veza na tablice koje nisu ukljuene u generiranje modela Veina CASE alata normalizira u 1NF zamjena veza vie-prema-vie asocijativnim entitetima zamjena vieznanih atributa entitetima Vie normalne forme problem prepoznavanja djelominih i tranzitivnih zavisnosti Generiranje programskog koda okidaa
Denormalizacija
Nadomjesni kljuevi
ispred kljua sloenog od veeg broja atributa (npr. >= 3) umee klju sa samopoveavajuim vrijednostima (serial), a na originalni klju postavlja se jednoznaan (unique) kompozitni indeks teorijski se ne preporua za asocijativne entitete, koji nasljeuju kljueve svojih roditelja, jer se time gubi smisao identifikacijske veze praktino, nadomjestak treba ugraditi kada je tablica u koju se ugrauje referencirana iz drugih tablica, a to nije u suprotnosti s poeljnim redundantnim vezama
primjer: @IdRadnogMjesta = @IdOrgJedinice, @IdZanimanja RadnoMjesto = @IdRadnogMjesta Zaposlenje = @IdOsobe, @IdRadnogMjesta, @DatZaposlenja, primjer: Drzava 1:N Mjesto 1:N Osoba, pri emu je Mjesto = @IdDrzave, @IdMjesta,
Prije poetka kodiranja obavlja se ogranieno uvoenje zalihosti i ugaanje baze podataka zbog poboljanja elastinosti i poboljanja performanci
zahvat moe rezultirati odreenim brojem intervencija u logiki model Denormalizacija - ogranieno i kontrolirano naruavanje NF
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 251
isti dizajn dosljedna ugradnja nadomjesnog kljua sa samopoveavajuim vrijednostima u sve tablice baze podataka pojednostavnjenje ugradnje umnoavanje kljueva (nadomjesni primarni, originalni alternativni) gubitak izvorne vrijednosti stranog kljua
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 252
Denormalizacija
Dijeljenje i udruivanje tablica
dijeljenje tablica smjetanjem rijetko koritenih atributa u posebnu tablicu udruivanje tablica ili uklanjanje pojedinih tablica stapanjem atributa obine veze 1:1 udruivanje nadtipa s podtipovima kardinalnosti 1:1, pod uvjetom da su sline strukture i sadraja
Uvoenje zalihosti
dodavanje atributa za pohranu izvedenih vrijednosti atribut pohrane za izvedenu vrijednost koja se moe izraunati agregatnom funkcijom (npr. iznos rauna kao suma iznosa stavki) oznaka zadnje vrijednosti nekog stanja kada se vrijednosti pojedinih stanja nalaze u tablici s velikim brojem zapisa (npr. stanje skladita) redundantna vrijednost koja se inae dohvaa sloenim i/ili sporim upitima (zadnje zaposlenje + zadnji izbor u zvanje + zadnje kolovanje) dodavanje atributa kao to su zastavice za "trajno" oznaavanje zapisa
Podrazumijeva se da se denormalizacija obavlja samo na mjestima gdje je to stvarno nuno i na takav nain da ne ugroava integritet podataka aplikacijsko upravljanje integritetom
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 253
254
Mjeovito
kombinacija navedenih mogunosti, s tim da DRI ima prednost
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 255 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 256
opisna polja - zahtijevana vrijednost + pretpostavljena vrijednost problem vanjskih spojnih upita strana polja posebne vrijednosti u ifrarnicima
primjer: 0-nepoznata vrijednost, 999-nepostojea vrijednost
Ubrzanje upita
analiza plana izvoenja (Execution Plan) i odabir poeljnog plana
primjer: SELECT ... OPTION (FORCE ORDER)
primoravanje nekoritenja indeksa primjenom nekodljive funkcije nad poljem nad kojim se uobiajeno koristi indeks
primjer: WHERE NULLIF ( polje , ) = ...
ostale opcije
primjer: SELECT ... OPTION (FAST n_rows)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 258
Pohrana podataka
Vrste datoteka/tablica
Matine - dodani zapis ostaje zauvijek u sustavu, moe se mijenjati primjer: Kupac, Artikl, Predmet, OrgJedinica Transakcijske (prometne) zapisi poslovnih dogaaja, ogranieni vijek, uklanjanje zapisa uz arhiviranje primjer: Racun, Prijavnica ifrarnici statiki podaci koji se koriste od razliitih aplikacija radi ouvanja konzistentnosti podataka i poboljanja performansi primjer: Mjesto (potanski brojevi), StatusNecega Dokumentacijske kopije povijesnih podataka za laki dohvat i pregled bez regeneriranja dokumenata Arhivske uklonjene iz medija za direktni (on-line) pristup Dnevnici (audit, log) evidencija pristupa i promjena podataka
Fizika raspodjela
Faktor blokiranja (blocking factor)
broj logikih zapisa koji se obrauju jednim itanjem (fiziki zapis) uobiajeno odreen i automatski podeen, ali se moe i runo ugoditi
Distribucija podataka
raspodjela pojedinih tablica, zapisa i/ili polja u razliite fizike BP ili razliite fizike segmente BP primjer: odvajanje matinih datoteka i ifrarnika od transakcijskih tablica
Replikacija podataka
umnaanje tablica, zapisa i/ili polja u razliite fizike BP primjer: replikacija ifrarnika izmeu baze na posluitelju i BP debelog klijenta
259
ifarski sustav
Serijske ifre
brojevi koji se slijedno pridjeljuju svakoj novo dodanoj instanci entiteta u modernim SUBP mogu se generirati uz opcionalna ogranienja primjer: SQL Server IDENTITY [ ( seed , increment ) ]
Blok ifre
slino serijskim iframa, s tim da su serijski brojevi grupirani prema znaenju primjer satelitskih TV kanala: 100-199 PAY PER VIEW, 200-299 CABLE CHANNELS, 300-399 SPORT, 400-499 ADULT, 500-599 MUSIC-ONLY, ...
Alfanumerike oznake
ogranieni skup znakovnih oznaka, esto kombiniranih s brojevima primjer, oznake drava: HR, DE, IT, SI
Preporuke za izradu
ifre moraju biti dovoljno velike da opiu eljene karakteristike, ali dovoljno male da se mogu interpretirati bez raunala Sustav ifriranja bi trebao biti smislen i prikladan da dodavanje novih ifara bude jednostavno Izbjegavati samogovoree ifre
Hijerarhijski kodovi
podjela u grupe, podgrupe itd. primjer, ifre predmeta: ZPM03A1 - ZPM 3. izborni u 1. semestru, hijerarhija vojnih sredstava n*m znamenki primjer, IUCN kriteriji ugroenosti vrsta: kriterij-podkriterij-temelj (A1a - redukcija, reverzibilna, direkto opaanje)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 261 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 262
Primjeri ifrarnika
Primjer, studentska prehrana
Pravilnikom o studentskoj prehrani propisan je status upisa potreban za ostvariranje prava na subvencioniranu prehranu. Npr. mora biti upisan u tekuu akademsku godinu na redovnom studiju ili studiju za osobne potrebe.
ifra statusa R P U V L O Opis statusa redovan studij paralelni studij studij uz rad vanredni studij paralelni studij s pravom prehrane studij za osobne potrebe Pravo prehrane DA NE NE NE DA DA
B. C. D. E.
jedinstveni broj u meunarodnom kartinom poslovanju (IIN) uvijek 601983 i prema meunarodnom standardu ISO/IEC 7812 na jedinstven nain identificiraju Studentsku karticu u meunarodnom sustavu kartinog poslovanja oznaka vrste kartice (1 znamenka) npr: 1 - student i 4 - privremena kartica redni broj kartice koju je student dobio (1 znamenka) JMBAG (10 znamenki) Kontrolna znamenka (1 znamenka),
264
263
Meta-modeli
Meta-model model baze podataka Meta-baza baza podataka o bazi podataka
Domain DomName TypeName DomLen DomDec Case Just DataMask ValRule Field Required Index Serial Virtual SN Key KeyNo KeyName Form FormName EntName FormWdth FormHght Referent Field RefFldName DomFldName SN Relationship RelName ShortName ParentAlias InsRule DelRule Relationship Field ParFldName ChiFldName SN
Meta-modeliranje
Rjenik podataka Meta-baza Primjena meta-modela
Attribute AttName LongName
Key Field SN
Form Field FormName FFldName SN FormFldId VarRow VarCol VarWdth VarHght Label LabRow LabCol LabWdth LabHght
266
Meta-modeli
ZZTables PK TableName Description About PK PK,I1 ZZFields TableName FieldName SN Type Size Required AllowZeroLength DefaultValue AutoNumber ValidateOnSet ValidationRule ValidationText Description TextLen Caption FieldType PK,I3 PK I1 I2 ZZRels szRelationship icolumn szColumn szObject szReferencedColumn szReferencedObject ccolumn grbit
Hi j erarhi j a (Rad no mje sto) Org Cje l in a Pro pi s
Meta-modeli
Poopenje strukture podataka
Opi s proc es a Za ko n V rsta do gad j aj a
P la n
v ez a Os ob a Os ob a na dok ume ntu Do kum ent Doga dj aj na dok ume ntu Doga dj aj
P ra vn a os ob a
Fi zi ck a os ob a
S voj s tv o s re ds tv a
267
268
Meta-modeli
Primjer, narudba
Narudba MBB-Nabava za osnovno tehniko sredstvo prema Br. xxxx od xx.xx.200x. Veza: Ponuda poduzea IMB br. xxxx od xx.xx.200x. Narudbu izradio: Pero Odobrio njegov ef: Ivo Stavke: Raunalo IMB estium: xx MBO, CPU, RAM, HDD, CDR, FDD, CASE Monitor 15 xx tampa xx Skener xx poduzeu IMB
S l jak er, Sef
Meta-modeli
Primjer, narudba
MBB Naba va P ra vil ni k o po slo vanj u Opi s pro cesa naruci vanj a Zak on Vrsta d ogadj aj a
Narudzb eni ca
P l an
ve za
Oso ba
MB B, Iv o, P ero, IMB
Narudz ba
Naruci vanj e
Fi zic ka oso ba
Se sti um Moni tor Stampac S kener Osnov no Teh nic ko Vrsta sre dstva S voj stvo
S re dstvo
269
270
Primjena
Primjer podataka
Definiranje dokumenata
Primjer izrauna
Primjer, raun stanja skladita
SELECT Artikl.SifArt, Artikl.NazArt, SUM(StavkaDok.Kolicina*VrstaDok.PredMat) FROM Dokument INNER JOIN VrstaDok ON Dokument.VrDok=VrstaDok.VrDok INNER JOIN StavkaDok ON StavkaDok.IdDok = Dokument.IdDok INNER JOIN Artikl ON StavkaDok.SifArt = Artikl.SifArt WHERE VrstaDok.PredMat <> 0 AND Artikl.IdeSklad <> 0 AND Dokument.DatSklad IS NOT NULL AND Dokument.DatStorno IS NULL GROUP BY Artikl.SifArt, Artikl.NazArt
273
274
TipPorObveznika
Djelatnost
PK SifDjelatnost Naziv PK
FilPosPar
SifFilPosPar Naziv Opis
PK
Dokument
PK IDDok God Broj SifDok DatDok IDPredhodniDok Storniran DatStorn DatIspis DatDosp SifPosPar SifPosJed1 SifPosJed2 SifNacPlac Rabat Porez UkupnoBezPoreza Slovima Opis
DokumentBS
PK, FK1 IDDok BrIzvoda OznZaZatvaranje Veza Predmet SifDetOpisRadNal StorKnjizenje BrojRacOdDob OsnovicaZa0Posto OsnovicaZaOporezivanje
Tvrtka
PK Naziv PostBr Adresa SifDrzava Telefon Fax E-mail WWW Ziro-racun1 Ziro-racun2 MatBr SifBanka SifTipPorObv PosGod OtvorenaPosGod PK FK1 FK2
PosPar
SifPosPar Naziv PostBr Adresa SifDrzava Telefon Fax E-mail WWW Ziro-racun1 Ziro-racun2 MatBr SifFilPosPar SifDjelatnost SifBanka Rabat BrDanaOdgode SifTipPorObv SifOsoba Zabiljeske
PosPar
0,1
0,1
DokumentBS
0,M
FK1 FK2
FK2
TipPorObveznika
1,1
1,1
1,1
Banka
1,1
Valuta
0,1
FK1 FK2
0,1 0,M
0,M 0,M
1,1 0,M
PosJed
0,M 0,1
Dokument
0,M 1,1
0,1
IDPrethodniDok
0,1
DetOpisRadNal
0,1 0,1
0,M
FK3 FK4
Tvrtka
0,1
0,1
Drzava
1,1 1,1
VrstaDok
1,1
FK6 FK7
Drzava
Artikl PopCjenika
0,1 1,1
Stavke
PK, FK1 PK, FK2 IDDok SifArt Kolicina JedinicnaCijenaBezPoreza Tarifa Rabat FK2 FK3 FK4 FK5 FK6 FK7
DokumentSS
PK, FK1 IDDok SifCjenika ModPlacanja Fakturirao Odobrio TekstPrije TekstPoslije OznDevRac SifTecListe DatTec SifVal Rabat UracnatiPorez OpisOstalihTroskova1 PorezOstalihTroskova1 IznosOstalihTroskova1 OpisOstalihTroskova2 PorezOstalihTroskova2 IznosOstalihTroskova2 Aktivan SifTipPred
0,M 0,M
0,M
0,M 0,M
PK FK
PosPar
0,M
Banka
SifBanka Naziv
0,M
Adresa
FK3
0,1 0,M 0,M 0,1 1,1 0,M 0,M
Valuta
PK SifVal Valuta Kratica JedIznos
KorProg
0,1
DokumentSS
0,M 0,M 0,M
Stavke
0,M
Adresa
1,1 1,1
1,1
Mjesto
PK PostBr Naziv
Artikl
PK SifArt RedBr Naziv Tip SifJedMje Tarifa JedMasa SifFilArt DugiOpisArt MinZalihe MaxZalihe
FK8
Mjesto
1,1 1,1
FilPosPar
1,1
Osoba
PK SifOsoba Prezime Ime SifPosPar Titula Funkcija SluzTel E-mail Spol DatRod Adresa PostBr SifDrzava PrivTel Zebiljeske
FK9
TipPred
0,1
1,1
FK10
Djelatnost
Adresa
0,M 0,1 0,M
FK1
FK11
Osoba
PosJed
Valuta
Tecaj
TecLista
FK2 FK3
275
276
Dizajn programske podrke (software design) dizajn programa (program design, software design)
proces pretvorbe zahtjeva na programsku podrku u oblik koji omoguuje programiranje opis jezikom za oblikovanje programa (PDL - Progam Design Language) pri emu program napisan pomou PDL nema oblik izvedbenog programa \Dokumentacija\SpecifikacijaDizajna
278
podjela programa i/ili sustava module ili tzv. crne kutije (black box) veliko unutarnje prianjanje modula kohezija (cohesion)
moduli moraju biti interno visoko povezani svaki modul treba obavljati jednu i samo jednu funkciju postizanje ponovne upotrebljivosti u buduim programima
Strukturirani dizajn
Strukturirani dizajn
Strukturna karta
Strukturna karta (Structure Chart)
modeliranje programske podrke na temelju dijagrama toka podataka dijagram toka podataka prikazuje TO treba postii strukturnom kartom izraava se KAKO ostvariti zahtjeve prikaz hijerarhije programskih modula koji ukljuuje prijenos podataka i upravljanja izmeu razliitih razina obrade prikaz slijedne, ponavljajue i uvjetne obrade elementi prikaza:
podatak (dat a couple)
281
282
Strukturna karta
Primjer, izvjee o poslovanju tvrtke Tajkun & ortaci
datum Sustav izvjea o prodaji zbir zbir Uzmi datum Zapii izvjee Ispii zbir
Transformacijska analiza
Transformacijska analiza (transform analysis)
analiza promjene/pretvorbe podataka primjenjiva na sustave koji imaju strukturu oblika ulazsredite-izlaz, tj. aplikacije s jasno raspoznatljivim ulazima, sredinjom obradom i izlazima, koji se daju prikazati linearnim tokom podataka
sredite
1 C
izlazi
2 I 3
datum
zbir
zbir
ulazi
System
C C I
datum datum
zbir
Uspjeh
Katastrofa
Struktura dizajna prikladna za ovakve sustave sastoji se od tri odgovarajua elementa (ulaz, obrada, izlaz), tj. podsustava:
Get C, koji pribavlja podatak C C I, koji obradom pretvara podatak C u podatak I Put I, koji ispisuje rezultat I
Raunaj zbir
Get C
CI
Put I
1
283 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
3
284
Transakcijska analiza
Transakcijska analiza (transaction analysis)
analiza izvrenja/obavljanja obrade primjenjuje se na sustave sa jasno raspoznatljivim sreditima izvrenja (transaction centre), tj. sustave u kojima se donosi odluka o tome koji e se proces koristiti za pretvorbu ulaza u izlaze (npr. interaktivne aplikacije) ulaz se usmjerava nekom od modula obrade, a pojedini izlazi se kasnije koriste u daljnjoj obradi
Umreeni procesi
Ostale strukture
sustavi koji nisu ni transformacijski niti transakcijski obrauju se na poseban nain najee se oblikuju plonim razlaganjem glavnog procesa u sastavne procese nadreeni proces mora pribaviti sve ulaze potrebne za obavljanje pojedinih podreenih procesa te prikupiti i uvati proizvedene rezultate obrade
Primjer,
sredite zaprima ulaz B, koji se usmjerava (kao B1, B2 ili B3) u odgovarajui proces (3, 4 ili 5) rezultirajui podatak (C1, C2 ili C3) koristi se kao izlazni tok C.
3 B1 2 B B3 5 C1 C2 B2 4 C3 6 C
BC
B3 B1 C1 B2 C3 C2
Primjer
strukturna karta za DTP razloen plonom dekompozicijom
D C 7 E F 9 H 8 G 10 I
E C F F G E H I D
CI
7
5
285 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
10
9
286
Sloeni sustavi
Stvarni sustavi primjena kombinacija osnovnih postupaka
3 B1 2 B 1 A Get C
E C B B C F F G E H I I J J D
C1 C2 6 C3 C 7
D F E
G 10 I 11 J 12 K
B2 B3
4 5
C
System
I C I
Opis logike
CI
Put I
H
7 2 and 6: BC
B B1 C1 B2
10
Get B
A A
8
B3 C3 C2
11: I J
J K
Put J
K
Get A
1: A B
12: J K
Put K
287
Dijagram toka
Primjer
289
290
Blok dijagram
Primjer, postupak prodaje (Visio)
Blok dijagram
Primjer: simboli i blok dijagram sustava (System Architect)
Sales Process
No
Customer Visit
Proceed?
Prospect
No
Customer
Accept?
Yes Yes
Sales Manager
291
292
Pseudokod
Pseudokod
nastao pojednostavnjenjem i strukturiranjem prirodnog jezika koristi se kada se eli opisati ugradnja tehnika oblikovanja opis algoritama naslijedio je narativnu formu
Mogue oznake za pisanje pseudokoda: Abc naziv algoritma rezervirana rije pseudojezika za opis algoritama abc ugraena ili trivijalna funkcija (procedura) Abc := pridruivanje zamjena vrijednosti # komentar konstanta ili parametar s skalar vektor v matrica M nul-vektor modul (duljina) vektora v skup Si element skupa kardinalni broj skupa prazan skup
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 294
Pseudokod
Primjer, pseudokod procedure za
procedura GenRel(EP, Ec) R := formiranje c za svaki K K formiranje k ako je PrepAlts(EP, Ec) MultAlts() za j := 1 do Min(n) ako je R := kraj GenRel.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 295
Akcijski dijagram
Akcijski dijagram (Action Diagram)
Formalizirana mjeavina strukturiranog prirodnog jezika i pseudokoda
# za sve potpuno popunjene # strane kljueve (k = Mj EP Ec) {(EP, Ec, k, Mj)} M = {(EP, Ec, k, Mj)} R = R {(EP, Ec, k, Mj)}
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 296
Stablo odluivanja
Stablo odluivanja (Decision Tree)
Stablo odluivanja je binarno stablo u kojem svaki nezavrni vor predstavlja odluku koja se donosi u tom voru zavisno o donijetoj odluci tok programa prenosi se u podstablo vora list reprezentira rezultat niza odluka na putu od korijena do tog lista prikladno za opis sloenih grananja u postupku odluivanja lako razumljivo dobro sredstvo za komunikaciju s korisnicima
297
298
etvrtina
Polovica D Grupa? D
3-6 vie od 6
90%
cijena = 0 ako je hit film tada | rok posudbe = 1 dan | cijena = cijena + (osnovna cijena filma x 1,5) inae | ako je ukupan broj filmova manji od 3 tada | | rok posudbe = 1 dan | | cijena = cijena + osnovna cijena filma | inae | | ako je ukupan broj filmova manji od 7 tada | | | rok posudbe = 3 dana | | inae | | | rok posudbe = 7 dana | | ako film nije trei po redu (svaki trei obian film je besplatan) tada | | | cijena = cijena + osnovna cijena filma 299 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 300
Polovica Vikend? D
Puna
Grupa? N
Tablica odluivanja
Tablica odluivanja (Decision Table)
tablini prikaz preslikavanja skupa ulaznih uvjeta u skup izlaznih akcija relativno jednostavni uvjeti ogranieni skupovi moguih odgovora, npr. da/ne ili nisko/srednje/visoko neki alati koji podupiru ovaj nain izrade specifikacija generiraju programski kd razliitih jezika (pr. C, Pascal, Fortran i Basic) dobro sredstvo za opis poslovnog odluivanja
>18 N N
UM
ukupan broj filmova vei od 6 ukupan broj filmova 3 - 6 ukupan broj filmova manji od 3 film je trei po redu Akcije rok posudbe je 7 dana rok posudbe je 3 dana
X X X X X X X 302 X
rok posudbe je 1 dan cijena = cijena +(osnovna cijena filma x 1,5) cijena = cijena + osnovna cijena filma
X X X
X X
Struktogram
Nassi-Shneiderman dijagram (Nassi-Shneiderman Chart)
grafiki prikaz programskih struktura bitno prikladniji u odnosu na dijagram toka neprikladan za runu izradu, naroito kada ga je potrebno esto mijenjati
Struktogram
Primjer, Nassi-Shneiderman dijagram u alatu Xper-C (reverzno inenjerstvo C programa i generiranje koda)
Osnovni elementi:
Slijed
Selekcija
Iteracija
303
304
Standardizacija i modularnost
Standardne funkcije modula aplikacije za rad s bazom podataka
Ulaz u modul automatski prikaz podataka na temelju uvjeta / parametera
niti jedan zapis svi zapisi odabrani zapisi (primarni klju, uvjet za selekciju zapisa)
Traenje (selekcija) podataka mora podravati traenje po uzorcima (query by example), koji se unose s ekranske maske (query by form) ako programski jezik nema neproceduralnih naredbi za konstrukciju uvjeta selekcije, treba ih programski simulirati Unos novog zapisa obavlja odgovarajuu provjeru domenskog, entitetskog i referencijalnog integriteta treba omoguiti odabir i po potrebi unos podataka koji se nalaze u drugim tablicama, a povezani su preko stranog kljua
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 306
Standardizacija i modularnost
Izmjena postojeeg zapisa omoguuje se promjena vrijednosti prethodno dohvaenog, a trenutno na zaslonu prikazanog zapisa naelno se zabranjuje izmjena vrijednosti identifikatora zapisa dabir referenciranih podataka obavlja se kao kod unosa Brisanje brisanje dohvaenog i prikazanog zapisa uz odgovarajue integritetske provjere i poruke obavlja se uz dodatnu potvrdu Pregledavanje (eng. browsing) prethodno dohvaenih podataka grupni pregled veeg broja dohvaenih zapisa u prozoru
po retcima, po stranicama, skok na prvi/zadnji/n-ti zapis pretraivanje liste podataka po dijelu naziva (filter) po elji moe odabrati jedan ili vie zapisa ili onemoguiti odabir
Standardizacija i modularnost
Poredak (sort) zapisa koji se prikazuju odreivanje poretka prije selekcije naknadni preraspored ve dohvaenih zapisa Zapisivanje izvjea (report) sadraj ispisa
trenutno prikazani zapis svi dohvaeni zapisi
format ispisa
osnovni podatci (ifra i naziv) svi podatci
odredite ispisa
pisa zaslon datoteka (nova datoteka, dodavanje na kraj postojee datoteke)
standardno se prikazuju samo osnovni elementi zapisa (primarni klju i relevantni zavisni atributi)
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Standardizacija i modularnost
Primjer, dohvat po uzorku
Pretpostavljena naredba za selekciju podataka SELECT Vrsta.* FROM Vrsta ORDER BY ImenaLat Modificira se u: SELECT DISTINCTROW Vrsta.* FROM (((Vrsta) INNER JOIN Rod ON Vrsta.IdRoda = Rod.IdRoda) INNER JOIN NarodnoImeVrste ON NarodnoImeVrste.IdVrste = Vrsta.IdVrste) INNER JOIN NarodnoIme ON NarodnoImeVrste.IdNarodnogIm ena = NarodnoIme.IdNarodnogImena WHERE Rod.NazRoda LIKE "vitis*" AND NarodnoIme.NazNarodnogImen a LIKE "*loza*" ORDER BY ImenaLat
Standardizacija i modularnost
Primjer, zapisivanje izvjea
309
310
Univerzalni modul
Alternativno, preporua se ugraditi univerzalni modul sa standardnim funkcijama, koji se moe dinamiki prilagoditi tako da obrauje podatke u razliitim tablicama. Univerzalni modul treba realizirati tako da u pogonu moe istovremeno postojati vie instanci istog modula prilagoenih pojedinim tablicama. Ovisno o pojedinom projektu, univerzalni modul moe zamijeniti i preko polovice standardnih modula
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 311 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 312
313
314
Dizajn suelja
315
Suelja
Korisnika suelja
tekstovna, grafika masovni unos (batch input) - periodiko pretipkavanje interaktivni unos (on-line) - na mjestu nastanka
Radio Button
vrijednosti iz konanog malog skupa unaprijed poznatih, meusobno iskljuivih vrijednosti (2 do 3)
Automatizirani unos
biometrijski ureaji - otisci prstiju, uzorci glasa elektromagnetski ureaji - identifikacija objekata s pomou radio valova magnetski ureaji - magnetske kartice i drugo optiki itai optical-mark reader (OMR), optical-character reader (OCR) pametne kartice (smart cards) - mikroprocesor, memorija, baterija ureaji osjetljivi na dodir - touch screen, touch-pad, pen-based
Check Box
binarne vrijednosti, opcionalno "nepoznato"
Izlazi - izvjea
dokument - npr. prijavnica, raun detaljna - dokumentiranje obrade, povijest i stanja evidencije zbirna - grupiranje, sortiranje, iznimke grafika - tokasti, tapiasti, linijski, torta, ...
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 317
List Box
umjereno velik broj (?) poznatih, ne nuno iskljuivih vrijednosti
podruje za navigaciju - izbornici, pregled podataka podruje za prikaz statusa obrade radno podruje - rad s podacima Sueljem moraju biti podrane razliite vrste izbornika (npr. vertikalni i kruni) uz mogunost brzog odabira (funkcijskom tipkom ili slovom opcije). horizontalni izbornik (menu bar) - uvijek vidljiv, lako dohvatljiv padajui (pull-down) i kaskadni - "nevidljivi", ali se opcije daju grupirati skoni (pop-up) - nije oigledno da postoje, skau na razliitim mjestima trake s ikonama (toolbar) - vidljivi, pamtljivi, problem ikona i skrivanja Tipke za obavljanje standardnih funkcija moraju biti definirane paljivo i jednoznano, a unaprijed treba predvidjeti i one za aktiviranje dodatnih funkcija.
321
322
323
324
Ulanavanje procedura
esto se dogaa da dio rada treba ponititi zbog toga to u sustavu ne postoji ifra koju se eli uporabiti, a nije ju mogue pohraniti.
Problem: korisnik je prisiljen ponititi do tog trenutka unesene podatke, proi kroz nekoliko izbornika do ifarnika, pohraniti novu ifru, vratiti se na mjesto gdje je ona bila potrebna, ponoviti unos prije ponitenih podataka i tek tada ih pohraniti. Rjeenje: na polju za unos vrijednosti stranog kljua treba otvaranje prozora s listom za pregled i odabir zahtijevanog podatka uz prikaz svih zapisa u odgovarajuoj tablici otvaranje liste za pregled uz prikaz ogranienog skupa zapisa na temelju prethodno postavljenog uvjeta aktiviranje funkcije za unos ili izmjenu vezanog podatka aktiviranje itavog modula za obradu vezanih podataka
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 326
Ulanavanje procedura
Programska oprema mora slijediti poslovne procese. Gdje god je to mogue, treba smanjiti broj postupaka za jedan poslovni proces da korisnici ne bi ponavljali iste akcije.
Primjer, stablasta struktura taksonomije
Kingdom Subkingdom Originator Subdivision SpecieOriginator Subclass Order Family Synonym Genus Aggregate Taxon CommonName
327
Ulanavanje procedura
Division
Class
SubspecieOriginator
328
P1 M1 F1 R1
P2 M2 F2 R2
Pi Mi Fi Ri
Pn Mn Fn Rn
Postupak
poetni sustav kao skup modula za obradu podataka u jednoj tablici, pri emu svaki od njih podrava standardne funkcije i poziva druge module postupno udruivanje i reorganizacija modula uz naknadno razdvajanje sistemskih od korisniki promjenjivih elemenata
Ovakav nain izrade programske opreme zahtijeva vei poetni trud, ali dugorono donosi prednosti.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 329 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 330
P'1 M'1 F'11 R'11 H11 F'1(1) R'1(1) H1(1) F'1 R'1 H1
331
Sluajevi koritenja
Use case = Sluaj koritenja (primjene)
Skup scenarija sa zajednikim ciljem koritenja sustava Kupi proizvod
1. 2. 3. 4. 5. 6. 7. 8.
333
334
Primjer UC (1)
336
Primjer UC (2)
Koristi se
Za opis zahtjeva korisnika u ranoj analizi. Za validaciju arhitekture i verifikaciju sustava u kasnijim fazama.
Vrste veza
asocijacija (association) veza komunikacije u kojoj oba objekta mogu slati i primati poruke ukljuivanje (include) povezuje dijelove ponaanja istovrsne ili sline za vie sluajeva ponaanja proirenje (extend) za varijacije normalnog ponaanja uz dodatna pravila generalizacija (generalization), poopenje slinog sluaja Specijalizirani sluaj "dijete" nasljeuje ponaanje i znaenje opeg sluaja "roditelj"
Dijete moe dodati ili prekriti ponaanje roditelja Dijete moe supstituirati roditelja gdje god se pojavi
Naziv sudionika
339
340
RacunajMasu() FER-ZPM-GRZ, Fertalj & Kalpi:RacunajMasu() Projektiranje informacijskih sustava, akad.god. 2006/07.
Programska izvedba
objektno usmjereni jezici, npr. Smalltalk, Eiffel, Java, C# hibridni jezici (3GL s objektnim svojstvima), npr. C++ i VBasic
344
UML
UML = Unified Modeling Language
Objedinjeni (univerzalni) jezik za modeliranje Standardni jezik za prikaz, specifikaciju, izradu i dokumentiranje elemenata sustava zasnovanih na programskoj podrci Proirenje osnovne funkcionalnosti stereotipovima (kalupima) Moe se koristiti tijekom cijelog ivotnog ciklusa razvoja i preko razliitih tehnologija ugradnje
OO model
prouavanje postojeih objekata da bi se vidjelo mogu li biti ponovno iskoriteni ili prilagoeni za nove primjene definiranje novih ili modificiranih objekata koji e se kombinirati s postojeim objektima u novu aplikaciju
Objektno usmjereno oblikovanje (OOD - Object Oriented Design) definira stvarne klase i objekte te njihove mehanizme, pri emu se odreuju detalji o buduim fazama OO model softverskog sustava
razrada definicija zahtjeva na objekte napravljenih tijekom analize revizija karakteristika podataka i procesa definiranje novih skupova objekata, npr. objekata suelja za oblikovane podatke
Sadri koncepte za
Modeliranje podataka (Entity Relationship Diagrams) Modeliranje poslovnih procesa (Business Modeling - workflow) Modeliranje objekata (Object Modeling) Modeliranje komponenti sustava/softvera (Component Modeling)
Objektno usmjereno programiranje (OOP - Object Oriented Programming) programski se ugrauju klase i njihove meusobne veze Faza procjene (OOE - Object Oriented Evaluation) evidentiraju se pogreke i problemi
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 345 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 346
Vizualno modeliranje
Dijagrami strukture, Strukturalni dijagrami
Class Diagram Object Diagram Component Diagram Deployment Diagram Prikaz granica sustava i njegovih glavnih funkcija prikazom sluajeva koritenja i sudionika (glumaca) Ilustracija izvrenja sluajeva koritenja dijagramima interakcije Prikaz statike strukture sustava dijagramima razreda i dijagramima objekata Modeliranje ponaanja objekata dijagramima prijelaza stanja Prikaz fizike ugradnje arhitekture dijagramom komponenti i dijagramom razvijanja
Dijagrami razreda
Class Diagrams
Dijagrami ponaanja
Use Case Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram
347
Razredi
Razred (class) = kolekcija, skup objekata sa zajednikom strukturom, zajednikim ponaanjem, zajednikim vezama i zajednikom semantikom, na primjer cOsoba Objekt pojedinana pojava (objekt, instanca) iz nekog razreda, na primjer Zagor i iko razreda cOsoba Definiranje razreda
Naziv Opis (komentar) slobodan tekst u vitiastim zagradama Atributi - struktura kojom su odreena svojstva objekata Operacije - procesi/servisi koje razred (objekt) zna obaviti, ime se odreuje ponaanje objekata
/ * autor: Hrvoje Novak */ Class Osoba { private string ime; private string prezime; public string PrezimeIme () { return ime + " " + prezime; } }
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 349
Dijagrami razreda
Dijagrami razreda (Class Diagrams)
Prikaz statike strukture sustava, odnosno njegovih elemenata (pr. razredi i tipovi), te njihovih meusobnih odnosa. Dijagram razreda moe sadravati i suelja (interfaces), pakete (packages), odnose (relationships) te instance kao to su objekti (objects) i veze (links). Bolji naziv bio bi 'statiki strukturni dijagram' (static structural diagram).
Elementi dijagrama
Razredi, njihova struktura i ponaanje (atributi i operacije)
Statiki odnosi
Obine veze ili asocijacije (associations) npr. "korisnik posuuje vie video-kazeta" Gomilanje ili udruivanje, agregacija (aggregation), npr. "motor je dio aviona" Zavisnost (dependency) i nasljeivanje (inheritance) npr. "bolniarka je osoba"
Dodatne oznake
Indikatori mnoine, mnogostrukosti (multiplicity) - kardinalnost Indikatori upravljivosti, navigabilnosti (navigability) smjer povezivanja Uloge (role names)
350
Asocijacije
Svaka asocijacija ima dva zavretka asocijacije (association ends), od kojih je svaki spojen s jednim razredom.
Uloge (role)
labele na kraju veze, postavljaju se blie razredu na koji se odnose mogu se izostaviti
Ogranienja (constraint)
uvjet povezivanja
{ { {
strelica oznaava smjer povezivanja jednosmjerna - preporua se tamo gdje nema posebnih uloga, mora se navesti ako postoji uloga dvosmjerna (standardno) moe ukljuiti stereotip (npr. friend)
352
Mnogostrukost
Oznaava broj objekata koji sudjeluju u vezi Prikazuje s koliko se objekata JEDAN objekt moe povezati Gleda se nezavisno za svaku stranu veze Najee upotrebljavane oznake za mnogostrukost u praksi su 1, *, 0..1 (jedan ili niti jedan). Za prikaz mnogostrukosti moe se koristiti diskretan broj
npr. 11 za broj lanova nogometne ekipe), niz brojeva (npr. 2..4 za igrae koji sudjeluju u kartakoj igri), kombinacije diskretnih brojeva ili brojeva u nizu (npr. 2, 4 za broj vrata na automobilu).
Znaenje Niti jedan ili jedan Samo jedan Niti jedan ili vie Jedan ili vie X, Y ili Z objekata Samo N objekata gdje je N>1 Od nula do N objekata gdje je N>1 Od jednog do N objekata gdje je N>1
353
354
Upravljivost
Primjer: odgovornost od narudbe prema kupcu Specifikacijski,
Upravljivost ukazuje na to da za svaku narudbu moramo znati kojem kupcu ona pripada. Za pojedinog kupca ne moramo znati sve njegove narudbe.
Person -employee 1..*
Primjer
WorksFor -employer 0..1 Company
Implementacijski,
Upravljivost pokazuje da razred Narudba ima pokaziva na razred Kupac, ali razred Kupac ne mora imati pokaziva na razred Narudba.
Konceptualno,
upravljivost nema neko posebno znaenje
// Person ima jednoznanu vezu prema Company, pa // getCompany moe vraati vrijednost tipa Company class Person { private Company _Employer; public Company getCompany() ; } // Company ima vieznanu vezu prema Person, pa // getPersons vraa kolekciju ili Vektor objekata // razreda Person. class Company { private Set _Employees; public Set getPersons_collection(); private Vector _Persons; public Vector getPersons_vector(); }
355
356
Generalizacija
Odnos izmeu openitog i njemu odreenijeg elementa
nadreeni razred ili tip (superclass, supertype) podreeni razred ili tip (subclass, subtype)
Generalizacija
Primjer:
Osoba je Fizika osoba ili Pravna osoba
diskriminator
357
358
Tumaenje generalizacije
Konceptualno
Razred Pravna osoba je podtip razreda Kupac, ukoliko su sve pojave razreda Pravna osoba istovremeno i pojave razreda Kupac. Pravna osoba je samo posebna kategorija kupca. Sve to moemo rei o razredu Kupac asocijacije, atributi, operacije, takoer vrijedi za razred Pravna osoba.
Vieoblije (polymorphism)
Operacija deklarirana u osnovnom razredu biva ponitena u korist operacije jednako deklarirane u naslijeenom razredu. Podtip na pojedine naredbe daje drugaiji odgovor u odnosu na nadtip ili neki drugi podtip. Gledajui sa strane pozivatelja, ta razlika nije bitna.
Zamjenjivost (supstitutability)
Razred je podtip osnovnog razreda ako je u aplikaciji mogue zamijeniti osnovni razred podtipom, a da aplikacija normalno nastavi s radom. Drugim rijeima, ako postoji kd koji se odnosi na nadtip Kupac, umjesto njega moe se supstituirati bilo koji njegov podtip.
359
360
Primjer nasljeivanja
class Kupac { public void PisiAdresu() { } } class PravOsoba: Kupac { public string VrstaRacuna() { return "R-1"; } } class FizOsoba: Kupac { public string VrstaRacuna() { return "R-2"; } } FizOsoba f = new FizOsoba(); f.pisiAdresu(); // inherited from base class string s = f.VrstaRacuna(); Kupac k = f; k.pisiAdresu(); // introduced in derived class
Agregacija
Agregacija (aggregation), sadravanje, obuhvaanje
poseban oblik asocijacije: veza "dio-od", "cjelina-dio" odnos se moe kvantificirati mnogostrukost
361
362
Kompozicija
Kompozicija (Composition)
"stroa" varijanta agregacije objekt moe pripadati samo jednoj cjelini
Agregacija i kompozicija
StudentskaSluba - studomati: Studomat 1 + dohvatiStudomat() + dohvatiSveStudomate() + azurirajStudomat() + azurirajSveStudomate()
Odjel
Studomat 3
+ prijaviIspit() + odjaviIspit()
Fakultet
{persistent}
naziv: Name adresa: String telefon: Number dodajStudenta() ukloniStudenta() dohvatiStudenta() dohvatiSveStudente() dodajOdjel() ukloniOdjel() dohvatiOdjel() dohvatiSveOdjele() 1..* ima 1
{persistent}
0..1
polaznik
* Student
{persistent}
pohaa * *
1..* Predmet
{persistent}
predaje *
364
Primjer kompozicije
class Studomat{ class StudentskaSluzba{ public: public: Studomat(); StudentskaSluzba(); virtual ~Studomat(); virtual ~StudentskaSluzba(); void prijaviIspit(); void dohvatiStudomat(); void odjaviIspit(); }; void dohvatiSveStudomate(); void azurirajStudomat(); void azurirajSveStudomate(); private: Studomat studomati[3]; }; StudentskaSluba Studomat StudentskaSluzba ::~StudentskaSluzba(){ - studomati: Studomat 1 3 delete [] studomati; + prijaviIspit() + dohvatiStudomat() + odjaviIspit() } + dohvatiSveStudomate()
+ azurirajStudomat() + azurirajSveStudomate()
365
366
Asocijacijski razred
Asocijacija s obiljejima razreda - razred s obiljejima asocijacije
Koristi se kada se od razreda zahtijeva da definira odnose. Nastaje dodavanjem atributa i operacija asocijaciji ogranienje: smije postojati samo jedna instanca asocijacijskog razreda za par povezanih objekata, inae postaje pravi razred
Ponekad je potrebna dodatna veza za prikaz vlasnitva Primjer: veza izmeu osobe i avionske karte
Realizacija (realisation): veza izvornog razreda i suelja Proirena i skraena (lollipop) notacija
367
368
Objektni dijagrami
Objektni dijagram (Object diagram)
Sadri aktualne (instancirane) objekte te, opcionalno, razrede kojima ti objekti pripadaju Koriste se za ilustraciju ili objanjenje nekog trenutka Class1
instantiates
Object1: Class1
arg1 = value1
StoreHome POSterminalHome POSterminal POSterminal Store <<use>> Store -storeId: Integer -POSlist: List +create() +login(UserName, Passwd) +find(StoreId) +getPOStotals(POSid) +updateStoreTotals(Id,Sales) +get(Item)
Object2: Class2
arg2 = value2
Adornments A - association link F - object field G - global variable L - local variable P - procedure parameter S - self reference
369
370
Narudzba Kupac
Stavka
Task startDate : Date = 1.1.01 endDate : Date = 1.6.01 setStartDate (d : Date = default) setEndDate (d : Date = default)
tefica Cvek
<<instanceOf>>
imenovana instanca
Dijagram objekata
anonimna instanca instanca siroe
371
Dijagrami interakcije
Interaction Diagrams
374
Dijagram slijeda
Prikaz interakcije grupa objekata porukama u vremenskom slijedu
Prikazuju interakciju objekata u vremenskom slijedu. Koriste se za specifikacije sustava za rad u stvarnom vremenu i kompleksne scenarije
Primjer slijeda
Notacija
Kuice predstavljaju objekte, ne razrede. Nazivu se moe dodati ":class". Objekti i/ili razredi prikazani horizontalno na vrhu isprekidanih vertikalnih crta, linija ivota Poruke prikazane strelicama izmeu linija ivota objekata koji komuniciraju Linija ivota (lifeline): ivot objekta za vrijeme interakcije
375
376
Pokretanje slijeda
Sudionik, dogaaj, granini objekt i operacija
Poruke
Poruka predstavlja poziv postupka referenciranog objekta Poruke se oznaavaju barem nazivom poruke Oznaka se moe proiriti argumentima poruke te povratnim vrijednostima i/ili upravljakim informacijama
Vremenska os
nelinearna, odreena dogaajima ita se s vrha prema dnu prikazuje redoslijed, a ne stvarno vrijeme
377
378
Vrste poruka
Jednostavna:
tumai se kao asinkrona
Sinkrona:
"pozivi", prikazani punim vrhom strelice, pri emu pozivatelj eka na zavretak aktivirane metode
Asinkrona:
"signali", prikazani polu-strelicom, ime se oznaava da poziv ne blokira poiljatelja poruke Primatelj odmah odgovara. Poiljatelj i primatelj rade simultano.
379
380
Uvjetovane poruke
Poruka se alje samo ako je uvjet zadovoljen. Uvjet je obino izraen implementacijskim jezikom.
Narudba
1: pripremi()
Stavka narudbe
3: provjeri() 4: [check = true] ukloni()
Iteration Condition
Stavka skladista
Self delegation
2: * pripremi()
5: ponovnoNaruci()
Asynchronous Message
Ponovljena stavka
Activation
381
382
383
384
Oznaavanje poruka
Oznaavanje rednim brojevima (1, 2, 3, ...)
problem pri umetanju
Proirenja
slovane oznake za vietnitne operacije oznaavanje povratnih vrijednosti
385
386
Dijagrami suradnje
bolja preglednost scenarija i veza izmeu objekata koriste se pri odreivanju veza izmeu razreda
dati ponudu dati ponudu odbiti ponudu prihvatiti ponudu Ponuda * kupac 1 prodavatelj 1 * Roba 1
Obje vrste dijagrama moraju biti jednostavne i pregledne, to je u praksi dosta teko postii Najee se za konkretnu situaciju radi samo jedna vrsta dijagrama
Stranka
387
388
CRC kartice
CRC = Classes-Responsibilities-Collaboration
Ward Cunningham i Kent Beck, kasne 80-te, uei Smalltalk nadomjestak za dijagrame suradnje
Razred
Odgovornosti Suradnici
Dijagrami stanja
State Diagrams
primjer Narudba
Odgovornosti Suradnici
provjeri raspoloivost robe na sklad. odredi cijenu robe provjeri valjanost plaanja otpremi robu
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
StavkaNarudzbe Kupac
389
Dijagram stanja
Prikaz ponaanja objekta nekog razreda Opisuje mogui slijed djelovanja i stanja kroz koje element moe proi za vrijeme svog postojanja kao rezultat reakcije na dogaaje (npr. signale).
sva mogua stanja objekta razreda dogaaji koji uzrokuju prijelaz iz jednog stanja u drugo nain promjene stanja pod utjecajem uzronih akcija (poruka koje objekt prima) opis ponaanja objekta kroz razliite sluajeve koritenja
Elementi notacije
Stanje
skup vrijednosti koje opisuju objekt (njegove uvjete/situaciju) u odreenom vremenskom trenutku odreeno zateenim vrijednostima atributa
Opis stanja
entry: akcija koja se obavlja pri ulasku u stanje exit: obavlja se pri izlasku iz stanja do: aktivnost koja se provodi dok je objekt u nekom stanju (npr. prikai prozor) on: akcija koja se izvodi kao posljedica odreenog dogaaja
Dogaaji
zaprimljene poruke ili signali ne moraju promijeniti stanje objekta => samo-prijelaz (self-transition)
Akcija:
vezana uz prijelaz stanja, pojavljuje se "brzo" i nije prekidiva
Aktivnost:
pridruena stanju, moe dulje trajati i moe se prekinuti
391
392
/uzmi prvu stavku [Nije sve provjereno] /uzmi slijed.stavku Provjera radi/provjeri stavku [Sve stavke provjerene i nekih stavki nema] Stavka je primljena [neke stavke nisu na skladitu] ekanje [Sve stavke provjerene i sve stavke dostupne] Stavka je primljena [sve stavke dostupne] Slanje radi/zaponi slanje
Prijelaz stanja
usmjerena veza koja oznaava promjenu stanja
aktivnost
Isporueno
prijelaz Isporueno
State B
samo-prijelaz
stanje
Obustavljeno
394
Kad postoji dogaaj, eka se njegovo ispunjenje da bi akcija zapoela. Inae, prijelaz se dogaa odmah nakon zavrene aktivnosti.
Prijelazi nakon stanja "Provjera" nemaju dogaaja.
Stanje "Slanje"
Aktivnost stanja "Slanje" je "Zaponi isporuku". Iz ovog stanja postoji jedan, neuvjetovani prijelaz, iji je okida dogaaj "Isporueno", a ne zavretak aktivnosti stanja ! Kad zavri aktivnost "Zaponi isporuku", narudba ostaje u tom stanju dok se ne dogodi dogaaj "Isporueno". A prijelaz e se dogoditi uvijek kad nastupi dogaaj "Isporueno"
Postoje tri mogua prijelaza nakon stanja "Provjera", s tim da se uvijek samo jedan prijelaz moe (i treba) dogoditi.
ako nisu provjerene sve stavke, uzima se slijedea stavka i vraa se u stanje "Provjera", ako su sve stavke provjerene i dostupne (a to znai da su na skladitu), prelazi se u stanje "Slanje", ako su sve stavke provjerene, ali nisu sve i dostupne, prelazi se u stanje "ekanje" da roba doe na skladite.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 395
396
Kompozitna stanja
Nadomjestak za 3 prijelaza obustavljeno
Ime kompozitnog stanja Aktivan [Nije sve provjereno] /uzmi slijed.stavku [Sve stavke provjerene i sve stavke dostupne]
Konkurentna stanja
Primjer: Provedba autorizacije
kada aktivnost "Provjeri plaanje" zavri, signalizira da li je plaanje u redu ako plaanje nije u redu, odbija se zahtjev za autorizacijom, inae narudba eka u stanju "Autorizirano" dok se ne dogodi "Isporui"
Slanje radi / zaponi slanje Autorizacija radi/provjeri plaanje [plaanje nije u redu] Odbijeno
[Sve stavke provjerene i nekih stavaka nema] Stavka je primljena [neke stavke nisu na skladitu] ekanje
Obustavljeno
Isporueno
397
398
Konkurentna stanja
Neke promjene mogu se dogaati istovremeno
Nadstanje s konkurentnim odjeljcima
"Narudba" moe doi u stanje dva mogua istovremena stanja: "Provjera" i "Autorizacija"
Kada narudba napusti konkurentna stanja, ona je opet samo u jednom stanju.
obustavljeno Obustavljeno
Dijagrami stanja dobro opisuju ponaanja jednog objekta u razliitim sluajevima koritenja. Dijagrami stanja nisu prikladni za prikaz ponaanja koje ukljuuje suradnju vie objekata.
Tada je bolje kombinirati tehniku dijagrama stanja s drugim tehnikama.
Provjera
Slanje
Autorizacija
Autorizirano
kraj
Odbijeno
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 399 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 400
Pocetak
Zaprimi narudzbu
Razdvajanje
Dijagrami aktivnosti
Activity Diagrams
sva (ili veina) stanja su stanja akcija sva (ili veina) prijelaza obavlja se po dovretku akcija u stanju
Posalji racun
[else]
Uvjetovano ponaanje
grananja (branches) udruivanja (merges)
Spajanje Udruzivanje
Kraj
402
Dodatna pravila
Nit koja izlazi iz razdvajanja moe se i sama razdvojiti tako da se novonastale niti spoje prije spajanja koje odgovaraj prvom razdvajanju. Ako nit koja izlazi iz razdvajanja ide direktno u novo razdvajanje, dozvoljeno je izbaciti drugo razdvajanje i niti koje bi izlazile iz njega premjestiti tako da izlaze iz prvog razdvajanja. Analogno, ako spajanje ide direktno u drugo spajanje, moe se izbaciti prvo spajanje, a niti koje bi ile u njega tada idu u drugo spajanje. Ovo je skraeni nain zapisivanja koji se koristi da se dijagram pojednostavni. Postoji posebno stanje, tzv. sinhronizacijsko stanje (sync state) koje omoguava sinhronizaciju na mjestima na kojima bi pravilo o parovima razdvajanja i spajanja inae sprjeavalo.
[raspolozen za vino]
Uvjetna nit
Otvoriti vino
Zamijesati
403
404
Prodaja
Zahtjevati robu
Preuzeti narudzbu
Isporuka [zurna narudzba] [else]
Uplatiti
Zaprimi uplatu
Ispuniti narudzbu
Nocna isporuka
Obicna isporuka
Dijagramima aktivnosti mogue prikazati paralelizam pa ih to ini pogodnim za prikazivanje vienitnih aplikacija.
Primiti robu
Zatvori narudzbu
405
406
Dekompozicija sustava
Problem podjele sustava u (manje) podsustave
Rimsko naelo: podijeli pa s/vladaj (Divide et impera, Divide and conquer) Podjela sustava u "savladljive" dijelove Strukturirane metode: funkcionalna dekompozicija OO analiza i dizajn: grupiranje razreda u cjeline na vioj razini
Dijagram paketa
Package Diagram
Paketi (Packages)
konceptualno strukturiranje modela sustava najee prikazuju strukturu, tj. organizaciju izvornog koda u fazi razvoja
Komponente (Components)
fiziko povezivanje elemenata sustava elementi: fizike komponente (COM+, CORBA), izvorni kod, dokumentacija tijekom pogona
Naziv paketa
GUI.exe
408
Paketi
Paket = opi mehanizam grupiranja elemenata, logiki povezana grupa elemenata modela, dio modela
Koncept grupiranja moe se primijeniti na bilo koji element modela, a ne samo na razrede
Dijagram paketa
Pokazuje pakete i razrede te zavisnosti izmeu njih
To je, zapravo, dijagram razreda koji prikazuje skupove razreda i njihove zavisnosti, ali se nazivom "dijagram paketa" naglaava koji su glavni elementi dijagrama.
Elementi
podsustavi drugi (manji) paketi realizacija sluajeva koritenja suelja (interfaces)
Svojstva
pojedini element sadran je samo u jednom paketu nazivi unutar paketa moraju biti jedinstveni paketi tvore imenike (namespace) paketi mogu referencirati druge pakete UML podrazumijeva da postoji anonimni paket-korijen (root package)
409
410
Ugnjeivanje paketa
Prostor imena
Grupira razrede sline funkcionalnosti. Imenici - C# i C++ namespace Izvedeni razredi ne moraju biti u istom paketu. Vanjski paketi ponekad se nazivaju domene.
Testiranje
Ponaanje paketa se testira tako da se jedan ili vie razreda paketa koriste kao probni razredi.
Cilj
lokalizacija promjena u sustavu visoka povezanost elemenata (cohesion) mala vanjska zavisnost/skopanost (coupling)
Smanjenje zavisnosti
Paketi ne nude odgovore kako smanjiti zavisnosti u sustavu, ali pomau vidjeti koje zavisnosti postoje.
Primjeri pakiranja
Narudbe
-Stavka
+Narudba -Stavka
411 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 412
Debeli Web
413
414
Dijagrami komponenti
Dijagram komponenti (Component diagram)
prikaz organizacije i zavisnosti softverskih komponenti
Fiziki dijagrami
Physical Diagrams
Zavisnost komponenti
iskazuje na koji nain promjena jedne komponente moe utjecati na promjenu drugih komponenti primjeri: zavisnost pri komunikaciji, zavisnost pri prevoenju
416
Dijagrami komponenti
Komponenta je tipino odreena s jednim ili vie klasifikatora koji obitavaju (reside) na komponenti.
Podskup ovih klasifikatora eksplicitno definira suelja komponente. Suelja predstavljaju skup usluga koje pruaju elementi komponente.
SesijaKucneKupo vine SesijaKupovine <<session>> SesijaKupovine
Zavisnost komponenti
Generator rasporeda
rezervacije
Tip komponente ima naziv oblika: KucnaNarudzba tip_komponente. Instanca komonente ima i ime i tip oblika ime_komponente : tip_komponente.
Ako se naziv tipa izostavi izostavlja se i dvotoka.
Narudzba
<<entity>> 050677am:Narudzba <<auxiliary>> :NarudzbaPK KucnaNarudzba Narudzba <<focus>> :Narudzba <<auxiliary>> :NarudzbaInfo
Sucelje
GUI
417
418
Varijante prikaza
SesijaKucneKupo vine SesijaKupovine KucniKatalog KucniKatalog Katalog <<session>> SesijaKupovine <<entity>> Katalog <<auxiliary>> KatalogPK
Dijagram ugradnje
Dijagram ugradnje (Deployment Diagram)
Prikazuju konfiguraciju pogonskih elemenata i softverskih komponenti, procesa, i objekata koji ive u njima.
<<focus>> Katalog
najee sklopovlje
Client
Katalog
<<file>> KatalogJAR
Spojevi (Connections):
komunikacijski putevi
KucnaKosarica
<<entity>> Kosarica
<<auxiliary>> KatalogInfo
<<focus>> Katalog
<<auxiliary>> KatalogPK
TCP/IP <<reside>>
elementi sadrani u komponenti (npr. implementacijski razredi)
<<reside>> <<reside>>
vor1
<<reside>>
<<implement>>
fiziki element ugradnje
<<entity>> Katalog
Server
<<implement>>
<<file>> KatalogJAR
419
420
vorovi i komponente
Kombiniranje dijagrama komponenti i dijagrama ugradnje
prikaz fizike zavisnosti izmeu softvera i hardvera lokacije komponenti unutar (distribuiranog) sustava instance softverskih komponenti koje predstavljaju pogonsku manifestaciju jedinica programskog koda.
Server:Host
: narudzbe.dll
: izbor.dll
Komponente smjetene na voru, a koje nisu prikazane ugnijedenim simbolima, oznaavaju se zavisnou sa stereotipom <<deploy>> Zavisnost <<become>> prikazuje da se priuvni broker u nekom trenutku izvoenja seli iz vora priuvnog posluitelja na vor primarnog posluitelja dok ostale komponente ostaju tamo gdje jesu.
primarniPosluitelj:AplPosluzitelj
<<database>>
:RacuniDB :OdrediKvotu
Korisnik:PC
primarniBroker:Broker
: GUI.exe
<<become>>
pricuvniPosluzitelj:AplPosluzitelj
pricuvniBroker:Broker
<<database>>
:OdrediKvotu
:RacuniDB
AccountDB.java
AccountMgt.java
421 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 422
Izrada sustava
Implementacija sustava, ugradnja sustava
izrada novog sustava i isporuka tog sustava u produkciju, to jest svakodnevnu primjenu
Izrada sustava
Izrada sustava
faza u kojoj se obavlja izgradnja i testiranje mrea (po potrebi) izrada i provjera baze podataka
kreiranje baze podataka, transfer probnih podataka, testiranje operacija nad podacima
instalacija i testiranje novih softverskih paketa (po potrebi) pisanje i testiranje novih programa, pisanje programske dokumentacije
provodi se prema detaljnom planu programiranja prethodno se stvara izvedbena ekipa i pridjeljuju odgovornosti lanovima
424
Kodiranje, programiranje
Kodiranje
pretvorba detaljnog programskog opisa u stvarni program, najee primjenom nekog formalnog programskog jezika runo kodiranje neizbjeno zbog veliine stvarnih problema i sloenosti procesa sporo i dugotrajno primjena jezika visoke razine
jezici etvrte generacije (4GL Fourth Generation Language) objektno zasnovani jezici (Object Based Language) objektno usmjereni jezici (Object Oriented Language)
Kodiranje, programiranje
Strukturirano programiranje, Strukturno programiranje
tehnika programiranja koja podrazumijeva pristup odozgo prema dolje (top-down programming) i uporabu programskih struktura:
slijed, tj. blok naredbi s jednim ulazom i izlazom uvjetno grananje, npr. naredbe if, case/switch/select ponavljanje, tj. programske petlje (s uvjetom na poetku, s uvjetom na kraju, s unaprijed poznatim brojem koraka)
poeljno je da konkretni jezik uz prevodilac (compiler) ukljuuje interpretator (interpreter) te alat za otkrivanje pogreaka (debugger) automatsko kodiranje generiranje programskog koda, suelja, sheme baze podataka
Proceduralno programiranje
nain programiranja koji omoguuje da se program definira kao skup programskih cjelina, poeljno takvih da se mogu opetovano koristiti programska cjelina (unit) skup programskih naredbi koje obavljaju jedan zadatak ili jedan dio zadatka, npr. glavni program, potprogrami (procedure, funkcije) programski modul skup logiki povezanih programskih cjelina modularno programiranje komponenta bilo koji sastavni dio softvera, uobiajeno podrazumijeva fizike cjeline
425 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 426
Istovremeno koritenje razliitih programskih jezika, a naroito jezika razliitih generacija treba koristiti samo po potrebi, primjerice kada se eli ukloniti neke nedostatke osnovnog jezika kojim se obavlja razvoj.
primjer: 4gl + C
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Pristup programiranju
Monolitni pristup (build and fix)
dugotrajno kodiranje, a zatim niz ponavljanja oblika provjera+ispravak odgaa otkrivanje problema (pogreaka u kodu i dizajnu) prosljeuje probleme u primjenu i odravanje
Pristup programiranju
Inkrementalni pristup, primjer:
izrauje se program ija je struktura prikazana slikom prvo se kodiraju sve funkcije, a zatim se udruuju pokretanje programa zavrava fatalnom pogrekom problem: kako ustanoviti u kojoj funkciji se nalazi pogreka rjeenje: postupnim kodiranjem i udruivanjem funkcija prilikom izrade funkcije koja poziva neke druge funkcije, pozvane funkcije kodiraju se kao odresci ili okrajci (stub), tako da je tijelo funkcije prazno ili sadri poruku (tu sam X) prilikom izrade funkcije koja e biti pozvana iz neke druge, jo neugraene funkcije, izrauje se pogonska funkcija (driver)
a b c d
f j l
h
Funkcija A ()
Poziv B()
k m
Funkcija B()
Ispis "Tu sam B"
427
Pristup programiranju
Programiranje od vrha prema dolje (Top-Down)
ako funkcija fGornja poziva funkciju fDonja, onda se fGornja kodira i integrira prije fDonja mogui redoslijed kodiranja: abcdefghijklm, pisanjem odrezaka (pr. bcd za a) alternativni redoslijed: a+beh+cdfi+gjklm nakon to je funkcija a napravljena i provjerena, jedan programer izrauje beh, a drugi istovremeno radi cdfi nakon to su zavreni d i odrezak f, trei programer zapoinje gjklm
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Pristup programiranju
Programiranje od dna prema gore (Bottom-Up)
ako se funkcija fDonja poziva iz funkcije fGornja, onda se fDonja izrauje prije fGornja redoslijed kodiranja: lmhijkefgbcda 1. programer radi heb 2. programer radi ifc 3. programer radi lmjkgd nakon to su zavrene b, c i d, pristupa se konanom udruivanju prednost: bolja provjera operativnih funkcija, manji utroak pogonskog koda nedostatak: kasno otkrivanje logikih pogreaka
prednost: bolja provjera logikih funkcija (na vioj razini hijerarhije, u kojima se donose odluke) bre otkrivanje logikih pogreaka, manji utroak odrezaka nedostatak: nedovoljna provjera operativnih funkcija (na niim razinama, obavljaju stvarni posao)
a b c d
a b c d
f j l
f j l
h
h i k m
k m
430
429
Pristup programiranju
Mjeoviti (sandwich) pristup
prvo se od vrha prema dolje izrauju logike funkcije, pr. abcdgj zatim se od dna prema gore rade operativne funkcije, pr. efhiklm prednost: rano otkrivanje logikih pogreaka uz bolju provjeru operativnih funkcija
a c
f j l
k m
431 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 432
Smjernice za nazivlje
Nazivlje struktura podataka
pridjeljivati nazive iz kojih se vidi na to se odnose Primjerice: Osoba.SifraOsobe, Mjesto.SifraMjesta Umjesto: Osoba.Sifra, Mjesto.Sifra, Artikl.Sifra izbjegavati uporabu posebnih znakova koje sintaksa jezika/sustava ne dozvoljava pri tvorbi identifikatora pr. operatori i znakovi za palatale naeg jezika, Dat-Ro izbjegavati prekratke nazive koji, osim u neitkost, vode u nedosljednost ve pri prvoj pojavi iste kratice za razliiti pojam npr. SifMje za Mjeru i Mjesto izbjegavati preduge nazive, pr. Redni_broj_stavke_kalkulacije, zbog smanjenja itljivosti uinkovitosti runog kodiranja (pojava sintaksnih pogreaka izazvanih pogrekama u pisanju produuje vrijeme ispravljanja i prevoenja) moguih ogranienja jezika (pr. duljina identifikatora do 18 znakova) izbjegavati nazive dobivene rutinskim spajanjem naziva entiteta i atributa jer mogu djelovati nezgrapno unutar upita, na primjer: umjesto SELECT Posao.* FROM Posao WHERE Posao.posao_datum bolje je SELECT Posao.* FROM Posao WHERE Posao.DatPosla koristiti nazive koji se daju izgovoriti pr. Nstvnk.SifNstvnk Nastav.SifNastav ili Nastavnik.SifNastavnika
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 433
Smjernice za nazivlje
Nazivlje programskih varijabli
koristiti smislene nazive izbjegavati "jednoslovane" varijable, pr. i, j, k ili i, ii, iii, ili, x1, x2, x3 osim za indekse i dimenzije polja, pr. i, n nazive odabirati u skladu sa znaenjem sadraja pr. max za najveu vrijednost pr. len za varijablu koja odreuje duljinu koristiti standardne prefikse/sufikse za srodne elemente/objekte pr. frmOsoba ili fOsoba za zaslonsku masku pr. repOsoba, rOsoba za izvjee koristiti kratice opih pojmova kao to su pr. broj, redni broj, ifra, kratica, oznaka, datum br, rbr, sif, krat, ozn, dat razlikovati nazive globalnih i lokalnih varijabli te formalnih argumenata koji se odnose na isti pojam, ime se olakava snalaenje u programskom kodu i uklanja mogua "neodreenost" sadraja pr. gCount, sCount, lCount, aCount
434
Smjernice za nazivlje
Standardizacija nazivlja
Pridjeljivanje naziva objektima modela podataka odraava se na nazive programskih varijabli. O tome treba voditi brigu ve prilikom oblikovanja baze podataka. Poeljno je oblikovanje obaviti takvim alatom za modeliranje koji osim stvarnih naziva ima mogunost evidentiranja kodova koji e se koristiti prilikom stvaranja BP za stvaranje objekata BP. Uporaba razliitih notacija kao to su koritenje velikih i malih slova (BrojCipela), umetanje podvlake izmeu dijelova od kojih je sastavljen pojam (broj_cipela) ili kombiniranje spomenutih notacija moe se smatrati razlikom u stilu.
Smjernice za komentare
Programski komentari
paziti da komentari budu aurni, tj. da odgovaraju stvarnom stanju ne pretjerivati u pisanju komentara lo kd bolje je iznova napisati, nego (bezuspjeno) pojanjavati komentirati smisao naredbi (izbjegavati "prepriavanje")
Primjeri
PascalCase - poetno slovo svake rijei u imenu je veliko slovo npr. BackColor koristi se kod imenovanja prostora imena, razreda, suelja, pobrojanih tipova, postupaka i svojstava, static, public ili protected atributa identifikator razreda moe zapoeti znakom @ camelCase poetno slovo prve rijei u imenu je malo slovo, poetna slova ostalih rijei u imenu su velika slova npr. backColor koristi se kod zatienih atributa i lokalnih varijabli postupaka Preporuke Imena suelja uobiajeno zapoinju slovom I Koristiti imenice za imena razreda Koristiti glagole za imena postupaka
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 435
Smjernice za komentare
Primjer, komentar u zaglavlju modula
'************************************************************* 'Module: dh69libClient - C:\VbProjs\dh69cd\dh69libClient.bas 'Purpose: Client Library - Transfer related 'Modified: 05.03.2001 by K '************************************************************* 'Public Method TestTransfer 'Public Method SetConnectVars 'Public Method ErrExportImport '... 'Public Const EXCHANGEINPROGRESS 'Public Const CHECKSYSTEMDATE 'Public Const TRYTOEXCHANGELATER '... 'Public Variable ImmediateTransfer '... 'Public Const FTP_APPDIR 'Public Const FTP_DIR '... '*************************************************************
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 437
Smjernice za komentare
Primjer, komentar programskog slijeda i retkovni komentar
hFile = FtpFindFirstFileA(hservice, RemoteFileName, FindData, 0, 0) If hFile = 0 Then '15.06.2000 by K 'enum FTP files to compare Case-Insensitive Dim bFile As Long, FoundFile As String FindData.cFileName = String(MAX_PATH, 0) hFile = FtpFindFirstFileA(hservice, "*.*", FindData, 0, 0) If hFile = 0 Then Exit Function 'empty directory, 05.03.2001 by K
439
440
441
Provjera ispravnosti
Testiranje programa, provjeravanje, ispitivanje programa
provjera programa izvoenjem, uz uporabu ispitnih podataka te analizom rezultata obrade testiranje i ispravljanje pogreaka mora se obavljati redoslijedom kojim su moduli kodirani, uobiajeno s vrha prema dolje cilj testiranja na pogreke je utvrivanje pogreaka odnosno nedostataka unutar programa uspjean test je onaj test koji dokae postojanje pogreke
Provjera ispravnosti
Naini provjere
strukturalno (white-box, clear box testing) provjera kako cjelina radi probni sluajevi izvode se uvidom u programski kd (inspekcija koda) provode programeri funkcionalno (black-box testing) provjera to cjelina radi, to jest da li zadovoljava zahtjeve probni sluajevi izvode se iz specifikacija funkcija provodi osoblje proizvoaa ili korisnici
Vrste testiranja
Testiranje okrajaka (stub testing, unit testing)
testiranje upravljakih struktura i vrijednosti sadranih u kodu ispitivanje pojedinanih cjelina ( Proceduralno programiranje) nedovreni elementi mogu se simulirati ( odresci i pogonski moduli)
Vrste testiranja
Integracijska provjera (integration testing)
Ispitivanje grupa komponenti koje integrirane ine cijeli sustav ili neki njegov dio provjere test korisnikog suelja provjera svake funkcije suelja test sluajeva koritenja provjera svakog pojedinanog sluaja test toka podataka provjera procesa korak-po-korak test suelja sustava provjera prijenosa podataka izmeu sustava ispitivanje provodi nezavisni tim za testiranje testovi su zasnovani na specifikaciji sustava
Vrste testiranja
Test prihvatljivosti (acceptance testing)
test sustava kojim se dokazuje da proizvod zadovoljava korisnike zahtjeve i potrebe organizacije te uvjete pod kojima ga je naruitelj spreman preuzeti iscrpan i konaan test nad stvarnim podacima Alfa-testiranje (alpha testing) - verifikacijsko probna uporaba koju provode korisnici kod izvoaa simulacija stvarnog okruenja traenje pogreaka i propusta Beta-testiranje (beta testing) validacijsko provode korisnici kod sebe, bez nazonosti izvoaa provjera u stvarnim uvjetima
performance sustava vrna optereenja provjera upotrebljivosti i lakoe uporabe metode i procedure izrada rezervnih kopija i oporavak sustava
Plan testiranja
Plan testiranja
testiranje mora biti sustavno, prema unaprijed napravljenom planu koji sadri identifikator programa ili dijela obrade (npr. naziv opcije izbornika ili zaslona) naziv funkcije (npr. unos ili izmjena) vrstu poduzete akcije (npr. potvrda pohrane ili prekid obrade) identifikator ili opis podatka koji se eli obraditi ponaanje programa (npr. neregularni zavretak rada, neispravni podaci, pogrean prikaz podataka), po potrebi oekivani rezultat Primjeri: \Izrada\ObrazacZaTest
Nadzorni test (Audit test) provodi se opcionalno potvrda da je sustav gotov, ispravan i spreman za primjenu provode nezavisne tvrtke ili odjeli za osiguranje kvalitete
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 447
448
Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design, John Wiley & Sons, 2000
Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design, John Wiley & Sons, 2000
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 450
449
Dokumentiranje
Projektna dokumentacija
dokumentira razvoj i proizvode pojedinih faza
Izrada dokumentacije
Software Validation and Verification Plan (SVVP) Software Quality Assurance Plan (SQAP) Software Configuration Management Plan (SCMP) Software Project Management Plan (SPMP) Software Requirements Specification (SRS) Software Design Document (SDD) Source code Software Test Documentation (STD) User's manual
452
Dokumentiranje
Korisnika dokumentacija
pomo korisnicima pri uporabi sustava mora biti prilagoena korisnicima razliitog iskustva upute za uporabu (user manual) instalacijski prirunik (installations manual) detaljni prirunik (reference manual) upute za vjebu (training guide, tutorial) podsjetnici ili kratke upute (quick reference guide, pocket guide, cue cards)
Dokumentiranje
Tehnika dokumentacija
namijenjena tehnikom osoblju potrebna za razumijevanje, izradu i odravanje sustava upravljanje projektom i konfiguracijom sustava plan razvoja specifikacija dizajna opis arhitekture sustava specifikacija suelja prema drugim sustavima programska dokumentacija izvorni kd opis baze podataka probni podaci i rezultati provjere dnevnik promjena programski prirunici instalacijski prirunik opis instalacijske procedure upute za rukovanje i odravanje (operations manual) opis procedura za pokretanje/zaustavljanje (startup/shutdown) opis izrade rezervnih kopija i vraanja podataka (backup, restore) opis postupka ponovnog pokretanja i oporavka (restart, recovery)
453 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 454
Internet adrese
http://www.rspa.com/docs/index.html http://www.construx.com/doc.htm
456
Uvoenje u primjenu
Uvoenje ukljuuje instaliranje opreme, zavrni prijenos podataka te prelazak na novi nain rada. Aktivnosti i preduvjeti
Test sustava
vidi Izrada\Testiranje
Primjena i odravanje
Konverzija sustava
prelazak na novi nain rada evaluacija projekta i sustava
458
Uvoenje u primjenu
Nain uvoenja
Izravno uvoenje (direct installation, abrupt cutover) poetak rada novog sustava uz istovremeni prestanak rada starog sustava provodi se na odreeni dan, uobiajeno datum zavretka poslovnog razdoblja, po mogunosti na kraju tjedna mogui problemi: pojava pogreaka koje nisu bile uoene tijekom testiranja, nepredvieno preoptereenje opreme u punom pogonu nedostatak: neposredna izloenost korisnika pogrekama sustava Paralelno uvoenje (parallel installation, parallel conversion) istovremeni rad starog i novog sustava tako dugo dok se ne pokae da novi sustav ispravno radi i da su se korisnici navikli na novi nain rada bitno manje rizian postupak u odnosu na izravno uvoenje nedostatak: potreba za dvostrukom obradom istih podataka, u starom i u novom novom sustavu otpor korisnika
Uvoenje u primjenu
Korisnici mogu biti raspreni na razliitim lokacijama
Probno uvoenje (pilot installation, location conversion) izravno/paralelno uvoenje sustava na jednoj lokaciji, a zatim i na ostalim lokacijama, nakon to se utvrdi da sustav ispravno radi Postupno uvoenje (phased) uvoenje grupa lokacija Istovremeno (simultaneous conversion) istovremeno uvoenje na svim lokacijama
459
460
Uvoenje u primjenu
Poduka korisnika
tehniko osoblje kranji korisnici
Poduka
Sadraj poduke
Poduka krajnjih korisnika moe ukljuivati: opu informatiku kulturu (npr. uporaba osobnih raunala) funkcije sustava i nain uporabe sustava, to jest koritenje aplikacija poduku iz posebnih znanja potrebnih za obavljanje osnovne djelatnosti (npr. operacijska istraivanja, projektiranje primjenom raunala)
Poduka tehnikog osoblja moe ukljuivati: operacijski sustav i uslune programe administriranje baze podataka programske jezike i pomagala
462
Poduka
Redoslijed poduke
prvo se obavlja poduka tehnikog osoblja koje e odravati sustav i pruati potporu krajnjim korisnicima, da bi se mogla pokrenuti primjena zatim bi trebalo obrazovati (nie) rukovodstvo, da bi se stekla njegova potpora pri poduci ostalih korisnika te tijekom primjene slijedi kolovanje (krajnjih) korisnika, koje treba prilagoditi funkcijama koje oni obavljaju u svakodnevnom radu
Odravanje
Poduku mogu obaviti djelatnici naruitelja (npr. odjel informatike ili grupa za to odabranih i osposobljenih djelatnika) ili vanjski izvoai poduke.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 463
Odravanje i nadgradnja
Odravanje je trajna aktivnost koja zapoinje odmah po uvoenju u primjenu. Bez obzira kako dobro je sustav dizajniran, konstruiran i testiran pogreke e se neizbjeno pojaviti!
Ispravljanje pogreaka u primjeni naziva se odravanjem sustava ili odravanjem programa. Odravanje samo po sebi ne podrazumijeva ugradnju poboljanja ili novih mogunosti, ali se ona uobiajeno provodi.
korektivno
podrazumijeva popravak nakon to se problem pojavio vraanje podataka iz sigurnosne kopije (restore) uklanjanje uzroka pogreke (ispravljanje programa)
adaptivno
prilagodba funkcionalnosti (naina posluivanja) prilagodba strukture (promjene strukture podataka) poboljanje performanci (optimizacija programa)
Tijekom primjene i odravanja obavlja se analiza dodatnih zahtjeva, planiranje i priprema aktivnosti koje slijede te tako zapoinje novi ciklus razvoja. Primjeri: \Primjena
perfektivno
nadgradnja sustava da bi se rijeili novi problemi ugradnja novih mogunosti (features)
465
466
Reinenjerstvo (reengineering)
neke aplikacije teko je odravati (npr. uslijed zastarjelosti tehnologije), a troak odravanja pojedinih aplikacija moe dosei troak izrade novih reinenjerstvo - adaptacija s ciljem smanjenja trokova odravanja prilagodba veim promjenama tehnologije ispravak sustava prije nego to doe do mogueg prekida u radu ispravak sustava koji e biti lake popraviti ako doe do prekida
Editiranje i testiranje
poznavanje programa upravljanje verzijama (version control) razliite inaice u primjeni kod razliitih korisnika mogunost povratka na prethodnu inaicu ako je ta bila bolja regresijsko testiranje ponavljanje svih testova da bi se provjerilo da izmjene nisu uzrokovale nove defekte
Auriranje dokumentacije
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 467 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 468
Upravljanje konfiguracijom
Element konfiguracije (IEEE)
agregacija hardvera i/ili softvera koja se tretira kao jedinka u procesu upravljanja konfiguracijom
Konfiguracija
imenovani skup konfiguracijskih elemenata u odreenoj toki ivotnog ciklusa
Configuration CFG1
1.2
Reinenjerstvo programa
reorganizacija koda restrukturiranje organizacije modula ili programske logike konverzija koda prelazak na novi programski jezik rezanje koda, odsijecanje koda (slicing) izdvajanje dijelova programa radi izrade odvojenog programa ili potprograma
user documentation
1.2
1.1
1.0
README.TXT
1.1
1.0
LICENCE.TXT
1.2
1.1 1.0
1.2
1.1
1.0
1.3
class diagram
Utilities.java
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 470
Verzije konfiguracije
verzija, inaica (version) odreeno izdanje (issue, release) proizvoda objava, isporuka (release) originalna verzija u primjeni, npr. zadnja v2.0 revizija (revision) ona koja se koristi umjesto originalne, podrazumijeva izmjene u odreenim vremenskim intervalima, npr. V1.2 varijanta (variant) alternativa originalu (hardverska platforma, razliiti jezik), ivi paralelno s njim, npr. v1.1.2.1
V 1.0
V 1.1
V 1.2
V 2.0
V 1.1.2.1
V 1.1.2.2
V 1.1.4.1
V 1.1.4.2
471
472
Modaliteti izgradnje
Najee meufaza izmeu Analize i Oblikovanja
473
Vlastiti razvoj
Vlastiti razvoj (Insourcing)
Varijante Razvoj vlastitim informatikim snagama (in-house), koji moe sadravati osposobljavanje i angairanje netehnikog osoblja Razvoj unajmljenim osobljem povremeno ili dugorono (buy-in, preferred supplier), npr. PBZ Prednosti fleksibilnost i kreativnost poveanje strunosti vlastitog osoblja Nedostaci zahtijeva znaajno vrijeme i napor skuplje, dugotrajnije moe poveati gomilanje zaostalog posla
Vanjski razvoj
Vanjski razvoj (Outsourcing)
najam usluge razvoja informacijskog sustava ili njegovih dijelova izobrazba djelatnika informatike struke pomo pri analizi i oblikovanju ili provedba analize i oblikovanja kodiranje (generiranje) cjelovitog programskog sustava upravljanje provedbom i/ili nadzor provedbe konzultativna pomo prilikom ugradnje sloenih poslovnih funkcija Varijante: Ugovoreni razvoj - ugovara se isporuka gotovog proizvoda (contract out) Dugorona suradnja s isporuiteljem ili izdvajanje vlastitog informatikog odjela u preferiranog izvoaa (preferred contractor) stratekog partnera (pr. Agencija) Prednosti IS ili njegovi dijelovi izrauju se po mjeri naruitelja
sustav je prilagoen organizaciji/poslovanju po mogunosti treba istovremeno poboljati organizaciju/poslovanje
razvoj podrazumijeva dugotrajan postupak i sukladno visoku cijenu Nedostaci i rizici gubitak povjerljivih informacija gubitak nadzora nad sadanjim i/ili buduim razvojem (zavisnost o dobavljau) gubitak vlastite strunosti
Nuno je da upravljanje projektom informatizacije na sebe preuzme vlastito kompetentno osoblje koje ima mogunost odluivanja.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 476
Aplikacijski paketi
programski paketi za uredsko poslovanje (office automation), npr. Microsoft Office programi za upravljanje dokumentima (document management), npr. Lotus Domino specijalistike aplikacije za odreene namjene
Dodatni kriteriji
Otvorenost sustava (Portabilnost, interoperabilnost) Tehnike mogunosti (Client-Server, OLTP, OLAP, ...) tehnike konzultacije, odravanje (dinamika razvoja i mogunosti nabavke novih verzija), promptno otklanjanje problema, ponuda gotovih aplikacija, pomo u razvoju vlastitih aplikacija
479
480
Preporuke korisnicima
Izvedbeni kd treba preporuiti onda
kad se radi o standardnim, masovno prodavanim aplikacijama kad korisnik nema vlastite informatike strunjake kad se radi o visokostrunim aplikacijama koje se nee mnogo mijenjati, a korisnik se nema namjeru baviti detaljima te struke kad korisnik nema novaca ili elje za vlastiti informatiki razvoj
Snienje cijene izvornog koda moe se postii automatizacijom kodiranja, uporabom generatora izvornog koda.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 481
Odabir rjeenja
Odreivanje moguih rjeenja
Identifikacija rjeenja na temelju poslovnih zahtjeva postavljenih tijekom analize Ulazi: specifikacija raunalne opreme i programske podrke te odabrana tehnoloka arhitektura Izlazi: mogua rjeenja novog sustava i njihove karakteristike
484
Ocjenjivanje kriterija
Na temelju opisa karakteristika ne moe sa sigurnou procijeniti koji je sustav najbolji.
Koristi se sustav bodovanja da bi se usporedio znaaj razliitih kriterija.
Rad s razliitim pisaima Rad u mrei Vrijeme obuke korisnika Arhiviranje podataka Upotreba konfiguracije za druge poslove Broj instaliranih paketa Datum prve instalacije Cijena paketa Cijena raunala i sistemskog softvera Ukupno bodova: 485
S i = sij w j
j =1
to uiniti kada su sustavi (pod)jednako bodovani ? to uiniti ako pojedino svojstvo ima vie podsvojstava ?
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Izbor dobavljaa
Definiranje kriterija i opcija
Ulazi: specifikacije zahtjeva na programsku podrku i raunalnu opremu funkcionalnost, dodatna svojstva, kljuni parametri performanci Izlazi: lista potencijalnih dobavljaa, proizvoda ili usluga te kriteriji za odabir
Odabir ponuda
provjera sadraja ponuda izrada rang liste, poeljno odvojenim ocjenjivanjem pojedinanih ponuda odabir objektivno najboljeg ponuaa To se naalost vrlo teko uklapa u zakonske odredbe po kojima treba tono specificirati to se eli a mora se kupiti najjeftinije.
487
488
490
Analiza
Analiza
Oblikovanje
Oblikovanje
Strukturni (radikalni)
aktivnosti razliitih faza mogu se obavljati istovremeno koritenje rjenika podataka, 4GL i generatora aplikacija prikladan kada se unaprijed ne zna konani izgled sustava mora nastati (papirnati) model sustava
Izrada
Izrada
Evaluacija
Evaluacija
Primjena
Primjena
491
492
V model
Validacija
Analiza Scenariji aplikacije Test prihvatljivosti
Verifikacija
Specifikacija zahtjeva
Testirani sustav
Strukturno oblikovanje
Ogledni sluajevi
Integracija sustava
Model sustava
Testirani softver
Prototip koji postupno, inkrementanlnom doradom -bistrenjem (stepwise refinement) postaje dio zavrnog IS
podrazumijeva iterativni pristup, obino koritenjem 4GL radni model (working model) daje se na uvid korisniku omoguuje korisniku stvaranje slike o izgledu sustava korisnik daje primjedbe za popravak i poboljanja stjee se bolja slika o zahtjevima korisnika uklanjaju se mogua iznenaenja na kraju razvoja
493 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 494
definiraju se rezultati (proizvodi) pojedinih faza koji se prosljeuju u slijedee faze odreuju se rezultati kojima se testiraju elementi IS na razliitim stupnjevima razvoja
Detaljno oblikovanje
Ogledni sluajevi
Integracija modula
Dizajn modula
Testirani moduli
Kodiranje i testiranje
Odreivanje zahtjeva
Dizajn prototipa
Izrada prototipa
Razvoj prototipa
Radni sustav
495
496
Evolucijski model
Primjena IS mijenja pogled korisnika, a njegove potrebe se mijenjaju (rastu) tijekom primjene. Informacijski sustav raste s organizacijom koju podrava. Udruivanje brzog i ogranienog prototipiranja
izrada u inkrementalnim koracima, dovoljno malim da se mogu obaviti prototipski slijedovi razvojnih aktivnosti - svaki od slijedova vodi operabilnom proizvodu koji se isporuuje i generira daljnje zahtjeve
Analiza Oblikovanje Izrada Evaluacija
Spiralni model
Na poetku svake faze provodi se procjena rizika (risk analysis)
nastoji se utvditi mogue rizike i razrijeiti ih prije nastavka (uklanjanjem ili svoenjem na najmanju moguu mjeru)
PRIMJENA
Analiza
Oblikovanje
Izrada
Evaluacija
Analiza
Oblikovanje
Izrada
Evaluacija
Analiza rizika --------------------------INTEGRACIJA --------------------------Testiranje
Analiza
Oblikovanje
Izrada
Evaluacija
497
498
Spiralni model
Spiralni prikaz
radijalna koordinata predstavlja kumulativni troak svaka petlja spirale od osi X predstavlja jednu fazu razvoja faza moe biti realizirana slijedno, prototipski ili evolucijski odluka o nastavku razvoja donosi se prolaskom kroz os X
kumulativni troak 4 4 4 4 1 1 1 1 integracija izrada oblikovanje analiza
Spiralni model
2 2 2 2
499 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 500
1. Analiza rizika, procjena alternativa 2. Razvoj i verifikacija sljedeeg "produkta" 3. Planiranje sljedee faze 3 4. Pregled - Odreivanje ciljeva, alternativa i ogranienja
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Spiralni model
Primjeri rizika:
rizik da isporueni produkt nee odgovarati stvarnim zahtjevima izrada prototipa kao dio faze odreivanja zahtjeva rizik da e cijena izrade premaiti korist ostvarenu uporabom provoenje analize trokova-koristi (cost-benefit) prije provoenja svake pojedine faze
Metodologije
Metodologija (methodology) = metoda + idejni pristup
Kolekcija procedura, tehnika, alata i dokumentacijskih pomagala, potkrijepljenih filozofijom, koji potpomau izgradnju informacijskog sustava [Avison & Fitzgerald, 1995] Skup naela izrade IS, koji se u odreenoj situaciji svodi na metodu jedinstveno prikladnu toj situaciji [Checkland] razraen "plan bitke" ili "kuharica" za postizanje eljenog rezultata
Primjena:
interni projekti (naruitelj i izvoa iz iste organizacije) izgradnja velikih sustava (trokovi izrade malih sustava su mali) kada provoenje analize rizika ne predstavlja preveliki relativni troak (npr. za projekte iznad 25 kUSD)
Komponente metodologije
A methodology will consist of phases, themselves consisting of subphases, which will guide the systems developers in their choice of techniques that might be appropriate at each stage of the project and also help manage, control and evaluate system projects. [Avison & Fitzgerald, 1995] etape, stadiji projekta zadaci za svaki pojedini stadij izlazi (projektna dokumentacija) preporuke (vodi) uporabe odabranih tehnika i pomagala nain upravljanja projektom i nadzora projekta
501 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 502
Uloga metodologija
Cilj metodologija
omoguiti sustavni postupak razvoja kojem e se moi pratiti napredak uspostaviti komunikaciju izmeu sudionika ukljuenih u izgradnju IS (poslovodstvo, korisnici, analitiari, programeri ) osigurati skup tehnika koji e omoguiti da se zadaci izvravaju na standardne i provjerene naine osigurati uinkovit nadzor sa ciljem uoavanja pogreaka u ranim fazama omoguiti elastine promjene poslovanja i tehnologije (npr. odvajanjem analize i oblikovanja) uokviriti razvojnu strategiju kojom e se ukloniti ad hoc rjeavanje problema odrediti ili ukazati kada i u kojoj mjeri je potrebno ukljuivanje korisnika, te poticati i omoguiti ukljuivanje korisnika kada se za to ukae potreba osigurati da se dovoljno panje posveti analizi poslovanja, ime e se osigurati izrada sustava koji odgovara poslovanju i zahtjevima korisnika
Uloga metodologija
Jeftinije je otkriti i popraviti pogreku u ranim fazama, jer:
lake je popraviti dokumentaciju nego mijenjati programski kd izmjene u kasnijim fazama zahtijevaju promjene rezultata prethodnih faza lake je pronai pogreku tijekom faze u kojoj je nastala, nego traiti je i popravljati na temelju posljedinih uinaka primijeenih u kasnijim fazama
C i j e n a
D e si g n 6%
R e q u ir e m e n t s 4% P ro b le m D e f 3%
P la n n in g 2%
M a inten a nc e 6 7 %
Pristup razvoju
Tijekom projektiranja IS izrauju se uglavnom sve vrste modela, ali se razlikuje pristup razvoju pojedinih metoda (metodologija). Usmjerenost procesima (npr. SA/SD)
za korisnika jednostavniji pristup omoguuje opisivanje specifinih funkcija problem odreivanja razine dekompozicije (razine osnovnih procesa) nedovoljna panja modelu podataka, koja za posljedicu moe imati neodgovarajui model baze podataka i oteanu integraciju aplikacija uslijed nekompatibilnih podataka
Komercijalne metodologije
Neke strukturirane metodologije:
AD/Cycle (Application Development Cycle) BSP (Business System Planning) CASE*Method IEM (Information Engineering Methodology, Martin) JSD/JSP (Jackson System Development / Jackson System Programming) SA/SD (Structured Analysis / Structured Design) SASS (Structured Analysis and System Specification) SSM/M (Soft Systems Method / Multiview) SSA (Structured System Analysis) SSADM (Structured System Analysis and Design Method) Yourdon (Yourdon Structured Method)
Komercijalne metodologije
Kuhanje po kuharici (receptu) ne znai da e jelo biti dobro!
Zahtjevi se mogu mijenjati u vremenu. Preporuene aktivnosti ne moraju uvijek biti prikladne, primjenjive ili potrebne. Inzistiranje na provoenju propisanih procedura vodi u zanemarivanje stvarnih problema, to za posljedicu moe imati formalno dobro napravljen, a neuspjean sustav.
Veina metodologija namijenjena je analizi i oblikovanju. Rijetke podupiru sve faze ivotnog ciklusa (npr. IEM). Metodologije bi trebale biti podrane odgovarajuim alatima za upravljanje i projektiranje (CASE), to nije uvijek ispunjeno u praksi. Alternative komercijalnim metodologijama
zdrav razum najbolje dokazano u praksi - "Best practices" preice do rjeenja problema temeljene na temelju slinih iskustava - "Rules of thumb" prilagodba razvojnog procesa http://www.rspa.com/apm/index.html
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 507
Moderni postupci
RAD se obavlja malim ekipama za 60-120 dana (priblino 4*5=20 tjedana), nad podsustavima veliine 25-30 tablica Cijena postignutog ubrzanja moe biti gubitak pregleda nad cjelinom sustava. Treba pripaziti da brzina ne postane sebi svrhom, jer tada vodi u improvizaciju (izradu prirunih rjeenja) i prljavi razvoj.
Informacijsko inenjerstvo
Information Engineering (IE)
IE zasniva se na analizi poslovnih zahtjeva iz koje se izdvajaju aplikacije IS i prioriteti tih aplikacija. Aplikacije postaju projekti u kojima se provode postupci analize i dizajna da bi se razvili produkcijski sustavi.
Tjedni 10-14
Razvoj i testiranje Priprema konverzije Planiranje zavretka
Tjedni 15-20
Izrada dokumentacije, priprema poduke Poduka Zavrno testiranje Zavretak projekta
Tjedni 5-9
Prva JAD sjednica Poetak dizajna Konsolidacija JAD dizajna i prototipa Prototipovi za test uporabljivosti Druga JAD sjednica Zavretak dizajna
Znaajke IE
Podatkovno usmjerena ali procesno osjetljiva tehnika koja se primjenjuje na organizaciju kao cjelinu ili na neki njezin znaajni dio, za razliku od klasine strukturne analize koja se odvija projekt-po-projekt Osnovno naelo jest da se IS moraju graditi kao to se grade drugi unikatni proizvodi, npr. u graditeljstvu ili brodogradnji.
511
512
Informacijsko inenjerstvo
Faze IE
Planiranje strategije IS - Information Strategy Planning (ISP) promatranje poslovanja kao cjeline s ciljem definiranja opeg, sveobuhvatnog plana i arhitekture za slijedni razvoj informacijskih (pod)sustava izdvajanje poslovnih podruja i pridjeljivanje prioriteta
poslovno podruje skup poslovnih procesa koji se proteu organizacijom (crossorganizational business processes) a moraju biti visoko integrirani da bi se ostvarila strategija ili misija
Analiza poslovnih podruja - Business Area Analysis (BAA) prouavanje poslovnih podruja i definiranje poslovnih zahtjeva za visoko organizirani i integrirani skup informacijskih (pod)sustava i aplikacija potpore poslovnog podruja Definiranje aplikacija izdvajanje aplikacija i definiranje njihovih prioriteta na temelju analize poslovnih podruja aplikacije postaju projekti u kojima se primjenjuju drugi postupci analize i dizajna
Jednostavnost (simplicity).
Dijelovi softvera, kao i njegova cjelokupna arhitektura moraju u svakoj fazi projekta biti jednostavni. Jednostavnost se ostvaruje kontinuiranim refactoring-om i svoenjem projektne dokumentacije na minimalnu prihvatljivu razinu.
U XP hrabrost podrazumijeva sposobnost provoenja tekih odluka (npr. odbacivanja dijelova koda kada je to neophodno ili nametanja velikih promjena u kasnoj fazi projekta) ili odluka koje u danom trenutku nisu pretjerano popularne. Takoer, hrabrost podrazumijeva meusobnu iskrenost svih lanova projektnog tima.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 514
XP tehnike
"Svakodnevne prakse" Igra planiranja (The Planning Game).
XP uvaava mogunost promjene specifikacija koje definiraju funkcionalnost sustava. prihvati promjenu! (embrace change!) jedan od osnovnih XP postulata Igra planiranja definira funkcionalnosti sljedee verzije, prije nego to njen razvoj stvarno i pone. U poetku se kreira grubi plan koji se redefinira kroz razgovore s naruiteljima i korisnicima. Korisnici se izraavaju "priama", tako da svaka pria definira jedan dio funkcionalnosti sustava. Priama se dodjeljuju prioriteti i ciljano vrijeme implementacije. (1-3 tjedna po zahtjevu)
XP tehnike
Jednostavan dizajn (Simple Design).
Najei argument osporavatelja XP-a, koji tvrde da XP zanemaruje dizajn sustava. A zapravo, dizajn arhitekture sustava je kontinuirani proces koji se u malim koracima odvija tijekom itavog razvoja.
Testiranje (Testing).
testovi komponenti (unit testing) testovi prihvatljivosti (acceptance testing)
516
XP tehnike
Zajedniko vlasnitvo (Collective Ownership).
Svi razvojni inenjeri koji sudjeluju u razvoju projekta imaju pravo mijenjati bilo koji njegov dio u bilo kojem trenutku.
517
518
Inception
Elaboration
Construction
Transition
Elaboracija (Elaboration)
prikupljanje detaljnih zahtjeva (80%) globalna (high-level) analiza i dizajn ustanovljavanje osnovne arhitekture planiranje konstrukcije
Prijelaz (Transition)
beta testiranje, podeavanje performansi, poduka korisnika provjera prihvatljivosti i zadovoljstva korisnika
Post-implementacija (Post-deployment)
nastavak evolucijskog razvoja uz ouvanje integriteta aplikacije
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 519
Increments
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 520
Odreivanje iteracija
Broj i trajanje iteracija
za projekte do 18 mjeseci, otprilike 3 do 6 iteracija uobiajeno podjednakog trajanja mogu varirati ovisno o fazi (u konstrukciji due)
Prva iteracija
najee najtea zahtijeva pripremu okruenja, ekipe i posla opasna zbog mogue pretjeranog optimizma ako se krivo procijeni moe izazvati pomake i neeljene uinke (smanjenje broja iteracija, ukupno slabije rezultate)
521
Funkcionalna organizacija
osoblje organizirano po funkcionalnim odgovornostima pojedina funkcija moe podupirati vie razliitih projekata prednosti: potpomae specijalizaciju (poveanje broja specijalista) nedostatci: smanjuje osjeaj pripadnosti projektu, tj. koheziju projekta
Matrina organizacija
u osnovi funkcionalna, osoblje izmijeano u razliitim projektima prednosti: projektna komponenta pogoduje uspjenosti projekta funkcionalna komponenta pogoduje poveanju specijalizacije nedostatak: mogui sukob interesa
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 523 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 524
Razvoj ekipe
Razvoj ekipe (Forming, Storming, Norming, Performing)
Formiranje ljubaznost, nesklonost iznoenju stavova, preputanje voenju "Jurianje" nesloga, sukob osobnosti, grupaenje/stranarstvo, pomanjkanje kvalitetne komunikacije, nesposobnost dogovaranja Normiranje uvianje dobrih strana zajednikog rada, uvaavanje Predstavljanje, djelovanje povezivanje u uinkovitu operativnu grupu
Performing Group effectiveness Forming
Modeli ekipa
Klasina organizacija ekipe (Chief Programmer Team)
glavni programer (chief programmer) utjelovljuje znanje i odluivanje ekipe mora istovremeno biti dobar (vrhunski) programer i voditelj u poboljanoj (revidiranoj) organizaciji ima ulogu voditelja ekipe rezervni programer (backup programmer) slui kao zamjena za nekog od mlaih (junior) programera u poboljanoj (revidiranoj) organizaciji ima ulogu pomonika voditelja
Administrator
Norming
Storming
Group effort
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 525 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 526
Modeli ekipa
Moderna organizacija ekipe (4GL ekipa)
voditelj projekta (project leader) vii sistem analitiar suradnja s korisnikom (user liason) poslovni analitiar konceptualno i logiko oblikovanje sistem analitiar isporuka sustava/aplikacija poslovni analitiar nabava i pogon opreme sistem inenjer za raunala mreni servisi sistem inenjer za komunikacije programsko inenjerstvo programer-analitiar izrada dokumentacije urednik/pisac (editor / technical writer) potporno osoblje: administrativni koordinator, tehniari, inovnici
Modeli ekipa
Elastini model ekipe
upravitelj ekipe upravljanje osobljem (plae, reije) voditelj ekipe upravljanje razvojem (organizacija posla) projektant (analitiar-programer) analiza, oblikovanje i izvedba programer (programer aplikacija) kodiranje, testiranje administrator baze podataka administriranje baze podataka sistem inenjer(i) odravanje mree i raunala
Ovakav model ekipe moe se primijeniti bez obzira na mogue razliitu sistematizaciju radnih mjesta u nekoj organizaciji.
527
528
Upravljanje projektom
lanovi ekipe
529
Upravljanje projektom
Upravljanje projektom (Project management)
plan, staff, organize, schedule, direct, control Proces organiziranja, planiranja, upravljanja i nadzora razvoja sustava kojim e se postii prava funkcionalnost, na vrijeme i uz minimalne trokove. Ukljuuje razliite aspekte: plan Koje aktivnosti i u kojem vremenskom razdoblju treba obaviti? sredstva/resursi Koji su kadrovi (osoblje) i oprema potrebni? organizacija Koji je odnos pojedinih resursa? raspored Koji je redoslijed aktivnosti? upravljanje Kako usmjeriti i motivirati izvoae (ekipu)? nadzor Potuje li se plan? Elementi plana Veliina projekta: funkcijske toke, broj linija koda Napor izrade: ovjek-mjeseci Vrijeme izrade: mjeseci
Upravljanje projektom
Planiranje projekta (planning)
odrediti doseg, vremenski raspored i financijska sredstva identificirati pokroviteljstvo (sponsorship) kao jamstvo provedbe izabrati upravitelja/voditelja projekta odabrati alate za upravljanje projektom pokrenuti projekt
Izgradnja IS je posao koji se, unato posebnostima, obavlja kao neki drugi inenjerski poslovi, u planiranom vremenu i s planiranim resursima.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 531
Planiranje projekata
Zato planirati?
Ako neto moe poi krivo, poi e krivo u najgore vrijeme i na najgorem mjestu (Murphyjev zakon) Murphy je bio optimist (Grimmov korolar)
Planiranje projekta
Izrada plana
utvrditi kljune aktivnosti i dogaaje odrediti vremenski redoslijed aktivnosti i dogaaja utvrditi potrebna sredstva pripisati/racionalizirati pripadne trokove povezati pojedine pod-projekte/poslove u glavni projekt iterativno razraditi plan revidirati plan sukladno postojeem iskustvu/saznanjima
to je plan (a to nije)
plan ne predstavlja izvjesnost ili neto to e se zacijelo dogoditi plan je naa najbolja procjena, zasnovana na pretpostavkama i iskustvu elementi plana: aktivnosti, kljuni dogaaji (milestones), resursi (sredstva), trokovi
110 days Mon 16.05.05 5 wks Mon 16.05.05 6 wks Mon 20.06.05 6 wks Mon 20.06.05 2 wks Mon 01.08.05 0 days
Fri 12.08.05 Fri 12.08.05 5 May '05 Jun '05 Jul '05 Aug '05 Sep '05 Oct '05 5.5 wks Mon 15.08.05 Wed 21.09.05 6 25 02 09 16 23 30 06 13 20 27 04 11 18 25 01 08 15 22 29 05 12 19 26 03 10 5 wks Mon 15.08.05 Fri 16.09.05 6 3 wks Mon 19.09.05 1 wk Mon 10.10.05 Fri 07.10.05 8 Ana;Prog Fri 14.10.05 7;9
2.5 w ks
Kontrolna toka
Milestone Date: Fri 12.08.05 ID: 6
Korisnika dokumentacija
Start: 15.08.05 Finish: 21.09.05 Res: Prog ID: 7 Dur: 5.5 wks
Instalacija
Start: 10.10.05 Finish: 14.10.05 Res: Prog ID: 10 Dur: 1 wk
Testiranje
Start: 19.09.05 Finish: 07.10.05 Res: Prog ID: 9 Dur: 3 wks
535
536
Izrada plana
Definiranje zadataka i njihove meuzavisnosti
Primjer: zadatak T3 (npr. ugradnja komponenti) ovisi o zadatku T1 (npr. oblikovanje komponenti) oblikovanje mora biti zavreno prije ugradnje.
Zadaci T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 Trajanje (u danima) 8 15 15 10 10 5 20 25 15 15 7 10 Ovisnosti T1(M1) T2,T4(M2) T1,T2 (M3) T1(M1) T4(M5) T3,T6 (M4) T5,T7 (M7) T9 (M6) T11 (M8)
Assigned
Plan Date
Actual Date
Status
537
538
Izrada plana
Izrada mrenog plana na temelju definiranih zadataka i zavisnosti
Aktivna mrea ita se s desna na lijevo. Sve aktivnosti moraju zavravati u kljunim tokama (M1 ,M2, M3, M4...). Tek kad se uspjeno prijee kljuna toka moe se zapoeti sa sljedeom aktivnosti. Npr. zadatak T9, ne moe zapoeti sve dok zadaci T3 i T6 nisu zavreni. Dolazak na toku M4 pokazuje da su ti zadaci dovreni.
14/7/02
M1
Izrada plana
Kritini put
Minimalno vrijeme potrebno za zavretak projekta moe se procjenjivati prema najduem putu na aktivnoj mrei (kritini put). U ovom primjeru to je 11 tjedana ili 55 radnih dana. (T1-T3-T9-T11-T12) Prekoraenje vremenskog roka najee je vezano uz kritini put Aktivnosti koje kasne, a ne lee na kritinom putu ne bi trebale uzrokovati vremensko prekoraenje (npr. ako T8 kasni ne bi trebalo utjecati krajnji datum jer T8 ne lei na kritinom putu).
14/7/02
M1
T3
4/8/02
M4
T9
T1 4/7/02
Start
25/8/02
M6
25/7/02
M3
T3
T6 T11
T1
4/8/02
M4
T9
25/8/02
M6
25/7/02
M3
T2
T7 25/7/02
M2
5/9/02 11/8/02 T5
M7 M8
4/7/02
Start
T6 T11 T7
T2
25/7/02
M2
5/9/02 11/8/02 T5
M7 M8
T4
18/7/02
M5
T10
T10
T4
19/9/02 T8
Kraj
18/7/02
M5
T10
T10 19/9/02
T8
539 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07.
Kraj
540
Prikaz plana
Gantogram je alternativni nain prikaza vremenskog rasporeda
Vidimo da su neke od aktivnosti oznaene i zasjenjenim linijama to pokazuje da postoji odreena fleksibilnost u datumu njihova zavravanja. Ako se aktivnost ne zavri na vrijeme kritini put nee biti ugroen sve do zavretka zasjenjene linije.
4 /7 1 1 /7 1 8 /7 2 5 /7 1 /8
S ta rt T4 T1 T2 M1 T7 T3 M5 May '05 Jul '05 Aug '05 Sep '05 Oct '05 Nov T 8 Jun '05 18 25 02 09 16 23 30 06 13 320 27 04 11 18 25 01 08 15 22 29 05 12 19 26 03 10 17 24 31 0 M M2 T6 T5 M4 T9 M7 T 10 2.5 w ks M6 T 11 M8 T 12 F in is h
Raspodjela zadataka
tapiasti dijagram takoer pokazuje razdoblje u kojima je osoblje angairano na projektu
Angaman ne mora biti kontinuiran osobe mogu raditi na drugim projektima, ii na odmor ili obavljati neke druge aktivnosti.
Zadaci T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 Inenjer Anita Ana Anita Josip Jure Ana Igor Josip Anita Ana Josip Josip
8 /8 1 5 /8 2 2 /8 2 9 /8 5 /9 1 2 /9 1 9 /9
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
Josip T4 T8 T11
T12
Anita T1
T3
T9 T6 T7 T5 T10
541
542
Evidencija projekta
Planovi, upravljanje, praenje napretka, povijest projekta
Primjeri: \Upravljanje\* Drugi planovi ( Dokumentiranje)
1. Introduction
1.1 Project Overview 1.2 Project Deliverables 1.3 Evolution of the Software Project Management Plan 1.4 Reference Materials 1.5 Definitions and Acronyms
IEEE Standard for Software Project Management Plans 10582. Project Organization 1998 2.1 Process Model 2.2 Organizational Structure Primjer, izvedenica
3. Managerial Process
2.3 Organizational Boundaries and Interfaces 2.4 Project Responsibilities 3.1 Management Objectives and Priorities 3.2 Assumptions, Dependencies, and Constraints 3.3 Risk Management 3.4 Monitoring and Controlling Mechanisms 3.5 Staffing Plan
Dokumentiranje plana
Primjeri: \Dokumentacija
4. Technical Process
4.1 Methods, Tools, and Techniques 4.2 Software Documentation 4.3 Project Support Functions
545
546
b Voditelj projekta
a lan ekipe
Postavljanje projektnih ogranienja Napraviti poetnu procjenu projektnih parametara Definiranje kljunih toaka i izvjetavanje while projekt nije zavren ili otkazan loop Nacrtaj vremenski raspored projekta Podijeli aktivnosti prema vremenskom rasporedu ekaj Provjeri napredak projekta Revizija procijenjenih projektnih parametara Auriranje vremenskog rasporeda projekta Provjeri projektna ogranienja i izvjetaje If (poveanje problema) then Ponovni tehniki pregled i mogua revizija end if end loop
UlogaOsobe RbrUlogaOsobe: KratProjekt: NOT NULL Osoba: NOT NULL KratUloga: NOT NULL
Partner KratPartner: NOT NULL NazPartner: TipPartner: NOT NULL MBR: Email: URL: OpisPartner:
Osoba: NOT NULL DatPosao: NOT NULL KratProjekt: NOT NULL KratPosao: NOT NULL Sati: NOT NULL OpisPosao: RbrZadatak: CijenaSata: NOT NULL rbr_posao:
Osoba Osoba: NOT NULL OznStatOsoba: Password: Rodjen: Zanimanje: Zvanje: SifDjelatnika: SifZnanstvenika:
Zadatak
Izvritelji
Planirani poetak
Planirani zavretak
% ispunjenja
Stvarni zavretak
Kanjenje Komentar
547
548
Nadzor napretka
549
550
Kolaboracija
Komunikacija
verbalna: brzo sluaj i misli - sporo i jasno govori, biljei izreeno pisana: sadraj, forma (predloci), uestalost elektronika: E-mail, Chat, News obavjeivanje: pismenim putem, elektronikom potom (CC, BCC) pohrana informacija: mreno kazalo, FTP kazalo, web posluitelj organizacija kazala: Admin, Materijali, Projekt, Backup, Tmp, itd.
Sastanci
upoznavanje s trenutnim stanjem, realizacijom plana i daljnjim poslovima razmatranje problema, predlaganje naina i redoslijeda njihovog rjeavanja jednom tjedno po 15 min., unaprijed dogovorenog dana, najbolje na poetku tjedna jednom mjeseno po 1 sat, prvog radnog dana u mjesecu (npr. ponedjeljak) po potrebi se mogu sazvati i izvan dogovorenih termina poeljno je da se povremeno odre uz sudjelovanje nadreenih
553
554
Raspodjela uspjeha
Kriteriji za procjenu doprinosa lanova
uloeni trud (vrijeme) rezultati rada (korisnost, kvaliteta proizvoda i zadovoljstvo korisnika) objektivna teina posla (vrsta, uvjeti, intenzitet i trajanje) pristup radu (zalaganje, samoinicijativa, kooperativnost, odgovornost) sposobnost (svestranost, samostalnost)
JEZICI I POMAGALA
560
562
563
564
Uz neproceduralne, mnogi 4GL raspolau proceduralnim naredbama da bi se omoguila ugradnja proceduralnih rjeenja.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 567
568
569
570
571
572
Uinkovitost kodiranja
izradi se pristupa u ranoj fazi razvoja (prototipski nain rada) bitno ubrzana izrada (neproceduralna sintaksa, generatori koda) poveanje uinkovitosti 6-60 puta (ne i skraenje vremena izrade!!!)
CASE
CASE
eng. Computer Aided Software Engineering eng. Computer Aided System Engineering
CAISE
CASE pomagala
576
CASE pomagala
CASE pomagalo
programski sustav za pomo pri izgradnji IS i razvoju programske opreme
CASE pomagala
Gornji CASE (Upper CASE, Front-End CASE)
Automatizacija ili podrka ranih faza - planiranje, analiza i konceptualno oblikovanje koristi se za definiranje zahtjeva i izradu modela IS neki alati podupiru reinenjerstvo poslovnih procesa, analizu isplativosti IS, planiranje prioriteta i dinamike razvoja te potreba za raunalnom opremom raunalom podrano planiranje (Computer Aided Planning) analiza i dizajn, najee konceptualno i logiko oblikovanje oblikovanje baza podataka, prevoenje modela u 3NF generiranje sheme BP (SQL naredbe)
Osnovne komponente
rjenik podataka (data dictionary), meta-baza (meta-base) ili riznica (repository) za pohranu modela suelje za izradu dijagrama i rukovanje meta-podacima posebni dijelovi koji vode brigu o usklaivanju promjena nainjenih na razliitim razinama ralambe modela ili u razliitim modelima.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 577 FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 578
CASE pomagala
Donji CASE (Lower CASE, Back-End CASE)
potpora kasnijim fazama razvoja: detaljni dizajn, konstrukcija, ugradnja, odravanje generatori programske opreme (application generator, code generator) alati za odravanje programske opreme (version control) i prepravke (reengineering) alati za izradu programske dokumentacije (documentation tool) alati za povratno inenjerstvo (reverse engineering), npr. analizatori izvornog koda, alati za restrukturiranje koda neki alati podupiru prototipni nain rada oblikovanjem zaslonskih maski i izvjea te simuliranjem rada programa, npr. ProtoGen, CASE za metodu vizualne izrade prototipa (visual prototyping method)
CASE pomagala
Integrirana CASE pomagala (ICASE - Integrated CASE)
cjeloviti CASE sustavi koji pokrivaju sve faze razvoja, a sadre i dodatne module za povratno inenjerstvo, nadzor i upravljanje izvedbom te osiguranje kakvoe IS potpuno integrirano CASE okruenje automatizira izradu modela organizacije, planiranje razvoja IS te izgradnju i primjenu IS integracija alata ostvaruje se usvajanjem pravila odreene metode razvoja, uporabom zajednikog rjenika podataka i zajednikog suelja te automatiziranim prosljeivanjem informacija iz jedne faze razvoja u drugu.
Smatra se da je samo 25-30% specifikacija prenosivo iz gornjeg u donji CASE, to predstavlja ozbiljnu prepreku potpuno automatiziranoj izradi programske opreme.
579
580
Mogunost CASE pomagala da automatski generira izvorni kd na osnovu opisa sustava obrnuto razmjerna broju metoda i tehnika ugraenih u pomagalo.
Preporua se koristiti dobar gornji CASE za poetne faze razvoja, model prenijeti u rjenik podataka donjeg CASE alata, a zatim nastaviti s ostalim fazama.
581
582
Preporuke
Nuno je odabrati alat koji generira izvorni kod i/ili dozvoljava rune zahvate. Poeljno je koristiti alat koji omoguuje upravljanu izmjenu generiranog koda i odravanje naknadno runo nainjenih izmjena Naalost, ovakvi proizvodi jo uvijek su rijetkost!
583
584
Primjer OO alata
Rational ROSE - potpora OO metodama (UML, OMT, Booch )
585
586
Reverzno inenjerstvo
http://www.visual-paradigm.com
587
588
589
590
591
592
Web adrese
Internet adrese openito
http://www.qucis.queensu.ca/Software-Engineering/tools.html http://www.pittarese.com/Auburn/cse625/case.htm
SAETAK NAELA IS
UML i alati
http://www.omg.org/uml/ http://www.intelinfo.com http://www.objecteering.com/ http://www.proxysource.com/ http://argouml.tigris.org/ http://www.sparxsystems.com.au/
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 593
Reference
Awad A.M. (1985): System Analysis and Design, Irwin.
Avison, D.E. & Fitzgerald, G. (1998) Information Systems development: methodologies, techniques and tools. 2nd. ed. McGraw-Hill. Blum, B.I. (1994) A taxonomy of software development methods. Comm. of the ACM, vol. 37 (no. 11), 82-94. Boehm, B.W. (1983), Seven Basic Principles of Software Engineering, Journal of Systems & Software, 3(1) | March 1983, pp. 3-24. Brooks, F.P. (1975). The Mythical Man Month. AddisonWesley. Brooks, F.P. (1987) No silver bullet: essence and accidents of software engineering. Computer vol.20 (no 4), 10-19. Cameron, J.R., Campbell, A. & Ward, P.T. (1991) Comparing software development methods: example. Information and Software Technology, Vol 33 (no. 6) 386 - 402. IEEE Std 610.12-1990 "Standard Glossary of Software Engineering Terminology" in IEEE Software Engineering Standards Collection, 1994 Edition, IEEE, New York, 1994, p. 67. Harel, D. (1992) Biting the Silver Bullet: Toward Brighter Future for System Development, Computer, vol.25 (no.1), 8-20.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 600
599
Reference
Hirscheim, R. and Klein, H.K. (1989) Four paradigms of information systems development, Comm. of the ACM Vol 32 (no. 10) 1199 - 1216. Hornby, P et al (1992) Human and organisational issues in information systems development Behaviour and Information Technology vol.11 (no. 3) 160-174. Maciaszek L. (2002): Requirements Analysis and System Design: Developing Information Systems with UML, 1/e, Addison Wesley Higher Education. McConnell S. (1998): Software Project Survival Guide Microsoft Press, ISBN: 1-57231-621-7. McLeod R., Jordan E. (2002). Systems Development: A Project Management Approach,ISBN: 0-471-22089-2, Wiley Higher Education Murch R. (200): Project Management: Best Practices for IT Professionals,1/e, Prentice Hall PTR, ISBN 0130219142 Pressman R.S. (2001): Software Engineering: A Practitioner's Approach, 5/e, McGraw-Hill, ISBN 0-07-249668-1 Sommerville, I. (2000). Software Engineering. Addison-Wesley Publishing Company. Whitten J. L., Bentley L. D., Dittman K. C. (2001): Systems Analysis & Design Methods, McGraw-Hill/Irwin; ISBN: 0072552360; 5th ed.
FER-ZPM-GRZ, Fertalj & Kalpi: Projektiranje informacijskih sustava, akad.god. 2006/07. 601