„2007:SZR:Közlekedés” változatai közötti eltérés
(→A tervezett alkalmazás/megoldás címe) |
(→Kapcsolódó, ill. konkurens megoldások, dokumentumok) |
||
(45 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
=Forrás= | =Forrás= | ||
− | [http://miau.gau.hu/nappalos/2007osz/munkatervek/szr1/ | + | *[http://miau.gau.hu/nappalos/2007osz/munkatervek/szr1/ Közlekedésbaleseti online szakértői rendszer] |
+ | |||
=A tervezett alkalmazás/megoldás címe= | =A tervezett alkalmazás/megoldás címe= | ||
− | A közlekedési balesetet okozó személy(ek) ellen kiróható bűntetés a mai jogrendszer alapján | + | A közlekedési balesetet okozó személy(ek) ellen kiróható bűntetés a mai (2007.12.14.) jogrendszer alapján. |
=A feladat előtörténete= | =A feladat előtörténete= | ||
+ | Végül is mondhatom, hogy az ötlet, csoporttársammal folytatott beszélgetés során alakult ki. Ő a jogosítványról levonható pontokról csinált egy szakértői rendszert. Ekkor hasított belém az ötlet, hogy vajon, ha – jogosítvánnyal rendelkező állampolgárként – ilyen-olyan dolgokat elkövetek a közlekedés során, akkor milyen büntetést róhat ki rám a bíróság a ma hatályban lévő jogszabályok alapján. Így kezdtem el a téma után olvasni és kutatni, majd elkezdeni létrehozni a rendszer struktúraszerkezetét, majd később a programot. | ||
+ | |||
=A feladat megoldás jelenlegi helyzete és ennek értékelése= | =A feladat megoldás jelenlegi helyzete és ennek értékelése= | ||
+ | Milyen formában jut ma hozzá az érintett a kapcsolódó jogi információkhoz: | ||
+ | *felveheti a kapcsolatot egy jogi végzettséggel rendelkező személlyel | ||
+ | *interneten keresztül (például a már lentebb említett [http://www.magyarorszag.hu www.magyarország.hu] internetes címen | ||
+ | |||
=A tervezett megoldás adatvagyonának bemutatása (ANYAG)= | =A tervezett megoldás adatvagyonának bemutatása (ANYAG)= | ||
+ | Mivel a rendszer tisztán a jogra támaszkodik, ezért nem volt szükség bonyolult és hosszas adatgyűjtésre. A [http://www.magyarorszag.hu/ Magyarország.hu] internetes portál rendelkezik jogszabály keresővel, így az oda beillesztett kulcsszavak (közúti baleset) alapján hamar megtaláltam azt amit kerestem. | ||
+ | |||
+ | [http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=.TV&kif=K%F6z%FAti+baleset+okoz%E1sa#xcel Adatforrás] | ||
+ | |||
=A feladat által érintett célcsoportok= | =A feladat által érintett célcsoportok= | ||
+ | Bárki, aki Magyarországon, a ma hatályos jogszabály(ok) alapján természetes személy és jogosult a B kategóriás (autó) járművezetői engedély megszerzésére. | ||
+ | |||
+ | Ha az illető nem beszél magyarul, a online szolgáltatás az alábbi lépések keretében többnyelvűvé tehető: | ||
+ | *mivel a rendszer sablonokat használ, ezért könnyen megoldható a nyelvi fájlok használata a böngésző program beállításai alapján | ||
+ | |||
=A feladat megválaszolása kapcsán várható hasznosság= | =A feladat megválaszolása kapcsán várható hasznosság= | ||
+ | Az óra során pont ebből a pontból alakult ki vita a rendszert illetően. Sajnos az ilyen rendszerek megvalósítása elég nehéz olyan szempontból, hogy én mint fejlesztő, nem állíthatom biztosan hogy jártas vagyok a jogban. | ||
+ | |||
+ | Tehát ha így csupaszon kirakom a webre és melléírom a nevem, akkor az első felhasználó, aki kapcsolatba kerül a rendszerrel (és a program rossz, vagy helytelen eredményt hoz), minden további nélkül beperelhet és a pert elég nagy valószínűséggel meg is nyerné. | ||
+ | |||
+ | A probléma kiküszöbölésére két járható út létezik. Az egyik, hogy kézen fogva egy jogásszal (akinek jogi végzettsége van) építem fel a lehetséges be- és kimeneteket, így ha mégis perre kerülne a sor, akkor a jogászt terhelné a felelősség, mert a nevét adta hozzá. | ||
+ | |||
+ | A másik megoldás pedig a validáció lenne. Ez nem takarna mást, mint hogy a kész programot, egy erre a célra létrehozott bizottság vagy szervezet vizsgálná meg, és amennyiben minden be- és kimenetet rendben talál, hozzáadja a minősítést. Ez a megoldás már létezik napjainkban, elég csak az '''A'''dó- és '''P'''énzügyi '''E'''llenőrzés '''H'''ivatal – APEH – által validált adóbevalló programot elővenni. | ||
+ | |||
+ | A hasznosság mérésére két élethelyzetet illik összehasonlítani: | ||
+ | * az online szolgáltatás nélkülit, illetve | ||
+ | * a szolgáltatást magát | ||
+ | |||
+ | Kérdés: hol érhetők tetten előnyök és hátrányok (valamint ezek hogyan számszerűsíthetők) a két élethelyzet összevetésekor: | ||
+ | <br/><br/> | ||
+ | <table border="0" cellspacing="5" cellpadding="5" align="center" width="80%"> | ||
+ | <tr style="background-color: #aaaaaa;"> | ||
+ | <td style="border: 1px solid #000000; width: 33%; text-align: center;">'''Alternatívák'''</td> | ||
+ | <td style="border: 1px solid #000000; text-align: center;" width: 33%;>'''Előnyök'''</td> | ||
+ | <td style="border: 1px solid #000000; text-align: center; width: 33%;">'''Hátrányok'''</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid #d0d0d0; width: 33%; text-align: center;">'''Szakértői rendszer'''</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">használatra kész<br/>csak az adott témakörrel foglalkozik<br/>bármikor elérhető</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">körülményes az elkészítése<br/>nem biztos, hogy pontos és átfedésmentes<br/>nyelvi problémák</td> | ||
+ | </tr> | ||
+ | <tr style="background-color: #F2F1E7;"> | ||
+ | <td style="border: 1px solid #d0d0d0; width: 33%; text-align: center;">'''Jogász'''</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">naprakész<br/>interaktívabb mint egy rendszer</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">helyhez van kötve<br/>anyagi vonzata van (alkalmanként)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="border: 1px solid #d0d0d0; width: 33%; text-align: center;">'''Internet'''</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">bárhonnan elérhető<br/>anyagi és idő vonzata nincs</td> | ||
+ | <td style="border: 1px solid #d0d0d0; text-align: center; width: 33%;">nem biztos, hogy naprakész<br/>sokat kell keresni</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
=A válaszokat befolyásoló tényezők= | =A válaszokat befolyásoló tényezők= | ||
+ | * A baleset okozója ittas állapotban vezetett. | ||
+ | * A baleset okozója cserben hagyta a sérülte(ke)t. | ||
+ | * A baleset okozója hány embert sértett, vagy ölt meg. | ||
+ | * A baleset okozója szándékosan vagy véletlenül követte el azt, amit elkövetett. | ||
+ | |||
=A saját megoldás bemutatása (MÓDSZER)= | =A saját megoldás bemutatása (MÓDSZER)= | ||
+ | A rendszer megvalósításához a PHP – szerveroldali programozási nyelvet választottam. Azért ezt, mert ezzel a nyelvvel már több éve foglalkozom és jártas vagyok benne. A rendszer előnye a programozási nyelv miatt a következőek: | ||
+ | |||
+ | * a felhasználónak semmit nem kell átállítani a saját számítógépén | ||
+ | * nem kell letöltenie semmilyen programot | ||
+ | * az interneten keresztül a világ bármely pontján elérhető | ||
+ | * csak egy internet böngésző szükséges a gondatlan használatához | ||
+ | |||
+ | Tehát, a rendszer futásához szükség van valamilyen webszerverre (például [http://httpd.apache.org/ Apache]) és a webszerverbe integrált [http://php.net/ PHP modulra]. | ||
+ | |||
+ | A program kombinatorikai terét a legegyszerűbben a HA-AKKOR szabályokkal lehet leírni. Azonban, figyelembe kell venni, hogy hány be- és kimenettel rendelkezik a program. Az IF-ELSE nagy és bonyolult elágazások lekezelésére nem alkalmas. A legtöbb programozási nyelv rendelkezik, az IF-ELSE logikájához hasonló működésű szintaktikával, ez általában a SWITCH, vagy CASE névre hallgat. | ||
+ | |||
+ | Miért használjuk a SWITCH vagy CASE szintaktikát, mikor ugyanaz a működési logikája, mint az IF-ELSE-nek? Roppant egyszerű: a PHP interpreter sokkal gyorsabban lefuttatja – bonyolult elágazások esetén – a SWITCH-et, mint az IF-et. | ||
+ | |||
+ | a PHP-ban az IF-ELSE szintaktika a következőképpen néz ki: | ||
+ | |||
+ | <?php | ||
+ | … | ||
+ | if ($valtozo == ertek1) { | ||
+ | ''Ha a $valtozo erteke egyenlo az ertek1-gyel, akkor ez a programblokk kerül végrehajtásra.'' | ||
+ | } | ||
+ | elseif ($valtozo == ertek2) { | ||
+ | '' Ha a $valtozo erteke egyenlo az ertek2-vel, akkor ez a programblokk kerül végrehajtásra.'' | ||
+ | } | ||
+ | további elseif-ek { | ||
+ | … | ||
+ | } | ||
+ | else { | ||
+ | ''Az az eset, amikor egyetlen-egy korábbi elseif ág feltétele nem volt igaz.'' | ||
+ | } | ||
+ | … | ||
+ | ?> | ||
+ | |||
+ | Míg a SWITCH/CASE így: | ||
+ | |||
+ | <?php | ||
+ | … | ||
+ | switch ($valtozo) { | ||
+ | ''Az IF-ELSE szintaktikában ez volt az '''IF''' blokk.'' | ||
+ | case "ertek1": | ||
+ | ''Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyenlő lesz az ertek1-gyel. | ||
+ | Az IF-ELSE szintaktikában ez volt egy '''ELSEIF''' blokk.'' | ||
+ | break; | ||
+ | case "ertek2": | ||
+ | ''Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyenlő lesz az ertek2-vel. | ||
+ | Az IF-ELSE szintaktikában ez volt egy '''ELSEIF''' blokk.'' | ||
+ | break; | ||
+ | default: | ||
+ | ''Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyik case-ben megadott értékkel sem volt egyenlő. | ||
+ | Az IF-ELSE szintaktikában ez volt az '''ELSE''' blokk.'' | ||
+ | break; | ||
+ | } | ||
+ | … | ||
+ | ?> | ||
+ | |||
+ | Továbbá a fejlesztés során még egy technikát alkalmaztam. Ez a sablonkezelés volt egy sablonkezelő motor segítségével ([http://smarty.php.net/ Smarty Template Engine]). A sablonkezelés két legfontosabb előnye: | ||
+ | |||
+ | * csökkenti a végleges kódméretet | ||
+ | * teljesen elválasztható a működtető kód a megjelenéstől | ||
+ | |||
+ | További előnyök, hogy rengeteg favágó munkát levesz az ember válláról (mint egy jó keretrendszer egy JAVA project-ben - például [http://struts.apache.org/ Apache Struts] vagy [http://www.hibernate.org/ Hibernate]). Gyorsítótárazás, debugging, űrlapok, képek kódjának beillesztése és megannyi dolog. Ha valakit érdekel a dolog, az olvasgassa a Smarty oldalát. | ||
+ | |||
+ | '''A rendszer szempontjából ez miért volt jó?''' | ||
+ | |||
+ | Azért, mert így a kód részében a dolognak csak és kizárólag a vezérlést kellett megírnom, minden mást a sablonkezelő motor intéz el. Még az eredmények kiértékelését is a sablonkezelő motor intézi. Az egész program kevesebb mint 500 sorból áll (egész pontosan 493). Ebben a 493 sorban benne vannak a vezérlő, sablon (HTML) illetve stíluslapok (CSS) fájlok sorai is. Ha nem használok sablon motort, ez a szám több lenne mint 1200-1500. | ||
+ | |||
=Az eredmények értelmezése (EREDMÉNY)= | =Az eredmények értelmezése (EREDMÉNY)= | ||
+ | Mivel minden kérdésre csak igennel vagy nemmel lehet válaszolni, ezért a következő logikát állítottam fel. | ||
+ | |||
+ | Az igenek legyenek egyenlőek a kettes (2) számmal, míg a nemek eggyel (1). Mivel több kérdést is fel kell tenni az első lehetséges kimenetelhez, ezért a válaszokat egy karakterláncba fűzöm. | ||
+ | |||
+ | Például 212. A 212 = ittas vezetés – '''igen (2)''', cserben hagyás – '''nem (1)''', súlyos testi sértés – '''igen (2)''' értékekkel. | ||
+ | |||
+ | A sablon kezelő motor ezt a karakterláncot értékeli ki, majd írja ki a képernyőre az adott lánchoz tartozó definíciót. | ||
+ | |||
=Ajánlások megfogalmazása (KÖVETKEZTETÉS)= | =Ajánlások megfogalmazása (KÖVETKEZTETÉS)= | ||
+ | Ha hasznosnak tűnik egy ilyen online rendszer: Hogyan juthat el sok felhasználóhoz ennek híre: | ||
+ | *a megfelelő internetes csatornákon, fórumokon keresztül, némi reklámmal vegyítve | ||
+ | *a [http://www.magyarkozlony.hu/nkonline/index.php Magyar Közlöny] közreműködésével | ||
+ | |||
+ | Ha nem tűnt (elég) hasznosnak: mit lehetne jobban csinálni, hogy hasznossá/hasznosabbá váljon? | ||
+ | *esetleg tovább bővíteni a jogosítványhoz tartozó pontértékekkel | ||
+ | *több nyelvűség integrálása | ||
+ | *egy offline verzió készítése | ||
+ | |||
=Az információ többletérték lehetőségének levezetése (VITA)= | =Az információ többletérték lehetőségének levezetése (VITA)= | ||
+ | Szintén az óra kapcsán derült ki, hogy hála a csodás anyanyelvünk bonyolultságának, vannak olyan kérdések, amik félrevezetőek lennének, ha nem lenne ott a megfelelő információ. Utólag belegondolva, talán az összes kérdést újra lehetne fogalmazni, hogy még egyértelműbb legyen és ne legyen benne ellentmondás vagy bármi olyanra utaló szó, vagy szótöredék, ami félrevezetheti a felhasználót. | ||
+ | |||
+ | Röviden és tömören: teljesen nem felhasználóbarát. | ||
+ | |||
=Kapcsolódó, ill. konkurens megoldások, dokumentumok= | =Kapcsolódó, ill. konkurens megoldások, dokumentumok= | ||
+ | [http://miau.gau.hu/nappalos/2007osz/munkatervek/szr2/szr2.swf Kapcsolódó rendszer] és a hozzátartozó [https://miau.gau.hu/mediawiki/index.php/2007:SZR:B%C3%BCntet%C5%91pont dokumentáció]. | ||
+ | |||
+ | '''Dokumentumok''' | ||
+ | *A jogszabály idetartozó része | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/jogszabaly/pdf/jsz.pdf PDF]-ben (Adobe Reader) | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/jogszabaly/doc/jsz.doc DOC]-ban (Microsoft Word) | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/jogszabaly/odt/jsz.odt ODT]-ben (OpenOffice Writer) | ||
+ | * A kombinatorikai tér | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/kombinatorika/pdf/komb.pdf PDF]-ben (Adobe Reader) | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/kombinatorika/xls/komb.xls XLS]-ben (Microsoft Excel) | ||
+ | **[http://szieiszam.extra.hu/szr/thom/source/kombinatorika/ods/komb.ods ODS]-ben (OpenOffice Calc) | ||
+ | |||
+ | |||
+ | [[Kategória:Szakértői rendszerek]] |
A lap jelenlegi, 2007. december 21., 09:38-kori változata
Tartalomjegyzék
- 1 Forrás
- 2 A tervezett alkalmazás/megoldás címe
- 3 A feladat előtörténete
- 4 A feladat megoldás jelenlegi helyzete és ennek értékelése
- 5 A tervezett megoldás adatvagyonának bemutatása (ANYAG)
- 6 A feladat által érintett célcsoportok
- 7 A feladat megválaszolása kapcsán várható hasznosság
- 8 A válaszokat befolyásoló tényezők
- 9 A saját megoldás bemutatása (MÓDSZER)
- 10 Az eredmények értelmezése (EREDMÉNY)
- 11 Ajánlások megfogalmazása (KÖVETKEZTETÉS)
- 12 Az információ többletérték lehetőségének levezetése (VITA)
- 13 Kapcsolódó, ill. konkurens megoldások, dokumentumok
Forrás
A tervezett alkalmazás/megoldás címe
A közlekedési balesetet okozó személy(ek) ellen kiróható bűntetés a mai (2007.12.14.) jogrendszer alapján.
A feladat előtörténete
Végül is mondhatom, hogy az ötlet, csoporttársammal folytatott beszélgetés során alakult ki. Ő a jogosítványról levonható pontokról csinált egy szakértői rendszert. Ekkor hasított belém az ötlet, hogy vajon, ha – jogosítvánnyal rendelkező állampolgárként – ilyen-olyan dolgokat elkövetek a közlekedés során, akkor milyen büntetést róhat ki rám a bíróság a ma hatályban lévő jogszabályok alapján. Így kezdtem el a téma után olvasni és kutatni, majd elkezdeni létrehozni a rendszer struktúraszerkezetét, majd később a programot.
A feladat megoldás jelenlegi helyzete és ennek értékelése
Milyen formában jut ma hozzá az érintett a kapcsolódó jogi információkhoz:
- felveheti a kapcsolatot egy jogi végzettséggel rendelkező személlyel
- interneten keresztül (például a már lentebb említett www.magyarország.hu internetes címen
A tervezett megoldás adatvagyonának bemutatása (ANYAG)
Mivel a rendszer tisztán a jogra támaszkodik, ezért nem volt szükség bonyolult és hosszas adatgyűjtésre. A Magyarország.hu internetes portál rendelkezik jogszabály keresővel, így az oda beillesztett kulcsszavak (közúti baleset) alapján hamar megtaláltam azt amit kerestem.
A feladat által érintett célcsoportok
Bárki, aki Magyarországon, a ma hatályos jogszabály(ok) alapján természetes személy és jogosult a B kategóriás (autó) járművezetői engedély megszerzésére.
Ha az illető nem beszél magyarul, a online szolgáltatás az alábbi lépések keretében többnyelvűvé tehető:
- mivel a rendszer sablonokat használ, ezért könnyen megoldható a nyelvi fájlok használata a böngésző program beállításai alapján
A feladat megválaszolása kapcsán várható hasznosság
Az óra során pont ebből a pontból alakult ki vita a rendszert illetően. Sajnos az ilyen rendszerek megvalósítása elég nehéz olyan szempontból, hogy én mint fejlesztő, nem állíthatom biztosan hogy jártas vagyok a jogban.
Tehát ha így csupaszon kirakom a webre és melléírom a nevem, akkor az első felhasználó, aki kapcsolatba kerül a rendszerrel (és a program rossz, vagy helytelen eredményt hoz), minden további nélkül beperelhet és a pert elég nagy valószínűséggel meg is nyerné.
A probléma kiküszöbölésére két járható út létezik. Az egyik, hogy kézen fogva egy jogásszal (akinek jogi végzettsége van) építem fel a lehetséges be- és kimeneteket, így ha mégis perre kerülne a sor, akkor a jogászt terhelné a felelősség, mert a nevét adta hozzá.
A másik megoldás pedig a validáció lenne. Ez nem takarna mást, mint hogy a kész programot, egy erre a célra létrehozott bizottság vagy szervezet vizsgálná meg, és amennyiben minden be- és kimenetet rendben talál, hozzáadja a minősítést. Ez a megoldás már létezik napjainkban, elég csak az Adó- és Pénzügyi Ellenőrzés Hivatal – APEH – által validált adóbevalló programot elővenni.
A hasznosság mérésére két élethelyzetet illik összehasonlítani:
- az online szolgáltatás nélkülit, illetve
- a szolgáltatást magát
Kérdés: hol érhetők tetten előnyök és hátrányok (valamint ezek hogyan számszerűsíthetők) a két élethelyzet összevetésekor:
Alternatívák | Előnyök | Hátrányok |
Szakértői rendszer | használatra kész csak az adott témakörrel foglalkozik bármikor elérhető |
körülményes az elkészítése nem biztos, hogy pontos és átfedésmentes nyelvi problémák |
Jogász | naprakész interaktívabb mint egy rendszer |
helyhez van kötve anyagi vonzata van (alkalmanként) |
Internet | bárhonnan elérhető anyagi és idő vonzata nincs |
nem biztos, hogy naprakész sokat kell keresni |
A válaszokat befolyásoló tényezők
- A baleset okozója ittas állapotban vezetett.
- A baleset okozója cserben hagyta a sérülte(ke)t.
- A baleset okozója hány embert sértett, vagy ölt meg.
- A baleset okozója szándékosan vagy véletlenül követte el azt, amit elkövetett.
A saját megoldás bemutatása (MÓDSZER)
A rendszer megvalósításához a PHP – szerveroldali programozási nyelvet választottam. Azért ezt, mert ezzel a nyelvvel már több éve foglalkozom és jártas vagyok benne. A rendszer előnye a programozási nyelv miatt a következőek:
- a felhasználónak semmit nem kell átállítani a saját számítógépén
- nem kell letöltenie semmilyen programot
- az interneten keresztül a világ bármely pontján elérhető
- csak egy internet böngésző szükséges a gondatlan használatához
Tehát, a rendszer futásához szükség van valamilyen webszerverre (például Apache) és a webszerverbe integrált PHP modulra.
A program kombinatorikai terét a legegyszerűbben a HA-AKKOR szabályokkal lehet leírni. Azonban, figyelembe kell venni, hogy hány be- és kimenettel rendelkezik a program. Az IF-ELSE nagy és bonyolult elágazások lekezelésére nem alkalmas. A legtöbb programozási nyelv rendelkezik, az IF-ELSE logikájához hasonló működésű szintaktikával, ez általában a SWITCH, vagy CASE névre hallgat.
Miért használjuk a SWITCH vagy CASE szintaktikát, mikor ugyanaz a működési logikája, mint az IF-ELSE-nek? Roppant egyszerű: a PHP interpreter sokkal gyorsabban lefuttatja – bonyolult elágazások esetén – a SWITCH-et, mint az IF-et.
a PHP-ban az IF-ELSE szintaktika a következőképpen néz ki:
<?php … if ($valtozo == ertek1) { Ha a $valtozo erteke egyenlo az ertek1-gyel, akkor ez a programblokk kerül végrehajtásra. } elseif ($valtozo == ertek2) { Ha a $valtozo erteke egyenlo az ertek2-vel, akkor ez a programblokk kerül végrehajtásra. } további elseif-ek { … } else { Az az eset, amikor egyetlen-egy korábbi elseif ág feltétele nem volt igaz. } … ?>
Míg a SWITCH/CASE így:
<?php … switch ($valtozo) { Az IF-ELSE szintaktikában ez volt az IF blokk. case "ertek1": Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyenlő lesz az ertek1-gyel. Az IF-ELSE szintaktikában ez volt egy ELSEIF blokk. break; case "ertek2": Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyenlő lesz az ertek2-vel. Az IF-ELSE szintaktikában ez volt egy ELSEIF blokk. break; default: Akkor hajtódik végre ez a programblokk, amikor a $valtozo egyik case-ben megadott értékkel sem volt egyenlő. Az IF-ELSE szintaktikában ez volt az ELSE blokk. break; } … ?>
Továbbá a fejlesztés során még egy technikát alkalmaztam. Ez a sablonkezelés volt egy sablonkezelő motor segítségével (Smarty Template Engine). A sablonkezelés két legfontosabb előnye:
- csökkenti a végleges kódméretet
- teljesen elválasztható a működtető kód a megjelenéstől
További előnyök, hogy rengeteg favágó munkát levesz az ember válláról (mint egy jó keretrendszer egy JAVA project-ben - például Apache Struts vagy Hibernate). Gyorsítótárazás, debugging, űrlapok, képek kódjának beillesztése és megannyi dolog. Ha valakit érdekel a dolog, az olvasgassa a Smarty oldalát.
A rendszer szempontjából ez miért volt jó?
Azért, mert így a kód részében a dolognak csak és kizárólag a vezérlést kellett megírnom, minden mást a sablonkezelő motor intéz el. Még az eredmények kiértékelését is a sablonkezelő motor intézi. Az egész program kevesebb mint 500 sorból áll (egész pontosan 493). Ebben a 493 sorban benne vannak a vezérlő, sablon (HTML) illetve stíluslapok (CSS) fájlok sorai is. Ha nem használok sablon motort, ez a szám több lenne mint 1200-1500.
Az eredmények értelmezése (EREDMÉNY)
Mivel minden kérdésre csak igennel vagy nemmel lehet válaszolni, ezért a következő logikát állítottam fel.
Az igenek legyenek egyenlőek a kettes (2) számmal, míg a nemek eggyel (1). Mivel több kérdést is fel kell tenni az első lehetséges kimenetelhez, ezért a válaszokat egy karakterláncba fűzöm.
Például 212. A 212 = ittas vezetés – igen (2), cserben hagyás – nem (1), súlyos testi sértés – igen (2) értékekkel.
A sablon kezelő motor ezt a karakterláncot értékeli ki, majd írja ki a képernyőre az adott lánchoz tartozó definíciót.
Ajánlások megfogalmazása (KÖVETKEZTETÉS)
Ha hasznosnak tűnik egy ilyen online rendszer: Hogyan juthat el sok felhasználóhoz ennek híre:
- a megfelelő internetes csatornákon, fórumokon keresztül, némi reklámmal vegyítve
- a Magyar Közlöny közreműködésével
Ha nem tűnt (elég) hasznosnak: mit lehetne jobban csinálni, hogy hasznossá/hasznosabbá váljon?
- esetleg tovább bővíteni a jogosítványhoz tartozó pontértékekkel
- több nyelvűség integrálása
- egy offline verzió készítése
Az információ többletérték lehetőségének levezetése (VITA)
Szintén az óra kapcsán derült ki, hogy hála a csodás anyanyelvünk bonyolultságának, vannak olyan kérdések, amik félrevezetőek lennének, ha nem lenne ott a megfelelő információ. Utólag belegondolva, talán az összes kérdést újra lehetne fogalmazni, hogy még egyértelműbb legyen és ne legyen benne ellentmondás vagy bármi olyanra utaló szó, vagy szótöredék, ami félrevezetheti a felhasználót.
Röviden és tömören: teljesen nem felhasználóbarát.
Kapcsolódó, ill. konkurens megoldások, dokumentumok
Kapcsolódó rendszer és a hozzátartozó dokumentáció.
Dokumentumok