P6a: Podmienky a ohraničenia v modeloch: OCL (dodatok)
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Dodatok k prednáške o OCL ukazuje, ako sa výrazy zadávajú a hľadajú v nástroji Enterprise Architect, ktorého ovládanie je podľa prednášajúceho zložité a nástroj nekontroluje sémantickú správnosť výrazov, iba syntax. Na modeli objednávok je predvedený invariant pri triede Order (nulová cena implikuje, že objednávka nemôže byť odoslaná), ktorý sa zadáva v dialógu Constraints po dvojkliku na triedu. Po oprave modelu, kde chýbal atribút price, sa cez bodkovú konvenciu pristupuje k agregovaným objektom. Pri operácii dispatch order sa ukazujú predpoklady a dôsledky v paneli Operation properties a dôležité je, že názvy sa viažu na kontext prvku, ku ktorému sa podmienka pripája. V budúcom týždni majú študenti na cvičenie priniesť aspoň jeden vlastný OCL výraz, pričom dôležitá je aktivita a spolupráca, nie známkovanie.
- - Invarianty sa uvádzajú pri type, najčastejšie pri triede; v Enterprise Architecte sa zadávajú dvojklikom na triedu v dialógu Constraints.
- - Príklad invariantu: price.value = 0 implies not dispatched, teda objednávka s nulovou cenou nesmie byť odoslaná.
- - Enterprise Architect kontroluje len syntax OCL výrazov, nie ich zhodu s modelom, preto môže chýbajúci atribút zostať nepovšimnutý.
- - K agregovaným objektom a atribútom sa v OCL pristupuje bodkovou konvenciou.
- - Predpoklady a dôsledky operácií sa nachádzajú v paneli Operation properties, v časti Pre-post, kde ich treba rozbaliť.
- - Názvy vo výraze sa viažu na kontext prvku (napr. parameter operácie), ku ktorému je podmienka pripojená.
- - Podmienka musí byť vyhodnotiteľná na true alebo false; niektoré výrazy vracajú namiesto toho zoznam prvkov.
- - Na budúcom cvičení majú študenti predstaviť aspoň jeden vlastný OCL výraz; hodnotí sa aktivita a spolupráca, nie správnosť.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky