„Rendszermodellezés” változatai közötti eltérés

Nagy Marcell (vitalap | szerkesztései)
96. sor: 96. sor:
[[Fájl:Remo_modelltipusok_20160720.png|thumb|Szekvenciális programozásra hasonlító (balra), és helyes állapotalapú (jobbra) modellek]]
[[Fájl:Remo_modelltipusok_20160720.png|thumb|Szekvenciális programozásra hasonlító (balra), és helyes állapotalapú (jobbra) modellek]]
* <code>after 0s</code> használata. Gyorsabb, de ez csak egy kiskapu, nem segíti a tanulást.
* <code>after 0s</code> használata. Gyorsabb, de ez csak egy kiskapu, nem segíti a tanulást.
* Meg kell érteni az állapotalapú modellezés alapját. Sokan úgy próbálják felépíteni a modellt, mint egy C nyelvben írt programot, ahol egymás után hajtódnak végre a feladatok, és az állapot egy művelet végrehajtásának felel meg. A kép oldal illusztrálja a kettő közötti különbséget. A hagyományos programozási módszer használatával keletkezik egy olyan állapotátmenet, aminek nincs kiváltó eseménye, a változók értékeinek módosítása után azonnal átlépünk egy másik állapotba. Az állapotalapú modellezésnél ilyet ne csináljunk, mert a ChangeSettings nem egy olyan állapot, ami tartósan jellemezné a modellünket. Állapotátmenetek csak a bemeneti események hatására következzenek be, az állapotok hosszabb-rövidebb ideig valóban jellemezzék a modellt, minden mást az állapotátmenetekre írható őrfeltételekkel/akciókkal oldjunk meg!
* Meg kell érteni az állapotalapú modellezés alapját. Sokan úgy próbálják felépíteni a modellt, mint egy C nyelvben írt programot, ahol egymás után hajtódnak végre a feladatok, és az állapot egy művelet végrehajtásának felel meg. Ez hibás gondolkozás. Eseményvezérelt felépítésre van szükség. A kép oldal illusztrálja a kettő közötti különbséget. A hagyományos programozási módszer használatával keletkezik egy olyan állapotátmenet, aminek nincs kiváltó eseménye. Az állapotalapú modellezésnél ilyet ne csináljunk, mert a ChangeSettings nem egy olyan állapot, ami tartósan jellemezné a modellünket, hiszem a "whiteMoves = true" művelet elvégzése után azonnal bekövetkezik egy újabb állapotváltás, így a ChangeSettings csak egy pillanatig, és nem egy valamekkora időegységig jellemezte a modellt. Ha viszont a műveleteket nem az állapot belsejébe írjuk, hanem egy hurok állapotátmenetre, akkor valójában nem történik állapotváltás, a művelet mégis végrehajtódik! Többnyire igaz, hogy úgy kell megtervezni a modellt, hogy az élekre kerülnek a változók módosításai, az állapotokra pedig az, ami megjelenik a képernyőn, lásd a képet. Ez alól természetesen lehet kivétel, de ha e szerint próbálod meg megtervezni a modelled felépítését, kiküszöbölheted az üres élek problémáját.
 
== 1. ZH ==
== 1. ZH ==
* [[:Media:ReMo_mintazh1_2015tavasz_v2.pdf | 2015 tavasszal kiadott mintaZH]] + [[:Media:ReMo_mintazh1_2015tavasz_v2_mo.pdf | beugrókérdések megoldva]]
* [[:Media:ReMo_mintazh1_2015tavasz_v2.pdf | 2015 tavasszal kiadott mintaZH]] + [[:Media:ReMo_mintazh1_2015tavasz_v2_mo.pdf | beugrókérdések megoldva]]
A lap eredeti címe: „https://vik.wiki/Rendszermodellezés