„BPROF:2dm” változatai közötti eltérés
Jkv1 (vitalap | szerkesztései) (→Adattárolás) |
(→Fejlesztés státusza) |
||
167. sor: | 167. sor: | ||
=Fejlesztés státusza= | =Fejlesztés státusza= | ||
− | https://miau.my-x.hu/mediawiki/index.php/BPROF: | + | https://miau.my-x.hu/mediawiki/index.php/BPROF:2dm_st%C3%A1tusz |
=Saját kvíz publikálása= | =Saját kvíz publikálása= |
A lap 2022. november 23., 13:01-kori változata
Ez a szócikk a "Rendszertervezés" tantárgy keretében keletkező dokumentum, mely része a szakdolgozat mellékleteinek.
Tartalomjegyzék
- 1 Fogalmak
- 2 Megrendelői kezdeményezés
- 3 Jelenlegi 2DM játék
- 4 Rendszer megrendelővel egyeztetett követelményei
- 5 Egyéb funkciók
- 6 Folyamatábrák
- 7 Rendszer specifikáció
- 8 Program specifikáció
- 9 Fejlesztői saját 2DM-játékok
- 10 Kvíz katalógus
- 11 Log rendszer
- 12 Szoftverben használt csomagok és azok licenszeik
- 13 Fejlesztés státusza
- 14 Saját kvíz publikálása
- 15 IT biztonsági kérdések
Fogalmak
(potenciális változók a kódhoz)
- puzzle: X-szer Y-os háló, melyben a sorfejléc (X) és oszlopfejléc (Y) attribútumok alapján kell elhelyezni az odaillő válaszkártyát
- X(i): sorfejléc, mely megadja a válaszkártya1. attribútumát
- Y(j): soszlopfejléc, mely megadja a válaszkártya2. attribútumát
- válaszkártya(k): képkocka, melyet el kell helyezni a megfelelő kockájába a hálónak
- megoldástér(i,j,k):
- keretrendszer: puzzle megjelenítő szoftver
- log: minden tevékenység (pl. egérmozgás, billentyű-leütés, billentyű-kombináció) feljegyzése egy fájlban, dátummal felcímkézve (vö. https://miau.my-x.hu/mediawiki/index.php/Excel-makro#Tanfolyami_vez.C3.A9r-feladatok)
- kiértékelés: válaszkártyák helyének helyességének ellenőrzése
Megrendelői kezdeményezés
Létezik egy 2DM-játék (https://miau.my-x.hu/miau/254/2dm_kemia_demo/), amelyben a feladat egy 3x3-as* hálóban különféle képeket elhelyezni az oszlop- és sor-fejlécek alapján. A létező 2DM-játék log-ja a vágólapra keletkezik a JavaScript lehetőségei mentén. Az új rendszerben a sebezhetőségek minimalizálása, csalás minden mennyiségű kizárása a cél.
Feladat:
- Új játék tervezését és
- futtatását támogató keretrendszer kialakítása úgy, hogy
- a keretrendszer támogassa a teszt megtervezését,
- az adat-megjelenítést/adatbevitelt,
- a teszt megírását és
- a log-elemzést (vö. https://miau.my-x.hu/mediawiki/index.php/Excel-makro - Tanfolyami vezérfeladat).
- a keretrendszer által olyan output kialakítása, mely a jelenlegi 2DM-megoldás által azonnal futtatható
Nem feladat:
- online kollaboratív munka támogatása
- adatbázis-alapú megoldás kialakítása
Jelenlegi 2DM játék
Struktúrája
A jelenleg már elkészült 2DM játék adatbeolvasását,adatstruktúráját ki kell nyomozni annak érdekében, hogy a dolgozatban készülő játék kompatibilis lehessen vele.
Nyomozás lépései:
- https://www.cyotek.com/downloads/info/setup-cyowcopy-1.9.0.822-x86.exe alkalmazás segytségével letöltöttem a https://miau.my-x.hu/miau/271/2dm/ weboldal összes fájlját (https://github.com/kje-pitlik/2dm-source).
- letöltött adatok: img/,00m.png,03-00.png,03-30.png,03-49.png,03h.png,12-00.png,12-30.png,12-49.png,12h.png,18-00.png,18-30.png,18-49.png,18h.png,30m.png,49m.png,AD_CLOCK.jpg,auth.png,auth_alairas.png,auth_arc.png,auth_dns.png,auth_gepeles.png,auth_hang.png,auth_irisz.png,auth_kez.png,auth_retina.png,auth_ujj.png,BLANK_BLANK.png,BLANK_C1.png,BLANK_C2.png,BLANK_C3.png,BLANK_R1.png,BLANK_R1_BLANK_C1.png,BLANK_R1_BLANK_C2.png,BLANK_R1_BLANK_C3.png,BLANK_R2.png,BLANK_R2_BLANK_C1.png,BLANK_R2_BLANK_C2.png,BLANK_R2_BLANK_C3.png,BLANK_R3.png,BLANK_R3_BLANK_C1.png,BLANK_R3_BLANK_C2.png,BLANK_R3_BLANK_C3.png,BRW.png,circle.png,COIN_1E.png,COIN_20C.png,COIN_2C.png,COLOR_DOT.jpg,COLOR_FLAG.jpg,COLOR_SHAPE.jpg,COLOR_TETRIS.jpg,DIR_B.png,DIR_BC.png,DIR_BL.png,DIR_BR.png,DIR_C.png,DIR_L.png,DIR_M.png,DIR_MC.png,DIR_ML.png,DIR_MR.png,DIR_R.png,DIR_T.png,DIR_TC.png,DIR_TL.png,DIR_TR.png,dot_1.png,dot_2.png,dot_3.png,EUR_COIN.jpg,favicon.ico,flag1.png,flag1_BRW.png,flag1_GRW.png,flag1_GRY.png,flag2.png,flag2_BRW.png,flag2_GRW.png,flag2_GRY.png,flag3.png,flag3_BRW.png,flag3_GRW.png,flag3_GRY.png,FLAG_IRL.png,FLAG_SMR.png,FLAG_SVK.png,FRENCH_CARD.jpg,GRW.png,GRY.png,hearts.png,hearts_jack.png,hearts_king.png,hearts_queen.png,hexagon.png,IRL_1E.png,IRL_20C.png,IRL_2C.png,jack.png,king.png,LArrow.png,logo.jpg,pikes.png,pikes_jack.png,pikes_king.png,pikes_queen.png,queen.png,RArrow.png,SMILEY_DIR.jpg,SMR_1E.png,SMR_20C.png,SMR_2C.png,SVK_1E.png,SVK_20C.png,SVK_2C.png,tetris_1.png,tetris_11.png,tetris_12.png,tetris_13.png,tetris_2.png,tetris_21.png,tetris_22.png,tetris_23.png,tetris_3.png,tetris_31.png,tetris_32.png,tetris_33.png,tiles.png,tiles_jack.png,tiles_king.png,tiles_queen.png,triangle.png,TTT_E1.png,TTT_E2.png,TTT_E3.png,TTT_M1.png,TTT_M2.png,TTT_M3.png, - card-design.css, - carousel.js, - gameProperties.js, - gameScreenEvents.js, - index.htm, - index.js, - style.css, - util.js
- ebből egyetlen egy 2DM-játékhoz tartozó objektumok (vö. *BLANK*): ???
- egy játékra egyszerűsített manuálisan lebutított saját lokális verzió tesztelése
- régi 2DM-játék által igényelt specifikációk véglegesítése
- egy régi 2DM-játék (értékes tartalommal történő) manuális előállítása a specifikációk alapján az új játék fejlesztője által
- manuálisan készített saját játék tesztelése
- ezen manuális saját játék új keretrendszerben való reprodukálása és az output tesztelése
Rendszer megrendelővel egyeztetett követelményei
- optimális (tesztelt):
- windows 11
- Intel Core i5 11th gen
- 16GB ram
- választott technológiák:
- Programnyelv: C#
- Adattárolás: JSON
Egyéb funkciók
- UI személyre szabása előre elkészített, akár a felhasználók által személyre szabott téma segítségével - (színvilág/színharmónia nem ellenőrzött, a téma tervezőjének kell figyelnie arra, hogy a felhasznált színek nem olvadnak egybe egymással)
- nyelvek támogatása, akár a felhasználók által definiált szótár segítségével - (szótár helyessége nem ellenőrzött, nincs kizárva akár a halandzsa nyelv használata sem)
Folyamatábrák
- Kvíz tervezésének folyamatábrája:........
- Kvíz megírásának folyamatábrája:........
- Kvíz kiértékelésének folyamatábrája:........
Rendszer specifikáció
Ajánlott irodalom/demo/minta: http://centroszet.hu/tananyag/ - pl. http://centroszet.hu/tananyag/szervezes2/615_rszletes_rendszerterv.html
Logikai rendszerterv
Fizikai rendszerterv
Program specifikáció
UI tervek
Adattárolás
Ez a saját téma/nyelvi csomag létrehozásának segítségül is szolgáló leírás.
- A keretrendszer az adatokat .json fájlokban tárolja. Ezek
- a beállítási adatok (kiválasztott téma illetve nyelv),
defaultConfig.json
{ "data": [ { "theme": "dark.json", "language": "hu.json" } ] }
nyelv fájl
{ "windowTitle": "Teszt kitöltése...", "loadTestFileBtn":"Teszt fájl betöltése", "startTestBtn":"Teszt indítása", "settingsBtn":"Beállítások", "nextBtn": "Következő", "previousBtn": "Előző", "saveBtn":"Mentés" }
tesztadatok
(kérdés, válasz lehetőségek)
{ "puzzles": [ { "question": "Ide írjuk a kérdést", "correctGridOrder": { "1": "C:/Users/x/Y/kep1.png", "2": "C:/Users/x/Y/kep2.png", "3": "C:/Users/x/Y/kep3.png", "4": "C:/Users/x/Y/kep4.png", "5": "C:/Users/x/Y/kep5.png", "6": "C:/Users/x/Y/kep6.png", "7": "C:/Users/x/Y/kep7.png", "8": "C:/Users/x/Y/kep8.png", "9": "C:/Users/x/Y/kep9.png" } },… ] }
téma fájl
{ "data": [ { "backgroundColor": [ 120, 0, 100, 0 ], "buttonColor": [ 150, 0, 255, 0 ] } ] }
- Indoklás:
- A JSON fájlok egyszerű olvashatósága, értelmezhetősége miatt bárki létre tud hozni saját témát, nyelv sémát.
- Alternatív megoldások elvetésének indoklása: Egyszerű txt fájlok is megfelelőek a feladatra, ám a JSON fájltípus által biztosított kulcs-érték adatszerkezet nagy segítséget nyújt a fájl manuális átláthatóságához, illetve a programmal való feldolgozhatósághoz.
- A JSON fájlok egyszerű olvashatósága, értelmezhetősége miatt bárki létre tud hozni saját témát, nyelv sémát.
Fejlesztői saját 2DM-játékok
A fejlesztés során az alábbi tartalmi kihívások
1. játék
- X=3
- X1=...
- X2=...
- X3=...
- Y=3
- Y1=...
- Y2=...
- Y3=...
- válaszkártyák (9=3*3)
- ...
- ...
- ...
- ...
- ...
- ...
- ...
- ...
- ...
i. játék
- X>3
- Y>3
- X<>Y
Kvíz katalógus
A katalógus menű a GTS-catalog https://github.com/orgs/GTS-catalog/repositories repository-kat fetcheli, és jeleníti meg a listanézetben. A repository-kból csak a ".json" fájlokat jeleníti meg.
Log rendszer
app minimalizálása, bezárása
Szoftverben használt csomagok és azok licenszeik
- NewtonSoft.Json 1.0.2 (https://www.newtonsoft.com/json) - https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
- Profanity.Detector 0.1.8 (https://github.com/stephenhaunts/ProfanityDetector) - https://github.com/stephenhaunts/ProfanityDetector/blob/main/LICENSE
Fejlesztés státusza
https://miau.my-x.hu/mediawiki/index.php/BPROF:2dm_st%C3%A1tusz
Saját kvíz publikálása
https://miau.my-x.hu/mediawiki/index.php/BPROF:2dm_q1
IT biztonsági kérdések
kulcsok tárolása a forráskódban? https://itnext.io/how-to-store-passwords-and-api-keys-in-project-code-1eaf5cb235c9