„BPROF:2dm” változatai közötti eltérés

A Miau Wiki wikiből
18. sor: 18. sor:
 
*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)
 
*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
 
*kiértékelés: válaszkártyák helyének helyességének ellenőrzése
 +
*...
  
 
=Megrendelői kezdeményezés=
 
=Megrendelői kezdeményezés=
104. sor: 105. sor:
 
  Ajánlott irodalom/demo/minta: http://centroszet.hu/tananyag/ - pl. http://centroszet.hu/tananyag/szervezes2/615_rszletes_rendszerterv.html  
 
  Ajánlott irodalom/demo/minta: http://centroszet.hu/tananyag/ - pl. http://centroszet.hu/tananyag/szervezes2/615_rszletes_rendszerterv.html  
  
==logikai rendszerterv==
+
==Logikai rendszerterv==
  
 
==Fizikai rendszerterv==
 
==Fizikai rendszerterv==
111. sor: 112. sor:
 
==User interface==
 
==User interface==
 
===valsztott UI technologia===
 
===valsztott UI technologia===
xaml ...
+
*xaml  
 +
*...
 +
===...===
 +
*...
  
 
==Adattárolás==
 
==Adattárolás==
119. sor: 123. sor:
 
*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.<br>
 
*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.<br>
 
*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 adatbázis szerű átláthatósághoz, illetve a programmal való feldolgozhatósághoz.
 
*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 adatbázis szerű átláthatósághoz, illetve a programmal való feldolgozhatósághoz.
 
  
 
Ez a saját téma/nyelvi csomag létrehozásának segítségül is szolgáló leírás.
 
Ez a saját téma/nyelvi csomag létrehozásának segítségül is szolgáló leírás.
213. sor: 216. sor:
 
=Tesztelés=
 
=Tesztelés=
 
A keretrendszer megvalósításakor intézményen belüli, és kívüli személyeket felkértünk a tesztelésre.
 
A keretrendszer megvalósításakor intézményen belüli, és kívüli személyeket felkértünk a tesztelésre.
==Belsőtesztelés==
+
==Belső tesztelés==
 
Kiosztott jogosultságokkal belső tesztelés folytatódott intézményen belül, melynek segítségével több hibát is felfedeztünk.
 
Kiosztott jogosultságokkal belső tesztelés folytatódott intézményen belül, melynek segítségével több hibát is felfedeztünk.
 
privat kanban boardon (majd elkészül)
 
privat kanban boardon (majd elkészül)
  
==külső tesztelés==
+
==Külső tesztelés==
 
Publikus tesztelés, ezen a kanban boardon kell gyűjteni a problémákat a projekttel kapcsolatban: https://github.com/users/SiposPtr/projects/2
 
Publikus tesztelés, ezen a kanban boardon kell gyűjteni a problémákat a projekttel kapcsolatban: https://github.com/users/SiposPtr/projects/2
  

A lap 2022. november 29., 05:51-kori változata

Ez a szócikk a "Rendszertervezés" tantárgy keretében keletkező dokumentum, mely része a szakdolgozat mellékleteinek. Tartalmazza a felhasznált technológia részletes leírását, informatikai felépítését. A dokumentum a reprodukálhatóság elősegítéséhez készült

Szakdolgozat részei:
- GTS (Graphical Test Software), ez a tesztek lejátszására kifejlesztett szoftver

- GTDS (Graphical Test Designer Software), ez a tesztek tervezésére kifejlesztett szoftver

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 á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:

  1. 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).
  2. 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

  1. ebből egyetlen egy 2DM-játékhoz tartozó objektumok (vö. *BLANK*): ???
  2. egy játékra egyszerűsített manuálisan lebutított saját lokális verzió tesztelése
  3. régi 2DM-játék által igényelt specifikációk véglegesítése
  4. 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
  5. manuálisan készített saját játék tesztelése
  6. 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# (verzio: )
    • lokális adattárolás: JSON
    • publikus adattárolás: Git

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:........

IT biztonsági kérdések

Szoftverben használt csomagok és azok licenszeik

Log rendszer

A rendszer minden felhasználói tevékenységet feljegyez mind fejlesztési, mind a csalás elkerülése érdekében. Jelenleg logolható:

  • app minimalizálása, bezárása, teszt elindítása

Tervezett funkciók:

  • internet használat elemzés (van-e esetleg olyan kulcsszavú keresés, mint amilyen szavak/kifejezések vannak az éppen aktív teszt fájljaiban?)
  • egérmozgás elemzés (mennyire határozott a teszt író -> túl nagy határozottság akár azt is jelentheti, hogy valahonnan megszerezte a megoldásokat a teszthez ?)
  • ismert közösségi,csevegésre használt alkalmazások meg vannak-e nyitva (Messenger,Discord,facebook.com,Skype,Teams stb), ezek csalásra adhatnak lehetőséget
  • külső meghajtók vannak-e csatolva
  • adat mozgatás történt-e a számítógépen a teszt írása közben (x lokációról y lokációra való fájl mozgás)
  • operációs rendszerre telepített képfelismerési program detektálása
  • távolról van-e vezérelve a gép
  • képernyőkép készítésének logolása
  • automatikus egér mozgató (ha van ilyen) auto clicker detektálása
  • ...

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ó

User interface

valsztott UI technologia

  • xaml
  • ...

...

  • ...

Adattárolás

Adattárolás választott formája:

  • 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 adatbázis szerű átláthatósághoz, illetve a programmal való feldolgozhatósághoz.

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),

Konfiguráció

A rendszer konfigurálható paramétereit json fájlokban tároljuk, melyek a rendszer különböző életciklusaiban kerülnek betöltésre.

defaultConfig.json

Rendszer újraindításától lép életbe.

{
 "data": [
   {
     "theme": "dark.json",
     "language": "hu.json"
   }
 ]
}

nyelv fájl

Rendszer újraindításától, vagy új nyelv kiválasztásakor lép életbe.

{
   "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

Teszt adatok betöltése után lép életbe. Az elérési útvonalnak a publikált képekre kell mutatni. EZ a githubos környezet eseten a githubra felötlött képekre mutat. (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

Rendszer újraindításától, vagy új téma kiválasztásakor lép életbe.

{
 "data": [
   {
     "backgroundColor": [ 120, 0, 100, 0 ],
     "buttonColor": [ 150, 0, 255, 0 ]
   }
 ]
}

Értelmezése: argb színkódolást használ a szoftver, mely az Alpha, Red,Green és Blue színekből állít elő szint.

pl: "backgroundColor" színkódjának értelmezése
120: Alpha
0: Red
100: Green
0: Blue

hibaelhárítás

(note: milyen funkciok vannak amik segitenek a hibaelharitasban)

A log megjelenítése a felhasználónak. Log automatikus kielemzése (pár alap esetet tudok előre definiálni, pl.: rossz json struktura, rossz fajlkiterjesztes stb), és tanács adás a felhasználónak, hogy vajon mi történt, és mit tudna tenni, hogy legközelebb ne történhessen meg ilyen eset. A szoftver kísérletet tehet a hiba automatikus kijavítására ezekben az esetekben: - hibás .json fájl struktúra -> amennyiben logikus hiba van (hiányzik "," ":" "{" karakter), pótolni tudja azokat. Természetesen tudomást ad a felhasználónak, hogy nem feltétlen a kívánt adat lett előállítva. Amennyiben olyan eset áll elő, ami nem pre-definiált, akkor support kontaktálás (email) pre-definiált hibák:

  • ...
  • ...

perzisztencia

(note (torolni kell) olyan adatok, amiket a rendszer ujrainditasa utan is megtart.)

Egy konfig fájlba vannak írva a külön beállítások (nyelv, téma), tehát ezek perzisztensek. A teszt írása közben készülő, sérülésmentes logfájl segítségével (a teszt tervező engedélyével) vissza lehet állítani a folyamat utoljára elmentett állapotát, akár rendszer újraindulás után is

Tesztelés

A keretrendszer megvalósításakor intézményen belüli, és kívüli személyeket felkértünk a tesztelésre.

Belső tesztelés

Kiosztott jogosultságokkal belső tesztelés folytatódott intézményen belül, melynek segítségével több hibát is felfedeztünk. privat kanban boardon (majd elkészül)

Külső tesztelés

Publikus tesztelés, ezen a kanban boardon kell gyűjteni a problémákat a projekttel kapcsolatban: https://github.com/users/SiposPtr/projects/2

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)
  1. ...
  2. ...
  3. ...
  4. ...
  5. ...
  6. ...
  7. ...
  8. ...
  9. ...

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.

Saját kvíz publikálása

https://miau.my-x.hu/mediawiki/index.php/BPROF:2dm_q1