151

Click here to load reader

FER PIS Predavanja

Embed Size (px)

Citation preview

Page 1: FER PIS Predavanja

Projektiranje informacijskih sustava

SVEUČILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I

RAČUNARSTVAZavod za primijenjeno računarstvo

Prof.dr.sc. Krešimir FertaljProf.dr.sc. Damir Kalpić

2FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Predmet

Nastavno opterećenje2 sata predavanja + 2 sata laboratorijskih vježbi tjedno

PredavanjaPohađanje predavanja nije uvjet za dobivanje potpisa

Laboratorijske vježbeProjektiranje mogućeg informacijskog sustava za izmišljenog korisnika.Rezultat je projektna dokumentacija, koja se predaje na pismenom ispitu.

IspitUsmenom ispitu mogu pristupiti studenti koji prikupe najmanje polovicu bodova za svaku od aktivnosti koje mu prethode.Pozitivna ocjena pristupa usmenom ispitu računa po sustavu bodovanja

Ukupna ocjena = f(modifikator)12.50%25Korak 2-550.00%100Nedovoljan

100.00%200Ukupno25.00%50510Pismeni ispit - zadaci60.00%120620Projektna dokumentacija15.00%30152Pohađanje predavanja

UdjelBodovaPutaPojedinačnoAktivnost

3FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Materijali, informacije

Materijalihttp://www.zpm.fer.hr/courses/pis

• ažurirat će se nakon predavanja Vlastite bilješke

LiteraturaJ. A. Hoffer, J. F. George, J. S. Valacich: Modern Systems Analysis and Design, 3/e, Prentice Hall College Div, 2001J. L. Whitten, L. D. Bentley, K. C. Dittman: Systems Analysis & Design Methods, 5/e, McGraw-Hill Higher Education, 2000L. Maciaszek: Requirements Analysis and System Design: Developing InformationSystems with UML, 1/e, Addison Wesley Higher Education, 2002

KonzultacijeDoc.dr.sc. Krešimir Fertalj, Prof.dr.sc Damir KalpićZPM računarci, zgrada D/III kat, sjeverozapadno krilopoželjno uz najavu elektroničkom poštomobvezno s vlastitim bilješkama

E-mailTo: [email protected], [email protected]: PIS

4FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sadržaj

SadržajInformacijski sustav. Projektiranje i izgradnja informacijskih sustava.Životni ciklus i faze razvoja. Strategija i planiranje sustava.Prikupljanje i određivanje zahtjeva. Analiza. Oblikovanje funkcija. Oblikovanje procesa. Konceptualno oblikovanje podataka. Modeliranje događaja.Procjena alternativa izgradnje. Oblikovanje. Dizajn arhitekture sustava. Dizajn i ugađanje baze podataka. Oblikovanje programa i sučelja. Izrada sustava. Uvođenje u primjenu. Održavanje. Poduka i potpora. Modeli razvoja i metodologije. Moderni postupci.Organizacija projekta i upravljanje projektom.Programski alati i razvojna okruženja. CASE.

Page 2: FER PIS Predavanja

Informacijski sustav

6FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Podatak, informacija i znanjeInformacija općenito

obavijest, podatak o nečemu, predana novost ili znanjeformalno, kolekcija simbola koji mogu imati određeno značenje

Podatak, informacija i znanjepodatak je sirova činjenica koja predstavlja neku istinu iz stvarnog svijeta

• pojedinačni podaci sami za sebe znače malo ili nemaju neko značenjeinformacija je interpretacija podatka - pročišćen, organiziran i obrađen podatak u smislenom kontekstu

• informacija je subjektivnog značenja, u kontekstu primateljaznanje se gradi na temelju novih informacija koje se nadovezuju na postojeće znanje

• isti podaci mogu biti različito interpretirani od strane različitih ljudi u ovisnosti o njihovom znanju

primjer:

Informacijska znanost, obavijesna znanost → informatika (informatics, information theory).

-130000 ??? -130000 HRK ?

na računu ! broj 1313 (tj. Mojem) !!!

7FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sustav

Sustav općenito - sistem, poredakoblik društvene organizacije (npr. državni)skup dijelova, povezanih općom funkcijom (npr. živčani)skup jedinica, organizacijski ujedinjenih u cjelinu (npr. poduzeće)oblik, način ustrojstva, organizacija nečega (npr. izborni)uvjetovan planskim, pravilnim rasporedom dijelova (npr. sistem rada)

Komponente sustava jesu njegovi fizički dijelovi, ulazi i izlazi te procesi njihove pretvorbe i upravljački postupci (planiranje, organizacija, upravljanje i nadzor).

Sustav je uređeni poredak međuzavisnih komponenti povezanih prema zajedničkom planu za postizanje određenog cilja.

8FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi i značajke sustavaPodsustavi:

komponente koje pripadaju sustavuGranica:

definira opseg i domašaj sustavaOkolina:

sve što je izvan granica sustava, ali se još uvijek tiče sustava

Ulazi: elementi koji ulaze u sustav iz okoline

Izlazi: elementi koji napuštaju sustav

Sučelja: veze između sustava i njegove okoline (zaštita, filtri)

Ograničenja: unutarnji i vanjski čimbenici koji određuju i ograničavaju funkcioniranje sustava

Karakteristikeorganizacija – struktura i poredak, hijerarhijske veze koje određuju formalnu komunikaciju i upravljački lanac (pr. vojska, poduzeće)interakcija – način na koji pojedine komponente surađuju s drugim komponentama (pr. Nabava s Proizvodnjom, Proizvodnja s Prodajom)međuzavisnost – jedan podsustav ovisi o drugom (ulaz), da bi mogao funkcioniratiintegriranost – mjera povezanosti komponenti

Granica sustavaOkolina

PodsustavUlaz

Izlaz

Sučelje

Izlaz

Page 3: FER PIS Predavanja

9FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Informacijski sustavInformacijski sustav (Information System)

obavijesni sustav, informacijski sistemsustav za upravljanje informacijama važnim za organizaciju i društvosustav za upravljanje sustavom ljudskih aktivnosti [Checkland, 1980]

Pojam IS podrazumijeva:sustave podržane računalom → računalni (“kompjuterizirani”, “kompjuterski”)sustave koji se ne oslanjaju na računala, ali obrađuju informacije

Svrhaprikupljanje i pružanje informacija korisnicima u jednoj ili više organizacija → organizacijski IS (poslovni IS)

Korisniciposlovodstvo, djelatnici (zaposlenici, osoblje), klijenti …

Upravljanje informacijama - Obavlja se bez obzira na vrstu sustava!prikupljanje (acquisition)zapisivanje, pamćenje (recording)obrada (processing)spremanje i pronalaženje (information storage and retrieval)prikaz u odgovarajućem obliku

10FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Informacijski sustav podržan računalomTipovi (slojevi) informacijskih sustava

neformalni – složeni oblici ponašanja koji nisu formulirani, ali se od pridošlica u sustavu očekuje da ih usvojeformalni – eksplicitno utvrđena pravila ponašanja, a mogu biti propisana internim pravilima i zakonskom regulativomtehnički – opisuje organizaciju u terminima protoka poruka o aktivnostima i obradi podataka potrebnoj da se obavi posao

Informacijski sustav podržan računalomUređenje ljudi, podataka, procesa, sučelja, poveznica (mreža) i tehnologije koji djeluju međusobno sa svrhom podrške i poboljšanja svakodnevnih poslovnih aktivnosti (obrada podataka), kao i podrške rješavanju problema i donošenju odluka (informacijski servisi). [Whitten et. al, 2000]Komponente IS

• programska oprema (software) – sistemska, namjenska• računalna oprema (hardware) – računala i periferije, mrežna oprema• osobe (lifeware) - korisnici, informatičari• organizacija (orgware) – postupci povezivanja pojedinih dijelova u cjelinu

NEFORMALNI IS

FORMALNI IS

TEHNIČKI(RAČUNALOM PODRŽANI)

IS

11FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poslovni i informacijski sustavPoslovni sustav

materijalni ulazi i izlazi (sirovine, energija, proizvodi) i informacijski tokovi (poruke, dokumenti, …)

• Ulaz u neki PS predstavlja izlaz iz nekog drugog PS

procesi: obrada, prerada, proizvodnja• Povratne veze - usporedba plana i

realizacijeskladišta: spremišta informacija (podataka)izvršitelji: osobe, strojevi, alatiskladišta: spremišta materijala

Informacijski sustavpodsustav poslovnog sustavaulazi i izlazi: ulazne informacije, obrađene informacijeprocesi: obrada informacija (podataka) o stanjima stvarnog sustavaizvršitelji: osobe, programi, računala

PrimjeriI(P)S: nabave, prodaje, proizvodnje, financija, ljudskih resursa i plaća, osnovnih sredstavaIS Subvencionirane Prehrane (ISSP)IS Visokih Učilišta (ISVU)IS Personalnog Upravljanja MORH

12FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste informacijskih sustava

Transaction Processing System (TPS), sinonim Data Processing System• evidencija i obrada podataka o poslovnim transakcijama

Management Information System (MIS) - upravljački• upravljanje temeljem dokazanih matematičkih/statističkih metoda

Decision Support System (DSS)• odlučivanje na temelju nestrukturiranih podataka iz različitih izvora• Executive Information System (EIS) – podvarijanta za izvršne

rukovoditeljeExpert System (ES) – sustav s ugrađenim znanjem i simulacijom zaključivanjaOAS: Office Automation SystemGSS: Group Support System, Groupware

Upravljanje i razine IS

Informacijski sustav

Informacije, kada

Korisnici, tko

Upravljanje

transakcijski obrada podataka, dnevno

niže poslovodstvo

operativno

upravljački zbirne, periodički

srednje poslovodstvo

taktičko (trendovi)

za potporu odlučivanju

sintetizirane, “ad hoc”

više poslovodstvo,

uprava

strategijsko (“što ako”,…)

Page 4: FER PIS Predavanja

13FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Značajke informacijskih sustava

Značajke informacijskih sustavasložena okolina, koju je teško u potpunosti definirati složeno sučelje prema okolini, koje uključuje različite ulaze i izlazesložene veze između ulaza i izlaza (strukturno, algoritmički)obujam i složenost podataka

Problem projektiranja, izrade i održavanja

Važnost ISInformacija je postala upravljački resurs jednake važnosti kao što su vlasništvo (osnovna sredstva), ljudski resursi i kapital.

• IS sadrži/predstavlja znanje (know-how) organizacije koju podržava.• IS i aplikacije pokazuju se prijeko potrebnim za održanje konkurentnost

ili postizanje kompetitivnog prestiža organizacije.Organizacije u kojima se IS primjenjuju visoko su ovisne o stalnoj raspoloživosti IS kroz dulje vrijeme.

Projektiranje i izgradnja IS

15FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razvoj informacijskih sustavaCiljevi razvoja IS

izgraditi sustav koji radi i koji je pouzdan, unutar zadanih granicaizgraditi sustav koji zadovoljava poslovne ciljeve, prema zahtjevima korisnikaizgraditi sustav u prihvatljivom vremenu i po opravdanoj cijeni

Neki problemiprekoračenje planiranog vremena i financijskih sredstava neispunjenje zahtjeva ⇒neodgovarajući sustavnepouzdanost, nesigurnost, neelastičnost u primjeniteškoće u održavanju

70% sustava u svijetu smatra se neuspješnim (system failure)

The CHAOS Report [Standish Group, 1994], http://www.standishgroup.com

Prosječni trošak projekta• velike kompanije: 2,32 M$• srednje kompanije 1.33 M$• male kompanije: 434 K$

Prosječno prekoračenje troškova 189%Prosječno prekoračenje rokova 222%Projekti završeni na vrijeme, u okviru predviđenih sredstava, sa svim predviđenim funkcijama - 16.2%Projekti završeni i u funkciji, ali uz veće troškove, dulje trajanje i/ili reduciranu funkcionalnost - 52.7%Prekinuti projekti - 31.1%

Standish Group, 2002: • 34% uspješnih projekata• 17% potpunih neuspjeha

16FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Neki primjeri neuspješnih projekata/sustava

London Ambulance System (1992)Nakon uvođenja sustav se 2 puta "raspao" radi niza pogrešaka, naročito onih zbog upravljanja. Neposredni trošak bio je relativno nizak (£9m), ali se vjeruje da su neki ljudi umrli jer se do njih nije stiglo na vrijeme.

Taurus (1993)Projekt sustava automatiziranih transakcija Londonske burze prekinut je nakon 5 godina razvoja i troška od £75m te posljedični gubitak klijenata od £450m. Ukupni gubici smatra se da su neizračunljivi.

Denver Airport (1994)Nepouzdanost softvera za upravljanje prtljagom uzrokovala je odgodu otvaranja zračne luke u trajanju od 16 mjeseci uz troškove od 1.1 M$/dan.

Ariane 5 (1996)Eksplodirala u lanseru radi niza softverskih pogrešaka

Drugi primjeriChallenger - niz pogrešaka u dizajnuTeleskop Hubble - pogreške u dizajnu, propusti u testiranjuMars Climate Orbiter - problem navigacije zbog raskoraka između engleskog i metričkog mjernog sustava

Page 5: FER PIS Predavanja

17FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uzroci neuspjehaRazlozi neuspješnih projekata

složenost aplikacijanedostatak usmjerenosti korisnikuzanemarivanje okruženja organizacijepretjerani optimizamizostanak praćenja napretkanedostatak komunikacije između korisnika i izvođača

U Hrvatskoj se uzroci neuspjeha uglavnom ne istražuju, a informacije o neuspješnim projektima nerado se objavljuju. Među najčešćim uzrocima su [Kalpić, Fertalj & Mornar, 2001]

Loša organizacija i vođenje projekata • oslonac na vanjske voditelje i savjetnike, delegirano upravljanje projektima,

nerealno planiranje, formalno izvještavanje o napretku, formalni nadzor nad projektom, podcijenjena uloga vlastitih stručnjaka

Loša izvedba projekata • neodgovarajuća analiza sustava, pogreške u dizajnu i kontroli kvalitete,

neodgovarajuća CASE pomagala i krivo korištenje, pa čak i svojevrsna zloporaba CASE pomagala

Mnogi sustavi su propali ili su bili odbačeni jer su se izvođači trudili napraviti lijepa programska rješenja a nisu razumjeli suštinu organizacije i poslovanja.

18FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poboljšanje uspješnosti IS

Poboljšanje uspješnosti ISProjektiranje ISPlaniranje, upravljanje provedbom, praćenje napretkaUključivanje korisnika• Korisnik poznaje(?) poslovni proces i zna(?) odrediti potrebe.• Informatičar upoznaje(?) poslovanje i zna(?) kako izraditi IS.• Važno je da u procesu izgradnje sudjeluje i poslovodstvo, da bi se

upoznalo sa stvarnim mogućnostima i koristima uvođenja IS, posebice jer donosi konačne (za poduzeće sudbonosne) odluke.

Sažetak načela razvoja informacijskih sustavaKorisnici i vlasnici sustava moraju biti aktivno uključeniTreba koristiti pristup koji vodi k rješavanju problemaUspostaviti faze i aktivnostiUspostaviti standarde za konzistentan razvoj i dokumentiranjeOpravdati izgradnju sustava kao kapitalnu investicijuNe oklijevati ako treba projekt otkazati

Inženjerski pristup izgradnji IS

20FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programsko inženjerstvoProgramska oprema (software)

• programska podrška, naputbina• dio računalnog sustava koji nema fizikalnih dimenzija• opći pojam za sve vrste programa, programskih jezika itd

računalni programi, podaci, dokumentacijasvojstva:

• složenost, podložnost pogreškama,• ne troši se, teško se mjeri,• stari, dugo se koristi,• lako se kopira (zajedno s pogreškama)

Računalna aplikacija (application)namjenski program, primjenska programska opremaračunalom podržano rješenje jednog ili više poslovnih problema ili potreba

• informacijski sustav uobičajeno sadrži jednu ili više računalnih aplikacija

Informacijska tehnologija (information technology, IT)bilo koji oblik tehnologije, tj. oprema ili tehnika koju ljudi koriste za upravljanje informacijama (obavijestima)u današnje vrijeme obuhvaća računalsku tehnologiju (hardver i softver) i telekomunikacijsku tehnologiju (mreže za prijenos podataka, slika i zvuka)

Page 6: FER PIS Predavanja

21FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programsko inženjerstvoProgramsko inženjerstvo (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.orgProgramsko inženjerstvo je inženjerska disciplina koja obuhvaća sve aspekte izrade programske opreme. [Sommerville, 2000]Programsko inženjerstvo je inženjerska disciplina koja se bavi praktičnim problemima razvoja velikih programskih sustava [Sommerville 1992, 4. ur., str. v]„Programsko inženjerstvo... ima za cilj ekonomičan razvoj visokokvalitetne programske opreme“ [Pagel / Six 1994, str. 49]

Područje programskog inženjerstvaposlovi kojima se oblikuje i razvija programska opremasustavna primjena prikladnih alata i tehnika na čitav proces razvoja programskeopremesastoji se od analiziranja i pobližeg opisivanja (specifikacije) postupka koji treba programirati, izrade programa, tehnika testiranja (provjere valjanosti), pisanja dokumentacije, pokusnih izvedbi programa, analize vremenskog izvođenja itd.

22FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

U potrazi za srebrnim metkom

Postupci (metode) programskog inženjerstva1968: Prva NATO konferencija o programskom inženjerstvu, posvećena problemima razvoja programske podrške (“softverske krize”)kraj '60-ih, rane ’70-te: Strukturirano programiranje - disciplinirano programiranje temeljeno na prikladnoj sintaksi proceduralnih jezikasredinom ’70-ih: Strukturirani dizajn - izrada hijerarhijskih sustava modularne programske opreme, računalom podržana dokumentacijakasne ’70-te, rane '80-te: Strukturirana analiza - odvajanje logičkog opisa od fizičkog opisa (informacijskog) sustava, Oblikovanje podatakarane '80-te: CASE alati; prototipiranjesredinom '80-te: Informacijsko inženjerstvo, združeni razvoj aplikacija (JointApplication Development)kasne '80-te: Brzi razvoj aplikacija (Rapid Application Development)rane ‘90-te: Objektno usmjereni razvojkasne ‘90-te ...: ?

Brooks, F.P. (1987) No silver bullet: essence and accidents of software engineering. Computer, 20 (4), 10-19.

teškoće su sastavni dio softvera (složenost, promjenjivost, nevidljivost...)neprilike/nezgode postoje, ali nisu sastavni dio, tj. nisu neizbježne

23FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Software Engineering Body of Knowledge

SWEBOK: Software Engineering Body of Knowledge

IEEE Computer Society, 2001http://www.swebok.org/

A Software Engineering Body of Knowledge, CMU/SEI-99-TR-004

Carnegie Mellon University/Software Engineering Institutehttp://www.sei.cmu.edu/sei-home.html

Computing Fundamentals1.1 Algorithms and Data Structures1.2 Computer Architecture1.3 Mathematical Foundations1.4 Operating Systems1.5 Programming Languages

Software Product Engineering2.1 Software Requirements Engineering2.2 Software Design2.3 Software Coding2.4 Software Testing2.5 Software Operation and Maintenance

Software Management3.1 Software Project Management3.2 Software Risk Management3.3 Software Quality Management3.4 Software Configuration Management3.5 Software Process Management3.6 Software Acquisition

24FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Informacijsko inženjerstvo

Informacijsko inženjerstvo (information engineering, IE)Inženjerski 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 podržan računalom

Sustavna primjena prikladnog skupa metoda, tehnika i alata u procesu razvoja informacijskih sustava.

Metoda (method)Smišljen i organiziran skup procedura izrade (modela, softvera), uz korištenje dobro definirane notacije

• sugerira proces obavljanja i način bilježenja• definira primjenu tehnika i njihovo povezivanje (pr. ERD-DFD)

Tehnika (technique)“Feature” metode, koji definira način provođenja određenog postupka i dokumentiranja rezultata tog postupkaNačin na koji se provodi određena aktivnost razvojnog procesa.

Pomagalo (tool)instrument, sredstvo (artefact) koje se koristi u razvoju IS

Page 7: FER PIS Predavanja

25FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Body of Information Systems KnowledgeIS 2002 - Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems

Association for Computing Machinery (ACM) Association for Information Systems (AIS) Association of Information Technology Professionals (AITP)Body of IS Knowledgehttp://www.aisnet.org/Curriculum/

1.0 Information Technology1.1 Computer Architectures1.2 Algorithms and Data Structures1.3 Programming Languages1.4 Operating Systems1.5 Telecommunications1.6 Database1.7 Artificial Intelligence

2.0 Organizational and Management Concepts2.1 General Organization Theory2.2 Information Systems Management2.3 Decision Theory2.4 Organizational Behavior2.7 Managing the Process of Change2.8 Legal and Ethical Aspects of IS2.9 Professionalism2.10 Interpersonal Skills

3.0 Theory and Development of Systems3.1 Systems and Information Concepts3.2 Approaches to Systems Development3.3 Systems Development Concepts and

Methodologies3.4 Systems Development Tools and

Techniques3.5 Application Planning3.6 Risk Management3.7 Project Management3.8 Information and Business Analysis3.9 Information Systems Design3.10 Systems Implementation and Testing

Strategies3.11 Systems Operation and Maintenance3.12 Systems Development for Specific

Types of Information Systems

26FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sistemsko inženjerstvoNema općeprihvaćene 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 whatis expected to be most efficient possible manner, with each component of systemdesigned to function as part of a single entity”

SažetoSagledava sustav kao cjelinu pristupom s vrha prema dolje (top-down)Upravlja ciklusom koji sadržava sve faze od dizajna do umirovljenjaOsigurava djelotvornost i (dovoljno) rano donošenje odluka definiranjem zahtjeva i njihovim povezivanjem s odgovarajućim oblikovanjemInterdisciplinarni i/ili timski pristup oblikovanju i razvoju kojim se osigurava njihova djelotvornost i učinkovitost

Projektiranje informacijskih sustava

28FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Projektiranje IS

Slijed izrade fizičkog i logičkog modela postojećeg IS, a zatim logičkog i fizičkog modela budućeg IS na temelju poslovnih zahtjeva i zahtjeva krajnjih korisnika.

fizički model (ugradbeni, implementacijski, tehnički) – opisuje kako je sustav fizički i tehnički ugrađen, te tko, gdje i kada nešto radilogički model (esencijalni, konceptualni, poslovni) – što je sustav, što radi, što su podacioperativni (budući fizički) sustav – što, tko i kada, ali ne i gdjeopcionalno, može se razmatrati organizacijska razina – različito značenje podataka zavisno od područja unutar organizacije i okoliša

Page 8: FER PIS Predavanja

29FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje

Izrada modela koji odgovaraju dijelovima stvarnog sustavamodel: apstrakcija ili reprezentacija dijela stvarnog svijetaKada otprije ne postoji sustav, potrebno je odrediti "surogat" postojećeg sustava po ugledu na istovrsne sustave u drugim organizacijama ili razvoj započeti s izradom logičkog modela.

Tehnike oblikovanja dijagramima Izradom modela nastoji se opisati situacija u kojoj:

• događaj iz vanjskog svijeta pokreće (okida) proces• proces ima određeni učinak na podatke u nekom stanju• obavljanjem procesa podaci prelaze u novo stanje.

30FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste modelaIzrada modela podataka / oblikovanje podataka (data modelling)

model podataka – ŠTO su podaci, odnosno što opisuju podaci • konceptualni model - opisuje podatke i veze između podataka, najčešće model

entiteti-veze (entity-relationship model)• logički model – opisuje strukturu podataka i logičkih datoteka, najčešće relacijski

model podataka (relational data model)Izrada modela procesa/funkcija (process modelling, functionaldecomposition)

model funkcija i procesa – KAKO se prikupljaju, obrađuju i distribuiraju podaci• model funkcija - oblikuje se razlaganjem (dekompozicijom) funkcija, iterativno od

vrha prema dolje (od globalnih funkcija do osnovnih procesa)• model procesa – opisuje obradu podataka promatranog sustava, najčešće

dijagram toka podataka (data-flow diagram)Izrada modela događaja

model događaja – KADA se podaci obrađuju• razmatranje učinka koji događaji imaju na procese i podatke te opis stanja, npr.

dijagram promjene stanja (state transition diagram)Modeliranje resursa/sredstava

izvršitelji - TKO obrađuje podatke, GDJE se nalaze podaci, GDJE se obrađuju podaciModeliranje programa

struktura (programskih) modula IS, primjerice strukturnim kartama

31FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ključne aktivnosti i sudioniciKljučne aktivnosti # u nekim metodama zajedno se zovu informacijsko inženjerstvo

Sistemska analiza, Analiza sustava (Systems analysis) • proučavanje poslovanja s ciljem preporuke poboljšanja i specificiranja zahtjeva na rješenje

Sistemski dizajn, Dizajn sustava (Systems design)• specifikacija ili konstrukcija računalom podržanog rješenja identificiranih poslovnih zahtjeva

Sudionici, čuvari uloga (stakeholders)Korisnik, Korisnik usluga, Klijent (User, Customer, Client) – osoba ili grupa za koju se gradi IS

• Korisnik sustava – krajnji korisnik– neposredno koristi IS pri obavljanju svakodnevnih poslova ili koristi informaciju dobivenu iz IS

• Vlasnik sustava – naručitelj (ovisno o vlasništvu: stvarni vlasnik ili predsjednik uprave)– naručuje i plaća razvoj i održavanje sustava, postavlja prioritete i određuje politiku njegovog korištenja

Projektant, Dizajner sustava (Designer)• tehnički stručnjak koji oblikuje sustav tako da zadovolji zahtjeve korisnika

– prevodi poslovne zahtjeve i ograničenja u tehničko rješenje– oblikuje datoteke, baze podataka, ulaze, izlaze, zaslone, mrežu i programe, integrira rješenje

• može biti i graditelj sustavaGraditelj sustava (Builder, Developer) - programer, razvojnik

• stručnjak koji izgrađuje sustav, provjerava njegovu ispravnost te ga isporučuje u primjenu– konstruira komponente sustava na temelju specifikacija koje rade dizajneri sustava

32FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sistem analitičarSistem analitičari razumiju i poslovanje i računarstvo

Provode sistemsku analizu i dizajnPovezuju one koji trebaju računalo i one koji poznaju IT

Formalna definicija [Whitten et. al, 2000]Sistem analitičar potpomaže proučavanje problema i potreba poslovanja radi određivanja kako poslovni sustav i informacijska tehnologija mogu najbolje riješiti problem i postići unaprjeđenje poslovanja. Plodovi ove aktivnosti mogu biti poboljšani poslovni procesi, poboljšani informacijski sustavi te nove ili poboljšane aplikacije, a često sve zajedno.

Uloga sistem analitičaraIstražitelj, arhitekt i nadzornikRješavatelj poslovnih problemaZagovaratelj promjenaPsiholog, trgovac, političar ...

Većina sistem analitičara koristi neku inačicu pristupa koji se naziva životni ciklus razvoja sustava sistematičan i metodičan pristup rješavanju problema sustava.

Page 9: FER PIS Predavanja

Životni ciklus razvoja sustava

Systems Development Life-Cycle (SDLC)

34FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Životni ciklus razvojaŽivotni ciklus

naziva se ovisno o kontekstu• systems development life-cycle• software development life-cycle• application development life-cycle

konzistentan i standardizirani način razvoja ISSvrha: planiranje, izvršenje i nadzor razvojnog projekta

životni ciklus definira faze i zadatke (aktivnosti) koje nužno treba obaviti tijekom razvoja bez obzira na veličinu sustava koji se gradisvaka pojedina aktivnost proizvodi skup rezultataciklus sigurava “kontrolne točke” za praćenje napretka, procjenu postignutih rezultata i donošenje odluka o daljnjim koracimaprojekt prolazi kroz faze životnog ciklusa

Primjer: životni ciklus razvoja softvera• Requirements Analysis & Specification• Conceptual/System Design• Detailed/Program Design• Implementation/Coding• Unit & Integration Testing• System Testing• System Delivery

35FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Životni ciklus i faze razvoja IS

Analiza

Oblikovanje

Izrada

Primjena,održavanje

Specifikacija zahtjeva

Funkcionalni sustavSpecifikacija sustava

PlaniranjePlan sustava

Pregled

Operabilnisustav

Potrebe (popravci,dorade, prerade, nadogradnje)

Planiranje (zašto)Zašto graditi sustav?

Analiza (tko, što, kada, gdje)Tko koristi sustav?Što mora raditi?Gdje i kada će se sustav koristiti?

Oblikovanje (kako)Kako će sustav raditi?

Izrada (+isporuka)ugradnja rješenja

Primjenaodržavanje i poboljšavanje

sistemskoinženjerstvo

36FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Faze razvojaPlaniranje, strategija

Snimka stanja, Inicijalna strategija (initial strategy):• određivanje poslovnih ciljeva, identificiranje problema i ideja njihovog rješavanja

te određivanje zahtjeva za sustavStudija izvodljivosti (feasibility study):

• pregledna analiza problemskog područja i određivanje (granica) projekataPlaniranje projekta:

• Izrada plana rada, kadroviranje projekta, upravljanje i nadzor projektaPoslovni cilj i projekti, plan sustava, plan informatizacije (glavni projekt)

Analiza zahtjeva, specifikacija zahtjevaAnaliza zahtjeva (requirements analysis): detaljna analiza kojom se preciziraju granice projekta i poslovni zahtjevi

• detaljna analiza postojećeg sustava (problema i poslovnih zahtjeva)• modeliranje (postojećeg) sustava

Specifikacija zahtjeva (requirements specification): detaljni opis zahtjeva na IS, oblikovan tako da ga razumiju dizajneri

• modeliranje (budućeg) sustava• definiranje zahtjeva na budući IS

Poslovni model sustava, prijedlog sustava

Page 10: FER PIS Predavanja

37FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Faze razvoja

OblikovanjeDizajn sustava (system design): modeliranje IS (pogled projektanta)

• donošenje odluke o tome kako graditi sustav • dizajn rješenja po potrebi (ima rješenja koja ne treba dizajnirati)• izrada zahtjeva kojima se opisuje kako izgraditi sustav

Detaljni dizajn (detailed design): razrada rješenja, izrada tehnološkog modela IS (pogled izvođača)

• dizajn arhitekture, sučelja, pohrane podataka i programaTehnička specifikacija sustava

Izrada, provedba• ugradnja oblikovanih rješenja

Izrada (implementation), konstrukcija: ugradnja baze podataka, kodiranje procesa (funkcija) novog IS, nakon odabira platformeTestiranje (testing): provjera komponentiIntegracija i provjera sustava (system integration, evaluation): udruživanje 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 tehnološki opis sustava

38FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Faze razvoja

Uvođenje i održavanje• analiza ugrađenog rješenja, poboljšanje dizajna, ugradnja poboljšanja

Uvođenje u primjenu, primjena (operation, production): prijelaz radnih aktivnosti i prijenos (konverzija) podataka sa starog na novi sustavOdržavanje (maintenance): izmjene sustava radi poboljšanja radnih karakteristika (performanci), poboljšanja ili prilagodbe načina uporabePotpora (support): dobavljača opreme, tehničkog osoblja korisnicima Informacijski sustav u primjeni, plan održavanja

Novi razvojni ciklus Pregled (review): revizija, preispitivanje čitavog sustava kada su potrebne veće izmjene uslijed promjena u poslovanju ili promjena poslovnih ciljevaNovi projekti

Navedene su tipične faze životnog ciklusa, bez implikacije da se radi o diskretnim i/ili slijednim aktivnostima!

39FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: IS LC Stages and Deliverables, DOE Software Development Methodology, http://cio.doe.gov/sqse

40FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Ciklus razvoja softvera

Viđenje studen(a)ta

Proučavanje problema(dan 1)

Kodiranje(dani 1 ...

n - 2)

Debugiranje(dan n - 1)

Dokumentiranje(dan n - ε)

Isporuka(dan n)

Prilagodba prema Modesitt, LNCS 750, pp. 42

Zaprimanje zadatka

(dan 1–n)

Page 11: FER PIS Predavanja

Strategija i planiranje

42FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strateško planiranjeStrateško planiranje

Definiranje poslovne strategije, planiranje akcija za postizanje cilja• Uprava definira viziju i misiju organizacije, tj. strateške ciljeve.

– http://www.fer.hr (Sustainable excellence - in education and research)– http://www.zaba.hr (O nama)– http://www.lura.hr (O nama)

Na temelju toga definiraju se poslovni ciljevi i određeniji zadaci kojima će organizacija u nekom razdoblju ispuniti svoju misiju.

• što se želi postići: prepoznatljivost, kvaliteta, prihodi, ...• kako to postići: promjenom organizacije, poboljšanjem sustava administracije, ...

– povećanje proizvodnosti ulaganjem u nove proizvodne tehnologije uz istovremeno održavanje kakvoće proizvoda

– osiguranje zadovoljstva i radnih sposobnosti zaposlenika doškolovanjem i mogućnostima napredovanja

Čimbenici koji utječu na postavljanje ciljevaograničenja (organizacijska, financijska, zakonska, …)potrebe i želje uprave, poslovodstva, zaposlenika (ugled, utjecaj, …)vremenski okviri, razdoblje [Awad, 1985]:

• kratkoročno, obično manje od 2 godine• srednjeročno, 2-5 godina• dugoročno, više od 5 godina

43FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Planiranje IS

Planiranje informacijskog sustavaTraženje odgovora na pitanja:

• Čime se organizacija bavi (grana, proizvodi, tržište, konkurencija)?• Koji su problemi, zadaće i ciljevi poslovnog sustava?• Koja je željena uloga IS u postizanju postavljenih ciljeva?• Koje aplikacije postoje, čemu i kako služe, koje i kakve podatke sadrže?• Postoje li aplikacije čiji je razvoj u tijeku? U kojem su stadiju razvojni projekti?• Koje su potrebne aplikacije?• Koji su raspoloživi resursi (osoblje, tehnička sredstva, tehnologija, …)?

Razlozi zbog kojih treba planirati ISNa primjer, u Organizaciji koja se sastoji od više cjelina, kao što su Uprava, Financije, Proizvodnja i Informatika često postoji više različitih tehničkih sustava ili aplikacija (takozvanih informatičkih otoka) koji imaju za posljedicu:

• umnožavanje informacija uz različito tumačenje u različitim dijelovima• nepotpunost informacija, naročito kada svaka cjelina prikuplja samo njemu važne

informacije• problem povezivanja informacija pri pokušaju cjelovite interpretacije• problem različitog posluživanja, razmjene podataka i održavanja

44FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strateško planiranje IS

Tradicionalno planiranje ISprovodi se odvojeno od poslovnog planiranja iliprovodi se kao reakcija na promjene u poslovnoj politici

Strateško planiranje ISuspostava smjera i prioriteta usklađivanja informacijskih servisa sukladno misiji, viziji i ciljevima organizacijeplaniranje IS sukladno strategiji razvoja organizacije, tako da informatizacija bude potpora promjeni organizacije i poslovnih procesaprimjena metoda analize i dizajna na istraživanje poslovnog sustava s ciljem definiranja općeg (sveobuhvatnog) plana i arhitekture IS čiji razvoj slijedi

Strateško planiranje IS prikladno je za stabilne organizacije. U praksi je teško provedivo u uvjetima “preživljavanja”.

A zapravo u praksi ...Umjesto prema strateškom planu, organizacija se "dovodi u red" tijekominformatizacije i s pomoću informatizacije.Analizom sustava evidentiraju se problemi i slabosti poslovnih procesa.Dizajnom sustava predlažu se ili nameću poboljšanja.

Page 12: FER PIS Predavanja

45FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Okosnica plana razvoja sustava

R.McLeod, E.Jordan (2002). Systems Development: A Project Management Approach,ISBN: 0-471-22089-2, Wiley Higher Education

Enterprisemodel

Enterprisedata model

Enterprise modeling

Strategic businessplanning

Strategic informationplanning

P

A

D

C

User review

P

A

D

C

User review

P

A

D

C

User review

46FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Odabir i pokretanje projekataPokretači promjena

korisnici - nezadovoljstvo aplikacijama i/ili podacima (nepouzdanost, nedostupnost, manjkavost)

• npr. nestabilnost aplikacija, podaci koji nedostaju, potreba za novim funkcijamareorganizacija – promjene organizacijske strukture, promjene poslovnih procesa

• npr. promjene na Sveučilištu uzrokovane novim zakonompokazatelji poslovanja

• npr. pad prodaje, uska grla proizvodnje, neplanirano i nejasno povećanje troškovazastarjela tehnologija

• npr. razvojni alati (problem održavanja), sučelja (Internet), baze podatakaOdabir projekta (project selection) – natječaji i prijedlozi rješenja

sponzor projekta (organizator, predlagatelj) sastavlja prijedlog projekta (project proposal)

• sažetak projekta (naziv, cilj, svrha)• poslovne potrebe• očekivana funkcionalnost• očekivana korist• posebnosti i ograničenja

povjerenstvo za odabir (steering committee, approval comitee) odobrava projektePrimjeri: \Planiranje

natječaj: Obrazac za prijavu projekta primjene IT (MZT)interno: Zahtjev za uslugama informacijskog sustava

47FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pokretanje projekata (project initiation)

Snimka stanja, početno istraživanje (survey phase, initial study, preliminary investigation)

prethodno istraživanje, tj. istraživanje koje prethodi projektuprepoznavanje problema i potrebatraženje odgovora na pitanje "Da li je projekt vrijedan pažnje?"

Faza proučavanja problema (study phase) produbljenje snimkepostavljanje ciljeva, prijedlozi rješenja, procjena izvodljivosti "Da li su problemi vrijedni rješavanja?“, "Da li je gradnja isplativa?"

Planiranje projekta ( Organizacija i upravljanje projektom)Izrada plana radaUstroj projektne ekipe

• uključivanje sudionika iz različitih djelatnosti, npr. djelatnici različitih poslovnih područja ili organizacijskih jedinica, uprava, vanjski konzultanti

• važno je osigurati predanost sudionika zajedničkom cilju (commitment)Uspostava upravljanja i nadzora projekta

48FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Snimka stanjaSnimka stanja

brzo istraživanje i evaluacija problema, mogućih prilika i direktiva• problem: neželjena situacija koja sprječava potpuno ispunjenje svrhe, postizanje

ciljeva, obavljanje zadaća• moguća prilika: mogućnost pozitivne promjene, čak i kada ne postoji problem• direktiva: zahtjev ili ograničenje nametnuti poslovnom politikom (npr. pravilnik) ili

vanjskim utjecajem (npr. zakon)opcionalno se provodi procjena mogućih tehničkih rješenja, pri čemu treba imati na umu da to treba biti detaljnije provedeno u kasnijim fazamaodređivanje dosega projekta i početnog plana projekta

Snimka poslovnog sustavapregled poslovnih planova, ako takvi postoje ili nisu “tajna”prikupljanje informacija, najčešće intervjuiranjem vlasnika i viših rukovoditeljaevidentiranje problema i prijedloga

Snimka stanja postojećeg (postojećih) ISidentifikacija korisnika i opsega postojećeg IS uočavanje problema i nedostataka postojećeg ISprocjena potreba za nadgradnjom (poboljšanjima)procjena potreba za izmjenama (prilagodbom i popravcima)procjena potreba za izradom novih IS ili podsustava IS

Page 13: FER PIS Predavanja

49FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: postojeći problemi, prijedlozi rješenjaKratko obrazloženje problema, mogućnosti ili direktive Hitnost Vidljivost Korist Prioritet Predloženo rjesenje

1. Vrijeme odgovora na narudžbu mjereno od vremena zaprimanja narudžbe do isporuke klijentu se povećalo na prosječno 15 dana

HITNO Visoka 175,000 2 Novi razvoj

2. Nedavno preuzimanje kompanija: Privantna predstava i Filmsko platno nametnulo je povećanje zahtjeva za protokom informacija i dokumenata.

6 mjeseci

Srednja 75,000 2 Novi razvoj

3. Trenutno 3 različita sustava za unos narudžbi servisiraju odjele za audio, video i video igre. Svaki sustav ima vlastito sučelje prema različitom skladišnom sustavu, pa treba objediniti skladišnu evidenciju.

6 mjeseci

Srednja 515,000 2 Novi razvoj

4. Postoji nedostatak pristupa informacijama nužnim za upravljanje i donošenje odluka. Ovo ce se jos pogoršati preuzimanjem dva dodatna sustava za obradu narudžbi (iz Privatna predstava i Filmsko platno).

12 mjeseci

Niska 15,000 3 Po razvitku novog sustava, pružiti korisnicima lako svladive alate za pisanje izvještaja.

5. Izražena je nedosljednost (nekonzistentnost) između podataka u evedencijama članova i narudžbi.

3 mjeseca

Visoka 35,000 1 Brza ispravka, a zatim novi razvoj

6. Sustavi datoteka u Privatna predstava i Filmsko platno nisu kompatibilni s onim u Zvučna pozornica. Problemi s podacima obuhvaćaju nedosljednosti u podacima i nedostatak upravljanja ulazom i izmjenama.

6 mjeseci

Srednja nepoznato 2 Novi razvoj, dodatna ocjena koristi moze povećati žurnost

7. Postoji mogućnost uvođenja sustava naručivanja putem Interneta, ali su sigurnost i kontrola pristupa problematični.

12 mjeseci

Niska nepoznato 4 Buduće verzije tek razvijenog sustava

8. Postojeći sustav unosa narudžbi nije kompatibilan s planiranim sustavom za automatsku identifikaciju (štapićasti kod) koji se razvija za skladište.

3 mjeseca

Visoka 65,000 1 Brza ispravka, a zatim novi razvoj

•Vidljivost: U kolikoj mjeri će rješenje ili novi sustav biti dostupni korisnicima.•Korist: Paušalna procjena koliko bi rješenje povećalo dobit ili smanjilo trošak u jednoj godini.

50FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Planiranje projekta

Određivanje cilja i svrhe projekta (goal, objective)• izdvajanje zadataka koji su sukladni poslovnim ciljevima, a mogu biti

informatiziraniKoji se probleme nastoji riješiti projektom?Koje su očekivane koristi?

Doseg i razgraničenje projekata ili pod-projekata (Scope)• System boundary, Constraints, Objectives, Permissions, End products

Koje su granice sustava? Koji će zahtjevi biti ispunjeni?Što ne može biti napravljeno? Što neće biti napravljeno?Tko će, kako i pod kojim uvjetima moći koristiti rješenje?Kako se mjeri ili određuje uspjeh (neuspjeh)?Kako će se znati da je projekt gotov?

Vremensko planiranjeodređivanje prioritetnih zadataka i vremenskih okvira prioriteta

51FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada početnog plana

Podjela projekta u podprojekterazrada projekta u manje cjeline i određivanje redoslijeda izrade

• za pojedini projekt izrađuje se plan rada (work breakdown structure)• obavlja se razrada i raspodjela poslova te izrada vremenskog rasporeda

mogući načini podjele posla na cjeline tako da:• cjelinu može obaviti jedna osoba ili ekipa • cjelina se može obaviti jednom metodom• posao završi jednim “proizvodom” (dokumentom, aplikacijom ili

podsustavom)Izrada početnog plana razvoja IS

početni glavni plan projekta (master plan, baseline plan)• podprojekti, prioriteti, … • okvirni vremenski plan po fazama• dorađuje se i ažurira sukladno napretku projekta

Prezentacija projekta radi traženja suglasnosti o nastavku projektakonsolidirani prijedlog projekta (project charter) može poslužiti kao interni ugovor projekta

52FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Početni plan informacijskog sustava

Primjer početnog (preliminarnog) plana

Primjeri: \Planiranje\Plan*.*

1. Nabavka sustava za upravljanje bazama podataka2. Tečaj opće informatičke pismenosti za rukovoditelje odjela3. Tečaj za programere u jeziku za upravljanje bazama podataka5. Tečaj za administratore baze podataka4. Izrada prototipa programske podrške za i-tu fazu realizacije6. Izrada α - verzije aplikacije7. Testiranje α - verzije u Informacijskim sustavima8. Uklanjanje uočenih nedostataka i izrada β - verzije programa9. Tečaj za odabrane korisnike na β - verziji10. Testiranje kod korisnika u paralelnom radu s dosadašnjim programom11. Uklanjanje nedostataka i izrada stabilne verzije12. Zamjena dotadašnjeg programa novim programom, uz preuzimanje podataka13. Tečaj za ostale korisnike14. Uvođenje korištenja programa kod ostalih korisnika15. Tečaj za upoznavanje s mogućnostima programa za odabrano poslovodstvo 16. Prikupljanje primjedbi korisnika i novih zahtjeva17. Izrada sljedeće faze/verzije programa. Povratak na točku 4).

Page 14: FER PIS Predavanja

53FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izvješće o projektu (problemima i dosegu projekta)

SažetakSažetak prijedlogaKratko obrazloženje očekivanih koristiKratko objašnjenje sadržaja izvještaja

Prikupljene informacije Kratak opis projektnog zahtjevaKratko objašnjenje provedenih aktivnosti

Činjenice i zaključci• može se potkrijepiti matricom

problema i mogućih rješenjaProblemi i analiza problemaMogućnosti i analiza mogućnosti Direktive i implikacije

Detaljan prijedlogObrazloženje prijedloga

• Hitne prepravke• Brze prepravke• Unaprjeđenja• Novi razvoj

Plan projekta• Početni ciljevi projekta• Početni glavni plan projekta (na

razini faza)• Detaljni plan za slijedeću fazu

PriloziZahtjev za uslugama sustavaMatrica obrazloženja problema(ostala dokumentacija)

54FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Određivanje poslovnih ciljeva

Produbljivanje analize problema za projekte koji prođu početnu selekciju"Da li su problemi vrijedni rješavanja?“, "Da li je gradnja isplativa?"Detaljnija analiza problema, njihovih uzroka i posljedica

• "Ne pokušavaj popraviti prije nego shvatiš kako radi!"Analiza poslovnih procesa

• Koji su najveći problemi?• Koja su moguća rješenja problema?• Kako informatizacija može pomoći?

Grubo modeliranje postojećeg sustavaMogu se koristiti različite formalne metode

Analiza kritičnih faktora uspjeha (CSF - Critical Success Factors)• čimbenici kojima poslovodstvo posvećuje posebnu pažnju• čimbenici koji razmjerno brzo i lako doprinose ostvarivanju ciljeva (npr. brzi

odgovor na zahtjeve klijenata, odnos cijene i kvalitete proizvoda)Planiranje poslovnog sustava (BSP - Business Systems Planning)

• analiza poslovnih procesa analizom od vrha prema dolje• uočavanje podataka povezanih s procesima

Analiza izvodljivosti i procjena troškova-koristi

55FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uzroci i posljedice, ciljevi i ograničenja (primjeri)ANALIZA UZROKA I POSLJEDICA CILJEVI I OGRANIČENJA SUSTAVA

Problem ili mogućnost Uzroci i posljedice Ciljevi sustava Ograničenja sustava

1. Vrijeme odgovora na narudžbu je neprihvatljivo dugo.

1. Promet je povećan, a broj službenika smanjen Vrijeme obrade narudžbi je isto.

2. Sustav previše ovisi o ručnom unosu. Pojedine vrijednosti se unose više puta. Posljedica je da se narudžbe obrađuju dulje nego je potrebno.

3. Središnje računalo radi na maksimumu svojih kapaciteta, što se očituje u sporijem radu aplikacija za unos narudžbi. Budući da službenici pokušavaju brže raditi, povećao se broj pogrešaka pri unosu.

4. Obrasci za prikupljanje narudžbi iz skladišta nisu oblikovani za učunkovito popunjavanje, što dodatno usporava unos narudžbi.

1. Umanjiti vrijeme unosa pojedine narudžbe za 30%.

2. Ručni unos narudžbi svesti na 50% ukupnog broja.

3. Na zaslonu za ručni unos smanjiti broj potrebnih pritisaka na tipkovinicu.

4. Prenijeti unos podataka sa središnjeg na osobna računala.

5. Zamijeniti postojeće obrasce za prikupljanje narudžbi mrežnim sustavom između skladišta i prodaje tako da se eliminira uporaba papirnate dokumentacije.

1. Broj zaposlenih u obradi narudžbi se ne može uvećati.

2. Novi sustav mora biti kompatibilan s postojećim Windows XX standardom.

3. Novi sustav mora biti kompatibilan s već odobrenim sustavom za automatsku identifikaciju štapićastim kodom.

56FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Istraživanje uzroka

Primjer: Istraživanje uzrokaProblem: pad prodajeVidljivi znak: povećani opoziv (storno) narudžbiRazlog: nezadovoljstvo kupacaUzrok: spor sustav za naručivanje

Zadatak analitičara je razdvojiti uzroke i posljedice problema. Na primjer, dugi red u nekoj videoteci nije zaseban problem nego može biti posljedica pomanjkanja osoblja, 'lijenosti' ili nezainteresiranosti osoblja za posao ili pak posljedica ručnog unosa podataka i izdavanja računa.

Vezana za definiranje problema je i provjera opravdanosti korisnikovih zahtjeva (potreba).

U našem bi primjeru analitičar trebao razmotriti da li je zahtjev vlasnika videoteke za ubrzanjem procesa izdavanja filmova realan.

Page 15: FER PIS Predavanja

57FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Postavljanje ciljeva

Primjeri poslovnih ciljevaPotpomoći reorganizaciju u tržišno orijentirano poduzeće prema EU normama.Osigurati informacije o izvorima, razlozima i mjestu nastanka svakog troška u sustavu.Uskladiti hijerarhiju odlučivanja s hijerarhijom u poduzeću.Racionalizirati utrošak novca za ...

Primjer: postavljanje ciljeva ISProblem: Predugo vrijeme unosa narudžbiCilj: Ubrzanje unosa

• Kriterij: performance, izvedbaLoš primjer: Povećanje ili smanjenje

• “Povećati broj unijetih narudžbi u 24 sata za 5%”Bolji primjer: Razina provedbe

• “Unijeti 98% zaprimljenih narudžbi unutar 24 sata”Kriterij mora biti mjerljiv

• Apsolutni iznos ili relativni iznos konkretne vrijednosti• Može biti binaran – postoji ili ne postoji, npr. Omogućiti online pretraživanje

58FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ograničenja

OsobljeOdjel informatike smije zaposliti najviše tri stalna zaposlenika

Materijalni trošakNabavka uredskog i potrošnog materijala ne smije premašiti XXX HRK

Računalna opremaProjekt se mora obaviti bez nabavke novog hardvera (gospodarstvo?)Trošak opreme poželjno predstavlja barem 33% budžeta (znanost!)

Financijska sredstvaUkupni budžet projekta je XXXXX HRK (uvijek manji od traženog!)Naknade izvođačima ne smiju premašiti XX% ukupnog iznosa

59FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje postojećeg sustava

SvrhaPreciziranje dosega projektaVerifikacija razumijevanja problema i usaglašavanje percepcije sustava i stavova između sudionika (korisnici, informatičari)

Taktika - Skrivanje informacija (information hiding)skrivanje/zanemarivanje detalja i usredotočenje na ono što je zaista važnonpr. izbjegavanje proučavanja tehničkih detalja u ranim fazama

Globalni, okvirni, grubi modeliModel organizacije i resursa

• kontekst, organizacijska struktura, prostorni raspored sredstavaGlobalni model procesa

• funkcionalna dekompozicija• tok ključnih poslovnih procesa

– kolanje dokumenata i protok informacijaGlobalni model entiteti-veze (enterprise data model)

• kategorije podataka – klase podataka (ne razredi objekata!)60FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Planiranje informacijskog sustavaAktivnosti

Analiza problema, povoljnih prilika i mogućih rješenja problema Definiranje ciljeva i zadataka informacijskog sustavaProcjena ograničenjaPonovna procjena i preciziranje opsega projektaRevizija glavnog plana

Puzeći doseg projekta (creeping scope)Tijekom izvedbe projekta često se događa polagano, ali značajno povećanje obujma uslijed pogrešne procjene ili različitog tumačenja ciljeva između korisnika i izvođačaGranice projekta moraju biti definirane što je moguće preciznijeTime se kasnije povećanje projekta možda neće ukloniti ali će se barem moći nadzirati

Opcionalno se planira i provodi:Izrada prototipa ili oglednog (pilot) projekta i procjena njegove uspješnosti

• projekt koji se može uspješno i “brzo” realizirati (npr. 3-9 mjeseci, ovisno o veličini čitavog projekta)

• poželjno takav koji će vratiti uloženu investicijuProcjena mogućih tehničkih rješenja IS (alternativa) i prijedlog najboljeg rješenja

Na kraju se (opet!) može očekivati pokretanje, odbacivanje, odgoda ili prilagodba (ostalih, pojedinih) projekata

Page 16: FER PIS Predavanja

61FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Idejno rješenjeSažetak

Sažetak prijedlogaSažetak problema, mogućnosti i direktivaKratki navod ciljeva unaprjeđenja sustavaKratki navod sadržaja izvješća

Poznate informacijePopis održanih razgovora i koordiniranih grupnih sastanakaPopis ostalih izvora informacija Opis tehnika korištenih u analizi

Pregled postojećeg sustavaStrategijske odrednice (ako je projekt dioSPIS ili na njega utječe)Modeli postojećeg sustava

• Model sučelja (kontekst)• Model resursa (prostor)• Model procesa (funkcija)• Model podataka (kategorije)

Analiza postojećeg sustava• problemi, mogućnosti i analiza

uzroka i posljedica za pojedine elemente

PerformanceInformacijeEkonomijaKontrolaUčinkovitostUsluge (servisi)

Detaljni prijedloziCiljevi i prioriteti unaprjeđenja sustavaPrepreke unaprjeđenja sustavaPlan projekta

• Precizirani doseg projekta• Revidirani glavni plan• Detaljni plan za slijedeći korak

DodaciModeli sustava (ako nisu dio studije)(ostala dokumentacija prema potrebi)

62FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjeri

Primjeri: \PlaniranjeGlobalno idejno rješenje informatizacije za "SLJEME", d.d.Idejno rješenje IS Personalne upraveStrategic Plan For Alaska’s Criminal Justice Information System Integration

Analiza izvodljivosti i troškova-koristi

64FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Analiza izvodljivosti

Za pojedine projekte analizira se izvodljivostmjerenje korisnosti, praktičnosti i isplativosti projekta - IStrebala bi se raditi tijekom planiranja, ali i kasnije (npr. nakon faze analize)

• nakon odluke o pokretanju projekta složenost i opseg projekta mogu se promijeniti pa početno izvodljiv projekt može postati neizvodljiv

• praktično gledano, točnost procjene izvodljivosti raste s dubinom analize

Analiza, Studija izvodljivosti (feasibility analysis, feasibility study)detaljna provjera projekata koju provode sistem analitičariprocjenjuje se da li je projekt izvodljiv s obzirom na raspoloživa sredstvaprocjenjuje se da li projekt omogućuje poboljšanjaradi se izvješće o izvodljivosti i prezentira se relevantnim sudionicima radi komentara i mišljenja

• može biti dio idejnog rješenja, a ponekad tako i izgledaeventualni povratak u studiju izvodljivosti → revidirano izvješće

Page 17: FER PIS Predavanja

65FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Operativna izvodljivostOrganizacijska/Operativna izvodljivost

procjena hitnosti rješavanja problema (planiranje)procjena prihvatljivosti rješenja (kasnije faze)

Vrijedi li rješavati problem? Da li predloženo rješenje rješava problem?Performance – protočnost i odziv sustava s obzirom na ulazeInformacije – dovoljne, pravodobne, prikladne, ažurne, točne, korisneEkonomija – problemi troškova, mogućnosti uštedaKontrola – sigurnost i zaštita podatakaUčinkovitost – poboljšanje uporabe raspoloživih resursa (ljudi, oprema, novac, itd.)Usluge – poželjni i pouzdani servisi, elastičnost i mogućnost prilagodbe, zadovoljstvo

Koji je stav korisnika prema rješenju? Da li će se sustav koristiti?Podrška uprave i prihvaćanje od krajnjih korisnika – otpori njihovoj budućoj ulozi ili tehničkom rješenju i kako ih prevladatiPromjena radnog okruženja, procedura – prilagodba promjenamaProcjena upotrebljivosti (najčešće prototipom)

• Krivulja učenja – vrijeme osposobljavanja potrebno za postizanje pune primjene• Lakoća korištenja – jednostavno sučelje za početnike i povremene korisnike,

složenije operacije za iskusne korisnike• Zadovoljstvo – ponuđenom rješenju korisnik daje prednost pred postojećim

66FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehničko-tehnološka izvodljivost» Može li se sagraditi? Može li se kupiti?

Procjena mogućih rješenja i alternativaprocjena stanja na tržištu opremeprocjena postojećih rješenja u drugim organizacijama (tamo gdje je moguće)procjena primjenjivosti različitih tehnologija

Primjenjivost rješenja, tehnologijeMože li se tehnologija jednostavno primijeniti?Pojedine sredine zagovaraju najsuvremeniju tehnologiju (state-of-the-art)

• naprednost, zanimljivostVećina je sklona zreloj i dokazanoj tehnologiji

• sigurnost, bolja podrškaRaspoloživost tehnologije (podrazumijeva se da je primjenjiva)

Može li se nabaviti?Ako je riječ o gotovom rješenju (IS iz dućana), ima li to rješenje potrebne karakteristike? Treba li ga i u kojoj mjeri prilagoditi ili doraditi?

StručnostPostoji li potrebna stručnost za primjenu tehnologije?

• I najnovija tehnologija može se svladatiPostoji li potrebna vještina za očekivani završetak prema rasporedu?

• Bitno je da usvajanje tehnologije i njezina primjena završe na vrijeme

67FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vremenska izvodljivost» Kada će biti gotovo? Može li biti gotovo na vrijeme?

Prihvatljivost vremenskog rasporedaRazmatra se opravdanost rokova s obzirom na raspoloživu stručnost

Očekivano vrijeme završetka može biti poželjno ili obveznoČvrsti rokovi – nesigurni projekt treba prekinuti/odgoditiPoželjni rokovi – može se predložiti alternativni vremenski plan

Bolje je isporučiti ispravan sustav dva mjeseca kasnije, nego neispravan ili beskoristan na vrijeme!!!

68FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ekonomska izvodljivost» Isplati li se graditi? Treba li graditi?

Trošak razvoja sustava (fiksni trošak)apsolutni iznos, početna procjena, ažuriranje tijekom napretka projektaprimjeri:

• osoblje: plaće, honorari• oprema – procjenjuje se nakon odabira tehničkog rješenja• izobrazba: tečajevi

Trošak primjene sustava (varijabilni trošak)relativan iznos, ovisan o uporabiprimjeri:

• režije (struja, telefon)• održavanje (ljudski rad)• obnova licenci

Analiza i usporedba ukupnih troškova-koristi (cost-benefit analysis)Troškovi i korist

• mjerljivi (npr. cijena opreme, iznos plaća, prodaja, prihod)• nemjerljivi (npr. zadovoljstvo korisnika, brzina odlučivanja, dobra referenca)

Financijski trošak i korist mogu se izraziti formulama• razlika korist-trošak u nekom razdoblju (Net Present Value)• povrat investicije (korist-trošak)/trošak (Internal Rate of Return)• trenutak u kojem korist nadvlada trošak (Payback Point)

Page 18: FER PIS Predavanja

69FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ekonomska izvodljivost

CBA računa troškove i korist projekta kao trenutnu vrijednost (Presentvalue - PV)

» $ označava novčanu jedinicu u bilo kojoj valuti

Današnja vrijednost onoga što će postati $1.00 nakon ‘n’ godina u budućnosti, ako uzmemo u obzir kamate ‘I’ iznosi:PV = 1/(1 + I)n = (1 + I)-n

Razlika predstavlja kamatu koja se može zaraditi tim novcemPrimjeri:

troškovi razvoja od $100.000 imaju trenutnu vrijednost od $100.000korist 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

Povrat investicije – Return On Investment (ROI)gleda se postotak povrata investicijeROI - postotak relativnog iznosa koristi projektaROI = (ukupna korist – ukupan trošak) / (ukupan trošak)ROI se obično dijeli sa dužinom projekta kako bi se dobio godišnji ROINizak ROI (~ manji od 10% godišnje) može pokazivati da je korist preniska da bi bila isplativa

70FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer analize trošak-koristTrošak / Korist Godina 0 Godina 1 Godina 2 Godina 3 Godina 4 Godina 5 Godina 6Trošak razvoja (418,040 $)

Primjena i održavanje (15,045 $) (16,000 $) (17,000 $) (18,000 $) (19,000 $) (20,000 $)Faktor za kamatu 12% 1.000 0.893 0.797 0.712 0.636 0.567 0.507

Trenutna vrijednost (418,040 $) (13,435 $) (12,752 $) (12,104 $) (11,448 $) (10,773 $) (10,140 $)Kumulativni trošak (418,040 $) (431,475 $) (444,227 $) (456,331 $) (467,779 $) (478,552 $) (488,692 $)

Korist od novog IS 0 $ 150,000 $ 170,000 $ 190,000 $ 210,000 $ 230,000 $ 250,000 $Faktor za kamatu 12% 1.00 0.893 0.797 0.712 0.636 0.567 0.507

Trenutna vrijednost 0 $ 133,950 $ 135,490 $ 135,280 $ 133,560 $ 130,410 $ 126,750 $Kumulativna korist 0 $ 133,950 $ 269,440 $ 404,720 $ 538,280 $ 668,690 $ 795,440 $

0 1 2 3 4 5 6Ukupno (418,040 $) (297,525 $) (174,787 $) (51,611 $) 70,501 $ 190,138 $ 306,748 $

(500,000 $)

(400,000 $)

(300,000 $)

(200,000 $)

(100,000 $)

0 $

100,000 $

200,000 $

300,000 $

400,000 $

0 1 2 3 4 5 6

71FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izvodljivost i održivost projekta

Primjeri:\PIS-PrimjerProjekta\Planiranje\

• SurvivalTest [McConnell, 1998], http://www.construx.com/survivalguide/• OdrzivostProjekta• Izvodljivost-HZZO

Prikupljanje informacija i utvrđivanje zahtjeva

Prikupljanje informacija (information gathering)Prikupljanje podataka (data collection) Ustanovljavanje činjenica (fact finding)

Page 19: FER PIS Predavanja

73FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Prikupljanje informacija

Intervjui s ključnim korisnicima i radne sjedniceAko naručitelj zapošljava informatičare svakako ih treba uključiti u analizu. Sučeljavanje korisnika i informatičara ubrzava rješavanje proturječnih iskaza.

Upitnici i anketeNadomjestak za intervju ili prikupljanje informacija o resursima.

Analiza dokumentacijeTreba prikupiti sve dokumente značajne za poslovanje, radi boljeg utvrđivanja pravila, poslovne politike, ciljeva poslovanja te strukture informacija.

Prosudba postojećih rješenja na računaluNužna je prosudba postojećih aplikacija i/ili računalom podržanih podataka, radi analize podataka ali i zbog njihove konverzije u novi sustav.

PromatranjeNeposredni uvid u poslovne procese promatranjem radnih sredina (način izrade i razmjene dokumenata, procesi osnovne djelatnosti).

Drugi načiniPrototipiranje, …

Postupak analize mora biti prilagođen korisniku. Evidentiranje rezultata analize poželjno je obaviti CASE pomagalom.

74FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Postupak intervjuiranja

Intervjuneusiljen i elastičan razgovor s ispitanikom, slijed pitanja i odgovora

• ispitanik se pojavljuje u ulozi pasivnog sugovornika (!?)• sugovornici: rukovoditelji, krajnji korisnici, ostali sudionici

standardno uključuje dva sugovornika ali može i više (korisnika, ispitivača):• individualni intervju – jedan korisnik ili suradnici koji rade isti posao • intervjuiranje grupe – više korisnika iz različitih područja

Organizacija razgovorainformacije se prikupljaju nizom pojedinačnih razgovora(prvi) razgovori trebali bi se voditi prema unaprijed dogovorenom planu i rasporedu koordinator

• Primjeri: \Analiza\PlanRazgovora• postupak je spor i neučinkovit, jer se organizacija razgovora mora obaviti za svaki

pojedini razgovornakon dovršetka analize i sinteze dobivenih informacija neke razgovore (ponekad i čitavu seriju) treba ponoviti da bi se upotpunile dobivene informacije ili uskladili proturječni iskaziukupan broj razgovora ne može se unaprijed točno odrediti i treba ga prilagoditi stvarnoj situaciji

75FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnika intervjuiranja

Priprema za razgovorutvrđivanje informacija koje treba saznatiproučavanje postojeće dokumentacije i prethodnih nalazaodređivanje 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

Primjeri: \Analiza\Podsjetnik-temePodsjetnik-kratkiPodsjetnik-dugi

76FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnika intervjuiranja

Planiranje i obavljanje razgovoraokvirno trajanje prvog razgovora je 2 sata (općenito 1,5 – 2,5 sata)Početak razgovora

• predstavljanje sudionika• upoznavanje sa svrhom razgovora (prikupljanje informacija o …)

Vođenje razgovora• postavljanje pitanja i bilježenje odgovora• prikupljanje dokumentacije

Završetak razgovora• približno 5-10 minuta prije isteka planiranog vremena• prekida se slijed postavljanja pitanja• provjerava se da li postoji nešto što je sugovornik htio reći a nije bilo

pitano• provjerava se da li treba proširiti 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

• zahvala na razgovoru

Page 20: FER PIS Predavanja

77FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnika intervjuiranjaPreispitivanje i pojašnjenje sadržaja (follow-up)

provjera zabilježenih navoda radi upotpunjavanja bilješkitelefonom, elektroničkom poštom, novim sastankom

Dokumentiranje razgovoraPisanje zapisnika

• samostalno pisati zapisnike (“Tko ne razumije, ne može bilježiti.”)• kada u razgovoru sudjeluje više analitičara, određuje se voditelj razgovora koji je

ujedno i zapisničar, a ostali ulažu primjedbeSadržaj zapisnika

– Projekt– Vrijeme i mjesto održavanja razgovora– Sudionici– Sadržaj razgovora (tekst zapisnika)– Popis prikupljene dokumentacije– Zapisničar

• zapisnik mora sadržavati ono što je rečeno i slijediti tok razgovora• zapisnik ne smije nametati zaključke, jer su oni rezultat analize

Autorizacija (ovjera) zapisnikazapisnik se šalje na uvid sugovorniku, koji šalje potvrdi o vjernosti zapisnikapo potrebi sugovornik može nadopuniti dijelove za koje smatra da nisu evidentirani ili pojasniti dijelove za koje misli da su krivo protumačeni

Primjeri: \Analiza\ Zapisnik, TragRazgovora

78FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za vođenje intervjua

Treba pitati o svemu što se smatra važnimništa nije samo po sebi razumljivo i svima jasnone pretpostavljati da se unaprijed zna o čemu se radi

Repertoar i vrste pitanjaPitanja zatvorenog tipa:

• Koliko ... obrađujete (u nekom razdoblju)?• Na koji način obrađujete ... ?

Pitanja otvorenog tipa:• Što mislite o ... ?• Koji su najveći problemi ... ?

“Probna” pitanja:• Zašto ?• Možete li navesti primjer za takvu situaciju?• Molim detaljnije objašnjenje za ...

79FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za vođenje intervjua

Analiza odgovorarazlučivanje činjenica od mišljenjautvrđivanje da li pojedine činjenice odgovaraju drugimaanaliza činjenica koje se ne poklapaju provjera odgovora različitih sugovornika na isto pitanje

Preporučljivo ponašanjeiskrenost i nepristranost

• cilj je naći za korisnika najprikladnije rješenje, a ne podupirati određeno programsko rješenje ili računalnu platformu

pažnja i jezgrovitost• “brzo misli, jasno govori”

izbjegavanje sugestivnih pitanjanenametanje zaključakaležernost (+ praćenje reakcija sugovornika)

Grupno intervjuiranjeizbjegavati i po potrebi nadomjestiti radnim sjednicama iznimno provesti, kada se želi utvrditi zajednički interes ili proturječje

80FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upitnici i anketeUpitnik (pismeni intervju)

sadrži pitanja koja se postavljaju tijekom razgovora (okvirno 20)može se dostaviti korisniku prije, umjesto ili nakon intervjuanedostaci:

• ispitanik može prilagoditi (kontrolirati) svoje odgovore• teško je procijeniti iskrenost (spontanost) odgovora• može obeshrabriti ispitanika

Primjer: Podsjetnik za SIOAnketa (inventar)

može se obuhvatiti više ispitanikapitanja zatvorenog tipaodgovori i obrada odgovora mogu se standardiziratipogodna za popis resursaPrimjer: IS-Resursi

Intervjuiranje je elastičnije!Pomoću intervjua može se više naučiti o stavovima, osjećajima i motivaciji osoblja.Tijekom intervjua analitičar i ispitanik nalaze se jedan nasuprot drugom, pa analitičar može promatrati način na koji ispitanik odgovara i po potrebi proširiti ili usmjeriti pitanja.

Page 21: FER PIS Predavanja

81FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Proučavanje dokumenata

Prikuplja se sve do čega se može doćiAnaliza procesa

• Tipični dokumenti: pravilnici i zakoniAnaliza podataka

• Tipični dokumenti: obrasci (formulari), izvješća• Poželjno je da dokumenti budu reprezentativni, tj. popunjeni na tipičan način.

Tako se može ustanoviti koje informacije se uopće unose i na kakav način.– Reprezentativni dokumenti najčešće ne ukazuju na izuzetke, to jest podatke koji se

rjeđe bilježe ali ipak trebaju.– Također, stalno bilježenje nekih podataka ne mora značiti da su ti podaci stvarno

potrebni.– Treba prikupiti više uzoraka iste vrste dokumenta! ( sampliranje)

Vrijednost informacija o analiziranoj organizaciji prikupljena (samo) preko dokumenata je niska.

Praksa može odudarati od pravilnika i administrativnih obrazaca.Treba shvatiti zašto i kada dokumenti nastaju, kako se popunjavaju, koliko su potrebni te što treba promijeniti da bi ih se popravilo (sadržaj, lakoća popunjavanja i čitanja) Nužno je modele (podataka) razlučene analizom provjeriti kod korisnika.

Primjeri: \Dokumenti

82FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Analiza postojećih aplikacija i evidencija

Procjena aplikacija i (baza) podataka u primjenikorišteni programski jezici i pomagala, uključujući programe za uredsko poslovanje (npr. Excel)podržane funkcije i način posluživanja programameđusobna povezanost različitih aplikacija i podatakapostojeće platforme (računalo, operacijski sustav, mreža, SUBP)sastav i stupanj informatičke izobrazbe korisnika

Nedostaci sklopovske opreme i programske podrškenepovezanost aplikacija (tzv. informatički otoci)loša programska rješenja (funkcionalnost, ergonomija)nepouzdanostintegritet, zaštita i sigurnost podatakanepostojanje programske dokumentacijetehnološka zastarjelost (programski jezici i alati, nemogućnost rada u višekorisničkom okruženju, grafičko sučelje)

Primjeri: \PIS-PrimjerProjekta

83FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Analiza postojećih aplikacija i evidencija Nedostaci modela podataka

Različitost modela podataka postojećih aplikacija• entiteti iz stvarnog svijeta nisu jednako zastupljeni u postojećim modelima• isti entitet iz stvarnog svijeta pojavljuje se pod različitim nazivima• isti entitet iz stvarnog svijeta opisan je različitim atributima• dva ili više entiteta iz stvarnog svijeta prikazano je različitim brojem entiteta u

podatkovnim modelimaNedostaci unutar pojedinog modela

• nedefiniranost identifikatora (primarnih ključeva)• nedefiniranost veza među podacima, najčešće kao posljedica nepostojanja

primarnih ključeva• nedefiniranost veza unatoč postojanju primarnih i (drugih) stranih ključeva, kao

posljedica razvoja tijekom uporabe i nedosljednosti• naglašena zalihost uvedena prilikom izrade zahtjevnih ili složenih programskih

rješenja• ukupna nenormaliziranost modela

Primjer: ERwin Examiner

Navedeni nedostaci opreme, podrške i podataka najčešći su razlozi za izgradnju novog IS! ( Operativna izvodljivost)

84FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Promatranje poslovnog sustavaUvid u poslovne procese promatranjem radnih sredina

promatra se lokacija i kretanje ljudi te tijek izvršavanja poslova• fizički ulazi i izlazi sustava• zaprimanje, izrada i razmjena dokumenata• procesi osnovne djelatnosti, primjerice proizvodnja

Prednostianalitičar je u stanju realno sagledati poslovni proces učinkovitost, ako se dobro provedepouzdanost prikupljenih informacija

Nedostacineučinkovitost, ako se dobro ne provedeutrošak vremenaometanje i neugoda promatranih osobamogućnost manipulacije promatrača

• npr. prikrivanjem uobičajenog kršenja radnih procedura Dužina i učestalost promatranja

Podaci dobiveni iz malog broja kratkotrajnih promatranja mogu biti nepouzdani i netočni.

Promatranje na licu mjesta je najteža metoda za pronalaženja činjenica.

Page 22: FER PIS Predavanja

85FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Radne sjedniceRadni sastanci, sjednice (workshop)

analitičari i korisnici zajednički provode analizu i oblikovanjecilj sjednice je (zajedničko) pronalaženje najboljeg rješenjaposeban prostor i izolacijamoderator, dnevni red i zapisnici

Genijalnost grupe (tzv. brainstorming)koristi se za prikupljanje ideja i definiranje inofrmacijskih potrebakorisnike se potiče na aktivno i kreativno sudjelovanjeizvodi se tako da se svakog ispitanika iz grupe zatraži da definira po njemu idealno rješenje svaki sudionik iznosi sve što mu pada na pamet u svezi s problemom koji se rješavaod predloženih rješenja odabire se najbolje prema realnoj izvodljivostipostupak je učinkovit tamo gdje postoje korisnici koji dobro poznaju sustav ali teško prihvaćaju nove ideje

Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design,John Wiley & Sons, 2000

86FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Radne sjednicePrednosti

Sjednice su pogodne za projekte kojima se rješavaju problemi važni za čitavu organizaciju ili veći dio poslovanja.Izbjegavanje specifičnih (egzotičnih) i nejasnih zahtjevaPreciznije ustanovljavanje dosega projektaBolje uočavanje proturječnih zahtjeva

Nedostaci sadržaj i dinamika

• pasivnost sudionika• “usitnjavanje” razgovora• udaljavanje od tema

trajanje• sjednice bi trebale trajati više dana (5-10) u nekoliko tjedana• ovom zahtjevu u praksi je vrlo teško udovoljiti zbog obveza sudionika

otpor sjednici i pratećoj izolaciji• razmjeran je razini položaja konkretnog sudionika• naglašen kada poduzeće zapošljava informatičare, jer se podrazumijeva da je

informatizacija isključivo njihov posao.

87FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razvoj prototipa

Prototipiranje (prototyping)Koristi se kada korisnik ne može točno definirati svoje informacijske potrebe prije nego što se izgradi informacijski sustav. Razlog tomu može biti nedostatak postojećeg modela na kojem bi korisnik zasnivao svoje potrebe ili pak teška vizualizacija budućeg sustava.

Izrada prototipaIzgrađuje 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 korištenje sustava i modificiranja istog iterativno se ponavlja, a informacijske potrebe korisnika otkrivaju korištenjem sustava.

Izrada prototipa pogodna je u onim okruženjima gdje je teško definirati konkretni model sustava te u okruženjima gdje se informacijske potrebe korisnika mijenjaju ili razvijaju.

88FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Najčešći problemi pri prikupljanju informacijaPonašanja korisnika

Taktika kuhinjskog sudopera • korisnik navodi (preko)brojne potrebe: hrpu nepotrebnih izvještaja, formi,

sortiranja, izračuna i sl.• ovakav pristup obično je uzrokovan pomanjkanjem iskustva korisnika koji ne zna

što bi mu stvarno trebalo zatrebati ili nije u stanju razlučiti ono što je bitnoTaktika dimne zavjese

• korisnik traži više mogućnosti a zapravo mu je potrebna samo jedna ili dvije• dodatni zahtjevi služe za postizanje bolje nagodbe s analitičarom• taktika obično oslikava korisnika s dobrim poznavanjem onoga što želi, a zahtjeve

treba reducirati na one realne i izvodljiveTaktika "Treba mi isto ali u boljem obliku"

• korisnik koji koristi ovu taktiku nedostaje volja ili znanje, a ponekad oboje• šanse za uspješno definiranje problema su male jer samo korisnik može izraziti

svoje potrebe i problemeKorisnik je sklon prešutjeti izuzetke, koji su bitni (nužni !!!) za uspješnu realizaciju, a obično zahtijevaju i najviše napora tijekom ugradnje.

"To je naša jedina procedura … (osim kada …)"Ne izjednačavati “tako se uvijek radi” s “tako treba raditi”!

primjer: Google Search "Company Policy"

Page 23: FER PIS Predavanja

89FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Poslovna politikaStart with a cage containing five monkeys. In the cage, hang a banana on a string and put a set of stairs under it. Before long, a monkey will go to the stairs and start to climb towards the Banana. As soon as he touches the stairs, spray all of the monkeys with cold water. After a while, another monkey makes an attempt with the same result - all the monkeys are sprayed with cold water.

Pretty soon, when another monkey tries to climb the stairs, the other monkeys will try to prevent it. Now, turn off the cold water. Remove one monkey from the cage and replace it with a new one. The New monkey sees the banana and wants to climb the stairs. To his horror, all of the other monkeys attack him. After another attempt and attack, he knows that if he tries to climb the stairs, he will be assaulted.

Next, remove another of the original five monkeys and replace it with a new one. The newcomer goes to the stairs and is attacked. The previous Newcomer takes part in the punishment with enthusiasm. Again, replace a third original monkey with a new one. The new one makes it to the stairs and is attacked as well. Two of the four monkeys that beat him have no idea why they were not permitted to climb the stairs, or why they are participating in the beating of the newest monkey.

After replacing the fourth and fifth original monkeys, all the monkeys which have been sprayed with cold water have been replaced. Nevertheless, no monkey ever again approaches the stairs.

Why not?

Because that's the way it's always been around here.

And that's how company policy begins.... (Google search: company policy)

Analiza sustava

91FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Analiza sustavaAnaliza sustava, sistemska analiza

Analiza sustava je raščlanjivanje sustava u njegove komponente da bi se proučilo kako te komponente rade i međusobno komuniciraju.provodi se s namjerom slijedeće sinteze sustava i razvoja aplikacijaSinteza sustava

• Ponovno objedinjavanje komponenti u cjeloviti, poželjno poboljšani, sustav.

Alternativna definicija Analiza sustava je (1) razmatranje i planiranje sustava i projekta, (2) proučavanje i analiza postojećeg poslovnog i informacijskog sustava te (3) definiranje poslovnih zahtjeva i prioriteta novog ili poboljšanog postojećeg sustava. [Whitten et. al, 2000]

Svrha, cilj i dubina analizeAutomatizacija poslovnih procesa - Business Process Automation (BPA)

• povećanje učinkovitosti korisnika analizom problema i uklanjanjem uzrokaPoboljšanje poslovnih procesa - Business Process Improvement (BPI)

• povećanje učinkovitosti i djelotvornosti, analizom trajanja i koštanja poslovnih procesa te predlaganjem poboljšanja (udruživanje procesa, paralelizam izvedbe)

Reinženjerstvo poslovnih procesa - Business Process Reengineering (BPR) ili Preoblikovanje poslovnih procesa - Business Process Redesign (BPR)

• radikalni redizajn poslovnih procesa, analizom mogućih posljedica, procjenom alternativnih tehnologija, ukidanjem ili zamjenom pojedinih aktivnosti, analizom troškova-koristi i analizom rizika

92FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Aktivnosti analizeAktivnosti analize

detaljna analiza postojećeg sustava te utvrđivanje potreba i zahtjeva• Kako radi postojeći sustav?• Na koji način ljudi koriste sustav da bi obavili svoj posao?• Koji su problemi pri korištenju 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 način se podaci prikupljaju i objedinjuju?

daljnja razrada granica projektaprimjeri: ProtokDokumenata, RazmjenaPodataka

Pozadinska analizaVažno je da shvatiti strukturu organizacije, tko u njoj radi, tko je kome podčinjen, kako surađuju različiti odjeli, itd.

Provedba analize - modeliranje sustavaZa potrebe pozadinske analize može se izraditi shema organizacijske strukture iz koje će biti vidljivo koja osoba ili grupa ljudi obavlja koji dio posla ( Modeliranje funkcija).Za ostale elemente također se rade odgovarajući modeli ( Modeliranje procesa, modeliranje podataka)

Page 24: FER PIS Predavanja

93FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Postupci i tehnike analizeModerna strukturirana analiza

procesno usmjerena tehnika modeliranja poslovnih zahtjeva na sustav Informacijsko inženjerstvo

podatkovno usmjerena, ali procesno osjetljiva tehnika, usmjerena proučavanju organizacije ili njenih većih dijelova kao cjeline, a ne projekt po projekt

Brzi razvoj aplikacija (Rapid Application Development - RAD)razvoj djelomičnih verzija aplikacija, koje mogu evoluirati do konačnog rješenja

Združeni razvoj aplikacije (Joint Application Development - JAD)analiza zasnovana na intenzivnim radnim sjednicama na kojima vlasnici, korisnici, analitičari, dizajneri i graditelji zajednički definiraju i oblikuju sustav

Objektno usmjerena analiza• modeliranje učahurivanjem podataka i procesa u objekte

proučavanje postojećih objekata da bi se vidjelo mogu li se ponovno iskoristiti ili prilagoditi za nove primjenedefiniranje novih ili modificiranih objekata koji će skupa s postojećim objektima graditi novu aplikaciju

Navedeni postupci mogu se komplementarno primjenjivati, unatočuvriježenom poimanju da je riječ o međusobno isključivim metodama!!

94FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strukturirana analizaModerna strukturirana analiza = Logički dizajn (česti sinonim)

strukturirana analiza → strukturirani proces i rezultati analizetehnika modeliranja poslovnih zahtjeva na sustav

• usmjerena procesima, ali se razvila tako da obuhvaća i podatke• strukturiranje procesa, ulaza, izlaza te spremišta podataka potrebnih da bi se

ogovorilo na poslovne događajelogički modeli – modelima se prikazuje ŠTO je sustav i ŠTO mora raditi (ne KAKO)

• koriste se dijagrami toka podataka za logički prikaz poslovnih zahtjeva nezavisno od tehničkih rješenja logički dizajn

• izražavaju suštinu sustava sinonimi: esencijalni, konceptualni, poslovni modeliuključuje određivanje prioriteta zahtjeva

Analiza s ciljem automatizacije poslovnih procesarazumijevanje postojećeg sustava

• ekstenzivno prikupljanje informacija i zahtjeva• oblikovanje procesa i podataka

uočavanje mogućih poboljšanja (ako nije učinjeno ranije)• analiza problema – identificiranje problema, ustanovljavanje željenih poboljšanja• analiza uzroka (root causes analysis) – prioriteti problema i traženje uzroka

razvoj koncepata budućeg sustava• prikupljanje dodatnih informacija• revizija i dorada modela

95FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje zahtjevaIEEE standard definira zahtjeve kao:

(1) Uvjet ili sposobnost koje korisnik treba da bi riješio 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 mogućnosti definiranih pod (1) ili (2). [IEEE Std 830-1998], [IEEE Std 610.12-1990]

Zahtjevi ne sadrže detalje dizajna, detalje implementacije ili informacije vezane uz planiranje projekta. Pažnja se usmjerava na ono ŠTO se želi izgraditi, a ne ulazi se u detalje kako i kada to napraviti.

Za 40-60% pogrešaka u projektu uzrok leži u pogreškama napravljenim u fazi postavljanja zahtjeva. [Leffingwell, 1997]

Tipična posljedica su "prazna očekivanja" (expectation gap): razlika između onog što očekuje naručitelj i onoga što je izvoditelj mislio da treba napraviti.

Naknadne prepravke mogu predstavljati do 40% troškova razvoja, od čegaje 70-85% pripisivo pogrešnim zahtjevima [Leffingwell, 1997].

Nepotpuno definirani zahtjevi čine planiranje projekta i praćenje promjena nemogućim.

96FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste zahtjevaPoslovni zahtjevi (zašto)

ciljevi organizacije ili korisnički zahtjevi na višoj razini, opis problema koje treba riješiti • primjer: poslovna potreba, "Poboljšanje usluge postojećim klijentima i

pridobivanje novih"sadržani u dokumentima u kojima se opisuje vizija i opseg projekta

• primjer: poslovni zahtjev, "Omogućiti Internet prodaju"Korisnički zahtjevi (zahtjevi krajnjih korisnika)

opisuju zadatke koje korisnik mora moći obaviti služeći se aplikacijamasadržani u opisima slučajeva korištenja, tj. opisima scenarija rada

Funkcionalni zahtjevi (što)definiraju softversku funkcionalnost (očekivano ponašanje i operacije koje sustav može izvoditi) koju treba ugraditi u proizvod da bi omogućio korisnicima obavljanje njihovih zadatakaposebno zanimljiva mogućnost programa (feature) – skup logički povezanih funkcionalnih zahtjeva koje korisniku omogućuju ispunjavanje poslovnih zahtjeva

Nefunkcionalni zahtjevi (kako ili kako dobro)standardi, pravila i ugovori kojih se proizvod mora pridržavati, opisi vanjskih sučelja, zahtjevi na performance, ograničenja na dizajn i implementaciju, te svojstva kvalitete (preciziraju opis proizvoda navodeći karakteristike proizvoda u različitim dimenzija koja su važne ili korisniku, ili graditelju)

Prioriteti pojedinih elemenata

Page 25: FER PIS Predavanja

97FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjeri zahtjeva vlasnika sustava

Očekivana novčana uštedaSustav mora biti tako koncipiran da prava na subvencioniranu prehranu može koristiti samo student koji ih je stekao i da ih može koristiti samo u svrhu prehrane.

Sustav mora onemogućiti:korištenje subvencije od strane osoba koje nemaju na to pravozaradu ilegalnih posrednikakorištenje subvencije za druge svrhe osim prehranenaplatu usluga koje nisu pružene

U idealnom slučaju zahtjevi vlasnika podudaraju se s poslovnim ciljevima!

98FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjeri zahtjeva krajnjih korisnika

Prehrana kod bilo kojeg pružatelja uslugaNovi sustav mora omogućiti da student ostvaruje svoje pravo kod bilo kojeg pružatelja usluge subvencionorane prehrane. Dosadašnja praksa je bila da svaki pružatelj usluga izdaje svoje bonove koji se mogu koristiti samo u određenim restoranima.

Ukinuti plaćanje unaprijedTreba izbjeći bilo kakvo plaćanje od strane studenata za potrebe ostvarivanja prava, a posebice unaprijed.

Ukloniti nepotrebne postupke za ostvarivanje pravaSustav mora biti tako koncipiran da kad se studentu jednom zavedu prava na matičnoj ustanovi nisu potrebna nikakva daljnja dokazivanja za ostvarivanje prava kod pružatelja usluga.

Smanjiti rizik gubitka ostvarenih pravaSustav mora onemogućiti zloporabu stečenih prava.

Lakše ostvarivanje ostalih prava iz studentskog standardaNpr. javni prijevoz po povlaštenoj cijeni, kazališta, kina, smještaj u studentskim domovima, student-servis, itd.

99FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer nepotpunog zahtjeva

"Proizvod će dostaviti statusnu poruku u redovitim intervalima ne manjim od 60 sekundi."

Što je statusna poruka i pod kojim uvjetima će biti dostavljena? Koliko dugo ostaje vidljiva? Koji dio proizvoda će dostaviti poruku? Koliko dosljedni intervali moraju biti?

Zahtjev, preciznije i detaljnijeModul za nadzor će ispisivati statusnu poruku u za to određeni dio sučelja.Poruka će se ažurirati svakih 60 sekundi (plus minus 10 sekundi) nakon što započne izvođenje pozadinskog zadatka i bit će vidljiva cijelo vrijeme.Ukoliko se pozadinski zadatak izvodi normalno, modul za nadzor će ispisivati postotak obavljenog posla.Modul za nadzor će ispisati "Zadatak obavljen." nakon što se zadatak obavi.Modul će ispisati poruku o pogrešci ukoliko dođe do zastoja u izvođenju.Problem je rastavljen u više zahtjeva jer će svaki zahtijevati posebno testiranje.

Ukoliko je više zahtjeva grupirano u jedan lakše je previdjeti neki od njih tijekom izrade ili testiranja.

Primijetiti da u zahtjevu nije detaljno opisano kako će se poruka i gdje ispisivati. To će biti odlučeno tijekom dizajna.

100FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer neostvarljivog zahtjeva

"Proizvod će se trenutno prebaciti između ispisivanja i skrivanja znakova koji se ne mogu tiskati."

Računala ništa ne mogu napraviti trenutno te je ovaj zahtjev neostvariv.Da li programska podrška sama odlučuje kad će se prebaciti iz jednog stanja u drugo ili je to inicirano akcijom korisnika? Na koji dio teksta će se primijeniti promjena prikaza: da li samo označeni tekst, cijeli dokument ili nešto treće?Nejednoznačnost: da li su "znakovi koji se ne mogu tiskati" skriveni znakovi, posebne oznake ili kontrolni znakovi?

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 točno navedeno kakvu (npr. kombinacija tipki), što se prepušta dizajnerima.

Page 26: FER PIS Predavanja

101FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer neodređenog zahtjeva

"Parser će brzo generirati izvješće o pogreškama HTML oznaka, koje omogućava brzi ispravak pogrešaka kada program koriste početnici u HTML-u."

Riječ "brzo" je neodređena. Nije definirano što tvori izvješće i to čini zahtjev nekompletnim. Kako se ovjerava zahtjev? Pronaći nekoga tko se smatra početnikom u HTML-u i zatim vidjeti kako brzo će, uz pomoć izvješća, ispraviti pogreške? Kada se generira izvješće?

Bolje:Nakon što je HTML analizator obradio datoteku generirat će izvješće koje sadrži broj linije i tekst pronađenih HTML pogrešaka, te opis svake pogreške. Ukoliko nema pogrešaka prilikom analize, neće se generirati izvješće.

102FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Određivanje zahtjevaPoslovni zahtjevi

Sve što opisuje financijski, trgovački, ili drugi poslovni probitak koji korisnici, ili organizacija koja razvija sustav, mogu dobiti je najvjerojatnije poslovni zahtjev.

Slučajevi korištenja ili scenarijiOpćenite izjave o korisničkim ciljevima ili poslovnim zadacima koje korisnici moraju obavljati najvjerojatnije su slučajevi korištenja, dok specifični opisi zadataka predstavljaju korisničke scenarije. Specifične zadatke treba generalizirati u općenite slučajeve korištenja.

Poslovna pravilaKada korisnik izjavi da se neku aktivnost mogu obavljati samo pojedine osobe ili uloge, pod određenim uvjetima, on možda opisuje poslovno pravilo. Poslovna pravila su operativni principi poslovnih procesa. Oni nisu funkcionalni zahtjevi.

Funkcionalni zahtjeviIzjava koja počinje s «Korisnik mora moći obaviti neku funkciju», ili «Sustav treba moći demonstrirati određeno ponašanje» je najvjerojatnije funkcionalni zahtjev. Funkcionalni zahtjevi opisuju vidljivo ponašanje sustava i definiraju što će sustav raditi. Treba biti svima jasno zašto sustav «mora» biti u stanju obavljati određene funkcije. Predloženi funkcionalni zahtjevi ponekad predstavljaju zastarjele ili neučinkovite poslovne procese koji ne trebaju biti uključeni u novi sustav.

Atributi kvaliteteIzjave koje opisuju kako dobro sustav obavlja funkciju su atributi kvalitete, tj. jedna vrsta nefunkcionalnih zahtjeva. Zahtjeve koji opisuju poželjne 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.

103FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Određivanje zahtjeva IIZahtjevi vanjskih sučelja

Ovaj razred zahtjeva opisuje veze između sustava i vanjskog svijeta. Specifikacija sistemskih zahtjeva trebala bi uključivati odlomke za ove zahtjeve uključujući i sučelja te mehanizme komunikacije za korisnike, hardver i druge softverske sustave.

OgraničenjaOgraničenja su uvjeti koji ograničavanju izbor rješenja raspoloživih dizajneru ili programeru. Spadaju u nefunkcionalne zahtjeve i trebaju biti dokumentirani. Neopravdana ograničenja treba pokušati odbaciti jer onemogućavaju postizanje najboljeg rješenja. Također mogu umanjiti primjenu komercijalnog softvera i komponenti u rješenju. Neka ograničenja mogu pomoći u zadovoljavaju atributa kvalitete. Primjer je poboljšanje prenosivosti programa korištenjem samo standardnih naredbi nekog računalnog jezika.

Definicije podatakaDefinicija podataka je bilo koji opis formata, dozvoljenih vrijednosti, pretpostavljenih vrijednosti ili kompozicija složenih podatkovnih struktura. Sve definicije bi trebalo pohraniti u rječnik podataka, kao glavno kazalo za sudionike na projektu.

Ideje o rješenjuAko korisnik opisuje specifičan način interakcije sa sustavom kojom bi mogao obaviti neku akciju, npr. «Korisnik odabire podatak koji on želi iz padajuće liste», on predlaže rješenje, a ne zahtjev. Predloženo rješenje može odvući pažnju od pravih zahtjeva. Kod postavljanja zahtjeva treba se usmjeriti na ono što je potrebno obaviti, a ne na način realizacije. Treba istražiti zašto korisnik predlaže određenu ugradnju jer to može pomoći u razumijevanju stvarne potrebe i korisnikovih očekivanja o načinu kako bi sustav trebao raditi.

104FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Postavljanje prioriteta

Nužno svojstvo - Da li vlasnik sustava nešto stvarno mora imati? Postoji tendencija da se previše zahtjeva proglasi nužnim!Po definiciji, ako sustav ne uključuje nužne zahtjeve, taj sustav ne može ispuniti svoju svrhu. Treba testirati svaki zahtjev koji se smatra nužnim i probati ga rangirati.

• Ako se zahtjev može rangirati onda nije obvezan! • Potpuno obvezni zahtjevi se ne mogu rangirati jer su nužni za prvu

verziju sustava!Poželjno svojstvo - Funkcije koje korisnik želi na kraju imati

Ranije verzije sustava mogu pružiti (ne potpunu) funkcionalnost bez tihzahtjeva. Poželjni zahtjevi mogu i trebaju biti rangirani.

Neobvezna svojstva - Proizvoljni zahtjeviSvojstva i mogućnosti bez kojih se može. Iako bi ih lijepo bilo imati, to nisu pravi zahtjevi. Ovi zahtjevi također mogu biti rangirani.

Page 27: FER PIS Predavanja

105FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dokumentiranje analize (zahtjeva)

Definicija zahtjeva (Requirements Definition)izjava o stanju i ograničenjima sustava te potrebamanarativni dokument namijenjen korisniku ili ga piše korisnik

• poslovni i korisnički zahtjevi te njihovi prioriteti• uočeni problemi, ključne pretpostavke i preporuke rješenja

Specifikacija zahtjeva (Requirements Specification)često se naziva i funkcionalnom specifikacijomstrukturirani dokument s detaljnim opisom očekivanog ponašanja sustavanamijenjen ugovarateljima i izvoditeljima razvojaugradbeno nezavisan pogled na sustav

• funkcionalni i nefunkcionalni zahtjevi te njihovi prioriteti• model organizacijske strukture (strukturni dijagrami)• opis protoka dokumenata (dijagrami toka)• model procesa (dijagram toka podataka)• konceptualni model podataka (dijagram entiteti-veze)

Primjeri: \Analiza\ProtokDokumenata, RazmjenaPodataka\Dokumentacija\

106FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Predložak dokumenta specifikacije zahtjeva1. Uvod

1.1 Namjena1.2 Konvencije dokumenta1.3 Tko treba čitati dokument i savjeti

za čitanje dokumenta1.4 Opseg proizvoda1.5 Reference

2. Sveobuhvatni pregled2.1 Kontekst proizvoda2.2 Funkcije proizvoda2.3 Kategorije korisnika i svojstva2.4 Okružje u kojem se izvodi proizvod2.5 Ograničenja dizajna i ugradnje2.6 Pretpostavke i ovisnosti

3. Zahtjevi za sučeljem3.1 Korisničko sučelje3.2 Hardversko sučelje3.3 Softversko sučelje3.4 Komunikacijsko sučelje

4. Svojstva sustava4.x Svojstvo X4.x.1 Opis i prioriteti4.x.2 Nizovi pobuda/odziv4.x.3 Funkcijski zahtjevi

5. Ostali nefunkcionalni zahtjevi5.1 Zahtjevi za performansama sustava5.2 Zahtjevi za sigurnošću korisnika5.3 Zahtjevi za sigurnošću podataka5.4 Kvaliteta programske podrške5.5 Poslovna pravila5.6 Korisnička dokumentacija

6. Ostali zahtjeviDodatak A: RječnikDodatak B: Modeli i dijagramiDodatak C: Lista nedovršenih/neodređenih

zahtjeva

107FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Rizici lošeg planiranja zahtjevaNedovoljna uključenost korisnika

• bez korisnika ne može se točno znati što korisnici žele neprihvatljivi proizvodiČudni korisnički zahtjevi

• neopravdana promjena mišljenja tijekom izvedbe prekoračenja rokova i degradacije kvalitete proizvoda

Nejasni (dvosmisleni) zahtjevi• situacija u kojoj čitatelj(i) zahtjeva zahtjev tumače na više načina gubljenje

vremena i prepravljanjePretjerano ukrašavanje

• želja izvođača da dodaju novu funkcionalnost "koja bi se trebala svidjeti korisnima" i zahtjev korisnika za dodacima koji dobro izgledaju ali ne pridonose funkcionalnosti nepotrebni dodaci i gubljenje vremena

Minimalističke specifikacije• tendencija postavljanja minimalnih zahtjeva ili skiciranja koncepta, uz želju da ih

izvođači nadopune tijekom izvedbe frustracije izvođača, neispunjena očekivanja korisnika

Zanemarivanje potreba• zanemarivanje potreba određenih (grupa) korisnika stvaranje 'opozicije'

projektu

108FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva dobro postavljenih zahtjevaSvojstva dobrih izjava o zahtjevima [IEEE, 1998]

Potpunost (cjelovitost)TočnostOstvarivost (izvodljivost)NužnostPoredak po prioritetimaNedvosmislenostMogućnost provjere

Svojstva dobrih specifikacija zahtjevaPotpunostKonzistentnostMogućnost izmjeneMogućnost praćenja

Cilj je napisati dovoljno dobre zahtjeve, na temelju kojih se može pristupiti dizajnu i ugradnji uz prihvatljiv stupanj rizika.Nedovoljno definirani zahtjevi

Ponekad nedostaju informacije o nekom zahtjevu. Takve zahtjeve treba dosljedno označiti posebnom, dogovorenom oznakom npr. TBD (engl. To BeDetermined - za odlučiti, razlučiti). Dokument se kasnije može pretraživati po tim oznakama. Implementaciju ovakvih zahtjeva treba odgoditi do razrješenja nedoumice ili barem treba dizajnirati one dijelove sustava koje je lako promijeniti kad se zahtjev konačno definira.U suprotnom će programeri zahtjev ugraditi prema vlastitom nahođenju, koje ne mora biti točno.

Page 28: FER PIS Predavanja

109FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Analiza i modeliranje sustava

Na temelju izjava korisnika i prikupljene dokumentacije modeliraju se pojedine komponente sustava (procesi, podaci, događaji)

Moguća su preslikavanja uočenih imenica i glagola u konkretne elemente modela kakvi će biti opisani u nastavku.

"Kemičar ili član osoblja kemijskog laboratorija može podnijeti zahtjev za jednom ili više kemikalija. Zahtjev može biti udovoljen ili dostavom pakiranja kemikalije koja se većnalazila na zalihi kemijskog laboratorija ili upućivanjem narudžbe za novim pakiranjem kemikalije od vanjskog dobavljača. Osoba koja upućuje zahtjev mora imati mogućnost pretraživanja kataloga kemikalija vanjskog dobavljača dok sastavlja narudžbu. Sustavmora pratiti status svakog zahtjeva za kemikalijama od trenutka kad je ispunjen do trenutka kad je udovoljen ili otkazan. Također, mora pratiti povijest svakog pakiranja kemikalija od trena kad stigne u kompaniju do trenutka kad je potpuno upotrijebljen ili odbačen."

•Procesi(DFD) •Odnosi (ERD) •Prijelazi (iz stanja u stanje) (STD)•Metode razreda (dijagram razreda)

•Akcije, ono što korisnik može poduzeti, ili događaji koji se mogu dogoditi

Glagol

•Terminatori ili spremnici podataka (DFD)•Entiteti ili njihovi atributi (ERD)•Razredi ili njihovi atributi (dijagram razreda)

•Ljudi, organizacije, softverski sustavi, podatkovne jedinice, ili postojeći objekti

Imenica

Komponente analitičkog modelaPrimjerTip riječi

110FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za analizuTehnike i pomagala ne znače puno bez ispravnog pristupa.

Postupak analize mora biti prilagođen korisniku.Ključno je razumjeti suštinu organizacije i način poslovanjaPrimjer: \Analiza\ PreporukeZaAnalizu

Ono što korisnik želi često nije i ono što korisnik stvarno treba!

Da se priča o klasičnom razvoju ne bi ponavljala, rade se modeli sustava (postojeći fizički i logički, budući logički…).

Paraliza analizePostupak ponavljanog modeliranja postojećeg sustava i vrednovanja modela može utrošiti značajno vrijeme na modeliranje nečega što će vjerojatno biti izmijenjeno ili zamijenjeno.Ne pretjerivati s modeliranjem postojećeg sustava!

Slika: Awad, 1985; preveo Anonymous(WWW)

Modeliranje funkcija i procesa

112FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje procesa i funkcija

Logički procesi: funkcije, događaji i elementarni procesirad i akcije koji se obavljaju bez obzira na način ugradnje i resurse sustava (ljudi, strojevi, softver)Neke metode poistovjećuju funkcije i procese!

Postupak dekompozicijestvarni problemi su preveliki i presloženi da bi ih se riješilo odjednom (“u komadu”) strukturno raščlanjivanje, rastavljanjenačelo podijeli pa s/vladaj (lat. divide et impera, eng. divide and conquer)

Sustav se razlaže i opisuje hijerarhijskim modelimamodeli sustava oblikuju se iterativnim razlaganjem s vrha prema doljerazlagati se mogu

• funkcije i procesi• organizacijska struktura• struktura podataka• struktura programske opreme

Aplikacijski model procesa = logički model procesa sustava ili aplikacije koji se radi u fazi analize

Page 29: FER PIS Predavanja

113FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Logički procesiFunkcija

skup logički povezanih trajnih poslovnih aktivnosti i zadataka (djelatnost, posao)• funkcija se obavlja stalno (nema određeni početak i kraj)• funkciju obavljaju osobe, grupe djelatnika ili organizacijske cjeline

tipični primjeri: prodaja, proizvodnja, otprema, računovodstvofunkcija se može sastojati od desetina pa i stotina diskretnih procesa

• funkcije se mogu hijerarhijski razložiti do razine diskretnih procesa koji obavljaju određeni zadatak kojim odgovaraju na poslovne događaje

Događajlogički dio posla koji se obavlja kao nedjeljiva cjelina česti naziv transakcija

• pokreće se diskretnim ulazom i završava nakon što proces odgovori odgovarajućim izlazom

poslovni događaj može se predstaviti jednim procesom kojim sustav reagira na taj događaj

• logički događaj dalje se razlaže do elementarnih procesa kojima se prikazuje reakcija sustava na taj događaj

Proces (elementarni, primitivni proces)postupak, način rada, dosljedna izmjena stanjadiskretna odluka, aktivnost ili zadatak kojima se obavlja neki posao

• proces se obavlja uvijek na jednak način (za određeni ulaz daje isti izlaz)• trajanje procesa je konačno i odredivo (poznati početak, završetak, ponavljanje)• za obavljanje se koriste sredstva, npr. ljudska, materijalna (strojevi), financijska

114FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poslovna pravila i poslovna politika

Poslovno pravilo, poslovna politikaposlovno pravilo - instrukcije i logika koji određuju proceduru obavljanja procesa

• ugrađuje se u računalni program (npr. preduvjeti izlaska na ispit, broj polaganjaispita, uvjeti upisa)

poslovna politika – skup poslovnih pravila• u većini organizacija podloga za donošenje odluka

Primjer: subvencioniranje studentske prehraneOvisno o evidentiranoj razini prava, studenti imaju dnevno dozvoljeni iznos cijene konzumirane hrane koji je subvencioniran. Taj iznos ne predstavlja dnevno ograničenje, već se svakog prvog u mjesecu dodjeljuju prava za čitav mjesec kojima student raspolaže po želji. Mjesečni iznos raspoloživ za subvenciju jednak je umnošku broja dana u mjesecu i dnevnog subvencioniranog iznosa za razinu prava. Npr. za razinu prava 1 (studenti domicilni) dnevno subvencionirani iznos je 16.70 Kn (cijena jednog menija), pa student te razine u mjesecu svibnju ima raspoloživo za subvenciju 16.70 * 31 = 517.7 Kn. Iznos raspoloživ za subvenciju se akumulira tijekom čitave akademske godine što znači da se neiskorištena prava iz jednog mjeseca prebacuju na slijedeći. Na kraju akademske godine akumulirani iznos se briše.Za ostvarivanje bilo koje razine prava veće od 1, potrebno je …Da bi student prvog u mjesecu stekao novi dozvoljeni subvencionirani iznos, moraju biti ispunjeni uvjeti: …

115FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje funkcija

Funkcionalna dekompozicija, dekompozicija funkcijakoristi se za izradu općeg modela funkcija (modela poslovnih funkcija) promatranog sustava u fazi planiranja strukturirano planiranjehijerarhija funkcija iterativno se razlaže do razine procesa, tj. do trenutka kada se počne opisivati što se nekom funkcijom obavlja

0 The System

1 A Function of the System

1.1 Activity of the Function

Task 1.1.3

1.2 Another Activity of the Function

Task 1.1.1 Task 1.1.2

Task 1.2.2

Task 1.2.1

2 Another Function of the System

2.1 Activity of this Function

Task 2.1.1

Task 2.1.3 Task 2.1.4

Task 2.1.2

2.2 Another Activity of this Function

Task 2.2.1

Task 2.2.3

Task 2.2.2

0 The System

1 A Function

2 Another Function

1.1 Activity of the

Function

1.2 Another Activity of the Function

Task 1.2.2

Task 2.1.1Task 1.1.1

Task 1.1.2

Task 1.1.3

Task 1.2.1

2.2 Another Activity of this Function

2.1 Acivity of this

Function

Task 2.1.2

Task 2.1.3

Task 2.1.4

Task 2.2.1

Task 2.2.2

Task 2.2.3

116FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram dekompozicije funkcija

Dijagram funkcionalne dekompozicijeeng. Functional Decomposition Diagram (FDD)ista notacija koristi se za razlaganje bilo koje hijerarhijske strukture pa se često zove samo Dijagram dekompozicije ili Mapa hijerarhije

Elementifunkcije - označavaju se (glagolskom) imenicom, npr. Prodaja, Proizvodnjaprocesi - označavaju se glagolskim izrazom oblika infinitiv+objektspojnice - spojevi između funkcija i procesa (connector) vanjski spojevi - spojevi s dijelovima dijagrama na drugim stranicama (off-page connector)

Funkcija

Proces

Page 30: FER PIS Predavanja

117FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram dekompozicije funkcija

Primjer, dijagram funkcija za jedan sustav/podsustav:

MARKATONE

ProdajaNabava Knjigovodstvo

Evidenti ranjedobavljača

Prodajarobe

Evidenti ranjekupaca

BrisanjeDodavanje Ažuriranje

Naručivanjerobe

Otpremarobe

Izradaotpremnica

Izradanarudžbi

Zaprimanjerobe

Knjiženje Fakturiranje

118FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Hijerarhijski prikaz funkcija/procesa

Izrada globalnog modela funkcija može započeti izradom hijerarhijske liste funkcija po pojedinim organizacijskim cjelinama.Primjer:

NABAVA• Evidentiranje dobavljača• Nabavka robe

– Izrada narudžbi– Zaprimanje robe

UPRAVLJANJE OSOBLJEM• Evidentiranje službe

– Zaprimanje u službu– Praćenje službe

» redovan rad» prekovremeni rad» bolovanje» godišnji odmori

– Otpuštanje iz službe• Obračun plaća

119FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama dekompozicije

PostupakKorijen = sustavRazrada u podsustave i poslovne funkcijeDaljnja razrada do razine operacionalizacije

Pravilasvaki proces je roditelj ili dijeteroditelj mora imati barem dvoje djecepo većini standarda, dijete smije imati samo jednog roditelja

Preporukeizostaviti procese koji samo premiještaju ili preusmjeravaju podatke, a da ih pri tom ostavljaju nedirnutepažnju usmjeriti na procese koji

• nešto računaju (npr. prosjek ocjena)• donose ili potpomažu odluke (npr. određivanje raspoloživosti robe pri naručivanju)• filtriraju ili sumariziraju podatke (npr. računi kojima je istekao rok plaćanja)• organiziraju podatke u korisne informacije (npr. generiranje izvješća)• pokreću druge procese (npr. mijenjaju modalitet rada stroja)• rukuju podacima (npr. stvaranje, čitanje, ažuriranje, brisanje) - Ne pretjerivati!

120FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram dekompozicije procesa

Primjer, stablo procesa (Process Node Tree Diagram)USED AT: AUTHOR: Norm Wold DATE:

REV:PROJECT: Reengineering Quil lComputers, Inc.

05.09.199709.11.2000

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKINGDRAFTRECOMMENDEDPUBLICAT ION

READER DAT E CONTEXT:

A-0

TOP

NODE: T ITLE: NUMBER:Process Node Tree DiagramA0

USED AT: AUTHOR: Norm Wold DATE:REV:PROJECT: Reengineering Quil l

Computers, Inc.

05.09.199709.11.2000

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKINGDRAFTRECOMMENDEDPUBLICAT ION

READER DAT E CONTEXT:

A-0

TOP

NODE: T ITLE: NUMBER:Process Node Tree DiagramA0

0$8,207,581

OperateQUILL

Business

1$1,103,222

Sell &Market

Products2$690,235

DesignConf iguration

3$628,802

PlanProduction

4$3,540,136

AssembleProduct

5$1,412,889

Store &Ship

6$832,297

Prov ideCustomerSupport

ManageAdv ertisingTake OrdersProv ide PricingInf ormationDev elopDocumentationPrepare WorkTicket

Identif yVendors &ComponentsDev elopSpecif icationsSpecif yComponentsTestConf igurationApprov eVendors

Order AssemblyComponentsIssue WorkTicketManageComponentInv entoryScheduleProductionDisposeOutdatedComponent Parts

PopulateMotherboardsAssembleConf igurePerf orm FinalTestTroubleshoot& RepairPrepareOrder f orShipment

Receiv e &StoreComponentsPick OrderItemsPackageOrderShipReturnDef ectiv eParts

Answer SupportInquiriesTrace Order &Specif icationsRun D iagnosticsProv ideSolutionsManageReturns

Page 31: FER PIS Predavanja

121FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram organizacije

Shema, mapa, karta organizacije (Organization chart)prikaz strukture organizacije hijerarhijom kutija ("kućica")svaka kutija reprezentira određenu ulogu ili odgovornost u organizaciji

122FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje poslovnih procesa i funkcijaBusiness Process Modeling (IDEF0)

tehnika strukturirane analize i dizajna (Structured Analysis and DesignTechnique - SADT®, SofTech, 1960-ih), zamišljena kao inženjerska disciplina za razvoj složenih sustava koji uključuju strojeve i ljudemetoda za oblikovanje poslovnih funkcija

Grafički prikaz poslovnih procesa i angažiranih resursa

proces – niz aktivnosti (funkcija)aktivnost – prikazana ICOM konceptom

• ulaz (I=Input): nešto što se troši u procesu - opcionalan

• upravljanje (C=Control): ograničenje na obavljanje procesa - obvezno

• izlaz (O=Output): rezultat procesa -obvezan

• mehanizam (M=Mechanism): koristi se u procesu, ali se ne troši -opcionalan

123FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje aktivnosti

Oblikovanje sustava hijerarhijom ugniježdenih aktivnostiAktivnost konteksta - vrh hijerarhije, predstavlja čitav sustav

USED AT : AUT HOR: DAT E:REV:PROJECT : Process Orders

05.09.199705.09.1997

NOT ES: 1 2 3 4 5 6 7 8 9 10

WORKINGDRAFTRECOMMENDEDPUBLICATION

READER DAT E CONTEXT :

T OP

New Cus tomerInformation

Payment Verification

OrderPolicy

Cus tomerStatus

PackingSlip

OrderInvoice

Produc tInventory

On-l ineProduc tCatalog

Produc tOrderSystem

Cus tomerCreditRecords

Order Number

0

PROCESS ORDERS

Compare this viewpoint with theOrdrProd.bp1 fi le. T his is an

124FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje aktivnosti

Dekompozicija aktivnostiUSED AT: AUTHOR: DATE:

REV:PROJECT: Process Orders05.09.199705.09.1997

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKINGDRAFTRECOMMENDEDPUBLICATION

READER DATE CONTEXT:

A-0

NODE: TITLE: NUMBER:PROCESS ORDERSA0

ProductInventory

OrderPolicy

ProductOrderSystem

On-lineProductCatalog

CustomerStatus

CustomerCreditRecords

Packing Slip

NewCustomerInformation

Order Invoice

PaymentVerification

ProductRequest(s)

AvailableProducts

ProductsOrdered

CurrentPer UnitPrices

QuantitiesOrdered

FinalizedOrderInformation

POS(OrderModule)

POS(OrderModule)

POS(CreditModule)

Order Number

1

TAKE CUSTOMERORDER

2

CHECKPRODUCT

AVAILABILITY

3

DOCUMENTORDEREDPRODUCTS

4

DETERMINEPAYMENTMETHOD

5

PROVIDEORDER

VERIFICATION

Viewpoint: Order ClerkScope: New Customer Orders

Page 32: FER PIS Predavanja

125FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razrada poslovnih procesa

Radna procedura, poslovna procedura (workflow)slijed koraka obrade koji u potpunosti obrađuje jednu poslovnu transakcijudefinira logiku obrade i precizira nositeljamože imati više varijanti (scenarija)

Tehnike modeliranjau širinu - svaki dijagram se detaljizira prije dekomponiranja (breadth-first)u dubinu - identificira se hijerarhija, a zatim se detaljizira (depth-first)

Razina dekompozicije (Kada stati)postupak se provodi do dubine dovoljne za razumijevanje modela (!?)napredak do stanja u kojem ulazi i izlazi prevladaju na dijagramunastavak se može provesti

• oblikovanjem tokova procesa (IDEF3) ili • oblikovanjem tokova podataka (DFD)

» Napomena: pomagala opće namjene, kao što je Visio, podržavaju neke dijagrame formalnih tehnika ali ih različito zovu ili se notacija razlikuje od izvorne (grupe dijagrama Business Process i Flowchart, npr. IDEF0, Cross Functional FlowChart)

126FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje toka procesa

Metoda Process Flow Modeling (IDEF3) strukturirana metoda za opis poslovne situacije uređenim slijedom događaja i objekata koji u njoj sudjelujuprikazuje slijed, zavisnost i konkurentnost aktivnostiprikladna za prikupljanje informacija tijekom analize i dizajna

• poslovna politika i poslovne procedure• preoblikovanje poslovnih procesa• modeliranje scenarija kojima se odgovara na pitanja "što-ako"

127FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje toka procesa

Veze između funkcija– prethođenje - prethodna aktivnost mora završiti da bi slijedeća započela– tok podataka - izlaz prethodne jest ulaz u slijedeću aktivnost– relacijska - povezivanje uz korisnički definirani uvjet

Prijelazi, spojišta (junction)& (logički I) - svaka povezana aktivnost uvijek se obavlja / završavaX (ekskluzivno ILI) - obavlja se samo jedna od povezanih aktivnostiO (ILI) - obavlja se jedna ili više povezanih aktivnosti

128FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer toka procesa

Primjer, provjera narudžbeUSED AT: AUTHOR: Bob Saunders DATE:

REV:PROJECT: It's not jus t IDEF anymore.06.05.199922.10.1999

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A42

CustomerEnquiry /Order

No

No

Yes

Yes

Yes

No

Yes

Accounts tatusChange

No

A422.1.11

$0.00Cutsomer

Places Order

A422.1.12

$0.00Is Customer

Credit Wor thy?

A422.1.14

$0.00

Notify sales

A422.1.15

$0.00

Sourceelsewhere?

A422.1.13

$0.00Fulfill from

stock items?

A422.1.17

$0.00

Is s tock available?

A422.1.18

$0.00

Accept order

A422.1.16

$0.00

Rejec t Order

Page 33: FER PIS Predavanja

129FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer toka procesa

Primjer, modeliranje scenarijaUSED AT : AUT HOR: Norm Wold DAT E:

REV:PROJECT : Reengineering Quil lComputers, Inc .

06.11.200009.11.2000

NOT ES: 1 2 3 4 5 6 7 8 9 10

WORKINGDRAFTRECOMMENDEDPUBLICATION

READER DAT E CONT EXT :

A12

original

true

false

true

false

1

$0CheckCredit

2

$0

Check CCN

3

$0

Check Dunn& Bradstreet

4

$0Pass CCN

Check

6

$0Fail CCN

Check

5

$0Pass D&B

7

$0Fail D&B

8

$0Set Credit

Rating High

9

$0Set CreditRating Low

&J1

XJ2

XJ3

&J4

&J5

CCN

Dunn &Brads treet

Customer

Bad CreditList

130FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram aktivnosti

Activity Diagramtehnika za oblikovanje procedura koja se najčešće koristi u projektiranju objektnim pristupom.

131FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram aktivnosti

Primjer dijagrama aktivnosti

132FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje toka podatakaDijagram toka podataka (DFD - Data Flow Diagram)

skup dijagrama za dokumentiranje fizičkog i logičkog modela sustava te zahtjeva• prikaz protoka, strukture i obrade podataka• dokumentiranje logike, poslovnih pravila i procedura

sinonimi: transformacijski graf, mjehurasti graf, mjehurasti dijagram (Bubble Chart)

Tehnika se primjenjuje pri razvoju aplikacija, otkuda je i poteklaNe može se koristiti za opis programske logike, opis promjene stanja, izradu upravljačkih specifikacija ili dizajn korisničkog sučelja!!!

Koristi se pri modeliranju poslovnih procesadaljnja razrada IDEF0 IDEF3 (zavisnost procesa) ili DFD (tok informacija)

Spremištepodataka

Tokpodataka

Proces

Vanjski entitet

Tokmaterijala

a

Vanjskientitet

P1

Proces

D1Spremištepodataka

Tok podataka

Tok materijala

Page 34: FER PIS Predavanja

133FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi dijagrama toka podatakaTok podataka (data flow)

predstavlja skupove podataka koji se kreću kroz sustavtokovi ulaze u procese (ulazni), koriste se i mijenjaju tijekom obavljanja procesa (ulazno/izlazni) ili nastaju kao rezultat procesa (izlazni)tokovima se pridjeljuju jedinstveni nazivi oblika imenica ili pridjev+imenica, npr. Potvrđena prijavnica, Izlazni račun

Procespredstavlja 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 općenite nazive (npr. Obavljanje računovodstvenih poslova) opis procesa sadrži opis aktivnosti (algoritam) njegovog djelovanja

Spremište podataka (data store)predstavlja organizirani i trajni skup podatakaoznačava mjesto pohrane podataka, npr. dokument, registrator, datoteka, tablica u bazi podataka (izbjegavati u nazivlju)promjena sadržaja spremišta (punjenje, ažuriranje, pražnjenje) i korištenje (čitanje) obavlja se procesimaspremište se označava imenicom (imenicom u množini), npr. Prijavnica (Prijavnice)

Vanjski entitet (external entity, external agent)

objekt vanjskog svijeta povezan s promatranim sustavomodređuje granice promatranog sustavavanjski entiteti predstavljaju izvorišta i odredišta podataka, to jest izvore i ponore podataka (source, sink)vanjski entiteti mogu biti osobe, org. jedinice, ustanove, drugi sustavi …za označavanje entiteta koriste se imenice, npr. Student, Kupac, Dobavljač

134FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama toka podatakaDekompozicija procesa

polazni dijagram ili dijagram konteksta (context diagram) hijerarhijski se razlaže na poddijagrame do razine osnovnih procesaproces na nekoj razini (parent) razrađuje se (explode) dijagramom na nižoj razini (child) – leveling = nivelizacijapreporuča se izrada dijagrama koji sadrže između 2 i 9 procesa, a poželjno je slijediti “pravilo 7±2”postupak se zaustavlja kada postane očigledna ugradnja (implementacija) procesa na najnižoj razini

Preporuke za označavanje elemenata procesi - hijerarhijske brojčane oznake, razina konteksta = 0spremišta, izvori i odredišta – nazivlje velikim slovima, oznake oblika slovo ili slovo+brojprocesi i tokovi podataka - malim slovima

135FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama toka podataka

Dijagram kontekstaprikazuje sustav na najvišoj razini hijerarhije prikaza (top level diagram)definira okruženje sustava i područje analize (environmental model)prikazuje jedan proces i vanjske entitete

• započeti s procesom koji prikazuje sustav u cjelini • odrediti vanjske entitete i njihovu povezanost sa sustavom

P0

Videoteka

e

Osoba

b

Dobavljač

d

Član

IdentifikacijaNarudžba

Video

Članska karticaNovi video

Članska karticai plaćanje

Upit

Zahtjev zarezervaciju

Zahtjev zaidentifikaciju

Rezultat upita

136FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama toka podataka

Pregledni dijagram (initial diagram)uočiti glavne tokove informacija (npr. korišteni dokumenti, potrebni podaci)odrediti glavne aktivnosti sustava i prikazati ih odgovarajućim procesimauključiti vanjske entitete i tokove podataka s dijagrama kontekstasložiti se s korisnikom oko granica sustavautvrditi procese i spremišta podataka

Page 35: FER PIS Predavanja

137FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama toka podataka

Pregledni dijagram, određivanje dosega

e

Osoba

d

Član

P1

Upisatinovog člana

D1 Član

P2

Posuditivideo

D2 Posudba

D3 Video

D4 Rezervacija

P4

Rezervirativideo

P3

Vratitivideo

P6

Nabavitivideo

P5

Tražitivideo

b

Dobavljač

Zahtjev zaidentifikaciju

Posudba

Video

Članska karticai plaćanje

Identifikacija

Članska kartica

Posudba

Rezervacija

Rezervacija

Video

Novi videoNarudžba

Video

Posudba

Video

Član

Rezultat upitaUpit

Zahtjev zarezervaciju

138FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada dijagrama toka podatakaRazrada

za svaki proces s preglednog dijagrama identificirati podaktivnostina primjer, za proces Upisati novog člana:

• Zatražiti osobne podatke• Evidentirati novog člana• Izraditi člansku karticu

Ponavljati postupak za svaki od procesa na poddijagramuuspostaviti razinu detalja slijedeći “pravilo 7±2”provjeriti potpunost i ispravnost modela

Model obrazložiti korisniku a zatim ga ažurirati po potrebiDubinu i uravnoteženost modela teško je odrediti.U praksi to može značiti doradu dijagrama u većem broju ponavljanja, čak i kada dijagrame rade iskusni analitičari!!!

P1.1

Zatražitiosobne podatke

D1 Član

P1.3

Izraditičlansku karticu

P1.4

Evidentiratinovog člana Član Članska karticaČlan

Osobni podaci

Zahtjev zaidentifikaciju

Identifikacija

139FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pravila i ograničenja prilikom izrade DTP

Pravilo bilance (očuvanja) tokova (level balance rule)količina tokova koji ulaze u proces i izlaze iz procesa mora odgovarati količini tokova podprocesa na nižoj razini hijerarhijenije dozvoljeno variranje tokova neke razine na nižim razinama (npr. tok T na nižim razinama prikazivati kao T1, T2)

Ograničenja i posebni slučajeviSvi objekti modela moraju biti povezani. Nepovezanost pojedinih objekata ukazuje na nepotpunost modela, na primjer:

• postojanje procesa bez ulaza i/ili izlaza (tzv. čuda i crne rupe) • izlaze za koje ne postoji dovoljno ulaza (tzv. sive rupe – najčešće)• postojanje nepovezanih spremišta ili vanjskih entiteta

Ne dozvoljava se neposredna povezanost:• vanjskih entiteta• spremišta• spremišta i vanjskog entiteta

Nije dozvoljeno:• grananje toka u različite tokove, spajanje različitih tokova• postojanje “rekurzivnih” procesa

140FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

a

b b

ca

b b

c

Preporuke za izradu DTP

Treba pripaziti na:trivijalne tokove – izlazi iz procesa koji ne ulaze u spremišta ili odredišta

• obično imaju posebno značenje, a mogu se koristiti za prikaz posebnih stanja kao što je dojava poruke sustava (npr. dojava pogreške)

neposredno povezane procese• ako postoje, to znači da jedan od procesa čeka na završetak prethodnog

procese koji ne obavljaju pretvorbu podataka• ako je izlazni tok jednak ulaznom

– treba preimenovati jedan od tokova ili– treba obaviti prespajanje tokova

• primjer:

Procesi se mogu zbivati istovremeno DTP se ne smije tumačiti kao dijagram toka (flowchart)!

Page 36: FER PIS Predavanja

141FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Metode koje koriste DTP

NotacijeGane/Sarson (korištena u primjerima)

Yourdon/DeMarco

SSADM

Proširenja modelaokidač (trigger) - prikaz učestalosti procesa (npr. tri puta dnevno)posebni simboli za prikaz ponavljanja procesarazdvajanje i spajanje tokova (alternativni tokovi) posebni simboli za tok resursa, tok dokumenata ili tok upravljanja (npr. različite linije ili ikone)

a

Vanjskientitet

P1

ProcesD1

Spremištepodataka

Ulazni tok Izlazni tok

Vanjskientitet

1

Proces Spremištepodataka

Ulazni tok Izlazni tok

aVanjskientitet

1

ProcesD1

Spremištepodataka

Ulazni tok Izlazni tok

142FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Opisivanje podataka

Rječnik podataka (Data Dictionary)mjesto pohrane definicija podatkovnih elemenata i struktura podatakastrukturirano spremište meta-podataka, to jest podataka o podacima

• prvotno se pojavio kao proširenje dijagrama toka podataka, za pohranu opisa spremišta podataka i tokova podataka

• može se koristiti kao alternativna tehnika za prikaz modela podatakastandardno se upotrebljava BNF notacija (Backus-Naur Form), koja se inače koristi za opis sintakse programskih jezika

Najmanja logička cjelina podataka

Grupe sačinjene od podatkovnih elemenata

Grupe sačinjene od struktura podataka

Podatkovnielement

Spremištepodataka

Tokpodataka

Strukturapodataka

143FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje podataka BNF notacijom

Notacija

Primjer, račun i stavke računa

Može se napisati i kao:

= struktura s lijeva sastoji se od dijelova s desna ("sastavljeno od") + agregacija elemenata (logičko I) ( ) opcionalnost elemenata u zagradi (0 ili 1) {} ponavljanje (iteracija) elemenata u zagradi, ni jednom do konačni broj puta [] alternativa (selekcija) elemenata u zagradi | odvajanje alternativnih elemenata u [] izrazu - počena i završna vrijednost raspona definiranog [] izrazom

** komentar @ oznaka ključa

Racun = @BrRac + DatRac + BrKupca+ { SifArt, NazArt, Cijena, Kol, Vrijednost }+ (IznosRac)

Racun = @BrRac + DatRac + BrKupca+ { StavkaRac }+ (IznosRac)

StavkaRac = @SifArt, NazArt, Cijena, Kol, Vrijednost144FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementarni procesi

Mini-specifikacije (funkcionalne primitive)specifikacije za opisivanje osnovnih procesa u dijagramu toka podatakamogu poprimiti različite oblike, ali imaju nekoliko zajedničkih 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 procesasadrži algoritam zadatka koji se procesom obavlja, koji može poprimiti različite oblike ( dizajn programa - opis programske logike)na temelju ovog algoritma može se, ovisno o alatu, generirati kôd

Mini-specifikacije kreira korisnik CASE pomagala. Budući da se ne kreiraju automatski na temelju prethodno unesenih opisa (modela procesa i modela podataka), neosjetljive su na izmjene dijagrama!

Page 37: FER PIS Predavanja

145FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje procesa

Primjer definicije procesa (1)

Proces 1: Provjera raspoloživosti filma

Opis: Provjera da li u videoteci postoji kopija filma koja se može iznajmiti

Ulazni tokovi: Upit (Film)RezervacijePosudbe

Izlazni tokovi: Rezultat upita (raspoloživ | nije raspoloživ | ne postoji)

Logika procesa: izračunaj broj kopija traženog filma u videoteciako je broj kopija veći od nule tada

ako je broj kopija veći od (broj posudbi + broj rezervacijarezultat = "Raspoloživ"

inačerezultat = "Nije raspoloživ"

inačerezultat = "Ne postoji"

146FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje procesa

Primjer definicije procesa (2)

Proces 1: Provjera raspoloživosti filma

Opis: Provjera da li u videoteci postoji kopija filma koja se može iznajmiti

Ulazni tokovi: Upit (Film), Rezervacije, Posudbe

Izlazni tokovi: Film nije raspoloživ, Film je raspoloživ

Logika procesa: izračunaj broj kopija traženog filma u videoteci ako je broj kopija veći od nule tada ako je broj kopija veći od (broj posudbi + broj rezervacija nastavi s P2 (izl. tok Film je raspoloživ) inače ako član želi rezervirati film tada upiši rezervaciju (izl. tok Film nije raspoloživ) inače poruka "Ne postoji"

147FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

P2.1

PackageOrder

P2.2

CreateBack Order

D4 Stock

D1 Customer

D2 Order Details

a

Customer

CustomerInvoice

CustomerShipment

UnavailableItems

Ship Address

@BeginHeader@Text File : C:\ECPLUS\SAMPLES\GSDFD\pps21.pps@Linked to symbol : Package Order @on dfd Ship Order (Filename : dfd2.dfd)@---------------------------------------------@OUTPUT DATA FLOW : Customer Invoice @OUTPUT DATA FLOW : Customer Shipment @OUTPUT DATA FLOW : Unavailable Items @INPUT DATA FLOW : Customer Ship Address @INPUT DATA FLOW : Order Details @INPUT DATA FLOW : Stock@---------------------------------------------@EndHeaderTBD

Primjer definiranja procesa jednostavnim CASE alatom

Specifikacija procesa u pomagalu EasyCase

148FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjena modela procesa

Strateško planiranje sustavadefiniranje arhitekture sustava u okviru strateškog plana, pri čemu se radi model procesa poduzeća (globalni model procesa)

• identificira poslovna područja i poslovne funkcije• najčešće u formi dijagrama dekompozicije funkcija ili nerazrađenog DTP

(npr. dijagramom konteksta određuju se doseg i sučelja sustava)Reinženjerstvo poslovnih procesa

analiza i restrukturiranje poslovnih procesa radi poboljšanja učinkovitosti i uklanjanja birokratizma, prije primjene informacijskih tehnologijapostojeći procesi se analiziraju i dokumentiraju prikladnim modelima procesa

• dijagrami doka podataka s fizikalnim primjesama, koje uključuju vremensku dimenziju, protočnost podataka i troškove

Analiza sustavaaplikacijski modeli procesa - logički modeli procesa sustava ili aplikacije

• teorijski, moguće je proizvesti DTP povratnim inženjerstvom postojećih aplikacija, ali će takav dijagram biti preopterećen fizikalnim primjesama

Dizajn sustavafizički modeli procesa - dodavanjem upravljačkih komponenti i resursa

Page 38: FER PIS Predavanja

149FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tablični prikaz modela funkcija/procesa

Prikupljanje i sređivanje informacija o funkcijama i procesima može se obaviti s pomoću tablica prije, ali i umjesto izrade dijagrama.

Proces Ulaz (od) Izlaz (prema) Vanjski entitet Spremište Komentar/Algoritam

Izraditinarudžbu

Podaci odobavljaču,Artikli zanaručiti

Ispisananarudžba(dobavljač)

Dobavljač Narudžba,

Dobavljač,

Stavka,

Artikl

Struktura tokova ne morau potpunosti odgovaratistrukturi spremišta

… … … … …

Zaprimanje uslužbu

Zahtjev zaprijam(osoba)

Rješenjezahtjeva(osoba,pismohrana…)

Osoba Osoba, Tijekslužbe

Provjeri zahtjev premaPravilniku ozapošljavanju, pa ispišerješenje

150FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Povezivanje različitih modela

Model poslovnih procesa

Primjeri: \Modeli\ModeliProcesa

Dijagram toka podataka

USED AT: AUTHOR: Bob Saunders DATE:REV:PROJECT: It's not just IDEF anymore.

03.04.199604.11.2002

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A0

NODE: TITLE: NUMBER:Manage Order/Enquiry A4

AuthorisedOrder

Product Order

CustomerContracts

Order/EnquiryStatus

CustomerInformation

Credit Worthiness

Enquiry Feasibility(Resources)

ProductSpecificationFeasibility

ProductEnquiry

CustomerEnquiry/Order

CustomerCommunicat ion

GO ProcessManagementInformation

SOP Module

A41$4.00

Manage CustomerQueries

A42$29.90

QualifyCustomer

Order

A43$5.90

Accept/ ReleaseOrder

USED AT: AUTHOR: Bob Saunders DATE:REV:PROJECT: It's not jus t IDEF anymore.

26.01.199822.10.1999

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A4

NODE: TITLE: NUMBER:Accept/ Release OrderA43

StockRequirement

AvailableStock

CustomerCommunication

CustomerCommunication

ProductOrder

Allocateds tock

Allocateds tock

AuthorisedOrder

A431$0.00

Accept Order Spec

A432$0.00

Check Stock Available

A433$0.00

Allocate Stock

A434$0.00

Release and Ship Stock1 CUSTOMER

2 ORDER DETAILS

3 PRODUCT

4 STOCK

4CUSTOMER

151FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer dijagrama iz stvarnog projekta

152FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada DTP analizom izjava korisnika"Kemičar ili član osoblja kemijskog laboratorija može podnijeti zahtjev za jednom ili više kemikalija. Zahtjev može biti udovoljen ili dostavom pakiranja kemikalije koja se već nalazila na zalihi kemijskog laboratorija ili upućivanjem narudžbe za novim pakiranjem kemikalije od vanjskog dobavljača. Osoba koja upućuje zahtjev mora imati mogućnost pretraživanja kataloga kemikalija vanjskog dobavljačadok sastavlja narudžbu. Sustavmora pratiti status svakog zahtjeva za kemikalijama od trenutka kad je ispunjen do trenutka kad je udovoljen ili otkazan. Također, mora pratiti povijest svakog pakiranja kemikalija od trena kad stigne u kompaniju do trenutka kad je potpuno upotrijebljen ili odbačen."

Kemičar

Osoblje kemijjskoglaboratorija

Odjel zakupovinu

1.podnošenjazahtjeva zakemikalijom

zahtjev za kemikalijom

7.pretraživanje

katalogadobavljača

2.ispunjavanjezahtjeva iz

zalihalaboratorija

6.ažuriranje

stanja zalihalaboratorija

5.generiranjeizvješća o

stanju zaliha4.generiranjeizvješća za

vladu

3.podnošenjezahtjeva zakemikalijom

zahtjev za kemikalijom

inventorij kemijskoglaboratorija

katalogdobavljača

Vladin odjel za sigurnost izdravlje

upit na katalog dobavljača

informacija o katalogudobavljača

informacija o katalogudobavljača

informacija o katalogudobavljača

zahtjev za informacijom

pakiranjekemikalija

laboratorijskizahtjev

pakiranjekemikalija

zahtjevza kemikalijom

pakiranjekemikalija

novo stanjeinventorija

pakiranjekemikalija novo stanje

inventorija

stanje inventorija

izvješćeo stanju

inventorija

zahjev za dobavljačevomkemikalijom

status dobavljačeve narudžbe

zahjev za dobavljačevomkemikalijomstatus

dobavljačevenarudžbe

izvješće ouporabi

kemikalija zahtijev zaizvješćem o

uporabi kemikalija

podacio promijenamau inventoriju

Page 39: FER PIS Predavanja

153FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Procesi sustava ISSP

ISSP se može podijeliti na slijedeće funkcionalne cjeline:

Članice sveučilišta i veleučilišta, čiji studenti ostvaruju pravo na subvencioniranu prehranu (ustanove)Restorane koji pružaju uslugu prehrane prehranu članovima ustanove (mjesta troška)Tvrtka zadužena za održavanje i nabavu opreme te tiskanje iskaznica članovaCentar za autorizaciju prava članova (CAP), kao ustanova zadužena za uvođenje i trajno održavanje sustava. U CAP-u se nalazi i središnja baza podataka sustava.

Unutar svake od navedenih cjelina obavlja se više specifičnih procesa koji čine osnovu sustava.

P1

Ustanova

P3

Restoran

P2

CAP

P4

Tvrtkaza tiskanje

a

Vlasnik(student)

b

Pokroviteljsubvencije

d

SCi ostali pruzatelj i usluge

Zatrazenakartica

Nova kartica Nova kartica

Vlasnik

Upis godine

Zatrazenakartica

Nova kartica

Zahtjev zaizdavanje kartice

Zahtjev zadokumentaciju

Zahtjev zapromjenu razine prav

Dokumentacija

Kartica

Pregledpotrosnje restorana

Nacinjen racun(dnevnik)

Dozvoljeno zasubvenciju

Kartica Vlasnik

Pregledpotrosnje restorana

154FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: razrada procesa

Evidencija matičnih podataka članovaObvezni matični podaci studenta su: Ime, Prezime, JMBG, Matični broj (broj indeksa), Razina prava, JMBAGOmogućeno je evidentiranje i ostalih neobveznih podataka …

Evidencija podataka o statusu člana u ustanoviEvidentiran upis godine sadrži podatke o: …

P1.1

Upisnovog vlasnika (studenta)

P1.2

Upisgodine

P1.3

Promjenarazine prava vlasnika

P1.4

Obradazahtjeva za karticu

Upisnil ist

D1 Vlasnik D2 KarticaD3Upisgodine

P1.5

Izdavanjekartice vlasniku

Upisni l ist

Vlasnik

VlasnikKartica

Vlasnik

Nova kartica

Zahtijev zapromjenu razine prav

Zahtjiev zadokumentaciju

Dokumentacija

Vlasnik

Nova kartica

Kartica

Upis godine

155FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Sustav skladišnog poslovanja

inte

rna

pov

ratn

ica

Skladišnoposlovanje

p0

a

Dobavljači

d

Kupci

c

Skladišta

bRadnejedinice

nalo

g z

a p

ovra

tar

tikla

predračun/računuplata kupcaulazni račun

narudžba

isplata dobavljaču

povrat artiklaartikli artikli

povrat artikla

artiklipovrat artikla

nalo

g z

a m

eđus

klad

ište

nje

međ

uskl

adiš

nica

skla

dišn

a p

rimka

povr

atni

ca d

obav

ljaču

otpr

emni

capo

vrat

nica

kup

ca

inte

rna

izda

tnic

a

nalo

g z

a p

ovra

t ar

tikla

dob

avljaču

nalo

g z

a in

tern

o iz

dava

nje

arti

kla

156FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Osnovni procesiProces izrade ponude vodi služba prodaje. Na zahtjev kupca služba nabave izrađuje ponudu/predračun. Podaci o kupcu dohvaćaju se iz spremišta poslovnih partnera, a artikli i usluge dohvaćaju se iz spremišta artikala i usluga. Izrađena ponuda sprema se u spremište dokumenata, a kopija se ispostavlja kupcu.Račun je dokument koji kao potvrdu podmirivanja potraživanja od kupca izdaje služba prodaje. Račun se izrađuje iz predračuna, sprema se u spremište dokumenata, a kopija se šalje kupcu.Otpremnica kupcu skladišni je dokument na osnovu kojeg se izdaju artikli sa skladišta. Izrađuje se na osnovu računa i sprema u spremište dokumenata.…

a

Dobavljači

d

Kupac

upla

ta

artikl

potvrda opovratu

artik

l

Naruči artikle

p1

Izrada računa

p2

Otpremanjeartikala

p9

Izrada ponude

p4

Povrat artikaladobavljaču

p5

naru

džbe

nica

D1 artikli i usluge

raču

n

uslu

ga

predračun

raču

n

artik

l

D2 poslovni partneri kupac

artikl

doba

vljač

doba

vljač

artikl

artik

l

c

Skladišta

bPoslovnejedinice

D3 poslovne jedinice

Međuskladištenje

p7

artik

l

skla

dišt

e

Interno izdavanje ipovrat artikala

p6

artik

l

poslovnajedinica

međ

uskl

adiš

nica

artik

l

vrač

eni a

rtikl

i

nalog za povrat

prom

jena

kol

ičin

e

međ

uskl

adiš

nica

predračun

otpr

emni

ca

inte

ra iz

datn

ica

povr

atni

ca d

obav

ljaču

skladišna primkanarudžbenica D4 dokumenti

pred

raču

n

inte

rna

pov

ratn

ica

nalog za izdavanje

D5 cijene artikala

cijena

raču

n

zahtjev za ponudu

račun

D7 Stanje skladišta

promjeni količinu

prom

jeni

kol

ičin

u

zapr

imlje

ni a

rtikl

i

Prijem i povratartikala

p8

izda

ni a

rtikl

i

Izrada otpremnice

p3

otpremi artikle

uplate

Page 40: FER PIS Predavanja

157FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dekompozicija procesa narudžbe i prijema artikala

Proces narudžbe vodi služba nabave koja na osnovu praćenja stanja skladišta i potreba na tržištu odlučuje o nabavi artikla. Nabavna služba izrađuje narudžbenicu koja se zatim šalje dobavljaču.Dobavljač na temelju isporučene narudžbenice ispostavlja predračun s naručenim artiklima. Na temelju predračuna nabavna služba izrađuje ulazni račun, a isplatom potraživanja dobavljaču artikli se zajedno s dostavnicom primaju na skladište. Na skladištu se povećava količina te ako je potrebno mijenja se nabavna cijena. Naposljetku, ova poslovna promjena bilježi izradom skladišne primke koja se zatim sprema u spremište dokumenata.

Izraditinarudžbenicu

p1.1

a

Dobavljači

D1 artikli i usluge

D2 poslovni partneri

artik

l

doba

vljač

naruđžbenica

Preuzmi artikl

p1.2

artikl

Izraditi skladišnuprimku

p1.3

Promjenikoličinu

preu

zeti

artik

li

dobavljač ulaz

ni r

ačun

plać

anje

skladišna primka

D4 dokumentinarudžbenica

Izradi ulazni račun

p1.4

Isplati dobavljača

p1.5

dostavnica

dobavljač

ispl

ata

dob

avljaču

ulazni račun

doba

vljač

skladišna primka

rani

je i

spla

te p

o is

tom

ula

znom

rač

unu

D6 nabavne cijene

nabavnacijena

promjenanabavnecijene

D7 stanje skladišta

D3 poslovne jedinice

skladište

158FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dekompozicija procesa internog izdavanja i povrata artikala

Proces povrata artikala dobavljaču također vodi nabavna služba. Dobavljač na temelju vraćenih artikala izdaje potvrdu o povratu na osnovu koje se izrađuje povratnica dobavljaču. Povratnica dobavljaču sprema se u spremište dokumenata.Interno izdavanje i povrat artikala koristi se kod prijenosa artikala između skladišta i radne jedinice. Proces započinje prijemom naloga. U slučaju internog izdavanja artikala nalog prima skladište koje artikle treba izdati u radnu jedinicu, dok u slučaju internog povrata nalog prima radna jedinica koja treba vratiti artikle u skladište. Naloge za izdavanje u pravilu ispostavlja priprema rada, odnosno referada za otvaranje i praćenje provođenja radnih naloga, poslovođe ili sam vlasnik. Na temelju primljenog naloga izrađuje se interna izdatnica koja se prosljeđuje skladištaru dok se interna povratnica izrađuje se na temelju artikala vraćenih iz radne jedinice.Dokumenti interna izdatnica i interna povratnica dokazuju izvršenu poslovnu promjenu i pohranjuju se u spremištu dokumenata.

D3 poslovne jediniceIzrada interne

izdatnice

p6.1

radna jed. nalog

D1 artikli i usluge artikl

Izrada internepovratnice

p6.3

izdani artikli

Interni povrat

p6.4

inte

rna

pov

ratn

ica

artikl

promjena količine artikla

internaizdatnica

internapovratnica

D4 dokumenti

D6 nabavne cijene

bRadnejedinice

c

Skladišta

interna izdratnica

nalo

g

skla

dišt

era

dna

jedi

nica

skladište

cijena

cije

na

Zaprimanje naloga

p6.2

nalo

g

vračeni artikli

prom

jena

kol

ičin

e

Prijem i povratartikala

p8

D7 stanje skladišta

159FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dekompozicija procesa međuskladištenja artikala Međuskladištenje artikala koristi se kod prijenosa artikala između dva skladišta unutar istog poduzeća, a proces međuskladištenja prate dvije međuskladišnice – po jedna za svako od skladišta. Skladište koje daje artikle prima od poslovođe ili vlasnika nalog za međuskladištenje na osnovu kojeg izdaje artikle. Izdavanjem artikala njihova se količina na skladištu smanjuje, a kao dokaz izvršene poslovne promjene izrađuje se dokument međuskladišnica.Drugo skladište zaprimanjem artikala prima i međuskladišnicu potvrdom koje potvrđuje primljene količine.Skladište koje prima artikle na osnovi primljenih artikala također izrađuje međuskladišnicu.

D1 artikli i usluge

c

Skladišta

D3 poslovne jedinice

Izdavanje artikla

p7.2

primljeni artikliPrijem artikla

p7.3

Izradameđuškladišnice

p7.1

skladište koje prima artikleartikl

izdani artikli

međuskladišnica

međ

uskl

adiš

nica

D4 dokumenti

D6 nabavne cijene

nalo

g

skladište koje daje artikle

cijena

izda

ni a

rtikl

i

skla

dišt

e k

oje

prim

a a

rtikl

esk

ladi

šte

koj

e d

aje

arti

kle

Izradameđuškladišnice

p7.4

prim

ljeni

arti

kli

artik

l

cije

na

promjena količineartikla na skladištu

koje daje

promjena količineartikla na skladištu

koje prima

D7 Stanje skladišta

izda

ni a

rtikl

i

Modeliranje podataka

Page 41: FER PIS Predavanja

161FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje podataka

Modeliranje podataka (Data modeling)tehnika organiziranja i dokumentiranja podataka sustavasinonimi:

• modeliranje baze podataka (podaci se najčešće pohranjuju u BP)• modeliranje informacija (općenitije)

(po mnogima) najvažnija tehnika oblikovanja• podaci su resurs koji se dijeli između većeg broja procesa i zbog toga

moraju biti organizirani na način koji je prilagodljiv poslovnim zahtjevima kreativnost

• strukture podataka i njihova svojstva su trajniji i stabilniji od procesa• modeliranje podataka završava brže nego modeliranje procesa

– modeli podataka brže se približavaju rezultatu nego modeli procesa– modeli podataka su bitno manji od modela procesa i objektnih modela

• modeli podataka postojećeg i budućeg sustava međusobno su sličniji nego modeli procesa postojećeg i budućeg sustava, ili ih je lakše preoblikovati, pa se manje posla “baca”

• dobra komunikacija s korisnicima, utvrđivanje nazivlja• lakše određivanje definiranje dosega projekta • ...

162FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram entiteti-veze

Dijagram entiteti-vezeeng. Entity-Relationship Diagram, ERDnaziva se još i dijagram objekti-veze (izbjegavati!)postoje različite notacije, npr. Chen, Martinosim osnovnih, koriste se i prošireni modeline postoje jednoznačni standardi postupka izrade

Mjesto

Osoba Zaposlen

OdnosiSeNa

OrgJedStanuje

Zanimanje

StavkaRacuna

Proizvod

Proizvodi

Igla Avion

Sastav

Pripada

ES

SuradnikDjelatnik

NS

Racun

RacStRac

1,N

1,N1,N0,N

1,1

0,M

1,1

0,N

0,N

0,1 0,1

0,M

Cjelina

0,N

Dio

0,1

NadJed

0,NPodJed

1,1

0,1 0,N

1,1

1,1

0,N

1,1

1,N

163FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Entiteti

Entitet (entity)nešto što postoji u stvarnom svijetu i posjeduje značajke koje ga opisuju i po kojima se razlikuje od svoje okolineStvar koja se može zasebno identificirati [P. Chen, 1976]Bilo koji objekt koji se može razlikovati i predstaviti u bazi podataka [C.J.Date, 1986]Logička reprezentacija podatka [C.Finkelstein, 1989]Bilo što o čemu pohranjujemo informaciju [J.Martin, 1989]

Entitet može biti: osoba, npr. Kit Karsonobjekt, npr. video traka Prohujalo s vihoromapstraktni pojam, npr. hrvatski jezik ili iskustvo (poznavanje jezika)ustanova (FER), organizacija (Hotel Proljeće) ili organizacijska cjelina (Ured za istraživanje ruda i gubljenje vremena)događaj (situacija, stanje) - prošli, sadašnji ili budući, npr. rođenje, školovanje, zaposlenje, smrtpovezanost različitih objekata stvarnog svijeta, npr. srodstvo

164FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Entiteti

Pojedinačne pojave (instance) grupiraju se u skupoveovisno 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 može poistovjetiti pojam entitet sa skupom entiteta, ako se ne razmatraju konkretni podacioznačava se imenicom (u jednini) Osoba, Fakultet

Entiteti mogu poprimiti različite uloge ovisno o kontekstuprimjer: Osoba je Kupac i/ili Dobavljač, Student ili Nastavnik

Page 42: FER PIS Predavanja

165FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Atributi i domene

Atributatribut predstavlja neko obilježje, značajku entiteta

• sinonimi: svojstvo (property), element, polje (field)• pojedinačne 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 pojedinačni podatak, – primjer: Prezime, Ime

• složeni, sastavljeni atributi (compound/composite/concatenated attribute, datastructure) - vrijednost je uređena n-torka ili logička grupa jednostavnih atributa,

– primjer: datum = (dan, mjesec, godina)• višeznačni atributi (multivalued attribute) - atributi koji predstavljaju ponavljajuće

grupe podataka, to jest atributi s više istovrsnih vrijednosti– primjer: Osoba.Telefon = (TelefonNaPoslu, TelefonKodKuce, MobilniTelefon)

s obzirom na pohranu vrijednosti, atributi mogu biti:• atributi pohrane (stored attribute)• izvedeni atributi (derived attribute) - vrijednost im se može odrediti na temelju

vrijednosti drugih atributa– primjer: starost = (DanašnjiDatum-DatumRođenja)

166FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Atributi i domene

Vrijednosti atributa definirajutip podatka, domena i pretpostavljena ili standardna vrijednost (default)

Tipovi podatakanetehnički (logički)

• opći tipovi koji se koriste u sistem analizi i pri prikupljanju zahtjeva• primjeri: broj, datum-vrijeme, znakovni niz, tekst, BLOB

tehnički• generički tipovi podataka koji se mogu preslikati u konkretne tipove, npr.

integer, character• konkretni tipovi SUPB, npr. char, int, byte (SQLserver)

Standardna vrijednost atributavrijednost koja se zapisuje kada korisnik ne specificira vrijednost atributaopćenito, većina atributa trebala bi imati standardnu vrijednost

167FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Identifikatorosobe

(IdOsobe)

Prezim e(Prezim e)

Im e(Im e)

Adresa(Adresa)

Šifra m jesta(SifMjesta)

8746 Karson Kit Melrose place 666 … 03837528 Ford Alan Vukovar avenue 63 …1164 Rock Bob … 001765 Ford Kit Sunset boulevard 2958 … 282

8746375281164

...

FordKarsonRock

...

AlanBobKit...

Melrose place xxSunset boulevard 2958

Vukovar avenue 63...

Atributi i domene

Domenaskup mogućih vrijednosti koje nad njom definirani atributi mogu poprimiti

• domene mogu biti jednostavne i složene (vrijedi i za atribute)• nad svakom domenom može se definirati po volji mnogo atributa

skup vrijednosti može se definirati • tipom podatka, npr. integer• podskupom vrijednosti tipa podatka, npr: formula AA99, interval [10-99]• skupom konstanti, npr. Spol = { M, Ž }

168FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ključevi

Ključ (key) ili identifikatoratribut ili skup atributa koji (svojim vrijednostima) jednoznačno 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 ...

• može se sastojati od više atributa → složeni, sastavljeni, ulančani ključ– primjer: MJESTO = @ŠifraDržave+@ŠifraMjesta

ključ mora zadovoljavati sljedeće uvjete• jednoznačnost (u skupu entiteta ne smiju postojati dvije pojave s istim

vrijednostima svih ključnih atributa)– primjer: ne smiju postojati 2 osobe s JMBG=020946330097

• minimalnost (ne postoji podskup atributa ključa koji je također jednoznačan)– primjer loš: OSOBA = @JMBG + @Prezime ...– primjer dobar: TEČAJ = @KraticaValute + @DatumTečaja + ...

• određenost - postojanje vrijednosti u trenutku stvaranja instance• stabilnost - otpornost na promjene tijekom vremena• raspoloživost - dostupnost svim korisnicima• neutralnost - s obzirom na značenje vrijednosti ključa (samogovoreće šifre)

Page 43: FER PIS Predavanja

169FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ključevi

entitet može imati jedan ili više ključeva• entitet mora imati barem jedan ključ• entitet može imati više mogućih ključeva, tj. kandidata za primarni ključ

(candidate key), koji ne moraju biti međusobno disjunktni, tj. mogu imati atribute presjeka

• jedan od ključeva odabire se za primarni ključ (primary key)– primjer: Osoba.IdOsobe, Mjesto.SifMjesta

• nakon odabira primarnog ključa, ostali mogući ključevi postaju alternativni ključevi (alternate key)

– primjer: Osoba.JMBG, Mjesto.PostBr

ponekad je potrebno identificirati podskupove entiteta• kriterij podskupa (subsetting criteria) – atribut (jednostavni ili ulančani) s

konačnim skupom vrijednosti za grupiranje instanci entiteta u podskupove, u nekim metodama naziva se inversion entry ne-jedinstveni indeks

170FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ključevi

Strani ključ (foreign key)skup atributa koji se odnosi na ključ drugog skupa entiteta, tj. skup atributa čije se vrijednosti odnose na vrijednosti ključa drugog entiteta (Osoba.SifMjesta odnosi se na Mjesto.SifMjesta)

Identifikatorosobe

(IdOsobe)

Prezime(Prezime)

Ime(Ime)

Adresa(Adresa)

Šifra mjesta(SifMjesta)

8746 Karson Kit Melrose place 666 … 03837528 Ford Alan Vukovar avenue 63 …1164 Rock Bob … 001765 Ford Kit Sunset boulevard 2958 … 282

Šifra mjesta(SifMjesta)

Poštanskibroj

(PostBr)

Naziv mjesta(NazMjesta)

038 10000 Zagreb001 20000 NewYork282 30000 Los Angeles

171FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ključevi

Strani ključ• ukazuje na povezanost između entiteta, odnosno skupova entiteta

– može poprimiti vrijednost primarnog ključa drugog entiteta ili– može 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 Nul-vrijednost

Nul-vrijednost označava nepoznatu vrijednost atributa ili neodređenu vrijednost atributa, tj. nadomiješta 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 način

172FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi dijagrama Entiteti-Veze

Primjer, atributi i ključevi u oglednom modelu

Mjesto Osoba

SifMjesta PostBr IdOsobeNazMjesta Prezime

SifMjesta

Adresa

Staz

Ime

Telefon

Page 44: FER PIS Predavanja

173FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Veze

Veza (relationship)pokazuje odnos između entiteta

• analogno entitetima, pojedinačna 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 vezamože izražavati ulogu entiteta koje povezuje imenuje se glagolom ili glagolskom imenicom

Primjer (veza i uloge)Osoba STANUJE u Mjestu (Osoba je STANOVNIK Mjesta)u Mjestu STANUJE Osoba (Mjesto je MJESTO STANOVANJA)

Mjesto OsobaStanujeStanovnikMjestoStan

174FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Veze

Stupanj veze (degree of relationship)broj entiteta koji sudjeluju u veziopćenito, može se povezati bilo koji broj entiteta (oprez!)

• veza drugog stupnja → binarna veza• veza trećeg stupnja → ternarna veza• općenito, veza može biti n-tog stupnja → n-arna veza

posebni slučaj jest veza nekog entiteta s tim istim entitetom• veza prvog stupnja → unarna veza (refleksivna, rekurzivna, involucijska) • u nekim metodama smatra se posebnim slučajem binarne veze, to jest

posebnom vezom 2. stupnja

175FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Veze

Tip, klasifikacija veze (type of relationship)označava način pridruživanja pojava entiteta u vezi

• jedan-prema-jedan (1:1)• jedan-prema-više (1:N)

– može postojati više (paralelnih) veza između dva entiteta• više-prema-više (M:N)

Modalitet veze (modality) i Kardinalnost veze (cardinality)minimalni i maksimalni broj pojava jednog entiteta za pojedinačnu pojavu s njim povezanog entiteta donja i gornja granica kardinalnosti

• donja granica može biti 0, 1, pozitivni cijeli broj ili znak (npr. M) – donja granica = 0 → djelomično, neobavezno (optional) pridruživanje

» ne mora imati niti jednu instancu s druge strane veze– donja granica ≠ 0 → potpuno, obavezno (mandatory) pridruživanje

» mora imati barem neki broj ili općenito M instanci s druge strane veze

• gornja granica može biti 1, pozitivni cijeli broj ili znak (npr. N)» može imati konkretan broj ili općenito N instanci s druge strane veze

veze su dvosmjerne pa se kardinalnost definira za oba smjera veze

176FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Mjesto OsobaStanuje0,N1,1

Veze

Primjer: binarna veza 1:N

Primjer, binarna veza M:N

ProizvodiOrgJed Proizvod0,M 0,N

Page 45: FER PIS Predavanja

177FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Osoba Zaposlen OrgJed

Zanimanje

1,N

1,N1,N

Veze

Primjer, ternarna veza

Primjer, unarna veza 1:N i unarna veza M:N

OrgJed Pripada

0,1

NadJed

0,N

PodJed

Proizvod Sastav

0,N

Dio

0,M

Cjelina

178FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Specijalizacija/Generalizacija

Specijalizacija/Generalizacijatakozvana "jest" veza (“is a” relationship)veza koja opisuje posebne slučajeve u nekom skupu entiteta, to jest odnos nekog entiteta (nadtip) i njegovih posebnosti (podtip)podređeni entiteti stvaraju se na temelju njima nadređenog entiteta u kojem dijele zajedničke atribute

• nadtip (supertype) - sadrži zajedničke atribute i predstavlja generalizaciju podređenih entiteta

• podtip (subtype) - sadrži samo njemu svojstvene atribute i predstavlja specijalizaciju nadređenog entiteta

179FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Specijalizacija/Generalizacija

B jest podtip od A ako: B jest uvijek A, A jest ponekad BDjelatnik je uvijek Osoba, Osoba je ponekad Djelatnik (Suradnik)Igla jest uvijek Proizvod, Proizvod jest ponekad Igla (Avion)specijalizacija može biti:

• neekskluzivna - Osoba jest Djelatnik ili Suradnik, ali u isto vrijeme može biti i Djelatnik i Suradnik

• ekskluzivna - Proizvod jest Igla ili Avion, ali ne može istovremeno biti i Igla i Avion

Osoba

Djelatnik

NS

Suradnik

0,1 0,N

1,1

ES

Proizvod

Igla Avion

0,1 0,1

1,1

180FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Jaki i slabi entiteti

Jaki i slabi entitetiJaki entitet - entitet koji postoji (egzistira) samostalno,nezavisan/dominantan entitet, pr. Mjesto

Slabi entitet (weak entity) – postoji samo ako postoji jaki entitet u vezi, zavisan/podređen entitet

• egzistencijalno slab entitet - entitet koji ne postoji samostalno → entitet sa stranim ključem (pr. Osoba)

• identifikacijski slab entitet - entitet koji se ne identificira samostalno →entitet koji nema vlastiti ključ, nego se njegov ključ tvori od ključa jakog entiteta i (opcionalno) vlastitog atributa (deskriptora), pr. Djelatnik, Suradnik, StavkaRacuna

Identifikacijski zavisan entitet ujedno je i egzistencijalno zavisan.Egzistencijalno zavisan entitet nije ujedno i identifikacijski zavisan.

Page 46: FER PIS Predavanja

181FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer, egzistencijalno slab entitet Osoba

Primjer, identifikacijska veza i identifikacijski slab entitet

Primjer, podtipovi: Djelatnik, Suradnik, Igla, Avion

Mjesto OsobaStanuje0,N1,1

Jaki i slabi entiteti

StavkaRacunaRacun RacStRac1,1 1,N

182FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Nespecifične, neodređene veze

Asocijativni entitet (Gerund)• konkatenirani entitet (concatenated entity), • kompozitni entitet (composite entity)

binarna veza M:N, npr. Proizvoditernarna veza ili veza stupnja >3, npr. Zaposlenveza o kojoj se želi pohraniti podatke (veza s opisnim atributima), pr. Sastav

Agregacija (agregacijska veza)• sinonim: agregacijski entitet (aggregate entity)

veza koja sudjeluje u vezama s drugim entitetima u nekim metodama označava odnos cjelina-dio

ProizvodiOrgJed Proizvod0,M 0,N

Proizvod Sastav BrDijelova

0,N

Dio

0,M

Cjelina Osoba Zaposlen OrgJed

Zanimanje

DatPoc DatZav

1,N

1,N1,N

183FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

ERD notacija - Chen

Primjer, dijagram modela poduzeća (Chen)Mjesto

Osoba Zaposlen

OdnosiSeNa

OrgJedStanuje

Zanimanje

StavkaRacuna

Proizvod

Proizvodi

Igla Avion

Sastav

Pripada

ES

SuradnikDjelatnik

NS

Racun

RacStRac

1,N

1,N1,N0,N

1,1

0,M

1,1

0,N

0,N

0,1 0,1

0,M

Cjelina

0,N

Dio

0,1

NadJed

0,NPodJed

1,1

0,1 0,N

1,1

1,1

0,N

1,1

1,N

184FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

ERD notacija - Martin

Primjer, dijagram modela poduzeća (Martin), doseg, podsustavi

Mjesto

Osoba OrgJedZaposlen

Suradnik

Proizvod

Zanimanje

Igla AvionDjelatnik StavkaRacuna

Racun

Stanuje

Pripada

Sastav

Page 47: FER PIS Predavanja

185FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada ERD analizom izjava korisnika"Kemičar ili član osoblja kemijskog laboratorija može podnijeti zahtjev za jednom ili više kemikalija. Zahtjev može biti udovoljen ili dostavom pakiranja kemikalije koja se već nalazila na zalihi kemijskog laboratorija ili upućivanjem narudžbe za novim pakiranjem kemikalije od vanjskog dobavljača. Osoba koja upućuje zahtjev mora imati mogućnost pretraživanja kataloga kemikalija vanjskog dobavljačadok sastavlja narudžbu. Sustavmora pratiti status svakog zahtjeva za kemikalijama od trenutka kad je ispunjen do trenutka kad je udovoljen ili otkazan. Također, mora pratiti povijest svakog pakiranja kemikalija od trena kad stigne u kompaniju do trenutka kad je potpuno upotrijebljen ili odbačen."

Inventorijkemijskoglaboratorija

Pakiranje kemikalija

Zahtjevza kemikalijom

Kemikalija

Zahtijevač

DobavljačevkatalogPovijest pakiranja

kemikalija

pohranjuje

1

M

ispunjava

M

1

popisuje

M

M

zahtijeva

1

M

opisuje

M

Msadrži

M 1

prati

1

1

Razvoj modela podataka

187FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razvoj modela podataka

Razvoj modela podatakaGlobalni model podataka (enterprise data model)Model konteksta (context data model)Model s definiranim ključevima (key-based data model)Model s potpuno određenim atributima (fully attributed data model)Potpuno opisani model (fully described data model)

Kategorije entitetaosnovni, 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)

188FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Konceptualni model podataka

Globalni model podatakapodatkovni model poduzeća (enterprise data model) u fazi planiranjakonceptualni model entiteti-veze koji najčešće sadrži neodređene veze i nerazrađene kategorije podataka, a pojedine veze mogu i nedostajatidefinira mogući doseg sustava i ukupne informacijske potrebe

Model konteksta podatakana početku analizekonceptualni model koji sadrži samo one entitete koji će biti obuhvaćeni tehničkim rješenjem aplikacijski model podataka rafinira doseg bez detalja o entitetima ili detalja o poslovnim pravilimaERD s entitetima i vezama (često nespecifičnim), bez atributa ili samo s osnovnim atributima

• obične veze, tj. veze tipa 1:N– npr. "račun ima više stavki"

• veze višeg stupnja– npr. “zaposlenje osobe u org. jedinici na radnom mjestu” → Zaposlen

• izbjegavati entitete koji se odnose na specifični kontekst ili uloguPrimjeri: Analiza\IdejnoSljeme , prethodni primjeri

Page 48: FER PIS Predavanja

189FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: konceptualni model

TipStrankeTipStranke

Drzava

Šifrarnik država

Mjesto

Jedinica lokalne samouprave (općina ili grad)

OrgJedinica

Organizacijska jedinica (npr. Ministarstvo, Odjel, Odsjek, Područna jedinica)

Osoba

Fizička osoba

RadnoMjesto

Funkcija zaposlenika prema pravilniku o unutrašnjem redu

Zanimanje

Obavljanje srodnih poslova određene struke, kao i drugih odgovarajućih poslova

Zupanija

Jedinica područne (regionalne) samouprave

Stranka

Fizička ili pravna osoba

Kontakt

Telefoni, Mobiteli, Email, URL, Fax itd.

VrstaOrgJed

Šifrarnik vrsta org. jedinica (npr. uprava, odjel, odsjek, PJ, itd.)

Djelatnik

Fizička osoba koja je dio sustava

190FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Logički modeli podataka

Model s definiranim ključevimaeliminacija neodređenih veza i njihovo nadomještanje asocijativnim entitetimaodređivanje ključeva (primarnih, alternativnih, stranih)

• ako se PK ne može odrediti, možda se ne radi o skupu entitetapreciziranje kardinalnosti veza

• odgovor na pitanja oblika “mora/može”: “ni jedan” (0), “barem jedan” (1), “više”(N) → donja/gornja granica kardinalnosti

– Koliko stavki računa mora/može imati račun ? → 1,N– Koliko se osoba mora/može nalaziti u mjestu ? → 0,N

definiranje generalizacijskih hijerarhija• određivanje specijalizacija, tj. podtipova entiteta

– npr. Igla, Avion• definiranje klasifikacijskog atributa nadtipa (diskriminator podtipa)

– npr. Proizvod.TipProizvoda ∈ { “Igla”, “Avion” }

Model s definiranim atributimadodavanje preostalih opisnih atributaodređivanje podskupova podatakadefiniranje domena, logičkih tipova podataka i standardnih vrijednosti atributa

191FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Model s definiranim ključevima

TipStrankeTipStranke

DrzavaRodjenja

MjestoPrebivalistaMjestoRodjenja

Ustanova

NadJedinica

OdgovornaOsoba

SredisteZupanije

NadCjelina

Drzava

SifDrzave

Mjesto

IdMjesta

OrgJedinica

IdOrgJedinice (FK)Osoba

IdOsobe (FK)

RadnoMjesto

IdRadnogMjesta

Zanimanje

IdZanimanja

Zupanija

SifZupanije

Stranka

IdStrankeKontakt

IdOsobe (FK)VrstaKontakta

VrstaOrgJed

TipOrgJedinice

Djelatnik

IdDjelatnika (FK)

192FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

TipStrankeTipStranke

DrzavaRodjenja

MjestoPrebivalistaMjestoRodjenjaUstanova

NadJedinica

OdgovornaOsoba

SredisteZupanije

NadCjelina

Drzava

SifDrzave

NazDrzave (IE1.1)KratDrzave

Mjesto

IdMjesta

NazMjesta (IE2.1)TipMjestaPostBrSifDrzave (FK)StariNazMjestaSifMjestaIdNadCjeline (FK)

OrgJedinica

IdOrgJedinice (FK)

NazOrgJedinice (IE1.1)MBR (IE2.1)KratOrgJediniceTipOrgJedinice (FK)MjOrgJedinice (FK)AdrOrgjediniceOpisOrgJediniceIdOdgovorneOsobe (FK)IdNadJedinice (FK)IdUstanove (FK)

Osoba

IdOsobe (FK)

JMBG (IE1.1)Ime (IE3.1)Prezime (IE2.1)RoditeljDatRodjenjaMjRodjenja (FK)DrzRodjenja (FK)MjPrebivalista (FK)AdrStanovanjaSifZanimanja (FK) (IE6.2)IdOrgJedinice (FK)OsobniDokument

RadnoMjesto

IdRadnogMjesta

IdOrgJedinice (FK)NazRadnogMjestaKratRadnogMjestaBrIzvrsiteljaPopunjenoIdSluzbenMjesta (FK)PosloviUvjeti

Zanimanje

IdZanimanja

NazZanimanja (IE1.1)KratZanimanja

Zupanija

SifZupanije

NazZupanije (IE1.1)IdSredistaZupanije (FK)

Stranka

IdStranke

NazStrankeTipStranke

Kontakt

IdOsobe (FK)VrstaKontakta

TekstKontakta

VrstaOrgJed

TipOrgJedinice

OpisOrgJedinice

Djelatnik

IdDjelatnika (FK)

SifDjelatnikaBrojIskazniceKorisnikZaporkaIdStruke (FK)SifSpreme (FK)SvjedodzbaIdZvanja (FK)DrzavniIspitStrucniIspitDatPrvogZaposlenjaStazUkupnoDatZaposlenjaMZOPUStazMZOPUNapomDjelatnikIdRadnogMjesta (FK)

Primjer: Model s definiranim atributima

Page 49: FER PIS Predavanja

193FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dokumentiranje i konverzija modela entiteti-veze

Potpuno opisani modelputpuni opis atributa, logičkih tipova podataka i standardnih vrijednostidodatni opisi: prava pristupa podacima, trajnost podataka (arhiviranje)vremenski najzahtjevniji zadatak, uobičajeno se provodi na kraju, ali može započeti usporedno s izradom modela zasnovanog na ključevima ili definiranjem opisnih atributa

Daljnja konverzija modelaPretvorba modela entiteti-veze u relacijski model podatakaFizičko oblikovanje podataka faza dizajna

• konverzija logičkog u fizički model (shema baze podataka)• normalizacija i prilagodba uslijed tehničkih ograničenja i performanci

Modeliranje podataka treba provesti CASE pomagalomPrimjer: ERwin

194FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje objekata modela podataka

Definiranje entitetajedinstveni naziv opis - značenje i svrha entiteta, poslovni zahtjevi i ograničenjakratki naziv (kôd) – često potreban zbog ograničenja alata ili jezikakratice (akronimi) – izbjegavati osnovni atributi – atributi ključeva i ostali važni za razumijevanje smisla trag zahtjeva – porijeklo i primjena entitetaovlast (nad meta-podacima), odgovornost (za podatke)

Definiranje vezajedinstveni naziv – glagol, glagolska imenica, Roditelj-Dijete , Rnnznačenje veze – detalji dokumentacijetip – identifikacijske, neidentifikacijske vezemodalitet i kardinalnostključevidiskriminator generalizacije/specijalizacijepravila za očuvanje integriteta pri unosu i brisanju instanci

195FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Definiranje objekata modela podataka

Određivanje ključevaključ jakog entiteta = identifikacijski atributključ identifikacijski slabog entiteta = ključ jakog entiteta i vlastiti atribut pripaziti na ključeve sastavljene od više atributa

• mogući nadomjesni ključevi• atributi ključa koji su ujedno ključevi drugih entiteta upućuju na veze

strani ključevi• migracija primarnog u strani ključ• uklanjanje neodređenosti stranih atributa

Definiranje atributa naziv atributa - jedinstven, s izuzetkom stranih ključevaznačenje atributadomena atributakardinalnost atributaizvedeni atributi (iz različitih instanci) i izračunati atributi (jedne instance) [Inmon 1989, Haeckel & Nolan, 1993]

• derivacijska formula, derivacijska zavisnost [McClure 1993]

Logičko modeliranje podataka

Page 50: FER PIS Predavanja

197FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Entiteti entitet (skup entiteta) → relacija, npr. Mjesto, Osoba

Atributi• kardinalnost 0 → opcionalna vrijednost (null)• kardinalnost 1 → zahtijevana vrijednost (not null)• kardinalnost N → višeznačni atribut (npr. Osoba.Telefon)

atribut → atribut, npr. Osoba.Prezime izvedeni atribut → atribut pohrane ili se izostavlja, npr. Osoba.Stazsloženi atribut → atribut (grupiranjem), npr. (dan, mjesec, godina) → datum

Osoba

IdOsobePrezim eIm eAdres aDatRodStaz

198FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

višeznačni atribut →• skup odgovarajućih atributa, npr. Osoba.Telefon →

Osoba.TelefonNaPoslu, Osoba.TelefonKodKuce, Osoba.MobilniTelefon• ili• slabi entitet, npr. Osoba.Telefon → Telefon (IdOsobe, VrstaTelefona,

BrojTelefona)

Osoba Telefon1,1 0,N

Telefon

VrstaTelefonaBrojTelefona

Osoba

IdOsobePrezim eIm eTelefonNaPosluTelefonKodKuceMobilniTelefonAdres aDatRodStaz

199FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Ključeviključ→ primarni ključ, npr. Osoba.IdOsobe, Mjesto.SifMjestaalternativni ključ→ indeks nad jedinstvenim vrijednostima (unique index) + oznaka zahtijevane vrijednosti (not null), npr. Mjesto.PostBr

OsobaSKljucemIdOsobePrezim eIm eAdres aDatRodStaz

MjestoSi fMjestaPostBr <AK>NazMjesta

200FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Binarna veza 1:N → strani ključegzistencijalni slabi entitet → obični strani ključ

• npr. Stanuje → Osoba.SifMjesta, Pripada → OrgJed.SifNadJed, RacunOsoba → Racun.SifOsobe

OsobaIdOsobePrezimeImeSifMjesta <FK1>AdresaDarRodStaz

RacunBrRacDatRacIdOsobe <FK>IznosRac

MjestoSifMjestaPostBr <AK>NazMjesta

OsobaIdOsobePrezimeImeSifMjesta <FK1>AdresaDarRodStaz

OrgJedSifOrgJedNazOrgJedSifNadJed <F K1>

Page 51: FER PIS Predavanja

201FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

identifikacijski slabi entitet → nasljeđuje ključ jakog entiteta• spojni ključ (compound key), npr. StavkaRacuna (BrRacuna,

SifProizvoda, JedCijena, Kolicina)• ili• kompozitni ključ (composite key), npr. StavkaRacuna (BrRacuna,

RbrStRac, SifProizvoda, JedCij, Kolicina)

ProizvodSifProizvodaNazProizvodaJedCijenaTipProizvoda

RacunBrRacDatRacIdOsobe <FK>IznosRac

StavkaRacBrRac <FK>Si fProizvoda <FK>JedCi jKolicina

StavkaRacunaBrRac <FK>RbrStRacSi fProizvoda <FK>JedCijenaKolicina

OsobaIdOsobePrezimeImeSifMjesta <FK1>AdresaDarRodStaz

TelefonIdOsobe < FK>VrstaTelefonaBrojTelefona

202FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Binarna veza 1,1:0,1 → strani ključtransformira se u identifikacijski slabi entitet bez deskriptora

• Osoba (IdOsobe, Prezime, …, Staz),• SlikaOsobe (IdOsobe, Slika)

opcionalno se može razmotriti udruživanje entiteta u binarnoj vezi 1,1:1,1 (1,1:0,1) u jednu relaciju

• Osoba (IdOsobe, Prezime, …, Staz),• Komentar (IdOsobe, TekstKom)• Osoba (IdOsobe, Prezime, …, Staz, TekstKom)

203FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Nespecifične veze → asocijativni entitet + n binarnih veza 1:Nključ asocijativnog entiteta = unija ključeva entiteta spojenih vezom primjer: Zaposlen, Proizvodi, Sastav

Osoba Zaposlen OrgJed

Zanimanje

DatPoc DatZav

1,N

1,N1,N

ProizvodiOrgJed Proizvod0,M 0,N

Proizvod Sastav BrDijelova

0,N

Dio

0,M

Cjelina

SastavSifProizvoda <FK1>SifDijela <F K2>BrDijelova

OsobaIdOsobePrezimeImeSifMjesta < FK1>AdresaDarRodStaz

OrgJedSifOrgJedNazOrgJedSifNadJed < FK1>

ZaposlenIdOsobe <F K1>SifOrgJed < FK2>SifZanim <FK3>DatPocDatZavKoefPlace

ProizvodiSifOrgJed < FK1>SifProizvoda <FK2>

ProizvodSifProizvodaNazProizvodaJedCijenaTipProizvoda

ZanimanjeSifZanimNazZanim

204FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pretvorba modela E-V u relacijski model

Specijalizacija nadtipa u n podtipova → n binarnih vezanadtip → (jaki) entitet, kojemu se po potrebi određuje klasifikacijski atribut, npr. Proizvod.TipProizvodapodtip → (identifikacijski) slabi entitet, npr. Igla, Avion, Djelatnik, Suradnik

OsobaIdOsobePrezimeImeSifMjesta <FK1>AdresaDarRodStaz

DjelatnikIdOsobe <FK1>BrRadKnjBrTekRac

SuradnikIdOsobe <FK>BrUgovoraBrZiroRacUvjetiSuradnje

ProizvodSifProizvodaNazProizvodaJedCijenaTipProizvoda

IglaSifProizvoda <FK>DuljinaPromjer

AvionSifProizvoda <FK>BrSjedalaDoletKM

Osoba

Djelatnik

NS

Suradnik

0,1 0,N

1,1

ES

Proizvod

Igla Avion

0,1 0,1

1,1

Page 52: FER PIS Predavanja

205FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

MjestoSifMjestaPostBr <AK>NazMjesta

OsobaIdOsobePrezimeImeSifMjesta <FK1>AdresaDarRodStaz

OrgJedSifOrgJedNazOrgJedSifNadJed <FK1>Zaposlen

IdOsobe <FK1>Si fOrgJed <FK2>SifZanim <FK3>DatPocDatZavKoefPlace Proizvodi

Si fOrgJed <FK1>SifProizvoda <FK2>

ProizvodSifProizvodaNazProizvodaJedCijenaTipProizvoda

ZanimanjeSifZanimNazZanim

IglaSifProizvoda <FK>DuljinaPromjer

AvionSifProizvoda <FK>BrSjedalaDoletKM

SastavSifProizvoda <FK1>SifDijela <FK2>BrDijelova

DjelatnikIdOsobe <FK1>BrRadKnjBrTekRac

SuradnikIdOsobe <FK>BrUgovoraBrZiroRacUvjetiSuradnje

RacunBrRacDatRacIdOsobe <FK>IznosRac

StavkaRacBrRacSifProizvoda <FK>JedCijKolicina

206FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za izradu modela podatakaSinkronizacija s modelom procesa

spremišta podataka u modelu procesa su entiteti u modelu podatakaČistoća modela

izbjegavati entitete koji opisuju ugradnju (ulazno-izlazni uređaji, meta-podaci, itd)Provjera modela

pripaziti na sinonime (različite nazive istih objekata)pripaziti na homonime (jednake nazive različitih 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: Osoba 0,N:1,1 Mjesto 0,N:1,1 Drzava– naspram Osoba 0,N:0,1 Mjesto 0,N:0,1 Drzava

• ukloniti balansirane veze 1,1:1,1• pripaziti na nebalansirane veze 0,1:1,1 (zavisnost entiteta)• cirkularne reference

izbaciti izvedene atribute• oprez, mogući gubitak informacije o potrebnim izvedenim/izračunatim poljima

Modeliranje događaja

208FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Događaji

Događajzgoda, zbivanje u sustavu koja vodi ili pokreće procese sustavasâm događaj nije proces, nego okidač procesa koji se njime pokrećeprimjer: kupac dostavi narudžbu pokreće proces provjere da li se radi o narudžbi postojećeg ili novog kupca, proces stvaranja podataka o narudžbi i stavkama narudžbe, provjeru prethodnih zaduženja kupca, provjeru stanja skladišta itd.

Vrste događajavanjski događaji – potaknuti od strane vanjskih entiteta, koji zahtijevaju informaciju ili ažuriranje podataka ulazni tokovi podataka

• imenuju se tako da naziv sadrži naziv vanjskog entiteta• primjer: zahtjev za upis studenta ili zaprimanje narudžbe kupca

vremenski događaji - vremenski uvjetovani (rok, učestalost) ulazni upravljački tokovi

• imenuju se tako da naziv sadrži vremensku oznaku• primjer: istek roka plaćanja računa, mjesečni obračun plaća, zaključivanje ispitnog

rokaunutarnji događaji, događaji stanja - posljedica prijelaza sustava iz jednog stanja u drugo, na takav način ta to zahtjeva obradu ulazni upravljački tokovi

• primjer: isporuka robe sa skladišta zahtijeva naručivanje nove robe

Page 53: FER PIS Predavanja

209FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje procesa vođeno događajimaRaspodjela događaja (event partitioning)1. Izrada dijagrama konteksta sustava

• postavljanje početnog dosega projekta2. Izrada dijagrama funkcionalne dekompozicije

• podjela sustava u logičke podsustave i/ili funkcije3. Izrada popisa događaja i odziva

• utvrđivanje poslovnih događaja na koje sustav mora odgovoriti• element popisa = događaj, ulaz, izlaz

4. Izrada dijagrama dekompozicije događaja• dodavanje procesa za rukovanje događajima (event handler)• dodaje se po jedan proces za svaki utvrđeni događaj

5. Izrada dijagrama događaja• razrada procesa za obradu događaja• po jedan dijagram za svaki svaki događaj

6. Izrada dijagrama sustava• udruživanjem dijagrama događaja

7. Izrada primitivnih dijagrama• razrada dijagramom toka podataka koji sadrži osnovne procese, spremišta i

tokove za svaki pojedini događaj

210FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje procesa vođeno događajima

The System

Event 1 Event 5 Event n

Function 1 Function n

. . .Event 1 Event 2 Event 3 Event 4 Event 5 Event n-2 Event n-1 Event n

. . .Function 2

The System

. . .. . .

1

2

4

3

Event-Response List

event 1 response event 2 response response event 3 response response response event 4 response

...

5

Slika: Whitten et.al, Systems Analysis and Design Methods,McGraw-Hill Higher Education, 2000

211FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje procesa vođeno događajima

Event 1

Event 3

Event 4

Event n-2

Event n-1

Event 2

Event n

Event 5

2.2

2.1

2.4

2.3

6

7

. . . . . .

212FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: tablica događaja i procesa

Page 54: FER PIS Predavanja

213FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Matrica Entiteti/DogađajiMatrica Entiteti/Događaji

Entity/Event Matrix, Event/Enquiry, Entity Access Matrixpogled na sustav usmjeren događajima (event oriented view)matrica sadrži:

• događaje (retci)• entitete (stupci)• elemente koji prikazuju učinak

događaja na entitete– Stvaranje: C (create)– Čitanje: R (read) - u nekim

metodama se ne bilježi – Ažuriranje: U (update) ili M

(modify)– Brisanje: D (delete)

provjera dovršenosti:• svaki događaj mora imati učinak

na barem jedan entitet• svaki entitet mora imati događaj

koji ga stvara i briše

Primjer: pojednostavnjena rezervacija sobe u hotelu Proljeće

Događaj/Entitet

koris

nik

reze

rvac

ija

sobe

zadu

ženj

e

soba

privremena rezervacija C/M C potvrda rezervacije C/M opoziv rezervacije M dolazak gosta C/M C/M M povećanje troškova M C plaćanje usluga M M M arhiviranje rezervacije D D

214FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Matrični prikaz modela događaja

U primjeni su različite vrste prikaza, ovisno o metodologijimatrica entiteti/događaji (Entity/Event Matrix), npr. SSADM

• odnos događaja i entiteta: C (create), M (modify), D (delete)matrica funkcije/entiteti (Function/Entity Matrix), npr. IEM

• odnos obrade i podataka: C (create), R (read), U (update), D (delete)matrica funkcije/događaji (Function/Event Matrix), npr. SSM

• odnos obrade i događaja: X (povezanost) ili praznina

Slične matrica može se iskoristiti za definiranje pravamatrica Korisnik / Proces / Xmatrica Korisnik / Entitet / CRUD

• Korisnik pri tome predstavlja grupu korisnika ili ulogu korisnika• Ovisno o detaljima ugradnje u fizičkom modelu Korisnik može biti i

konkretna osoba

215FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Matrični prikaz modela događaja

Pimjer, prvi dio matrice procesi/entiteti za jedan stvarni sustavK3 K54 K55 K38 K30 K39 K5 K31 K40 K7 K32 K41 K8 K42 K14 K63 K36 K50 K37 K46 K53 K12 K26 K61 K60 K13 K6 K29 K52 K15 K22

P9 CRUD CRUD CRUD R R R R R R R R R R R R R R R R R R

P6 CRUD R CRUD R R R

P10 CRUD R R R CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD R R

P11 CRUD R R R CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD R R

P12 CRUD R R R CRUD CRUD CRUD CRUD CRUD CRUD CRUD CRUD R R

P8 CRUD R R R R R R R R R R R R R R R R R R

P32 CRUD CRUD CRUD R

P44 R RU CRUD R

P37 R RU CRUD R

P22 R RU CRUD R

P20 CRUD CRUD R R CRUD

P1 R R R R CRUD

P4 R R R R CRUD CRUD

P3 R R CRUD R CRUD

P36 R R CRUD R CRUD CRUD

P48 R R R CRUD CRUD R R

P45 R R CRUD R

P18 R

P16 R R R R R R R R R R R R R R R R R

P7 R R R R R R R R R R R R R R R R R R CRUD R R R R R R R R R

P24 R R R CRUD R R R R R R R R

P30 R R R R R R R R R RU

P25 R R R R R R R R R R R

P29 R R R R R R RU R

P28 CRUD R R

P33 R R R R R R R R R R R R R R R R R R CRUD R R R R R R R R

P19 R R R R R R R R R

P14 R R R R R R R R R R R R R R R R R

P38 R R R R R R R R R R R R R R R RU R

P50 R R R RU R

P52 R R R R R R R R R R R R RU R

P51 R R R R R R R R R R R R R R RU

P47 R R R R R R R R R R R R R R R R R R R R R RU R

P46 R R R R R R R R R R R RU R

P31 R R R

P15 R R

P49P26 R R R

P13 R R R

P27 R R R R

P21 RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU RU

P17 R R R

P2 R R R R R R R R

P5 R R R R R

P35 R R R R R R R R R R R R R R R R R R R R

P34 R R R R R R R R R R R R R R R R R R R R R

P41P42P39P40P43P23

216FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Model života entiteta

Povijest života entiteta (Entity Life History)pogled na sustav usmjeren učincima događaja koji uzrokuju promjene stanjaopisuje vremenski zavisno ponašanje (jednog) entiteta

• prati promjene ponašanja entiteta koji prolazi kroz sustavDijagram podudarnosti učinaka - Effect Correspondence Diagram (ECD)

entite t,blok

ponavl jan idogađaj (iteraci ja)

al ternativnidogađaj (selekcija)

sl ijednidogađaj (sli jed)

m n ooperaci je

Page 55: FER PIS Predavanja

217FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Model života entiteta

Primjer, pojednostavnjena rezervacija sobe u hotelu Proljeće

1 1 2

stvaranjetroška

povećanjetroška

opozivrezervacije

nedolazakgosta

rezervacijasobe

rezervacija,nenajav. dolazak

potvrdarezervacije

opozivrezervacije ili nedolazak

privremenarezervacija

dolazakgosta

arhivi ranjerezervacije

3

3 3

najavljenidolazak

2

4

plaćanjeusluga

5

7

63

3

1. Kreirati rezervaciju2. Zauzeti sobu3. Ažurirati status rezervacije4. Kreirati zaduženje5. Poništiti zaduženje6. Osloboditi sobu7. Obrisati podatke o rezervaci ji

218FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram prijelaza stanjaDijagram prijelaza stanja (State Transition Diagram)

zasniva se na ideji stroja s konačnim brojem stanja (finite state machine), hipotetičkom mehanizmu koji u nekom trenutku može biti u jednom od konačno mnogo diskretnih stanja grafički prikaz promjena stanja, tj vremenski zavisnog ponašanja sustava

Elementi prikaza:stanje – kumulativni rezultat ponašanja nekog objekta (pravokutnik, krug ili elipsa)prijelaz – promjena stanja uzrokovana nekim događajem (usmjerena linija od jednog stanja prema drugom)događaj – uvjet promjene stanja i akcija koja se obavlja (opis linije prijelaza oblika događaj/akcija)

DPS najčešće opisuje vremenski zavisno ponašanje čitavog sustava manji sustavi mogu se prikazati jednim dijagramom veći sustavi razlažu se slično dijagramima toka podataka, pri čemu stanje na nekoj razini postaje početno stanje dijagrama na nižoj razini

Primjenasustavi za rad u stvarnom vremenu (real-time system)jezična analiza (parsing)dizajn korisničkog sučelja

Primjeri: \Dizajn

219FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Stanja zahtjeva (narudžbe)U pripremi: Zahtjevatelj stvara novi zahtjev, pokrenuvši tu funkciju iz nekog drugog dijela sustavaOdgođen: Zahtjevatelj je snimio svoj rad (narudžbu) kako bi ju dovršio kasnije bez da ju je predao ili otkazaoZaprimljen: Zahtjevatelj je predao svoj zahtjev (narudžbu) koji je sustav ocijenio kao dobar i primio gaPodnesen: vanjski dobavljač je sposoban isporučiti zahtjev i kupac podnosi zahtjev (narudžbu) kod vanjskog dobavljačaIspunjen: zahtjev je zadovoljen bilo da je dostavljen iz zaliha kemijskog laboratorija ili da je dostavljen od strane vanjskog dobavljačaVraćen: dobavljač nije mogao zadovoljiti narudžbu i vratio je narudžbu uz mogućnost kasnije dostaveOtkazan: Zahtjevatelj je otkazao primljen zahtjev prije negoli je isporučen ili je kupac otkazao narudžbu kod vanjskog dobavljača prije nego što je dostavio narudžbu ili nakon što je dobavljač vratio narudžbu uz mogućnost kasnije dostave

u pripremi

primljeno

podnešen

vraćenispunjen otkazan

odgođen

korisnikstvaranovi

zahtjev

korisnikotkazuje

novizahtjev

korisnik snimanepotpun zahtjev

korisnik dohvaćanepotpun zahtjev

sustav prihvaćavaljan zahtjev

kupac podnosizahjtjev kod dobavljača

dobavljač vraćanarudžbu za kemikalijama

kupac otkazujenarudžbu

kupac otkazujenarudžbu

zahtijevač otkazujenarudžbu

kemikalija nabavljenaod dobavljača

kemikalija nabavljenaod dobavljača

kemikalija nabavljenaiz zaliha kem. laboratorija

220FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: sustav za rad u stvarnom vremenu

Dijagrami sustava za rad u stvarnom vremenu razlikuju se po tomešto sadrže posebno stanje "besposlen"

Primjer, Sokomat hotela Proljeće ili Bankomat banke Oprosti nam duge naše

praznihod (idle)

čekanjena izbor

natočeno

čekanje navađenje kartice

ispravnakartica / 'Izaberite'

neispravnakartica / 'Neispravna

izvađeno /'Još nešto?'

kartica izvađena/ 'Umetnite'

izabran 'Kraj'/ 'Hvala, đenja'

obavljen odabir/ 'Pokupite'

Page 56: FER PIS Predavanja

221FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: prijelazi statusa karticaU zagradama je navedeno tko promjenu smije načiniti.

Podaci ispravni(CAP)

A

Izrada zapisa(ustanova)

N

Slika i potpis(ustanova)

Z

Kontrola podatakaprije tiska(CAP)

Z

Postoje neispravnipodaci(CAP)

Y

Ispravak pogrešnihpodataka(ustanova, CAP)

Z

Tiskanje kartice(tvrtka za tiskanje)

T

Izdavanje vlasniku(ustanova)

A

Poništavanje kartice(ustanova, CAP)

PKJID O S R U

Ponovno aktiviranje(ustanova, CAP)

T

G

ZatraženaZ

Poništena zbog neispravnih podatakaY

NestalaX

UkradenaU

TiskanaT

OštećenaŠ

Student se ispisaoS

PoništenaP

Student je upisao prekidR

OduzetaO

NezavršenaN

Istekao apsolventski rokK

Poništena zbog promjene JMBG-aJ

IzgubljenaI

Pogrešni podaci (koristi samo tvrtka za tiskanje)G

Student je diplomiraoD

IzdanaA

222FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Mape dijaloga

Korisničko sučelje u mnogim aplikacijama se može promatrati kaokonačni automat.

Jedan element sučelja (izbornik, radna površina, komandna linija ili dijalogprozor) može biti aktivan u određenom trenutku. Korisnik može doći do ograničenog broja drugih elemenata ovisno o akcijama koje poduzima.Broj putanji kojima korisnik može mijenjati dijaloge je obično vrlo velik, ali jekonačan i mogućnosti su najčešće poznate.

Mape dijaloga prikazuju sustav na visokoj razini apstrakcije. Prikazuju elemente dijaloga u sustavu i mogućnost navigacije između njih aliništa ne govore o dizajnu zaslona.Korisnici i razvojni tim mogu zajednički razmatrati dijalog mape kako bi postigli zajedničko gledište o tome kakva treba biti korisnikova interakcija sa sustavom kako bi postigao određeni zadatak.Dijalog mape su također korisne kod modeliranja vizualne arhitekture web sjedišta, pa se ponekad tako i nazivaju (eng. site maps). Navigacijski linkovina sjedištu pojavljuju se kao tranzicije na dijalog mapi.

223FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Mape dijaloga

Koristi se notacija dijagrama prijelaza stanjaUvjet koji pokreće korisničku navigaciju prikazan kao tekst na strelicama. Postoji nekoliko vrsta pokretačkih uvjeta:

• Korisnička akcija, kao što je pritisak tipke ili klik na link ili gumb dijalog prozora

• Podatkovna vrijednost, kao što je pogrešan unos koji pokreće pojavljivanje poruke o pogrešci

• 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 EnterRadi pojednostavnjenja mogu se izostaviti neke općenite funkcije, npr.

pritiskanje tipke F1 da bi se dobila pomoćstandardni navigacijski linkovi koji se pojavljuju na svakoj stranici.

224FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: mapa dijalogaDijalog mape moguprikazati

Alternativne putove (npr. naručiti od vanjskogdobavljača) kao grane kojeodstupaju od uobičajenogputa (kemikalija iz zaliha). Opcionalne putove (npr. Pregled povijesti pakiranja)Posebna stanja (npr, porukeo pogreškama)

Prilikom analize zahtjeva, dijalog mapa predstavlja interakciju korisnika i sustava na konceptualnoj razini. Konkretna ugradnja može biti drugačija.

Primjer: Korisnik inicira ovaj model korištenja odabirom opcije "zatraži kemikaliju" iz glavnog izbornika. Nije nužno prikazivati detalje (npr. Potvrdu otkazivanja čitavog zahtjeva)Ključno je da korisnik i razvojnik jednako “razumiju”opisanu funkcionalnost.

Trenutna listazahtjeva

zatražikemikaliju

otkažicijeli

zahtjev

Unesite šifruzahtijevanekemikalije

Prikaz porukeo pogrešci

Listadobavljača

za kemikaliju

Lista pakiranjau zalihamakemijskoglaboratorija

Povijestpakiranja

Potvrda da jezahtijevprimljen

podnijeti zahtjev za >0 kemikalija

brisanje kemikalije satrenutne liste zahtjeva

zahtijevanjedruge

kemikalije

otkaži zahtjevza novomkemikalijom

zatraži kemikalijuod dobavljača

zatraži različitukemikaliju

otkaži dodavanjenove kemikalije

odaberi dobavljača i dodavanje u listu

pogrešna šifrakemikalije

OK

zatraži kemikalijuiz zaliha

laboratorija

zatraži različitukemikaliju

zatraži pogledatipovijest pakiranja povratak

odaberi pakiranjei dodaj u listu

otkaži dodavanjenove kemikalije

u listu

Page 57: FER PIS Predavanja

Oblikovanje sustava

226FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje sustava» Analiza – što sistem mora raditi» Dizajn – kako sustav treba izgraditi ili kakav sustav treba biti

Oblikovanje sustava, Dizajn sustava (systems design)Procjena alternativa i detaljna specifikacija računalom podržanog rješenja tehnička specifikacija sustavaIzrada ugradbeno zavisnog modela, kojim se opisuje kako sustav radifizički dizajn

Moderni strukturirani dizajnprocesno usmjerena tehnika razrade velikog programa u hijerarhiju modula s ciljem izrade programa koje je lakše napraviti i održavatistarije varijante: oblikovanje programa s vrha nadolje (top-down program design) i strukturirano programiranjealternative i/ili nadopune: informacijsko inženjerstvo, prototipiranje, JAD, RAD, objektno usmjereni dizajn

227FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Opći dizajnOpći dizajn (konceptualni, visoki, dizajn arhitekture) → funkcionalne specifikacijeOdabir tehničke arhitekture sustava

Centralizirana ili distribuirana obrada i pohrana? Kako? Tehnologije?Softver: nabavljeni, napravljen po mjeri, mješavina? Razvojni alati?

Analiza i distribucija podatakapretvorba konceptualnog modela podataka u logički model (relacijski , postrelacijski, objektno-relacijski), ako nije učinjena ranijeizrada dobrog modela podataka - jednostavan, neredundantan, elastičan i prilagodljiv model

• analiza podataka (ako postoje) i normalizacija modelaanaliza događaja

• analiza entiteta normaliziranog modela i uočavanje događaja i uvjeta koji uzrokuju stvaranje, izmjenu i brisanje podataka i po potrebi ažuriranje modeli procesa

Analiza i distribucija procesapretvorba logičkog modela procesa u fizički model za odabranu arhitekturu shema aplikacije

• fizički procesi: poslužitelji, radne stanice, rad koji treba obaviti• fizička spremišta: baze podataka, tablice, datoteke

grupiranje i distribucija obrade na različite lokacijedizajn računalske mreže, povezivanje s drugim, postojećim sustavimadefiniranje prava pristupa logičkih grupa korisnika

Opći dizajn sučelja izgled, ergonomija, tzv. ‘look and feel’

Izrada planova konverzije i instalacije

228FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Detaljni dizajn

Detaljni dizajn → tehničke specifikacijeIzrada fizičkog modela podataka

pretvorba logičkog modela podataka u fizički model podataka za odabrani SUBP shema baze podataka

• prilagodba modela mogućnostima i ograničenjima SUBP• fizički parametri (volumetrija) i ugađanje baze podataka

oblikovanje fizičkih datotekaDizajn programa

utvrđivanje strukture programa na temelju modela procesa • (logički) proces ili skup procesa ↔ jedan ili više programskih modula• određivanje veza između modula (standardno strukturnim kartama)

preciziranje programske logikeDizajn sučelja

dizajn sučelja sustava – protokoli pristupa i razmjene podatakaoblikovanje zaslonskih maski i izvješća

Prototipiranje detalja dizajnaIzrada procedura za provjeru ispravnosti i konverziju sustava

Page 58: FER PIS Predavanja

229FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristupi oblikovanju i razvoju

Cjelovitoistovremeni (tzv. “frontalni”) razvoj cijelog ISveliki zahtjevi na ljudske resurse, problem koordinacije izvođača

Faznopodjela na podsustave te nezavisni razvoj pojedinih podsustava uz kasniju integraciju podsustava

• moguće kod velikih IS koji se daju rastavitiproblem rastavljanja i povezivanja podsustava

Optimalno rješenjeizrada jedinstvenog modela podataka na početku razvojarazvoj i postupna integracija aplikacija

Arhitektura sustava

231FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dizajn arhitekture sustava

Dizajn arhitekturesastoji se od planova koji definiraju pojedine komponente sustava

• računalnu opremu• programsku podršku• komunikacije• sustav zaštite• globalnu podršku aplikacije

Specifikacija hardvera i softvera podloga za nabavuUobičajeni modeli arhitekture

poslužiteljska (server-based) – obrada se obavlja na poslužiteljuklijentska (client-based) – obrada se obavlja na osobnom računaluklijent-poslužitelj (client-server based) – kombinacija prethodne dvije

Model mrežeprikaz glavnih komponenti sustava, njihove fizičke lokacije i način njihovog međusobnog povezivanja

232FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Arhitektura sustava

Funkcije sustava = slojevi arhitekture

Pohrana podataka (data storage)Pristup podacima (data access logic)Elementi obrade (application logic)Sučelje (presentation logic)

PoslužiteljiVelika računala (Mainframe)Mala računala (Minicomputer)Mikroračunala (Microcomputer) – PC

KlijentiKlasični terminali - ansi, vt220, ...Mikroračunala – PC

• pristup terminal emulatorima ili udaljenim radnim plohama

Terminali posebne namjene • bankovni terminali (bankomati),

Internet kiosk, ručna računala,...

Data and DB process on server

All business logic on the mainframe server

All data on the mainframe server

Business logic on application server

User Interface on the PC Client

Network

Logic & user interface on PC

Network

Data on DB process on Server

User interface on the PC client

Network Network

Some logic on Intranet Server

Data on database server

Internal user interface on PC

Network

Secure intranet provides access

to data, logic, and interfaces

Distributed Presentation

Distributed Data (2-tier)

Distributed Data & Logic (3-tier)

Internet and Intranet

Some logic on Internet Server

External user PC client

Internet Connection provides access to

interfaces and some logic

Secure Gateway to protect applications

and data

Connection to outside

world

Secure connection to database

server

Page 59: FER PIS Predavanja

233FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Centralizirana obrada

Višekorisničko računalo (mainframe, minicomputer) + terminalpohrana podataka (datoteke i baze podatka)poslovna logika (programska podrška)korisničko sučelje (uobičajeno znakovno sučelje )sučelje sustava (mrežne i druge komponente)

Distribuirana prezentacijaopcionalna nadgradnja središnjih aplikacija zamjenom znakovnog sučelja grafičkim, koje se izvodi na osobnom računaluproduljuje vijek starih aplikacija, ali se funkcionalnost ne može značajno poboljšati

234FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dvoslojna arhitektura klijent-poslužitelj (client-server)

Klijent - jednokorisničko računalosučelje, obrada i pohranapovezljivost na poslužitelje (opcionalno na druge klijente)

Poslužitelj - višekorisničko računalodijeljena baza podataka, obrada i servisi sučeljapovezljivost s klijentima i drugim poslužiteljima

Korisnicima izgleda kao da jedno računalo (njihov PC) obavlja cijeli posaoPrednosti

izolacija promjena u pojedinom slojukvalitetnija (lakša) obradasredišnje upravljanje integritetom podataka na poslužitelju

Nedostaciodržavanje aplikacijske logike (programa) na svim klijentimadebeli klijenti

Primjeri

235FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Debeli klijent

Debeli klijentPodatkovna logika integrirana u klijentaNema obrade podataka na serveru ili je obrada minimalnaMinimalna ili nikakva elastičnost na promijene poslovne politike

Prednostibrzi početni razvoj aplikacijeveća samostalnost klijentarasterećenje glavnog računala (servera)može imati lokalnu bazu podatakamogu se nabaviti jeftina računala sa snažnim procesorima

Nedostaciposlovna logika integrirana na klijentapromjena poslovne logike znači instaliranje nove verzije aplikacije na svim klijentimavelika mogućnost rada sa zastarjelim podacimaako s vremenom aplikacija postane spora (zbog količine podataka), treba promijeniti sve klijenterazvoj velike aplikacije s vremenom postaje vrlo kompleksan (sav kod je na klijentu)

236FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tanki klijentTanki klijent

Podatkovna logika se nalazi na poslužiteljuOsnovna namjena klijenta je prikaz podatakaVećinom se koriste u poslovnim sustavimaTipičan primjer tankog klijenta je web preglednik

Prednostipromjena poslovne logike ne znači nužno i promjenu u klijentskom dijelu aplikacijepromjena poslovne logike može se obaviti centraliziranoračunala ne moraju imati veliku procesorsku snaguukoliko s vremenom obrada postane spora (zbog količine podataka), možemo jednostavno povećati snagu središnjeg računalakao tanki klijent može se koristiti npr. web preglednik (dobro definirano i svima dostupno)smanjena mogućnost 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)

Nedostaciveliko opterećenje glavnog računala, a to znači skupo glavno računaloukoliko se kao klijent koristi web preglednik moraju se poštivati njegova ograničenja

Page 60: FER PIS Predavanja

237FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Troslojna ili višeslojna arhitektura klijent-poslužitelj

Distribucija baza podataka i poslovne logike na zasebne poslužitelje

poslužitelj aplikacija + poslužitelj baza podataka + klijentposlužitelj baza podataka

• upravljanje podacimaposlužitelj aplikacija

• upravljanje transakcijama, "preuzeto" s podatkovnog poslužitelja

• dio ili čitava poslovna logika, "preuzeta" s klijenta

klijent• korisničko sučelje• dio poslovne logike - onaj koji se ne

mijenja ili je osobnog karakteraPrednosti

bolja raspodjela opterećenjaveća skalabilnost - mogućnost ekspanzije, npr. povećanja broja korisnika, bez preopterećenja ili potrebe za promjenom procedura)+

Nedostacisloženi (komplicirani) dizajn i razvojproblem raspodjele podataka, procesa, sučeljaveće opterećenje mreže

Primjeri

238FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Višeslojna arhitektura

Koristi se za razvoj složenih aplikacijaKod se može podijeliti u više 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)

Trenutno se često radi podjela u tri razineKlijent - GUI (u web aplikaciji je to web preglednik)Application server - BLL (npr. web servis)Baza podataka (npr. SQL Server)

239FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Odabir arhitekture korisnik-poslužitelj

Odabir arhitekture može ovisiti o raspoloživim računalima i mrežnoj infrastrukturi. Općenito, mogu se primijeniti sljedeći kriteriji:

Aplikacije velikog opsega sa stotinama ili tisućama klijenata.Sustavi u kojima su i podaci i aplikacije promjenljivi.Aplikacije u kojima se integriraju podaci iz višestrukih izvora.

Troslojne ili višeslojne K/S arhitekture

Aplikacije gdje se aplikacijska obrada izvodi na klijentu COTS (Commercial Off-The Shelf Software) programskom podrškomAplikacije koje zahtijevaju računalno zahtjevne obrade podataka (npr. vizualizacija podataka – interaktivno ili izvješćima).Aplikacije s relativno čvrstom krajnje-korisničkom funkcionalnošću korištene u okolini gdje je dobro uspostavljeno upravljanje sustavom.

Dvoslojne K/S arhitekture s debelim klijentima

Naslijeđeni aplikacijski sustavi gdje je nepraktično i neisplativo odvajanje aplikacijske obrade i upravljanje podacima.Računalno-zahtjevne aplikacije s vrlo malo ili bez podatkovne obrade.Podatkovno zahtjevne aplikacije (pretraživanje i upiti) s vrlo malo ili bez aplikacijske obrade.

Dvoslojne K/S arhitekture s tankim klijentima

AplikacijeArhitekture

240FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer arhitektura klijent-poslužitelj

Napraviti aplikaciju koja će prikazivati:Kupce, prodavače i datume narudžbiNazive artikala, jediničnu cijenu i količinu za pojedinu narudžbuUkupnu količinu i ukupnu vrijednost narudžbeTreba prikazivati zadnjih 20 narudžbi

Rješenje – debeli klijentNa klijentu napravi SQL upit kojim se dohvaćaju podaci o zadnjih 20 narudžbi.Na klijentu napravi SQL upit kojim se dohvaćaju detalji za zadnjih 20 narudžbi.Kad se promjeni narudžba prođi kroz sve detalje i ispiši one koje pripadaju trenutnoj narudžbi. Usput računaj zbirne vrijednosti.

Rješenje – tanki klijentNa klijentu pozovi stored proceduru koja vraća podatke o zadnjih 20 narudžbiKad se promjeni trenutna narudžba pozovi stored proceduru koja vraća detalje trenutne narudžbe i zbirne vrijednosti

Page 61: FER PIS Predavanja

241FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer promjene zahtjeva

Promjena zahtjevaKorisnik se nakon mjesec dana rada aplikacije, naravno, predomislio i želi da se prikazuje zadnjih 50 narudžbi.

Ispunjenje promjene zahtjevaNa debelom klijentu treba promijeniti SQL upite u izvornom kodu, prevesti gau novu izvršnu inačicu te dostaviti aplikaciju korisnicima - sporo i skupoNa tankom klijentu treba na serveru promijeniti samo pohranjenu proceduru za dohvat narudžbi - brzo (manje od pet minuta) i jeftino

242FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer rješenja u višeslojnoj arhitekturi

Postoje sljedeće razine:GUI - (Visual Studio .NET 2003 - C#)BLL (Visual Studio .NET 2003 - C#)DALGeneric (generator koda LLBLGen -> C#)DALSpecific (generator koda LLBLGen -> C#)Baza podataka (MS SQL Server)

243FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer prezentacijskog sloja

GUI - (Visual Studio .NET 2003 - C#)private void FormLastOrders_Load(object sender, System.EventArgs e){

// Konstruiraj bklasu_bLastOrders = new BLastOrders(_connectionString);// Postavi DataSource na oba gridadataGridOrders.DataSource = _bLastOrders.OrdersEntityCollection;dataGridOrderDetalis.DataSource =

bLastOrders.OrderDetailsEntityCollection;// Ispiši detalje trenutno selektirane narudžbedataGridOrders_CurrentCellChanged(sender, e);

}

Prema pravilima višeslojnog programiranja na prezentacijskom sloju (formi) koristimo sloj poslovne logike (B-Klasa).U ovom primjeru trebamo konstruirati b-klasu i ispisati podatke u gridu. U konstruktoru b-klase se učitaju podaci o narudžbama.Nakon toga okinemo event na kojem se prikazuju podatci o detaljima narudžbe (sljedeći slide).

244FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer prezentacijskog sloja

private void dataGridOrders_CurrentCellChanged(object sender, System.EventArgs e) {// Dohvati podatke o trenutno selektiranoj narudžbi_bLastOrders.SelectOrderDetails(Convert.ToInt32(dataGridOrders[

dataGridOrders.CurrentRowIndex, 0]));// Ispiši zbirne podatke na formutextBoxTotalPrice.Text = _bLastOrders.TotalPrice.ToString("C");textBoxTotalQuantity.Text = _bLastOrders.TotalQuantity.ToString();

}

Kod promjene selektirane narudžbe treba osvježiti podatke o detaljima.To radimo tako da pozovemo pripadajuću metodu u b-klasi (SelectOrderDetails).Ta metoda dohvaća detalje neke narudžbe, a usput računa i zbirne podatke (ti podaci su dostupni preko property-a b-klase.

Page 62: FER PIS Predavanja

245FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer poslovnog sloja (BLL)

BLL (Visual Studio .NET 2003 - C#)public BLastOrders(string connectionString) {

// Konstruiranje adaptera za pristup bazi podataka_dataAccessAdapter = new DataAccessAdapter(connectionString);// Definiranje EntityCollection-a za narudžbe_ordersEntityCollection = new EntityCollection(new OrdersEntityFactory());SelectLastOrders();// Definiranje EntityCollection-a za detalje narudžbe_orderDetailsEntityCollection = new EntityCollection(new OrderDetailsEntityFactory());

}

Primjer konstruktora u b-klasi (sloju poslovne logike).Sloj poslovne logike treba pametno definirati, tako da GUI služi samo za prikazivanje podataka, a sve veće obrade i rad s bazom moraju se odvijati u b-klasi.U ovom primjeru uz b-klasu postoji i sloj pristupa podacima (DAL) prije same baze podataka. U b-klase se intenzivno koristi DAL, a iz priloženog koda vidi se da je programiranje znatno jednostavnije nego upotrebom SQL upita.

246FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer poslovnog sloja (BLL)public EntityCollection SelectLastOrders() {

// Isprazni trenutni sadržaj_ordersEntityCollection.Clear();// Narudžbe treba sortirati prema datumi unatragISortExpression sorter = new SortExpression(SortClauseFactory.Create(OrdersFieldIndex.OrderDate, SortOperator.Descending));// Definiranje dodatnih staza za dohvat podataka (treba dohvatiti podatke o kupcima i djelatnicima)IPrefetchPath2 path = new PrefetchPath2((int)EntityType.OrdersEntity);path.Add(OrdersEntity.PrefetchPathCustomers);path.Add(OrdersEntity.PrefetchPathEmployees);// Dohvat podataka iz baze (uz korištenje sortera i dodatnih staza za dohvat)_dataAccessAdapter.FetchEntityCollection(_ordersEntityCollection, null, 20, sorter, path);// Vrati podatke dohvaćene iz bazereturn _ordersEntityCollection;

}

Primjer dohvata zadnjih 20 narudžbi u b-klasi. Tu ujedno možemo napraviti i promjenu da se dohvati zadnjih 50 narudžbi.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 mogućnost pogreške, a sljedeća prednost je preglednost koda.Na sličan način bi se riješio i dohvat detalja pojedine narudžbe.

247FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer podatkovnog sloja (DAL)

DALGeneric (generator koda LLBLGen -> C#) i DALSpecific(generator koda LLBLGen -> C#)

Ovaj dio služi za pristup bazi podataka (DAL)Ovaj dio koda se generira pomoću generatora koda.DAL se u ovom primjeru dijeli na dva dijela:

• DALGeneric - Objekti za pristup bazi koji su isti za sve baze• DALDBSpecific - Objekti za pristup bazi koji su specifični za pojedine

baze podatakaPrednosti rješenja upotrebom generatora koda:

• Mogućnost pristupa bazi podataka preko objekta (nije potrebno znanje SQL-a)

• Mogućnost promjene baze podataka• Nema velikog gubljenja vremena na pisanje koda za pristup bazi

podataka• Manja mogućnost pogreške• …

Dizajn baze podataka

Page 63: FER PIS Predavanja

249FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dizajn baze podatakaDizajn baze podataka

Izrada sheme baze podataka (fizički model, tehnički nacrt)• prevođenje podatkovnog modela u strukture podržane odabranom tehnologijom (SUBP)• primarni ključ, sekundarni ključ, strani ključ, opisna polja

Relacijske BP• strukturirani upitni jezik (SQL), • okidači (trigger), • pohranjene procedure (stored procedures), • dinamički skupovi podataka (cursor), • korisnički definirani tipovi podataka i funkcije• ...

Svrhapouzdanost - konzistentnost i integritet podatakaučinkovito rukovanje podacimaprilagodljivost na promjene zahtjevaskalabilnost

Analiza podatakapriprema modela podataka za ugradnjunormalizacija - tehnika organiziranja atributa, dovođenje modela u određeni stupanj organiziranosti, 3NF ili višu NF

Great news - the relational model is dead!Michael Gorman, Whitemarsh Information Systems, Corp., http://www.wiscorp.com

250FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Normalizacija

Normalizacijapostupak strukturiranja sheme relacijske baze podataka tako da se ukloni što više neodređenosti (zalihosti)stupanj normalizacije povećava se od 1NF do 5NF

• većina dizajnera zaustavlja se na 3NF ili na BCNF (Boyce-Codd NF)svodi se na ispunjenje tzv "relacijske zakletve" [Finkelstein, 1989]:

• Ključ– 1NF: nema ponavljajućih grupa, definiran primarni ključ

• Cijeli ključ– 2NF: svi neključni atributi u potpunosti zavisni o čitavom PK

• Ništa drugo nego ključ– 3NF: svaki neključni atribut je neposredno zavisan samo o PK

• Tako mi Codd pomogao! » Dr. E. F. Codd - otac relacijske teorije BP

– BCNF: svi atributi koji određuju druge atribute čine moguće ključeve

251FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Normalizacija

Prevođenje modela i normalizacija uporabom CASE pomagalaAutomatizirano pridjeljivanje stvarnih tipova podataka konkretnog SUBPStvaranje tablica za entitete nadtipa i podtipaAutomatizirana migracija ključa i prepoznavanje tzv. visećih veza (danglingrelationships) – veza na tablice koje nisu uključene u generiranje modelaVećina CASE alata normalizira u 1NF

• zamjena veza više-prema-više asocijativnim entitetima• zamjena višeznačnih atributa entitetima

Više normalne forme• problem prepoznavanja djelomičnih i tranzitivnih zavisnosti

Generiranje programskog koda okidača

Prije početka kodiranja obavlja se ograničeno uvođenje zalihosti i ugađanje baze podataka zbog poboljšanja elastičnosti i poboljšanja performanci

zahvat može rezultirati određenim brojem intervencija u logički modelDenormalizacija - ograničeno i kontrolirano narušavanje NF

252FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Denormalizacija

Nadomjesni ključeviispred ključa složenog od većeg broja atributa (npr. >= 3) umeće ključ sa samopovećavajućim vrijednostima (serial), a na originalni ključ postavlja se jednoznačan (unique) kompozitni indeks

• teorijski se ne preporuča za asocijativne entitete, koji nasljeđuju ključeve svojih roditelja, jer se time gubi smisao identifikacijske veze

• praktično, nadomjestak treba ugraditi kada je tablica u koju se ugrađuje referencirana iz drugih tablica, a to nije u suprotnosti s poželjnim redundantnim vezama

– primjer: @IdRadnogMjesta = @IdOrgJedinice, @IdZanimanjaRadnoMjesto = @IdRadnogMjestaZaposlenje = @IdOsobe, @IdRadnogMjesta, @DatZaposlenja, …

– primjer: Drzava 1:N Mjesto 1:N Osoba, pri čemu je Mjesto = @IdDrzave, @IdMjesta, …

“čisti dizajn” – dosljedna ugradnja nadomjesnog ključa sa samopovećavajućim vrijednostima u sve tablice baze podataka

• pojednostavnjenje ugradnje • umnožavanje ključeva (nadomjesni primarni, originalni alternativni)• gubitak izvorne vrijednosti stranog ključa

Page 64: FER PIS Predavanja

253FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Denormalizacija

Dijeljenje i udruživanje tablicadijeljenje tablica smještanjem rijetko korištenih atributa u posebnu tablicuudruživanje tablica ili uklanjanje pojedinih tablica stapanjem atributa

• obične veze 1:1• udruživanje nadtipa s podtipovima kardinalnosti 1:1, pod uvjetom da su

slične strukture i sadržajaUvođenje zalihosti

dodavanje atributa za pohranu izvedenih vrijednosti• atribut pohrane za izvedenu vrijednost koja se može izračunati

agregatnom funkcijom (npr. iznos računa kao suma iznosa stavki)• oznaka zadnje vrijednosti nekog stanja kada se vrijednosti pojedinih

stanja nalaze u tablici s velikim brojem zapisa (npr. stanje skladišta)• redundantna vrijednost koja se inače dohvaća složenim i/ili sporim

upitima (zadnje zaposlenje + zadnji izbor u zvanje + zadnje školovanje)dodavanje atributa kao što su zastavice za "trajno" označavanje zapisa

Podrazumijeva se da se denormalizacija obavlja samo na mjestima gdje je to stvarno nužno i na takav način da ne ugrožava integritet podataka aplikacijsko upravljanje integritetom

254FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja pravila za očuvanje integriteta

Očuvanje integriteta stvaranjem objekata u rječniku BPEntitetski integritet - postavljanjem primarnog ključaReferencijski integritet - postavljanjem stranog ključa i ograničenja na unos

• mora postojati vrijednost stranog ključa (mandatory→ not null)• strani ključ smije se postaviti na nul-vrijednost (optional→ null)

Domenski integritet - postavljanjem ograničenja na skup vrijednostiAlternativni ključevi - obveznim atributima i jedinstvenim indeksima

Pravila referencijskog integriteta – opći slučajPostupci prilikom unosa, ažuriranja i brisanja roditelja ili djeteta

• zabrana (restrict)• brisanje n-torki koje imaju odgovarajuću vrijednost stranog ključa

(cascade)• ažuriranje odgovarajućih vrijednosti stranih ključeva (set null)• postavljanje na standardnu vrijednost (set default)

255FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja referencijskog integriteta

Neposredno upravljanje referencijalnim integritetom od strane SUPB (DRI - Direct Referential Integrity), svodi se na:

restrikciju pri unosu, tj. obvezni unos (not null) stranog ključa i provjeru postojanja referencirane n-torke pri unosupostojanje opcionalnog, tj. nedefiniranog stranog ključa (null)kaskadnu obradu n-torki koje referenciraju roditelja koji se ažurira ili briše

– [ ON DELETE { CASCADE | NO ACTION } ] – [ ON UPDATE { CASCADE | NO ACTION } ]

Upravljanje referencijskim integritetom okidačima (trigger)elastičniji pristup, koji omogućava ugradnju i ostalih postupaka prilikom unosa/izmjene/brisanja n-torki

Aplikacijsko upravljanje integritetompostupci unosa/izmjene/brisanja podržani programskim kodompojavljuje se problem umnažanja programskog koda, naročito kod hibridnih sustava (4GL + GUI)

Mješovitokombinacija navedenih mogućnosti, s tim da DRI ima prednost

256FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja referencijskog integriteta

Mogući problemiNeki atribut stranog ključa može biti primarni atribut.

• Pokušaj ažuriranja na nul-vrijednost stranog ključa koji je dio primarnog ključa u suprotnosti je s pravilom entitetskog integriteta.

• Prilikom ažuriranja stranog atributa koji je ujedno i primarni atribut ne smije se narušiti jedinstvena vrijednost ključa.

Postupak kaskadnog ažuriranja ili brisanja n-torki treba provesti rekurzivno, da bi se referencijalni integritet očuvao u svim dijelovima baze podataka, a ne samo na mjestu obrade.

• Problem kaskadnog brisanja “pola baze podataka”• Problem paralelnih kaskada

Page 65: FER PIS Predavanja

257FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugađanje baze podataka

Postavljanje indeksa radi osiguranja integriteta podatakaubrzanja dohvata podataka

Preporuke za postavljanje indeksaJedinstveni indeks nad primarnim i alternativnim ključem (integritet)Indeks nad stranim ključem (ubrzanje provjere integriteta i spojnih upita)Indeksi nad najčešće korištenim poljima, tj poljima koja se koriste za grupiranje, sortiranje ili selekciju uz uvjet (ubrzanje pretraživanja)Neki sustavi implicitno kreiraju indekse za primarne i strane ključeve

• općenito, u tom slučaju ne treba posebno kreirati indekse• ako su ključevi složeni pretraga će raditi brzo uglavnom po prvom polju

– po potrebi postaviti dodatne indekse nad preostalim poljimaGomilasti indeks (CLUSTERED INDEX), Faktor popunjenosti (FILL FACTOR), ....

Promjene podataka uzrokuju ažuriranje indeksa.Izbjegavati nepotrebne i indekse koji su sastavni dio drugih indeksa!Ukloniti indekse prigodom masovnih obrada podatakaKoristiti naredbe i opcije za uvoz podataka (BULK INSERT ... CHECK_CONSTR.)Treba li kreirati indeks u tablicama s malim brojem podataka?

258FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugađanje baze podataka

Minimizacija nul-vrijednostiproblem neodređenih vrijednosti agregatnih funkcija, problem operacija s nul-vrijednostima

– primjer: SELECT AVG(polje), gdje polje ima/nema nul-vrijednosti• opisna polja - zahtijevana vrijednost + pretpostavljena vrijednost

problem vanjskih spojnih upita• strana polja – posebne vrijednosti u šifrarnicima

– primjer: 0-nepoznata vrijednost, 999-nepostojeća vrijednost Ubrzanje upita

analiza plana izvođenja (Execution Plan) i odabir poželjnog plana– primjer: SELECT ... OPTION (FORCE ORDER)

primoravanje korištenja određenog indeksa– primjer: SELECT ... WITH (INDEX(index, index...))

primoravanje nekorištenja indeksa primjenom neškodljive funkcije nad poljem nad kojim se uobičajeno koristi indeks

– primjer: WHERE NULLIF ( polje , “” ) = ...ostale opcije

– primjer: SELECT ... OPTION (FAST n_rows)

259FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pohrana podataka

Vrste datoteka/tablicaMatične - dodani zapis ostaje “zauvijek” u sustavu, može se mijenjati

• primjer: Kupac, Artikl, Predmet, OrgJedinicaTransakcijske (prometne) – zapisi poslovnih događaja, ograničeni vijek, uklanjanje zapisa uz arhiviranje

• primjer: Racun, PrijavnicaŠifrarnici – statički podaci koji se koriste od različitih aplikacija radi očuvanja konzistentnosti podataka i poboljšanja performansi

• primjer: Mjesto (poštanski brojevi), StatusNecegaDokumentacijske – kopije povijesnih podataka za lakši dohvat i pregled bez regeneriranja dokumenataArhivske – uklonjene iz medija za direktni (on-line) pristupDnevnici (audit, log) – evidencija pristupa i promjena podataka

260FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Fizička raspodjelaFaktor blokiranja (blocking factor)

broj logičkih zapisa koji se obrađuju jednim čitanjem (fizički zapis)uobičajeno određen i automatski podešen, ali se može i ručno ugoditi

Distribucija podataka raspodjela pojedinih tablica, zapisa i/ili polja u različite fizičke BP ili različite fizičke segmente BPprimjer: odvajanje matičnih datoteka i šifrarnika od transakcijskih tablica

Replikacija podataka umnažanje tablica, zapisa i/ili polja u različite fizičke BPprimjer: replikacija šifrarnika između baze na poslužitelju i BP debelog klijenta

Smještaj fizičkih datotekapovećanje sigurnosti i brzine pristupa odvajanjem SUBP, podatkovnog prostora, dnevničkog prostora i rezervnih kopija na različite fizičke uređaje primjer: dvije fizičke jedinice, četiri logičke podjele

• C:\...\binn\MSSQL.exe• D:\...\data\*.mdf• E:\...\log\*.log• F:\...\backup\*.

Page 66: FER PIS Predavanja

261FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Šifarski sustavSerijske šifre

brojevi koji se slijedno pridjeljuju svakoj novo dodanoj instanci entitetau modernim SUBP mogu se generirati uz opcionalna ograničenja

• primjer: SQL Server IDENTITY [ ( seed , increment ) ]Blok šifre

slično serijskim šiframa, s tim da su serijski brojevi grupirani prema značenju• primjer satelitskih TV kanala: 100-199 PAY PER VIEW, 200-299 CABLE

CHANNELS, 300-399 SPORT, 400-499 ADULT, 500-599 MUSIC-ONLY, ...Alfanumeričke oznake

ograničeni skup znakovnih oznaka, često kombiniranih s brojevima• primjer, oznake država: HR, DE, IT, SI

Samogovoreće šifre (significant position codes)svaka znamenka ili grupa znamenki opisuje neko svojstvo instance

• primjer: JMBG, a često se koriste i u skladišnoj evidenciji (dimenzije automobilske gume, električne žarulje)

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 ugroženosti vrsta: kriterij-podkriterij-temelj (A1a - redukcija, reverzibilna, direkto opažanje)

262FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada šifarskog sustava

Izrada šifarskog sustavaTamo gdje je to moguće treba preuzeti postojeće šifrarnike, od drugih ustanova ili iz postojećih sustavaOznake definirane zakonom ili drugim propisima treba preuzeti i prilagoditiOstale šifrarnike definirati tako da se naknadno mogu nadograđivati

Preporuke za izraduŠifre moraju biti dovoljno velike da opišu željene karakteristike, ali dovoljno male da se mogu interpretirati bez računalaSustav šifriranja bi trebao biti smislen i prikladan da dodavanje novih šifara bude jednostavnoIzbjegavati samogovoreće šifre

263FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjeri šifrarnika

Primjer, studentska prehranaPravilnikom o studentskoj prehrani propisan je status upisa potreban za ostvariranje prava na subvencioniranu prehranu.Npr. mora biti upisan u tekuću akademsku godinu na redovnom studiju ili studiju za osobne potrebe.

Zasebno se evidentira način upisa

DAstudij za osobne potrebeO

DAparalelni studij s pravom prehraneL

NEvanredni studijV

NEstudij uz radU

NEparalelni studijP

DAredovan studijR

Pravo prehraneOpis statusaŠifra statusa

DAUpisuje apsolventski rokA

NEPrekid studijaE

DAPonavlja godinu – ne računa se u ponavljanje

B

DAPonovo upisuje godinu - ne računa se u ponavljanje

D

DAPonavlja godinu – računa se u ponavljanjeP

DAUpisuje godinu prvi putaR

DAUvjetno upisuje godinuU

PravoOpis indikatoraŠifra indikatora

264FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer jedinstvene šifreJMBAG je jedinstveni broj u sustavu kojeg student dobiva prilikom upisa na neko visoko učilište i zadržava sve do kraja svog studija.

Ako se isti student upiše na dvije ili više ustanova uvijek zadržava JMBAG koji je dobio na prvoj ustanovi. Djelatnici u ustanovama ne unose taj podatak već se on automatski generira.JMBAG ima deset znamenki podijeljenih u dvije grupe te kontrolnu znamenku:

• Prve četiri zanmenke označavaju matičnu ustanovu vlasnika• Sljedećih 5 zanmenki su oznaka vlasnika u ustanovi (matični broj vlasnika ili se

generira slijedno)• Unutar ustanove JMBG i matični broj (broj indeksa) su također jedinstveni.

Broj kartice generira se automatski, a u sebi sadrži 6 grupa znamenki:A. jedinstveni broj u međunarodnom kartičnom poslovanju (IIN)

• uvijek 601983 i prema međunarodnom standardu ISO/IEC 7812 na jedinstven način identificiraju Studentsku karticu u međunarodnom sustavu kartičnog poslovanja

B. oznaka vrste kartice (1 znamenka)• npr: 1 - student i 4 - privremena kartica

C. redni broj kartice koju je student dobio (1 znamenka)D. JMBAG (10 znamenki)E. Kontrolna znamenka (1 znamenka),

Page 67: FER PIS Predavanja

Meta-modeliranje

Rječnik podatakaMeta-baza

Primjena meta-modela

266FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Meta-modeli

Meta-model – model baze podatakaMeta-baza – baza podataka o bazi podataka

AttributeAttNameLongName

DomainDomNameTypeNameDomLenDomDecCaseJustDataMaskValRule

EntityEntNameShortNameLongName

FieldRequiredIndexSerialVirtualSN

FormFormNameEntNameFormWdthFormHght

Form FieldFormNameFFldNameSNFormFldIdVarRowVarColVarWdthVarHghtLabelLabRowLabColLabWdthLabHght

KeyKeyNoKeyName

Referent FieldRefFldNameDomFldNameSN

RelationshipRelNameShortNameParentAliasInsRuleDelRule

Relationship FieldParFldNameChiFldNameSN

Key FieldSN

267FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Meta-modeli

Primjer praktične realizacije

ZZTables

PK TableName

DescriptionAbout

ZZFields

PK TableNamePK,I1 FieldName

SNTypeSizeRequiredAllowZeroLengthDefaultValueAutoNumberValidateOnSetValidationRuleValidationTextDescriptionTextLenCaptionFieldType

ZZTypes

PK Type

TypeNameTypeDescription

ZZIndexes

PK IndexNamePK,I1 TableNamePK,I1 FieldName

PrimaryUniqueForeign

ZZRels

PK,I3 szRelationshipPK icolumn

szColumnI1 szObject

szReferencedColumnI2 szReferencedObject

ccolumngrbit

268FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Meta-modeli

Poopćenje strukture podatakaOrgCje l ina Propis

Plan

Zakon

Os obana dok umentu

Opisproc es a

Sas tavnic as reds tv a

Os oba Dokum ent

Stavk astruk turi ranog dok umantaPravna

os obaFizick aos oba

Svojs tv o

Hi jerarhi ja(Radno mjesto)

Dogadjaj

Sreds tv o Svojs tv os reds tv a

Vrstas reds tv a

Vrstadok umenta

Vrstadogadjaja

Dogadjajna dok umentu

v ez a

OsnovnoPotrosnoTehnick oFinanci jsk oNekretn inaOs talo

Organizaci jskiPravniIn formaci jskiFinanci jskiMateri jalni

Page 68: FER PIS Predavanja

269FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Narudžba MBB-Nabava za osnovno tehničko sredstvo prema poduzeću IMBBr. xxxx od xx.xx.200x.Veza: Ponuda poduzeća IMB br. xxxx od xx.xx.200x.Narudžbu izradio: PeroOdobrio njegov šef: IvoStavke:

Računalo IMB Šestium: xx komMBO, CPU, RAM, HDD, CDR, FDD, CASE

Monitor 15” xx komŠtampač xx komSkener xx kom

Meta-modeli

Primjer, narudžba

270FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Meta-modeli

Primjer, narudžbaMBBNabava

Pravilniko poslovanju

Plan

Zak on

MBB,Iv o, Pero, IMB

Opisprocesa narucivanja

MBO, CPU,RAM, HDD, CDR, FDD

OsobaBroj,Datum, Ponuda

SestiumMoni tor Stampac SkenerPrav na

osobaFizic kaosoba

Svojstvo

Sl jak er,Sef

Narucivanje

SredstvoSvojstvosredstva

Vrstasredstva

Narudzbenica

Vrstadogadjaja

Narudz ba

veza

Osnov noTehnic ko

PravniFinancijskiMateri ja lni

271FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Praktična primjena meta-modeliranja

Primjena

Artikl

SifArt

TarBroj

Dokument

IdDok

VrDokIdPrethDokSifPartSifOtprSifPlacSIfZagSifNap

Mjesto

SifMje

NacinPlac

SifPlac

Napomena

SifNap

Otprema

SifOtpr

Parametar

KratParam

Partner

SifPart

SifMje

VrstaDok

VrDok

StandSifPlacStandSifOtprStandSifZagStandSifNap

Uplata

IdUplate

IdDok

Zaglav

SifZag

Koris

SifMje

StavkaDok

IdDokSifArt

Tarifa

TarBroj

272FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer aplikacije nad meta-modelom

Page 69: FER PIS Predavanja

273FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer podataka

Definiranje dokumenata

274FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer izračuna

Primjer, račun stanja skladišta

SELECT Artikl.SifArt, Artikl.NazArt,SUM(StavkaDok.Kolicina*VrstaDok.PredMat)

FROM Dokument INNER JOIN VrstaDok ON Dokument.VrDok=VrstaDok.VrDokINNER JOIN StavkaDok ON StavkaDok.IdDok = Dokument.IdDokINNER JOIN Artikl ON StavkaDok.SifArt = Artikl.SifArt

WHERE VrstaDok.PredMat <> 0AND Artikl.IdeSklad <> 0AND Dokument.DatSklad IS NOT NULLAND Dokument.DatStorno IS NULL

GROUP BY Artikl.SifArt, Artikl.NazArt

275FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer praktične primjeneDokument

PK IDDok

FK1

FK2

FK3FK4FK5FK6

GodBrojSifDokDatDokIDPredhodniDokStorniranDatStornDatIspisDatDospSifPosParSifPosJed1SifPosJed2SifNacPlacRabatPorezUkupnoBezPorezaSlovimaOpis

DokumentBSPK, FK1 IDDok

FK2

BrIzvodaOznZaZatvaranjeVezaPredmetSifDetOpisRadNalStorKnjizenjeBrojRacOdDobOsnovicaZa0PostoOsnovicaZaOporezivanje

DokumentSSPK, FK1 IDDok

FK2

FK3FK4FK5FK6

FK7

FK8

FK9

FK10

FK11

SifCjenikaModPlacanjaFakturiraoOdobrioTekstPrijeTekstPoslijeOznDevRacSifTecListeDatTecSifValRabatUracnatiPorezOpisOstalihTroskova1PorezOstalihTroskova1IznosOstalihTroskova1OpisOstalihTroskova2PorezOstalihTroskova2IznosOstalihTroskova2AktivanSifTipPred

StavkePK, FK1PK, FK2

IDDokSifArt

FK3

KolicinaJedinicnaCijenaBezPorezaTarifaRabat

ArtiklPK SifArt

FK1FK2

FK3

RedBrNazivTipSifJedMjeTarifaJedMasaSifFilArtDugiOpisArtMinZaliheMaxZalihe

0,M

0,M 0,M

0,1

0,M

0,M

1,10,1

0,1

1,1

0,M

0,1

0,M

0,1

0,1

0,1

0,M

0,M

0,M

1,1

0,1

0,M

0,1

0,1

0,M

1,1

0,M

1,1 0,M

0,1

0,M

0,1

0,M

0,M

1,1

Artikl

NacPlacanja

PosPar

KorProg DokumentSS

DokumentBS

DetOpisRadNal

Dokument

Stavke

PosJed

PopCjenika

Tarifa

TecLista

TipPred

VrstaDok

Valuta

IDPrethodniDok

Tecaj

DatumIznossUKn

276FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

1,11,1

1,1

0,1

0,M

1,1

0,1

0,1

0,M 0,M

0,1

0,1

1,1

1,1

1,1

1,1

1,1 1,1

0,M

0,M0,M0,M

0,M

0,1

0,M

0,M

1,1

1,1

Banka

Mjesto

PosPar

FilPosPar

Drzava

Osoba PosJed

Tvrtka

TipPorObveznika Valuta

Djelatnost

Adresa

Adresa

Adresa

BankaPK SifBanka

Naziv

DjelatnostPK SifDjelatnost

Naziv

FilPosParPK SifFilPosPar

NazivOpis

MjestoPK PostBr

Naziv

OsobaPK SifOsoba

FK1

FK2FK3

PrezimeImeSifPosParTitulaFunkcijaSluzTelE-mailSpolDatRodAdresaPostBrSifDrzavaPrivTelZebiljeske

PosParPK SifPosPar

FK1

FK2

FK3FK4FK5

FK6FK7

NazivPostBrAdresaSifDrzavaTelefonFaxE-mailWWWZiro-racun1Ziro-racun2MatBrSifFilPosParSifDjelatnostSifBankaRabatBrDanaOdgodeSifTipPorObvSifOsobaZabiljeske

TipPorObveznikaPK SifTipPorObv

NazivKratica

TvrtkaPK Naziv

FK1

FK2

FK3FK4

PostBrAdresaSifDrzavaTelefonFaxE-mailWWWZiro-racun1Ziro-racun2MatBrSifBankaSifTipPorObvPosGodOtvorenaPosGod

ValutaPK SifVal

ValutaKraticaJedIznos

DrzavaPK SifDrzava

FKNazivSifVal

Page 70: FER PIS Predavanja

Dizajn programske podrške

278FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Specifikacija i dizajn programske podrške

Specifikacija programske podrške (software specification), specifikacija programa (program specification)

navođenje svih zadataka koje program treba obavitimeđusobne povezanosti različitih dijelova programa i podatakaopis vrste podataka, opis ulaznih i izlaznih podatakaspecifikacija prikaza podataka

\Dokumentacija\SpecifikacijaZahtjeva

Dizajn programske podrške (software design) dizajn programa (program design, software design)

proces pretvorbe zahtjeva na programsku podršku u oblik koji omogućuje programiranjeopis jezikom za oblikovanje programa (PDL - Progam Design Language) pri čemu program napisan pomoću PDL nema oblik izvedbenog programa

\Dokumentacija\SpecifikacijaDizajna

279FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristup oblikovanju programaFunkcionalni pristup (Yourdon, Constantine, 1979)

strukturirani dizajn programske podrške• svladavanje veličine i složenosti programa razradom u hijerarhiju modula• programski modul – grupa instrukcija

– paragraf, blok, potprogram, subrutinapodjela 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 budućim programima

• mala vanjska zavisnost modula – skopčavanje (coupling)– moduli trebaju biti minimalno međusobno zavisni– minimizacija utjecaja promjene jednog modula na druge module

Podatkovno usmjereni pristup (Jackson, Warnier, 1981)struktura podataka određuje strukturu programa

Objektno usmjereni pristuppodjela u razrede (klase) koji istovremeno sadrže podatkovne strukture i procedure (metode) koje se obavljaju nad objektima (instancama) razredakohezija i skopčavanje također se uvažavaju, a provode kontroliranim nasljeđivanjem, sučeljima i fasadama između razreda i komponenti

Strukturirani dizajn

Page 71: FER PIS Predavanja

281FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strukturirani dizajn

282FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strukturna karta

Strukturna karta (Structure Chart)modeliranje programske podrške na temelju dijagrama toka podataka

• dijagram toka podataka prikazuje ŠTO treba postići• strukturnom kartom izražava se KAKO ostvariti zahtjeve

prikaz hijerarhije programskih modula koji uključuje• prijenos podataka i upravljanja između različitih razina obrade• prikaz slijedne, ponavljajuće i uvjetne obrade

elementi prikaza:f unkcija

ugrađenaf unkcija (modul) iteracija selekcija

podatak (datacouple)

indikator(control couple)

poziv

slijed

283FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strukturna karta

Primjer, izvješće o poslovanju tvrtke Tajkun & ortaci Sustav

izvješća o prodaji

Uzmidatum

Zapišiizvješće

Ispišizbir

Zapišizaglavlje

Zapiširedak

Računajzbir

Čitajpodatak

Pišipodatak

Uspjeh Katastrofa

datum

zbir

zbir

zbirdatum

datum

datumvrijednost

EOF

EOFpodatak

datum

vrijednost

zbirzbir

podatak

284FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Transformacijska analiza

Transformacijska analiza (transform analysis)

analiza promjene/pretvorbe podatakaprimjenjiva na sustave koji imaju strukturu oblika “ulaz–središte-izlaz”, tj. aplikacije s jasno raspoznatljivim ulazima, središnjom obradom i izlazima, koji se daju prikazati linearnim tokom podataka

Struktura dizajna prikladna za ovakve sustave sastoji se od tri odgovarajuća elementa (ulaz, obrada, izlaz), tj. podsustava:

Get C, koji pribavlja podatak CC → I, koji obradom pretvara podatak C u podatak IPut I, koji ispisuje rezultat I

1 23

C I

ulazi

središteizlazi

System

Get C C → I Put I

CC I

I

1 2 3

Page 72: FER PIS Predavanja

285FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Transakcijska analiza

Transakcijska analiza (transaction analysis)analiza izvršenja/obavljanja obradeprimjenjuje se na sustave sa jasno raspoznatljivim središtima izvršenja (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

Primjer,središte zaprima ulaz B, koji se usmjerava (kao B1, B2 ili B3) u odgovarajući proces (3, 4 ili 5)rezultirajući podatak (C1, C2 ili C3) koristi se kao izlazni tok C.

2

3

4

5

6

B

B1B2

B3

C1

C2

C3

C B → C

3 4 5

B1 C1B2

C2

B3

C3

286FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Umreženi procesi

Ostale strukturesustavi koji nisu ni transformacijski niti transakcijski obrađuju se na poseban načinnajčešće se oblikuju plošnim razlaganjem glavnog procesa u sastavne procesenadređeni proces mora pribaviti sve ulaze potrebne za obavljanje pojedinih podređenih procesa te prikupiti i čuvati proizvedene rezultate obrade

Primjerstrukturna karta za DTP razložen plošnom dekompozicijom

7

8

9

10CD

E

F

H

GI C → I

7

8 9

10

DEC

G

F

D E H

F

G H

I

287FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Složeni sustavi

Stvarni sustavi – primjena kombinacija osnovnih postupaka

1

2

3

4

5

6 7

8

9

10 1112

A

B

B1B2

B3

C1

C2

C3

CD

E

F

H

GI J

K

System

Get C C → I Put I

Get B 2 and 6:B → C

Get A 1: A → B 3 4 5

11: I → J Put J

12: J → K Put K

7

8 9

10B

A

B

AB

C

CC I

DEC

G

F

D E H

F

G H

I

I

I

J

J

JK KB1 C1

B2C2

B3

C3

Opis logike

Page 73: FER PIS Predavanja

289FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram toka (blok dijagram)

Dijagram toka (Flowchart)grafički prikaz

• sustava (system flowchart) - zamjena za fizičke DTP• programa (program flowchart)

usredotočen na akcije koje sustav/program mora obavitispecifikaciju predstavlja skup simbola koji opisuju upravljački tok za opis akcije ili odluke unutar simbola može se primijeniti bilo koja notacija, npr. pseudokod ili prirodni jeziknedostaci: veliki skup simbola, veliki i neprikladni dijagrami, nedostatak formalizma, nemogućnost opisa podatkovnih struktura, nestrukturiranost, dozvola skokova koji vode uporabi GOTO naredbetehnika koja (nikako ne) izlazi iz uporabe

290FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram toka

Primjer

291FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Blok dijagram

Primjer, postupak prodaje (Visio)

Sales Process

Insi

de S

ales

Rep

Cus

tom

erSa

les

Man

ager

Out

side

Sale

s R

ep

No

Yes

No

Yes

Proceed? Pursue OtherLeads

CustomerVisit

Delivery &Follow-up

UncoverNeeds &Benefits

Prospect

DraftProposal

Accept?

292FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Blok dijagram

Primjer: simboli i blok dijagram sustava (System Architect)

Page 74: FER PIS Predavanja

293FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Strukturirani prirodni jezik - pseudokod

Strukturirani prirodni jezik (npr. Structured English)verbalni opis uobličen tako da se ukloni neodređenost, a zadrži naracijaugradbeno nezavisan ↔ tehnika analizerazumljiv korisnicima

Elementi:naredbe - zapovjedne rečenice

• pr. ČITAJ, PIŠIblok (odsječak):

• POČETAK akcija KRAJselekcija:

• AKO JE uvjet ONDA akcija1• AKO JE uvjet ONDA akcija1 INAČE akcija2

iteracija:• DOK JE uvjet RADI akcija • PONAVLJAJ akcija DO uvjet• ZA izraz RADI akcija

učitaj (a1,b1,a2,b2)ispiši (a1,b1,a2,b2)izračunaj nazivnik izrazaako su pravci paralelni onda

ispiši porukuinače

izračunaj x,yispiši (x,y)

kraj

294FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

PseudokodPseudokod

nastao pojednostavnjenjem i strukturiranjem prirodnog jezikakoristi se kada se želi opisati ugradnja → tehnika oblikovanjaopis algoritama naslijedio je narativnu formu

Moguće oznake za pisanje pseudokoda:Abc naziv algoritmaabc rezervirana riječ pseudojezika za opis algoritamaAbc ugrađena ili trivijalna funkcija (procedura):= pridruživanje↔ zamjena vrijednosti# komentarα konstanta ili parametars skalarv vektorM matrica∅ nul-vektor⎪v⎪ modul (duljina) vektora

skupSi element skupa⎪ ⎪ kardinalni broj skupa∅ prazan skup

295FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pseudokod

Primjer, pseudokod procedure za …procedura GenRel(EP, Ec) R := ∅ formiranje c za svaki K ∈ K formiranje k ako je PrepAlts(EP, Ec) # veza moguća MultAlts() # umnažanje kandidata za j := 1 do Min(n) # za sve potpuno popunjene # strane ključeve ako je ¬(k = Mj ∧ EP ≡ Ec) ∧ {(EP, Ec, k, Mj)} ∩ M = ∅ ∧ {(EP, Ec, k, Mj)} ∩ R = ∅ R := R ∪ {(EP, Ec, k, Mj)} kraj GenRel.

296FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Akcijski dijagram

Akcijski dijagram (Action Diagram)Formalizirana mješavina strukturiranog prirodnog jezika i pseudokoda

Page 75: FER PIS Predavanja

297FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjena akcijskog dijagrama

Primjer: generator aplikacija Advantage:Plex

298FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Stablo odlučivanja

Stablo odlučivanja (Decision Tree)Stablo odlučivanja je binarno stablo u kojem

• svaki nezavršni č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 složenih grananja u postupku odlučivanjalako razumljivo → dobro sredstvo za komunikaciju s korisnicima

Primjer: posjet zoološkom vrtu Živinaulaz za djecu do 3 godine je besplatanmladež do 18 godina plaća polovicu pune cijene ulaznicedjeca ispod 12 godina u pratnji odrase osobe plaćaju četvrtinu cijeneosobe iznad 18 godina plaćaju punu cijenuosim ako su studenti ili umirovljenici, koji plaćaju polovicu cijeneposjetitelji u grupi imaju 10% popusta na punu cijenustudentski popust ne vrijedi vikendom

299FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer stabla odlučivanja

Primjer: stablo odlučivanja za zoološki vrt Živina

Dob?

3 3-12

12-18

>18

UM

Slobodan

Pratnja?

Polovica

D

N

D

N

D

N

Četvrtina

Polovica

Student?

Polovica

Vikend?

Grupa?

Grupa?

Polovica

D

N Puna

90%

D

N Puna

90%

300FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Politikaiznajmljivanja

filmova:

Kategorija filma:Ukupan broj filmova

koje član želi iznajmiti:Rok za vraćanje

posuđenog filma:

Hit film

Običan film

bilo koliko

manje od 3

3 - 6

više od 6

1 dan

1 dan

3 dana

7 dana

DTP – Stablo - Pseudokod

cijena = 0ako je hit film tada| rok posudbe = 1 dan| cijena = cijena + (osnovna cijena filma x 1,5)inače| ako je ukupan broj filmova manji od 3 tada| | rok posudbe = 1 dan| | cijena = cijena + osnovna cijena filma| inače| | ako je ukupan broj filmova manji od 7 tada| | | rok posudbe = 3 dana| | inače| | | rok posudbe = 7 dana| | ako film nije treći po redu (svaki treći običan film je besplatan) tada| | | cijena = cijena + osnovna cijena filma

Page 76: FER PIS Predavanja

301FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tablica odlučivanja

Tablica odlučivanja (Decision Table)tablični prikaz preslikavanja skupa ulaznih uvjeta u skup izlaznih akcijarelativno jednostavni uvjeti ograničeni skupovi mogućih odgovora, npr. da/ne ili nisko/srednje/visokoneki alati koji podupiru ovaj način izrade specifikacija generiraju programski kôd različitih jezika (pr. C, Pascal, Fortran i Basic)dobro sredstvo za opis poslovnog odlučivanja

Primjer, proširena tablica odlučivanja za zoološki vrt ŽivinaUvjeti

(condition stub)

Ispunjenost uvjeta (condition entries) Dob <3 3-12 3-12 12-18 >18 >18 >18 >18 >18 UM Pratnja D N Student D D D N N Vikend N D D Grupa D N D N

Akcije (action stub)

Izbor akcije (action entries)

Slobodan ulaz X Četvrtina cijene X Polovica cijene X X X X 90% cijene X X Puna cijena X X

302FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pravila izrade tablice odlučivanja

Preporučljivo je pridržavati se slijedećih pravila:Logika odlučivanja treba biti neovisna o tome kojim redoslijedom su uvjeti napisani. Međutim, nije uvijek svejedno kojim su redoslijedom napisane akcije.Potrebno je izbjegavati eventualno dupliciranje izraza i značenja.U gornjem djelu tablice treba pokušati rasporediti redove tako da oni retci koji sadrže više potvrda uvjeta (znak Y) budu što više dok oni koji sadrže minuse budu niže.Stupce u desnom dijelu tablice treba rasporediti tako da u istom retku oznake "-" buduispred oznaka Y a ove ispred znakova N.

Akcije

XXXcijena = cijena + osnovna cijena filma

XXXcijena = cijena +(osnovna cijena filma x 1,5)

XXXXrok posudbe je 1 dan

XXrok posudbe je 3 dana

XXrok posudbe je 7 dana

--NY-NY-film je treći po redu

YY------ukupan broj filmova manji od 3

NNYYY---ukupan broj filmova 3 - 6

NNNNNYYYukupan broj filmova veći od 6

NYNNYNNYhit film

Politika iznajmljivanja filmova

303FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Struktogram

Nassi-Shneiderman dijagram (Nassi-Shneiderman Chart)grafički prikaz programskih strukturabitno prikladniji u odnosu na dijagram tokaneprikladan za ručnu izradu, naročito kada ga je potrebno često mijenjati

Osnovni elementi:

Slijed Selekcija Iteracija

304FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Struktogram

Primjer, Nassi-Shneiderman dijagram u alatu Xper-C (reverzno inženjerstvo C programa i generiranje koda)

Page 77: FER PIS Predavanja

Standardizacija i modularnost programske podrške

306FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standardizacija i modularnost

Standardne funkcije modula aplikacije za rad s bazom podatakaUlaz u modul

• automatski prikaz podataka na temelju uvjeta / parametera– niti jedan zapis– svi zapisi– odabrani zapisi (primarni ključ, uvjet za selekciju zapisa)

Traženje (selekcija) podataka• mora podržavati traženje 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 odgovarajuću provjeru domenskog, entitetskog i referencijalnog

integriteta• treba omogućiti odabir i po potrebi unos podataka koji se nalaze u

drugim tablicama, a povezani su preko stranog ključa

307FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standardizacija i modularnostIzmjena postojećeg zapisa

• omogućuje se promjena vrijednosti prethodno dohvaćenog, a trenutno na zaslonu prikazanog zapisa

• načelno se zabranjuje izmjena vrijednosti identifikatora zapisa• dabir referenciranih podataka obavlja se kao kod unosa

Brisanje• brisanje dohvaćenog i prikazanog zapisa uz odgovarajuće integritetske

provjere i poruke• obavlja se uz dodatnu potvrdu

Pregledavanje (eng. browsing) prethodno dohvaćenih podataka• grupni pregled većeg broja dohvaćenih zapisa u “prozoru”

– po retcima, po stranicama, skok na prvi/zadnji/n-ti zapis– pretraživanje liste podataka po dijelu naziva (filter)– po želji može odabrati jedan ili više zapisa ili onemogućiti odabir

• standardno se prikazuju samo osnovni elementi zapisa (primarni ključ i relevantni zavisni atributi)

308FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standardizacija i modularnostPoredak (sort) zapisa koji se prikazuju

• određivanje poretka prije selekcije • naknadni preraspored već dohvaćenih zapisa

Zapisivanje izvješća (report)• sadržaj ispisa

– trenutno prikazani zapis– svi dohvaćeni zapisi

• format ispisa– osnovni podatci (šifra i naziv)– svi podatci

• odredište ispisa– pisač– zaslon– datoteka (nova datoteka, dodavanje na kraj postojeće datoteke)

Izlaz iz modula• s prijenosom informacija o odabranom zapisu

– primarni ključ– cijeli zapis

Page 78: FER PIS Predavanja

309FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standardizacija i modularnostPrimjer, dohvat po uzorku

Pretpostavljena naredba za selekciju podataka

• SELECT Vrsta.* FROM VrstaORDER 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.IdNarodnogImena = NarodnoIme.IdNarodnogImenaWHERE Rod.NazRoda LIKE "vitis*" AND NarodnoIme.NazNarodnogImena LIKE "*loza*" ORDER BY ImenaLat

310FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standardizacija i modularnost

Primjer, zapisivanje izvješća

Primjer, određivanje rasporeda

311FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja općenitih programskih rješenja

Standardni modulZa većinu tablica u bazi podataka dovoljno je napraviti modul s ugrađenim standardnim funkcijama.Standardne funkcije ugrađuju se tako da se, osim s izbornika unutar vlastitog modula, mogu aktivirati i iz bilo kojeg drugog modula.Poželjno je unaprijed oblikovati standardne module:

• Modul za obradu pojedinačnih zapisa• Modul za tabličnu obradu• Modul tipa glava-stavke (tzv. Master-detail)

Univerzalni modulAlternativno, preporuča se ugraditi univerzalni modul sa standardnim funkcijama, koji se može dinamički prilagoditi tako da obrađuje podatke u različitim tablicama.Univerzalni modul treba realizirati tako da u pogonu može istovremeno postojati više instanci istog modula prilagođenih pojedinim tablicama.Ovisno o pojedinom projektu, univerzalni modul može zamijeniti i preko polovice standardnih modula

312FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja općenitih programskih rješenja

Primjer, osnovni standardni moduli

Page 79: FER PIS Predavanja

313FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja općenitih programskih rješenja

Primjer, udruživanje standardnih modulaMaska kreirana kao kombinacija kopija osnovnih maski.Sofisticirane funkcije nadodaju se ručno.

314FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja općenitih programskih rješenja

Primjer, univerzalni modul za tabličnu obraduSadrži samo osnovne objekte i pozive na standardne procedure (metode) za obradu događaja vezanih uz te objekte.U trenutku aktiviranja obavlja se prilagodba tablice za obradu podataka strukturi tablice podataka.

315FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugradnja općenitih programskih rješenja

Univerzalni modul za pojedinačnu obraduSadrži objekte za posluživanje standardnih funkcija te po jednu instancu objekata za prikaz/obradu podataka, koji se prilikom aktiviranja modula dinamički umnažaju sukladno strukturi tablice.Unaprijed se ugrađuju pozivi standardnih procedura vezanih uz standardne funkcije te objekte za prikaz/obradu podataka Dizajn sučelja

Page 80: FER PIS Predavanja

317FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sučelja

Korisnička sučeljatekstovna, grafičkamasovni unos (batch input) - periodičko pretipkavanjeinteraktivni unos (on-line) - na mjestu nastanka

Automatizirani unosbiometrijski uređaji - otisci prstiju, uzorci glasaelektromagnetski uređaji - identifikacija objekata s pomoću radio valovamagnetski uređaji - magnetske kartice i drugooptički čitači -

• optical-mark reader (OMR), • optical-character reader (OCR)

pametne kartice (smart cards) - mikroprocesor, memorija, baterijauređaji osjetljivi na dodir - touch screen, touch-pad, pen-based

Izlazi - izvješćadokument - npr. prijavnica, račundetaljna - dokumentiranje obrade, povijest i stanja evidencije zbirna - grupiranje, sortiranje, iznimkegrafička - točkasti, štapičasti, linijski, torta, ...

318FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi grafičkog sučelja za unos podataka

Text Box i varijanteslobodni tekst

Radio Buttonvrijednosti iz konačnog malog skupa unaprijed poznatih, međusobno isključivih vrijednosti (2 do 3)

Check Boxbinarne vrijednosti, opcionalno "nepoznato"

Drop-Down ili Combination (Combo) Box

umjereno velik broj (?) poznatih (?), međusobno isključivih vrijednosti

List Boxumjereno velik broj (?) poznatih, nenužno isključivih vrijednosti

Spin (Spinner), DomainUpDown, NumericUpDown

nevelik slijed diskretnih vrijednosti

Grid – mreža, matricakombinacije osnovnih elemenata

319FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje i standardizacija sučelja

Organizacija sučeljaProgramska oprema mora imati standardan izgled zaslona.

– U svakom trenutku mora biti vidljiva informacija o dijelu obrade, vrsti prikazanih podataka, količini podataka te mogućim akcijama.

• područje za navigaciju - izbornici, pregled podataka• područje za prikaz statusa obrade• radno područje - rad s podacima

Sučeljem moraju biti podržane različite vrste izbornika (npr. vertikalni i kružni) uz mogućnost brzog odabira (funkcijskom tipkom ili slovom opcije).

• horizontalni izbornik (menu bar) - uvijek vidljiv, lako dohvatljiv• padajući (pull-down) i kaskadni - "nevidljivi", ali se opcije daju grupirati• skočni (pop-up) - nije očigledno da postoje, skaču na različitim mjestima• trake s ikonama (toolbar) - vidljivi, pamtljivi, problem ikona i skrivanja

Tipke za obavljanje standardnih funkcija moraju biti definirane pažljivo i jednoznačno, a unaprijed treba predvidjeti i one za aktiviranje dodatnih funkcija.

DOSLJEDNOST SUČELJA NUŽAN JE UVJET KOJI PROGRAMSKA OPREMA MORA ISPUNITI.

320FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje i standardizacija sučelja

Primjer, standardni izgled zaslona

Page 81: FER PIS Predavanja

321FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Oblikovanje i standardizacija sučelja

Ergonomija sučeljaPolja zaslonske maske moraju biti logički grupirana. Unos se mora obavljati u slijedu kojim su polja fizički poredana.Treba ustrajati na preglednosti podataka i minimizirati prekrivanje informacija (na primjer, u slučaju više istovremeno prikazanih "prozora"). Sučelje mora imati ujednačene standardne poruke, zvučne signale i upozorenja, kojima se pruža dovoljna informacija, a korisnik nepotrebno ne opterećuje.Poruke moraju biti jednostavne, precizne te ovisne o kontekstu. Izbjegavati računalski žargon i kratice.Svakako mora biti ugrađena interaktivna pomoć ovisna o kontekstu.Prilikom izgradnje sučelja treba ukloniti ili prevesti poruke na stranom jeziku (na primjer, one koje koje dojavljuje SUBP) i izbjegavati stručne izraze.

322FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

"Školski" primjer grafičkog sučelja

323FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Drugi primjer grafičkog sučelja

324FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Treći primjer grafičkog sučelja

Page 82: FER PIS Predavanja

325FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Opći zahtjevi na funkcionalnost

Funkcionalnost sučeljaPoželjno je da se traženje, unos i izmjena podataka obavljaju na istom zaslonu i na isti način.Treba omogućiti prekid akcija koje predugo traju, pod uvjetom da se tim prekidom ne narušava integritet podataka (npr. selekcija velikog broja zapisa, prekid transakcija).U svakom dijelu obrade treba omogućiti odustajanje uz potvrdu korisnika da se to stvarno želi (pr. brisanje).Upozorenja i potvrde prekida pohrane podataka treba provoditi samo ukoliko je stvarno došlo do promjene.Unesene podatke treba provjeravati što ranije, po mogućnosti neposredno nakon promjene sadržaja zaslonskog polja.Na polju za unos šifara treba omogućiti odabir iz suženog skupa podataka smještenih u šifarnik. Suženje skupa treba moći obaviti na temelju dijela tekstovnog opisa šifre uz mogućnost uporabe metaznakova.Svakako treba korisniku omogućiti pregled teksta koji će se zapisati u izvješće. Pregled na zaslonu uklanja potrebu za ispisom na papir i olakšava prilagodbu uvjeta za selekciju podataka.Dijelove aplikacije kojima se obavlja masovni unos podataka potrebno je prilagoditi kretanje unutar zaslonske maske i minimizirati potreban broj tipki.

326FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ulančavanje procedura

Često se događa da dio rada treba poništiti zbog toga što u sustavu ne postoji šifra koju se želi uporabiti, a nije ju moguće pohraniti.

Problem: korisnik je prisiljen …• poništiti do tog trenutka unesene podatke,• proći kroz nekoliko izbornika do šifarnika,• pohraniti novu šifru,• vratiti se na mjesto gdje je ona bila potrebna,• ponoviti unos prije poništenih podataka i tek tada ih pohraniti.

Rješenje: na polju za unos vrijednosti stranog ključa treba• otvaranje “prozora” s listom za pregled i odabir zahtijevanog podatka uz

prikaz svih zapisa u odgovarajućoj tablici• otvaranje liste za pregled uz prikaz ograničenog skupa zapisa na temelju

prethodno postavljenog uvjeta • aktiviranje funkcije za unos ili izmjenu vezanog podatka• aktiviranje čitavog modula za obradu vezanih podataka

327FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ulančavanje procedura

Programska oprema mora slijediti poslovne procese.Gdje god je to moguće, treba smanjiti broj postupaka za jedan poslovni proces da korisnici ne bi ponavljali iste akcije.

Primjer, stablasta struktura taksonomije

Subkingdom

Taxon

Synonym

SpecieOriginator SubspecieOriginator

Aggregate

Genus

Family

Order

Subclass

Class

CommonName

Subdivision

Kingdom

OriginatorDivision

328FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ulančavanje procedura

Page 83: FER PIS Predavanja

329FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Organizacija modula i aplikacijaPri izradi prve globalne podjele modula i definiranju izbornika treba:

pažljivo grupirati poslovne procese u sustave procedura,dati prednost učestalijim poslovnim procesima,paziti da se grupiranje obavi po funkcionalnim cjelinama.

• Primjer, IS za upravljanje osobljem PU MORH:– Podaci o osobama (osobine, civilna i vojna povijest)– Ustroj (postrojbe, dužnosti, ustrojna mjesta)– Tijek službe (prijam, služba, posebna stanja, izlaz)– Dodjela činova i redova, ocjenjivanje– Dodjela odličja i medalja– Školovanje (povijest, izobrazba u HV)– Evidencija prekršaja, mjere– Razno (naknade, doplatci, …)– Šifarnici (korisnički i “sistemski” promjenjivi)– Administriranje sustava (baze podataka, korisnika, zaštite)

Postupakpočetni sustav kao skup modula za obradu podataka u jednoj tablici, pri čemu svaki od njih podržava standardne funkcije i poziva druge modulepostupno udruživanje i reorganizacija modula uz naknadno razdvajanje sistemskih od korisnički promjenjivih elemenata

Ovakav način izrade programske opreme zahtijeva veći početni trud, ali dugoročno donosi prednosti.

330FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Organizacija modula i aplikacija

Početni sustav - moduli pune i reducirane funkcionalnostiPočetni sustav sastoji se od početnog izbornika i izvedbenih programa Pi, (i=1,…,n), koji sadrže glavni program Mi za poziv izbornika standardnog modula, skup standardnih funkcija {F}i te pridruženi reducirani skup funkcija {R}i.

R1

P1

F1

M1

R2

P2

F2

M2

Rn

Pn

Fn

Mn

Ri

Pi

Fi

Mi

x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx x xxxxx

ο ο ο ο ο ο

Generatedmenu

331FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Organizacija modula i aplikacija

Sustav nakon reorganizacije i kodiranja modulaHijerarhijski izbornik proizvoljne dubine nad ν izvedbenih programa koji sadrže udruženi glavni program M’j , μ(j) skupova standardnih funkcija, π(j) reduciranih skupova funkcija te ρ(j) skupova ručno ugrađenih funkcija, (j=1,…,ν)

x xxxxx x xxxxx x xxxxx

x xxxxx x xxxxx x xxxxx

x xxxxx x xxxxx x xxxxx

x xxxxx x xxxxx x xxxxx

οοο

P'1

R'11F'11

M'1

H11 R'1π(1) H1ρ(1)

οοο

F'1μ(1)

P'ν

R'ν1F'ν1

M'ν

Hν1 R'νπ(ν) Hνρ (ν)

οοο

F'νμ (ν)

Hierarchicalmenu

Objektno usmjereni pristup

OOAD, OOLC

Page 84: FER PIS Predavanja

333FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Slučajevi korištenja

Use case = Slučaj korištenja (primjene)Skup scenarija sa zajedničkim ciljem korištenja sustava

Scenarij - niz koraka koji opisuju interakciju korisnik-sustavPrimjer scenarija

• Kupac pregledava Web katalog i stavlja proizvode u košaricu. Kada odluči platiti, unosi podatke o otpremi i kreditnoj kartici te potvrđuje kupnju. Sustav provjerava autorizaciju kartice i potvrđuje prodaju interaktivno te putem elektroničkog pisma.

Autorizacija kreditne kartice je međutim mogla ne uspjeti!• Ovo bi bio posebni scenarij.

334FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Kupi proizvodKupi proizvod1. Kupac pregledava Web katalog i stavlja proizvode u košaricu2. Kupac odluči platiti3. Unosi podatke o otpremi4. Sustav prikazuje punu informaciju cijeni, uključujući otpremu5. Kupac unosi podatke o kreditnoj kartici6. Sustav autorizira kupnju7. Sustav potvrđuje prodaju interaktivno8. Sustav šalje elektroničko pismo potvrde.Alternativa: Neuspješna autorizacija

U koraku 6, sustav ne uspijeva autorizirati karticuDozvoliti kupcu ponovni unos podataka o kartici

Alternativa: Redoviti kupac3a. Sustav prikazuje informaciju o otpremi i cijeni te zadnje četiri znamenke broja kreditne kartice3b. Kupac potvrđuje prikazane pretpostavljene podatke ili unosi noveNastavak u koraku 6 primarnog scenarija

335FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dokumentiranje slučajeva korištenja

Dokumentiranje slučajeva korištenjaRadi se dokument toka događajaPiše se sa stajališta korisnikaSadrži detalje o tome što sustav mora omogućiti kada se izvršavaju pojedini slučajeviElementi obrasca za opis slučaja korištenja

• Autor• Datum• Slučaj korištenja• Sudionik (entitet, actor)• Opis• Normalni tok• Alternativni tok• Pred-uvjeti• Post-uvjeti• Pretpostavke

336FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer UC (1)

Page 85: FER PIS Predavanja

337FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer UC (2)

338FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeliranje zahtjeva na temelju scenarija

UC specificira namjeravano ponašanje sustava.Prikazuje skup sljedova akcija, uključujući varijante.Reprezentira funkcionalni zahtjev na sustav kao cjelinu.

Koristi seZa opis zahtjeva korisnika u ranoj analizi.Za validaciju arhitekture i verifikaciju sustava u kasnijim fazama.

Analiza slučajeva korištenja (Use Case Analysis)tehnika analize poslovnih procesa iz perspektive korisnikaslučajevi korištenja uobičajeni su u metodama objektne analize, u kojima se crtaju kao dijagrami, se ali se koriste i u drugim modernim metodama

Opći standard izrade UC-a ne postoji.Čak ni UML ne specificira UC standard!U prethodnom primjeru alternativa Redoviti kupac mogla je biti zasebni slučaj korištenjaPostoje također dodatni elementi, npr. pretpostavke koje moraju biti zadovoljene da bi slučaj započeo

339FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagrami slučajeva korištenja

Sudionik, glumac (actor)Uloga koju ima korisnik u odnosu na sustavNetko ili nešto u uzajamnom djelovanju (interakciji ) sa sustavomProučava se da bi se odredile njegove potrebe

Slučaj ponašanja (use case)Primjer, uzorak, obrazac ponašanjaSlijed povezanih transakcija u kojima sudjeluju glumac i sustav

UC dijagrami predočuju veze između glumaca i slučajeva

Naziv sudionika

naziv slučaja korištenja

340FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste veza

asocijacija (association) – veza komunikacije u kojoj oba objekta mogu slati i primati porukeuključivanje («include») – povezuje dijelove ponašanja istovrsne ili slične za više slučajeva ponašanjaproširenje («extend») – za varijacije normalnog ponašanja uz dodatna pravilageneralizacija (generalization), poopćenje sličnog slučaja Specijalizirani slučaj "dijete" nasljeđuje ponašanje i značenje općeg slučaja "roditelj"

Dijete može dodati ili prekriti ponašanje roditeljaDijete može supstituirati roditelja gdje god se pojavi

Page 86: FER PIS Predavanja

341FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram slučajeva korištenja

342FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Objektno usmjereni pristup

Objektno usmjerena paradigmaentiteti iz stvarnog svijeta opisuju se apstraktnim objektima (razredima, klasama objekata)integracija oblikovanja podataka i procesatokovi podataka, entiteti i veze te procesi integrirani u objektesloženi sustavi grade se iz pojedinačnih komponenti.

PROIZVOD

SifProizvoda#NazProizvodaTipProizvoda

DodajProizvod()BrisiProizvod()IzmijeniProizvod()

IGLA

DuljinaPromjer

RacunajMasu()

AVION

BrSjedalaDoletKM

RacunajMasu()

Dodaj proizvod (Igla štrikača 05)

RacunajMasu(Igla štrikača 05)

343FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Objektno usmjereni pristup

Elementi objektnog modelaobjekt - svaka pojava, pojam ili predmet (stvarni ili zamišljeni) o kojem se prate podatci i načini rukovanja podatcima (procesi)tip objekta ili razred objekta (abstract data type, class) – generalizacija grupe objekata, zajednički naziv za sve objekte sa zajedničkim svojstvima (property) i načinima rukovanja (process, method), npr. Proizvodpojava objekta (object instance) – pojedinačna pojava nekog tipa objekta, s vlastitim vrijednostima svojstava, npr. Igla štrikača 05, B-2učahurivanje (encapsulation) - podatkovne strukture i procedure povezuju se u cjelinu tako da su detalji ugradnje sakriveni objekti su “crne kutije” čijim se podacima rukuje putem ugrađenih metodarazmjena poruka (messaging) – objektu se šalje poruka da bi izveo neku od svojih metoda, npr. Dodaj proizvodnasljeđivanje (inheritance) – podrazred (subclass) nasljeđuje svojstva i metode nadrazreda (superclass), npr. Igla i Avion nasljeđuju Proizvodvišeobličje (polymorphism) – postupci koje objekti različitih razreda tumače zavisno o specijalizaciji objekta, npr. RacunajMasu(Igla štrikača 05)

344FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Objektno usmjereni pristup

Cilj objektno usmjerenog pristupa je analizirati stvarni sustav na takav način da se za potporu njegovom djelovanju može oblikovati programski sustav koji se velikim dijelom gradi od prije definiranih objekata.

Ukoliko se izrađuju jedinstvena rješenja (unikati) po mjeri unaprijed poznatog korisnika, onda primjenjivost ovog pristupa može postati upitna.

Neke objektno usmjerene metodeOMT (Object Modelling Technique)BOOCH (Booch’93)Schlaer-Mellor

Programska izvedba objektno usmjereni jezici, npr. Smalltalk, Eiffel, Java, C#hibridni jezici (3GL s objektnim svojstvima), npr. C++ i VBasic

Page 87: FER PIS Predavanja

345FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Objektno usmjereni pristup

Faze objektno usmjerenog razvoja ISFaza određivanja svih mogućih slučajeva (UC - Use Case)

• određuju se “svi mogući” scenariji interakcija u sustavuObjektno usmjerena analiza (OOA - Object Oriented Analysis)

• definiraju se razredi objekata kojima će se točno opisati sustav OO model područja primjene

– proučavanje postojećih objekata da bi se vidjelo mogu li biti ponovno iskorišteni ili prilagođeni za nove primjene

– definiranje novih ili modificiranih objekata koji će se kombinirati s postojećim objektima u novu aplikaciju

Objektno usmjereno oblikovanje (OOD - Object Oriented Design)• definira stvarne klase i objekte te njihove mehanizme, pri čemu se određuju

detalji o budućim fazama OO model softverskog sustava– razrada definicija zahtjeva na objekte napravljenih tijekom analize– revizija karakteristika podataka i procesa– definiranje novih skupova objekata, npr. objekata sučelja za oblikovane podatke

Objektno usmjereno programiranje (OOP - Object Oriented Programming)• programski se ugrađuju klase i njihove međusobne veze

Faza procjene (OOE - Object Oriented Evaluation)• evidentiraju se pogreške i problemi

346FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

UML

UML = Unified Modeling LanguageObjedinjeni (univerzalni) jezik za modeliranjeStandardni jezik za prikaz, specifikaciju, izradu i dokumentiranje elemenata sustava zasnovanih na programskoj podršciProširenje osnovne funkcionalnosti stereotipovima (“kalupima”)Može se koristiti tijekom cijelog životnog ciklusa razvoja i preko različitih tehnologija ugradnje

Sadrži koncepte zaModeliranje podataka (Entity Relationship Diagrams)Modeliranje poslovnih procesa (Business Modeling - workflow)Modeliranje objekata (Object Modeling)Modeliranje komponenti sustava/softvera (Component Modeling)

347FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vizualno modeliranje

Dijagrami strukture, Strukturalni dijagrami

Class DiagramObject DiagramComponent DiagramDeployment Diagram

Dijagrami ponašanjaUse Case DiagramSequence DiagramCollaboration DiagramStatechart DiagramActivity Diagram

Prikaz granica sustava i njegovih glavnih funkcija prikazom slučajeva korištenja i sudionika (glumaca)Ilustracija izvršenja slučajeva korištenja dijagramima interakcijePrikaz statičke strukture sustava dijagramima razreda i dijagramima objekataModeliranje ponašanja objekata dijagramima prijelaza stanjaPrikaz fizičke ugradnje arhitekture dijagramom komponenti i dijagramom razvijanja

Dijagrami razreda

Class Diagrams

Page 88: FER PIS Predavanja

349FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razredi

Razred (class) = kolekcija, skup objekata sa zajedničkom strukturom, zajedničkim ponašanjem, zajedničkim vezama i zajedničkom semantikom, na primjer cOsobaObjekt – pojedinačna pojava (objekt, instanca) iz nekog razreda, na primjer Zagor i Čiko razreda cOsobaDefiniranje razreda

NazivOpis (komentar) – slobodan tekst u vitičastim zagradamaAtributi - struktura kojom su određena svojstva objekataOperacije - procesi/servisi koje razred (objekt) zna obaviti, čime se određuje ponašanje objekata

/ * autor: Hrvoje Novak */Class Osoba {private string ime;private string prezime;public string PrezimeIme () {return ime + " " + prezime;

}}

350FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagrami razredaDijagrami razreda (Class Diagrams)

Prikaz statičke strukture sustava, odnosno njegovih elemenata (pr. razredi i tipovi), te njihovih međusobnih odnosa. Dijagram razreda može sadržavati i sučelja (interfaces), pakete (packages), odnose (relationships) te instance kao što su objekti (objects) i veze (links). Bolji naziv bio bi 'statički strukturni dijagram' (static structural diagram).

Elementi dijagramaRazredi, njihova struktura i ponašanje (atributi i operacije)

Statički odnosiObične veze ili asocijacije (associations)

• npr. "korisnik posuđuje više video-kazeta"Gomilanje ili udruživanje, agregacija (aggregation),

• npr. "motor je dio aviona" Zavisnost (dependency) i nasljeđivanje (inheritance)

• npr. "bolničarka je osoba"Dodatne oznake

Indikatori množine, mnogostrukosti (multiplicity) - kardinalnostIndikatori upravljivosti, navigabilnosti (navigability) – smjer povezivanjaUloge (role names)

351FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vidljivost atributa i operacija

Implementacijskaunutar paketa

~

Privatna (private)unutar razreda, članovima

-

Zaštićena (protected)unutar razreda/podrazreda

#

Javna (public)članovi dostupni svima

+

{pravo pristupa private

pravo pristupa public {{pravo pristupa protected

Odjel

- naziv: Name- nastavnici: Nastavnici[]

# dodajNastavnika()# ukloniNastavnika()+ dohvatiNastavnika()+ dohvatiSveNastavnike()

352FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

AsocijacijeVeze između objekata

Svaka asocijacija ima dva završetka asocijacije (association ends), od kojih je svaki spojen s jednim razredom.

Uloge (role)labele na kraju veze, postavljaju se bliže razredu na koji se odnosemogu se izostaviti

Ograničenja (constraint)uvjet povezivanja

Indikator mnogostrukosti (multiplicity)kardinalnost

Indikator upravljivosti (navigability)strelica označava smjer povezivanjajednosmjerna - preporuča se tamo gdje nema posebnih uloga, mora se navesti ako postoji ulogadvosmjerna (standardno)može uključiti stereotip (npr. «friend»)

Page 89: FER PIS Predavanja

353FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Mnogostrukost

Označava broj objekata koji sudjeluju u veziPrikazuje s koliko se objekata JEDAN objekt može povezatiGleda se nezavisno za svaku stranu veze

Najčešće upotrebljavane oznake za mnogostrukost u praksi su 1, *, 0..1 (jedan ili niti jedan). Za prikaz mnogostrukosti možese koristiti diskretan broj

npr. 11 za broj članova nogometne ekipe), niz brojeva (npr. 2..4 za igrače koji sudjeluju u kartaškoj igri),kombinacije diskretnih brojeva ili brojeva u nizu (npr. 2, 4 za broj vrata na automobilu).

Od jednog do N objekata gdje je N>11..N

Od nula do N objekata gdje je N>10..N

Samo N objekata gdje je N>1N

X, Y ili Z objekataX,Y,Z

Jedan ili više1..*

Niti jedan ili više0..* ili *

Samo jedan1

Niti jedan ili jedan0..1

ZnačenjeIndikator

354FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram razreda (class diagram)

355FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljivost

Primjer: odgovornost od narudžbe prema kupcu

Specifikacijski, Upravljivost ukazuje na to da za svaku narudžbu moramo znati kojem kupcu ona pripada. Za pojedinog kupca ne moramo znati sve njegove narudžbe.

Implementacijski, Upravljivost pokazuje da razred Narudžba ima pokazivač na razred Kupac, ali razred Kupac ne mora imati pokazivač na razred Narudžba.

Konceptualno, upravljivost nema neko posebno značenje

356FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

PrimjerPerson Company

-employee

1..*

-employer

0..1

WorksFor

// Person ima jednoznačnu vezu prema Company, pa // getCompany može vraćati vrijednost tipa Companyclass Person {

private Company _Employer;public Company getCompany() ;

}

// Company ima višeznačnu vezu prema Person, pa // getPersons vraća kolekciju ili Vektor objekata// razreda Person.class Company {

private Set _Employees;public Set getPersons_collection();private Vector _Persons;public Vector getPersons_vector();

}

Page 90: FER PIS Predavanja

357FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generalizacija

Odnos između općenitog i njemu određenijeg elementanadređeni razred ili tip (superclass, supertype)podređeni razred ili tip (subclass, subtype)

Sve što vrijedi za nadređeni element vrijedi i za podređeni element, ali ne i obrnuto

Strelice označavaju odnose derivacija: proširuje, implementira, "je tipa", "imaobilježja od", itd.

Primjer: Osoba je Fizička osoba ili Pravna osoba diskriminator

358FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generalizacija

359FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tumačenje generalizacijeKonceptualno

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 možemo reći o razredu Kupac – asocijacije, atributi, operacije, također vrijedi za razred Pravna osoba.

Specifikacijski (subtyping, nasljeđivanje veza)Generalizacija znači da sučelje podtipa mora uključiti sve elemente sučelja nadtipa. Za sučelje podtipa kaže se da je usklađeno sa sučeljem nadtipa.

Implementacijski (subclassing, implementacijsko nasljeđivanje)Podrazred nasljeđuje sve postupke i atribute nadrazreda, te može sadržavati jošneke, sebi svojstvene postupke.Podtipovi se mogu ugraditi i putem delegata bez korištenja podrazreda - Gamma, Helm, Johnson i Vlissides (1995) - primjeri korištenja dvaju razreda s istovrsnim vezama bez upotrebe podrazreda. Fowler (1997) prikazuje još neke druge načine implementacije podtipova.

360FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Nasljeđivanje, višeobličje i zamjenjivost

NasljeđivanjeOmogućuje definiranje (deriviranje) novog razreda na temelju postojećeg razreda

Višeobličje (polymorphism)Operacija deklarirana u osnovnom razredu biva poništena u korist operacije jednako deklarirane u naslijeđenom razredu.Podtip na pojedine naredbe daje drugačiji odgovor u odnosu na nadtip ili neki drugi podtip.Gledajući sa strane pozivatelja, ta razlika nije bitna.

Zamjenjivost (supstitutability)Razred je podtip osnovnog razreda ako je u aplikaciji moguće zamijeniti osnovni razred podtipom, a da aplikacija normalno nastavi s radom. Drugim riječima, ako postoji kôd koji se odnosi na nadtip Kupac, umjesto njega može se supstituirati bilo koji njegov podtip.

Page 91: FER PIS Predavanja

361FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer nasljeđivanja

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(); // introduced in derived class

Kupac k = f; // subclass as base classk.pisiAdresu();

362FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Agregacija

Agregacija (aggregation), sadržavanje, obuhvaćanjeposeban oblik asocijacije: veza "dio-od", "cjelina-dio"odnos se može kvantificirati mnogostrukost

Komponente su dijelovi objekta-agregata, takvi dadio može nastati i postojati nezavisno od cjelineuništenje "cjeline" ne uništava njene dijelove

Objekt može pripadati u više cjelinaistu instancu nekog objekta može dijeliti više agregata

Agregacija je jednosmjerno tranzitivnaali objekt (instanca) ne može biti svoj sastavni diopr. Organizacijska struktura poduzeća

363FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Kompozicija

Kompozicija (Composition)"stroža" varijanta agregacijeobjekt može pripadati samo jednoj cjelini

Elementi postoje tako dugo dok postoji cjelina kaskadno brisanje, tj. uništenje sastavnih objekata

Kompozicija nije tranzitivna agregacija i generalizacija jesu

Ne postoji u Javi !Primjer C++

class Prozor {Obj *scrollbar;Obj naslov;

public:Prozor() { scrollbar = new Obj; }~Prozor(){ delete scrollbar; }

};

364FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Agregacija i kompozicija

* * * 1..*

pohađa

1..** *

predaje

0..1predstojnik

polaznik

1..*

1..*1

ima

0..1

1..*

1..*

pridružen

Fakultet{persistent}

dodajStudenta()ukloniStudenta()dohvatiStudenta()dohvatiSveStudente()dodajOdjel()ukloniOdjel()dohvatiOdjel()dohvatiSveOdjele()

naziv: Nameadresa: Stringtelefon: Number

Odjel{persistent}

dodajNastavnika()ukloniNastavnika()dohvatiNastavnika()dohvatiSveNastavnike()

naziv: Name

Predmet{persistent}

naziv: NameMBodjela: Number

Student{persistent}

naziv: NameMBstudenta: Number

Nastavnik{persistent}

naziv: NameMBnastavnika: Number

31

Studomat

+ prijaviIspit()+ odjaviIspit()

StudentskaSlužba

+ dohvatiStudomat()+ dohvatiSveStudomate()+ azurirajStudomat()+ azurirajSveStudomate()

- studomati: Studomat

Page 92: FER PIS Predavanja

365FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer agregacije i rekurzijeclass Firma {

private Djelatnik[] nadnicar = new Djelatnik[n];public void Daj_mi_povisicu( Djelatnik e ) { ... }

}class Djelatnik {

private Firma vlasnik;private Djelatnik sef;private Vector sluga = new Vector();public void Otpusten_si() { ... }

}

366FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer kompozicijeclass StudentskaSluzba{public:

StudentskaSluzba();virtual ~StudentskaSluzba();void dohvatiStudomat();void dohvatiSveStudomate();void azurirajStudomat();void azurirajSveStudomate();

private:Studomat studomati[3];

};StudentskaSluzba

::~StudentskaSluzba(){delete [] studomati;

}

class Studomat{public:

Studomat();virtual ~Studomat();void prijaviIspit();void odjaviIspit();

};

31

Studomat

+ prijaviIspit()+ odjaviIspit()

StudentskaSlužba

+ dohvatiStudomat()+ dohvatiSveStudomate()+ azurirajStudomat()+ azurirajSveStudomate()

- studomati: Studomat

367FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Asocijacijski razred

Asocijacija s obilježjima razreda - razred s obilježjima asocijacijeKoristi se kada se od razreda zahtijeva da definira odnose.Nastaje dodavanjem atributa i operacija asocijacijiograničenje: smije postojati samo jedna instanca asocijacijskog razreda za par povezanih objekata, inače postaje pravi razred

Ponekad je potrebna dodatna veza za prikaz vlasništva Primjer: veza između osobe i avionske karte

368FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Sučelja i apstraktni razredi

Sučelje (interface) - Specifikacija vanjski vidljivih postupakarazreda ili komponente bez implementacije.

Sadrži samo deklaracije (prototipove) operacijaČesto specificiraju samo ograničeni dio ponašanja razreda.Mogu se generalizirati.

Deklarira se apstraktnim razredomU C++, sučelje je razred koja sadrži čiste virtualne postupke. Java ih direktno podržava, npr. "abstract class" može sadržavati definicije za postupke i polja uz apstraktne deklaracije.

Realizacija (realisation): veza izvornog razreda i sučeljaProširena i skraćena (lollipop) notacija

Page 93: FER PIS Predavanja

369FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer prikaza sučelja

+create()+login(UserName, Passwd)+find(StoreId)+getPOStotals(POSid)+updateStoreTotals(Id,Sales)+get(Item)

-storeId: Integer-POSlist: List

Store

POSterminal

POSterminalHome

<<use>>

StoreHome

Store

POSterminal

+create()+login(UserName, Passwd)+find(StoreId)+getPOStotals(POSid)+updateStoreTotals(Id,Sales)+get(Item)

-storeId: Integer-POSlist: List

Store

POSterminal

POSterminalHome

<<use>>

StoreHome

POSterminal

+getPOStotals(POSid)+updateStoreTotals(Id,Sales)+get(Item)

<<interface>>Store

370FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Objektni dijagrami

Objektni dijagram (Object diagram)Sadrži aktualne (instancirane) objekte te, opcionalno, razrede kojima ti objekti pripadajuKoriste se za ilustraciju ili objašnjenje nekog trenutka

order: return := event3 (arg4 ..)Object1: Class1arg1 = value1

Class1

Object2: Class2arg2 = value2

instantiates

data flow

Synchronisation- simple- synchronous- balking- timeout- aysnchhronous

AdornmentsA - association linkF - object fieldG - global variableL - local variableP - procedure parameterS - self reference

371FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razredi i instance objekata

Prikazuje seNaziv objekta (potcrtano)Naziv razreda (opcionalno)Vrijednost atributa (opcionalno)Task

setStartDate (d : Date = default)setEndDate (d : Date = default)

Assignment 1: TaskstartDate = 1.2.04endDate = 23.2.04

Assignment 2: TaskstartDate = 1.3.02endDate = 23.3.02

Assignment 3: TaskstartDate = 1.4.03endDate = 23.4.03

<<instanceOf>><<instanceOf>>

<<instanceOf>>

startDate : Date = 1.1.01endDate : Date = 1.6.01

372FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer objektnog dijagrama

Dijagram objekata

NarudzbaProdavatelj

stavka2:

Stavka

Kupac

stavka1: Stavka

stavka3:

stavka2:

stavka1:

stavka1:

Dom i vrt : Kupac

Nar 121: Narudzba

Krkatone :

: Narudzba

Štefica Cvek

Dijagram razreda

imenovana instanca

anonimna instanca

instanca siroče

Page 94: FER PIS Predavanja

Dijagrami interakcije

Interaction Diagrams

374FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Realizacija slučajeva korištenja

UC dijagrami prikazuju vanjski pogled na sustavDijagrami interakcije

opisuju realizaciju slučajeva korištenja, pri čemu jedan dijagram uobičajeno prikazuje ponašanje pojedinačnog slučaja korištenjaprikazuju objekte sustava i njihovo međusobno djelovanjeopisuju ponašanje više objekata i poruke koje se razmjenjuju između tih objekata

Vrste dijagrama interakcijeDijagrami slijeda (Sequence diagrams) – vremenski pogledDijagrami suradnje (Collaboration diagrams) – organizacijski pogled

375FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram slijedaPrikaz 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

NotacijaKućice predstavljaju objekte, ne razrede. Nazivu se može dodati ":class".Objekti i/ili razredi prikazani horizontalno na vrhu isprekidanih vertikalnih crta, linija životaPoruke prikazane strelicama između linija života objekata koji komunicirajuLinija života (lifeline): život objekta za vrijeme interakcije

Poslane porukePovratak iz metode

može se crtati za svaku poslanu poruku, ali je dijagram čitljiviji ako se podrazumijeva da postoji, a crta samo tamo gdje je to nužno radi jasnoće

376FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer slijeda

Page 95: FER PIS Predavanja

377FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tumačenje dijagrama slijedaObjekti

prvi stupac: uobičajeno sudionik koji inicira slučaj korištenjadrugi stupac: granični objekt (boundary object), kojim sudionik pokreće slučaj korištenjaostali stupci: objekti koji upravljaju slučajem korištenja

PorukePoruka predstavlja poziv postupka referenciranog objektaPoruke se označavaju barem nazivom porukeOznaka se može proširiti argumentima poruke te povratnim vrijednostima i/ili upravljačkim informacijama

Vremenska osnelinearna, određena događajimačita se s vrha prema dnuprikazuje redoslijed, a ne stvarno vrijeme

Linija života objektapovezuje postojanje i cjelokupno ponašanje objektaredoslijed linija nema posebno značenjeIzlomljena linija života označava da objekt nije aktivan, kvadrat označava da je objekt aktivan.

378FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pokretanje slijeda

Sudionik, događaj, granični objekt i operacija

379FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Stvaranje i uništenje objektaPoruka može inicirati stvaranje novog objekta• Nova instanca pojavljuje se na kraju

strelice poruke za stvaranje.Aktivacijski odjeljak (activation box): oznaka da je objekt aktivan

u slučaju proceduralne interakcije, to može značiti da je na stogu

Uništenje objekta (deletion, destruction):

objekt uništava sam sebe ili ga drugi unište slanjem porukeUništavanje se obavlja prekidom linije života velikim X

380FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste poruka

Jednostavna: tumači se kao asinkrona

Sinkrona: "pozivi", prikazani punim vrhom strelice, pri čemu pozivatelj čeka na završetak aktivirane metode

Asinkrona: "signali", prikazani polu-strelicom, čime se označava da poziv ne blokira pošiljatelja porukePrimatelj odmah odgovara. Pošiljatelj i primatelj rade simultano.

Page 96: FER PIS Predavanja

381FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Povratni pozivi i uvjetovane poruke

Asinkroni povratni pozivi (callback)

Povratni poziv pojavljuje se dok Pošiljatelj potencijalno izvodi nešto drugo.Samo-pozivanje (self-call, self-delegation): poruka koju objekt šalje samome sebi

Uvjetovane porukePoruka se šalje samo ako je uvjet zadovoljen.Uvjet je obično izražen implementacijskim jezikom.

382FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer dijagrama slijedaEkran za unos narudžbe šalje poruku pripremi() objektu Narudzba, koji prosljeđuje odgovarajuću poruku pojedinoj stavciSvaka stavka provjerava danu stavku skladišta i ovisno o tome pokreće daljnje akcije

Unos naružbe Narudžba

Stavka narudžbe

Stavka skladista

1: pripremi()2: * pripremi() 3: provjeri()

4: [check = true]ukloni() 5: ponovnoNaruci()

Iteration

Condition

Self delegation

AsynchronousMessage

Activation

Ponovljena stavka

6: [ponovnoNaruci = true]<<create>>

383FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: Web kupovina

384FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram kolaboracije, suradnje

Prikaz interakcije objekata koji naglašava međusobnu povezanost objekataKoristi se notacija slična dijagramima slijedaNe pokazuje vrijeme kao posebnu dimenziju, pa slijed interakcijamora biti označen rednim brojevima poruka.

Page 97: FER PIS Predavanja

385FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Označavanje poruka

Označavanje rednim brojevima (1, 2, 3, ...)problem pri umetanju

Označavanje "decimalnim" brojevima (1, 1.1, 1.2, 2, 2.1, 2.2, ...)jasnije označavanje koja operacija koju zove"decimale" ukazuju na ugniježdene poruke, to jest one koje su poslane dok je početna još aktivnateže praćenje ukupnog slijeda

Proširenjaslovčane oznake za višetnitne operacijeoznačavanje povratnih vrijednosti

386FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer dijagrama suradnjeJ.Rumbaugh, I. Jacobson, G. Booch : The Unified Modeling Language

Reference Manual. Addison Wesley, 1999, fig 13-51 page 202

387FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram slijeda naspram dijagrama suradnje

Dijagrami slijedanaglasak na izmjeni poruka u vremenukoriste se pri određivanju redoslijeda poruka

Dijagrami suradnjebolja preglednost scenarija i veza između objekatakoriste se pri određivanju veza između razreda

Obje vrste dijagrama moraju biti jednostavne i pregledne, što je u praksi dosta teško postićiNajčešće se za konkretnu situaciju radi samo jedna vrsta dijagrama

388FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Prikaz suradnje dijagramom slijeda

Opis suradnje može se nadopuniti dijagramom razreda

reklamirati robu

prodavatelj:Stranka kupac 1:Stranka kupac 2:Stranka

dati ponudu

dati ponudu

odbiti ponudu

prihvatiti ponudu

Ponuda

Stranka Roba

**

kupac 1 1

1 *prodavatelj

Page 98: FER PIS Predavanja

389FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CRC kartice

CRC = Classes-Responsibilities-CollaborationWard Cunningham i Kent Beck, kasne 80-te, učeći Smalltalknadomjestak za dijagrame suradnje

primjer

RazredOdgovornosti Suradnici

opis svrhe razredazadaci razreda

(kasnije postaju operacije razreda)

razredi koji zahtijevaju izvršenje zadataka

NarudžbaOdgovornosti Suradnici

provjeri raspoloživost robe na sklad.odredi cijenu robe

provjeri valjanost plaćanjaotpremi robu

StavkaNarudzbe

Kupac

Dijagrami stanja

State Diagrams

391FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram stanjaPrikaz ponašanja objekta nekog razredaOpisuje mogući slijed djelovanja i stanja kroz koje element može proći za vrijeme svog postojanja kao rezultat reakcije na događaje (npr. signale).

sva moguća stanja objekta razredadogađaji koji uzrokuju prijelaz iz jednog stanja u drugonačin promjene stanja pod utjecajem uzročnih akcija (poruka koje objekt prima)opis ponašanja objekta kroz različite slučajeve korištenja

Stara tehnika koja se pojavljuje pod različitim nazivimadijagram prijelaza stanja (state transition diagram)Harel diagram (statechart, 1987)

Akcija: vezana uz prijelaz stanja, pojavljuje se "brzo" i nije prekidiva

Aktivnost:pridružena stanju, može dulje trajati i može se prekinuti

392FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi notacije

Stanje skup vrijednosti koje opisuju objekt (njegove uvjete/situaciju) u određenom vremenskom trenutkuodređeno zatečenim vrijednostima atributa

Događajizaprimljene poruke ili signaline moraju promijeniti stanje objekta => samo-prijelaz (self-transition)

Opis stanjaentry: akcija koja se obavlja pri ulasku u stanjeexit: obavlja se pri izlasku iz stanjado: aktivnost koja se provodi dok je objekt u nekom stanju (npr. prikaži prozor)on: akcija koja se izvodi kao posljedica određenog događaja

Page 99: FER PIS Predavanja

393FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Stanja i prijelazi stanja

Početno stanje (start, Start state)nije dozvoljeno okidanje događajasamo jedno, ali se prijelazi mogu granati

Završno stanje (stop, End state)završava rad (stroja s konačnim brojem stanja)može ih biti više

Prijelaz stanjausmjerena veza koja označava promjenu stanja

Uvjet prijelaza (Guard condition)logički uvjet koji mora biti zadovoljen da dođe do prijelaza stanjaviše uvjeta za promjenu istog stanja su međusobno isključivi

Događaji, uvjeti i akcije prijelaza su opcionalniprijelaz bez događaja započinje čim završi aktivnost pridružena stanju

Initial state State BEvent(arguments ) [condition] / action

394FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer stanja narudžbe

[Nije sve provjereno]/uzmi slijed.stavku

IsporučenoStavka je primljena [neke stavke nisu

na skladištu]

[Sve stavke provjerenei nekih stavki nema]

stanje

Slanje

radi/započnislanje

ČekanjeIsporučeno

početak

/uzmi prvu stavku

aktivnost

[Sve stavke provjerenei sve stavke dostupne]

Stavka je primljena[sve stavke dostupne]

prijelaz

samo-prijelaz

Provjera

radi/provjeristavku

Obustavljeno

395FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer stanja narudžbe

Početak dijagrama označen je simbolom početnog stanja. U stanje "Provjera" ulazi početni prijelaz koji čini samo akcija "uzmi prvu stavku". Nakon toga ulazi se u stanje "Provjera", koje sadrži aktivnost "provjeri stavku".

Kad postoji događaj, čeka se njegovo ispunjenje da bi akcija započela. Inače, prijelaz se događa odmah nakon završene aktivnosti.

Prijelazi nakon stanja "Provjera" nemaju događaja. Postoje tri moguća prijelaza nakon stanja "Provjera", s tim da se uvijek samo jedan prijelaz može (i treba) dogoditi.

ako nisu provjerene sve stavke, uzima se slijedeća stavka i vraća se u stanje "Provjera",ako su sve stavke provjerene i dostupne (a to znači da su na skladištu), prelazi se u stanje "Slanje",ako su sve stavke provjerene, ali nisu sve i dostupne, prelazi se u stanje "Čekanje" da roba dođe na skladište.

396FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer stanja narudžbe

Stanje "Čekanje"Ne postoji aktivnost u tom stanju, već se čeka na događaj "Stavka je zaprimljena (na skladište)". U slučaju novog događaja, gleda se koji je uvjet ispunjen. U našem primjeru, da li su sve ili samo neke stavke na skladištu.Ako su nakon događaja sve stavke na skladištu, prelazi se u stanje "Slanje", a ako se nakon toga čeka na još barem jednu stavku, vraća se u stanje "Čekanje"

Stanje "Slanje"Aktivnost stanja "Slanje" je "Započni isporuku". Iz ovog stanja postoji jedan, neuvjetovani prijelaz, čiji je okidač događaj "Isporučeno", a ne završetak aktivnosti stanja !Kad završi aktivnost "Započni isporuku", narudžba ostaje u tom stanju dok se ne dogodi događaj "Isporučeno".A prijelaz će se dogoditi uvijek kad nastupi događaj "Isporučeno"…

Page 100: FER PIS Predavanja

397FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Kompozitna stanja

Nadomjestak za 3 prijelaza obustavljeno

Provjera

radi / provjeristavku

Slanje

radi / započnislanje

Čekanje

Isporučeno

[Sve stavke provjerenei sve stavke dostupne]

[Nije sve provjereno]/uzmi slijed.stavku

Stavka je primljena[sve stavke dostupne]

[Sve stavke provjerenei nekih stavaka nema]

Stavka je primljena [neke stavke nisu

na skladištu]

Obustavljeno

obustavljeno

Aktivan

Ime kompozitnog stanja

398FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Konkurentna stanja

Primjer: Provedba autorizacijekada aktivnost "Provjeri plaćanje" završi, signalizira da li je plaćanje u redu

• ako plaćanje nije u redu, odbija se zahtjev za autorizacijom, • inače narudžba čeka u stanju "Autorizirano" dok se ne dogodi "Isporuči"

Odbijeno

Autorizirano Isporučeno

[plaćanje nije u redu]

[plaćanje je u redu]

radi/provjeriplaćanje

Autorizacija

isporuči

399FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Konkurentna stanja

Neke promjene mogu se događati istovremeno

Nadstanje s konkurentnim odjeljcimaSamo jedno izlazno/završno stanje

Koje će to biti, ovisi o tome koji se događaj dogodi prije

"Narudžba" može doći u stanje dva moguća istovremena stanja: "Provjera" i "Autorizacija"

Kada narudžba napusti konkurentna stanja, ona je opet samo u jednom stanju.

Provjera Slanje

Čekanje

Isporučeno

Obustavljeno

Autorizacija Autorizirano

Odbijeno

obustavljeno

kraj

Aktivno

400FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjena dijagrama stanja

Dijagram stanja ne treba crtati za svaki razred u sustavu.Najbolje ih je koristiti samo za razrede sa zanimljivim ponašanjem te tamo gdje ti dijagrami pomažu bolje razumijevanje ili bolje uočavanje onoga što se događa u sustavu.

Dijagrami stanja dobro opisuju ponašanja jednog objekta u različitim slučajevima korištenja.Dijagrami stanja nisu prikladni za prikaz ponašanja koje uključuje suradnju više objekata.

Tada je bolje kombinirati tehniku dijagrama stanja s drugim tehnikama. Dosta se koriste u sustavima za rad u stvarnom vremenu, te za razrede korisničkih sučelja.

Page 101: FER PIS Predavanja

Dijagrami aktivnosti

Activity Diagrams

402FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi dijagrama aktivnostiPrikazuje

ili tok rada (workflow) između objekata nekog slučaja korištenjaili tok upravljanja za neku operaciju

Sadrži tok aktivnosti, ali ne i objektesva (ili većina) stanja su stanja akcijasva (ili većina) prijelaza obavlja se po dovršetku akcija u stanju

Osnovni simbol: stanje aktivnosti (aktivnost)

stanje radnje, npr. proces iz stvarnog svijeta ili izvođenje programske rutine

Ostali simboli su slični onima dijagrama stanja

s dodatkom oznaka ponavljanjaUvjetovano ponašanje

grananja (branches) udruživanja (merges)

Paralelizam, istovremenost procesarazdvajanje, račvanje (fork)spajanje, pripojenje (join)Svaka grana predstavlja nit izvođenja (thread)

Zaprimi narudzbu

Ispuni narudzbu

Nocna isporuka Obicna isporuka

Posalji racun

Zaprimi uplatu

Zatvori narudzbu

[zurna narudzba] [else]

Pocetak

Razdvajanje

Udruzivanje

Kraj

Spajanje

Uvjet

Aktivnost

Grananje

403FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Paralelizam i uvjetne nitiOznake za razdvajanje i spajanje moraju se poklapati

Za svako razdvajanje mora postojati spajanje koje udružuje niti nastale razdvajanjem.Dodatna pravila

Nit koja izlazi iz razdvajanja može 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, može se izbaciti prvo spajanje, a niti koje bi išle u njega tada idu u drugo spajanje. Ovo je skraćeni način zapisivanja koji se koristi da se dijagram pojednostavni.Postoji posebno stanje, tzv. sinhronizacijsko stanje (sync state) koje omogućava sinhronizaciju na mjestima na kojima bi pravilo o parovima razdvajanja i spajanja inače sprječavalo.

Uvjetna nit (conditional thread)ako uvjet u niti koja izlazi iz oznake razdvajanja nije ispunjen, smatra se da je ta nit završila, to jest da se paralelne mogu obaviti do točke spajanja

404FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer skraćenog prikaza i uvjetnih niti

Skuhati tjesteninu Napraviti umak

Zamijesati

Otvoriti vino

[raspolozen za vino]

Uvjetna nit

Razdvajanjeizbaceno izdijagrama

Page 102: FER PIS Predavanja

405FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Komponiranje aktivnosti i staze

Zaprimi narudzbu

Ispuni narudzbu

Nocna isporuka Obicna isporuka

Posalji racun

Zaprimi uplatu

Zatvori narudzbu

[zurna narudzba] [else]

Isporuka

SkladisteProdajaKupac

Zahtjevati robu

Preuzeti narudzbu

UplatitiIspuniti narudzbu

Dostaviti robu

Primiti robu

406FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjena dijagrama aktivnostiAnaliza slučaja korištenja.

Dijagram aktivnosti dobro pokazuje opći slijed akcija za nekoliko objekata i nekoliko slučajeva korištenjaZa prikaz ponašanja objekata za jedan slučaj korištenja bolje je koristiti dijagram interakcijaNa ovoj razini nije bitno dodjeljivanje aktivnosti pojedinim objektima. Potrebno je dobiti opću sliku ponašanja sustava, te odrediti međuzavisnosti u ponašanju. Aktivnosti se vezuju sa objektima u kasnijim fazama razvoja.

Razumijevanje radnog procesa. Da bi se shvatio poslovni proces i omogućile eventualne izmjene i poboljšanja, poslovni proces se modelira dijagramom aktivnosti. Pri tome je potrebno uključivanje osobe koja je upućena u poslovni proces.

Opisivanje složenih sekvencijalnih algoritama. U ovom slučaju dijagram aktivnosti je samo UML oblik klasičnog dijagrama toka.

Opisivanje višenitnih aplikacija. Dijagramima aktivnosti moguće prikazati paralelizam pa ih to čini pogodnim za prikazivanje višenitnih aplikacija.

Dijagram paketa

Package Diagram

408FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dekompozicija sustavaProblem podjele sustava u (manje) podsustave

Rimsko načelo: podijeli pa s/vladaj (Divide et impera, Divide and conquer)Podjela sustava u "savladljive" dijeloveStrukturirane metode: funkcionalna dekompozicijaOO analiza i dizajn: grupiranje razreda u cjeline na višoj razini

Paketi (Packages)konceptualno strukturiranje modela sustava

• najčešće prikazuju strukturu, tj. organizaciju izvornog kodau fazi razvoja

Komponente (Components)fizičko povezivanje elemenata sustava

• elementi: fizičke komponente (COM+, CORBA), izvorni kod, dokumentacija tijekom pogona

Naziv paketa GUI.exe

Page 103: FER PIS Predavanja

409FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Paketi

Paket = opći mehanizam grupiranja elemenata, logički povezana grupa elemenata modela, dio modela

Koncept grupiranja može se primijeniti na bilo koji element modela, a ne samo na razrede

Elementipodsustavidrugi (manji) paketirealizacija slučajeva korištenjasučelja (interfaces)

Svojstvapojedini element sadržan je samo u jednom paketunazivi unutar paketa moraju biti jedinstvenipaketi tvore imenike (namespace)paketi mogu referencirati druge paketeUML podrazumijeva da postoji anonimni paket-korijen (root package)

410FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram paketa

Pokazuje pakete i razrede te zavisnosti između njih

To je, zapravo, dijagram razreda koji prikazuje skupove razreda i njihove zavisnosti, ali se nazivom "dijagram paketa" naglašava koji su glavni elementi dijagrama.

Paket se prikazuje s dva odjeljkaU manjem se navodi ime paketa, a u većem sadržaj paketa. U grubljem prikazu, naziv paketa piše se u većem umjesto razreda, a manji odjeljak ostaje prazan.

411FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugnježđivanje paketa

Prostor imenaGrupira razrede slične funkcionalnosti.Imenici - C# i C++ namespace

• Izvedeni razredi ne moraju biti u istom paketu.

Vanjski paketi ponekad se nazivaju domene.

Naziv paketa koristi se za tvorbu punog naziva razreda

npr. puni naziv razreda Kamenko u paketu Kremenko je Kremenko.Kamenko

Kriteriji za grupiranje slučajeva korištenja u pakete

potpora određene poslovne funkcijepodrška određenom sudionikusrodni razredi i proširenja (generalizacija, veze)

Ciljlokalizacija promjena u sustavuvisoka povezanost elemenata (cohesion)mala vanjska zavisnost/skopčanost (coupling)

Primjeri pakiranja

Narudžbe

+Narudžba-Stavka

Narudžbe

+Narudžba-Stavka

412FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjena dijagrama paketa

Slojevite (višeslojne) arhitekture

Veliki projektikoriste se kad dijagram razreda cijelog sustava ne stane na papir formata A4

TestiranjePonašanje paketa se testira tako da se jedan ili više razreda paketa koriste kao probni razredi.

Smanjenje zavisnostiPaketi ne nude odgovore kako smanjiti zavisnosti u sustavu, ali pomažu vidjeti koje zavisnosti postoje.

Održavanje kontrole nad strukturom cjelokupnog sustavaKad se koriste, lakše se naprave promjene u dobro definiranom sustavu. Primjerice, pri lokalizaciji programske podrške.

Page 104: FER PIS Predavanja

413FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: logička organizacija tankog Web klijenta

414FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Debeli Web

Fizički dijagrami

Physical Diagrams

416FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagrami komponenti

Dijagram komponenti (Component diagram)prikaz organizacije i zavisnosti softverskih komponenti

Komponenta: fizički modul programskog kodaizvorna datoteka, pogonska komponenta (run time) ili izvedbeni program (executable)

Komponenta sliči paketureprezentira fizičko pakiranje programskog kodapojedini razred može se koristiti u različitim komponentama, ali je definiran u samo jednom paketu

Zavisnost komponentiiskazuje na koji način promjena jedne komponente može utjecati na promjenu drugih komponentiprimjeri: zavisnost pri komunikaciji, zavisnost pri prevođenju

Page 105: FER PIS Predavanja

417FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagrami komponenti

Komponenta je tipično određena s jednim ili više klasifikatora koji obitavaju (reside) na komponenti.

Podskup ovih klasifikatoraeksplicitno definira sučelja komponente.Sučelja predstavljaju skup usluga koje pružaju elementi komponente.

Tip komponente ima naziv oblika: tip_komponente. Instanca komonente ima i ime i tip oblika ime_komponente : tip_komponente.

Ako se naziv tipa izostavi izostavlja se i dvotočka.

SesijaKupovine<<session>>SesijaKucneKupo

vine

SesijaKupovine

<<focus>>:Narudzba

<<auxiliary>>:NarudzbaPK

<<auxiliary>>:NarudzbaInfo

KucnaNarudzba

Narudzba

<<entity>>050677am:NarudzbaKucnaNarudzba

Narudzba

418FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generator rasporeda

Planer

GUI

rezervacije

azuriraj

Komponenta

Ovisnost

Sucelje

Zavisnost komponenti

419FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Varijante prikaza

<<reside>>elementi sadržani u komponenti (npr. implementacijski razredi)

<<implement>>fizički element ugradnje

<<focus>>Katalog

<<auxiliary>>KatalogPK

<<auxiliary>>KatalogInfo

KucniKatalog

Katalog

<<file>>KatalogJAR

KucniKatalog

Katalog

<<entity>>KatalogSesijaKupovine

Kosarica

SesijaKucneKupovine

SesijaKupovine

<<session>>

<<entity>>

KucnaKosarica

Kosarica

Katalog

<<auxiliary>>KatalogInfo

<<focus>>Katalog

<<auxiliary>>KatalogPK

<<file>>KatalogJAR

<<reside>> <<reside>>

<<reside>>

<<implement>>

<<entity>>

420FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dijagram ugradnje

Dijagram ugradnje (Deployment Diagram)Prikazuju konfiguraciju pogonskih elemenata i softverskih komponenti, procesa, i objekata koji žive u njima.

Čvorovi (Nodes): izvršni resursinajčešće sklopovlje

Spojevi (Connections):komunikacijski putevi

Nazivlje: ime_čvora : tip_čvora (opcionalno)

Client

TCP/IP

Server

čvor1 čvor2

komp2

komp1+veza

* *

Page 106: FER PIS Predavanja

421FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Čvorovi i komponente

Kombiniranje dijagrama komponenti i dijagrama ugradnje

prikaz fizičke zavisnosti između softvera i hardveralokacije komponenti unutar (distribuiranog) sustavainstance softverskih komponenti koje predstavljaju pogonsku manifestaciju jedinica programskog koda.

AccountServer

DeploysAccountDB.javaAccountMgt.java

AccountServer

AccountMgt.javaAccountDB.java

Server:Host

Korisnik:PC

: GUI.exe

: narudzbe.dll

: izbor.dll

: kontrola_zaliha.dll

422FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer odnosa čvorova i komponenti

Komponente smještene na čvoru, a koje nisu prikazane ugniježdenim simbolima, označavaju se zavisnošću sa stereotipom <<deploy>>

Zavisnost <<become>> prikazuje da se pričuvni broker u nekom trenutku izvođenja seli iz čvora pričuvnog poslužitelja na čvor primarnog poslužitelja dok ostale komponente ostaju tamo gdje jesu.

primarniPosluitelj:AplPosluzitelj

:OdrediKvotu

primarniBroker:Broker

:RacuniDB

pricuvniPosluzitelj:AplPosluzitelj

pricuvniBroker:Broker

:OdrediKvotu :RacuniDB

<<database>>

<<database>>

<<become>>

Izrada sustava

424FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada sustava

Implementacija sustava, ugradnja sustavaizrada novog sustava i isporuka tog sustava u produkciju, to jest svakodnevnu primjenu

Izrada sustavafaza u kojoj se obavlja

• izgradnja i testiranje mreža (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

drugi nazivi: konstrukcija, izvedba, provedba

Page 107: FER PIS Predavanja

425FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Kodiranje, programiranje

Kodiranjepretvorba detaljnog programskog opisa u stvarni program, najčešće primjenom nekog formalnog programskog jezikaručno kodiranje

• neizbježno zbog veličine stvarnih problema i složenosti 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)

• poželjno je da konkretni jezik uz prevodilac (compiler) uključuje interpretator (interpreter) te alat za otkrivanje pogrešaka (debugger)

automatsko kodiranje• generiranje programskog koda, sučelja, sheme baze podataka

Istovremeno korištenje različitih programskih jezika, a naročito jezika različitih generacija treba koristiti samo po potrebi, primjerice kada se želi ukloniti neke nedostatke osnovnog jezika kojim se obavlja razvoj.

• primjer: 4gl + C

426FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Kodiranje, programiranje

Strukturirano programiranje, Strukturno programiranjetehnika 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 početku, s uvjetom na kraju,

s unaprijed poznatim brojem koraka)• izbjegavanje bezuvjetnih skokova (GOTO naredbe)

Proceduralno programiranjenačin programiranja koji omogućuje da se program definira kao skup programskih cjelina, poželjno takvih da se mogu opetovano koristitiprogramska cjelina (unit)

• skup programskih naredbi koje obavljaju jedan zadatak ili jedan dio zadatka, npr. glavni program, potprogrami (procedure, funkcije)

programski modul – skup logički povezanih programskih cjelina →modularno programiranjekomponenta – bilo koji sastavni dio softvera, uobičajeno podrazumijeva fizičke cjeline

427FER-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+ispravakodgađa otkrivanje problema (pogrešaka u kodu i dizajnu)prosljeđuje probleme u primjenu i održavanje

Inkrementalni pristup (stupnjevito, postupno programiranje)niz ponavljanja oblika kodiranje+provjera+ispravakomogućuje raniju provjeru i izdvajanje pogrešaka (fault isolation)omogućuje raniju raspoloživost djelomičnih (nedovršenih) verzijaomogućuje ravnomjerniju podjelu poslaodozgo prema dolje, odozdo prema gore te mješovito

428FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristup programiranjuInkrementalni pristup, primjer:

izrađuje se program čija je struktura prikazana slikomprvo se kodiraju sve funkcije, a zatim se udružuju pokretanje programa završava fatalnom pogreškomproblem: kako ustanoviti u kojoj funkciji se nalazi pogreškarješenje: postupnim kodiranjem i udruživanjem 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 sadrži poruku (“tu sam X”)

• prilikom izrade funkcije koja će biti pozvana iz neke druge, još neugrađene funkcije, izrađuje se pogonska funkcija (driver)

Funkcija A ()Poziv B()

Funkcija B()Ispis "Tu sam B"

Funkcija M (a, b, c, …)Program DriverM

Poziv M (1, "test", 3.14, …)

a

b c d

e gf

ih j

l

k

m

Page 108: FER PIS Predavanja

429FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristup programiranju

Programiranje od vrha prema dolje (Top-Down)

ako funkcija fGornja poziva funkciju fDonja, onda se fGornjakodira i integrira prije fDonjamogući 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 izrađuje beh, a drugi istovremeno radi cdfi

• nakon što su završeni d i odrezak f, treći programer započinje gjklm

prednost: bolja provjera logičkih funkcija (na višoj razini hijerarhije, u kojima se donose odluke) → brže otkrivanje logičkih pogrešaka, manji utrošak odrezakanedostatak: nedovoljna provjera operativnih funkcija (na nižim razinama, obavljaju stvarni posao)

a

b c d

e gf

ih j

l

k

m 430FER-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 izrađuje prije fGornjaredoslijed kodiranja: lmhijkefgbcda

• 1. programer radi heb• 2. programer radi ifc• 3. programer radi lmjkgd• nakon što su završene b, c i

d, pristupa se konačnom udruživanju

prednost: bolja provjera operativnih funkcija, manji utrošak pogonskog kodanedostatak: kasno otkrivanje logičkih pogrešaka

a

b c d

e gf

ih j

l

k

m

431FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristup programiranju

Mješoviti (sandwich) pristup prvo se od vrha prema dolje izrađuju logičke funkcije, pr. abcdgjzatim se od dna prema gore rade operativne funkcije, pr. efhiklmprednost: rano otkrivanje logičkih pogrešaka uz bolju provjeru operativnih funkcija

a

b c d

e gf

ih j

l

k

m432FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programski standardi i preporuke

Povećanje čitljivostistandardizacijom nazivlja → Standardizacija nazivljaprogramskim komentarima → Programski komentaritehnikom i stilom programiranja → Tehnika i stil programiranjarazličitim označavanjem pojedinih elemenata jezika, kao što su rezervirane riječi, identifikatori, komentari, opcije prevoditelja (različita boja, "veličina" znakova)korištenjem predefiniranih simboličkih oznaka i konstantiizbjegavanjem programskih redaka koji duljinom prelaze širinu zaslonapisanjem po jedne programske naredbe u retkupodjelom sljedova naredbi na odsječke koji su u cjelini vidljivi na zaslonuformatiranjem izvornog koda - pomicanjem u desnu stranu naredbi unutar programskih struktura, tzv. "uvlačenje" (indentation)

Page 109: FER PIS Predavanja

433FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Smjernice za nazivljeNazivlje 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 našeg jezika, Dat-Rođizbjegavati prekratke nazive koji, osim u nečitkost, vode u nedosljednost već pri prvoj pojavi iste kratice za različiti pojam

• npr. SifMje za Mjeru i Mjestoizbjegavati preduge nazive, pr. Redni_broj_stavke_kalkulacije, zbog

• smanjenja čitljivosti• učinkovitosti ručnog kodiranja (pojava sintaksnih pogrešaka izazvanih

pogreškama u pisanju produžuje vrijeme ispravljanja i prevođenja)• mogućih ograničenja 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

434FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Smjernice za nazivlje

Nazivlje programskih varijablikoristiti smislene nazive

• izbjegavati "jednoslovčane" 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 značenjem sadržaja• pr. max za najveću vrijednost• pr. len za varijablu koja određuje duljinu

koristiti standardne prefikse/sufikse za srodne elemente/objekte• pr. frmOsoba ili fOsoba za zaslonsku masku• pr. repOsoba, rOsoba za izvješće …

koristiti kratice općih 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 olakšava snalaženje u programskom kodu i uklanja moguća "neodređenost" sadržaja

• pr. gCount, sCount, lCount, aCount

435FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Smjernice za nazivljeStandardizacija nazivlja

Pridjeljivanje naziva objektima modela podataka odražava se na nazive programskih varijabli. O tome treba voditi brigu već prilikom oblikovanja baze podataka.Poželjno je oblikovanje obaviti takvim alatom za modeliranje koji osim stvarnih naziva ima mogućnost evidentiranja kodova koji će se koristiti prilikom stvaranja BP za stvaranje objekata BP.Uporaba različitih notacija kao što su korištenje velikih i malih slova (BrojCipela), umetanje podvlake između dijelova od kojih je sastavljen pojam (broj_cipela) ili kombiniranje spomenutih notacija može se smatrati razlikom u stilu.

PrimjeriPascalCase - početno slovo svake riječi u imenu je veliko slovo

• npr. BackColor• koristi se kod imenovanja prostora imena, razreda, sučelja, pobrojanih tipova,

postupaka i svojstava, static, public ili protected atributa • identifikator razreda može započeti znakom @

camelCase – početno slovo prve riječi u imenu je malo slovo, početna slova ostalih riječi u imenu su velika slova

• npr. backColor• koristi se kod zaštićenih atributa i lokalnih varijabli postupaka

Preporuke• Imena sučelja uobičajeno započinju slovom I• Koristiti imenice za imena razreda• Koristiti glagole za imena postupaka

436FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Smjernice za komentare

Programski komentaripaziti da komentari budu ažurni, tj. da odgovaraju stvarnom stanju ne pretjerivati u pisanju komentaraloš kôd bolje je iznova napisati, nego (bezuspješno) pojašnjavatikomentirati smisao naredbi (izbjegavati "prepričavanje")

Primjer, komentar u zaglavlju potprograma'*************************************************************'Function : FormatField'Purpose : Formats a field'Arguments:' Col Index of field' Value Value to format'Returns : True if successful'Created : K.Fertalj, V.Mornar, 24.04.96'Modified : K.Fertalj, V.Mornar, 24.04.96'*************************************************************Function FormatField(Col As Integer, Value As String) As Integer

Page 110: FER PIS Predavanja

437FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

'*************************************************************'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'...'*************************************************************

Smjernice za komentare

Primjer, komentar u zaglavlju modula

438FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

'#'Block Out 22.09.2000 by K'#'Ellerman - "already changed by" request'@ 'reset Status and Flags for imported ads'@ SQL = "UPDATE AD SET NewStatus=Status, NewCDFlag=CDFlag, " & _'@ " NewNPFlag=NPFlag, UpdatedOnServer=True"'@ If MinImportedAdSN > 0 Then'@ SQL = SQL & " WHERE Ad.SN > " & MinImportedAdSN'@ End If'@ daoExecute SQL, IIf(QuietMode, "", "Updating local flags...")'#'End Block Out 22.09.2000 by K

Smjernice za komentare

Primjer, komentar programskog slijeda i retkovni komentar

Primjer, blok komentar

hFile = FtpFindFirstFileA(hservice, RemoteFileName, FindData, 0, 0)If hFile = 0 Then

'15.06.2000 by K'enum FTP files to compare Case-InsensitiveDim bFile As Long, FoundFile As StringFindData.cFileName = String(MAX_PATH, 0)hFile = FtpFindFirstFileA(hservice, "*.*", FindData, 0, 0)If hFile = 0 Then Exit Function 'empty directory, 05.03.2001 by K

439FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programski standardi i preporuke

Na početku izrade treba uspostaviti standarde kodiranja, a odabrani stil zatim dosljedno primjenjivati!

Primjeri: \Izrada\CodeConventionsPrimjer: MSDN "Hungarian notation"

440FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programski standardi i preporuke

Tehnika i stil programiranjaeksplicitno deklarirati programske varijable izbjegavati programske varijable općeg tipapostaviti početne vrijednosti varijabli prije uporabeugraditi podrazumijevane (default) vrijednosti ulaznih podatakaprovjeravati zahtijevanost i valjanost ulaznih podatakadosljedno formatirati podatkeolakšati ispravljanje neispravnih ulaznih podatakapripaziti na granične vrijednosti podataka, indeksiranih varijabli ...provjeriti moguće numeričke pogreške (10.0 * 0.1 nije uvijek 1.0)izbjegavati usporedbu na jednakost brojeva s pomičnim zarezom

Page 111: FER PIS Predavanja

441FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programski standardi i preporuke

Tehnika i stil programiranjakoristiti zagrade radi naglašavanja redoslijeda izračunavanja izraza presložiti i pojednostavniti nerazumljive izrazeizbjegavati nepotrebna grananjaizbjegavati trikove (ne žrtvovati jasnoću radi "efikasnosti")ponavljajuće blokove i izraze zamijeniti potprogramimarekurziju koristiti samo za rekurzivne strukture podatakaprvo napraviti jasno i ispravno rješenje, a zatim brzo rješenjeneučinkoviti kôd ne usavršavati, nego naći bolji algoritamrutinski posao i jednostavnu optimizaciju prepustiti prevoditeljunakon pronađene i ispravljene pogreške provjeriti ima li ih jošloš kôd bolje je napisati ponovno, nego ga popravljati ("krpati")nedovoljno općenita rješenja bolje je reorganizirati, nego ih prilagođavati radi višekratnog korištenja kodirati s osloncem na programske knjižnice

442FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Programski standardi i preporuke

Programske knjižnicePrije početka kodiranja treba pripremiti programske knjižnice s funkcijama grupiranim po namjeni

• funkcije za rad s općim tipovima podataka (npr. nizovi znakova i datumi)• funkcije za rad s podacima u bazi podataka (npr. funkcije za upravljanje

transakcijama i provjeru statusa izvedenih upita)• funkcije sučelja (npr. sustav izbornika, poruka i pomoći)• funkcije za održavanje baze podataka (npr. provjera konzistentnosti

podataka i izrada rezervnih kopija)• funkcije za administriranje vanjskih uređaja (npr. terminali i pisači)• programski dio sustava zaštite (npr. definiranje programskih modula,

funkcija i korisnika te rukovanje pravima pristupa programima i podacima)

Grupiranje funkcija sučelja te poruka i tekstova pomoći pomaže kod promjene kodne stranice ili u slučaju potrebe za prijevodom na neki drugi jezik, kada sve tekstove treba odjednom mijenjati.

Provjera ispravnosti

444FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Provjera ispravnostiTestiranje programa, provjeravanje, ispitivanje programa

provjera programa izvođenjem, uz uporabu ispitnih podataka te analizom rezultata obradetestiranje i ispravljanje pogrešaka mora se obavljati redoslijedom kojim su moduli kodirani, uobičajeno s vrha prema doljecilj testiranja na pogreške je utvrđivanje pogrešaka odnosno nedostataka unutarprograma

• uspješan test je onaj test koji dokaže postojanje pogreškeNačini provjere

strukturalno (white-box, clear box testing)• provjera kako cjelina radi• probni slučajevi izvode se uvidom u programski kôd (inspekcija koda)• provode programeri

funkcionalno (black-box testing)• provjera što cjelina radi, to jest da li zadovoljava zahtjeve• probni slučajevi izvode se iz specifikacija funkcija• provodi osoblje proizvođača ili korisnici

Verifikacija - ovjera ispravnostidokazivanje da je faza dobro provedena ili da je proizvod dobro napravljen, tj. da odgovara specifikaciji zahtjeva

Validacija - potvrda valjanostikojom se utvrđuje da je napravljen pravi proizvod, koji odgovara korisniku-namjeni

Page 112: FER PIS Predavanja

445FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste testiranja

Testiranje okrajaka (stub testing, unit testing)testiranje upravljačkih struktura i vrijednosti sadržanih u koduispitivanje pojedinačnih cjelina ( Proceduralno programiranje)nedovršeni elementi mogu se simulirati ( odresci i pogonski moduli)

Testiranje komponenti (module testing)Ispitivanje pojedinih programskih komponentiprovodi razvojnik komponente (postoje iznimke za kritične sustave)testovi nastaju iz iskustva te osobe

446FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste testiranjaIntegracijska provjera (integration testing)

Ispitivanje grupa komponenti koje integrirane čine cijeli sustav ili neki njegov dioprovjere

• test korisničkog sučelja – provjera svake funkcije sučelja• test slučajeva korištenja – provjera svakog pojedinačnog slučaja• test toka podataka – provjera procesa korak-po-korak• test sučelja sustava – provjera prijenosa podataka između sustava

ispitivanje provodi nezavisni tim za testiranjetestovi su zasnovani na specifikaciji sustava

Provjera sustava (system testing)provjera rada sustava kao cjeline, kojom se osigurava da svi nezavisno razvijeni aplikacijski programi rade ispravno te sukladno specifikacijamaprovjere

• Funkcionalno testiranje – provjera funkcionalnosti prema zahtjevima• Testiranje performanci – provjera nefunkcionalnih zahtjeva

– stress – verifikacija velikog broja simultanih pristupa– volume – test na količinu podataka, složenost algoritama, fragmentaciju– security – provjera prava pristupa– timing – brzina odziva– recovery – mogućnost oporavka pri “forsiranom” padu sustava

• Testiranje dokumentacije – provjera korisničke dokumentacije i primjera

447FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste testiranja

Test prihvatljivosti (acceptance testing)test sustava kojim se dokazuje da proizvod zadovoljava korisničke zahtjeve i potrebe organizacije te uvjete pod kojima ga je naručitelj spreman preuzetiiscrpan i konačan test nad stvarnim podacimaAlfa-testiranje (alpha testing) - verifikacijsko

• probna uporaba koju provode korisnici kod izvođača• simulacija stvarnog okruženja• traženje pogrešaka i propusta

Beta-testiranje (beta testing) – validacijsko• provode korisnici kod sebe, bez nazočnosti izvođača• provjera u stvarnim uvjetima

– performance sustava– vršna opterećenja– provjera upotrebljivosti i lakoće uporabe– metode i procedure– izrada rezervnih kopija i oporavak sustava

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

448FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Plan testiranja

Plan testiranjatestiranje mora biti sustavno, prema unaprijed napravljenom planu koji sadrži

• 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• ponašanje programa (npr. neregularni završetak rada, neispravni podaci,

pogrešan prikaz podataka), po potrebi očekivani rezultatPrimjeri: \Izrada\ObrazacZaTest

Preporuke za provjeru u kojoj sudjeluju poznati korisniciProvjeru obavlja ogledna skupina krajnjih korisnika koja, koristeći napravljena rješenja, nastoji obaviti svoje svakodnevne poslove.Po želji krajnji korisnik dodatno iznosi svoja zapažanja ili prijedloge.Primjedbe se prikupljaju dnevno a pogreške uklanjaju po mogućnosti istog dana.Prikupljeni dodatni zahtjevi se procjenjuju te se izrađuje lista prioriteta ugradnje. Nerealni i preveliki zahtjevi se odbacuju ili se planira njihova naknadna ugradnja.

Page 113: FER PIS Predavanja

449FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer obrasca za test

Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design,John Wiley & Sons, 2000

450FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Raspodjela broja otkrivenih pogrešaka

Slika: A.Dennis & B. Haley Wixom, Systems Analysis and Design,John Wiley & Sons, 2000

Izrada dokumentacije

452FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Dokumentiranje

Projektna dokumentacijadokumentira razvoj i proizvode pojedinih faza

Primjer, dokumentacija po IEEE standardu 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

Page 114: FER PIS Predavanja

453FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

DokumentiranjeKorisnička dokumentacija

pomoć korisnicima pri uporabi sustavamora biti prilagođena korisnicima različitog iskustva

upute za uporabu (user manual)instalacijski priručnik (installations manual)detaljni priručnik (reference manual)upute za vježbu (training guide, tutorial)podsjetnici ili kratke upute (quick reference guide, pocket guide, cue cards)

broj, vrsta i obujam dokumenata ovise o aplikaciji

454FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

DokumentiranjeTehnička dokumentacija

namijenjena tehničkom osobljupotrebna za razumijevanje, izradu i održavanje sustava

upravljanje projektom i konfiguracijom sustava• plan razvoja• specifikacija dizajna• opis arhitekture sustava • specifikacija sučelja prema drugim sustavima

programska dokumentacija• izvorni kôd• opis baze podataka• probni podaci i rezultati provjere• dnevnik promjena• programski priručnici

instalacijski priručnik• opis instalacijske procedure

upute za rukovanje i održavanje (operations manual)• opis procedura za pokretanje/zaustavljanje (startup/shutdown)• opis izrade rezervnih kopija i vraćanja podataka (backup, restore) • opis postupka ponovnog pokretanja i oporavka (restart, recovery)

455FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za izradu dokumentacije

Izrada dokumentacijeizrada kvalitetne dokumentacije zahtijeva angažman i do nekoliko sati (3) po stranici mora biti planirana i započeti dovoljno rano, prije završetka kodiranja i testiranjaprije objavljivanja treba provjeriti/dokazati da odgovara namjeniprilikom izrade treba pripaziti na

• izbjegavati ponavljanje i neodređenost• Koristiti standardizirane dokumente

Između ostalog, dobra dokumentacija mora:biti napisana s gledišta čitatelja, a ne pisca

• konzistentnost pojmova, jednostavnost izraza, kratka poglavljabiti dobro ilustririrana (slikama zaslona i njihovog redoslijeda)opisivati postupak rada, a ne samo sadržaj zaslona

• npr. redoslijed popunjavanja šifrarnika, određivanje lozinki i prava pristupa, radne procedure

bilježiti načela (argumente odluka)odražavati stvarno stanje opreme u primjeni, tj. biti ažurnauključivati rječnik korištenih izraza

456FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za izradu dokumentacije

Nepostojanje dokumentacije može biti razlogom za prestanak korištenja aplikacija, naročito kada autor ili autori prestanu biti raspoloživima.

Preporuča se odvojeno pohranjivati odgovarajuću inačicu programske opreme (alata) kojom je proizvod napravljen.

Primjeri: \Dokumentacija

Internet adresehttp://www.rspa.com/docs/index.htmlhttp://www.construx.com/doc.htm

Page 115: FER PIS Predavanja

Primjena i održavanje

458FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uvođenje u primjenu

Uvođenje uključuje instaliranje opreme, završni prijenos podataka te prelazak na novi način rada. Aktivnosti i preduvjeti

• Test sustava– vidi Izrada\Testiranje

• Izrada plana konverzije (migracije) za uspješan prijelaz– način uvođenja, poslovi, odgovornosti, resursi i redoslijed izvedbe– plan testa prihvatljivosti, ako nije obavljen ranije

• Instalacija opreme, aplikacija i baze (baza) podataka novog sustava– inicijalni unos podataka– prijenos postojećih podataka uz konverziju– uspostava sustava zaštite i održavanja

• Poduka tehničkog osoblja i krajnjih korisnika– verbalna poduka– raspodjela dokumentacije

• Konverzija sustava– prelazak na novi način rada– evaluacija projekta i sustava

459FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uvođenje u primjenu

Način uvođenjaIzravno uvođenje (direct installation, abrupt cutover)

• početak rada novog sustava uz istovremeni prestanak rada starog sustava

• provodi se na određeni dan, uobičajeno datum završetka poslovnog razdoblja, po mogućnosti na kraju tjedna

• mogući problemi: pojava pogrešaka koje nisu bile uočene tijekom testiranja, nepredviđeno preopterećenje opreme u punom pogonu

• nedostatak: neposredna izloženost korisnika pogreškama sustava

Paralelno uvođenje (parallel installation, parallel conversion)• istovremeni rad starog i novog sustava tako dugo dok se ne pokaže da

novi sustav ispravno radi i da su se korisnici navikli na novi način rada• bitno manje rizičan postupak u odnosu na izravno uvođenje• nedostatak: potreba za dvostrukom obradom istih podataka, u starom i u

novom novom sustavu → otpor korisnika

460FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uvođenje u primjenu

Korisnici mogu biti raspršeni na različitim lokacijamaProbno uvođenje (pilot installation, location conversion)

• izravno/paralelno uvođenje sustava na jednoj lokaciji, a zatim i na ostalim lokacijama, nakon što se utvrdi da sustav ispravno radi

Postupno uvođenje (phased)• uvođenje grupa lokacija

Istovremeno (simultaneous conversion)• istovremeno uvođenje na svim lokacijama

Modularno uvođenje (modular installation, staged conversion)postupna zamjena starog sustava novim, uvođenjem po dijelovimaizvedivo samo ako je moguć istovremeni rad oba (nekompletna) sustavamogući problemi: potreba za spojnim programima, tj premošćivanjem

Page 116: FER PIS Predavanja

461FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uvođenje u primjenu

Karakteristike različitih načina uvođenja u primjenu

Uvođenje Rizik Trošak Trajanje Izravno visok niski (ako uspije) kratko (ako uspije) Paralelno nizak visoki dugo Ostalo srednji srednji varijabilno

462FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poduka

Poduka korisnikatehničko osobljekranji korisnici

Sadržaj podukePoduka krajnjih korisnika može uključivati:

• opću informatičku kulturu (npr. uporaba osobnih računala)• funkcije sustava i način uporabe sustava, to jest korištenje aplikacija• poduku iz posebnih znanja potrebnih za obavljanje osnovne djelatnosti

(npr. operacijska istraživanja, projektiranje primjenom računala)

Poduka tehničkog osoblja može uključivati:• operacijski sustav i uslužne programe• administriranje baze podataka• programske jezike i pomagala

463FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poduka

Redoslijed podukeprvo se obavlja poduka tehničkog osoblja koje će održavati sustav i pružati potporu krajnjim korisnicima, da bi se mogla pokrenuti primjenazatim bi trebalo obrazovati (niže) rukovodstvo, da bi se stekla njegova potpora pri poduci ostalih korisnika te tijekom primjeneslijedi školovanje (krajnjih) korisnika, koje treba prilagoditi funkcijama koje oni obavljaju u svakodnevnom radu

Postupci i tehnike poduketečajeviprobni rad fazi provjere rada sustavakvalitetni sustav interaktivne pomoćiprikladna dokumentacijapotpora tijekom primjene

Poduku mogu obaviti djelatnici naručitelja (npr. odjel informatike ili grupa za to odabranih i osposobljenih djelatnika) ili vanjski izvođači poduke.

Održavanje

Page 117: FER PIS Predavanja

465FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Održavanje i nadgradnja

Održavanje je trajna aktivnost koja započinje odmah po uvođenju u primjenu.

Bez obzira kako dobro je sustav dizajniran, konstruiran i testiran pogreške će se neizbježno pojaviti!

Ispravljanje pogrešaka u primjeni naziva se održavanjem sustava ili održavanjem programa.Održavanje samo po sebi ne podrazumijeva ugradnju poboljšanja ili novih mogućnosti, ali se ona uobičajeno provodi.

Tijekom primjene i održavanja obavlja se analiza dodatnih zahtjeva, planiranje i priprema aktivnosti koje slijede te tako započinje novi ciklus razvoja.

Primjeri: \Primjena

466FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Održavanje sustava, servisiranje sustava

preventivnopodrazumijeva zaštitu od mogućih problemaredovita izrada sigurnosnih kopija (backup)obavlja se periodički (dnevno, tjedno, mjesečno)

korektivnopodrazumijeva popravak nakon što se problem pojaviovraćanje podataka iz sigurnosne kopije (restore)uklanjanje uzroka pogreške (ispravljanje programa)

adaptivnoprilagodba funkcionalnosti (načina posluživanja)prilagodba strukture (promjene strukture podataka)poboljšanje performanci (optimizacija programa)

perfektivnonadgradnja sustava da bi se riješili novi problemiugradnja novih mogućnosti (features)

467FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uklanjanje pogrešaka i izmjene programa

Definicija i validacija problemauočavanje uzroka pogrešaka u primjeni (bugova)

• problem reprodukcije pogreškeproblem različitog tumačenja pogreške

• nerazumijevanje ili pogrešno korištenje programa• nepostojanje funkcije čija ugradnja nije bila planirana nije bug!

Ocjenjivanje sposobnosti (benchmarking)Održavanje može imati neželjene popratne učinke koji utječu na funkcionalnost i performance aplikacija.Prije izmjene programa, programi bi trebali biti izmjereni da se utvrdi osnovica (baseline) prema kojoj će se ocijeniti izmijenjeni programi.

Editiranje i testiranjepoznavanje programa upravljanje verzijama (version control)

• različite inačice u primjeni kod različitih korisnika• mogućnost povratka na prethodnu inačicu ako je ta bila bolja

regresijsko testiranje – ponavljanje svih testova da bi se provjerilo da izmjene nisu uzrokovale nove defekte

Ažuriranje dokumentacije468FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poboljšanje sustava i reinženjerstvo

Poboljšanje sustava (system enhancement)dorada i nadgradnja sustava prema novim zahtjevimaanaliza novih zahtjeva i povratak u odgovarajuću fazu (analiza, dizajn, izrada) većina novih zahtjeva uzrokovana je promjenama u poslovanju, potrebama za dodatnim informacijama ili novim idejama (željama korisnika)

Reinženjerstvo (reengineering)neke aplikacije teško je održavati (npr. uslijed zastarjelosti tehnologije), a trošak održavanja pojedinih aplikacija može doseći trošak izrade novihreinženjerstvo - adaptacija s ciljem smanjenja troškova održavanja

• prilagodba većim promjenama tehnologije• ispravak sustava prije nego što dođe do mogućeg prekida u radu• ispravak sustava koji će biti lakše popraviti ako dođe do prekida

Page 118: FER PIS Predavanja

469FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Poboljšanje sustava i reinženjerstvo

Pisanje jednostavnih novih programajednostavni program – koji samo koristi postojeće podatke

• primjeri: pretraživanje i pregledavanje podataka, generiranje izvješćanajčešće i najsigurnije promjene

Restukturiranje datoteka i baza podataka promjena strukture u istoj bazi podatakaprelazak na novu tehnologiju upravljanja podacima – veliki rizik

Reinženjerstvo programareorganizacija koda – restrukturiranje organizacije modula ili programske logikekonverzija koda – prelazak na novi programski jezikrezanje koda, odsijecanje koda (slicing) – izdvajanje dijelova programa radi izrade odvojenog programa ili potprograma

Poboljšanja i reinženjerstvo moraju biti planski provedenimetrika programske podrške (software metrics) – mjerenje programaproračun troškova

470FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

1.01.2

1.1

1.2

1.3

1.2

1.01.1

1.0

1.0

Utilities.java

MainFrame.java

LICENCE.TXT

README.TXT

Configuration CFG1

1.2

1.1

1.1

1.0

1.1

1.01.11.2

requirementsspecification

class diagramsource code

userdocumentation

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 određenoj točki životnog ciklusa

471FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Verzije konfiguracije

verzija, inačica (version) – određeno izdanje (issue, release) proizvoda objava, isporuka (release) – originalna verzija u primjeni, npr. zadnja v2.0revizija (revision) – ona koja se koristi umjesto originalne, podrazumijeva izmjene u određenim vremenskim intervalima, npr. V1.2varijanta (variant) – alternativa originalu (hardverska platforma, različiti jezik), živi paralelno s njim, npr. v1.1.2.1

V 1.1.4.1

V 1.1

V 1.1.2.2

V 1.2

V 1.1.2.1

V 2.0

V 1.1.4.2

V 1.0

472FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljanje verzijama (version control)

Page 119: FER PIS Predavanja

473FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljanje verzijama (version control)

Modaliteti izgradnje

Najčešće međufaza između Analize i Oblikovanja

475FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vlastiti razvoj

Vlastiti razvoj (Insourcing)Varijante

• Razvoj vlastitim informatičkim snagama (in-house), koji može sadržavati osposobljavanje i angažiranje netehničkog osoblja

• Razvoj unajmljenim osobljem povremeno ili dugoročno (buy-in, preferredsupplier), npr. PBZ

Prednosti• fleksibilnost i kreativnost• povećanje stručnosti vlastitog osoblja

Nedostaci • zahtijeva značajno vrijeme i napor skuplje, dugotrajnije• može povećati gomilanje zaostalog posla

razvoj vlastitim snagama ima smislakada se radi o programskoj podršci koja je posebnost organizacije, takva da ne postoje gotova rješenja na tržištu ili takva da organizacija s pomoću nje postiže komparativnu prednost u odnosu na konkurencijukada postoje dodatni ili posebni razlozi kao što su povećana tajnost podataka i poslovnih procesa ili povećana zaštita IS

476FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vanjski razvojVanjski razvoj (Outsourcing)

najam usluge razvoja informacijskog sustava ili njegovih dijelova• izobrazba djelatnika informatičke 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 složenih poslovnih funkcija

Varijante:• Ugovoreni razvoj - ugovara se isporuka gotovog proizvoda (contract out)• Dugoročna suradnja s isporučiteljem ili izdvajanje vlastitog informatičkog odjela u

preferiranog izvođača (preferred contractor) – strateškog partnera (pr. Agencija)Prednosti

• IS ili njegovi dijelovi izrađuju se po mjeri naručitelja– sustav je prilagođen organizaciji/poslovanju– po mogućnosti treba istovremeno poboljšati organizaciju/poslovanje

• razvoj podrazumijeva dugotrajan postupak i sukladno visoku cijenuNedostaci i rizici

• gubitak povjerljivih informacija• gubitak nadzora nad sadašnjim i/ili budućim razvojem (zavisnost o dobavljaču)• gubitak vlastite stručnosti

Nužno je da upravljanje projektom informatizacije na sebe preuzme vlastito kompetentno osoblje koje ima mogućnost odlučivanja.

Page 120: FER PIS Predavanja

477FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Nabava gotovih aplikacija

Nabava gotovih programskih proizvodaCOTS = Commercial-Of-The-Shelf software

• u pravilu ne ispunjavanju poslovne potrebe u potpunosti• poželjno je da se mogu prilagoditi potrebama

Aplikacijski paketiprogramski paketi za uredsko poslovanje (office automation),

• npr. Microsoft Officeprogrami za upravljanje dokumentima (document management),

• npr. Lotus Dominospecijalističke aplikacije za određene namjene

Sustavi za upravljanje poslovanjem Enterprise Resource Planning (ERP) systems

• npr. SAP, BAAN, J.D. Edvards, Peoplesoftcjeloviti sustavi za potporu poslovanju

• financijsko poslovanje (accounting),• proizvodnja (manufacturing),• robno-materijalno poslovanje (material management/distribution),• upravljanje ljudskim resursima i plaće (HR management, payroll).

478FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Nabava poslovnih sustavaNabavka i prilagodba postojećih domaćih poslovnih sustava/aplikacija

prednosti:• usklađenost našim uvjetima, npr. zakonima• zahtijeva prvenstveno prilagodbu organizaciji/poslovanju

nedostatci• nepostojanje ili manjkavost pojedinih komponenti, mjestimična tehnološka zastarjelost• prekapacitiranost dobavljača

modaliteti:• otkup izvornog koda i samostalna dorada• kompletni outsourcing uz samostalno održavanje

Nabavka “gotovih” stranih poslovnih sustavaprednosti

• raskošna funkcionalnost• kompatibilnost sa svjetskim poslovnim standardima

nedostatci• neprilagođenost domaćim uvjetima i konkretnoj organizaciji/poslovanju - zahtijeva

istovremenu prilagodbu programske opreme i promjenu organizacije/poslovanja• prilagodba se obavlja slično razvoju - rješenja gube moguću komparativnu prednost (brzinu i

lakoću primjene)• (glomazni) paketi mogu zahtijevati angažman velikog broja konzultanata - vrlo visoka cijena

izrademodaliteti

• prilagodba vlastitim snagama uz savjetništvo i pomoć dobavljača

479FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Kriteriji za donošenje odluke o nabavi

Opći kriteriji za donošenje odlukecijenafunkcionalnost, kapacitet, brzina, broj korisnikamogućnost poduke i trajne potpore kredibilitet i održivost dobavljača na tržištu (referencama)elastičnost, tj. mogućnost prilagodbe i prepravki raspoloživost dokumentacije

Dodatni kriterijiOtvorenost sustava (Portabilnost, interoperabilnost)Tehničke mogućnosti (Client-Server, OLTP, OLAP, ...)…tehničke konzultacije,održavanje (dinamika razvoja i mogućnosti nabavke novih verzija),promptno otklanjanje problema,ponuda gotovih aplikacija,pomoć u razvoju vlastitih aplikacija

480FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Narudžba izvedbenog programskog koda

Prednosti narudžbe izvedbenog kodaIzvedbeni kôd je jeftiniji.Brigu i odgovornost o njegovom održavanju preuzima isporučitelj, uz izuzetak nekih opće primjenjivih komercijalnih programa. Ne mora se kupiti (skupi) razvojni programski alat u kojem je programska oprema pisana.

Mane izvedbenog koda s obzirom na korisnika su sljedećeIzvedbeni kôd podrazumijeva potpunu zavisnost od isporučitelja.Ne postoji mogućnost prilagodbe specifičnim vlastitim potrebama, osim putem posebnog dogovora s isporučiteljem. Dodatna prilagodba lako može postati predmetom ucjene.Ne postoji mogućnost razvoja programske opreme vlastitim snagama.

Page 121: FER PIS Predavanja

481FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Narudžba izvornog programskog koda

Prednosti nabavke izvornog kodaIzvorni kôd omogućuje stalni razvoj i praćenje vlastitih posebnosti, što se može pokazati kao prednost u odnosu na konkurenciju.Mogućnost prilagodbe vlastitim potrebama omogućuje elastičnost pri promjenama organizacije poslovanja.Nema bojazni da će nakon prve potrebne izmjene prestati uporaba PO zbog toga što isporučitelj nije trenutno dostupan, postavlja nerazumne uvjete ili je u međuvremenu nestao sa tržišta.Uvidom u kvalitetna gotova rješenja pomaže se razvoju vlastitih informatičkih djelatnika.

Mane narudžbe izvornog kodaIzvorni kôd je višestruko skuplji od izvedbenog.Potrebna je razvojna inačica programskog alata u kojem je PO napisana.Naručitelj se izlaže kušnji da nekompetentno mijenja nabavljeni izvorni kôd, onesposobi aplikaciju za rad, a izgubi pravo na održavanje.Poskupljuje se održavanje ukoliko se radi o programskoj opremi podložnoj promjenama.

Sniženje cijene izvornog koda može se postići automatizacijom kodiranja, uporabom generatora izvornog koda.

482FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke korisnicima

Izvedbeni kôd treba preporučiti ondakad se radi o standardnim, masovno prodavanim aplikacijamakad korisnik nema vlastite informatičke stručnjakekad se radi o visokostručnim aplikacijama koje se neće mnogo mijenjati, a korisnik se nema namjeru baviti detaljima te strukekad korisnik nema novaca ili želje za vlastiti informatički razvoj

Izvorni kôd treba preporučiti ondakad programska oprema predstavlja stratešku investicijukad korisnik raspolaže kompetentnim informatičarima ili ima motiva razvijati vlastitu informatičku djelatnostkad isporučitelj ne može preuzeti obvezu održavanja ili ne može jamčiti da će ostati na tržištukad na tržištu ne postoji PO koja odgovara potrebama, ne može se povoljno kupiti slična, a korisnik raspolaže vlastitim informatičkim snagama dovoljnim za pisanje nove

483FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Odabir rješenja

Određivanje mogućih rješenjaIdentifikacija rješenja na temelju poslovnih zahtjeva postavljenih tijekom analizeUlazi: specifikacija računalne opreme i programske podrške te odabrana tehnološka arhitekturaIzlazi: moguća rješenja novog sustava i njihove karakteristike

Analiza izvodljivosti alternativnih rješenjaProcjena alternativa s obzirom na tehničku, operativnu, ekonomsku i vremensku izvodljivostUlazi: karakteristike mogućih rješenja, karakteristike i cijene hardvera i softvera, reference i uvjeti dobavljačaIzlazi: analiza izvodljivosti za svako moguće rješenje

Prijedlog rješenja sustava koje će se oblikovati i ugraditiOdabir onog rješenja koje ima najbolju ukupnu kombinaciju izvodljivostiUlazi: napravljena analiza izvodljivosti, plan projekta, procjena veličine projektaIzlazi: prijedlog sustava s usvojenim promjenama dizajna predloženog sustava

484FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: moguća rješenja i njihove karakteristike

-8000 kn8000 knCijena preporučenog računala (plus monitor, pisač i modem)

Cijena operacijskog sustava i licenci

3500 kn2200 kn4000 kn3500 knCijena min. potrebnog računala (plus monitor i pisač)

2000 kn500 kn100 kn1500 knCijena paketa

10/944/937/969/95Datum prve instalacije

871521027Broj instaliranih paketa

Preporučeno računalo

…………Min. potrebno računalo

vrlo malanevelikavelikaUpotreba konfiguracije za druge poslove

dadanedaArhiviranje podataka

1-2 dana / 1 tjedan1dan / 2 tjedna1 dan / 1 mjesec1-2 dana / 2 tjednaKrivulja učenja

nenenedaRad u mreži

nenedada Rad s različitim pisačima

velikavelikasrednjasrednjaBrzina ispisa računa

nenesrednjadobraIntegracija s drugim aplikacijama

velikemalevrlo malevelikeMogućnosti aplikacije

dobranenedobraDokumentacija (papirnata)

nenenedaIntegrirani sustav pomoći (on-line help)

tekstovnotekstovnografičkografičkoKorisničko sučelje

nedaneneRaspoloživ izvorni kod

ClarionCliperC++Visual BasicProgramski jezik

srednjamalavelikavelikaBrzina pretraživanja i dohvata podatka

MySQLdBase IIIParadox 8Access 2Baza podataka

LinuxDosWindowsWindowsOperacijski sustav

ZZ VideoVideoVideo BossSuperVideoKarakteristike

Page 122: FER PIS Predavanja

485FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ocjenjivanje kriterija

Na temelju opisa karakteristika ne može sa sigurnošću procijenitikoji je sustav najbolji.

Koristi se sustav bodovanja da bi se usporedio značaj različitih kriterija. Weighted Scoring Model

Odredi se težinski faktor za svaki kriterij (npr. 0-3).Pojedinačnom kriteriju svakog od rješenja dodjeljuje se ocjena iz dogovorenog raspona (npr. 0-5), pomnožena s odgovarajućom težinom.Dobiveni pojedinačni rezultati sumiraju se za svako od rješenja.

Što učiniti kada su sustavi (pod)jednako bodovani ?Što učiniti ako pojedino svojstvo ima više podsvojstava ?

∑=

=n

jjiji wsS

1

gdje su

Si = ukupna vrijednost i-tog rješenja

sij = vrijednost j-tog kriterija za i-to rješenje

wj = važnost ili težina j-tog kriterija

486FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer: analiza izvodljivosti za moguća rješenja

12497124171Ukupno bodova:

9315562933Cijena računala i sistemskog softvera

4284105422Cijena paketa

555533331Datum prve instalacije

555522331Broj instaliranih paketa

93001551553Upotreba konfiguracije za druge poslove

105105001052Arhiviranje podataka

335555331Vrijeme obuke korisnika

000000551Rad u mreži

00001551553Rad s različitim pisačima

205205123824Brzina ispisa računa

0000931243Integracija s drugim aplikacijama

20582412054Mogućnosti aplikacije

840000842Dokumentacija (papirnata)

0000001052Integrirani sustav pomoći (on-line help)

63631051052Korisničko sučelje

005500001Raspoloživ izvorni kod

222255441Programski jezik

164411642054Brzina pretraživanja i dohvata podatka

112244441Baza podataka

632184842Operacijski sustav

bodoviOcjenaBodoviOcjenaBodoviOcjenaBodoviOcjenaKarakteristike:

ZZ VideoVideoVideo BossSuperVideoTežinskifaktor

487FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izbor dobavljača

Definiranje kriterija i opcijaUlazi: specifikacije zahtjeva na programsku podršku i računalnu opremu

• funkcionalnost, dodatna svojstva, ključni parametri performanciIzlazi: lista potencijalnih dobavljača, proizvoda ili usluga te kriteriji za odabir

Prikupljanje ponuda, natječajzahtjev za reference (request for quotations - RFQ)

• kada je određen proizvod koji se može nabaviti od različitih dobavljača -prikupljaju se informacije o konfiguracijama, cijenama, održavanju

zahtjev za ponude (request for proposals - RFP)• kada postoje različiti dobavljači i/ili proizvodi, a želi se odabrati najbolje

rješenje - prikupljaju se ponude koje su skup "referenci"Odabir ponuda

provjera sadržaja ponudaizrada rang liste, poželjno odvojenim ocjenjivanjem pojedinačnih ponudaodabir objektivno najboljeg ponuđača

• To se nažalost vrlo teško uklapa u zakonske odredbe po kojima treba točno specificirati što se želi a mora se kupiti najjeftinije.

488FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ugovaranje i realizacija posla

Ugovaranje poslasklapanje ugovora koji definira uvjete suradnje, isporuke i naplate, integracije s postojećim sustavom, održavanja i slično

Ugovori se mogu raskinuti ili ne ispuniti kako je bilo zamišljenoIzvoditelj projekta treba biti stimuliran proporcionalno ostvarenoj, u praksi dokazanoj i od korisnika prihvaćenoj funkcionalnosti.

Neke cijene usluga u Hrvatskoj (okvirno, razni izvođači)programiranje: 200, 260, 380 HRK/h, prog. dugotrajno: 3000 HRK/dan, 12000 HRK/tjedan, 40000 HRK/mj.tečaj: 400, 750, … 1200 HRK/h, 7500 HRK/danpoduka korisnika: 400 HRK/hsavjet: 220, 300, 450, 600, … HRK/h, 7500 HRK/dan

Neke cijene softvera u Hrvatskoj…

Page 123: FER PIS Predavanja

Modeli razvoja i metodologije

490FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vodopadni (waterfall) model

Klasični vodopadni modelslijedno napredovanje iz faze u fazunisu dozvoljene naknadne promjene rezultata prethodnih fazaprimjeren velikim projektima (investicijama)prikladan za dobro definirano okruženje, gdje postoje razrađene procedure ručne obrade ili računalski sustav koji treba unaprijediti

Nedostaci• problem u slučaju pogrešaka ili novih/promijenjenih zahtjeva• uvođenje prema gore (bottom up): moduli, podsustavi, sustav• sustav nije upotrebljiv dok nije gotov u potpunosti• problem predodžbe o produktu na temelju pisane specifikacije

491FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vodopadni (waterfall) model

Analiza

Oblikovanje

Izrada

Evaluacija

Primjena

Analiza

Oblikovanje

Izrada

Evaluacija

Primjena

492FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vodopadni (waterfall) model

Pseudostrukturni vodopadni modelpovratna veza i mogućnost promjene rezultata prethodnih fazauvođenje prema dolje: moduli na višim, pa na nižim razinamaprimjena tehnika strukturiranog programiranja

Strukturni (radikalni)aktivnosti različitih faza mogu se obavljati istovremenokorištenje rječnika podataka, 4GL i generatora aplikacijaprikladan kada se unaprijed ne zna konačni izgled sustavamora nastati (papirnati) model sustava

Page 124: FER PIS Predavanja

493FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

“V” model

Validacija

Verifikacija

definiraju se rezultati (“proizvodi”) pojedinih faza koji se prosljeđuju u slijedeće fazeodređuju se rezultati kojima se testiraju elementi IS na različitim stupnjevima razvoja

AnalizaTest

prihvatljivosti

Specifikacijazahtjeva

Testirani sustav

Strukturno oblikovanje

Integracija sustava

Modelsustava

Testirani softver

Detaljno oblikovanje

Integracijamodula

Dizajnmodula

Testiranimoduli

Kodiranje i testiranje

Ogledni slučajevi

Ogledni slučajevi

Scenariji aplikacije

494FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Prototipski model razvoja

Prototip koji se radi da bi se isprobale neke mogućnostiModel oponašanja (mock-up, model u naravnoj veličini)

• jednoekranski ili višeekranski model kojim se prikazuje kako će izgledati dio sustava (npr. sučelje)

Istraživački model (research model) • istraživanje dijelova sustava kako bi se provjerile neke ključne postavke

(npr. provjera performanci određenog modula)Ugradbeni model (implementation model)

• traženje različitih načina na koje se sustav može izraditi (npr. koji sustav za upravljanje BP, programski jezik, računala…)

Prototip koji postupno, inkrementanlnom doradom -“bistrenjem”(stepwise refinement) postaje dio završnog IS

podrazumijeva iterativni pristup, obično korištenjem 4GLradni model (working model) daje se na uvid korisnikuomogućuje korisniku stvaranje slike o izgledu sustavakorisnik daje primjedbe za popravak i poboljšanjastječe se bolja slika o zahtjevima korisnikauklanjaju se moguća iznenađenja na kraju razvoja

495FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Brzo prototipiranje (rapid prototyping)funkcionalni prototip - zamjenom pravim rješenjima postaje radni sustavprikladno za male projekte (tzv. one-man project)Prednosti:

• iteracije promjena – korisnici se smiju predomisliti

• povećanje kreativnosti i brzine razvoja

Nedostaci:• “zaboravljanje” da prototip nije

pravi sustav • mogući neuspjeh zamjene

prototipa radnim sustavom• dokumentacija proizlazi iz

izrade, uz opasnost da pisane specifikacije nikad neće biti napravljene

• nemogućnost ispravne procjene i planiranja resursa

Radni sustav

Razvojprototipa

Dizajn prototipa

Određivanje zahtjeva

Izrada prototipa

496FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ograničeno/strukturirano (constrained prototyping)

izrada prototipa kao sredstvo određivanja zahtjevanefunkcionalni prototip (prikaz izgleda)u određenom trenutku se prekida i slijedi faza oblikovanja sustava

Page 125: FER PIS Predavanja

497FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Evolucijski model

Primjena IS mijenja pogled korisnika, a njegove potrebe se mijenjaju (rastu) tijekom primjene. Informacijski sustav raste s organizacijom koju podržava.Udruživanje brzog i ograničenog prototipiranja

izrada u inkrementalnim koracima, dovoljno malim da se mogu obaviti prototipskislijedovi razvojnih aktivnosti - svaki od slijedova vodi operabilnom proizvodu koji se isporučuje i generira daljnje zahtjeve

OblikovanjeAnaliza EvaluacijaIzrada

OblikovanjeAnaliza EvaluacijaIzrada

OblikovanjeAnaliza EvaluacijaIzrada

OblikovanjeAnaliza EvaluacijaIzrada

498FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Spiralni model

Na početku svake faze provodi se procjena rizika (risk analysis)nastoji se utvditi moguće rizike i razriješiti ih prije nastavka (uklanjanjem ili svođenjem na najmanju moguću mjeru)

U slučaju da je rizik prevelik, projekt se prekida.

Analiza rizika---------------------------

OBLIKOVANJE---------------------------

Verifikacija

Analiza rizika---------------------------

ANALIZA---------------------------

Verifikacija

Analiza rizika---------------------------

INTEGRACIJA---------------------------

Testiranje

Analiza rizika---------------------------

IZRADA---------------------------

Testiranje

PRIMJENA

499FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

1

1

1

1

2

2

2

2

3

3

3

4

4

4

4

kumulativni trošak

integracija

izrada

oblikovanje

analiza

Spiralni model

Spiralni prikazradijalna koordinata predstavlja kumulativni trošaksvaka petlja spirale od osi X predstavlja jednu fazu razvojafaza može biti realizirana slijedno, prototipski ili evolucijski odluka o nastavku razvoja donosi se prolaskom kroz os X

1. Analiza rizika, procjena alternativa2. Razvoj i verifikacija sljedećeg "produkta"3. Planiranje sljedeće faze4. Pregled - Određivanje ciljeva, alternativa i ograničenja

500FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Spiralni model

Page 126: FER PIS Predavanja

501FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Spiralni model

Primjeri rizika:rizik da isporučeni produkt neće odgovarati stvarnim zahtjevima

• izrada prototipa kao dio faze određivanja zahtjevarizik da će cijena izrade premašiti korist ostvarenu uporabom

• provođenje analize troškova-koristi (cost-benefit) prije provođenja svake pojedine faze

Primjena:interni projekti (naručitelj i izvođač iz iste organizacije) izgradnja velikih sustava (troškovi izrade malih sustava su mali)kada provođenje analize rizika ne predstavlja preveliki relativni trošak (npr. za projekte iznad 25 kUSD)

Analiza rizika može se provesti i za vanjske (ugovorene) projektenaručitelj je može provesti prije početka projekta da bi se osigurao od neuspjeha, primjerice prije potpisa ugovoraizvođači je mogu provesti tijekom izrade (primjerice radi procjene moguće uporabe novog alata)

502FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Metodologije

Metodologija (methodology) = metoda + idejni pristupKolekcija procedura, tehnika, alata i dokumentacijskih pomagala,potkrijepljenih filozofijom, koji potpomažu izgradnju informacijskog sustava[Avison & Fitzgerald, 1995]Skup načela izrade IS, koji se u određenoj situaciji svodi na metodu jedinstveno prikladnu toj situaciji [Checkland]razrađen "plan bitke" ili "kuharica" za postizanje željenog rezultata

Komponente metodologije• A methodology will consist of phases, themselves consisting of sub-

phases, 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 projektazadaci za svaki pojedini stadijizlazi (projektna dokumentacija)preporuke (vodič) uporabe odabranih tehnika i pomagalanačin upravljanja projektom i nadzora projekta

503FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uloga metodologija

Cilj metodologijaomogućiti sustavni postupak razvoja kojem će se moći pratiti napredakuspostaviti komunikaciju između sudionika uključenih u izgradnju IS (poslovodstvo, korisnici, analitičari, programeri …)osigurati skup tehnika koji će omogućiti da se zadaci izvršavaju na standardne i provjerene načineosigurati učinkovit nadzor sa ciljem uočavanja pogrešaka u ranim fazamaomogućiti elastične promjene poslovanja i tehnologije (npr. odvajanjem analize i oblikovanja)uokviriti razvojnu strategiju kojom će se ukloniti ad hoc rješavanje problemaodrediti ili ukazati kada i u kojoj mjeri je potrebno uključivanje korisnika, te poticati i omogućiti uključivanje korisnika kada se za to ukaže potrebaosigurati da se dovoljno pažnje posveti analizi poslovanja, čime će se osigurati izrada sustava koji odgovara poslovanju i zahtjevima korisnika

504FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uloga metodologija

Jeftinije je otkriti i popraviti pogrešku u ranim fazama, jer:lakše je popraviti dokumentaciju nego mijenjati programski kôdizmjene u kasnijim fazama zahtijevaju promjene rezultata prethodnih fazalakše je pronaći pogrešku tijekom faze u kojoj je nastala, nego tražiti je i popravljati na temelju posljedičnih učinaka primijećenih u kasnijim fazama

Relativno trajanje i cijena otkrivanja pogrešaka u različitim fazama

Cijena

Plan, Analiza, Oblikovanje, Izrada, Održavanje

M a in t en a nc e 6 7 %

In te gra t io n6 %

D e sign6 %

M o du leco d ing5%

M od u lete st in g7 %

P rob le m D e f3 %

R e qu ire m e n t s4 %

P la n n in g2 %

Page 127: FER PIS Predavanja

505FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pristup razvoju

Tijekom projektiranja IS izrađuju se uglavnom sve vrste modela, ali se razlikuje pristup razvoju pojedinih metoda (metodologija).Usmjerenost procesima (npr. SA/SD)

za korisnika jednostavniji pristupomogućuje opisivanje specifičnih funkcijaproblem određivanja razine dekompozicije (razine osnovnih procesa)nedovoljna pažnja modelu podataka, koja za posljedicu može imati neodgovarajući model baze podataka i otežanu integraciju aplikacija uslijed nekompatibilnih podataka

Usmjerenost podacima (npr. IEM)složeniji opis strukture podatakajednostavniji tokovi podatakaprocesi se definiraju analizom podataka (grupiraju oko podataka)brže konvergira kraju, jer je skup objekata (entiteta) modela konačan

Početak razvoja definiranjem događaja (npr. JSD)primjereniji sustavima za rad u stvarnom vremenu

506FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Komercijalne metodologije

Neke strukturirane metodologije:AD/Cycle (Application Development Cycle)BSP (Business System Planning)CASE*MethodIEM (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)

Objektno usmjerene metodologije:Yourdon/OO (Yourdon / Object Oriented)OMT (Object Modelling Technique)BOOCH (Booch’93)Schlaer-MellorUnified Modelling Process (Rational)

507FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Komercijalne metodologije

Kuhanje po kuharici (receptu) ne znači da će jelo biti dobro!• Zahtjevi se mogu mijenjati u vremenu. • Preporučene aktivnosti ne moraju uvijek biti prikladne, primjenjive ili potrebne.

Inzistiranje na provođenju propisanih procedura vodi u zanemarivanje stvarnih problema, što za posljedicu može imati formalno dobro napravljen, a neuspješan sustav.

Većina metodologija namijenjena je analizi i oblikovanju. Rijetke podupiru sve faze životnog ciklusa (npr. IEM).

Metodologije bi trebale biti podržane odgovarajućim alatima za upravljanje i projektiranje (CASE), što nije uvijek ispunjeno u praksi.

Alternative komercijalnim metodologijamazdrav razumnajbolje dokazano u praksi - "Best practices"prečice do rješenja problema temeljene na temelju sličnih iskustava - "Rules of thumb" prilagodba razvojnog procesa

• http://www.rspa.com/apm/index.html

Moderni postupci

Page 128: FER PIS Predavanja

509FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Brzi razvoj programske opreme

Brzi razvoj aplikacija (RAD - Rapid Application Development)učinkovita izrada programske opreme u relativno kratkom vremenusustavna i vremenski sažeta primjena sljedećih tehnika i pomagala:

• aktivno i učinkovito uključenje korisnika• odgovarajuće upravljanje projektom • ispravna uporaba metoda i tehnika razvoja• uporaba CASE pomagala i modernih programskih jezika (4GL)• upravljano prototipiranje

RAD se obavlja malim ekipama za 60-120 dana (približno 4*5=20 tjedana), nad podsustavima veličine 25-30 tablicaCijena postignutog ubrzanja može biti gubitak pregleda nad cjelinom sustava.Treba pripaziti da brzina ne postane sebi svrhom, jer tada vodi u improvizaciju (izradu priručnih rješenja) i “prljavi” razvoj.

510FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Brzi razvoj programske opreme

Faze brzog razvojaJEM (Joint Enterprise Modeling )

• sjednice na kojima poslovodstvo i analitičari traže načine usmjerenja organizacije i načine kako je učiniti kompetitivnom

• stražuju se ciljevi organizacije, problemi, kritični čimbenici uspjeha te strategijske mogućnosti

JRP (Joint Requirements Planning)• analiza zahtjeva s obzirom na poslovni sustav• proučavaju se funkcije sustava, identificiraju upotrebljive i uklanjaju

nekorisne funkcije te istražuju i definiraju informacijske potrebeJAD (Joint Application Design)

• nastoji se oblikovati sustav tako potpuno odgovara zahtjevima• zahtijeva tijesnu suradnju korisnika, izvoditelja i menadžera

konstrukcija (construction)• iterativno prototipiranje

završetak projekta (cutover)• provjera rada, izrada dokumentacije, poduka korisnika

511FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer RAD projekta

Tjedni 1-4Pokretanje projektaIstraživanjePriprema JRP sjedniceObavljanje JRP sjednicePriprema JAD sjednice

Tjedni 5-9Prva JAD sjednicaPočetak dizajnaKonsolidacija JAD dizajna i prototipaPrototipovi za test uporabljivostiDruga JAD sjednicaZavršetak dizajna

Tjedni 10-14Razvoj i testiranjePriprema konverzijePlaniranje završetka

Tjedni 15-20Izrada dokumentacije, priprema podukePodukaZavršno testiranjeZavršetak projekta

512FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Informacijsko inženjerstvo

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.

Značajke IEPodatkovno usmjerena ali procesno osjetljiva tehnika koja se primjenjuje na organizaciju kao cjelinu ili na neki njezin značajni dio, za razliku od klasične strukturne analize koja se odvija projekt-po-projektOsnovno načelo jest da se IS moraju graditi kao što se grade drugi “unikatni”proizvodi, npr. u graditeljstvu ili brodogradnji.

Page 129: FER PIS Predavanja

513FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Informacijsko inženjerstvoFaze IE

Planiranje strategije IS - Information Strategy Planning (ISP)• promatranje poslovanja kao cjeline s ciljem definiranja općeg, sveobuhvatnog

plana i arhitekture za slijedni razvoj informacijskih (pod)sustava• izdvajanje poslovnih područja i pridjeljivanje prioriteta

– poslovno područje – skup poslovnih procesa koji se protežu organizacijom (cross-organizational business processes) a moraju biti visoko integrirani da bi se ostvarila strategija ili misija

Analiza poslovnih područja - Business Area Analysis (BAA)• proučavanje poslovnih područja i definiranje poslovnih zahtjeva za visoko

organizirani i integrirani skup informacijskih (pod)sustava i aplikacija potpore poslovnog područja

Definiranje aplikacija• izdvajanje aplikacija i definiranje njihovih prioriteta na temelju analize poslovnih

područja• aplikacije postaju projekti u kojima se primjenjuju drugi postupci analize i dizajna

Podatkovno usmjerena paradigmaBudući da je informacija proizvod podataka, podaci moraju biti planirani prvi!

• Modeliranje započinje modelima podataka• Zatim se rade modeli procesa slično onima u strukturiranoj analizi

514FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ekstremno programiranje (eXtreme Programming)

Načela [Kent Beck, 1996]Komunikacija (communication).

XP zahtijeva komunikaciju u svim fazama projekta, među svim njegovim sudionicima. Ovdje se prvenstveno misli na komunikaciju među članovima razvojnog tima, zatim na međusobnu komunikaciju članova tima s voditeljima projekta, te komunikaciju naručitelja s izvođačima (članovima razvojnog tima, te njihovim voditeljima).

Jednostavnost (simplicity). Dijelovi softvera, kao i njegova cjelokupna arhitektura moraju u svakoj fazi projekta biti jednostavni. Jednostavnost se ostvaruje kontinuiranim refactoring-om i svođenjem projektne dokumentacije na minimalnu prihvatljivu razinu.

Povratne informacije (feedback). XP nalaže kontinurane povratne informacija od svih sudionika projekta, što značajno podiže kvalitetu rada i ispunjenje rokova. Dobre povratne informacije onemogućavaju nerazumijevanje među sudionicima projekta, te drže projekt na "pravom putu".

Hrabrost (courage). U XP hrabrost podrazumijeva sposobnost provođenja teških 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. Također, hrabrost podrazumijeva međusobnu iskrenost svih članova projektnog tima.

515FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

XP tehnike"Svakodnevne prakse"

Igra planiranja (The Planning Game). XP uvažava mogućnost promjene specifikacija koje definiraju funkcionalnost sustava.

• prihvati promjenu! (embrace change!) – jedan od osnovnih XP postulata Igra planiranja definira funkcionalnosti sljedeće verzije, prije nego što njen razvoj stvarno i počne. U početku se kreira grubi plan koji se redefinira kroz razgovore s naručiteljima i korisnicima. Korisnici se izražavaju "pričama", tako da svaka priča definira jedan dio funkcionalnosti sustava. Pričama se dodjeljuju prioriteti i ciljano vrijeme implementacije. (1-3 tjedna po zahtjevu)

Mala izdanja/verzije (Small Releases). XP preporučuje relativno često izdavanje novih verzija sustava – obično u prvom trenutku u kojem to ima poslovnog smisla, tj. kada sustav zadovoljava funkcionalnost traženu od strane naručitelja.Često izdavanje novih verzija pojačava komunikaciju a time dotok povratnih i igru planiranja.

Metafora sustava (System Metaphor). Metafora sustava je analogna onome što većina drugih metodologija naziva arhitekturom sustava.Metafora mora biti jasno izražena te nedvosmisleno shvatljiva svim članovima projektnog tima.

• XP ne definira format ili tehniku u kojoj metafora mora biti izražena

516FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

XP tehnike

Jednostavan dizajn (Simple Design). Najčešći 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)

Prilagodba programskog kôda (Refactoring).Refactoring je tehnika kojom se pojednostavnjuje programski kod uklanjanjem ponavljanog koda i uklanjanjem (nepotrebnog) složenog koda.

Programiranje u paru (Pair Programming). Programeri rade u parovima, na način da jedan piše kôd, a drugi prati pisanje i revidira kôd pazeći da kod bude jasan i razumljiv.

Page 130: FER PIS Predavanja

517FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

XP tehnike

Zajedničko vlasništvo (Collective Ownership). Svi razvojni inženjeri koji sudjeluju u razvoju projekta imaju pravo mijenjati bilo koji njegov dio u bilo kojem trenutku.

Neprestana izgradnja novih verzija kôda (Continuous Integration). XP nalaže izgradnju novih verzija nekoliko puta dnevno, tj. nakon svake implementirane funkcionalnosti.

40-satni radni tjedan (40-hour week). Smatra se da umorni razvojnici ne mogu postići maksimalnu učinkovitost u radu, pa zabranjuje prekovremeni rad dva tjedna zaredom.

Nazočnost naručitelja (On-site customer). Naručitelj ili predstavnik naručitelja mora biti nazočan prilikom razvoja sustava kako bi bio dostupan u slučaju potrebe za pojašnjenima, te kako bi pomogao u definiranju sustava i pisanju testova.

Standardi pisanja kôda (Coding Standards). Programeri moraju pisati kôd u skladu s dogovorenim standardima.

518FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ujedinjeni razvojni proces

Unified software development process (skraćeno UDP)izvorno Objectorykasnije Rational Unified Process (RUP)

Iterativni i inkrementalni razvojsoftver se razvija i objavljuje po dijelovimaglavne faze obavljaju se kroz niz iteracijafaza konstrukcije (izrade)

• svaka iteracija obavlja se standardnim životnim ciklusom koji uključuje analizu, oblikovanje, ugradnju i provjeru

• rezultat iteracije je proizvod završne kakvoće (production-quality), provjeren i integriran, koji zadovoljava podskup ukupnih zahtjeva

• isporuke mogu biti interne ili prema korisnicima

519FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Glavne faze razvojaPočinjanje (Inception)

opravdanje razloga za pokretanje projektaprikupljanje najvažnijih zahtjeva (10% detaljno)određivanje dosega projekta

Elaboracija (Elaboration)prikupljanje detaljnih zahtjeva (80%)globalna (high-level) analiza i dizajnustanovljavanje osnovne arhitektureplaniranje konstrukcije

Konstrukcija, gradnja (Construction)prikupljanje ostalih zahtjeva + promjene zahtjevarazrada arhitekture i izrada sustavakontinuirana integracija

Prijelaz (Transition)beta testiranje, podešavanje performansi, poduka korisnikaprovjera prihvatljivosti i zadovoljstva korisnika

Post-implementacija (Post-deployment)nastavak evolucijskog razvojauz očuvanje integriteta aplikacije

520FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Glavne faze razvoja

Inception Elaboration Construction TransitionCore Workflows

Requirements

Analysis

Design

Implementation

Testing

iter.#1

iter.#2 — — — — — iter.

#n-1iter.#n

Increments

Page 131: FER PIS Predavanja

521FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Određivanje iteracija

Broj i trajanje iteracijaza projekte do 18 mjeseci, otprilike 3 do 6 iteracijauobičajeno podjednakog trajanjamogu varirati ovisno o fazi (u konstrukciji duže)

Prva iteracijanajčešće najtežazahtijeva pripremu okruženja, ekipe i poslaopasna zbog moguće pretjeranog optimizmaako se krivo procijeni može izazvati pomake i neželjene učinke (smanjenje broja iteracija, ukupno slabije rezultate)

Organizacija i upravljanje projektom

523FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generički modeli organizacije

Projektna organizacijaosoblje organizirano unutar/oko projektaprednosti: brže odlučivanje, minimizira potrebno sučelje između članova, potiče identifikaciju osoblja s projektomnedostatci: prikladna za male projekte, minimalna raspodjela ekspertize

Funkcionalna organizacijaosoblje organizirano po funkcionalnim odgovornostimapojedina funkcija može podupirati više različitih projekataprednosti: potpomaže specijalizaciju (povećanje broja specijalista)nedostatci: smanjuje osjećaj pripadnosti projektu, tj. koheziju projekta

Matrična organizacijau osnovi funkcionalna, osoblje izmiješano u različitim projektimaprednosti:

• projektna komponenta pogoduje uspješnosti projekta• funkcionalna komponenta pogoduje povećanju specijalizacije

nedostatak: mogući sukob interesa

524FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Organizacija i ekipni rad

Ekipni rad (teamwork)Ekipa je "samoupravljačka" jedinica, koja posluje u duhu suradnje svojih članova, njihove koordinacije i njima unaprijed poznatih procedura.Prednosti:

• kvalitetnije donošenje odluka – "ne treba nam soliti pamet"• motivacija članova – "zajedno smo jači"• inovativnost – "dvoje zna više nego jedan, …"

Sinergija• 2+2=5 ?

Page 132: FER PIS Predavanja

525FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Razvoj ekipe

Razvoj ekipe (Forming, Storming, Norming, Performing)Formiranje – ljubaznost, nesklonost iznošenju stavova, prepuštanje vođenju"Jurišanje" – nesloga, sukob osobnosti, grupašenje/strančarstvo, pomanjkanje kvalitetne komunikacije, nesposobnost dogovaranjaNormiranje – uviđanje dobrih strana zajedničkog rada, uvažavanjePredstavljanje, djelovanje – povezivanje u učinkovitu operativnu grupu

Performing

NormingStorming

Forming

Group effort

Groupeffectiveness

526FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeli ekipa

Klasična organizacija ekipe (Chief Programmer Team)glavni programer (chief programmer) utjelovljuje znanje i odlučivanje ekipe

• mora istovremeno biti dobar (vrhunski) programer i voditelj• u poboljšanoj (revidiranoj) organizaciji ima ulogu voditelja ekipe

rezervni programer (backup programmer)• služi kao zamjena za nekog od mlađih (junior) programera • u poboljšanoj (revidiranoj) organizaciji ima ulogu pomoćnika voditelja

Glavniprogramer (voditelj)

Programer

Rezervniprogramer (pomoćnik)

Administrator

527FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeli ekipa

Moderna organizacija ekipe (4GL ekipa)voditelj projekta (project leader) – viši sistem analitičar suradnja s korisnikom (user liason) – poslovni analitičarkonceptualno i logičko oblikovanje – sistem analitičarisporuka sustava/aplikacija – poslovni analitičar nabava i pogon opreme – sistem inženjer za računalamrežni servisi – sistem inženjer za komunikacijeprogramsko inženjerstvo – programer-analitičarizrada dokumentacije – urednik/pisac (editor / technical writer)potporno osoblje: administrativni koordinator, tehničari, činovnici

Neke stvarne organizacije koriste gornju podjelu za opis radnih mjesta.

528FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Modeli ekipa

Elastični model ekipeupravitelj ekipe – upravljanje osobljem (plaće, režije)voditelj ekipe – upravljanje razvojem (organizacija posla)projektant (analitičar-programer) – analiza, oblikovanje i izvedbaprogramer (programer aplikacija) – kodiranje, testiranjeadministrator baze podataka – administriranje baze podatakasistem inženjer(i) – održavanje mreže i računala

Sastav ekipe odgovara poslovima koje treba obaviti. Raspodjela uloga konkretnim članovima, kao i broj članova pojedine kategorije ovise o konkretnom projektu i raspoloživosti djelatnika.Na primjer:

• ulogu upravitelja ekipe i voditelja ekipe može imati ista osoba• ekipa može imati više programera• uloga administratora BP i sistem inženjera može se dodijeliti istoj osobi

Ovakav model ekipe može se primijeniti bez obzira na moguće različitu sistematizaciju radnih mjesta u nekoj organizaciji.

Page 133: FER PIS Predavanja

529FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Organizacija velikih projekata

Upravitelj ili voditelj projekta, (project manager, project leader)

upravlja projektomposao obavlja više ekipanadređen voditeljima / upraviteljima ekipa

Ekipa može imati i dva voditelja

Upravitelj ekipe (team manager) planiranje, upravljanje i nadzor, rukovođenje ostalim članovima ekipe

Voditelj ekipe (team leader) tehnički aspekte aktivnosti koje se odnose na izradu i/ili uvođenje aplikacija/podsustava IS

voditelj projekta(project leader)

voditelj ekipe(team leader)

članoviekipe

upravitelj ekipe(team manager)

Upravljanje projektom

531FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljanje projektom

Upravljanje projektom (Project management)• “plan, staff, organize, schedule, direct, control”

Proces organiziranja, planiranja, upravljanja i nadzora razvoja sustava kojim će se postići prava funkcionalnost, na vrijeme i uz minimalne troškove.Uključuje različite 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 izvođače (ekipu)?• nadzor – Poštuje li se plan?

Elementi plana• Veličina projekta: funkcijske točke, broj linija koda• Napor izrade: čovjek-mjeseci• Vrijeme izrade: mjeseci

Izgradnja IS je posao koji se, unatoč posebnostima, obavlja kao neki drugi inženjerski poslovi, u planiranom vremenu i s planiranim resursima.

532FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljanje projektom

Planiranje projekta (planning)odrediti doseg, vremenski raspored i financijska sredstvaidentificirati pokroviteljstvo (sponsorship) kao jamstvo provedbeizabrati upravitelja/voditelja projekta odabrati alate za upravljanje projektompokrenuti projekt

Planiranje vremena, izrada rasporeda (scheduling)određivanje aktivnostiprocjena i pridjeljivanje sredstava potrebnih za pojedinu aktivnostprocjena trajanja pojedine aktivnostiodređivanje zavisnosti između aktivnostiizrada vremenskog rasporeda za projekt

Upravljanje, nadzor (controlling)određivanje postupka izvještavanja o napretku projektapraćenje napretka redovitim revizijamapreraspodjela sredstava i aktivnosti sukladno događajimaažuriranje vremenskog rasporeda

Page 134: FER PIS Predavanja

533FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Planiranje projekata

Zašto planirati?Ako nešto može poći krivo, poći će krivo – u najgore vrijeme i na najgorem mjestu (Murphyjev zakon)Murphy je bio optimist (Grimmov korolar)

Što je plan (a što nije)plan ne predstavlja izvjesnost ili nešto što će se zacijelo dogoditiplan je naša najbolja procjena, zasnovana na pretpostavkama i iskustvuelementi plana: aktivnosti, ključni događaji (milestones), resursi (sredstva), troškovi

Programerski paradoks (Brooks, 1982)Nakon što je odgovarajući broj osoba pridružen nekom zadatku, dodavanje osoblja usporava razvoj, umjesto da ga ubrza.

Složeni projekti zahtijevaju velike ekipeNajbolja strategija je podijeliti projekt u niz manjih projekata (podprojekata) koji se mogu nezavisno obaviti.

Neuspješno planiranje = planiranje neuspjeha.

534FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Planiranje projekta

Izrada planautvrditi ključne aktivnosti i događajeodrediti vremenski redoslijed aktivnosti i događajautvrditi potrebna sredstvapripisati/racionalizirati pripadne troškovepovezati pojedine pod-projekte/poslove u glavni projektiterativno razraditi plan revidirati plan sukladno postojećem iskustvu/saznanjima

Metode namijenjene upravljanju projektimaPRINCE (PRojects IN Controlled Environments)

• strukturirana metoda za upravljanje projektom• definiranje organizacijske strukture projekta• definiranje strukture i sadržaja plana projekta• definira skup provjera i izvješća koji se koriste za nadzor provedbe

COCOMOSUM

535FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnike za vremensko planiranje

Štapičasti/stupčasti dijagrami - Gantogrami (Gantt Charts)prikaz aktivnosti linijama, duljine razmjerne vremenu obavljanjaprikazuje predviđeni početak i kraj aktivnosti, njihovu međusobnu ovisnost te odgovornost za izvođenje aktivnostinaglašava vremensko preklapanje aktivnosti

ID Task Name Duration Start Finish Predeces

1 Projekt 110 days Mon 16.05.05 Fri 14.10.052 Određivanje zahtjeva 5 wks Mon 16.05.05 Fri 17.06.053 Oblikovanje sučelja 6 wks Mon 20.06.05 Fri 29.07.05 24 Oblikovanje izvješća 6 wks Mon 20.06.05 Fri 29.07.05 25 Modeliranje podataka 2 wks Mon 01.08.05 Fri 12.08.05 3;46 Kontrolna točka 0 days Fri 12.08.05 Fri 12.08.05 57 Korisnička dokumenta 5.5 wks Mon 15.08.05 Wed 21.09.05 68 Programiranje 5 wks Mon 15.08.05 Fri 16.09.05 69 Testiranje 3 wks Mon 19.09.05 Fri 07.10.05 810 Instalacija 1 wk Mon 10.10.05 Fri 14.10.05 7;9

5

Ana;ProgAna;ProgAna;Prog

Ana;Prog12.08

ProgProg

Prog

25 02 09 16 23 30 06 13 20 27 04 11 18 25 01 08 15 22 29 05 12 19 26 03 10May '05 Jun '05 Jul '05 Aug '05 Sep '05 Oct '05

536FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnike za vremensko planiranje

Mrežni plan - PERT/CPM (Program Evaluation ReviewTechnique/Critical Path Method)

vremenski prikaz aktivnosti i njihovih uvjetovanosti• vidljivo je koje aktivnosti se mogu vršiti paralelno, a koje u sljedovima jer

zavise o ranijim aktivnostimanaglašava kritični put (critical path) projekta

Korisnička dokumentacijaStart: 15.08.05 ID: 7Finish: 21.09.05 Dur: 5.5 wks

Res: Prog

ProgramiranjeStart: 15.08.05 ID: 8Finish: 16.09.05 Dur: 5 wks

Res: Prog

TestiranjeStart: 19.09.05 ID: 9Finish: 07.10.05 Dur: 3 wks

Res: Prog

InstalacijaStart: 10.10.05 ID: 10Finish: 14.10.05 Dur: 1 wk

Res: Prog

Kontrolna točka

Milestone Date: Fri 12.08.05ID: 6

2.5 w ks

18 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 17 24 31 0May '05 Jun '05 Jul '05 Aug '05 Sep '05 Oct '05 Nov

Page 135: FER PIS Predavanja

537FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Tehnike za vremensko planiranje

Upravljanje ključnim događajima - (Milestone Management)prikaz planiranih aktivnosti i trenutnog statusa njihovog izvršenjau određenim vremenskim trenutcima razmatra se stupanj dovršenosti neke/nekih projektnih aktivnostiključni događaj je obično kraj neke faze ili aktivnosti

• očekuje se da faza ili aktivnost budu gotovi• druge aktivnosti započinju nakon što se to ostvari• pomak ključnog događaja ima za posljedicu vremenski preraspored

TEAM PROJECT – Recommended Milestone Management PlanTask/Deliverable Assigned Plan Date Actual Date Status

Prep Cover, Executive Summary, Contents, etc.Draft Introductions, Appendices, etc.Final Introductions, Appendices, etc.Full Edit of Final ReportEdit, Assemble, Distribute Final Copies

Write Status Report 1Write Status Report 2…Write Status Report 6

Draft Decomposition DiagramDraft Context DiagramDraft Essential Data Flow DiagramsDraft Typical Process SpecificationsFinal Decomposition DiagramFinal Context DiagramFinal Essential Data Flow DiagramsFinal Typical Process Specifications

2.5 w ks

18 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 17 24 31 0May '05 Jun '05 Jul '05 Aug '05 Sep '05 Oct '05 Nov

538FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada plana

Definiranje zadataka i njihove međuzavisnostiPrimjer: zadatak T3 (npr. ugradnja komponenti) ovisi o zadatku T1 (npr. oblikovanje komponenti) oblikovanje mora biti završeno prije ugradnje.

Zadaci Trajanje (u danima) Ovisnosti T1 8 T2 15 T3 15 T1(M1) T4 10 T5 10 T2,T4(M2) T6 5 T1,T2 (M3) T7 20 T1(M1) T8 25 T4(M5) T9 15 T3,T6 (M4) T10 15 T5,T7 (M7) T11 7 T9 (M6) T12 10 T11 (M8)

539FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada plana

Izrada mrežnog plana na temelju definiranih zadataka i zavisnostiAktivna mreža čita se s desna na lijevo.Sve aktivnosti moraju završavati u ključnim točkama (M1 ,M2, M3, M4...). Tek kad se uspješno prijeđe ključna točka može se započeti sa sljedećom aktivnosti. Npr. zadatak T9, ne može započeti sve dok zadaci T3 i T6 nisu završeni. Dolazak na točku M4 pokazuje da su ti zadaci dovršeni.

T1

4/7/0225/7/02

25/7/02

25/8/02

18/7/02

4/8/02

5/9/02

19/9/02

14/7/02

11/8/02

Start

T4

M1

M3

T2

M5

T3

T6

M4M6

T9

M2

T7

T5M7

T8

T11

M8

T10

Kraj

T10

540FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Izrada plana

Kritični putMinimalno vrijeme potrebno za završetak projekta može se procjenjivati prema najdužem putu na aktivnoj mreži (kritični put). U ovom primjeru to je 11 tjedana ili 55 radnih dana. (T1-T3-T9-T11-T12)Prekoračenje vremenskog roka najčešće je vezano uz kritični put

• Aktivnosti koje kasne, a ne leže na kritičnom putu ne bi trebale uzrokovati vremensko prekoračenje (npr. ako T8 kasni ne bi trebalo utjecati krajnji datum jer T8 ne leži na kritičnom putu).

T1

4/7/0225/7/02

25/7/02

25/8/02

18/7/02

4/8/02

5/9/02

19/9/02

14/7/02

11/8/02

Start

T4

M1

M3

T2

M5

T3

T6

M4M6

T9

M2

T7

T5M7

T8

T11

M8

T10

Kraj

T10

Page 136: FER PIS Predavanja

541FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Prikaz plana

Gantogram je alternativni način prikaza vremenskog rasporedaVidimo da su neke od aktivnosti označene i zasjenjenim linijama što pokazuje da postoji određena fleksibilnost u datumu njihova završavanja.Ako se aktivnost ne završi na vrijeme kritični put neće biti ugrožen sve do završetka zasjenjene linije.

Start

M 1

M 5

4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

Fin ish

M 3

M 8

M 6

M 7

M 2

M 4

T1

T7

T2

T4

T 3

T12

T8

T11

T10

T5

T9

T6

2.5 w ks

18 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 17 24 31 0May '05 Jun '05 Jul '05 Aug '05 Sep '05 Oct '05 Nov

542FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Raspodjela zadataka

Štapićasti dijagram također pokazuje razdoblje u kojima je osoblje angažirano na projektu

Angažman ne mora biti kontinuiran –osobe mogu raditi na drugim projektima, ići na odmor ili obavljati neke druge aktivnosti.

Zadaci Inženjer T1 Anita T2 Ana T3 Anita T4 Josip T5 Jure T6 Ana T7 Igor T8 Josip T9 Anita T10 Ana T11 Josip T12 Josip

4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

T11T12

Josip

Anita

Ana

Igor

Tea

543FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Evidencija projekta

Planovi, upravljanje, praćenje napretka, povijest projektaPrimjeri: \Upravljanje\*Drugi planovi ( Dokumentiranje)

Mogu se koristiti različiti programski proizvodi, pr.MS Project, CA Process Continuum, CASE pomagala za planiranjePrimjeri: \Upravljanje\*

Dokumentiranje planaPrimjeri: \Dokumentacija

544FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Standard plana projekta

IEEE Standard for Software Project Management Plans 1058-1998Primjer, izvedenica

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

2. Project Organization 2.1 Process Model 2.2 Organizational Structure 2.3 Organizational Boundaries and Interfaces 2.4 Project Responsibilities

3. Managerial Process 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

4. Technical Process 4.1 Methods, Tools, and Techniques 4.2 Software Documentation 4.3 Project Support Functions

5. Work Packages, Schedule, and Budget 5.1 Work Packages 5.2 Dependencies 5.3 Resource Requirements 5.4 Budget and Resource Allocation 5.5 Schedule

6. Additional Components 7. Index 8. Appendices

Page 137: FER PIS Predavanja

545FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pomagala za upravljanje projektima

546FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

547FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

a

Članekipe

b

Voditeljprojekta

D1 planprojekta

D2evidencijaradnih sati

P1

prilagodbaplana

P2

praćenjenapredovanja

Praćenje napretka (izvršenja)

Upravljanje projektom podrazumijeva stalni nadzor napredovanja.

Postavljanje projektnih ograničenjaNapraviti početnu procjenu projektnih parametaraDefiniranje ključnih točaka i izvještavanjewhile projekt nije završen ili otkazan loop

Nacrtaj vremenski raspored projektaPodijeli aktivnosti prema vremenskom rasporeduČekaj Provjeri napredak projektaRevizija procijenjenih projektnih parametaraAžuriranje vremenskog rasporeda projektaProvjeri projektna ograničenja i izvještajeIf (povećanje problema) then

Ponovni tehnički pregled i moguća revizijaend if

end loop

KomentarKašnjenjeStvarni završetak

% ispunjenja StatusStvarno trajanje

Planiranotrajanje

PrioritetPlanirani završetak

Planirani početak

IzvršiteljiZadatak

548FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Elementi projektne evidencije

OsobaOsoba: NOT NULL

OznStatOsoba: Password: Rodjen: Zanimanje: Zvanje: SifDjelatnika: SifZnanstvenika:

PartnerKratPartner: NOT NULL

NazPartner: TipPartner: NOT NULLMBR: Email: URL: OpisPartner:

PosaoRbrPosao:

Osoba: NOT NULLDatPosao: NOT NULLKratProjekt: NOT NULLKratPosao: NOT NULLSati: NOT NULLOpisPosao: RbrZadatak: CijenaSata: NOT NULLrbr_posao:

PripadnostOsoba: NOT NULLKratPartner: NOT NULL

ProjektKratProjekt: NOT NULL

NazProjekt: KratPartner: NOT NULLSifProjekt: OznVrProjekt: OpisProjekt: KratRacun: URLprojekt: JavnoProjekt: NOT NULLAktivan: NOT NULL

StatZadatakOznStatZadatak: NOT NULL

NazStatZadatak: Aktivan: NOT NULL

UlogaKratUloga: NOT NULL

NazUloga:

UlogaOsobeRbrUlogaOsobe:

KratProjekt: NOT NULLOsoba: NOT NULLKratUloga: NOT NULL VrstaPosla

KratPosao: NOT NULL

NazPosao:

VrstaZadatkaVrstaZadatak: NOT NULL

ZadatakRbrZadatak:

KratProjekt: NazZadatak: NOT NULLVrstaZadatak: Nositelj: DatZadatak: RokZadatak: Prioritet: OznStatZadatak: DatStatZadatak: OpisZadatak: PlanPoc: PlanZav: StvarPoc: StvarZav: PlanTraj: StvarTraj: VrijZadatak: OznValuta: RbrDokument: LogAzur: DatAzur:

Page 138: FER PIS Predavanja

549FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Nadzor napretka

550FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke za planiranje poslova

Planiranje poslovaplanovi moraju biti ažurni, tj. prilagođeni stvarnom stanju izbjegavati detaljno planiranje poslova koji slijede u daljoj budućnosti – takve je dovoljno predvidjeti i najaviti, a pažnju usmjeriti na probleme koji se trenutno rješavajuplanovi trebaju što kraći, kako se vrijeme ne bi trošilo na detaljiziranje koje zbog moguće promjene stanja ionako neće biti istinitokonkretno razdoblje za koje se radi plan može varirati u ovisnosti o veličini projektanačelno je dovoljan jedan plan (i pregled realizacije) mjesečno, s tim da uključuje raspored tjednih aktivnostiposlove i zadatke treba uravnoteženo raspodijelitiviše pažnje treba posvetiti članovima koji zaostaju u izvršenju plana ili rješavaju složeniji problem u odnosu na ostale članovepo potrebi treba prerasporediti postojeće poslove

551FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

KolaboracijaKomunikacija

verbalna: brzo slušaj i misli - sporo i jasno govori, bilježi izrečenopisana: sadržaj, forma (predlošci), učestalostelektronička: E-mail, Chat, Newsobavješćivanje: pismenim putem, elektroničkom poštom (CC, BCC)pohrana informacija: mrežno kazalo, FTP kazalo, web poslužiteljorganizacija kazala: Admin, Materijali, Projekt, Backup, Tmp, itd.

Druženja moraju biti učinkovita!izbjegavati raspravu o općepoznatim ili nevažnim stvarimatreba ih prekinuti u trenutku kada se pretvore u razgovor o temama koje se ne odnose na posao

Sastanci moraju biti pripremljeni mjesto, vrijeme, teme, sudionici

Tehnike za poboljšanje radaBrainstorming – iznošenje idejaIzbjegavanje "jedinih" rješenja – traženje alternativaBilježenje odluka – zapisivanje da bi se izbjegla pogrešna tumačenjaKonstruktivne povratne informacije – kritiziranje postupaka, a ne osobaRazumijevanje neuspjeha – analiza i poboljšanje svega što nije dobroRaspodjela moći i odgovornosti – ravnopravnost, izbjegavanje hijerarhije

552FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pomagala za podršku grupnom radu

Page 139: FER PIS Predavanja

553FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Preporuke verbalnu komunikaciju

Konzultacije i razmjena informacijazajedničko dnevno druženje svih članova ekipedinamičko rješavanje detalja konkretnih praktičnih problemadnevno po 5 min., na početku radnog dana ili prije/poslije pauzepo potrebi se mogu sazvati i izvan dogovorenih termina

Sastanciupoznavanje s trenutnim stanjem, realizacijom plana i daljnjim poslovimarazmatranje problema, predlaganje načina i redoslijeda njihovog rješavanjajednom tjedno po 15 min., unaprijed dogovorenog dana, najbolje na početku tjednajednom mjesečno po 1 sat, prvog radnog dana u mjesecu (npr. ponedjeljak)po potrebi se mogu sazvati i izvan dogovorenih terminapoželjno je da se povremeno održe uz sudjelovanje nadređenih

554FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Upravljanje vremenom (time management)

pravilno raspoređivanje poslova:točnom procjenom što i kada treba napravitipodjelom posla u pod-posloveizradom izvješća o napredovanju i gotovosti

izbjegavanje obavljanja tuđih poslova"mogu to i sam""mogu to brže""teže mi je objasniti, nego napraviti"

neprimjeren utrošak vremena (razbacivanje vremenom)druženje – telefonski razgovori, neproduktivna konverzacijazapočimanje – problem "prebacivanja" s jednog posla na drugi ili "promjene brzine" → pokušati s manje poslova i grupirati slične posloveugodni poslovi → izbjegavati produljenje rada na poslovima "za gušt"neugodni poslovi → izbjegavati odugovlačenje neugodnih ili teških poslova

555FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Raspodjela uspjeha

Kriteriji za procjenu doprinosa članovauloženi trud (vrijeme)rezultati rada (korisnost, kvaliteta proizvoda i zadovoljstvo korisnika)objektivna težina posla (vrsta, uvjeti, intenzitet i trajanje)pristup radu (zalaganje, samoinicijativa, kooperativnost, odgovornost)sposobnost (svestranost, samostalnost)

Stimuliranje, nagrađivanje i trajno usavršavanjePretplata na stručne časopise, kupnja stručnih knjiga.Sudjelovanje na prezentacijama informatičke opreme i sajmovima, s ciljem praćenja stanja i trendova IT. Može se uključiti u sustav dodatnog nagrađivanja.Sudjelovanje na stručnim konferencijama, s ciljem praćenja razvoja struke. Može se uvjetovati pisanjem stručnih radova vezanih uz konkretne razvojne probleme.Stimulacija kroz formalnu izobrazbu (dodiplomski, poslijediplomski studij) kao uvjet ostanka u tvrtki u određenom razdoblju.Pohađanje stručnih tečajeva, prezentacija, radionica ili tečajeva iz engleskog jezika.

556FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Neki kriteriji vrednovanja članova

Page 140: FER PIS Predavanja

JEZICI I POMAGALA Jezici treće generacije

559FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Jezici treće generacije

Jezici treće generacije (eng. 3rd generation languages - 3GL)jezici visoke razine (HLL - High Level Languages)proceduralno usmjereni programski jezicipodjela jezika po namjeni

Jezici za numeričke i znanstvene problemeFORTRAN (FORmula TRANslator), prvi rašireniji jezik za rješavanje numeričkih problemaALGOL (ALGOrithmic Language), jezik prikladan za rješavanje numeričkih i logičkih problemaBASIC (Beginner's All-Purpose Symbolic Instruction Code), prvotno jednostavan interpretator za interaktivno rješavanje numeričkih problema, kasnije se razvio u Visual Basic

Jezici za poslovne problemeCOBOL (COmmon Business Oriented Language), jezik prikladan za poslovne aplikacije i rad s podatcima

Jezici orijentirani listama i nizovimaLISP (LISt Processing), nastao s namjerom da se načini programski jezik primjeren za probleme iz područja umjetne inteligencije

560FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Jezici treće generacije

Višenamjenski jeziciPL/I, prikladan za numeričko-inženjerske i poslovne aplikacijeC, razvijen radi izrade operacijskog sustava iz kojeg je nastao Unix, danas predstavlja standard kada se radi o proceduralnom programiranjuC++, C sa svojstvima objektnog programiranja Pascal, nastao s namjerom da se napravi jezik koji se može efikasno ugraditi na većinu računala, a koji će biti prikladan za učenje programiranja kao logičke i sistematske disciplineADA, pokušaj postavljanja standarda za jezik integriranih računalskih sustava (kontrola industrijskog pogona, zrakoplova ili bolničkih sustava za održavanje života)Modula-2 i Oberon, proširenje Pascala podrškom sistemskom programiranju, konceptom procesa i modula koji međusobno komuniciraju

Većina današnjih 3GL su višenamjenski jezici.

Page 141: FER PIS Predavanja

Jezici četvrte generacije

562FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Jezici četvrte generacije

Jezici četvrte generacije (eng. 4th generation languages - 4GL)nastali krajem '70 i početkom '80 godinaneki 4GL čini skup raznorodnih pomagala povezanih u cjelinu

• 4GE = okruženja 4. generacije (4th Generation Environment)4GL naredbe integriraju naredbe jezika visoke razine

• 4GL = jezici vrlo visoke razine (Very High Level Languages)

Jezici posebne namjenespecijalizirani za određene klase problemazadovoljavaju potrebe za izradu 60 - 80 % svih aplikacija

563FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste i primjena 4GL

Jezici za rad s bazama podatakastrukturirani upitni jezici (SQL - Structured Query Language)u prednjem planu SUBP (DBMS - DataBase Management System)

jezik za opis podataka (DDL - Data Description Language)• definiranje sheme BP u rječniku podataka (kreiranje objekata)

jezik za rukovanje podacima (DML - Data Manipulation Language)• rad s podacima (postavljanje upita, unos, izmjena, brisanje)

jezik za upravljanje podacima (DCL – Data Control Language)• kontrola pristupa podatcima (dodjeljivanje i ukidanje prava)

4GL kao programski jezik• koristi se za pisanje aplikacija nad bazom podataka

Primjeri: DB2, Oracle, Informix, MS SQL Server, MS Access

564FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste i primjena 4GL

Matrični kalkulatori (Spreadsheet)tablica organizirana kao mreža redova i stupacaelementi tablice: konstante, izrazi (formule), grafički znakovi i objektielementi jezika

• aritmetičke i agregatne funkcije: SUM, COUNT, AVERAGE, MIN, MAX …• logički izrazi: OR, IF, AND, NOT• matematičke funkcije: SIN, COS,TAN, ASIN, EXP, SQRT, LN, LOG• statističke funkcije (npr. očekivanje) i financijske funkcije (npr. kamatni račun)

izračunavanje vrijednosti formula automatski slijedi promjenu podataka• pr. D31=ROUND(SUM(D1:D30) * 0.65;-1)

Integrirana programska podrška (Integrated Software)objedinjuje matrični kalkulator, obradu teksta i grafički prikaz podatakapristup bazama podataka (postavljanje upita)kreiranje dijalogaprimjena

• analiza, planiranje (financije, proizvodnja, prodaja)• pomoć pri donošenju odluka (problemi tipa "što ako")

Page 142: FER PIS Predavanja

565FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste i primjena 4GL

Grafički orijentirani jeziciračunarska grafika - sinteza slika pomoću računala (dijagrami, animacija, digitalizacija) CAD/CAM (Computer Aided Design / Computer Aided Manufacturing) -računalom podržano projektiranje / računalom podržana proizvodnjasimulatori, programski paketi za prijenos slika, …

Zemljopisni IS (GIS - Geographic Information System)uključuju podatke o geometrijikoncept više slojevakoncept objekata

Programi i jezici za prijenos podatakakomunikacijski programi (modem, telefax, elektronička pošta...)rad u mreži računala (emulatori terminala, programi za prijenos podataka...)

566FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Vrste i primjena 4GL

Programska proširenja operacijskih sustava (ljuske) najrašireniji pristup nadgradnje OS (pr. Unix) - nad istom jezgrom (kernel), mogu se koristiti različite ljuske (shell)

• pr: Bourne shell, C shell, Mashey shellljuska - tumač (interpreter) naredbi

• kreiranje liste argumenata prilikom poziva programa (ls *.c ⇒ 1.c 2.c...)• sposobnost testiranja rezultata prethodno izvršene naredbe (if test prog then..)• slijedno izvođenje više programa (cd dir; ls; cd .. )• obrada u pozadini (background processing) (prog &, jobs, fg)• usmjeravanje ulaza i izlaza (prog > output.dat, prog < input.dat)• ulančavanje naredbi na principu "cjevovoda" (cat | more)

elementi programskog jezika• prijenos i zamjena parametara (script prog arg1 arg2 ⇒ $1=arg1 $2=arg2)• supstitucija varijabli (set TERM=vt100, echo $TERM)• naredbe za kontrolu programskog toka (while, if-then-else, case...)

ostala programska proširenja OS• temelje se na primjeni računalne grafike• podržavaju rad s "prozorima", "ikone", izbornike...

567FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Neproceduralna sintaksaproceduralni jezici - niz naredbi koji određuje KAKO se određena akcija obavlja

• npr. "otvori datoteku, ako nije EOF pomakni se, ..., zatvori datoteku"neproceduralni jezici - niz naredbi koji određuje ŠTO treba učiniti

• npr. "dohvati podatke … koji zadovoljavaju uvjet …"

Tipične neproceduralne naredbe• naredbe za definiranje strukture podataka te rukovanje podacima u BP

(nema potrebe za poznavanjem imena i lokacije datoteka, adresa...)• naredbe za unos ili ispis podataka putem zaslonske maske (form)• naredbe za izbor posla (menu)• naredbe za izvješća (selekcija, grupiranje, sortiranje, agregatne

funkcije...)

Uz neproceduralne, mnogi 4GL raspolažu proceduralnim naredbama da bi se omogućila ugradnja proceduralnih rješenja.

568FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Primjer: Opisivanje podataka (SQL)

Primjer: Rukovanje podacima (selekcija u jeziku SQL)

Primjer: Definicija veze u rječniku podataka (ZIM)

Primjer: Rukovanje podacima (ZIM)

CREATE TABLE Osoba (IdOsobe INTEGER NOT NULL,Prezime CHAR(20) NOT NULL,Ime CHAR(20),Adresa CHAR(20),SifMjesta SMALLINT, NOT NULL

);

SELECT * FROM Osoba, Mjesto WHERE Osoba.SifMjesta = Mjesto.SifMjesta

AND Osoba.Prezime LIKE "K%"

Stanuje := Osoba.SifMjesta = Mjesto.SifMjesta

FIND ALL Osoba Stanuje MjestoFIND ALL Osoba (UNRELATED) Stanuje MjestoFIND ALL Osoba Stanuje Mjesto (COMPLETE)

Page 143: FER PIS Predavanja

569FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Primjer: Izbornik (Informix-4GL)

MENU ”Osoba"COMMAND "Dohvat" "Postavljanje uvjeta za dohvat zapisa"

CALL dohvat()IF status != NOTFOUND THEN

NEXT OPTION "Sljedeci"END IF

COMMAND "Sljedeci" "Dohvaćanje sljedećeg zapisa"CALL sljed()...

COMMAND "Unos" "Unos novog zapisa"CALL unos()....

COMMAND "Kraj" "Kraj rada"EXIT MENU

END MENU

570FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Primjer: Rukovanje podacima putem zaslonske maske

DEFINE rOsoba RECORD LIKE OsobaDEFINE rMjesto RECORD LIKE Mjesto

...DISPLAY BY NAME rOsoba.*...INPUT BY NAME rOsoba.*

BEFORE FIELD SifMjestaMESSAGE "Unijeti šifru mjesta"

AFTER FIELD SifMjestaCALL Sel_Mjesto (rOsoba.SifMjesta)

RETURNING rMjesto.*IF status = NOTFOUND THEN

MESSAGE "Ne postoji mjesto"NEXT FIELD SifMjesta

END IF ...

END INPUT

571FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Primjer: Izbornik i maska za obradu podataka

572FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Primjer: Izvješće (ZIM)REPORT ALL FROM Osoba Stanuje Mjesto

SORTED BY Osoba.Prezime, Osoba.ImeFORMAT ACROSS 2 PAGESIZE 23 PAUSE 1

PAGE HEADING"Stranica:" $PAGE : MASK 'ZZ9' :

DETAIL LINEOsoba.Prezime : NEWLINE : Osoba.ImeOsoba.Adresa : NEWLINE :Mjesto.PostBr : NEWLINE : Mjesto.NazGrada

ENDREPORT Stranica 1

Ford AlanVukovar avenue 63383260 New York

Karson KitMelrose place 666282452 Los Angeles

Rock Bob

383260 New York

Ford KitSunset boulevard 2958

Page 144: FER PIS Predavanja

573FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Integracija naredbi i razina jezikapojedina 4GL naredba zamjenjuje do nekoliko tisuća onih 3GL-akraće programske liste, jezgrovitiji i čitljiviji programski kod

• kodiranje s manje pogrešaka, olakšano otklanjanje pogrešakasličnost strukturiranom govornom jeziku

• pojednostavnjenje izrade programske dokumentacijeUčinkovitost kodiranja

izradi se pristupa u ranoj fazi razvoja (prototipski način rada)bitno ubrzana izrada (neproceduralna sintaksa, generatori koda)povećanje učinkovitosti 6-60 puta (ne i skraćenje vremena izrade!!!)

Učinkovitost uporabe računalapovećanje učinkovitosti uslijed smanjenja broja naredbi i interne optimizacije ista aplikacija napisana u jeziku SQL može na istom računalu biti 5-20 puta brža od odgovarajuće napisane u nekom 3GL kao što su COBOL ili FORTRANprednost se gubi u slučajevima kad se radi o aplikacijama koje uključuju rješenja proceduralnog tipa ⇒ rješenje: povezivanje na 3GL (npr. C)

574FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Svojstva jezika četvrte generacije

Prenosivost (portabilnost) programske opremeoslonac na standardne OS (MS-DOS/WINDOWS, UNIX...)korištenje višerazinskih prevodilaca (pr. 4GL-EC-C-O-4GE)upravljački programi koji su nadgradnja OS (pr. SQLEXEC)manje dijalekata (npr. ANSI SQL standard)

Jednostavnost uporabe i rukovanjajednostavna i razumljiva sintaksa, sličnost govornom jezikukvalitetno razvojno i korisničko sučeljeprikladnost za učenje i rukovanje (jezikom i podacima)može se provjeriti tzv. dvodnevnim testom (TWO DAY TEST)

• većina korisnika bi morala moći naučiti osnove za 2-3 dana• nakon toga korisnik bi morao moći samostalno obaviti neke manje

poslove• poželjno je da korisnik nakon manjih prekida u radu (npr. 10 dana) bude

u mogućnosti nastaviti s radom bez poteškoćaNe vrijedi jednako za sve 4GL!

CASE pomagala

576FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CASE

CASEeng. Computer Aided Software Engineeringeng. Computer Aided System Engineering

CAISEComputer Aided Information System Engineering

Računalom podržano programsko/informacijsko inženjerstvouporaba alata koji podupiru neku od faza životnog ciklusauporaba alata koji podupiru analizu zahtjeva i izradu specifikacija te uporaba alata koji potencijalno generiraju programski kôd na temelju specifikacije programske opremeautomatizacija programske opreme (Software Automation)

Page 145: FER PIS Predavanja

577FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CASE pomagalaCASE pomagalo

programski sustav za pomoć pri izgradnji IS i razvoju programske opreme CASE pomagala podupiru (ne sva i ne uvijek!)

jednu ili više metoda informacijskog/programskog inženjerstva samo njima svojstvenu ili neku od standardnih metodologijamogućnost definiranja vlastite metodologije (meta-case)

Većina alata omogućuje izradu različitih vrsta dijagrama kao što sudijagrami dekompozicije funkcija/procesadijagrami modela podataka, npr. entiteti-vezegrafički prikaz programske logike, npr. akcijski dijagram

Često se radi o skupu alata integriranih u cjelinu kojom se podupire:jedna od faza životnog ciklusa (toolkit) ilicijeli životni ciklus (workbench)

Osnovne komponenterječnik podataka (data dictionary), meta-baza (meta-base) ili riznica (repository) za pohranu modelasučelje za izradu dijagrama i rukovanje meta-podacimaposebni dijelovi koji vode brigu o usklađivanju promjena načinjenih na različitim razinama raščlambe modela ili u različitim modelima.

578FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CASE pomagala

Gornji CASE (Upper CASE, Front-End CASE)Automatizacija ili podrška ranih faza - planiranje, analiza i konceptualno oblikovanjekoristi se za definiranje zahtjeva i izradu modela ISneki alati podupiru reinženjerstvo poslovnih procesa, analizu isplativosti IS, planiranje prioriteta i dinamike razvoja te potreba za računalnom opremom

računalom podržano planiranje (Computer Aided Planning)analiza i dizajn, najčešće konceptualno i logičko oblikovanje

• oblikovanje baza podataka, prevođenje modela u 3NF• generiranje sheme BP (SQL naredbe)

579FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CASE pomagala

Donji CASE (Lower CASE, Back-End CASE)potpora kasnijim fazama razvoja: detaljni dizajn, konstrukcija, ugradnja, održavanjegeneratori programske opreme (application generator, code generator)alati za održavanje programske opreme (version control) i prepravke (reengineering) alati za izradu programske dokumentacije (documentation tool)alati za povratno inženjerstvo (reverse engineering), npr. analizatori izvornog koda, alati za restrukturiranje kodaneki alati podupiru prototipni način rada oblikovanjem zaslonskih maski i izvješća te simuliranjem rada programa, npr. ProtoGen, CASE za metodu vizualne izrade prototipa (visual prototyping method)

580FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

CASE pomagala

Integrirana CASE pomagala (ICASE - Integrated CASE)cjeloviti CASE sustavi koji pokrivaju sve faze razvoja, a sadrže i dodatne module za povratno inženjerstvo, nadzor i upravljanje izvedbom te osiguranje kakvoće ISpotpuno integrirano CASE okruženje automatizira izradu modela organizacije, planiranje razvoja IS te izgradnju i primjenu ISintegracija alata ostvaruje se usvajanjem pravila određene metode razvoja, uporabom zajedničkog rječnika podataka i zajedničkog sučelja te automatiziranim prosljeđivanjem 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.

Page 146: FER PIS Predavanja

581FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generatori programske podrške

Programska oprema u osnovi podrazumijeva programski kôd.Aplikacija se također može sastojati od korisničkog sučelja i BP.Dobar generator mora biti u stanju proizvoditi sve dijelove PO.

Velik broj pomagala proizvodi samo neke dijelove, kao što su:zaslonske maske (screen painter, form generator)izbornici (menu generator)izvješća (report generator)programski kôd (code generator)baza podataka, tj. naredbe za kreiranje baze podatakanaredbe za grupnu (serijsku, batch) obradu podatakaprogramska dokumentacija

Često se generiraju srodne komponente:generator sučelja (standardno se radi o inteligentnom uređivaču zaslonskih maski) obično uključuje generator izbornika i dijalogageneratori koji proizvode programski kôd obično generiraju i ostale dijelove

582FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generatori programske podrške

Generatori se pojavljuju:u okviru pomagala za projektiranje programske opremekao dio jezika četvrte generacijekao zasebni proizvodi, koji integriraju svojstva 4GL i CASE pomagala namijenjenih oblikovanju

Generatore se može smatrati (donjim) CASE pomagalima.Kao minimalne odrednice za procjenu pripadnosti ovoj grupi mogu se uzeti mogućnost oblikovanja strukture podataka i oslonac na vlastiti rječnik podataka.

Mogućnost CASE pomagala da automatski generira izvorni kôd na osnovu opisa sustava obrnuto razmjerna broju metoda i tehnika ugrađenih u pomagalo.

Preporuča se koristiti dobar gornji CASE za početne faze razvoja, model prenijeti u rječnik podataka donjeg CASE alata, a zatim nastaviti s ostalim fazama.

583FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generatori programske podrške

Postojeći generatori iskazuju nedostatke o kojima u velikoj mjeri ovisi mogućnost i kvaliteta njihove primjene:

podsticanje izgradnje programskih sustava po dijelovimaad-hoc generiranje dijelova programske opreme koje vodi u neuravnoteženost ugrađenih rješenjanemogućnost generiranja složenih funkcija, što vodi ručnom kodiranjunesposobnost očuvanja ručno ugrađenih rješenja prilikom ponovnog generiranja

PreporukeNužno je odabrati alat koji generira izvorni kod i/ili dozvoljava ručne zahvate.Poželjno je koristiti alat koji omogućuje upravljanu izmjenu generiranog koda i održavanje naknadno ručno načinjenih izmjenaNažalost, ovakvi proizvodi još uvijek su rijetkost!

584FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer I-CASE alata

Popkin System Architect – ICASE koji podupire više metodologija (SSAD, OOAD), reverzno inženjerstvo i generiranje koda

Page 147: FER PIS Predavanja

585FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer alata za oblikovanje BP

CA AllFusion ERwin – dizajn i reinžnjerstvo BP, različite notacije (IDEF1X, IE, DM)

586FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjer OO alata

Rational ROSE - potpora OO metodama (UML, OMT, Booch …)

587FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Integracija CASE alata u razvojnu okolinu

Visual Paradigm for UMLSvi UML dijagramiAnaliza tekstaCRC kartice

Visual Paradigm for SDE (Smart Development Environment)integracija s Visual Studio, Eclipse, JBuilder, …reverzno inženjerstvogeneriranje izvornog kodaCommunity Edition

http://www.visual-paradigm.com

588FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Reverzno inženjerstvo

Page 148: FER PIS Predavanja

589FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Generiranje izvornog koda

590FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Primjeri meta-CASE alata

Playground – uređivač dijagrama (objektni modeli, interakcije)MetaEdit – različiti dijagrami, definiranje vlastite notacije (meta-CASE)

591FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Praćenje pogrešaka i upravljanje promjenama

OnTime Defect and Feature Management Systemhttp://www.axosoft.com/

592FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Pomagalo za praćenje rada aplikacije

Visual Loggerhttp://www.axtools.com/

Page 149: FER PIS Predavanja

593FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Web adrese

Internet adrese općenitohttp://www.qucis.queensu.ca/Software-Engineering/tools.htmlhttp://www.pittarese.com/Auburn/cse625/case.htm

Podrška životnom ciklusuhttp://www.visible.com/http://www.popkin.com/http://www.prolifics.com/do/panther.htmlhttp://www3.ca.com/Solutions/Solution.asp?ID=1629http://www3.ca.com/Solutions/Product.asp?ID=258http://www3.ca.com/Solutions/Product.asp?ID=256http://www.magicsoftware.com/bin/en.jsp?enPage=HomePage

UML i alatihttp://www.omg.org/uml/http://www.intelinfo.comhttp://www.objecteering.com/http://www.proxysource.com/http://argouml.tigris.org/http://www.sparxsystems.com.au/

SAŽETAK NAČELA IS

595FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Korisnici i vlasnici sustava moraju biti aktivno uključeniZa uspješnu izgradnju IS apsolutno je nužan angažman vlasnika i korisnika.Osobe odgovorne za razvoj IS moraju naći vremena za vlasnike i korisnike, inzistirati na njihovu sudjelovanju i tražiti suglasnost od njih za sve odluke koje ih se tiču.

Treba koristiti pristup koji vodi k rješavanju problemaKorištenjem metodologija smanjuje se rizik zbog korištenja prečaca i pogrešaka.

• Metodologije proizvode potpunu i konzistentnu dokumentaciju, iz jednog projekta u drugi. Metodologija je, prije svega i najviše, postupak rješavanja problema prilikom izgradnje sustava!

Klasični pristup rješavanju problema je sljedeći::• Proučiti i shvatiti problem u kontekstu sustava,• Utvrditi zahtjeve koje mora ispuniti prikladno rješenje, • Prepoznati moguća rješenja i odabrati “najbolje”,• Projektirati i/ili ugraditi rješenje, • Promatrati i vrednovati utjecaj izrađenog rješenja te u skladu s time dotjerivati

rješenje.Kad se nema iskustva, postoji težnja da se preskoče ili skrate neki od koraka u rješavanju problema. Ishod se kreće u rasponu:

• rješava se krivi problem,• krivo se rješava problem,• izabere se krivo rješenje.

Uključenost sudionika i ispravan pristup problemima

596FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Uspostava životnog ciklusa i standarda razvoja

Uspostaviti faze i aktivnostiVećina životnih ciklusa i metodologija sastoji se od faza,U najjednostavnijem obliku, životni se ciklus sustava sastoji od četiri faze:pregled, analiza, projekt, ugradnja.Peta aktivnost, potpora sustavu, poboljšava rezultat, iterirajući kroz prethodne četiri faze, ali sada na umanjenim problemima i sa ciljem dotjerivanja i poboljšanja sustava.Faze se obično razlome na aktivnosti i zadatke kojima se može lako upravljati i lako ih riješiti,Faze projekta treba dovršavati u slijedu, od vrha do dna.

Uspostaviti standarde za konzistentan razvoj i dokumentiranjeStandardi za razvoj sustava obično opisuju:

• aktivnosti,• odgovornosti,• naputke ili zahtjeve za dokumentiranje,• provjere kvalitete.

Potreba za dokumentacijskim standardima ukazuje na uobičajenu pogrešku mnogih analitičara – njihov propust da izrađuju dokumentaciju kao trajnu aktivnost tijekom životnog ciklusa.

Page 150: FER PIS Predavanja

597FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Opravdanje investicije u sustav

Opravdati izgradnju sustava kao kapitalnu investicijuInformacijski sustavi jesu kapitalna investicija,U kapitalnim investicijama, treba razmatrati:

• za svaki problem najvjerojatnije postoji nekoliko mogućih rješenja,• nakon što se prepoznaju varijante rješenja, analitičar treba vrednovati

svako od mogućih rješenja glede njegove izvodljivosti, a pogotovo ekonomičnosti.

– Ekonomičnost se definira kao odnos između dobiti ostvarene sustavom i troškova njegove izgradnje i pogona.

598FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Ne oklijevati ako treba projekt otkazati

Ne oklijevati ako treba projekt otkazatiZnačajna prednost faznog pristupa razvoju sustava jest u tome što stvara nekoliko prilika da se ponovno ocijeni izvodljivost.Dugoročno gledano, otkazani projekti su jeftiniji od ugrađenih promašaja.Većina analitičara propusti podesiti procjenu troškova i rokova prilikom proširenja područja projekta. Kao rezultat, analitičar često nepotrebno prihvaća odgovornost za premašaj troškova i rokova.Pristup “puzećeg” preuzimanja obveza:

• Višestruke provjere izvodljivosti su ugrađene u metodologiju razvoja sustava.

• U bilo kojoj točki provjere, svi se već učinjeni troškovi smatraju nepovratnima i nevažnima za daljnje odlučivanje.

• Projekt treba u svakoj od točaka ponovno vrednovati da se utvrdi da li je još uvijek izvodljiv.

U svakoj točki provjere analitičar treba razmotriti:• ukidanje projekta ako više nije izvodljiv,• ponovnu procjenu troškova i rokova ako se opseg projekta povećava,• sužavanje opsega projekta ukoliko su proračun i rokovi fiksirani, ali

nedovoljni za ostvarenje svih ciljeva projekta.

599FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

Projektiranje i planiranje sustava

Podijeli pa vladajSvi su sustavi dijelovi većih sustava (nadsustava),Praktički svi sustavi sadrže manje sustave (podsustave),Sustav se podijeli u barem dva podsustava da bi se njime lakše ovladalo i sagradilo veći sustav,Podjelom većeg problema (sustava) u manje dijelove (podsustave) kojima je lakše upravljati, analitičaru se pojednostavnjuje postupak rješavanja problema.

Projektirati sustav tako da prati rast i promjeneMnogi analitičari upadnu u zamku izradivši sustav koji odgovara isključivo trenutnim zahtjevima,Entropijom se naziva prirodno i neizbježno kvarenje bilo kojeg sustava,Kada tijekom faze podrške sustavu, troškovi održavanja premaše troškove izgradnje novog sustava, sustav je zastario.

600FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

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, Vol33 (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.

Page 151: FER PIS Predavanja

601FER-ZPM-GRZ, Fertalj & Kalpić: Projektiranje informacijskih sustava, akad.god. 2006/07.

ReferenceHirscheim, 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 EducationMurch R. (200): Project Management: Best Practices for IT Professionals,1/e, Prentice Hall PTR, ISBN 0130219142Pressman R.S. (2001): Software Engineering: A Practitioner's Approach, 5/e, McGraw-Hill, ISBN 0-07-249668-1Sommerville, 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.