
Minule jsme ze schváleného Zlatého chodu procesu vytáhli prvky Use Case 1. druhu — body, kde se systém skutečně použije. Tím jsme se dostali na hranici mezi HLA a LLA.
Use Case 1. druhu funguje jako interface v OOP: zvenku nabízí možnost použití, uvnitř je jeho implementace ve formě scénáře. Tenhle díl je právě o tom vnitřku — o scénáři Use Case. A hlavně o tom, proč jeho psaní není sloh, ale řemeslo s pevnými pravidly, díky kterým je výstup konzistentní a srozumitelný i pro AI.
Co je scénář Use Case
Vnitřní scénář Use Case 1. druhu je implementace — popis algoritmu, který pracuje s pojmy a vztahy z Class Modelu (CLM).
Není to vyprávění. Není to obrazovkový popis typu „obsluha klikne, otevře se obrazovka“.
Je to čistý algoritmus programu — nic víc, nic míň. Logika.
Základem je tzv. Scénářový vzor (Scenario Pattern) jako kanonická formulace, kterou se v textu scénáře vyjadřuje práce s konkrétním vztahem z CLM. Pro tentýž vztah se v každém Use Case použije stejná věta. Liší se jen podle toho, kdo akci provádí — obsluha nebo systém.
Pojmy ve formulacích jsou povinně z CLM. To je základní kámen celé metody.
Příklad vzoru „Odkaz do seznamu“
Pro prvek Obsluha:
„Obsluze se zobrazí seznam <destination>. Obsluha vybere <destination> a <source> se prováže na daný prvek .“
Pro Systém:
„Přijme se kód <destination> . Podle tohoto kódu se v seznamu <destination> najde <destination> . Pokud nenalezen, ERR__NENALEZEN.
<source> se prováže na nalezený prvek <destination>.“
Vzory jako pilíře konstrukce
Tady je jádro celého dílu.
Scénář není volný text. Pracuje nad centrálním slovníkem — CLM, jediným zdrojem pravdy o tom, jaké pojmy existují a jaké jsou mezi nimi vztahy (ty jsou také striktně dány kanonickými vzory).
Platí zásadní META pravidlo:
Tentýž vztah z Class Modelu se musí ve všech scénářích promítnout stejným scénářovým vzorem.
Nemůže se stát, že v jednom Use Case se vztah popíše jako Odkaz do seznamu a v jiném jako Kompozice. To by znamenalo rozpad centrálního slovníku.
Protože daný vztah je v modelu jeden, jsou pravidla psaní scénářů napříč všemi prvky Use Case stejná.
Není to estetika. Je to nutný důsledek sdíleného slovníku a pravidel jeho použití.
A právě tahle předurčenost dělá scénář kontrolovatelný a reprodukovatelný: dva analytici (včetně AI) musí pro tentýž vztah napsat tutéž větu. A tam, kde není volnost, není prostor pro hádání — ideální půda pro AI.
Jak si s tím poradí AI: MTP
Aby to nezůstalo u teorie, vzali jsme syrový scénář Use Case z původní dokumentace MTP (ještě pre‑AAF, styl SCRUM/UML) a nechali AI Analytika provést jeho dotažení do AAF/LLA podoby.
Syrový nástřel, tak jak přišel z původní dokumentace (pre‑AAF, SCRUM/UML):
AI prošla scénář větu po větě a u každé práce s daty rozpoznala vztah z CLM a dosadila odpovídající vzor. Konkrétně:
- rozpoznala složený vzor „Vlak má svoje vagóny“ (Kompozice ku N + Odkaz do seznamu) tam, kde se zapisoval stav platby;
- odhalila pojem, který v CLM vůbec není — fiktivní „kód = 1“; označila ho za porušení slovníku a podala návrh;
- převedla volání jiného Use Case do rezervovaného tvaru „použije se UC X“ a „vrácená hodnota se dosadí do Y“;
- doplnila chybějící Exception Flow (ERR_…), sjednotila psaní pojmů velkým písmenem, opravila předávání parametrů přes primitivní identifikátor.
A hlavně — nehádala.
Co scénář jednoznačně neurčoval, AI nevyplnila potichu. Vrátila to jako strukturované dotazy s doporučením.
Svůj konečný návrh scénáře postavila na doporučených variantách s výhradou „čeká na potvrzení“:
Jediná připomínka k návrhu AI: Číselník Stav je pevný; čekající je konstantní položka, takže se nehledá, ale dosadí se konstantní odkaz.
Pokud si chcete prohlédnout celý test, viz protokol testu (= vstup + odpověď).
Ověření na jiné doméně: skladová rezervace
Aby bylo jasné, že to není naučené zrovna na MTP, pustili jsme stejný postup na úplně jinou doménu — skladovou rezervaci.
Tady jsou vstupní syrové scénáře UC pro zpracování v testu:
AI stejně jako u MTP:
- rozpoznala vzory podle vztahů z CLM,
- držela slovník (chytila pojem „Šarže“, který v CLM není, i synonymum „odběratel“ vs. „Zákazník“),
- doplnila ERR_NEDOSTATEK,
- trvala na primitivním identifikátoru na hranici Use Case,
- upozornila na místo, kde hrozí souběh alias kolize paralelních běhů — přechod z analytické úrovně do Designu (nedělitelnost operace, konzistence čtení).
Pokud máte zájem nahlédnout do detailů testu, viz zde.
Navrhovaný scénář od AI (uvnitř jsou odkazy na nálezy, které by bylo vhodné opravit nebo upřesnit)
Poznámka: Tady by se hodilo u Zrušení rezervace ošetřit podmínky, které by se měly zkontrolovat, než se rezervace zruší. Nejlépe pomocí vzoru Reakce tj. princip Open / Closed – analogie GOF vzoru Observer resp. JAVA Listener
Test potvrdil: Jiná doména, tytéž vzory, stejný mechanismus, stejný výsledek. Protože vzor neurčuje doména, ale vztah v Class Modelu.
Pointa
Všimněte si, k čemu došlo:
Nestavělo se od nuly — vyšlo se ze scénáře, který už existoval, a jen se dotáhl podle pravidel.
Scénář se nepsal „od oka“, ale podle vzorů předurčených Class Modelem. Tentýž vztah → tatáž věta.
Reprodukovatelnost a kontrolovatelnost jako druhý pár očí.
Scénář a pojmy CLM se budují ruka v ruce — změna slovníku znamená změnu scénáře. A oběma oblastem AI dobře rozumí a kontroluje konzistenci mezi nimi. To je základ zachování hodnoty pro zákazníka: toto se eviduje (CLM), takto se s tím tady pracuje (UC Scenario) a je to umístěno tady v celkovém kontextu používání systému (HLA s tokem děje a UC 1. druhu).
Předurčenost pomocí vzorů dělá metodu uchopitelnou pro AI — ta nemusí vymýšlet formulace, jen aplikuje vzor.
Navíc metodika určuje, co je třeba kdy udělat. Žádný „Claptrap Driven Project“.
Postup vyžaduje:
- musí se odevzdat UC scénář povinně s protokolem AI,
- ergo musí se před tím najít Use Case cinknutím (AI protokol),
- ergo před tím musí existovat Use Case Epic.
Je to pořád stejná myšlenka přístupu „Document Driven Project“, jen zase o kus dál.
Zavádění metodiky se opět realizuje samotnou praxí: AI současně zastává roli AI Mentora. Analytici se učí vzory scénářů tak, že je tvoří: pokud se „netrefí“ formulací, AI oponuje a doporučí změny.
Co bude dál
V článku se několikrát zdůraznilo, že napsat scénář bez pojmů ze slovníku nelze (platí nejenom pro UC scénáře).
Takže příště si ukážeme, jak jsou zavedeny vzory v Class Modelu a jak s nimi pracuje AI.
Chcete to u vás?
Zaujaly vás tyhle postupy a rádi byste je používali i u vás? Napište mi na objects@objects.cz anebo pošlete zprávu na LinkedIn, nezávazně probereme možnosti.
Napsat komentář