-
Notifications
You must be signed in to change notification settings - Fork 0
Zadatak
Kolegij: Programsko inženjerstvo
Akademska godina: 2023/24
Autor: Luka Kukec
Datum: 20.4.2024
Svrha Ovaj dokument predstavlja specifikaciju softverskih zahtjeva za sustav upravljanja gradskim prijevozom putnika. Služi kao formalni opis funkcionalnih i nefunkcionalnih zahtjeva sustava te kao podloga za njegovu izradu i testiranje. Specifikacija zahtjeva je izrađena na temelju inicijalnih korisničkih zahtjeva dostavljenih od strane nastavnika na kolegiju
Ciljana skupina:
- Menadžeri: upravitelji i vlasnici projekta koji će upravljati izradom rješenja.
- Dizajneri i programeri: inženjeri i programeri koji trebaju osmisliti i implementirati te testirati softversko rješenje.
- Putnici: stanovnici koji će koristiti gradski prijevoz.
Problemska dilema je da se trenutno poslovanje gradskog prijevoza vodi "na papiru". Zbog toga je trenutni gradski prijevoz neefikasan, netočan i često se javljaju zaostaci ,a stanovnici ne znaju trenutno stanje autobusa. Programsko rješenje će se upotrebljavati od dvije strane:
- Od strane zaposlenika u gradskom prijevozu:
- Upravljanje voznim parkom - dodavanje, uređivanje i brisanje informacija o vozilima
- Upravljanje stanicama - Dodavanje, uređivanje i brisanje informacija o stanicama
- Upravljanje linijama i voznim redom - definiranje linija, dodavanje stanica na liniju, redoslijed stanica, definiranje vremena polaska i dolaska autobusa
- Praćenje lokacije autobusa - zadnja stanica na kojoj je autobus stao
- Prodaja karata - radi ubrzanja ukrcavanja na autobus
- Od strane putnika:
- Dobivanje informacija o linijama
- Dobivanje informacija o voznom redu
- Kupnja karata
- Znanje gdje se autobus nalazi
Softversko rješenje (naziv) : VaraždinBus Verzija: 1.0
Tip: Potpuno novo rješenje
Funkcionalnost:
- Upravljanje voznim parkom
- Upravljanje stanicama
- Upravljanje linijama
- Upravljanje voznim redom
- Praćenje lokacije autobusa
- Prodaja karata
- Prikaz informacija na kioscima
- Mobilna aplikacija za putnike
Dobrobiti i unaprjeđenja:
- Poboljšana kvaliteta usluge
- Povećana transparentnost
- Učinkovitije upravljanje resursima
- Poboljšana sigurnost
- Ubrzani proces ukrcavanja
- Lakši pristup informacijama za putnike
Što VaraždinBus neće raditi:
- Upravljanje financijama
- Planiranje ruta za putnike
Pojmovi:
- VaraždinBus: Softversko rješenje za upravljanje gradskim prijevozom putnika u Varaždinu.
- Kiosk: Interaktivni terminal s ekranom na dodir koji se koristi za kupovinu karata i prikaz informacija o voznom parku, stanicama, linijama i voznom redu.
- Vozni park: Skup svih autobusa koje koristi gradski prijevoz.
- Stanica: Mjesto na autobusnoj ruti gdje se autobus zaustavlja da bi ukrcao i iskrcao putnike.
- Linija: Putanja kojom autobus vozi.
- Vozni red: Raspored polaska i dolaska autobusa na svakoj stanici.
- Putnik: Osoba koja koristi usluge gradskog prijevoza.
//Akronimi i skraćenice:
Web stranica Gradskog prijevoza Varaždin: https://varazdin.hr/gradski-buseki/ Zakon o prijevozu putnika: https://www.zakon.hr/z/245/Zakon-o-prijevozu-u-cestovnom-prometu
- Poglavlje 2: Opis sustava VaraždinBus
U ovom poglavlju ćemo opisati sustav VaraždinBus u kontekstu njegove upotrebe, interakcije s korisnicima, te integracije s drugim sustavima, softverom, hardverom i komunikacijskim tehnologijama. Također ćemo dati sažet pregled osnovnih funkcija sustava, karakteristika korisnika i ograničenja koja mogu utjecati na njegov razvoj.
- Poglavlje 3: Funkcionalni zahtjevi
U ovom poglavlju ćemo detaljno definirati funkcionalne zahtjeve za sustav VaraždinBus.
- Poglavlje 4: Nefunkcionalni zahtjevi
U ovom poglavlju ćemo definirati nefunkcionalne zahtjeve za sustav VaraždinBus.
- Poglavlje 5: Grafičko korisničko sučelje
U ovom poglavlju ćemo vizualizirati način interakcije korisnika s VaraždinBus sustavom pomoću skica korisničkog sučelja.
Kontekst i integracija:
Sustav VaraždinBus neće biti izolirano softversko rješenje, već će se integrirati s nizom drugih sustava, softvera i hardvera:
Interni sustavi:
- Sustav za upravljanje financijama
- Sustav za upravljanje ljudskim resursima
- Sustav za nadzor kamera Eksterni sustavi:
- Platforme za online plaćanje
- Sustavi za planiranje ruta
- Javni API-ji za geolokaciju i prometne informacije Hardver:
- GPS prijemnici u autobusima
- Kiosci na autobusnim stanicama
- Validatori karata u autobusima
- Mobilni telefoni putnika Odnos s nadređenim sustavom:
Sustav VaraždinBus se ne smatra dijelom većeg sustava, već će funkcionirati kao samostalno rješenje. Ipak, integracija s internim sustavima će biti potrebna za funkcionalnost poput:
- Dohvaćanje podataka o zaposlenicima
- Upravljanje financijama vezanim za prodaju karata
- Integracija s nadzornim kamerama u autobusima Vanjski sustavi i softver:
Za funkcioniranje, VaraždinBus će se oslanjati na sljedeće vanjske sustave i softver:
-
DMBS: PostgreSQL baza podataka za pohranu svih podataka sustava
-
Operacijski sustav: Linux server za hosting sustava
-
Web server: Apache za servisiranje web sučelja
-
Web servisi: REST API za integraciju s mobilnom aplikacijom i kioscima
-
Platforme za online plaćanje: Integracija s popularnim platformama za online kupnju karata
-
API-ji: Google Maps API za prikaz karata i ruta, OpenWeather API za meteorološke informacije Sučelja s hardverom:
-
GPS prijemnici: Primanje podataka o lokaciji autobusa u realnom vremenu
-
Kiosci: Interakcija s kioscima za prikaz informacija i kupnju karata
-
Validatori karata: Provjera valjanosti karata u autobusima
-
Mobilni telefoni: Komunikacija s mobilnom aplikacijom putem interneta
VaraždinBus mora imati sljedeće funkcije:
- Prikaz informacija o linijama i voznom redu
- Unos i ažuriranje podataka o voznom parku
- Izrada izvješća o prodaji karata
- Prikaz statističkih podataka o korištenju sustava
- Sustav mora omogućiti online kupnju karata
- Sustav mora omogućiti validaciju karata u autobusima
- Sustav mora pratiti lokaciju autobusa u realnom vremenu
- Sustav mora biti siguran i zaštićivati podatke o putnicima i zaposlenicima
VaraždinBus: Različiti korisnici, različite uloge Korisnici VaraždinBus sustava mogu se podijeliti u tri ključne grupe: vozači autobusa, tehničko osoblje i putnici. Svaka grupa ima svoje specifične uloge i dozvole u sustavu.
Vozači autobusa su oni koji su zaduženi za siguran i efikasan prijevoz putnika. Oni moraju posjedovati valjanu vozačku dozvolu, iskustvo vožnje autobusa i dobro poznavanje linija i voznog reda. Njihove dozvole uključuju praćenje lokacije autobusa, upravljanje vozilom i osvrt na kamere.
Tehničko osoblje je odgovorno za održavanje autobusa i IT sustava. To uključuje mehaničare, elektrotehničare i IT stručnjake. Njihove dozvole variraju ovisno o specifičnoj ulozi, ali u pravilu uključuju servisiranje sustava, ažuriranje podataka i integraciju s vanjskim sustavima.
Putnici su korisnici usluge prijevoza. Oni mogu biti redoviti putnici koji koriste VaraždinBus na dnevnoj bazi, ili privremeni putnici koji koriste uslugu povremeno. Njihove dozvole su ograničene na pregled informacija o linijama, voznom redu i kupnju karata.
Osim ovih ključnih grupa, postoje i posebne grupe korisnika koje se moraju uzeti u obzir, kao što su umirovljenici i osobe s invaliditetom. Njihove potrebe i ograničenja moraju se pažljivo razmotriti u dizajnu i funkcionalnosti sustava.
- Zakonski i korporativni propisi i regulative:
- GDPR: Sustav mora biti u skladu s GDPR propisima koji se odnose na zaštitu osobnih podataka putnika i zaposlenika. To uključuje prikupljanje, pohranu i obradu podataka na siguran i transparentan način.
- Fiskalizacija: Sustav mora biti fiskaliziran i u skladu s propisima o izdavanju računa.
- Sigurnosne politike: Sustav mora ispunjavati sve interne sigurnosne politike tvrtke VaraždinBus, uključujući kontrolu pristupa, autentifikaciju i autorizaciju korisnika.
- Hardverska ograničenja:
- Razvoj za mobilne uređaje: Sustav mora biti optimiziran za korištenje na mobilnim uređajima s ograničenim resursima (baterija, memorija, procesor).
- Povezivost: Sustav mora funkcionirati i u područjima s lošim internetskim signalom.
- Potreba za prilagodbom drugim sustavima:
- Interakcija s postojećim sustavima: Sustav se mora integrirati s postojećim sustavima VaraždinBusa, kao što su sustav za prodaju karata i sustav za praćenje vozila.
- Zastarjeli sustavi: Mogućnost da se sustav integrira s eventualno zastarjelim sustavima koji se koriste u tvrtki.
- Sigurnosna kritičnost aplikacije:
- Upravljanje opasnim strojevima: Sustav ne upravlja opasnim strojevima u direktnom smislu.
- Medicinski uređaji: Sustav ne radi s medicinskim uređajima.
- Osjetljivi i povjerljivi podaci: Sustav obrađuje osjetljive podatke o putnicima i zaposlenicima, stoga je potrebno osigurati visoku razinu sigurnosti.
- Zahtjevi za pouzdanošću:
- Pristup, alati i prakse: Razvoj sustava mora se provoditi uz korištenje odgovarajućeg pristupa, alata i praksi u programiranju, modeliranju i testiranju.
- Standardi: Sustav mora ispunjavati relevantne standarde za pouzdanost softvera.
Važno je da VaraždinBus prati promjene u potražnji, infrastrukturi, regulisanju i tehnologiji i da se prema tome prilagođava. To može uključivati promjenu linija autobusa, dodavanje novih linija ili ukidanje linija koje više nisu potrebne.
VaraždinBus bi trebao redovito informirati putnike o promjenama u linijama i vremenu polaska autobusa. To se može učiniti kroz web stranicu, mobilnu aplikaciju, oglase na autobusnim stanicama i u autobusu. Osim promjena u linijama, moguće je da se promijeni i vrijeme polaska autobusa.
Sustav VaraždinBus bi trebao biti dostupan na više jezika, ovisno o potrebama putnika. Višejezičnost sustava može poboljšati korisničko iskustvo za putnike koji ne govore hrvatski jezik.
Identifikator | VB-1 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-2 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-3 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-4 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-5 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-6 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-7 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |
Identifikator | VB-8 |
---|---|
Zahtjev | raaa |
Obrazloženje | aaaaaaa |
Način provjere | aaaa |
Prioritet[1-5] | aaaa |
Izvor/Porijeklo | brr |