Software Design Specification - mpohizek/Foosh GitHub Wiki
Uvod
Svrha SDS-a je opisati riječima i dijagramima kako je sustav dizajniran. SDS sadrži poglavlja o radu s podacima, strukturi i organizaciji klasa, fizičkom razmještaju komponenata u prostoru, arhitekturi i interakciji objekata tijekom vremena. Ova specifikacija softverskog dizajna namijenjena je razvojnom timu kako bi znali na koji način treba implementirati funkcionalnosti.
Modularnost
Slika 1: Prikaz modula aplikacije
Rad s podacima
Slika 2: Shema dokumenata Firebase Realtime baze podataka
Struktura klasa
Sljedeća slika prikazuje dijagram klasa generiran pomoću plugina simpleUMLCE.
Slika 3: Dijagram klasa
Organizacija klasa
Sljedeća slika prikazuje dijagram paketa. Dijagram paketa služi grupiranju klasa.
Slika 4: Dijagram paketa.
Fizički razmještaj komponenata u prostoru
Aplikacija Foosh koristi mobilnu platformu Firebase i koristi pet funkcija koje nudi Firebase, a to su:
- Authentication (koristi se za upravljanje korisničkim računima - registracija, prijava, zaboravljena lozinka)
- Database (koristi se za spremanje korisničkih podataka)
- Storage (koristi se za spremanje slika)
- Cloud Functions (pisanje funkcija unutar Firebase Backend projekta koje se automatski pokreću na određene događaje)
- Cloud Messaging (koristi se za slanje push notifikacija) Slika 5: UML dijagram razmještaja
Arhitektura "debelog" klijenta
Sljedeća slika prikazuje arhitekturu aplikacije. S jedne strane su debeli klijenti, a s druge strane Firebase mobilna platforma.
Slika 6: 2-tier klijent / server arhitektura
Interakcija objekata tijekom vremena
Interakcija app modula sa fragmentima:
Slika 7: Dijagram slijeda
Sljedeća slika prikazuje dijagram slijeda za funkcionalnost generiranja PINa.
Slika 8: Dijagram slijeda - generiranje PINa
Sljedeća slika prikazuje dijagram slijeda za funkcionalnost generiranja QR koda.
Slika 9: Dijagram slijeda - generiranje QR koda
Sljedeća slika prikazuje dijagram slijeda za skeniranje QR koda.
Slika 10: Dijagram slijeda - QR skener
Sljedeća slika prikazuje dijagram slijeda za unos PINa.
Slika 11: Dijagram slijeda - unos PINa