picquiz/Dokumentáció/rendszerterv.md

7.6 KiB

Rendszerterv

1. A rendszer célja

Egy olyan web alapú alkalmazás létrehozása Laravel keretrendszer segítségével, ahol a felhasználók időtöltés és új ismeretek szerzésének céljából egy olyan játékot játszhatnak, ahol egy képről kell eldönteni, hogy honnan, miből származik. Lehet regisztráció nélkül és regisztrációval is játszani. A regisztrált felhasználók statisztikát kapnak eredményeikről, illetve elérhető egy globális statisztika is. A felhasználó fiók készítéséhez megadnak jelszót, e-mail címet, felhasználónevet, illetve profilképet is feltölthetnek, de ez opcionális. A weboldal adminisztrátorai képesek új feladványokat feltölteni a rendszerbe, illetve szükség szerűen törölni azokat. Az adminisztrátorok igény szerint törölhetik a szabályoknak nem megfelelő fiókokat, vagy előléptethetik őket adminisztrátorokká.

2. Projektterv

PHP, HTML, CSS, JavaScript használatával, Laravel keretrendszerben webalkalmazás létrehozása.

2.1 Projektszerepkörök, felelőségek:

  • Scrum masters: Banyik Nándor, Matuch Richárd
  • Product owner: Matuch Richárd
  • Üzleti szereplő: Banyik Nándor

2.2 Projektmunkások és felelőségek:

  • Frontend: Györkis Tamás, Karácsony Balázs, Kovács Dávid
  • Backend: Györkis Tamás, Karácsony Balázs, Kovács Dávid
  • Tesztelés: Györkis Tamás, Karácsony Balázs, Kovács Dávid

2.3 Ütemterv:

Funkció Feladat Prioritás Becslés (nap) Aktuális becslés (nap) Eltelt idő (nap) Becsült idő (nap)
Követelmény specifikáció Megírás 1 1 1 - 1
Funkcionális specifikáció Megírás 1 1 1 - 1
Rendszerterv Megírás 1 1 1 - 1
Program Képernyőtervek elkészítése 2 1 1 - 1
Program Prototípus elkészítése 3 10 10 - 10
Program Alapfunkciók elkészítése 3 10 10 - 10
Program Tesztelés 4 3 3 - 3

2.4 Mérföldkövek:

  • Feladatok elosztása
  • Dokumentáció elkészítése
  • Alfa teszt
  • Béta teszt
  • Prototípus átadása
  • Végleges program átadása

3. Üzleti folyamatok modellje

3.1 Üzleti szereplők

  • Látogatók (Felhasználó fiókkal nem rendelkező szereplők)
  • Felhasználók
  • Adminisztrátorok

3.2 Üzleti folyamatok

Üzleti_folyamatok

4. Követelmények

4.1 Funkcionális követelmények

Id Modul Név Leírás
F1 Bejelentkeztető Bejelentkeztető bejelentkezést végrehajtó kód
F2 Bejelentkeztető Bejelentkezési lap oldal amin keresztül a bejelentkezés történik
F3 Bejelentkeztető Bejelentkezés ellenörző felhasználó oldali bejelenkezási form ellenörző
F4 Regisztrációs Regisztrálás kezelő regisztrációt végrehajtó kód
F5 Regisztrációs Regisztálási lap oldal amin keresztül a regisztrálás történik
F6 Regisztrációs Regisztálás ellenörző felhasználó oldali adat ellenörző
F7 Feladvány Feladvány lista minden elérhető játék katalógusa amin keresztül a játékos választhat
F8 Feladvány Feladvány egy egy quiz játék saját oldala annal elérhető annak végig játszása
F9 Feladvány Új Feladvány feladvány hozzáadására szolgáló űrlap; csak adminoknak
F10 Felhasználó Felhasználó felhasználói profil; a tulajdonosnak és az adminoknak módosítható
F11 Felhasználó Felhasználó lista minden regisztrált felhasználó katalógusa
F12 Feladványaim Feladványaim egy felhasználó feladvány története lista formában
f13 Visszajelzés Visszajelzés küldés visszajelzést rögzítő kód
f14 Visszajelzés Visszajelzés küldése lap oldal amin keresztül a visszajelzés küldés történik
f15 Visszajelzés Visszajelzés ellenörző felhasználói oldali visszajelzés form ellenörző

4.2 Nemfunkcionális követelmények

ID Megnevezés Leírás
K9 Jogosultság kezelés Látogató, felhasználó és adminisztrátor megkülönböztetése
K10 Felhasználó kezelés Felhasználói fiók létrehozása, adatok tárolása
K11 Modern felület Mai kornak elvárt modern, könnyen navigálható felület

4.3 Támogatott eszközök

Modern (pl.: Google Chrome, Firefox, Safari), vagy beépített webböngészővel, illetve interneteléréssel rendelkező eszközök összessége.

5. Funkcionális terv

5.1 Rendszerszereplők

  • Látogató
    • Tud játékot indítani, de a statisztikája nem mentődik el.
  • Felhasználó
    • Játékot indít, szerkeszti a profilját, visszajelzést hagy.
  • Adminisztrátor
    • Rendelkezik a felhasználó jogaival, és új feladványt visz fel vagy töröl, felhasználókat tilt ki, vagy léptet adminisztrátorrá.

5.2 Menühierarchiák

  1. Főoldal
  2. Új játék indítása
  3. Profil megtekintése
    • Profil szerkesztése
  4. Feladványok kilistázása
    • Új feladvány feltöltése
  5. Felhasználók kilistázása
  6. Bejelentkezés
  7. Regisztráció
  8. Kijelentkezés

6. Fizikai környezet

Laravel által szolgáltatott fejlesztői webszerver fejlesztés során, a kész projekt esetén tényleges webszerver.

6.1 Hardver topológia

  • Szerver weboldal kiszolgáló funkciókkal és szerver adatbázis kiszolgálóval.
  • Vagy egy szerver webszerver és adatbázis szerver funkciókkal.

6.2 Fejlesztő eszközök

  • Programozási nyelvek, leírónyelvek, keretrendszerek: Laravel, PHP, HTML, CSS, JavaScript, BootStrap
  • Adatbázis kezelő programok: PHPMyAdmin, MySql Workbench
  • Fejlesztői környezetek: Visual Studio Code, PHPStorm, Vim
  • Tesztelési környezet: Webböngésző programok (Pl.: Google Chrome, Firefox, Microsoft Edge), illetve ezek beépített fejlesztői eszközei.

7. Architekturális terv

7.1 Webszerver

Apache webszerver, IIS webszerver, Laravel által nyújtott fejelsztői webszerver

7.2 Adatbázis rendszer

MySql relációs adatbázis

8. Adatbázis terv

Adatbázis

9. Implementációs terv

A weboldal elkészítéséhez Laravel keretrendszert használunk. Az adatbázist Laravel-ben migrációkkal készítjük el. Az alkalmazás egyes elemei (nézetek, publikus fájlok, modellek, stb.) külön mappákban találhatóak. A dokumentáció, illetve a weboldalon megjelenő szövegektől eltekintve törekszünk az angol nyelv használatára. Szükség esetén JavaScript-et is alkalmazunk az egyes elemeknél.

10. Telepítési terv

Az alkalmazás telepítéséhez szükséges egy webkiszolgáló. Ez Windows rendszeren lehet xampp (ami Apache szervert és MySql szervert foglal magába.), illetve linuxos rendszereken közvetlen lehet Apache és MySql szerver. Az alkalmazás fájljait be kell másolni a webszerver oldalak számára fent tartott mappájába, és megadni a .env fájlban a adatbázis szerver elérhetőségeit (Cím, felhasználó, jelszó, adatbázis). Ezeket a felhasználókat, adatbázisokat létre kell hozni az adatbázis szerveren is. Ezután migrálni kell az adatbázisba a táblákat, és azok tartalmait. Ezután az üzemeltető által választott címen elérhető a weboldal.

11. Karbantartási terv

  • A projekt átadása után jelzett hibák (akár felhasználók, akár megrendelők által jelzett) javítása igényszerűen.
  • 6 havonta Laravel keretrendszer frissítése és egyes komponensek frissítése ezzel együtt.