Odabire ciljanu publiku (npr. "Radnici", "Studenti", "Svi").
Unosi naslov i tekst obavijesti.
Odabire opciju "Pošalji".
Sustav šalje obavijest odabranoj grupi korisnika putem notifikacija unutar aplikacije.
Opis mogućih odstupanja
3. a) Tekst obavijesti je prazan.
Sustav ispisuje grešku i ne dopušta slanje. Tijek se vraća na korak 3.
UC10 - Pregled obavijesti (studenti i radnici)
Element
Opis
Glavni sudionik
Student ili Radnik menze
Cilj
Omogućiti studentima i radnicima pregled primljenih obavijesti.
Sudionici
Student, Radnik menze, Sustav
Preduvjet
Korisnik je prijavljen u sustav.
Opis osnovnog tijeka
Korisnik u aplikaciji odabire ikonu ili opciju za obavijesti.
Sustav prikazuje listu svih primljenih obavijesti, kronološki poredanih.
Korisnik može odabrati pojedinu obavijest kako bi je pročitao u cijelosti.
Sustav označava pročitane obavijesti.
Opis mogućih odstupanja
1. a) Nema novih obavijesti.
Sustav prikazuje poruku "Nemate novih obavijesti".
UC11 - Pregled ljudi zainteresiranih za neko jelo (voditelj)
Element
Opis
Glavni sudionik
Voditelj menze
Cilj
Omogućiti voditelju menze uvid u to koliko je studenata pretplaćeno na obavijesti za određena jela.
Sudionici
Voditelj menze, Sustav
Preduvjet
Voditelj menze je prijavljen u sustav.
Opis osnovnog tijeka
Voditelj menze odabire opciju "Statistika".
Sustav prikazuje listu svih jela iz baze podataka.
Pored svakog jela, sustav prikazuje broj studenata koji su se pretplatili na obavijesti za to jelo.
Voditelj može sortirati listu po popularnosti kako bi lakše planirao buduće menije.
Opis mogućih odstupanja
Nema značajnih odstupanja.
UC12 - Pregled trenutno dostupnih jela u određenoj menzi
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu da u stvarnom vremenu vidi koja su jela dostupna u odabranoj menzi.
Sudionici
Student, Sustav
Preduvjet
Student je prijavljen u sustav.
Opis osnovnog tijeka
Student otvara aplikaciju i odabire menzu koju želi provjeriti.
Aplikacija prikazuje dnevni meni za odabranu menzu.
Pored svakog jela stoji oznaka o dostupnosti (npr. "Dostupno", "Nedostupno").
Prikaz se automatski ažurira kako radnici mijenjaju status dostupnosti.
Opis mogućih odstupanja
1. a) Za odabranu menzu danas nije postavljen meni.
Aplikacija prikazuje poruku "Meni za danas još nije objavljen".
1. b) Trenutno vrijeme ne upada u radno vrijeme odabrane menze.
Aplikacija prikazuje poruku "Menza ne radi".
UC13 - Pretplata na jelo (student)
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu da se pretplati na obavijesti za omiljeno jelo kako bi bio informiran kada postane dostupno.
Sudionici
Student, Sustav
Preduvjet
Student je prijavljen u sustav.
Opis osnovnog tijeka
Student pregledava listu svih mogućih jela u aplikaciji.
Pored jela koje ga zanima, student odabire opciju "Pretplati se".
Sustav sprema informaciju o pretplati za tog studenta i to jelo.
Student može na isti način otkazati pretplatu.
Opis mogućih odstupanja
2. a) Student je već pretplaćen na odabrano jelo.
Sustav nudi opciju za otkazivanje pretplate.
UC14 - Notifikacija o jelu (sustav)
Element
Opis
Glavni sudionik
Sustav
Cilj
Automatski obavijestiti sve pretplaćene studente kada jelo na koje su pretplaćeni postane dostupno u nekoj od menzi.
Sudionici
Sustav, Student, Eksterni servis (Firebase Cloud Messaging)
Preduvjet
Barem jedan student je pretplaćen na barem jedno jelo.
Opis osnovnog tijeka
Voditelj menze objavi dnevni meni koji sadrži jelo "X".
Sustav provjerava listu svih studenata koji su pretplaćeni na jelo "X".
Sustav automatski šalje push notifikaciju svim tim studentima s porukom (npr. "Sarma je danas dostupna u Menzi Z!").
Opis mogućih odstupanja
Nema značajnih odstupanja u ovom automatiziranom procesu.
UC15 - Pinganje menzi preko Google Mapsa
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu da lako pronađe lokaciju menze i dobije upute za dolazak.
Sudionici
Student, Sustav, Eksterni servis (Google Maps)
Preduvjet
Student ima pristup internetu i lokacijskim uslugama na svom uređaju.
Opis osnovnog tijeka
Student unutar aplikacije pregledava detalje o određenoj menzi.
Student odabire opciju "Prikaži na karti" ili "Navigacija".
Aplikacija prosljeđuje koordinate menze vanjskoj aplikaciji za mape (npr. Google Maps).
Vanjska aplikacija se otvara i prikazuje lokaciju menze te nudi opcije za navigaciju od trenutne lokacije studenta.
Opis mogućih odstupanja
3. a) Student nema instaliranu aplikaciju za mape.
Sustav nudi otvaranje lokacije u web pregledniku.
UC16 - Sustav periodično nudi anketu
Element
Opis
Glavni sudionik
Sustav
Cilj
Prikupljanje povratnih informacija od studenata o zadovoljstvu hranom i uslugom.
Sudionici
Sustav, Student
Preduvjet
Administrator je kreirao i aktivirao anketu u sustavu.
Opis osnovnog tijeka
Sustav, prema unaprijed definiranim pravilima (npr. jednom mjesečno), nasumično odabire aktivne studente.
Sustav tim studentima šalje notifikaciju s pozivom za ispunjavanje ankete.
Notifikacija sadrži link koji vodi direktno na anketu unutar aplikacije.
Opis mogućih odstupanja
Nema značajnih odstupanja u ovom automatiziranom procesu.
UC17 - Ispunjavanje ponuđene ankete o hrani
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu da izrazi svoje mišljenje i prijedloge kroz anketu.
Sudionici
Student, Sustav
Preduvjet
Student je primio poziv za ispunjavanje ankete.
Opis osnovnog tijeka
Student klikne na notifikaciju ili link za anketu.
Aplikacija prikazuje anketu s pitanjima (npr. ocjena kvalitete, prijedlozi za nova jela).
Student odgovara na pitanja.
Student podnosi ispunjenu anketu.
Sustav sprema odgovore anonimno u bazu podataka za kasniju analizu.
Opis mogućih odstupanja
1. a) Student ignorira ili odbije ispuniti anketu.
Sustav bilježi da je anketa ponuđena i ne nudi je ponovno određeni period.
UC18 - Ocjenjivanje jela u menzi
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu da ocijeni pojedino jelo nakon konzumacije.
Sudionici
Student, Sustav
Preduvjet
Student je prijavljen. Jelo je na dnevnom meniju.
Opis osnovnog tijeka
Student pregledava meni unutar aplikacije.
Pored svakog jela, student vidi trenutnu prosječnu ocjenu i opciju za ocjenjivanje (npr. zvjezdice).
Student odabire jelo koje želi ocijeniti.
Student dodjeljuje ocjenu (npr. od 1 do 5 zvjezdica).
Sustav bilježi ocjenu i ažurira prosječnu ocjenu jela.
Opis mogućih odstupanja
4. a) Student je već ocijenio to jelo u određenom vremenskom periodu (npr. danas).
Sustav prikazuje njegovu postojeću ocjenu i omogućuje mu da je promijeni, ali ne i da doda novu.
UC19 - Prikaz vremena promjene dostupnosti jela
Element
Opis
Glavni sudionik
Student
Cilj
Omogućiti studentu informaciju o točnom vremenu kada je status dostupnosti nekog jela zadnji put promijenjen.
Sudionici
Student, Sustav
Preduvjet
Student je prijavljen u sustav. Radnik menze je promijenio dostupnost barem jednog jela na današnjem meniju.
Opis osnovnog tijeka
Student unutar aplikacije odabere menzu i pregledava današnji meni.
Radnik menze promijeni status jela iz "Dostupno" u "Nedostupno" (ili obrnuto).
Sustav zabilježi točno vrijeme promjene statusa.
Prilikom pregleda menija, student uz status jela (npr. "Nedostupno") vidi i vremensku oznaku kada je ta promjena nastupila (npr. "od 14:20").
Opis mogućih odstupanja
4. a) Status jela se nije mijenjao od početka dana (od objave menija).
Sustav prikazuje samo status "Dostupno" bez dodatne vremenske oznake.
UC20 - Dodavanje i brisanje računa za radnike iz baze podataka(admin)
Element
Opis
Glavni sudionik
Administrator
Cilj
Upravljanje korisničkim računima radnika menze i određivanje voditelja.
Sudionici
Administrator, Sustav
Preduvjet
Administrator je prijavljen u sustav. Radnici čiji se račun briše prijašnje postoji u bazi podataka. Radnici koji se dodaju u bazu još ne postoje u njoj.
Opis osnovnog tijeka (Dodavanje)
Administrator odabire opciju za upravljanje računima radnika menze.
Administrator odabire gumb s oznakom dodavanja (+).
Sustav prikazuje formu za unos podataka o radniku (ime, prezime, korisničko ime, lozinka, menza kojoj pripada, uloga).
Administrator unosi potrebne podatke.
Administrator potvrđuje unos.
Sustav sprema novog radnika u bazu podataka.
Sustav prikazuje poruku o uspješnom dodavanju računa.
Opis osnovnog tijeka (Brisanje)
Administrator odabire opciju za upravljanje računima radnika menze.
Sustav prikazuje listu svih radnika menze.
Administrator odabire radnika kojeg želi obrisati.
Administrator odabire gumb s oznakom brisanja(Trashcan).
Sustav traži potvrdu brisanja.
Administrator potvrđuje brisanje.
Sustav briše račun radnika iz baze podataka.
Opis mogućih odstupanja
4. a) Uneseno korisničko ime već postoji u sustavu.
Sustav ispisuje poruku o grešci i vraća se na korak 3 (dodavanje).
5. a) Administrator pokušava postaviti voditelja u menzi koja već ima voditelja.
Sustav ispisuje poruku o grešci.
3. Specifikacija zahtjeva sustava
1. Visokorazinski dijagram obrazaca uporabe cijelog sustava
Dijagram sustava 1
Dijagram sustava 2
2. Dijagram obrazaca uporabe za ključne značajke
Prijava korisnika
UC18 - Ocjenjivanje jela u menzi
UC19 - Prikaz vremena promjene dostupnosti jela
3. Dijagram obrazaca uporabe za korisničke uloge
Funkcionalnost administratora
Funkcionalnost voditelja menze
Funkcionalnost radnika
Funkcionalnost studenta
Dijagram obrazaca uporabe za osnovne poslovne procese
Funkcionalnost obavještavanja korisnika
Osnovni poslovni procesi menze
Funkcionalnost ankete
Dijagram obrazaca uporabe za kritične sustave i integracije
UC14 - Notifikacija o jelu (sustav)
UC15 - Pinganje menzi preko Google Mapsa
OAuth servis
Sekvencijski dijagrami
Prijava i registracija studenta
Sekvencijski dijagram prikazuje proces prijave studenta u web aplikaciju putem Google autentifikacije. Student pokreće prijavu, nakon čega web aplikacija prosljeđuje zahtjev Clerk poslužitelju koji provjerava podatke preko Google poslužitelja. Ovisno o ispravnosti podataka, Clerk vraća aplikaciji obavijest o uspješnoj ili neuspješnoj autentifikaciji. Ako je autentifikacija uspješna, web aplikacija provjerava postoji li student u bazi podataka te ga, ako postoji, prijavljuje, a ako ne postoji, automatski registrira i zatim prijavljuje. U slučaju neuspješne autentifikacije ili pogrešnih podataka, sustav obavještava studenta da prijava nije uspjela. Na kraju, student prima informaciju o tome je li prijava ili registracija bila uspješna.
Slanje obavijesti o dostupnosti hrane studentima
Sekvencijski dijagram prikazuje proces obavještavanja pretplaćenih korisnika kada radnik u menzi doda novo jelo na listu dostupnih. Radnik dodaje jelo putem web aplikacije, koja potom provjerava bazu podataka kako bi dohvatila popis korisnika pretplaćenih na to jelo u toj menzi. Ako postoje pretplaćeni korisnici, aplikacija im šalje obavijesti putem Firebase Cloud Messaginga i prima potvrdu o uspješnom slanju, koju zatim prosljeđuje radniku kao povratnu informaciju. Ako pretplaćenih korisnika nema, aplikacija obavještava radnika da nema primatelja za notifikaciju. Dijagram jasno prikazuje oba moguća tijeka procesa i sve ključne poruke između radnika, web aplikacije, baze podataka i servisa za slanje obavijesti.
Slanje generalne obavijesti
Ovaj dijagram prikazuje proces slanja obavijesti od voditelja menze korisnicima putem web aplikacije. Proces se odvija na sljedeći način: voditelj prvo zahtijeva formu za obavijest od web aplikacije. Nakon što dobije obrazac, ispunjava ga i vraća aplikaciji. Web aplikacija potom sprema obavijest u bazu podataka te provjerava postoje li korisnici kojima je potrebno poslati obavijest. Ukoliko korisnici postoje, aplikacija šalje obavijest i prima potvrdu o njenom dostavljanju. Ako korisnika nema, aplikacija javlja grešku. Na kraju, vodič dobiva obavijest da je proces uspješno završen.
Dodavanje i brisanje jeela
Ovaj sekvencijski dijagram detaljno prikazuje administrativne radnje za upravljanje jelima. Za operaciju dodavanja hrane, Administrator najprije zahtijeva i popunjava formu, nakon čega web aplikacija provjerava postojanje tog jela u bazi; ovisno o ispravnosti unesenih podataka, novo se jelo dodaje na listu ili se vraća poruka o grešci. Slično tome, kod brisanja hrane, aplikacija prvo provjerava je li odabrano jelo aktivno u bazi te se, ako nije aktivno, jelo briše i transakcija potvrđuje, dok se u suprotnom slučaju administratoru prikazuje poruka o grešci.
Provjera uključenosti ključnih funkcionalnosti u obrasce uporabe
Redni broj
Naziv obrasca uporabe
Funkcionalni zahtjevi
UC1
Prijavi administratora
UC2
Prijavi voditelja i radnika menze
UC3
Prijavi studenta
F-009
UC4
Kreacija menze od strane admina
F-002
UC5
Dodjela voditelja menzi (admin)
F-003
UC6
Dodavanje i brisanje jela iz baze podataka (admin)
F-001
UC7
Kreacija dnevnog menija i određivanje radnog vremena
F-004
UC8
Mijenjanje dostupnosti jela (radnik)
F-005
UC9
Slanje obavijesti radnicima i studentima
F-006
UC10
Pregled obavijesti (studenti i radnici)
F-007
UC11
Pregled ljudi zainteresiranih za neko jelo (voditelj)
F-008
UC12
Pregled trenutno dostupnih jela u određenoj menzi
F-010
UC13
Pretplata na jelo (student)
F-011, F-012
UC14
Notifikacija o jelu (sustav)
F-011, F-012
UC15
Pinganje menzi preko Google Mapsa
F-013
UC16
Sustav periodično nudi anketu
F-014
UC17
Ispunjavanje ponuđene ankete o hrani
F-014
UC18
Ocjenjivanje jela u menzi
F-015
UC19
Prikaz vremena promjene dostupnosti jela
F-016
UC20
Dodavanje i brisanje računa za radnike iz baze podataka(admin)