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