Professional Documents
Culture Documents
Programsko Inz PDF
Programsko Inz PDF
PREDAVANJE 1
2
eMPIRICA – III Semestar: PRI 2013
.
Odnos između računarske nauke i programskog inženjerstva
3
eMPIRICA – III Semestar: PRI 2013
METODOLOGIJE I HISTORIJA
Metodologije za razvoj informacijskih sistema prvi put su se pojavile krajem
šezdesetih, a na važnosti su dobile tek u sedamdesetim godinama. Na početku, istraživanja
iz područja informacijske tehnologije usmjerena su prije svega na istraživanje novih,
efikasnijih programskih jezika i tehnika (velika tehnička ograničenja brzine procesora i
kapaciteta memorije). Prve tehnike za opisivanje računarskih programa i sistema: dijagrami
toka, dijagrami toka podataka i tabele odlučivanja
Sedamdesetih godina javlja se više metodologija (strukturna analiza i planiranje,
strukturna analiza, strukturno planiranje itd.) s karakterističnim strukturnim pristupom, s
naglašenim odabirom i organizacijom programskih modula u cjelovitu strukturu koja
omogućava rješavanje određenog problema. Može se reći da su sedamdesete bile u znaku
strukturnih metodologija koje su prije svega naglašavale procesno gledište informacijskog
sistema (procesni pristup), dok su nove metodologije osamdesetih godina
(npr. Informacijski inženjering) dale prednost podacima (podatkovni pristup). Promjena
načina razmišljanja su razlog za brži razvoj sistema za upravljanje bazama podataka
zasnovan na relacijskoj teoriji, a koji su postali jezgra svih kompleksnijih informacijskih
sistema
Model ER (Entity Relationship) definitivno se potvrdio kao osnovna dijagramska
tehnika za opis podataka na konceptualnom nivou, a na tržištu su se pojavili i prvi CASE alati
4
eMPIRICA – III Semestar: PRI 2013
5
eMPIRICA – III Semestar: PRI 2013
SPONTANI RAZVOJ
Izgradnja prvih informacijskih sistema većinom se odvijala bez unaprijed određenog
razvojnog procesa, uspjeh projekata zavisio je od iskustava i znanja pojedinaca. Spontani
razvoj predstavlja razvojni proces koji se mijenja s obzirom na napredovanje rada. I danas se
programska rješenja često razvijaju bez odgovarajućeg razvojnog procesa, prije svega, ako
je riječ o manjim projektima.
Spontani razvoj ima za posljedicu nekonzistentnost osnovnih faktora projekta:
rokova, budžeta, funkcionalnosti i kvalitete proizvoda. I u slučaju odsutnosti razvojnog
6
eMPIRICA – III Semestar: PRI 2013
procesa postoji mogućnost da neki, prije svega manji projekti izgradnje programskih
rješenja uspijevaju ‒ posljedica napora članova projektne grupe, a ne provjerenih metoda
vođenja projekta.
MODEL VODOPADA
Model vodopada (waterfall model) nastao je u ranim 70-im godinama 20. stoljeća,
kao neposredna analogija s procesima iz drugih inženjerskih struka (na primjer
mostogradnja). Model vodopada, koji je ponekad označavan i kao sekvencijalni odnosno
klasični model životnog ciklusa, najstarija je metoda strukturiranog razvoja informacijskih
sistema. Još uvijek relativno često korišten model razvoja, iako ga često kritiziraju prije
svega u smislu krutosti za brzo reagiranje na zahtjeve koji se brzo mijenjaju. Velik naglasak
se stavlja na dokumentaciju, prije svega, specifikaciji zahtjeva i plana sistema.
Svaka faza u redoslijedu životnog ciklusa mora biti sasvim završena prije početka
sljedeće faze. Nakon zaključka svake faze izrađuje se revizija, ako se projekt odvija u okviru
traženih standarda,specifikacija i vremenskog plana.
Model je dobio ime zbog oblika dijagrama. Vidimo da se aktivnosti odvijaju kao faze
sekvencijalno jedna iza druge. Svaka faza daje neki rezultat koji „teče“ po vodopadu i
predstavlja polazište za iduću fazu. Makar je na slici naznačena mogućnost povratka u raniju
fazu (u slučaju naknadnog otkrivanja greške), ta mogućnost samo se iznimno koristi.
Povratak je nepoželjan jer remeti normalni tijek procesa te izaziva kašnjenje.
7
eMPIRICA – III Semestar: PRI 2013
Model nije prikladan za kompleksne projekte sa zahtjevima koji se često mijenjaju, kao i za
manje projekte s kratkim rokovima.
8
eMPIRICA – III Semestar: PRI 2013
Sistem se razvija u nizu iteracija. Pojedina iteracija ne dotjeruje već realizirani dio
sistema, nego mu dodaje sasvim novi dio - inkrement. Razvoj jednog inkrementa unutar
jedne iteracije odvija se po bilo kojem modelu - na primjer kao vodopad. Ideja je prikazana
na slici.
PREDNOSTI I NEDOSTACI
INKREMENTALNOG MODELA
Inkrementalni model razvoja je pogodan za:
projekte čiji su zahtjevi loše definirani i često se mijenjaju
promjene u budžetu,
brzorazvijajuće tehnologije
9
eMPIRICA – III Semestar: PRI 2013
Međutim nije pogodan za manje i kratkotrajne projekte i projekte kod kojih postoje mali
integracijski i arhitekturni rizici.
Inkrementalni model je vrlo uporabljiv model koji se intenzivno koristi u praksi. Svi generički
softverski paketi poput Microsoft Office-a i slični zapravo su se razvijali u inkrementima.
Svaka njihova nova verzija donosila je nove mogućnosti.
10
eMPIRICA – III Semestar: PRI 2013
Inicijalni model simulira funkcije sistema da bi korisnik bolje definirao zahtjeve. Korisnik vrlo
rano vidi kako će sistem funkcionirati.Rezultat razvoja –– korisnički interfejs.
Prototip - moguć kao koncept unutar konteksta drugog modela.
Prototipni model se sastoji od sljedećih koraka:
skupljanje zahtjeva,
planiranje,
izrada i izmjena prototipa,
korisnikova ocjena prototipa,
dopuna i poboljšanje prototipa
izvođenje programskog rješenja.
11
eMPIRICA – III Semestar: PRI 2013
RAD uvodi detaljne vremenske okvire u svaku razvojnu fazu i uzda se u korištenje
alata za brzo planiranje i razvoj programskih rješenja. Osnovni naglasak metode je na
ispunjavanju poslovnih zahtjeva, dok su tehnologija i arhitektonska savršenost stavljeni u
12
eMPIRICA – III Semestar: PRI 2013
drugi plan. Metoda RAD obično uključuje i metodu JAD (Joint Application Development),
koja naglašava intenzivnu uključenost korisnika već u samo planiranje sistema.
Pojam “Rapid Application Development” (brzi razvoj aplikacija) upotrijebio je, James
Martin, 1991.godine. Ova metoda koristeći kombinaciju više modela, stvara prototipove
koji se koriste u razvoju različitih programa koji nisu u nikakvoj međusobnoj vezi, ali su tako
koncipirani da mogu opisivati njihove poslovne procese. Ugrađen je i “Demingov krug”
kvalitete koji omogućava stalnu nadogradnju i poboljšanja prototipa u koji je uključen i
korisnik sa mogučnošću sudjelovanja u njegovom oblikovanju.
Tako je došlo do pojave raznih automatiziranih alata koji su u sebi već imali
predefinirane procedure za određeni proces upotrebljavajući znanje koje je već postojalo,
time se izbjeglo pisanje koda koji je bio karakterističan za neku radnju, recimo okvir za upis
tekstualnog podatka. Dostupnost “CASE” alata i odstupanje od tradicionalnog razvoja,
rapidno je povećalo učinkovitost programera i stabilnost programa.
Ovi alati programerima omogućuju “drag-and-drop” povlačenje generiranog koda i uz
minimalno kodiranje dobivanje traženog rezultata. Isto se događa na polju samog kodiranja,
granice između jezika u kojima se razvijaju programima nestaju, primjer je i Visual Studio
koji omogućava odabir jezika u kojem će programer raditi (C# ili VisualBasic), pa postoje i
“on-line” konvertori iz jednog u drugi jezik
(http://www.carlosag.net/tools/codetranslator/), ili ako ste navikli na “Pascal” tu je
dodatak “Oxygene for.NET” za Visual Studio. Sve u cilju što bržeg, kvalitetnijeg i jeftinijeg
razvoja programa koji će sa što većom fleksibilnošću pratiti rađanje i promjene poslovnih
procesa.
PREPORUKE ZA RAD
RAD se preporučuje kod projekata:
manji i srednje veliki razvojni projekti s kratkim rokovima,
područje projekta je ograničeno,
poslovni ciljevi su detaljno definirani,
korisnici posjeduju podrobno znanje o području na kojem rade
zahtjevi sistema su nepoznati odnosno nesigurni,
članovi grupe su vješti i u tehnologiji i u poslovnoj domeni,
uspostavljena je efikasna kontrola nad projektom,
arhitektura sistema je jasno određena,
osnovne programske komponente su već izrađene i provjerene,
tehnološki zahtjevi su prihvatljivi i u granicama mogućnosti korištene
tehnologije.
RAD se ne preporučuje:
U slučaju izgradnje opsežnih infrastrukturnih projekata (npr. opsežni podijeljeni
informacijski sistemi),
kod sistema u realnom vremenu,
kod sigurnosno-kritičkih sistema,
kod sistema s kompleksnim računskim operacijama.
U određenim situacijama je vrlo teško, ako ne i nemoguće, identificirati bilo kakav zahtjev
sistema na samom početku projekta. Projekti iz područja vještačke inteligencije gdje se
većina istraživanja temelji na hipotezama, ocjenama i nagađanjima.
Najprije se treba napraviti pretpostavka, na koji način bi sistem trebao djelovati, nakon čega
se koriste brze iteracije za uključivanje predloženih primjena i izgradnju upotrebljivog
sistema.Ocjena napravljenog sistema temelji se na primjernosti konačnog rezultata, a ne na
ostvarivanju prethodno određenih zahtjeva.
Koraci istraživačkog modela su:
početni razvoj kratkih specifikacija (početna temeljna tačka),
više iteracija izrade,
prilagođavanje i testiranje sistema,
implementacija konačnog rješenja u ciljnu okolinu.
Problemi istraživačkog modela su:
ograničenost na visokorazinske programske jezike koji omogućavaju brz razvoj
(npr. Lisp),
problemi kod predviđanja i mjerenja troškovne efikasnosti,
opasnost izrade neefikasnih i loše planiranih sistema jer cjelokupni sistem nije
unaprijed promišljen
17
eMPIRICA – III Semestar: PRI 2013
PREDAVANJE 2
INFORMACIJSKI INŽENJERING
Predstavlja primjer strukturnog pristupa koji je bio popularan u drugoj polovini '80-ih
godina – Martin, Finkelstain.
Temeljni principi strukturnog pristupa su :
analiza podataka (Data Analysis),
nezavisnost podataka (Data Independence),
strateško podatkovno planiranje (Strategic Data Planning),
jednostavan pristup korisnika bazi podataka (End-User Access).
18
eMPIRICA – III Semestar: PRI 2013
MODEL ER
Konceptualno planiranje podataka čini prezentacija korisničkih podatkovnih zahtjeva
korištenjem konceptualnog (semantičkog) modela podataka. Najrašireniji konceptualni
model za planiranje baza podataka je model odnos entiteta ER (Entity Relationship) ‒ koji je
1976. godine utemeljio Peter P. Chen. Model se temelji na ljudskom percipiranju realnog
svijeta koji je moguće prikazati sa dva osnovna koncepta: entitet i odnos.
Model ER doživio je još nekoliko promjena i dopuna, ali je osnovna ideja ostala
nepromijenjena:
razvoj različitih grafičkih notacija odnosno dijagramskih tehnika ‒ (IDEFIX,
informacijski inženjering itd.), koje se više ili manje približavaju
karakteristikama površinskih podatkovnih modela,
uvođenje novih koncepata – generalizacija, agregacija ‒>nastaje rašireni model
ER (Extended Entity Relationship).
Brzi razvoj CASE alata (Computer Aided Software Engineering) u devedesetim
godinama je dodatno pridonio značaju modela ER kao temeljnom opisnom mehanizmu za
konceptualno planiranje baza podataka. CASE alati omogućavaju automatsko prevođenje
modela ER u relacijski model i daljnje uspostavljenje fizičke baze podataka korištenjem
jezika SQL.
Konkretni sistemi za upravljanje bazama podataka zasnovan na ER modelu podataka
(često nazivan i prošireni model objekti-veze tj. PMOV) ne postoji, nego se vrši prevođenje
iz ovog semantički bogatijeg u semantički siromašniji relacioni model. Za geometrijsku
reprezentaciju koncepata modela koriste se grafovi (intenzija) i tabele (ekstenzija modela).
Iako je ER model podataka kompletan (postoje opisi sve tri komponente modela podataka),
sam model je prije svega namjenjen projektovanju statičkog modela – zbog dijagramskog
19
eMPIRICA – III Semestar: PRI 2013
Entitet: objekt koji postoji i može se odvojiti od drugih objekata. Entitete dijelimo
na realne (predstavljaju neki realan objekt, događaj) i apstraktne (predstavljaju
ideju).
Tip entiteta: mnoštvo entiteta istoga tipa. Tip entiteta određen je odgovarajućim
mnoštvom atributa. Tipu entiteta pripada skup entiteta, koje definiramo kao entitetni
skup.
Ključ (identifikator entiteta): atribut ili grupa atributa koji jednolično određuju
entitet unutar tipa entiteta. Svaki tip entiteta sadrži barem jedan glavni ključ, a može i
više pomoćnih.
Odnos (tip povezivanja): opis grupe istovrsnih povezanosti. Može ujedinjavati sva
povezivanja istog tipa između dva ili više entiteta.
Uz osnovne koncepte prošireni model ER sadrži još:
Generalizacija: specificira odnos tip – podtip između dva ili više tipa entiteta odnosno
skup – podskup, ako tip entiteta uzimamo kao skup entiteta.
Domena: skup vrijednosti koje može imati neki atribut. Model ER direktno ne
prikazuje domen, ali ih koriste CASE alati.
20
eMPIRICA – III Semestar: PRI 2013
ENTITET
Naziv entiteta zajedno sa svojim atributima čini tip entiteta unutar kojega može postojati
više instanci (pojava) entiteta.Entiteti se predstavljaju imenicama.
Entiteti mogu biti: živa bića, predmeti, događaji iz realnog sistema. Entiteti posjeduju neka
svojstva (osobine, obilježja) i mogu se postaviti u različite odnose sa drugim entitetima, a
takođe, moguće je ustanoviti i hijerahiju nasljeđivanja (IS-a hijerarhiju) u klasama tipova
entiteta.
Entitet po svojoj prirodi može biti različit:
Dio okruženja (član kolektiva, aparat, zgrada, artikal, vozilo ...)
Apstraktni pojam (neka mjera, nečije zvanje, boja, ...)
Događaj (udes, postupak upisa studenata,...)
Asocijacija (student-predmet, predmet-profesor, ..., fakultet-profesor)
Nezavisni entiteti su entiteti koji imaju sopstvenu identifikaciju, tj. nisu zavisni od
drugog entiteta.
Zavisni entiteti su entiteti čija je egzistencija i identifikacija zavisna od drugog ili
drugih entiteta. Zavisan (slab) objekat ne može da postoji bez (egzistencijalno je zavisan od)
nadređenog (jakog)objekta. Slab objekat ne može da se identifikuje bez (identifikaciono je
zavisan od) veze sa nadređenim objektom.
U grafičkom prikazu se prikazuje pravougaonikom unutar kojega je upisan naziv tipa
entiteta
ASOCIJATIVNI ENTITET
Asocijativni entitet je entitet koji može da postoji samo između dva ili više drugih
entiteta, i koji egzistira da bi pamtio informacije o odnosu između tih entiteta. Na primjer,
osoba može da bude član u većem broju klubova i klub može da ima više članova, što se
predstavlja sljedećim ER dijagramom :
21
eMPIRICA – III Semestar: PRI 2013
ATRIBUT
Atribut predstavlja karakteristiku (svojstvo) koja pobliže opisuje entitet. Može poprimiti
vrijednost iz određenog skupa vrijednosti koji predstavlja domen (tip vrijednosti) tog
atributa. Svaki atribut u u jednom trenutku ima neku vrijednost. Atribut ili skup atributa koji
jednoznačno određuje svaku pojavu entiteta se naziva ključ tipa entiteta.
Vanjski ključ: grupa atributa koji jednolično određuju pojedini entitet unutar povezujućeg
tipa entiteta.
Model ER formalno ne sadržava vanjski ključ koji faktički predstavlja zamjenu
tipa povezivanja modela ER u relacijskoj teoriji.
Kasnije notacije, nastale prije svega u svjetlu modeliranja relacijskih baza
podataka, to su promijenile i u skup svojih elemenata uvele i koncepte
relacijske teorije (vanjski ključ i domen)
22
eMPIRICA – III Semestar: PRI 2013
Grafički se prikazuje elipsom unutar koje je upisan naziv atributa. Ključni atributi se
podvlače.
Atribut je zajednička osobina koju poseduju svi entiteti jedne klase. Broj atributa nije fiksan
a relevantne atribute definiše kompetentna osoba od čega zavisi upotrebljivost dobijenih
informacija. Atributi svih entiteta poprimaju određene vrijednosti.
Premalo atributa:
model jednostavan za predstavljanje i analizu,
vjerodostojnost mala,
ograničen je broj upotrebljivih informacija
Previše atributa:
vjerodostojnost odlična,
kompleksnost velika,
manipulacija podacima teško izvodljiva,
dobijaju se konfuzne informacije.
Postoje tri osnovne kardinalnosti binarnog odnosa (između tipova entiteta X i Y):
• 1:1
– jedan prema jedan — Jedan entitet tipa X može biti pridružen najviše jednom entitetu
tipa Y. Jedan entitet tipa Y može biti pridružen najviše jednom entitetu tipa X. Primjer:
automobil i volan.
• 1:M
– jedan prema više — Jedan entitet tipa X može biti pridružen većem broju entiteta tipa Y.
Jedan entitet tipa Y može biti pridružen najviše jednom entitetu tipa X. Primer: zgrada i
prostorije.
• M:M
24
eMPIRICA – III Semestar: PRI 2013
– više prema više — Jedan entitet tipa X može biti pridružen većem broju entiteta tipa Y.
Jedan entitet tipa Y može biti pridružen većem broju entiteta tipa X. Primer: automobil i
oprema.
GENERALIZACIJA
Proces uzimanja nekoliko srodnih entiteta i kreiranje generalne superklase.
Generalizacija je apstrakcija u kojoj se skup sličnih tipova objekata pretstavlja opštijim
generičkim tipom (nadtipom).
Pod sličnim tipovima objekata ovdje se mogu tretirati tipovi objekata koji imaju jedan
broj istih (zajedničkih) atributa, tipova veza sa drugim objektima i operacija.
25
eMPIRICA – III Semestar: PRI 2013
26
eMPIRICA – III Semestar: PRI 2013
Martinova notacija
27
eMPIRICA – III Semestar: PRI 2013
Identifikujuće veze koje entitet dijete identifikuje kroz njegovu vezu sa entitetom
roditelj (ljekar-pacijent).
Neidentifikujuće veze koje ne identifikuju entitet dijete preko identifikatora entiteta
roditelja.
Veza prema podtipovima uspostavlja vezu između entiteta i njegovih zavisnih,
klasnih entiteta.
Neodređujuće veze koje se smatraju veze više prema više.
28
eMPIRICA – III Semestar: PRI 2013
Za predstavljanje odnosa neke koriste liniju sa nazivima na njoj, drugi koriste romb.
Najčešći scenario:
Poći od tekstualnog opisa problema
Analizirati ga i uvesti neophodne pretpostavke
Kreirati ER dijagram koji odslikava situaciju i eksplicira odnose među tipovima
entiteta
Korak od ER dijagrama ka implementaciji baze podataka biće pravolinijski
Kreiranje baze podataka jeste glavni cilj
PRELAZAK IZ KONCEPTUALNOG U
LOGIČNO MODELIRANJE
Model ER predstavlja prelazak iz konceptualnog u logično modeliranje
30
eMPIRICA – III Semestar: PRI 2013
PREDAVANJE 3
DEKOMPOZICIJSKI DIJAGRAM
Raščlanjivanje cjeline na njegove dijelove naziva se dekompozicijskim
dijagramom.Dekompozicijskim dijagramom se informacijski sistem raščlanjuje na
podsisteme (funkcije), podsistemi (funkcije) na procese, procesi na potprocese, potprocesi
na aktivnosti (Varga, 2007.). Aktivnosti se isto tako mogu raščlanjivati.
Na sljedećoj slici je prikazan način formiranja općeg dekompozicijskog dijagrama.
31
eMPIRICA – III Semestar: PRI 2013
32
eMPIRICA – III Semestar: PRI 2013
Uvjet kod ovakvog sistema jest da postoje kupci ili klijenti koji su zainteresirani i voljni
kupiti proizvod ili uslugu. Kada imamo zainteresiranu stranu, procesi su ništa drugo nego
životni ciklus proizvoda koji će se na kraju isporučiti kupcu.
33
eMPIRICA – III Semestar: PRI 2013
34
eMPIRICA – III Semestar: PRI 2013
35
eMPIRICA – III Semestar: PRI 2013
36
eMPIRICA – III Semestar: PRI 2013
Opis problema
Neefikasno poslovanje kao glavni problem predstavlja skup pojedinih problema
poduzeća vezanih uz neefikasnost dokumentacije i nedovoljnu povezanost organizacijskih
jedinica.
Zaostajanje za konkurencijom je problem koji dovodi do smanjenja prodaje na
domaćem i inozemnom tržištu, a samim time i manje prihode i ostvarenje profita. Ovaj
37
eMPIRICA – III Semestar: PRI 2013
38
eMPIRICA – III Semestar: PRI 2013
39
eMPIRICA – III Semestar: PRI 2013
poslove koji se daju automatizirati, te tako ostavlja vremena radnicima da rade poslove
bitne za poduzeće.
DEKOMPOZICIJSKI DIJAGRAM
ORGANIZACIJSKIH JEDINICA
40
eMPIRICA – III Semestar: PRI 2013
41
eMPIRICA – III Semestar: PRI 2013
43
eMPIRICA – III Semestar: PRI 2013
Svaki tok podataka ima opis ‒ podaci u skladište / iz skladišta podataka obično nose
ime samog skladišta
Postoje sljedeće vrste tokova:
ulazni,
izlazni i
unutarnji.
44
eMPIRICA – III Semestar: PRI 2013
U fazi analize obrađujemo logičke grupe podataka, čiji budući fizički oblik još nije
bitan. U skladištu možemo izvoditi sve operacije s podacima ali ne možemo uzimati podatke
koji nisu bili pohranjeni u skladištu. Strukturu skladišta određujemo podatkovnim modelom.
Vanjski izvori podataka predstavljaju vanjske procese ili sisteme. Za takve izvore nas ne
zanima njihova struktura. Zanimaju nas samo podaci koji se izmjenjuju s procesima našeg
dijagrama. Svi procesi koji nisu dio obrađivanog sklopa pripadaju vanjskim sistemima, što
znači da postaju vanjski izvori podataka.
45
eMPIRICA – III Semestar: PRI 2013
Tokom analize definira se velik broj procesa. Dijagrami s previše elemenata su nečitki.
Dijagrami tokova podataka i dijagrami funkcionalne dekompozicije mogu se graditi skladno
‒ svako čvorište dijagrama funkcionalne dekompozicije predstavlja svoj dijagram tokova
podataka. Numeriranje je uređeno u skladu s hijerarhijskom strukturom (1.4.3.6). Uglavnom
je broj dijagrama na nižem nivou jednak broju procesa na višem nivou. Dijagrami tako nose
imena procesa koje raščlanjuju. Vanjski izvori podataka ne bi se trebali prikazivati na nižim
nivoima. Zakon o očuvanju tokova podataka. Svi tokovi podataka koji ulaze i izlaze iz
procesa moraju biti sačuvani na nižem nivou.
46
eMPIRICA – III Semestar: PRI 2013
Skladište podataka javlja se na onom nivou gdje povezuje dva ili više procesa.
Ako se skladištem bavi samo jedan proces, to je pitanje procesa koji će se
razgraditi na nižem nivou.
Raščlanjivanje je smisleno dok procesi nisu temeljni odnosno dok teško
definiramo skladišta podataka među njima. U načelu se mogu opisati kao
samostalni procesi.
47
eMPIRICA – III Semestar: PRI 2013
PREPORUKE I KARAKTERISTIKE
DIJAGRAMA TOKOVA PODATAKA
Preporuke koje je dobro pratiti prilikom pravljenja dijagrama toka:
dijagram bi trebao sadržavati od 5 do 9 procesa,
mora biti jasno oblikovan,
sve komponente i dijagrami moraju biti jasno i jednoznačno imenovani,
svako ponavljanje na jednom ili različitim dijagramima mora biti
označeno; procesi se prikazuju samo jedanput
izrađujemo ih u više koraka i oni su tehnika logičkoga oblikovanja –
analiza.
Karakteristike izrade dijagrama toka:
postupak je iterativan,
dijagrami su logički modeli, zbog toga ne smijemo težiti tehničkom
savršenstvu,
izbjegavanje programerskog sindroma tehničkog savršenstva jer korisnici
nisu programeri.
48
eMPIRICA – III Semestar: PRI 2013
PREDAVANJE 4
STRUKTURNI DIJAGRAMI
Strukturni dijagram ‒ hijerarhijski prikazuje uređenost modula programskog rješenja.
Svaki modul predstavljen je s pravougaonikom, a poveznice (strelice) između njih određuju
vlasništvo modula (smjerove pozivanja) odnosno njihovih aktivnosti i podaktivnosti.
Strukturni dijagrami planerima omogućavaju podjelu kompleksnog problema na
podprobleme u skladu s principom podijeli pa vladaj (funkcionalna dekompozicija). Iz
strukturnog dijagrama razvidni su opseg i kompleksnost sistema, broj modula unutar
pojedine funkcije i kompleksnost svake pojedine funkcije (potreba po daljnjoj podjeli).
Izrada strukturnog dijagrama počinje od vrha prema dolje ‒ najprije se definira korijen
hijerarhijske strukture. Slijedi analiza ključnih aktivnosti koje sistem mora izvesti za potrebe
dostizanja konačnog rezultata, iz čega nastaje skup modula na nižem hijerarhijskom nivou.
Dekompozicija se nastavlja dalje sve dok listovi drveta ne opisuju pojedine metode sistema
u izradi-
49
eMPIRICA – III Semestar: PRI 2013
50
eMPIRICA – III Semestar: PRI 2013
AKCIJSKI DIJAGRAM
Akcijski dijagrami predstavjaju redoslijeda izvođenja koda i poziva
potprograma.Hijerarhija je s lijeve prema desnoj, redoslijed odozgo prema dolje.
51
eMPIRICA – III Semestar: PRI 2013
DIJAGRAMI TOKA
Dijagrami toka su grafovi koji predstavljaju pojedine korake računarskih algoritama ili
poslovnih procesa. Koriste se na različitim područjima za analizu, planiranje i dokumentaciju
Postoji više podjela dijagrama toka, npr:
programske (tumače programsku logiku),
podatkovne (tumače tok podataka),
dokumentne (tumače tok dokumenata),
sistemske (obrađuju fizički – sistemski nivo),
procesne (opisuju izvođenje redoslijeda aktivnosti poslovnog procesa)
itd.
Opći simboli dijagrama toka su:
početak i kraj procesa,
aktivnost: pojedini korak procesa,
kontrolni tok: bira tok izvođenja procesa,
odluka ili razgranjivanje: sadrži pitanje (uvjet), na osnovi kojeg dolazi do
podjele kontrolnog toka na dva ili više tokova,
potproces: uključuje redoslijed aktivnosti.
Pored navedenih koriste se još brojni drugi simboli koji imaju specifičnija područja
upotrebe:
dokument,
ručno unošenje podataka,
ručna operacija,
podatkovna datoteka,
52
eMPIRICA – III Semestar: PRI 2013
čekanje itd.
53
eMPIRICA – III Semestar: PRI 2013
54
eMPIRICA – III Semestar: PRI 2013
55
eMPIRICA – III Semestar: PRI 2013
Poslovni proces
56
eMPIRICA – III Semestar: PRI 2013
PREDAVANJE 5
57