6269 is Autobusne Stanice

  • Upload
    goran

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

  • 8/12/2019 6269 is Autobusne Stanice

    1/66

  • 8/12/2019 6269 is Autobusne Stanice

    2/66

    2

    1. Uvod

    Tema seminarskog rada je autobusna stanica, meutim zamiljeno je da se uradi jedan njezindio s obzirom da je tema preiroka. Promatrali smo autobusnu stanicu kao cjelovit informacijskisistem, meutim nakon detaljnije analize doli smo do zakljuka da je nemogue da dvoje ljudi(studenata) obave cjelokupan posao i projektiraju informacijski sistem itave autobusne stanice,

    a uskoro e vam to biti objanjeno u sljedeim poglavljima. Ovdje se radi o informacijskomsistemu Mostar Busa, odnosno jednom njegovom dijelu, a to je odjeljenje koje je zadueno daupravlja prometom lokalnih autobusa na podruju Mostara, dakle saobraajnim odjeljenju iodjeljenju odravanja. Nakon intervjua s radnicima doli smo do zakljuka da je vrlo malocjelokupnog sistema automatizirano, stoga smo odluili obuhvatiti osnovne aspekte, odnosnoonaj dio koji radnicima zadaje najvie problema, pa smo u sporazumu s njima odluili dapokuamo automatizirati sljedee stavke:

    Putni nalog

    Red vonje Raspored vozaa na linije Mjesena knjiga satnica

    Evidencioni karton vozila Radni nalog

    Obraun karata Evidencija dijelova na skladitu (katalogizacija i popis dijelova) Evidencija ulaska robe na skladite (ulaz robe) Evidencija izlaska robe iz skladita (izlaz robe)

    Za sada su to sve stavke koje smo odluili obuhvatiti unutar rada, ali ukoliko radnici Mostar Busabudu zahtjevali neke dodatne stavke i to emo obraditi. Moramo spomenuti da je cijena kartefiksna unutar lokalnih zona tako da je u gradskoj zoni karta 1 KM, a prigradskoj se kree od 1,50- 3 KM, zavisno od udaljenosti. Stoga se unutar saobraajnog odjeljenja vri samo dnevniobraun karata iji se izvjetaji dalje prosljeuju u glavnu upravu.Rano je poeti govoriti o tekoama, meutim prilikom intervju smo doli do zakljuka da jeveina zaposlenih u srednjim godinama, odnosno iznad 40, stoga je ljude jako teko uvjeriti uautomatizaciju sistema jer pola svog ivota naloge i razne izvjetaje manuelno ispunjavaju.Stoga su nas pokuali odgovoriti od nae namjene da im pokuamo pomoi, navodei dapojedine elemente nije mogue raditi na kompjutoru. Mi smo ih uvjeravali u suprotno i pokuatemo im dokazati da im moemo pomoi. Meutim, moramo naglasiti i da su zaposleni biliveoma susretljivi s nama i pokuali su nam sve objasniti, odnosno kako itav sistem funkcionira imi emo se u budunosti, tijekom rada, konsultirati s njima i redovno im dostavljati izvjetaje oonome to radimo. Pa ak i ako na projekt nikada neugleda svjetlo dana bit emo ponosni tosmo shvatili bitne elemenete projektovanja, a to je suradnja sa zaposlenim i konsultacije prilikomanalize, dizajna i implementacije. To bi bilo sve za uvod, a u nastavku slijedi analiza naeg rada.

  • 8/12/2019 6269 is Autobusne Stanice

    3/66

    3

    2. Opis zateenog stanja informacijskog sistema (snimak stanja)

    Kao to smo u uvodu spomenuli, radi se o informacijskom sistemu koji ima dva odjeljenja. Jednoodjeljenje se nalazi u Biu polju, a drugo u Ratanima. Mi smo odluili automatizirati prometnoodjeljenje koje se nalazi u Ratanima. To je prometno odjeljenje koje ima 18 vozaa i 38autobusa. S obzirom da smo vrili intervju s radnicima doli smo do zakljuka da je sistem u

    Biu polju donekle automatiziran i da se odreeni poslovi obavljaju na raunaru. Meu tim,prometno odjeljenje koje emo mi analizirati u daljnjem radu, nije automatizirano. Postoji jedanraunar na kojem se printaju redovi vonje, obavijesti i nalazi se spisak kola i uenika kojikupuju mjesene karte, a sve ostalo se radi runo. ef prom eta nam je rekao da je sve papirekoje zaposleni ispunjavaju, od putnih naloga, preko obrauna prodanih karata, do evidencijevozila propisala drava po odreenom protokolu i taj protokol se mora slijediti. Ukoliko bi mipokuali sve to automatizirati, pitanje je da li bi bili u koliziji s pravilima koje je nametnula dravai da li bi na sistem ugledao svjetlo dana i bio upotrebljen praktino, a ne samo na papiru. Neznamo tono kako bi se to moglo realizirati, ali nam je bitno da shvatimo sistem, da gapokuamo unaprijediti i da dovrimo seminarski rad. Zapravo je jako bitno to prije rijeiti ovajproblem jer se nalazimo u informatikom dobu i stoga je smijeno da ljudi jo uvijek sve raderuno kad imaju mogunost da to izbjegnu. Nama je zapravo bilo nepojmljivo kad su nam ljudirekli da jo uvijek posluju na staromodan nain, ali kao to smo ve prije naveli, vrlo im jeteko prihvatiti novu tehnologiju. Dakle, to se tie informacijskog sistema koji mi obraujemo,moemo s potpunom ispravnou rei da NIJE automatiziran. eka nas vrlo naporan posao jerbi bilo lake da imamo ve neki sistem pa napravimo reininjering, ali ovako moramo krenuti odnule. Moda zbog toga sistem bude efikasniji jer moramo uzeti puno toga u obzir kad budemoanalizirali i dizajnirali novi sistem, a i tako emo neto korisno nauiti. Ono to je najbitnije spomenuti je da na sistem nee u potpunosti biti implemetiran zavretkomovog seminarskog rada ve emo ga nadograivati i u budunosti. Ovdje emo obraditinajosnovnije elemente sistema, a ukoliko se Mostar Bus odlui da prihvati aplikaciju i pone jekoristiti pri obavljanju poslova, tada emo implementirati sistem u potpunosti i nadograditi oneelemente koje smo izostavili pri implementaciji ove verzije.

    3. Organizacijska struktura

    Ovako izgleda organizacijski dijagram cjelokupnog poduzea:

    ifra radnog mjesta Naziv radnog mjesta Struna sprema Broj izvrilaca

    00 Direktor VSS 1

    I-00 Izvrni direktor VSS 1

    I-000 Kordinator za tehnika pitanja VSS 2

    I-10 Sluba zajednikih poslova

    I-10-1 Rukovodilac slube VSS 1

    I-20 Financijsko odjeljenje

    I-20-1 Glavni knjigovoa V/VSS 1I-20-2 Referent prihoda SSS 1

    I-20-3 Referent za kontrolu karata SSS 1

    I-20-4 Materijalniknjigovoa SSS 1I-20-5 Blagajnik V /VSS 1I-20-6 Referent nabavke V/VSS 1

  • 8/12/2019 6269 is Autobusne Stanice

    4/66

    4

    I-30 Odjeljenje za pravne, kadrovske i ope poslove

    I-30-1 Pravnik VSS 1

    I-30-2 Refer. pravnih i kadrovskihposlova

    V S 1

    I-30-3 Tehniki sekretar SSS 1I-30-4 Straar Vatrogasac KV/NK 8I-30-5 Kontrolor saobraaja SSS/KV 4

    I I Sluba eksploatacije saobraaja i odravanja vozila JUG

    I I -10-1 Rukovodilac slube VS/V 1

    I I20 Saobraajno odjeljenje

    I I20-1 Referent saobraaja V/SSS 1I I20-2 Voza autobusa VK/KV 26I I20-3 Obraunski radnik SSS 1I I20-4 Blagajnik SSS 2

    I I30 Odjeljenje odravanja

    I I30-1 Poslovoa VK/KV 1I I30-2 Magaciner SSS/KV 1I I30-3 Automehaniar VK/KV 2I I30-4 Autoelektriar VK/KV 1I I30-5 Autolimar VK/KV 1

    I I30-6 ista vozila NK 2I I30-7 Pomoni radnik NK 1

    I I I Sluba eksploatacije saobraaja i odravanja vozila SJEVER

    I I I -10-1 Rukovodilac slube VS/V 1

    I I I 20 Saobraajno odjeljenje

    I I I20-1 Referent saobraaja V/SSS 1I I I20-2 Voza autobusa VK/KV 20I I I20-3 Obraunski radnik SSS 1I I I20-4 Blagajnik SSS 1

    I I I 30 Odjeljenje odravanja

    I I I30-1 Poslovoa VK/KV 1I I I30-2 Magaciner SSS/KV 1I I I30-3 Automehaniar VK/KV 2I I I30-4 Autoelektriar VK/KV 1I I I30-5 Autolimar VK/KV 1I I I30-6 ista vozila NK 2I I I30-7 Pomoni radnik NK 1

  • 8/12/2019 6269 is Autobusne Stanice

    5/66

    5

    A ovo je organizacijski dijagram odjeljenja kojeg mi obraujemo (prometno odjeljenje):

    I I I Sluba eksploatacije saobraaja i odravanja vozila SJEVER

    I I I -10-1 Rukovodilac slube VS/V 1

    I I I 20 Saobraajno odjeljenje

    I I I20-1 Referent saobraaja V/SSS 1I I I20-2 Voza autobusa VK/KV 20I I I20-3 Obraunski radnik SSS 1I I I20-4 Blagajnik SSS 1

    I I I 30 Odjeljenje odravanja

    I I I30-1 Poslovoa VK/KV 1I I I30-2 Magaciner SSS/KV 1I I I30-3 Automehaniar VK/KV 2I I I30-4 Autoelektriar VK/KV 1I I I30-5 Autolimar VK/KV 1I I I30-6 ista vozila NK 2I I I30-7 Pomoni radnik NK 1

    to se tie ovog odjeljenja potrebno je objasniti raspored radnih mjesta u praksi da ne bi dolodo zabune u daljnjem radu.Trenutno u odjeljenu postoji nedostatak radnika pa su pojedini radnici rasporeeni na 2 radnamjesta.Rukovodilac slube i referent saobraaja su teoretski dva radna mjesta, ali ih u praksi obavlja 1

    ovjek koji ima sljedea zaduenja: Pisanje putnih naloga

    Sastavljanje reda vonje Raspored vozaa na linije Pisanje mjesene knjige satnica

    Poslovoa je, takoer, u praksi i ef radionice pa tako i on obavlja 2 posla, a njegova zaduenjasu sljedea:

    Provjera ispravnosti vozila i odravanje vozila to obavlja kroz evidencioni karton vozila Pisanje radnih naloga ukoliko se dogodi kvar na autobusu pa ga treba popraviti

    Obraunski radnik i blagajnik su takoer dva radna mjesta, ali ih obavlja jedna osoba i njegovazaduenja su: Dnevni obraun karata (vozni list) Prebrojavanje novca i upuivanje novca upravi Izdavanje novca za kupovinu potrebnih dijelova

    Skladitar obavlja sljedee poslove: Evidencija dijelova na skladitu (katalogizacija i popis dijelova) Evidencija ulaska robe na skladite (ulaz robe) Evidencija izlaska robe iz skladita (izlaz robe)

    Ovo su, takoer, radna mjesta kojima elimo pomoi u radu i automatizirati poslove koje oni

    ovdje jo uvijek manuelno provode, pa emo se u daljnjem radu bazirati na ova radna mjesta injihova zaduenja.

  • 8/12/2019 6269 is Autobusne Stanice

    6/66

    6

    4. Opis posla (Brainstorming dijagram)

    1. Intervju s radnicima da bi otkrili njihove zahtjeve2. Analiza problema i moguih rijeenja3. Izrada poetne dokumentacije4. Planiranje vremena potrebnog za projekat

    5. Izrada i kratak opis Use-Case dijagrama6. Izrada konceptualnog modela7. Izrada poetnog dijagrama klasa8. Detaljna obrada Use-Case dijagrama9. Izrada sekvencijalnih dijagrama10. Izrada kolaboracijskih dijagrama11. Izrada stvarnog dijagrama klasa12. Izrada softvera13. Testiranje softvera14. Pisanje zavrne dokumentacije15. Pisanje pomoi za korisnike16. Instalacija softvera17. Evaluacija rezultata

  • 8/12/2019 6269 is Autobusne Stanice

    7/66

    7

    5. Opis postupaka na seminarskom radu (metode, postupci)

    Evo kako smo zamislili da planiramo vrijeme, odnosno metode i postupke koje emo koristiti priizradi sistema. Prikazano je gantogramom i mrenim dijagramom. Primjeri su raeni uMSProjectu 2003.

    Gantogram:

    Mrenidijagram:

  • 8/12/2019 6269 is Autobusne Stanice

    8/66

    8

    6. Objektno-orijentirana analiza i dizajn

    6.1 Elaboracija

    Unutar ove faze razvoja softvera emo razmotriti sve dijelove sistema za koji se razvijasoftver. Pored toga emo napraviti Use-Case dijagrame, konceptualni model i dijagram klasageneriran iz konceptualnog modela.

    Opis problema

    Openito, problem je nedostatak automatiziranog rijeenja za upravljanje poslovanjemMostar Bus prometnog odjeljenja. Kompletno poslovanje zasniva se na manuelnoj obradipodataka. Mnogi dijelovi sistema se mogu automatizirati, pa tako pisanje putnih naloga,radnih naloga, reda vonje, rasporeivanja vozaa na linije, upravljanje skladitem i vozilima,itd. Stoga smo odluili da pokuamo automatizirati barem pojedine dijelove sistema, tj. one skojima se radnici svakodnevno susreu u svom radu.

    Opi ciljevi i problemi

    Prilikom intervjua s radnicima Mostar Busa doli smo do zakljuka koje poslove svakodnevnoobavljaju i koji bi se elementi mogli automatizirati.

    Cilj Problem Prioritet

    Pojednostaviti pisanjeputnih naloga

    Referent saobraaja se svaki dan susree sproblemom pri pisanju putnih naloga. Mora dobropregledati koji su putni nalozi aktivni kako vozau ne bidao novi putni nalog ukoliko nije vratio prethodni.Nadalje, u putnom nalogu se moe navesti samoautobus koji je slobodan, odnosno nije u nekomaktivnom nalogu. Takoer se moe dodati linija pokojoj ve ne vozi neki autobus u tom trenutku.

    Visoki

    Imati popis radnika ipodatke o njima na

    jednom mjestu

    Problem je to se podaci o radnicima nalaze uregistratorima, pa kad je potrebno izmjeniti podastke onekom radniku ili ga ukloniti iz spiska javljaju seproblemi, npr. treba ga prvo pronai, pa nekakoevidentirati da on vie ne radi tu ili je rasporeen nanovo radno mjesto i sl.

    Visoki

    Automatskoobraunavanje karata

    Svaki voza zaduuje odreenu koliinu karata zapojedinu zonu, a kad se vrati s puta karte koje nije

    prodao se vrate, a ostale se obraunaju kao prodane.Potrebno je pojednostavniti manuelno obraunavanjezaduenih, razduenih i prodanih karata.

    Visoki

    Pojednostavitiupravljanje linijama

    Svakoj liniji se dodjeljuju vozai i autobusi ukol iko onanije trenutno aktivna, tj. ako ne postoji ve nekiautobus koji u tom trenutku vozi po toj liniji. Kako bi sevozai i autobusi mogli ispravno dodijeliti liniji potrebno

    je prvo pregledati izvjetaj o putnim nalozima, pa ovozilima, itd. to je gubitak vremena. Svi te informacijee se sada nalaziti na jednom mjestu pa e se novalinija moi brzo i efikasno kreirati.

    Visoki

    Automatizirati

    upravljanje skladitemProblem je manuelna katalogizacija dijelova na

    skladitu, biljeenje ulaza i izlaza robei sl. Potrebno jeautomatizirati navedene poslove radi efikasnosti i

    Visoki

  • 8/12/2019 6269 is Autobusne Stanice

    9/66

    9

    utedi u vremenu.Pojednostavitiupravljanje vozilima(autobusima)

    Svako vozilo ima evidencioni karton koji sadripodatke o njemu. Ukoliko je potrebno promijeniti nekipodatak ili nai neku informaciju o vozilu potrebno jepregledati odgovarajuu sumu evidencijskih kartona.Omoguit emo bre unoenje i pronalaenjeinfrmacija o vozilima.

    Srednji

    Pojednostavitiunoenje i obradupodataka u knjizisatnica

    Knjiga satnica sadri podatke o tome koliko je svakiradnik radio sati svaki dan. Svaki dan se prethodnonavedeni podaci unose u knjigu satnica i na osnovutoga se obraunava radnikova plaa. Ali to je radidrugo odjeljenje istog poduzea. Nama je cilj osiguatiautomatizirano rijeenje za unos i pohranjivanjepodataka, a isto tako i generiranje upita da se videpodaci o samo jednom radniku ili samo jednom danu.

    Srednji

    Pojednostaviti pisanjeradnih naloga

    Radni nalozi se piu radniku kad treba obaviti nekupopravku na autobusu. Problem je to se i ovdje radni

    nalozi piu manuelno. Cilj je pojednostaviti pisnjeradnih naloga, kao i pregled aktivnih naloga,kompletiranje vraenih i sl.

    Srednji

    Izmjena reda vonje Red vonje je fiksan i ne moe se mijenjati jer jeizveden iz linija. Omoguit emo da se red vonjemoe promijeniti, a isto tako i isprintati.

    Srednji

    Ciljevi korisnika

    Akter Cilj

    Refernet saobraaja Upravljanje radnicimaUpravljanje linijamaSastavljanje reda vonjePisanje putnih nalogaZakljuivanje putnih nalogaEvidencija kretanja autobusaRasporeivanje vozaa na linijePopunjavanje mjesene knjige satnica

    ef radionice Evidencija vozilaIzdavanje i zakljuivanje radnih naloga

    Skladitar Katalogizacija materijalaEvidencija ulaza materijalaEvidencija izlaza materijalaUpravljanje otpremnicama

    Obraunski radnik Zaduivanje karataRazduivanje karataObraun prodanih karata

    Administrator Dodavanje korisnikaIzmjena nivoa pristupa korisnicimaBrisanje korisnika

  • 8/12/2019 6269 is Autobusne Stanice

    10/66

  • 8/12/2019 6269 is Autobusne Stanice

    11/66

    11

    Kratki opis Use Case-ova:

    Use-Case: Upravljanje linijamaKratkiopis:

    Upravljanje linijama se odnosi na dodavanje i pregled podataka o linijama.

    Aktor: Referent saobraaja

    Use-Case: Upravljanje radnicimaKratkiopis:

    Upravljanje radnicima se odnosi na unoenje novih radnika, brisanjepostojeih, te izmjena podataka o radniku.

    Aktor: Referent saobraaja

    Use-Case: Sastavljanje reda vonjeKratkiopis:

    Sastavljanje reda vonje zahtjeva formu gdje se moe pregledati red vonje,izmjenit podaci i isprintati red vonje.

    Aktor: Referent saobraaja

    Use-Case: Pisanje putnih nalogaKratkiopis:

    U putni nalog se unose elementi kao to su odabir vozaa za koji se pie putninalog, odabir linije, autobusa. Jedan dio putnog naloga ostaje neispunjen dokse voza ne vrati sa smjene jer je u tom dijelu potrebno obaunavanje preenekilometrae koja se dobije iz tahometra. Nakon to Referent saobraaja unesepotrebne podatke snimi promjene i isprinta putni nalog koji zatim urui vozau.

    Aktor: Referent saobraaja

    Use-Case: Rasporeivanje vozaa na linijeKratkiopis:

    Voza je rasporeen na liniju nakon to mu se napie putni nalog. Ne moevoziti drugu liniju dok se ne vrati s puta i kompletira se putni nalog.

    Aktor:Referent saobraaja

    Use-Case: Popunjavanje mjesene knjige satnicaKratkiopis:

    Nakon logiranja s glavnog menija se odabere opcija Knjiga satnica i pojavi seforma gdje se unose dnevni podaci o satima rada za svakog radnikapojedinano u roku od mjesec dana. Znai svaki dan se mora unijeti koliko jepojedini radnik radio da bi se na kraju mjeseca zbrojili ukupni radni dani i sati.Iz ovih podataka saznajemo i koji su radnici slobodni kojim danima, bilo da suna godinjem odmoru ili bolovanju.

    Aktor: Referent saobraaja

    Use-Case: Evidencija kretanja autobusaKratkiopis:

    Iz podataka o vozilu se moe vidjeti da li je autobus slobodan ili je u vonji.Potrebno je evidentirati gdje se nalazi kako bi se slobodnom autobusu mogaododijeliti putni nalog i nova linija te voza koji e ga voziti.

    Aktor: Referent saobraaja

  • 8/12/2019 6269 is Autobusne Stanice

    12/66

    12

    ef radionice

    Kratki opis Use Case-ova:

    Use-Case: Evidencija vozilaKratkiopis:

    ef radionice vodi evidenciju vozila kroz Evidencioni karton vozila.Nakon to se ef radionice ulogira na sistem iz glavnog menija odabire opcijuVozila. Nakon toga moe dodati novo vozilo, pregledati vozni park, izmjenitipodatke o postojeim vozilima, itd.

    Aktor: ef radionice

    Use-Case: Pisanje radnih nalogaKratkiopis:

    Radni nalog se pie prilikom opravke vozila, bilo tekue ili na terenu. Radninalog se moe izdavati na vlastite radnike ili tree lica.U radnom nalogu se nalaze podaci o autobusu koji e se popravljati(registracija i model), te o dijelovima koji e biti zamjenjeni.

    Aktor: ef radionice

    Use-Case: Zakljuivanje radnih nalogaKratkiopis:

    Po povratku radnog naloga moraju se evidentirati sati rada i sati ekanja tepopravke koje su izvrene.

    Aktor: ef radionice

  • 8/12/2019 6269 is Autobusne Stanice

    13/66

    13

    Skladitar

    Kratki opis Use Case-ova:

    Use-Case: Evidencija ulaza materijalaKratkiopis:

    Po prijemu otpremnice s materijalom koji nedostaje, skladitar uknjiava da je

    odreeni materijal ili roba nabavljen/a.Aktor: Skladitar

    Use-Case: Katalogizacija materijalaKratkiopis:

    Katalogizacija materijala se odnosi na pregled popisa svih raspoloivihmaterijala na skladitu tj. uknjienih materijala. Nakon to se jednom uknjiimaterijal s klasom i grupom kojoj pripada mijenja se samo njegova koliina,koja se odnosi na ulaz, odnosno izlaz materijala sa skladita.

    Aktor: Skladitar

    Use-Case: Evidencija izlaza materijalaKratkiopis:

    Izlaz materijala se odnosi na materijal koji je izaao iz skladita na nain to jepotraivan od strane efa radionice ili nekog radnika.

    Aktor: Skladitar

    Use-Case: Upravljanje otpremnicamaKratkiopis:

    Popis otpremnica koje su stigle za odgovarajui narueni materijal naskladitu.

    Aktor: Skladitar

  • 8/12/2019 6269 is Autobusne Stanice

    14/66

    14

    Obraunski radnik

    Kratki opis Use Case-ova:

    Use-Case: Zaduivanje karataKratkiopis:

    Zaduivanje karata se odnosi na karte koje obraunski radnik da vozau, tj.voza zadui karte. Naravno da Obraunski radnik mora imati evidencijuzaduenih karata.

    Aktor: Obraunski radnik

    Use-Case: Razduivanje karataKratkiopis:

    Razduivanje zaduenih neprodatih karata.

    Aktor: Obraunski radnik

    Use-Case: Obraun prodanih karataKratkiopis:

    Obraun karata se odnosi na karte koje su prodane.

    Aktor: Obraunski radnik

  • 8/12/2019 6269 is Autobusne Stanice

    15/66

    15

    Administrator

    Kratki opis Use Case-ova:

    Use-Case: Dodavanje korisnikaKratkiopis:

    Administrator dodaje korisnike u sistem shodno njihovom radnom mjestu.

    Aktor: Administrator

    Use-Case: Popis korisnikaKratkiopis:

    Popis korisnika se odnosi na prikaz liste korisnika koji se nalaze u sistemu.

    Aktor:Administrator

    Use-Case: Brisanje korisnikaKratkiopis:

    Brisanje korisnika iz sistema.

    Aktor: Administrator

    Use-Case: Izmjena nivoa pristupa korisnicimaKratkiopis:

    Izmjena korisnikog imena, lozinke i privilegija korisnika.

    Aktor: Administrator

  • 8/12/2019 6269 is Autobusne Stanice

    16/66

    16

    Use-Case dijagram cijelog sistema

  • 8/12/2019 6269 is Autobusne Stanice

    17/66

  • 8/12/2019 6269 is Autobusne Stanice

    18/66

    18

    6.1.3 Dijagram klasa generiran iz konceptualnog modela

  • 8/12/2019 6269 is Autobusne Stanice

    19/66

    19

    6.2 Konstrukcija

    U ovoj fazi razvoja softvera bavit emo se analizom i dizajnom sistema. U anal izi emodetaljno obraditi Use-Case dijagrame. Navedeno podrazumjeva detaljnu obradu preduslovaza izvravanje i inicijacije, te glavnog i alternativnih tokova unutar Use-Case-ova. Nadalje, uanalizi emo, takoer obraditi i sekvencijalne dijagrame. Nakon to napravimo sekvencijalnedijagrame prelazimo u fazu dizajna, gdje emo obraditi kolaboracijske dijagrame.Kolaboracijski dijagrami su automatski generirani iz sekvencijalnih, a svi navedeni su raeniu programu Power Designer.U fazi dizajna emo predstaviti i stvarni dijagram klasa, odnosno te klase su kasnijeimplementirane u aplikaciji. Dijagram klasa je raen u programu Enterprise Architect.

    6.2.1 Analiza

    Detaljna razrada Use-Case dijagrama

    1. Referent saobraajaNaziv Use Case-a Upravljanje linijama

    UCID UC-1Prioritet 1

    Primarni aktor Referent saobraajaOpis Upravljanje linijama se odnosi na dodavanje i pregled

    podataka o linijama.

    Preduslovi Referent saobraaja mora biti ulogiran na sistem.Inicijacija Kada refernent saobraaja odabere akciju Linije koja se

    nalazi na glavnom meniju.

    Glavni tok Akcija aktora:

    1. Referent saobraajaodabere akciju Linije sglavnog menija.2. Referent saobraajaodabere Dodavanje linije spodmenija.3. Unese ili izmjeni potrebnepodatke i odabere akcijuPotvrdi.

    Odgovor sistema:

    1. Prikae se popis svihpostojeih linija.2. Otvori se forma selementima za unospodataka.3. Pohrani promjene.

    Alternative ALT1 U svakom trenutku korisnik moe prekinuti unospodatka. Sistem odbacuje unesene podatke.

    ALT2 Korisnik moe pregledati detaljne informacije opojedinoj liniji.ALT3Korisnik moe izdati putni nalog za odreenu liniju. ALT4Korisnik moe dodijeliti vozaa odabranoj liniji

  • 8/12/2019 6269 is Autobusne Stanice

    20/66

    20

    Naziv Use Case-a Upravljanje redom vonjeUCID UC-2Prioritet 1

    Primarni aktor Referent saobraajaOpis Upravljanje redom vonje zahtjeva formu gdje se moe

    pregledati red vonje, izmjeniti podaci i isprintati red vonje.Preduslovi Referent saobraaja mora biti ulogiran na sistem.Mora postojati barem jedna linija.

    Inicijacija Kada refernent saobraaja odabere akciju Red vonje kojase nalazi na glavnom meniju.

    Glavni tok Akcija aktora:1.Referent saobraajaodabere akciju Red vonje sglavnog menija.2. .Referent saobraajaodabere akciju tampanjereda vonje.

    Odgovor sistema:1.Prikae se red vonje.2. Isprinta Red vonje.

    Alternative ALT1 Ukoliko korisnik odabere opciju Izmjeni podatkemoe izmjeniti informacije o liniji koju je odabrao.

    Naziv Use Case-a Pisanje putnih naloga

    UCID UC-3

    Prioritet 1Primarni aktor Referent saobraajaOpis U putni nalog se unose elementi kao to su odabir vozaa za

    koji se pie putni nalog, odabir linije, autobusa. Jedan dioputnog naloga ostaje neispunjen dok se voza ne vrati sasmjene jer je u tom dijelu potrebno obaunavanje preenekilometrae koja se dobije iz tahometra. Nakon to Referentsaobraaja unese potrebne podatke snimi promjene i isprintaputni nalog koji zatim urui vozau.

    Preduslovi Mora biti slobodnih vozaa i ispravnih autobusa.Mora postojati barem jedna linija za vonju.Referent saobraaja mora biti ulogiran na sistem.

    Inicijacija Kada Refernt saobraaja odabere akciju Putni nalozi sglavnog menija.

    Glavni tok Akcija aktora:1. Referent saobraaja

    odabere akciju Putni nalozi sglavnog menija.2. Referent saobraajaodabere akciju Novi putninalog s podmenija3. Unese potrebne podatke uprazna polja ili odaberevozaa, liniju i autobus iodabere akciju Potvrdi.

    Odgovor sistema:1. Otvori se forma prikazom

    aktivnih putnih naloga.2. Otvori se forma za unoselemenata3. Pohrani promjene.

    Alternative ALT1 U svakom trenutku korisnik moe prekinuti unospodatka.Sistem odbacuje unesene podatke.

    ALT2Korisnik moe pregledati i aktivne putne naloge.ALT3Korisnik moe pregledati arhivu u kojoj se nalaze svi

  • 8/12/2019 6269 is Autobusne Stanice

    21/66

    21

    putni nalozi to je ikad izdao.ALT4Korisnik moe vidjeti detaljne informacije o aktivnim iarhiviranim putnim nalozima.

    ALT5Korisnik moe zakljuiti putni nalog.ALT6Korisnik moe tampati putni nalog.

    Naziv Use Case-a Evidencija kretanja autobusa

    UCID UC-4

    Prioritet 2Primarni aktor Referent saobraajaOpis Iz podataka o vozilu se moe vidjeti da l i je autobus slobodan

    ili je u vonji. Potrebno je evidentirati gdje se nalazi kako bise slobodnom autobusu mogao dodijeliti putni nalog i novalinija te voza koji e ga voziti.

    Preduslovi Mora postojati barem jedan autobus.

    Putni nalog mora biti izdat vozau.Referent saobraaja mora biti ulogiran na sistem.Inicijacija Kada Refernt saobraaja odabere akciju Vozila s glavnog

    menija.Glavni tok Akcija aktora:

    1. Referent saobraajaodabere akciju Vozila sglavnog menija.2. Korisnik pogleda koje jevozilo u garai i odabere tovozilo.3. Unese potrebne podatke i

    odabere akciju Potvrdi

    Odgovor sistema:1. Otvori se forma s popisomvozila, gdje se nalaze iinformacije o statusu vozila.2. Otvori se forma zakreiranje putnog naloga.3. Pohrani promjene i mijenjastatus vozila u Na putu.

    Alternative ALT1 Korisnik moe samo vidjeti status vozila i ne moramu automatski dodijeliti putni nalog ako je slobodno.

    ALT2Ukoliko je vozilo na putu, korisnik moe kompletiratiputni nalog kad se vozilo vrati u garau.

    ALT3Korisnik moe vidjeti i detaljan izvjetaj o vozilu.ALT4Korisnik moe tampati izvjetaj s podacima o vozilui njegovim statusom.

    Naziv Use Case-a Rasporeivanje vozaa na linijeUCID UC-5Prioritet 2

    Primarni aktor Referent saobraajaOpis Voza je rasporeen na liniju nakon to mu se napie putni

    nalog. Ne moe voziti drugu liniju dok se ne vrati s puta ikompletira se putni nalog.

    Preduslovi Putni nalog mora biti izdan.Linija mora biti dodjeljena vozau.

    Referent saobraaja mora biti ulogiran na sistem Inicijacija Odabir akcije Linije s glavnog menija.

  • 8/12/2019 6269 is Autobusne Stanice

    22/66

    22

    Glavni tok Akcija aktora:1.Referent saobraajaodabere akciju Linije sglavnog menija.2. Odabere se akcijaRaspored vozaa3. Odabere se akcijatampanje.

    Odgovor sistema:1.Otvori se forma s popisomlinija2.Prikae se forma spodacima o tome koji jevoza rasporeen na kojuliniju.3. Isprinta se izvjetaj orasporedu vozaa.

    Alternative nema

    Naziv Use Case-a Popunjavanje mjesene knjige satnicaUCID UC-6

    Prioritet 2Primarni aktor Referent saobraajaOpis Nakon logiranja s glavnog menija se odabere opcija Knjiga

    satnica i pojavi se forma gdje se unose dnevni podaci osatima rada za svakog radnika pojedinano u roku od mjesecdana. Znai svaki dan se mora unijeti koliko je pojedini radnikradio da bi se na kraju mjeseca zbrojili ukupni radni dani isati za pojedinog radnika.

    Preduslovi Mora postojati barem jedan radnik.Referent saobraaja mora biti ulogiran na sistem

    Inicijacija Kada Refernt saobraaja odabere akciju Knjiga satnica sglavnog menija.

    Glavni tok Akcija aktora:1.Referent saobraajaodabere akciju Knjiga satnica

    s glavnog menija.2. Unese sate rada zasvakog radnika pojedinanoza taj dan i odabere akcijuPotvrdi.

    Odgovor sistema:1.Otvori se forma s popisomradnika i mogunou unosasati rada za taj dan.2.Pohrani promjene

    Alternative ALT1 Ukoliko taj dan nee vie unositi podatke u knjigusatnica odabere se opcija Zakljui knjigu i za taj dan seknjiga satnica zakljua

    ALT2Pregled knjige satnica po danu i po radniku.ALT3Pregled izvjetajaodabirom akcije Izvjetaj.

    Naziv Use Case-a Upravljanje radnicima

    UCID UC-7Prioritet 1

    Primarni aktor Referent saobraajaOpis Upravljanje radnicima se odnosi na unoenje novih radnika,

    brisanje postojeih, te izmjena podataka o radniku. Preduslovi Referent saobraaja mora biti ulogiran na sistem .Inicijacija Kada Referent saobraaja odabere opciju Radnici s glavnog

    menija.

    Glavni tok Akcija aktora:1.Referent saobraaja

    Odgovor sistema:1.Otvori se forma sa popisom

  • 8/12/2019 6269 is Autobusne Stanice

    23/66

    23

    odabere akciju Radnici sglavnog menija.2.Referent saobraajaodabere akciju Unos radnikas podmenija.3. Unese novog radnika ipotvrdi unos

    radnika.2. Otvori se forma za unospodataka o radniku.3. Snima promjene

    Alternative ALT1Mogu se pregledati samo vozai.ALT2Mogu se pregledati svi radnici.ALT3Mogu se izmjeniti podaci o radniku.ALT4Mogu se vidjeti detaljne informacije o radniku.ALT5Moe se izbrisati radnik.

    2. ef radionice

    Naziv Use Case-a Evidencija vozila

    UCID UC-8

    Prioritet 4Primarni aktor ef radioniceOpis ef radionice vodi evidenciju vozila kroz Evidencioni karton

    vozila.Nakon to se ef radionice ulogira na sistem iz glavnogmenija odabire opciju Vozila. Nakon toga moe dodati novovozilo, pregledati vozni park, izmjeniti podatke o postojeimvozilima, itd.

    Preduslovi ef radionice mora biti ulogiran na sistem i mora postojati barjedno vozilo da bi se moglo evidentirati.

    Inicijacija Kada ef radionice odabere akciju Vozila s glavnog menija Glavni tok Akcija aktora:

    1. ef radionice odabereakciju Vozila s glavnogmenija2. Odabira akciju Unos vozila3. Unosi podatke o vozilu ipotvrdi unos

    Odgovor sistema:1.Otvori se forma s popisomvozila2. Prikae formu za unos3. Snima promjene

    Alternative ALT1Izmjena podataka o vozilu.ALT2Printanje izvjetaja o odabranom vozilu.

    ALT3Printanje izvjetaja o svim vozilima.ALT3Mogunost brisanja vozila ukoliko je staro i dotrajalote se vie ne koristi u prijevozne svrhe.

    Naziv Use Case-a Pisanje radnih naloga

    UCID UC-9

    Prioritet 5Primarni aktor ef radioniceOpis Radni nalog se pie prilikom opravke vozila, bilo tekue ili na

    terenu. Radni nalog se moe izdavati na vlastite radnike ilitree lica.

    U radnom nalogu se nalaze podaci o autobusu koji e sepopravljati (registracija i model), te o dijelovima koji e biti

  • 8/12/2019 6269 is Autobusne Stanice

    24/66

    24

    zamjenjeni.

    Preduslovi ef radionice mora biti ulogiran na sistem i mora bitipokvaren/oteen barem jedan autobus da bi se pristupilopisanju naloga.

    Inicijacija Kada ef radionice odabere akciju Radni nalozi s glavnogmenija

    Glavni tok Akcija aktora:1.ef radionice odabereakciju Radni nalozi s glavnogmenija.2. Odabere akciju Novi radninalog.3. Unese podatke za novinalog i potvrdi unos.

    Odgovor sistema:1.Otvori se forma s popisomaktivnih radnih naloga.2. Otvori se forma za unospodataka.3. Snima promjene.

    Alternative ALT1Pregled aktivnih nalogaALT2Arhiviranje nalogaALT3Pregled detaljnih informacija o radnom nalogu.

    ALT4Mogunost tampanja naloga.

    Naziv Use Case-a Zakljuivanje radnih nalogaUCID UC-10

    Prioritet 5Primarni aktor ef radioniceOpis Po povratku radnog naloga moraju se evidentirati sati rada i

    sati ekanja te popravke koje su izvrene. Preduslovi ef radionice mora biti ulogiran na sistem i mora biti izdan

    barem jedan nalog.Inicijacija Kada ef radionice odabere akcijuAktivni nalozi s podmenija

    Radni naloziGlavni tok Akcija aktora:

    1.ef radionice odabereakciju Aktivni nalozi.2. Odabere koji radni nalogeli zakljuiti i odabere akcijuKompletiraj.3. Unesu se preostali podacii potvrde se promjene.

    Odgovor sistema:1.Otvori se forma s popisomaktivnih radnih naloga.2. Prikae se forma za unospodataka koji nedoataju da bise zakljuio nalog.3. Snimi promjene.

    Alternative ALT1 Korisnik moe odustati od zakljuivanja radnognaloga odabirom akcije Odustani.

    3. Obraunski radnik

    Naziv Use Case-a Zaduivanje karataUCID UC-11

    Prioritet 1

    Primarni aktor Obraunski radnikOpis Zaduivanje karata se odnosi na karte koje obraunski radnik

    da vozau, tj. voza zadui karte. Naravno da Obraunskiradnik mora imati evidenciju zaduenih karata.

    Preduslovi Obraunski radnik mora biti logiran na sistem i mora postojati

    bar jedan voza koji zaduuje karte. Inicijacija Obraunski radnik odabere akciju Karte/Zaduenje karata s

  • 8/12/2019 6269 is Autobusne Stanice

    25/66

    25

    menija.

    Glavni tok Akcija aktora:1.Obraunski radnik odabereakciju Karte/Zaduenjekarata s glavnog menija2. Unese podatke i potvrdiunos.

    Odgovor sistema:1.Prikae se forma za unospodataka.2. Pohrani promjene.

    Alternative ALT1Nema slobodnih vozaa jer svi ve imaju zaduenekarte, a karta se moe zaduiti samo ako voza nemanikakvih dugovanja, odnosno ako nema ve zaduenihkarata koje nije vratio. U tom sluaju je potrebno vozau prvorazduiti karte, da bi ih mogao zaduiti nove.

    ALT2 Zaduenja se mogu pregledati ukoliko se odabereopcija Pregled zaduenja.

    Naziv Use Case-a Razduivanje karataUCID UC-12Prioritet 1

    Primarni aktor Obraunski radnikOpis Razduivanje zaduenih neprodatih karata.Preduslovi Obraunski radnik mora biti logiran na sistem.

    Barem jedna karta mora biti prodana da bi neprodane bilerazduene.Barem jedan voza mora imati zaduene karte.

    Inicijacija Kada Obraunski radnik odabere akciju Karte/Razduenjekarata s menija.

    Glavni tok Akcija aktora:1.Obraunski radnik odabereakciju Karte/Razduenjekarata karata s glavnogmenija2. Odabere Vozaa kojemelite razduiti karte.3. Upie u polja broj prodanihkarata i odabere akcijuRazdui.

    Odgovor sistema:1.Prikae se forma za odabirvozaa kojem elite razduitikarte.2. Prikae se koliinazaduenih karata zaodgovarajuu zonu.3. Razdui neprodane karte iu isto vrijeme obraunaprodane.

    Alternative ALT1 Pregled izvjetaja o prodanim kartama po radniku,zatim lista svih radnika i ukupno prodani broj karata pozonama.

    ALT2ampanje izvjetaja.

    Naziv Use Case-a Obraun prodanih karataUCID UC-13Prioritet 2

    Primarni aktor Obraunski radnikOpis Obraun karata se odnosi na karte koje su prodane.Preduslovi Obraunski radnik mora biti logiran na sistem i mora postojati

    voza koji je razduio karte.Inicijacija Kada Obraunski radnik odabere akciju Karte/Izvjetaj o

  • 8/12/2019 6269 is Autobusne Stanice

    26/66

    26

    prodaji karata/Skupni.

    Glavni tok Akcija aktora:1. Korisnik odabere akcijuKarte/Izvjetaj o prodajikarata/Skupni.2. Odabere akciju tampaj.

    Odgovor sistema:1.Prikae se forma spopisom ukupno prodanihkarata po zonama.2. Isprinta izvjetaj.

    Alternative ALT1Nema vozaa koji su razduilikarte, pa prema tomenema ni informacija o prodanim kartama.

    ALT2Pregled izvjetaja o prodanim kartama po radniku.ALT3 Pregled izvjetaja o prodanim kartama za sveradnike.

    4. Skladitar

    Naziv Use Case-a Evidencija ulaza materijalaUCID UC-14

    Prioritet 3Primarni aktor SkladitarOpis Po prijemu otpremnice s materijalom koji nedostaje,

    skladitar uknjiava da je odreeni materijal ili robanabavljen/a.

    Preduslovi Roba mora biti naruena i mora stii da bi se mogla uknjiiti.Skladitar mora biti ulogiran na sistem.

    Inicijacija Kada aktor Skladitar odabere akciju Skladite/Ulazmaterijala s glavnog menija.

    Glavni tok Akcija aktora:

    1. Skladitar odabere akcijuUlaz materijala.2. Skladitar odabere izNaziva dijela dio koji eliuknjiiti i upie njihovukoliinu, te odabereotpremnicu po kojoj su stigli ipotvrdi unos.

    Odgovor sistema:

    1.Prikae se forma za unospodataka.2. Snimi promjene.

    Alternative ALT1ukoliko materijala kojeg treba unijeti u skladite nemana listi potrebno je isti unijeti prvo u popis dijelova. To se raditako to se odabere akcija Unesi novi dio.

    ALT2 Ukoliko ne postoji otpremnica za pristigli materijal ulisti otpremnica potrebno je unijeti novu odabirom akcijeOtpremnice/Nova otpremnica.

    Naziv Use Case-a Katalogizacija materijala

    UCID UC-15

    Prioritet 2Primarni aktor SkladitarOpis Katalogizacija materijala se odnosi na pregled popisa svih

    raspoloivih materijala na skladitu tj. uknjienih materijala.Nakon to se jednom uknjii materijal s klasom i grupom

    kojoj pripada mijenja se samo njegova koliina, koja seodnosi na ulaz, odnosno izlaz materijala sa skladita.

  • 8/12/2019 6269 is Autobusne Stanice

    27/66

    27

    Preduslovi Na skladitu mora postojati barem jedan materijal ili roba.Skladitar mora biti ulogiran na sistem.

    Inicijacija Kada skladitar odabere akciju Skladite/Stanje skladita sglavnog menija.

    Glavni tok Akcija aktora:1. Skladitar odabere

    akcijuSkladite/Stanjeskladita.

    2. Odabira eljenimaterijal.

    Odgovor sistema:1.Prikae se forma spopisom dijelova naskladitu.2. Prikazuje detalje omaterijalu.

    Alternative ALT1Mogunost unoenja novog materijala.ALT2Izmjena podataka o materijaluALT3Uklanjanje materijala iz popisa.

    Naziv Use Case-a Evidencija izlaza materijala

    UCID UC-16Prioritet 3

    Primarni aktor SkladitarOpis Izlaz materijala se odnosi na materijal koji je izaao iz

    skladita na nain to je potraivan od strane efa radioniceili nekog radnika.

    Preduslovi Na skladitu mora postojati potraivani materijal. Skladitar mora biti ulogiran na sistem.

    Inicijacija Kada skladitar odabere akciju Materijal/Izlaz materijala sglavnog menija

    Glavni tok Akcija aktora:1. Skladitar odabere akcijuIzlaz materijala.2. Skladitar odaberematerijale koji trebaju daizadju iz skladita i odabereakciju Potvrdi.3. Skladitar unese koliinu iodabere akciju Potvrdi.

    Odgovor sistema:1.Prikae se forma spopisom materijala naskladitu2. Sistem prikae formu zaunos koliine koja treba izaisa skladita za dati materijal.3. Snimi promjene.

    Alternative ALT1 - Ukoliko nema potraivanog materijala primjeni UC-15.

    Naziv Use Case-a Upravljanje otpremnicama

    UCID UC-17

    Prioritet 4Primarni aktor ef radioniceOpis Popis otpremnica koje su stigle za odgovarajui narueni

    materijal na skladitu.Preduslovi ef radionice mora biti ulogiran na sistem i materijal mora

    stii na skladite.Inicijacija Kada ef radionice pristupi akciji Materijal/Otpremnice s

    menija.

    Glavni tok Akcija aktora:1.ef radionice odabere

    Odgovor sistema:1.Otvori se forma s popisom

  • 8/12/2019 6269 is Autobusne Stanice

    28/66

    28

    akciju Otpremnice.2. Odabere akciju Novaotpremnica.3. Unese potrebne podatke ipotvrdi unos.

    otpremnica.2. Otvara se forma za unospodataka.3. Snimi promjene.

    Alternative ALT1Moe se ponititi unos.ALT2Mogu se brisati otpremnice.ALT3Mogue je vidjeti detaljne informacije o otpremnic i.ALT4 Mogue je pregledati dijelove na skladitu koji supristigli ovom otpremnicom.

    5. Administrator

    Naziv Use Case-a Dodavanje korisnika

    UCID UC-18

    Prioritet 1Primarni aktor AdministratorOpis Administrator dodaje korisnike u sistem shodno njihovom

    radnom mjestu.

    Preduslovi Administrator mora biti ulogiran na sistem.Inicijacija Kada Administrator odabere opciju Dodaj korisnika s glavnog

    menija.

    Glavni tok Akcija aktora:1. Administrator odabereopciju Dodaj korisnika sglavnog menija.2. Unese podatke o

    korisniku i potvrdi unos.

    Odgovor sistema:1.Prikae se forma s poljimaza unos podataka.2. Spremi promjene

    Alternative ALT1 Postoji korisnik s istim imenom. Sistem ne dodajenovog korisnika ve se vraa na popis korisnika.

    Naziv Use Case-a Popis korisnika

    UCID UC-19Prioritet 3

    Primarni aktor Administrator

    Opis Popis korisnika se odnosi na prikaz liste korisnika koji senalaze u sistemu.

    Preduslovi Administrator mora biti ulogiran na sistem.Inicijacija Kada Administrator odabere opciju Popis korisnika s glavnog

    menija.Glavni tok Akcija aktora:

    1. Administrator odabereopciju Popis korisnika sglavnog menija.

    Odgovor sistema:1.Prikae se popis korisnikana sistemu.

    Alternative ALT1Administrator moe izbrisati korisnika.ALT2Administrator moe promijeniti podatke o korisniku,

    npr. korisniko ime, lozinku ili nivo pristupa.

  • 8/12/2019 6269 is Autobusne Stanice

    29/66

    29

    Naziv Use Case-a Brisanje korisnika

    UCID UC-20Prioritet 4

    Primarni aktor Administrator

    Opis Brisanje korisnika iz sistema.Preduslovi Mora postojati berem jedan korisnik.Administrator mora biti ulogiran na sistem.

    Inicijacija Kada Administrator odabere opciju Popis korisnika s glavnogmenija

    Glavni tok Akcija aktora:1. Administrator odabereopciju Popis korisnika sglavnog menija2. Odabere akciju Brii krajkorisnika kojeg eli izbrisati. 3. Odabere akciju Da.

    Odgovor sistema:1. Prikae se popis korisnikana sistemu.2. Sistem postavlja pitanje dali je siguran da eli izbrisatikorisnika.3. Izbrie korisnika i snimi

    promjene.Alternative ALT1 Administrator moe odustati od brisanja korisnika

    ako odabere akciju Ne kad mu sistem postavi pitanje da lieli obrisati korisnika.

    Naziv Use Case-a Izmjena nivoa pristupa korisnika

    UCID UC-21

    Prioritet 4Primarni aktor Administrator

    Opis Izmjena korisnikog imena, lozinke i privilegija korisnika.Preduslovi Postojanje navedenih u bazi.

    Administrator mora biti logiran na sistem.

    Inicijacija Kada Administrator odabere opciju Popis korisnika, a zatimIzmjeni.

    Glavni tok Akcija aktora:1. Administrator odabereopciju Popis korisnika sglavnog menija2. Odabere opciju Izmjenikraj korisnika ije podatkeeli mijenjati.3. Izmjeni podatke i odabere

    Poalji.

    Odgovor sistema:1.Prikae se forma zapopisom korisnika.2. Prikae se forma smogunou mijenjanjakorisnikog imena, lozinke iprivilegija.3. Snimi promjene.

    Alternative nema

  • 8/12/2019 6269 is Autobusne Stanice

    30/66

    Izrada sekvencijalnih dijagrama

    1. Zaduenje karata

    get($rad)

    print_r($rad)

    get_zone($zone)

    set($datum, $kolicina, $radnik, $zona)

    zaduzi($karta)

    citaj ($parametri)

    citaj_sve($karte)

    Obracunski radnik

    radnicka_sluzba:rs karta:zn karta:karta

    get($rad)

    print_r($rad)

    get_zone($zone)

    set($datum, $kolicina, $radnik, $zona)

    zaduzi($karta)

    citaj ($parametri)

    citaj_sve($karte)

    2. Razduenje karata

    1: citaj($parametri)

    2: get($rad)

    3: print_r($rad)

    4: citaj_sve($karte)

    5: print_r($karte)

    set($kolicina)

    razduzi($br_karte)

    brisi($br_karte)

    Obracunski radnik

    radnicka_sluzba:rs karta:k

    1: citaj($parametri)

    2: get($rad)

    3: print_r($rad)

    4: citaj_sve($karte)

    5: print_r($karte)

    set($kolicina)

    razduzi($br_karte)

    brisi($br_karte)

  • 8/12/2019 6269 is Autobusne Stanice

    31/66

    31

    3. Obraun prodanih karata

    1: citaj($parametri)

    2: get($rad)

    3: print_r($rad)

    4: citaj_ sve($karte)

    print ($br_karte, $kolicin a)

    obracun($obracun)

    print ($br_karte, $kolicin a)

    citaj($rd)

    get($radn)

    print_r($radn)

    Obracunski radnik

    rad_sluzba:rs karta:kradnik:rd

    1: citaj($parametri)

    2: get($rad)

    3: print_r($rad)

    4: citaj_ sve($karte)

    print ($br_karte, $kolicin a)

    obracun($obracun)

    print ($br_karte, $kolicin a)

    citaj($rd)

    get($radn)

    print_r($radn)

  • 8/12/2019 6269 is Autobusne Stanice

    32/66

    32

    4. Pregled knjige satnica

    citaj($rs)

    get($rad)

    get_datum($dan)

    spisak_radnika($data)

    citaj($radnik['id_radnika'])

    get($rad)

    Obraunski radnik

    rad_sluzba:rs radnik:rdknjiga_satnica:ks

    citaj($rs)

    get($rad)

    get_datum($dan)

    spisak_radnika($data)

    citaj($radnik['id_radnika'])

    get($rad)

    5. Unoenje podataka u knjigu satnica

    set($data)

    unesi($unos)

    izmjeni($my_id)

    citaj($rs)

    get($radnici)

    Referent saobraaja

    knjiga_satnica:ks rad_sluzba:rs

    set($data)

    unesi($unos)

    izmjeni($my_id)

    citaj($rs)

    get($radnici)

  • 8/12/2019 6269 is Autobusne Stanice

    33/66

    33

    6. Upravljanje linijama

    set($ln)

    nova($ln)

    aktualiziraj($ln)

    citaj_sve($my_rv)

    print_r($my_rv)

    Referent saobraaja

    linija:rvlinija:ln

    set($ln)

    nova($ln)

    aktualiziraj($ln)

    citaj_sve($my_rv)

    print_r($my_rv)

    7. Sastavljanje reda vonje

    citaj_sve($my_rv)

    print_r($my_rv)

    citaj($ln)

    print_r($data)

    get($data)

    Referent saobraaja

    l inija:rv linija:rl

    citaj_sve($my_rv)

    print_r($my_rv)

    citaj($ln)

    print_r($data)

    get($data)

  • 8/12/2019 6269 is Autobusne Stanice

    34/66

    34

    8. Rasporeivanje vozaa na linije

    citaj_sve($linija)

    print($linija)

    lista($nalozi)

    print($nalozi)

    Referent saobraaja

    l inija:ln putni_nalog:pn

    citaj_sve($linija)

    print($linija)

    lista($nalozi)

    print($nalozi)

  • 8/12/2019 6269 is Autobusne Stanice

    35/66

    35

    9. Katalogizacija materijala

    citaj_grupu($sk)

    get($my_skladiste)

    citaj($mm)

    get($r)

    citaj($mat)

    get($row)

    print_r($row)

    brishi ($dio)

    get_all($my_mat)

    Skladitar

    skladiste:sk materijal:matmaterijal:mm materijal:dio

    citaj_grupu($sk)

    get($my_skladiste)

    citaj($mm)

    get($r)

    citaj($mat)

    get($row)

    print_r($row)

    brishi ($dio)

    get_all($my_mat)

    10. Ulaz materijala

    unesi ($artikal_broj)

    unesi ($koli cina)

    unesi ($otpremnica)

    citaj_grupu($sk)

    get($my_skladiste)

    Skladitar

    skladiste:sk

    unesi ($artikal_broj)

    unesi ($koli cina)

    unesi ($otpremnica)

    citaj_grupu($sk)

    get($my_skladiste)

  • 8/12/2019 6269 is Autobusne Stanice

    36/66

    36

    11. Popis materijala na skladitu

    citaj_sve($md)

    get_all($my_mat)

    citaj($mat)

    get($row)

    print_r($row)

    brishi ($dio)

    get_all($my_mat)

    Skladitar

    materijal:md materijal:mat materi jal:dio

    citaj_sve($md)

    get_all($my_mat)

    citaj($mat)

    get($row)

    print_r($row)

    brishi ($dio)

    get_all($my_mat)

    12. Izlaz materijala

    citaj_grupu($sk)

    get($my_skladiste)

    citaj_grupu($filter)

    get($my_skladiste)

    zaduzi($kolicina)

    get($my_skladiste)

    Skladitar

    skladiste:sk

    citaj_grupu($sk)

    get($my_skladiste)

    citaj_grupu($filter)

    get($my_skladiste)

    zaduzi($kolicina)

    get($my_skladiste)

  • 8/12/2019 6269 is Autobusne Stanice

    37/66

    37

    13. Upravljanje otpremnicama

    citaj_sve($ot)

    get_all($otpremnice)

    unesi($params)

    get_all($otpremnice)

    citaj_po_otpremnici($r['br_otpremnice'])

    get($skladiste)

    Skladitar

    otpremnica:ot skladiste:sk

    citaj_sve($ot)

    get_all($otpremnice)

    unesi($params)

    get_all($otpremnice)

    citaj_po_otpremnici($r['br_otpremnice'])

    get($skladiste)

    14. Kreiranje novog putnog naloga

    citaj($parametri)

    get($rad)

    citaj_sve($linije)

    get_all($linije)

    citaj_sve($my_vz)

    get_all($vozila)

    izdaj($nalog)

    lista($nalozi)

    Referent saobraaj a

    rad_sluzba:rs linija:my_ln vozilo:my_vz putni_nalog:pn

    citaj($parametri)

    get($rad)

    citaj_sve($linije)

    get_all($linije)

    citaj_sve($my_vz)

    get_all($vozila)

    izdaj($nalog)

    lista($nalozi)

  • 8/12/2019 6269 is Autobusne Stanice

    38/66

    38

    15. Popis aktivnih naloga

    lista($nalozi)

    print_r($my_rn)

    Referent saobraaj a

    putni_nalog:pn

    lista($nalozi)

    print_r($my_rn)

    16. Zakljuivanje putnih naloga

    citaj($pn)

    get($data)

    citaj($rs)

    get($rad)

    citaj($my_ln)

    get($linija)

    citaj($my_vz)

    get($vozilo)

    vrati($nalog)

    arhiva($nalozi)

    Referent saobraaj a

    putni_nalog:pn radnik:rd linija:my_ln vozilo_my_vz

    citaj($pn)

    get($data)

    citaj($rs)

    get($rad)

    citaj($my_ln)

    get($linija)

    citaj($my_vz)

    get($vozilo)

    vrati($nalog)

    arhiva($nalozi)

  • 8/12/2019 6269 is Autobusne Stanice

    39/66

    39

    17. Pisanje radnih naloga

    citaj($parametri)

    get($rad)

    izdaj($nalog)

    lista($nalozi)

    ef radionice

    rad_sluzna:rs radni_nalog:rn

    citaj($parametri)

    get($rad)

    izdaj($nalog)

    lista($nalozi)

    18. Zakljuivanje radnih naloga

    lista($nalozi)

    citaj ($rn)

    print_r($rn)

    print_r($my_rn)

    vrati($nalog)

    arhiva($nalozi)

    get($data)

    ef radionice

    radni_nalog:rn

    lista($nalozi)

    citaj ($rn)

    print_r($rn)

    print_r($my_rn)

    vrati($nalog)

    arhiva($nalozi)

    get($data)

  • 8/12/2019 6269 is Autobusne Stanice

    40/66

    40

    19. Upravljanje radnicima

    citaj($parametri)

    get($rad)

    set($params)

    snimi($zapis)

    get($r_data)

    Referent saobraaja

    rad_sluzba:rs radnik:my_radnik

    citaj($parametri)

    get($rad)

    set($params)

    snimi($zapis)

    get($r_data)

    20. Evidencija vozila

    dodaj($mv)

    get($data)

    set($mv)

    citaj_sve($vz)

    get_all($my_vz)

    ef radionice

    vozilo:mv vozilo:vz

    dodaj($mv)

    get($data)

    set($mv)

    citaj_sve($vz)

    get_all($my_vz)

  • 8/12/2019 6269 is Autobusne Stanice

    41/66

    41

    21. Evidencija kretanja autobusa

    citaj_sve($vz)

    get_all($my_vz)

    Referent saobraaja

    vozilo:vz

    citaj_sve($vz)

    get_all($my_vz)

    22. Popis korisnika

    citaj($pk)

    get($korisnici)

    Admin istrator

    korisnici:pk

    citaj($pk)

    get($korisnici)

    23. Dodavanje korisnika

    set($data)

    get($korisnici)

    dodaj($korisnik)

    Administrator

    korisnik:my_k

    set($data)

    get($korisnici)

    dodaj($korisnik)

  • 8/12/2019 6269 is Autobusne Stanice

    42/66

    42

    6.2.2 Dizajn

    Izrada kolaboracijskih dijagrama

    1. Zaduenje karata

    3: print_ r($rad)

    1: citaj ($parametri)

    2: get($rad)

    4: get_zone($zone)

    7: citaj_sve($karte)

    5: set($datum, $kolicina, $radnik, $zona)6: zaduzi($karta)

    Obracunski radnik

    radnicka_sluzba:rs

    karta:zn

    karta:karta

    2. Razduenje karata

    3: print_ r($rad)

    1: citaj($parametri)

    2: get($rad)

    8: brisi($br_karte)

    6: set($koli cina)

    5: print_r($karte)

    4: citaj_sve($karte)

    7: razduzi($br_karte)

    Obracunski radnik

    radnicka_sluzba:rs karta:k

  • 8/12/2019 6269 is Autobusne Stanice

    43/66

    43

    3. Obraun prodanih karata

    3: print_ r($rad)

    1: citaj($parametri)

    2: get($rad)

    6: print_r($radn)

    4: citaj($rd)

    5: get($radn)

    10: prin t ($br_karte, $kolicina)

    9: obracun($obracun)

    8: print ($br_karte, $kolicina)

    7: citaj_sve($karte)

    Obracunski radnik

    rad_sluzba:rs

    radnik:rd

    karta:k

    4. Pregled knjige satnica

    2: get($rad)

    1: citaj($rs)

    4: spisak_radnika($data)

    3: get_datum($dan)

    6: get($rad)

    5: citaj($radnik['id_radnika'])

    Obraunski radnik

    rad_sluzba:rs

    knjiga_satnica:ks

    radnik:rd

  • 8/12/2019 6269 is Autobusne Stanice

    44/66

    44

    5. Unoenje podataka u knjigu satnica

    3: izmjeni($my_id)

    1: set($data)

    2: unesi($unos)

    5: get($radnici)

    4: citaj($rs)

    Referent saobraaja

    knjiga_satnica:ks rad_sluzba:rs

    6. Upravljanje linijama

    3: aktualiziraj($ln)

    1: set($ln)

    2: nova($ln)

    5: p rint_r($my_rv)

    4: citaj_sve($my_rv)

    Referent saobraaja

    l inija:ln linija:rv

  • 8/12/2019 6269 is Autobusne Stanice

    45/66

    45

    7. Sastavljanje reda vonje

    2: print_r($my_rv)

    1: citaj_sve($my_rv)

    5: print_r($data)

    3: citaj($ln)

    4: get($data)

    Referent saobraaja

    l inija:rv linija:rl

    8. Rasporeivanje vozaa na linije

    2: print($lini ja)

    1: citaj_sve($linij a)

    4: print($nalozi)

    3: lista($nalozi)

    Referent saobraaja

    l inija:ln putni_nalog:pn

  • 8/12/2019 6269 is Autobusne Stanice

    46/66

    46

    9. Katalogizacija materijala

    2: get($my_skladiste)

    1: citaj_g rupu($sk)

    4: get($r)

    3: citaj($mm)

    7: print_r($row)5: citaj($mat)

    6: ge t($row)

    9: get_all($my_mat)

    8: brishi ($dio)

    Skladitar

    skladiste:sk

    materijal:mm

    materijal:mat

    materijal:dio

    10. Ulaz materijala

    5: get($my_skladiste)

    3: unesi ($otpremnica)

    2: unesi ($kolicina)

    1: unesi ($artikal_broj)

    4: citaj_grupu($sk)

    Skladitar

    skladiste:sk

    11. Popis materijala na skladitu

    2: get_all($my_mat)1: citaj _sve($md)

    5: print_r($row)3: citaj($mat)

    4: get($row)

    7: get_all($my_mat)

    6: brishi ($dio )

    Skladitar

    materijal:md

    materijal:mat

    materijal:dio

  • 8/12/2019 6269 is Autobusne Stanice

    47/66

    47

    12. Izlaz materijala

    6: get($my_skladiste)

    5: zaduzi($kolicina)

    4: get($my_skladiste)

    3: citaj_grupu($filter)

    2: get($my_skladiste)

    1: citaj_grupu($sk)

    Skladitar

    skladiste:sk

    13. Upravljanje otpremnicama

    4: get_all($otpremnice)

    3: unesi($params)

    2: get_all($otpremnice)

    1: citaj _sve($ot) 6: get($skladiste)

    5: citaj_po_otpremnici($r['br_otpremnice'])

    Skladitar

    otpremnica:ot

    skladiste:sk

    14. Kreiranje novog putnog naloga

    2: get($rad)

    1: citaj($parametri)

    4: get_all($linije)

    3: citaj_sve($linije)

    6: get_all($vozila)

    5: citaj _sve($my_vz)

    8: lista($nalozi)

    7: izdaj($nalog)

    Referent saobraaj a

    rad_sluzba:rs

    linija:my_ln

    vozilo:my_vz

    putni_nalog:pn

  • 8/12/2019 6269 is Autobusne Stanice

    48/66

    48

    15. Popis aktivnih naloga

    2: print_ r($my_rn)

    1: lista($nalozi)

    Referent saobraaja

    putni_nalog:pn

    16. Zakljuivanje putnih naloga

    10: arhiva($nalozi)

    9: vrati($nalog)

    2: get($data)

    1: citaj($pn)

    4: get($rad)3: citaj($rs)

    6: get($linija)

    5: citaj($my_ln)

    8: get($vozilo)

    7: citaj($my_vz)

    Referent saobraaja

    putni_nalog:pn

    radnik:rd

    linija:my_ln

    vozilo_my_vz

  • 8/12/2019 6269 is Autobusne Stanice

    49/66

    49

    17. Pisanje radnih naloga

    2: get($rad)

    1: citaj ($parametri)

    4: li sta($nalozi)

    3: izdaj($nalog)

    ef radionice

    rad_sluzna:rs radni_nalog:rn

    18. Zakljuivanje radnih naloga

    7: arhiva($nalozi)

    6: vrati($nalog)

    5: prin t_r($rn)

    3: citaj ($rn)

    2: print_ r($my_rn)1: lista($nalozi)

    4: get($data)

    ef radionice

    radni_nalog:rn

    19. Upravljanje radnicima

    2: get($rad)

    1: citaj($parametri)

    5: get($r_data)

    3: set($params)

    4: snimi ($zapis)

    Referent saobraaja

    rad_sluzba:rs radnik:my_radnik

  • 8/12/2019 6269 is Autobusne Stanice

    50/66

    50

    20. Evidencija vozila

    3: get($data)

    1: set($mv)

    2: dodaj($mv)

    5: get_all($my_vz)

    4: citaj_sve($vz)

    ef radionice

    vozilo:mv vozilo:vz

    21. Evidencija kretanja autobusa

    2: get_all($my_vz)

    1: citaj_sve($vz)

    Referent saobraaja

    vozilo:vz

  • 8/12/2019 6269 is Autobusne Stanice

    51/66

    51

    22. Popis korisnika

    2: get($korisnici)

    1: citaj ($pk)

    Admin istrator

    korisnici:pk

    23. Dodavanje korisnika

    2: get($korisnici)

    1: citaj ($pk)

    Admin istrator

    korisnici:pk

  • 8/12/2019 6269 is Autobusne Stanice

    52/66

    52

    Dijagram klasa

    cd class

    raspored_vozaca

    - datum: var

    - smjena: var

    - vozac: var

    - lini ja: var

    + __construct() : var

    + dodjeli () : var

    + izmj eni(var) : var

    + ukloni (var) : var

    + li sta(var) : var

    + li sta_slobodnih(var) : var

    skladiste

    - skladiste: var = array()

    + __construct() : var

    + cita j(var, var, var) : var

    + citaj_grupu(var, var, var) : var

    + citaj_po_otpremnici(var) : var

    + get() : var

    + test() : var

    - _insert(var, var) : var

    + unesi(var) : var

    + brisi(var) : var

    + zaduzi (var) : var

    + vrati(var) : var

    vozilo

    - vozni_park: var = array()

    - vozil o: var = array()

    + __construct() : var

    + set(var) : var

    + dodaj () : var

    + aktuali ziraj() : var

    + brisi(var) : var

    + reset() : var

    + citaj (var) : var

    + cita j_sve(var, var, var) : var

    + get_al l() : var

    + get() : var

    + test_all () : var

    + test_single() : var- _insert(var, var) : var

    cd class

    korisnici

    - korisnici : var = array()

    + __construct() : var

    + cita j(var, var, var) : var+ get() : var

    + test() : var

    - _insert(var, var) : var

    rad_sluzba

    - radni ci: var = array()

    + __construct() : var+ cita j(var, var, var) : var

    + get_radna_mjesta() : var

    + get() : var

    + reset(var) : var

    - _insert(var, var) : var

    radnik

    - br_radnika: var

    - ime: var

    - prezime: var

    - rad_mjesto: var

    - br_rad_dana: var- br_rad_sati : var

    - status_rad: var

    - jmbg: var

    - telefon : var

    - mobile: var

    - adresa: var

    - mail: var

    - spol : var

    - nacija: var

    - brak: var

    + __construct() : var

    + set(var) : var

    + snimi () : var

    - _set_id(var, var, var) : var+ brishi(var) : var

    + reset() : var

    + citaj(var) : var

    + izmjeni(var, var) : var

    + get() : var

  • 8/12/2019 6269 is Autobusne Stanice

    53/66

    53

    cd class

    linija

    - id: var

    - naziv: var

    - tip_lini je: var

    - itenerer_kretanja: var- polazak_radnim_danom: var

    - vracanje_radnim_danom: var

    - polazak_subotom: var

    - vracanje_subotom: var

    - polazak_nedel jom: var

    - vracanje_nedeljom: var

    + __construct() : var

    + set(var) : var

    + get() : var

    + nova() : var

    + aktuali ziraj(var) : var

    + citaj(var) : var

    + brisi(var) : var

    + cita j_sve(var) : var

    materijal

    - materij ali : var = array()

    - materij al: var = array()

    + __construct() : var

    + set(var) : var

    + dodaj () : var

    + aktuali ziraj(var) : var

    + brishi(var) : var

    + reset() : var

    + citaj(var) : var

    + cita j_sve(var, var, var) : var

    + get_al l() : var

    + get() : var

    + test_all () : var

    + test_single() : var

    - _insert(var, var) : var

    otpremnica

    - otpremnice: var = array()

    - otpremnica: var = array()

    + __construct() : var

    + cita j_sve(var, var, var) : var

    + citaj (var) : var

    + get() : var

    + get_al l() : var

    + test() : var

    + test_all () : var

    - _insert(var, var) : var

    + unesi(var) : var

    + brisi(var) : var

    cd class

    nalog

    - broj: var

    - datum: var

    + __construct() : var

    putni_nalog

    - mjesto_izdavan ja: var

    - poc_stanje_broji la: var

    - krajnje_stanje_brojil a: var

    - vrijeme_polaska: var

    - vrijeme_dolaska: var

    - status_put_naloga: var

    - id_lini je: var

    - id_vozil a: var

    - id_radni ka: var

    + __construct() : var

    + izdaj (var) : var

    + vrati(var) : var

    + get_id_naloga(var, var) : var

    + citaj(var) : var+ get() : var

    + li sta() : var

    + arhiva() : var

    + brisi(var) : var

    radni_nalog

    - opi s: var

    - sati_rada: var

    - sati_cekanja : var

    - primjedba: var

    - popravke: var

    - status: var

    - id_radni ka: var

    + __construct() : var

    + izdaj (var) : var

    + vrati(var) : var+ citaj(var) : var

    + get() : var

    + li sta() : var

    + arhiva() : var

  • 8/12/2019 6269 is Autobusne Stanice

    54/66

    54

    cd class

    karta

    - serij ski_broj : var

    - datum: var

    - koli cina: var

    - status: var- zona: var

    - radni k: var

    + __construct() : var

    + set(var, var, var, var) : var

    + citaj(var) : var

    + cita j_sve(var, var) : var

    + obracun(var, var) : var

    + get_zone() : var

    + nova() : var

    + aktuali ziraj() : var

    + brisi(var) : var

    + set_status(var) : var

    + get_status(var) : var

    + razduzi (var) : var+ zaduzi() : var

    knjiga_satnica

    - radni k: var

    - datum: var

    - sati_rada: var

    - status: var

    + __construct() : var

    + set(var) : var

    + citaj(var) : var

    + unesi() : var

    + izmj eni(var) : var

    + brishi(var) : var

    + spisak_radnika(var) : var

    + spisak_datuma(var) : var

    + get_datum() : var

    + obracun(var, var, var) : var

    korisnik

    - id: var

    - naziv: var

    - lozinka: var

    - vrsta: var

    + __construct() : var

    + set(var) : var

    + dodaj () : var

    + aktuali ziraj() : var

    - get_ id_vrste(var) : var

    + brishi(var) : var

    + reset() : var

    + citaj (var) : var

    + izmj eni(var, var) : var

    + pass(var, var) : var

    + get() : var

  • 8/12/2019 6269 is Autobusne Stanice

    55/66

    55

    Kompletan prikaz dijagrama klasa:

    cd class

    karta

    - serijski_broj: var- datum: var

    - kolicina: var

    - status: var

    - zona: var

    - radnik: var

    + __construct() : var

    + set(var, var, var, var) : var

    + citaj(var) : var

    + citaj_ sve(var, var) : var

    + obracun(var, var) : var

    + get_zone() : var

    + nova() : var

    + aktualiziraj () : var

    + brisi(var) : var

    + set_status(var) : var

    + get_ status(var) : var

    + razduzi(var) : var

    + zaduzi() : var

    knjiga_satnica

    - radnik: var

    - datum: var

    - sati_rada: var

    - status: var

    + __construct() : var

    + set(var) : var

    + citaj(var) : var

    + unesi() : var

    + izmjen i(var) : var

    + brishi(var) : var

    + spisak_radni ka(var) : var

    + spisak_datuma(var) : var

    + get_datum() : var

    + obracun(var, var, var) : var

    korisnik

    - id: var

    - naziv: var

    - lozinka: var

    - vrsta: var

    + __construct() : var

    + set(var) : var

    + dodaj() : var

    + aktualiziraj() : var

    - get_id_ vrste(var) : var

    + brishi(var) : var

    + reset() : var

    + citaj(var) : var

    + izmjen i(var, var) : var

    + pass(var, var) : var

    + get() : var

    korisnici

    - korisnici: var = array()

    + __construct() : var

    + citaj(var, var, var) : var

    + get() : var

    + test() : var

    - _insert(var, var) : var

    linija

    - id: var

    - naziv: var

    - tip_linije: var

    - itenerer_kretanja: var

    - polazak_radnim_dan om: var

    - vracanje_radnim_ danom: var

    - polazak_subotom: var

    - vracanje_subotom: var

    - polazak_nedelj om: var

    - vracanje_nedel jom: var

    + __construct() : var

    + set(var) : var

    + get() : var

    + nova() : var

    + aktualiziraj(var) : var

    + citaj(var) : var

    + brisi(var) : var

    + citaj_sve(var) : var

    materijal

    - materija li: var = array()

    - materija l: var = array()

    + __construct() : var

    + set(var) : var

    + dodaj() : var

    + aktualiziraj(var) : var

    + brishi(var) : var

    + reset() : var

    + citaj(var) : var

    + citaj_sve(var, var, var) : var

    + get_all () : var

    + get() : var

    + test_all() : var

    + test_singl e() : var

    - _insert(var, var) : var

    nalog

    - broj: var

    - datum: var

    + __construct() : var

    otpremnica

    - otpremnice: var = array()

    - otpremnica: var = array()

    + __construct() : var

    + citaj_sve(var, var, var) : var

    + citaj(var) : var

    + get() : var

    + get_all () : var

    + test() : var

    + test_all() : var

    - _insert(var, var) : var

    + unesi(var) : var

    + brisi(var) : var

    putni_nalog

    - mjesto_izdavanj a: var

    - poc_stanje_broji la: var

    - krajnj e_stanje_broji la: var

    - vrijeme_po laska: var

    - vrijeme_do laska: var

    - status_put_nal oga: var

    - id_linije: var

    - id_vozil a: var

    - id_radni ka: var

    + __construct() : var

    + izdaj(var) : var

    + vrati(var) : var

    + get_id_n aloga(var, var) : var

    + citaj(var) : var

    + get() : var

    + lista() : var

    + arhiva() : var

    + brisi(var) : var

    rad_sluzba

    - radnici: var = array()

    + __construct() : var

    + citaj(var, var, var) : var

    + get_radna_mj esta() : var

    + get() : var

    + reset(var) : var

    - _insert(var, var) : var

    radnik

    - br_radnika: var

    - ime: var

    - prezime: var

    - rad_mjesto: var

    - br_rad_dana: var

    - br_rad_sati: var

    - status_rad: var

    - jmbg: var

    - telefon : var

    - mobile: var

    - adresa: var

    - mail: var

    - spol: var

    - nacija : var

    - brak: var

    + __construct() : var

    + set(var) : var

    + snimi() : var

    - _set_id(var, var, var) : var

    + brishi(var) : var

    + reset() : var

    + citaj(var) : var

    + izmje ni(var, var) : var

    + get() : var

    radni_nalog

    - opis: var

    - sati_rada: var

    - sati_cekanja: var

    - primje dba: var

    - popravke: var

    - status: var

    - id_radni ka: var

    + __construct() : var

    + izdaj (var) : var

    + vrati(var) : var

    + citaj(var) : var

    + get() : var

    + lista() : var

    + arhiva() : var

    raspored_vozaca

    - datum: var

    - smjena: var

    - vozac: var

    - linija: var

    + __construct() : var

    + dodjeli() : var

    + izmjen i(var) : var

    + ukloni(var) : var

    + lista(var) : var

    + lista_slobodnih (var) : var

    skladiste

    - sklad iste: var = array()

    + __construct() : var

    + citaj(var, var, var) : var

    + citaj_g rupu(var, var, var) : var

    + citaj_p o_otpremni ci(var) : var

    + get() : var

    + test() : var

    - _insert(var, var) : var

    + unesi(var) : var

    + brisi(var) : var

    + zaduzi(var) : var

    + vrati(var) : var

    vozilo

    - vozni _park: var = array()

    - vozilo: var = array()

    + __construct() : var

    + set(var) : var

    + dodaj() : var

    + aktualiziraj() : var

    + brisi(var) : var

    + reset() : var

    + citaj(var) : var

    + citaj_sve(var, var, var) : var

    + get_all () : var

    + get() : var

    + test_all() : var

    + test_singl e() : var

    - _in sert(var, var) : var

  • 8/12/2019 6269 is Autobusne Stanice

    56/66

    56

    7. Opis aplikacije

    7.1 Instalacija

    7.1.1 Hardverski zahtjevi

    Kako se u naem specifinom sluajuradi o jako maloj i uslovno ne ba zahtjevnoj aplikaciji,moemo rei da je za njeno koritenje dovoljan jedan manji web server. Aplikacija radi naUnix/Linux baziranim web serverima kao i na Windows platfomi. Minimalna konfguracijapotrebna za rad aplikacije je:

    Pentium III 800Mhz

    128 MB RAM-a

    4 GB HDD

    Mrena kartica Matina ploa sa integriranom VGA komponentom

    7.1.2 Softverski zahtjevi

    S obzirom da je aplikacija raena u PHP objektno-orijentiranom jeziku potrebne su slijedeesoftverske komponente:

    Apache ili ISS

    PHP

    MySQL

    Web browser (od strane klijenta, npr. Firefox, Netscape, Opera ili Internet Explorer)

    7.1.3 Postupak instalacije

    Aplikacija se distribuira na CD-u na kojem se, pored ostalog, nalaze i slijedea dva fajla: Mostarbus.zipkomprimirana arhiva sa aplikacijskim fajlovima Mistarbus.sqlslika SQL baze podataka

    Postupak instalacije se vri u tri cjeline:1. Fajlovi Mostabus.zip i Mostarbus.sql se kopiraju na web server. Mostarbus.zip je

    potrebno otpakovati u document-root direktorij klijentovog web servisa. Taj direktorijse obino zove htdocs ili www. Upload fajlova se moe uraditi putem FTP-a ilipreko administracijskog web interfejsa. Za informacije o FTP ili web pristupu web

    serveru se treba obratiti web provajderu ili mrenom adminstratoru.

    2. Nakon toga se prijavi na mySQL server i kreira nova baza. Baza se moe nazvatiMostarbus ili drugije, ali naziv je potrebno zapamtiti jer e trebati i u sljedeemkoraku. Baza se popunjava s podacima iz fajla Mostarbus.sql. Ovisno oadministracijskom okruenju mogue je da koristiti grafiki alat za ovaj postupak.Naredbe iz komandne linije izgledaju ovako:shell> mysql --user=korisniki_raun --password=ifra Mostarbusshell> mysql Mostarbus Mostarbus.sql

  • 8/12/2019 6269 is Autobusne Stanice

    57/66

    57

    3. Slijedi podeavanjeparametara u konfiguracijskom fajlu /inc/inc_config.php .Promjene se nazivi unutar navodnika, a parametri koje je potrebno podesiti su:$dbhost='localhost'; - naziv ili IP adresa raunara sa bazom podataka$dbuser='username'; - mySQL korisniki raun$dbpass='userpass'; - ifra mySQL korisnika

    $dbname='mostarbus'; - naziv baze podataka

    Izmjene se snime, a zatim slijedi prijava na sistem putem defaultnogadministratorskog korisnikog rauna, naziv:admin/ ifra:admin.

    7.2 Koritenje (uputstvo za upotrebu)

    Postoji 5 nivoa pristupa aplikaciji. Naime, radnici koji koji koriste aplikaciju se prvenstvenotrebaju ulogirati kako bi imali pristup stavkama koje e koristiti pri obavljanju svog posla.Prvi korisnik je administrator i on ima pristup administraciji korisnika aplikacije. Drugi korisnik

    je referent saobraaja i on ima pristup slijedeim stavkama s glavnog menija: Knjiga satnica Linije

    Putni nalozi

    Red vonje Radnici Vozila

    Trei korisnik je ef radionice i on ima pristup slijedeim stavkama: Radni nalozi

    Vozila

    etvrti korisnik je skladitar i on ima pristup samo stavci Materijali.Peti korisnik je obraunski radnik i on ima pristup samo stavci Karte.Svaki korisnik s desne strane ima uputstva tj. tekstualni opis to i kako koristiti stavku kojojima pristup. Slobodno bismo mogli rei da je pomo korisnicima ugraena u aplikaciju pa nebi trebali imati problema s koritenjem.

    Primjer jednog tipinog ekrana s uputstvima za upotrebu izgleda ovako:

  • 8/12/2019 6269 is Autobusne Stanice

    58/66

    58

    7.2.1 Struktura aplikacije (programa)

    Conceptual Web Site diagram

  • 8/12/2019 6269 is Autobusne Stanice

    59/66

  • 8/12/2019 6269 is Autobusne Stanice

    60/66

    60

    7.2.2 Tipini ekrani i opis koritenja(Windows XP User Interface Diagram)

    1. Putni nalogforma za unos podataka

    Da biste kreirali novi putni nalog potrebno je da uradite slijedee: U polje Mjesto unesite naziv mjesta odakle kree autobus. U polje Datum ne morate nita unositi jer e se automatski postaviti dananji datum. U polju Voza odaberite slobodnog vozaa kojem ete izdati taj putni nalog. U polju Linija odaberite liniju za koju izdajete taj putni nalog. U polju Vozilo odaberite autobus za koji izdajete taj putni nalog.

    U polje Poetno stanje brojila unesitepoetno stanje brojila. U polje Vrijeme polaska unesite vrijeme kad voza treba krenuti da vozi datu liniju. Nakon toga kliknite na dugme Potvrdi kako bi sauvali izmjene ili Odustani kako bi

    odustali od kreiranja novog putnog naloga.

    2. Karteforma za unos zaduenja karata

  • 8/12/2019 6269 is Autobusne Stanice

    61/66

    61

    Ukoliko elite zaduiti karte potrebno je da uradite slijedee: Odaberite radnika kojem elite dodijeliti nove karte. U poljima Zona1, Zona2, itd. unesite koliinu karata koje zaduujete radniku. Nakon toga kliknite na dugme Unesi.

    3. Radni nalozipopis arhiviranih radnih naloga

    Lista arhiviranih radnih naloga. Ponuene opcije su: Iz liste moete vidjeti broj radnog naloga, datum, opis i izvrene popravke. Ukoliko odaberete nalog pod stavkom Opis moete vidjeti detaljn e informacije o

    radnom nalogu.

    4. Radni nalozidetaljne informacije o radnom nalogu

    Deteljne informacije o radnom nalogu. Ponuene opcije su: Aktivni nalozi - vraa Vas na listu aktivnih naloga. Arhiva - vraa Vas na arhivirane radne naloge. Kompletiraj - ova opcija je dostupna samo kod aktivnih naloga. Ukoliko odaberete ovu

    opciju moete zakljuiti aktivni radni nalog.

  • 8/12/2019 6269 is Autobusne Stanice

    62/66

    62

    5. Linijedetaljne informacije o liniji

    Ovdje se nalazi detaljni opis odabrane linije. Ponuene opcije su: Ukoliko elite izmjeniti podatke o liniji odaberite link Izmjeni podatke. Ukoliko elite kreirati novu liniju odaberite link Nova linija. Ukoliko elite izbrisati liniju odaberite link Obrii liniju.

    Ovdje se ujedno nalazi i popis aktivnih putnih naloga za odabranu liniju. Takoer, moete

    dodjeliti vozaa liniji ukoliko kliknete na link Dodijeli novog vozaa.

    6. VozilaIzvjetaj o vozilima

    Vozni park sadri popis svih postojeih vozila. Ponuene opcije su: Ukoliko elite vidjeti detaljne informacije o vozilu odaberite registraciju vozila pod

    stavkom Registarski broj.

    Ukoliko elite promijeniti status vozila odaberite stavku Status. Otvorit e Vam seforma za kompletiranje putnog naloga. Ovdje trebate unijeti trenutno stanje brojila iklikniti na dugme Potvrdi kako bi se promjenio status vozila iz "na putu" u "u garai".

    Ukoliko elite tampati izvjetaj o vozilima odaberite link tampanje.

  • 8/12/2019 6269 is Autobusne Stanice

    63/66

    63

    8. Realizacija

    8.1 Baza podataka

    Baza podataka je raena u MySql-u, a kao klijent DBMS-a je koriten PhpMyAdmin.Baza podataka s tabelama i relacijama je prikazana na slijedeoj slici:

  • 8/12/2019 6269 is Autobusne Stanice

    64/66

    64

    8.2 Objanjenje realizacije tipinih ekrana

    MoBus aplikacija koristi relativno kompleksan sistem za sastavljanje grafikih elemenata isadraja za prikaz. Kako bi nain kreiranja tipinih ekrana bio razumljiviji potrebno je objasnitinain kreiranja HTML koda.Web stranica se sastoji od modula koji se nalaze u /mod/ direktoriju, dok se esto koritenifajlovi, konfiguracija aplikacije i izvorni kod, kori ten za pristup bazi podataka nalaze u /inc/direktoriju. Repozitorij sa klasama je u direktoriju /class/.Pri pokretanju aplikacije uitava se konfiguracijski fajl, fajl sa esto koritenim funkcijama ifajl s konekcijom na bazu, te se provjerava postoji li pokrenuta sesija na korisnikomraunaru. Ukoliko sesija ne postoji prikazuje se forma za prijavu na sistem. Pri tome se uindeksni fajl ukljuuje fajl /inc/inc_login.php koji sadri odgovarajuu formu. Podaci iz teforme se prosljeuju fajlu auth.php koji u bazi provjerava validnost prijave na sistem. Upozitivnom sluaju e se kreirati sesija i izvriti redirekcija na index.php.Kako ovaj put postoji sesija uitati e se fajl inc_app.php. U ovom fajlu je definiran glavnikorisniki interfejs. U njemu se, takoer, nalazi i kod koji uitava pojedine module. Koji modul

    ce biti uitan se odreuje putem varijabli proslijeenih ovom fajlu. Na osnovu varijable "mod"se provjerava postojanje odgovarajuih fajlova u direktoriju datog modula.Recimo da se radi o modulu za karte, vrijednost varijable mod ce biti "karte", te e se udirektorijskoj strukturi traiti modul karte, a u njegovom direktoriju fajlovi modul.php isubmenu.php. Po pronalasku ovih fajlova, isti e biti uitani u aplikaciju.U fajlu modul.php su definirani sluajevi akcija nad pojedinim pod-modulima. Svaka akcijauzrokuje uitavanje pod-modula. U pod-modulima su definiranii korisniki interfejsi i operacijenad bazom podataka. Svaki pod-modul, pri tome, instancira objekte odgovarajuih klasa tevri operacije nad njima na osnovu korisnikih upita.Pod-moduli se veinom sastoje iz vie blokova. Prvi blok obino ispisuje HTML kod saformom za unos podataka ili razliitim listama i tabelama sa podacima. Drugi blok kodainstancira klase i vri interakciju na osnovu podataka prosl ijeenih iz prethodno generiranih

    formi (putem HTTP, POST operacije) ili zahtjeva proslijeenih iz nekog popisa ili liste (putemHTTP, GET operacije).

    Uzmimo za primjer formu za izdavanje novog putnog naloga. GET string koji se aljeaplikaciji je "mod=putni_nalozi&action=novi". Na osnovu parametra "mod" fajl "inc_app.php"ce uitati modul i podmenij iz direktorija "mod/putni_nalozi" a zbog vrijednosti parametra"action", "modul.php" ce uitati odgovarajui fajl za izdavanje novog putnog naloga. Unutarsamog fajla za izdavanje naloga e tada biti provjereno da li je postavljen parametar "sub". Sobzirom da nije, ispisat e se forma za unos podataka. Kako su nam potrebni podaci oVozau, Liniji i Vozilu instancirati emo odgovarajue klase radi kreiranja padajuih listi.Klase e nam vratiti nizove sa podacima, a mi emo ih iterativno smjestiti u izbornike.

    Procesiranje forme se vri iz istog fajla, s tom razlikom da pri slanju forme postavljamoparametar "sub" na vrijednost "add". U tom sluaju ce biti uitan drugi blok koda kojiinstancira novi objekt klase "Putni nalog", proslijeuje mu podatke iz forme putem poruke"izdaj()". Podaci iz forme su uhvaenipomou POST operacije. Klasa e smjestiti podatke ubazu, a nakon toga e se automatski, pomou JavaScripte, prei na listu izdanih putnihnaloga.

  • 8/12/2019 6269 is Autobusne Stanice

    65/66

    65

    9. Zakljuak

    S obzirom da smo stigli do kraja rada potrebno je da u kratkim crtama rezimiramo to smo touradili i koji je krajnji rezultat naeg projekta.

    Dakle, cilj projekta je bila izrada informacijskog sis tema za saobraajno odjeljenje poduzeaza lokalni prijevoz putnika na podruju Mostara Mostar Busa. U dogovoru s radnicima smodoli do zakljuka da je najbolje automatizirati poslove koje oni svakodnevno obavljaju, pasmo to i uradili.Rezultat projekta je aplikacija MoBus Informacijski Sistem. Aplikacija je raena u PHPobjekno-orientiranom jeziku s MySql bazom podataka tako da nezavisna od platforme, sobzirom da postoje PHP i MySql servisi za Unix/Linux i Windows bazirane platforme.Kao to smo na poetku ve rekli, aplikacija je raena od nule, to znai da u ovomodjeljenju nije postojalo nikakvo automatizirano rijeenje za obavljanje poslovanja. Zbog togasmo se morali gotovo jednom tjedno konsultirati s radnicima kako bi slika aplikacije bila toslinija stvarnosti. Na kraju smo proizveli jedan, mogli bismo slobodno rei, proizvodupotrebljiv u praksi tako da je na cilj u potpunosti ostvaren. Ono to je bitno jo jednom

    spomenuti je da je ovo realizirana verzija iz prvobitne slike sistema i moe se koristiti upraksi, mada postoje jo neki moduli koji bi se mogli nadograivati u budunosti. No o tomeemo razmiljati nakon to radnici testiraju ovu prvu verziju i izraze elju za nadogradnjom.Prilikom izrade aplikacije najvie smo bili voeni eljama korisnika, a kako smo imali pravipristup problemu nije bilo nesuglasica. Od samog poetka smo detaljno analizirali sistem,uzeli smo od radnika izvjetaje koje oni koriste za odgovarajue poslove, razmiljali smo omoguim rijeenjima i doli do zakljuka da je ovo to smo mi implementirali zaistanajefikasnije i novano najisplativije rijeenje. Naime, ukoliko Vam je poznato programski

    jezik PHP i MySql jezik za upravljanje bazama podataka se mogu besplatno skinuti sInterneta i takoer su nezavisni od platforme prilikom instalacije i rada s njima. Stoga smosmatrali da je ovo bolje rijeenje od koritenja Microsoftovih proizvoda. Hardverski i softverski zahtjevi za instalaciju su, takoer, minimalni tako da i taj faktor ide uprilog naoj aplikaciji.Jo neto ime su radnici bili oduevljeni je ugraena pomo za korisnike u aplikaciji, gdje imse objanjava svaki korak to i kako raditi. Ovo e vjerovatno posluiti samo na poetku dokse ne uhodaju u rad s aplikacijom, ali je svejedno jedna pozitivna stvaka koju smoimplementirali.U principu mi smo zadovoljni to smo suraivali s tako susretljivim ljudima koji su nammaksimalno pomogli da realiziramo ovaj projekat i zavrimo seminarski rad. Sad je samopitanje vremena i dobre volje da se ova aplikacija pone praktino koristiti. Time bi na ciljbio u potpunosti ostvaren.

  • 8/12/2019 6269 is Autobusne Stanice

    66/66

    10. Literatura

    1. PHP Documentation Group - PHP manual;

    2. Andi Gutmans, Stig Seather Bakken, Derick Rethans - PHP 5 Power Programming;3. Julie C. Meloni - PHP 5 Fast & Easy Web Development;4. Zend tutorijali (http://www.zend.com);5. Graeme Merrall - PHP/MySQL Tutorial:6. James Lee, Brent Ware - Open Source Web Development with LAMP: Using Linux,

    Apache, MySQL, Perl, and PHP;7. Christopher Cosentino - Advanced PHP for Web Professionals;8. Kevin Yank - Build Your Own Database-Driven Website Using PHP & MySQL;9. Leon Atkinson - Core PHP Programming, Third Edition;10. David Sklar - Learning PHP 5;11. Jay Greenspan and Brad Bulger - MySQL/PHP Database Applications;12. Ivar Jacobson, Pan-Wei Ng - Aspect-Oriented Software Development with Use

    Cases;13. UML Applied - Object Oriented Analysis and Design Using the UML;14. Robert C. Martin - UML Tutorial: Sequence Diagrams;15. Jim Conallen - Building Web Applications with UML Second Edition;16. Eric J. Naiburg,vRobert A. Maksimchuk - UML for Database Design;17. James Rumbaugh, Ivar Jacobson, Grady Booch - UML Reference Manual;18. Sinan Si AlhirLearning UML;19. Murray Cantor - Object-Oriented Project Management with UML;20. James Rumbaugh, Ivar Jacobson, Grady Booch - Unified Modeling Language User

    Guide.

    http://www.zend.com/http://www.zend.com/http://www.zend.com/http://www.zend.com/