Generovanie UML pomocou AI
Jazykový model vyrobí UML diagram z dvoch viet popisu a väčšina bude správna. Toto je o tej časti, ktorá nie je: štyri chyby, ktoré generovanie robí zakaždým, a dvojminútová kontrola, ktorá ich zachytí skôr, než sa diagram dostane k tímu.
9 min čítaniaUML 2.5.131 z 35
Krátka odpoveď
- Prvý návrh býva štrukturálne v poriadku. Model však nemôže vedieť, ktorý z viacerých obhájiteľných návrhov sedí na váš systém.
- Opakujú sa štyri chyby: kompozícia nakreslená ako agregácia, nevyžiadané násobnosti jedna k mnohým, vymyslené rozhrania a diagram tried tam, kde bol potrebný sekvenčný.
- Pomenujte druh diagramu, vypíšte podstatné mená, ktoré už používate, a povedzte otázku, na ktorú má diagram odpovedať. Vágny prompt vyrobí vierohodnú fikciu.
- Po kontrole sa odovzdať dá. Škodu narobia tie diagramy, ktoré si pred rozposlaním nikto neprečítal.
01V čom je generovanie naozaj dobré#
V dvoch veciach, a sú to práve tie, ktoré stoja najviac času. Prvou je prázdna strana: pomenovať osem podstatných mien v doméne a dostať ich na plátno je pol hodiny práce, ktorá nevyprodukuje nič, o čom by sa niekto hádal, a model to spraví za sekundy. Druhou je dohľadávanie notácie - ktorá hlava šípky znamená realizáciu, na ktorý koniec ide kosoštvorec, ako vyzerá násobnosť 0..* vedľa 1. Tá znalosť je v špecifikácii, špecifikácia je v trénovacích dátach a pamätať si ju nikdy nebola tá zaujímavá časť práce.
Diagram v hlavičke tohto článku prišiel z dvojvetového popisu. Triedy sú správne, atribúty vierohodné a človek, ktorý doménu pozná, si ho prečíta a začne sa hádať o tie časti, na ktorých záleží - a presne na to prvý návrh je.
02Štyri zlyhania, po poradí#
Opakujú sa naprieč modelmi aj naprieč promptmi, lebo pod povrchom sú všetky tým istým zlyhaním: generátor vyberá najbežnejšiu odpoveď a váš systém nie je najbežnejším systémom.
- Kompozícia nakreslená ako agregácia alebo ako obyčajná asociácia. Dutý kosoštvorec je bezpečne vyzerajúca voľba, takže je to tá, ktorá sa vráti. Je to zároveň tá, ktorá hovorí, že časti prežijú celok, čo je tvrdenie o mazaní a o vlastníctve, ktoré nikto neoveril.
- Násobnosti predvolené na jeden k mnohým. Bez opýtania sa takmer každá asociácia vráti ako
1k0..*. Niekedy je to správne. Keď nie, je to ten druh nesprávnosti, ktorý prežije až do schémy. - Rozhrania vymyslené pre jedinú implementáciu. Modely prečítali veľké množstvo podnikovej Javy. Ak má vaša doména jedného poskytovateľa platieb, je
«interface» IPaymentProviderv návrhu ozdobou. - Úplne nesprávny druh diagramu.Opýtajte sa na správanie v čase a vráti sa diagram tried, lebo diagramy tried dominujú trénovacím dátam. Ak bola otázka „čo sa stane, keď platba zlyhá“, chceli ste sekvenčný diagram.
Ani jedno z nich sa neopravuje ťažko. Všetky sa ťažko všimnú, lebo nesprávny druh vzťahu vyzerá presne tak sebavedomo ako správny a diagram je tak či tak upratený.
03Ako promptovať na niečo overiteľné#
Tri zložky, a tá tretia je tou, ktorú ľudia vynechávajú.
- Pomenujte druh diagramu.„Diagram tried“, nie „UML diagram“. Ak si nie ste istí, ktorý druh chcete, je to modelovacia otázka a tých štrnásť druhov je tu.
- Dajte mu svoje podstatné mená. Slová, ktoré váš tím už používa, napísané tak, ako ich píše váš kód. Model, ktorý si vymyslí
BorrowRecord, keď vy hovoríteLoan, vyprodukuje diagram, ktorý si nikto nevie na nič namapovať. - Vyslovte otázku, na ktorú musí diagram odpovedať.„...ktorý ukazuje, čo sa stane s výpožičkami, keď sa výtlačok vyradí.“ Práve to mení vierohodný obrázok na overiteľné tvrdenie a je to jediná veta s najvyššou hodnotou v akomkoľvek prompte.
04Dvojminútový posudok#
Prejdite si to skôr, než diagram opustí vašu obrazovku. Mapuje sa jedna k jednej na tie štyri zlyhania vyššie a je to celý rozdiel medzi vygenerovaným diagramom, ktorý pomôže, a takým, ktorý rok potichu dezinformuje tím.
Siahnite po ňom, keď
- Každý kosoštvorec: zomiera tá časť naozaj s celkom? Plný ak áno, dutý ak nie
- Každá násobnosť: prečítajte ju nahlas ako vetu a overte ju oproti skutočnému prípadu
- Každé rozhranie: existuje druhá implementácia, alebo by vierohodne mohla?
- Druh diagramu: odpovedá tento tvar na otázku, ktorú ste položili, alebo na inú?
Siahnite po niečom inom, keď
- Prijímať typy atribútov - sú to dohady a lacno sa opravia neskôr
- Hádať sa o rozloženie skôr, než sú vzťahy správne
- Pýtať si prekreslenie, keď je zlá jediná hrana - opravte ju v editore
- Rozposielať ho skôr, než si ho raz prečíta niekto, kto doménu pozná
Dve minúty nie sú nadsádzka: na diagrame o ôsmich boxoch sú to štyri pohľady. Funguje to vďaka tomu, že viete, čo hľadáte, a preto je zoznam krátky a konkrétny namiesto „dôkladne skontrolujte“.
05Ako to funguje v Archyne#
Archyno generuje do modelu, nie do obrázka, a práve ten rozdiel je dôvodom, prečo môže tento článok skončiť tam, kde končí. AI dostane ten istý metamodel, ktorý vynucuje editor, takže sa vráti to, čo notácia naozaj pripúšťa - realizácia môže pristáť len na rozhraní, ArchiMate vzťah slúženia môže spojiť len tie vrstvy, ktoré špecifikácia dovoľuje. Kategórie chýb vyššie sa zmrštia na tie, ktoré nezachytí žiadny nástroj: na tie o vašom systéme.
Keďže je to model a nie obrázok, oprava je úprava, nie nový prompt. Zmeňte kosoštvorec, zmeňte násobnosť, premenujte triedu - a to premenovanie dorazí do každého pohľadu, v ktorom sa prvok objavuje. Výsledok sa exportuje ako PNG, SVG, Mermaid, XMI alebo súbor .qea pre Sparx, a práve to robí z vygenerovaného diagramu niečo, čo viete odovzdať tímu, ktorý nepoužíva ten istý nástroj ako vy.
Po jednom riadku na každé
- 01Generovanie je vynikajúce na prázdnu stranu a na notáciu, čo je väčšina trenia.
- 02Nespoľahlivé je pri vlastníctve, násobnosti, vymyslených rozhraniach a druhu diagramu.
- 03Pomenujte druh diagramu, dodajte vlastné podstatné mená a vyslovte otázku, na ktorú má odpovedať.
- 04Skontrolujte štyri veci: kosoštvorce, násobnosti, rozhrania a či druh sedí.
- 05Generujte do modelu, nie do obrázka, inak je každá oprava ďalším promptom.
- 06Nič na generovaní nenahradí to, aby si ho raz prečítal niekto, kto doménu pozná.
ArchiMate polovica tohto - kde pravidlá vrstiev robia generovanie zároveň ťažším aj užitočnejším - je v článku generovanie ArchiMate diagramov pomocou AI. Čo nástroj robí a čo nerobí, je priamo vyložené v prečo Archyno.
06Časté otázky#
Dokáže AI vygenerovať UML diagram z textového popisu?
Áno a prvý návrh býva štrukturálne v poriadku: správne triedy, rozumné názvy a vzťahy, ktoré väčšinou mieria správne. Model však nemôže vedieť, ktorý z viacerých obhájiteľných návrhov zodpovedá vášmu systému, takže s výstupom zaobchádzajte ako s návrhom od človeka, ktorý čítal špecifikáciu, ale nie váš kód.
Čo AI na UML diagramoch pokazí najčastejšie?
Štyri veci v tomto poradí: kompozíciu nakreslí ako agregáciu alebo obyčajnú asociáciu, násobnosti nastaví na jedna k mnohým bez toho, aby sa pýtala, vymyslí rozhrania pre triedy s jedinou implementáciou a vráti diagram tried tam, kde otázka potrebovala sekvenčný diagram alebo diagram komponentov. Všetky štyri sú viditeľné do dvoch minút, ak viete, čo hľadať.
Ako má vyzerať prompt na UML diagram?
Pomenujte druh diagramu, vypíšte podstatné mená, ktoré už používate, a povedzte otázku, na ktorú má diagram odpovedať. „Diagram tried požičiavania v knižnici - členovia, výpožičky, exempláre, tituly - ktorý ukáže, čo sa stane s výpožičkami po vyradení exemplára“ vyrobí niečo overiteľné, kým „nakresli UML pre knižnicu“ vyrobí vierohodný diagram knižnice, ktorú nikto neprevádzkuje.
Dá sa vygenerovaný diagram odovzdať tímu?
Po kontrole áno a to je poctivá odpoveď. Generovanie odstráni prázdny papier a listovanie v notácii, čo je väčšina trenia; rozhodnúť, či model sedí na váš systém, je úsudok, ktorý za vás nikto nevygeneruje. Škodu narobia tie diagramy, ktoré si pred rozposlaním nikto neprečítal.
V tejto sérii
- 01Čo je UML?
- 02Symboly UML
- 03Výber diagramu
- 04Diagramy tried
- 05Príklady diagramov tried
- 06Ako nakresliť diagram tried
- 07Symboly diagramu tried
- 08Sekvenčné diagramy
- 09Príklady sekvenčných diagramov
- 10Ako nakresliť sekvenčný diagram
- 11Diagramy prípadov použitia
- 12Príklady prípadov použitia
- 13Diagramy aktivít
- 14Príklady aktivít
- 15Stavové diagramy
- 16Príklady stavových diagramov
- 17Diagramy komponentov
- 18Príklady komponentov
- 19Kreslenie diagramu komponentov
- 20Symboly komponentov
- 21Diagramy nasadenia
- 22Príklady nasadenia
- 23Diagramy objektov
- 24Diagramy balíkov
- 25Diagramy zloženej štruktúry
- 26Komunikačné diagramy
- 27Sekvenčný vs komunikačný
- 28Časové diagramy
- 29Diagramy prehľadu interakcií
- 30Diagramy profilov
- 31UML pomocou AI
- 32Príklad e-shopu
- 33Príklad banky
- 34Príklad mikroslužieb
- 35Príklad AWS
Súvisiace články
Základy
Diagramy štruktúry
Prax modelovania
Prax modelovania
Prax modelovania
Diagramy štruktúry