Beadás dátuma: 2024.09.25.
1. Bevezetés
A rendszertervezés dokumentációjának célja, hogy részletes betekintést nyújtson a Cooked Up alkalmazás struktúrájába és működésébe. A dokumentum kifejti a kezelőfelületek és az adatbázis közötti kapcsolatokat. A kezelőfelületek részletes leírása mellett bemutatja az adatbázis rendszer kialakítását, elemeit és szerepét a játék folyamatában.
2. Felhasználói felület
A felhasználói felület létrehozásánál figyelembe vettük a következő szempontokat:
Egyszerű navigáció:Az alkalmazásnak könnyen kezelhetőnek és érthetőnek kell lennie még azok számára is, akik nem jártasak az online ételrendelésben, például a rendelés és a rendeléseim, illetve a különféle étrendek és menük fül egyszerűen megtalálható legyen.
Mobilbarát kialakításhiszen ennek az alkalmazásnak több operációs rendszerhez is optimálisnak kell lennie. Tehát például IOS rendszernél az ApplePay, illetve FaceID engedélyezése…(nem biztos hogy ez ide jó)
Felhasználóbarát kinézet/megjelenésazaz a színvilág alkalmas legyen mindenki számára, ideértve a színtévesztőket és a színvakokat is. A menük és almenük elérése egyszerűen elkülöníthetők legyenek. Oldalsáv megnyitása során animációval nyíljon meg, illetve ne takarja ki az egész képernyőt.
- 2.1 Töltőképernyő
Az alkalmazás letöltése, illetve megnyitása után bejön egy rövidebb töltőképernyő, amíg az alkalmazás betölti a felhasználónál tárolt adatokat és az előzményeket(ha már van) az adatbázisból lehetővé téve az új/folyamatban lévő rendelés megkezdését/folytatását.
- 2.2 Bejelentkező/Regisztrációs felület
Az alkalmazás megnyitása után a felhasználónak lehetősége van bejelentkezni, amennyiben már létezik felhasználó fiókja. Ha új felhasználóról van szó, akkor lehetősége van regisztrációra, amely során létrejön az egyedi fiók az adatbázisban, ahova majd a felhasználó adatai elmentődnek az “Adataim” fül kitöltése után. Így ha más eszközre tölti le az alkalmazásunk, akkor bejelentkezés után el tudja érni az előzményeit, azaz az előző rendeléseit, illetve az elmentett adatai betöltődnek.
- 2.3 Beállítások
A beállítások menüben a felhasználó megtekintheti a profilját, kuponjait, illetve módosíthatja az értesítéseket. A “Profilom” alpont alatt a felhasználó megtalálja az adatait és módosíthatja őket, illetve törölheti a profilját. A “Kuponjaim” alpont megmutatja a felhasználó számára elérhető kuponok, ideértve a szezonális és szerzett kuponokat is. Ezek mellett található egy “Kedvencek” opció, ahol a felhasználó elmentett kedvenc ételeit/rendeléseit könnyebben elérheti.
- 2.4 Chat
A chat opció a rendelés leadása után a nyomonkövetésnél található. Itt a felhasználónak/megrendelőnek lehetősége adódik arra, ha a futárral szeretne chatelni. Azaz ide értendő, ha a kiszállítással kapcsolatban valami változás akadna, illetve ha valamit még megjegyzésként szeretne közölni a futárral, például a szomszédja tudja csak át venni, vagy ha a kaputelefonhoz milyen számokat nyomjon meg.
- 2.5 Rendelés nyomonkövetése
A rendelés nyomonkövetése során a felhasználó megtekintheti, hogy melyik stádiumban jár a rendelése. Például rendelés felvétele, elkészítése, csomagolása és szállítása. A térkép segítségével a felhasználó láthatja, hogy milyen messze van tőle a futár, viszont ez csak a “Futár felvette a rendelést” stádium után lesz megtekinthető a megrendelő számára.
- 2.6 Kosár/kosár tartalma
A Kosárban a felhasználó megtekintheti a kosárhoz adott ételeket/italokat, illetve módosítani tudja őket, például törölni a kosárból, avagy megjegyzést fűzni hozzá, ha valami nélkül kér egyes ételeket(például gyros esetén paradicsom nélkül). Illetve itt tud fizetési módot és szállítási időt választani, hogy személyesen szeretné átvenni vagy standard, ahol a megrendelés után azonnal dolgozni kezdenek a rendelésén vagy éppen adott időre vigye a futár(például a felhasználó 5-ig dolgozik és korábban megrendeli, hogy 6-ra legyen kész).
3. Adatmodellek
- 3.1 Adatbázis kezelő kiválasztása
Az alkalmazásunk működéséhez szükségünk lesz egy adatbázisra és adatbázis kezelőre, hiszen sok felhasználó profilját el kell tárolnunk. A profilokhoz tartozik egy email cím, illetve egy jelszó. Egy profil eltárolja a felhasználó adatait, amit az ÁFSz szerint kezelünk majd, tehát eltároljuk a felhasználó nevét, telefonszámát, rendeléseit/ rendelés előzményeit és a fizetési preferenciáját(például elmenthetjük a bankkártyát és a következő rendeléshez nem kell újra megadnunk), illetve a felhasználóhoz tartozó jelszót és email címet. Illetve el kell tárolnunk még a kuponokat, illetve bónusz pontokat, amelyeket a rendelésekkel kapnak a felhasználók.
A Cooked Up-hoz mi a MySQL-t választottuk adatbázis kezelőként, mivel ez volt a legjobban alkalmas a célunk eléréshez:
- Nyílt forráskódú
lehetővé teszi, hogy testre szabjuk és optimalizáljuk az adatbázis rendszert a saját projektünk igényei szerint.
- Széles körben használt
legelterjedtebb relációs adatbázis kezelő a világon. Ennek eredményeként rengeteg dokumentáció, fórum és közösség áll rendelkezésre, ami segíthet a problémáink megoldásában és új készségek elsajátításában.
- Jó teljesítményt nyújt
különösen közepes és nagyobb projektek esetén. Az adatbázis optimalizálása és indexelése révén a lekérdezések hatékonyan végrehajthatók.
- Tranzakció kezelést támogatja
ami fontos az adatintegritás és adatbiztonság szempontjából. A tranzakciók segítségével az adatbázis konzisztens és atomi állapotban tartható.
- Kiterjeszthetőség
érvényesül a MySQL-ben emiatt jól skálázható és kiterjeszthető, így alkalmazkodhat az ételrendelő alkalmazásunk rendszerének a növekvő adatmennyiségéhez és igényeihez.
- 3.2 Szemantikai adatmodel
---
- 3.3 Relációs adatmodell
---
- 3.4 Az adatbázis kezelővel kapcsolatot tartó osztályok
---
4. A funkcionális modell kiegészítése