Skip to content

Tehnička dokumentacija

Tea Kovačević edited this page Jul 11, 2022 · 81 revisions

1. Specifikacija korisničkih zahtjeva

1.1. Uvod

U današnje vrijeme postoji mnogi broj malih obrtnika koji se bave maloprodajom mješovite robe, no njihov je zajednički problem vrlo često zastarjeli softver koji im često otežava posao. Potaknuti tim problemom, odlučili smo napraviti aplikaciju koja će omogućavati vlasnicima maloprodajnih trgovina obavljanje najbitnijih mogućnosti, primjerice upravljanje zalihama robe, izdavanje računa kupcima te kreiranje popratne dokumentacije za poslovne procese, brzim i efikasnim. U ovoj ćemo tehničkoj dokumentaciji pomoću različitih UML dijagrama oblikovati zahtjeve naših krajnjih korisnika, prilikom čega ćemo detaljno objašnjavati terminologiju vezanu uz sam dokument, kao i uz aplikaciju, kako bismo maksimalno olakšali pogled naših budućih korisnika.

1.2. Opis aplikacije

Naša je aplikacija namijenjena različitim kupcima, odnosno trgovinama mješovite robe i njihovim vlasnicima, te će shodno tome, spomenuti vlasnici (korisnici aplikacije) imati mogućnost prilagodbe sučelja i ostalih komponenti svojim potrebama, pri čemu se konkretno misli na promjenu dizajna računa, logotipa i sl. Aplikacija će imati tri različita pogleda, odnosno uloge: uloga superusera, uloga administratora te uloga zaposlenika. Svakodnevni korisnici ove aplikacije bit će zaposlenici, odnosno trgovci, koji će imati mogućnosti upravljanja artiklima, naručivanja i zaprimanja artikala od dobavljača te izdavanja računa, provođenja inventure, upravljanja satnicom te izrade povratnice za dobavljača. Uz navedene mogućnosti, administrator će moći upravljati zaposlenicima, skladištem te stornirati račune, a bit će dodijeljen trgovini od strane superusera koji ima najveće ovlasti. Superuser moći će dodavati nove lokacije trgovina te kreirati administratorske profile za vlasnike trgovina. Uz sve navedeno, aplikacija će prikazivati i statistiku prodaje kako bi se lakše pratio razvoj poslovanja. Cilj ove aplikacije je, kao što je ranije navedeno, olakšavanje poslovanja maloprodajnih trgovina mješovite robe.

1.3. Funkcionalni zahtjevi

Oznaka Naziv Opis
F01 Registracija i prijava Za pristup aplikaciji potrebne su registracija i prijava jednog od tri vrste korisnika – superusera, administratora ili zaposlenika.
F02 Upravljanje artiklima Omogućeno dodavanje novih artikala te povećavanje i smanjivanje količine postojećih artikala.
F03 Zaprimanje artikala Evidencija zaprimljene robe u skladište pomoću primke, moguće zaprimanje novih ili postojećih proizvoda na skladištu.
F04 Naručivanje artikala Omogućena izrada narudžbenica pomoću odabira željenog dobavljača te šifre i željene količine artikala za narudžbu.
F05 Izrada računa kupcu Kreiranje, izdavanje i moguće poništavanje računa za prodane artikle korištenjem BAR koda.
F06 Inventura Omogućena usporedba stanja na skladištu sa stvarnim stanjem u trgovini računanjem inventurne razlike (viška ili manjka) prema knjigovodstvenom i stvarnom stanju.
F07 Statistika prodaje Analitički prikaz prodaje po artiklu i kategoriji s obzirom na odabrano filtriranje po određenim kriterijima.
F08 Upravljanje satnicom Omogućen unos radnih sati od strane zaposlenika.
F09 Izrada povratnice Omogućena izrada povratnica odabirom dobavljača kojem artikle vraćamo te šifre i željene količine artikala za povrat.

1.4. Nefunkcionalni zahtjevi

Nefunkcionalni zahtjevi naše aplikacije obuhvaćaju sigurnost i zaštitu od neovlaštenog pristupa pomoću korisničkog imena i lozinke. Dizajn aplikacije mora biti napravljen na način da bude što intuitivniji, jednostavniji te pristupačniji korisniku za korištenje te mora biti omogućena pomoć korisnicima pritiskom tipke F1 kada im se, u svakom trenutku, u dijaloškom okviru prikazuju dodatne upute o formi na kojoj se nalaze. Aplikacija treba zadovoljavati zahtjeve za performanse u slučaju većeg povećanja korisnika, te mora imati kratko vrijeme odziva uz veliku brzinu procesuiranja podataka prilikom obrade. Usluge koje aplikacija nudi moraju biti dostupne bez prekida, odnosno 24/7.

1.5. Ključni pokazatelji uspjeha

Uspješnost projekta moguće je mjeriti različitim pokazateljima uspjeha, a neki od njih bili bi:

  • Trošak – prilikom definiranja svakog projekta potrebno je odrediti i cifru vrijednosti samog projekta te sve troškove vezane uz njega, te ukoliko se ostane unutar budžeta, može se reći kako je projekt uspješan
  • Vrijeme – definiranjem projekta definira se i određeni vremenski rok u kojem bi projekt trebao biti dovršen, te je pokazatelj uspjeha ako se projekt ispuni na vrijeme
  • Vjerodostojnost – svaki definirani projekt mora imati svoj izvor te mora biti uvjerljiv i autentičan
  • Objektivnost – svaki se definirani projekt treba zasnivati na činjeničnim pokazateljima, što omogućuje objektivnost te se time izbjegava utjecaj osobnih mišljenja ili iskustava članova tima
  • Kompetentnost tima – kako bi se projekt uspješno dovršio i ostvarili svi njegovi, članovi tima moraju biti kompetentni u području na koje se projekt odnosi
  • Angažiranost tima – kako bi projekt bio što uspješniji, potrebno je da se svi članovi tima aktivno uključuju i angažiraju u samoj izradi
  • Dostupnost resursa – jedna od važnih pretpostavki uspješnog projekta jer utječe na kvalitetu izrade

2. Specifikacija dizajna proizvoda

2.1. Dizajn sustava

U ovom poglavlju biti će prikazani dijagrami koji se odnose na cjelokupni dizajn aplikacije. Oni služe kako bi dobili širu sliku funkcionalnosti naše aplikacije te kako će te funkcionalnosti biti izvedene u implementaciji.

2.1.1 ERA dijagram

Dijagram na slici ispod je ERA dijagram naše aplikacije. Glavni ERA model

2.1.2 Dijagram slučajeva korištenja

Dijagram na slici ispod je dijagram slučajeva korištenja korisnika i admina naše aplikacije.

2.1.3 Arhitektura aplikacije

Arhitektura aplikacije

2.2. Detaljni opis funkcionalnosti

2.2.1 Registracija i prijava

Opis

Funkcionalnost omogućava prijavu korisnika u sustav, pri čemu se razlikuju tri vrste korisnika - superuser, administrator i zaposlenik. Superuser ima najveće ovlasti među kojima je najvažnije registriranje drugih korisnika te dodijeljivanje određenih administratorskih ovlasti vlasniku pojedine trgovine. Administrator od superusera dobiva poseban generirani kod za registraciju, a neke od ovlasti koje ima su mogućnost upravljanja zaposlenicima, skladištem te storniranje računa. Zaposlenik (običan korisnik) može obavljati samo osnovne funkcionalnosti poput izdavanja računa, upravljanja satnicom, zaprimanje artikala i slično. Kod prijave se provjerava ispravnost unesenih podataka te vrsta prijavljenog korisnika.

Funkcijski zahtjevi

Oznaka Naziv Opis
RP-1 Unos korisničkog imena i lozinke Korisnik unosi korisničko ime i lozinku
RP-2 Prijava u sustav Provjera ispravnosti unesenih podataka, pri čemu sustav automatski prepoznaje vrstu korisnika koji se prijavljuje

Dio dijagrama klasa
Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost registracije i prijave u sustav.

Dijagrami aktivnosti
Na slikama ispod možemo vidjeti dijagrame aktivnosti koji se odnose na funkcionalnost registracije i prijave u sustav.

Dijagrami slijeda
Na slikama ispod možemo vidjeti dijagrame slijeda koji se odnose na funkcionalnost registracije i prijave u sustav.

2.2.2 Upravljanje artiklima

Opis

Funkcionalnost je namijenjena obavljanju CRUD operacija nad artiklima, dakle kroz ovu će se funkcionalnost moći dodavati novi artikli, izmjenjivati podatke o postojećim artiklima te brisati postojeće artikle koje trgovina više ne namjerava prodavati. Funkcionalnost cijelo vrijeme prikazuje stanje na skladištu. Funkcionalnost koristi generator QR ili BAR koda koji sadrži osnovne podatke o artiklu (npr. ID i cijena) za očitavanje artikala.

Funkcijski zahtjevi

Oznaka Naziv Opis
UA-1 Dodavanje novog artikla Otvara se nova forma u kojoj korisnik upisuje podatke o artiklu, nakon čega se novo kreirani artikl pohranjuje u bazu
UA-2 Uređivanje odabranog artikla Otvara se ista forma kao i za dodavanje novog artikla, a razlikuje se po tome što korisnik može mijenjati samo određene informacije o artiklu te se podaci ažuriraju u bazi
UA-3 Brisanje odabranog artikla Odabrani se artikl briše iz baze podataka

Dio dijagrama klasa
Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost upravljanja artiklima.

Dijagram aktivnosti
Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na funkcionalnost upravljanja artiklima.

Dijagram slijeda
Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na funkcionalnost upravljanja artiklima.

2.2.3 Zaprimanje artikala

Opis

Prilikom dostave od dobavljača, korisnik preko primke zaprima artikle u trgovinu. Na ovaj se način omogućuje evidencija zaprimljene robe u skladište te se njome povećava količina novih ili postojećih proizvoda na skladištu za vrijednost nabavljenu od dobavljača. Ovu je funkcionalnost moguće obaviti preko BAR koda ili ručnim odabirom artikla.

Funkcijski zahtjevi

Oznaka Naziv Opis
ZA-1 Odabir primke Korisnik odabire primku koju je dobio od dobavljača prilikom dostave artikala u trgovinu
ZA-2 Odabir stavke za zaprimanje Korisnik skeniranjem BAR koda ili ručnim odabirom odabire artikl koji želi zaprimiti
ZA-3 Zaprimanje artikala Klikom na gumb „Zaprimi“ odabrana stavka zaprima se na stanje skladišta

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost zaprimanja artikala na skladište.

Dijagram aktivnosti

Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na funkcionalnost zaprimanja artikala na skladište.

Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na funkcionalnost zaprimanja artikala na skladište.

2.2.4 Naručivanje artikala

Opis

Korisnik izrađuje narudžbenicu odabirući artike za koje smatra da ih nema dovoljno na skladištu.

Funkcijski zahtjevi

Oznaka Naziv Opis
NA-1 Odabir dobavljača Korisnik odabire iz sustava ponuđene dobavljače
NA-2 Unos šifre artikla Korisnik pretražuje po šifri artikla kako bi brže pronašao artikl koji traži od točno tog dobavljača
NA-3 Unos količine Nakon odabira artikla (klikom), korisnik upisuje količinu koja je potrebna trgovini
NA-4 Dodaj u narudžbenicu Korisnik klikom na gumb potvrđuje da želi dodati odabrani artikl u upisanoj količini na narudžbenicu
NA-5 Ukloni odabranu stavku Korisnik klikom na gumb može ukoniti stavku za koju smatra da ipak nije potrebna

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost naručivanja artikala od dobavljača. Dijagram klasa - Naručivanje artikala
Dijagram aktivnosti

Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na fukncionalnost naručivanja artikala od dobavljača.
Dijagram aktivnosti - Naručivanje artikala

Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na fukncionalnost naručivanja artikala od dobavljača.
Dijagram slijeda - Naručivanje artikala

2.2.5 Izrada računa kupcu

Opis

Korisnik izrađuje račun kupcu čime se kreira novi račun s navedenim artiklima i njihovim količinama te ukupnim iznosom. Nakon kreiranja računa, stanje na skladištu se isto tako mijenja. Dana je mogućnost storniranja računa, čime se iznos oduzima od trenutnog prometa poslovnice te artikli vraćaju na skaldište.

Funkcijski zahtjevi

Oznaka Naziv Opis
IRK-1 Skeniranje koda ili unos šifre Korisnik skenira kod s artikla ili utipka šifru artikla kako bi se isti pojavio na računu
IRK-2 Upisivanje količine Korisnik upisuje količinu za svaki proizvod, ukoliko je količina veća od 1
IRK-3 Storniranje računa Korisnik klikom na gumb može poništiti čitav račun ukoliko kupac odustane od kupnje
IRK-4 Izdavanje računa Korisnik klikom na gumb izdaje račun kupcu
IRK-5 Uklanjanje stavke Korisnik može ukloniti stavku s računa prije izdavanja ukoliko se kupac predomislio

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na fukncionalnost izdavanja računa kupcu.
Dijagram klasa - Izrada računa kupcu Dijagram aktivnosti

Na slici ispod možemo vidjeti dio dijagram aktivnosti koji se odnosi na fukncionalnost izdavanja računa kupcu.
Dijagram aktivnosti - Izrada računa kupcu

Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na fukncionalnost izdavanja računa kupcu.
Dijagram slijeda - Izrada računa kupcu

2.2.6 Inventura

Opis

Inventura predstavlja godišnji popis imovine gdje je potrebno prikazati istinito i stvarno stanje imovine trgovine. Ova funkcionalnost omogućuje usporedbu stanja na skladištu sa stvarnim stanjem u trgovini te računa nastali višak ili manjak, a moguće ju je provoditi skeniranjem BAR koda ili ručnim odabirom artikala.

Funkcijski zahtjevi

Oznaka Naziv Opis
I-1 Odabir datuma Korisnik odabire datum na koji se inventura izvršava, dok se u pozadini računa knjigovodstveno stanje godinu dana unatrag od odabranog datuma
I-2 Unos artikala Prilikom fizičkog pregleda stanja u trgovini, u obrazac se upisuje odabrani artikl skeniranjem BAR koda ili ručnim unosom šifre te unosom jedinične cijene i količine koja je prebrojena
I-3 Učitavanje knjigovodstvenog stanja Klikom na gumb „Učitaj knjigovodstveno stanje“ ispisuje se ukupna knjigovodstvena količina i cijena artikala na skladištu
I-4 Dohvaćanje stvarnog stanja Klikom na gumb „Dohvati stvarno stanje“ izračuna se ukupna količina i cijena prebrojanih artikala
I-5 Obračun inventure Klikom na gumb „Obračunaj inventuru“ ispiše se razlika knjigovodstvenog i stvarnog stanja te se određuje je li nastao višak ili manjak
I-6 Pohrana inventure Klikom na gumb „Pohrani“ inventura se pohranjuje u bazu
I-7 Ispis izvješća Klikom na gumb „Ispis izvješća“ generira se PDF dokument s napravljenom inventurom

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost provođenja inventure.

Dijagram aktivnosti

Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na funkcionalnost provođenja inventure.

Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na funkcionalnost provođenja inventure.

2.2.7 Statistika prodaje

Opis

Uz pomoć ove funkcionalnosti korisnici aplikacije mogu vidjeti detalje o prodanim artiklima kako bi ustvrdili koji proizvodi se najviše ili najmanje prodaju te koliki prihod generiraju.

Funkcijski zahtjevi

Oznaka Naziv Opis
SP-1 Odabir kriterija za sortiranje Korisnik odabire koji analitički pogled želi imati (po artiklu ili kategoriji)
SP-2 Odabir izvještaja ukupnog poslovanja Korisnik odabire pregled ukupnog poslovanja koji sadrže sve proizvode i kategorije njegove poslovnice

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na pregledavanja statistike prodaje trgovine. Dijagram klasa - Statistika prodaje Dijagram aktivnosti

Na slici ispod možemo vidjeti dijagram aktivnosi koji se odnosi na pregledavanja statistike prodaje trgovine.
Dijagram aktivnosti - Statistika prodaje Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na pregledavanja statistike prodaje trgovine.
Dijagram slijeda - Statistika prodaje

2.2.8 Upravljanje satnicom

Opis

Funkcionalnost omogućava pregled zapisa o satnici po odabranom kriteriju, unos radnih sati, ažuriranje postojećih zapisa te brisanje zapisa. Osim toga, moguće je generirati i izvješće za ispis.

Funkcijski zahtjevi

Oznaka Naziv Opis
US-1 Dodavanje novog zapisa Otvara se nova forma za unos podataka o novom zapisu satnice, nakon čega se zapis sprema u bazu podataka
US-2 Uređivanje odabranog zapisa Otvara se ista forma kao i kod dodavanja novog zapisa, a razlikuje se po tome što zaposlenik može promijeniti samo određene podatke za taj zapis (npr. broj sati), nakon čega se zapis ažurira u bazi podataka
US-3 Brisanje odabranog zapisa Odabrani se zapis briše iz baze podataka
US-4 Ispis izvješća Generira se izvješće u obliku PDF dokumenta koje je moguće ispisati

Dio dijagrama klasa
Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost upravljanja satnicom.
Dijagram aktivnosti
Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na funkcionalnost upravljanja artiklima.
Dijagram slijeda
Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na funkcionalnost upravljanja artiklima.

2.2.9 Izrada povratnice

Opis

Ukoliko se utvrdi da je artikl iz nekog od različitih razloga neispravan te da ga se ne može prodati, potrebno ga je vratiti dobavljaču. Pomoću ove funkcionalnosti generira se PDF dokument s popisom artikala koji su namijenjeni za povrat.

Funkcijski zahtjevi

Oznaka Naziv Opis
IP-1 Odabir dobavljača Odabirom dobavljača prikazuju se svi artikli koje mu je moguće vratiti
IP-2 Odabir stavke za povrat Korisnik skeniranjem BAR koda ili ručnim odabirom odabire artikl te upisuje količinu koju želi vratiti
IP-3 Dodavanje u povratnicu Klikom na gumb „Dodaj u povratnicu“ artikl se dodaje na popis stavki povratnice
IP-4 Uklanjanje iz povratnice Klikom na gumb „Ukloni odabranu stavku“ iz popisa stavki povratnice briše se odabrani artikl
IP-5 Generiranje povratnice Klikom na gumb „Generiraj povratnicu“ generira se PDF dokument koji sadrži popis artikala za povrat

Dio dijagrama klasa

Na slici ispod možemo vidjeti dio dijagrama klasa koji se odnosi na funkcionalnost izrade povratnice.

Dijagram aktivnosti

Na slici ispod možemo vidjeti dijagram aktivnosti koji se odnosi na funkcionalnost izrade povratnice.

Dijagram slijeda

Na slici ispod možemo vidjeti dijagram slijeda koji se odnosi na funkcionalnost izrade povratnice.

2.3. Testni podaci

  • bbasic, 12345 (superAdmin)
  • mkovac, 12345 (superAdmin)
  • tkovacevi, 12345 (superAdmin)
  • ipavic, ipavic123 (voditelj)
  • mlovren, mlovren123 (voditelj)
  • dperkovic, dperkovic123 (blagajnik)
  • lkranjcar, lkranjcar123 (blagajnik)

2.4. Podešavanje razvojne okoline

Potrebno: