Archyno
UMLModellierungspraxis

UML mit KI erzeugen

Ein Sprachmodell erzeugt aus zwei Sätzen Beschreibung ein UML-Diagramm, und das meiste daran stimmt. Hier geht es um den Rest: die vier Fehler, die beim Erzeugen jedes Mal auftreten, und die Zwei-Minuten-Prüfung, die sie findet, bevor das Diagramm ein Team erreicht.

9 Min. LesezeitUML 2.5.131 von 35

Die kurze Antwort

  • Der erste Entwurf ist meist strukturell in Ordnung. Was ein Modell nicht wissen kann, ist welcher von mehreren vertretbaren Entwürfen zu Ihrem System passt.
  • Vier Fehler wiederholen sich: Komposition als Aggregation gezeichnet, ungefragte eins-zu-viele-Multiplizitäten, erfundene Schnittstellen, und ein Klassendiagramm, wo ein Sequenzdiagramm gefragt war.
  • Nennen Sie die Diagrammart, listen Sie die Substantive, die Sie ohnehin verwenden, und sagen Sie, welche Frage zu beantworten ist. Vage Prompts liefern plausible Fiktion.
  • Nach einer Durchsicht taugt es zur Weitergabe. Schaden richten die Diagramme an, die vor dem Verteilen niemand gelesen hat.
Ein UML-Klassendiagramm einer Bibliotheksausleih-Domäne, aus einem Prompt erzeugt. Member ist mit Loan assoziiert, eins zu null oder mehr. Loan ist mit Copy assoziiert, null oder mehr zu eins. Title aggregiert Copy.
Ein erster Entwurf aus zwei Sätzen über Bibliotheksausleihe. Vier Klassen, sinnvolle Namen, drei Beziehungen - und eine davon ist von der falschen Art, was das Thema des größten Teils dieses Artikels ist.

01Worin Generierung wirklich gut ist#

In zwei Dingen, und es sind die beiden, die am meisten Zeit kosten. Das erste ist das leere Blatt: acht Substantive einer Domäne zu benennen und auf eine Fläche zu setzen ist eine halbe Stunde Arbeit, die nichts hervorbringt, worüber jemand streiten würde, und ein Modell erledigt es in Sekunden. Das zweite ist Notation nachschlagen - welche Pfeilspitze Realisierung bedeutet, an welches Ende die Raute gehört, wie eine Multiplizität von 0..* neben 1 aussieht. Dieses Wissen steht in der Spezifikation, die Spezifikation steckt in den Trainingsdaten, und es sich zu merken war nie der interessante Teil der Arbeit.

Das Diagramm oben in diesem Artikel entstand aus einer zwei Sätze langen Beschreibung. Die Klassen stimmen, die Attribute sind plausibel, und wer die Domäne kennt, kann es lesen und über die Teile zu streiten beginnen, auf die es ankommt - und genau dafür ist ein erster Entwurf da.

02Die vier Fehlschläge, der Reihe nach#

Sie wiederholen sich über Modelle und über Prompts hinweg, denn darunter sind sie derselbe Fehlschlag: der Generator wählt die häufigste Antwort, und Ihr System ist nicht das häufigste System.

  1. Komposition als Aggregation gezeichnet, oder als schlichte Assoziation. Die hohle Raute ist die sicher aussehende Wahl, also ist sie die, die zurückkommt. Sie ist auch die, die sagt, dass die Teile das Ganze überleben - eine Behauptung über Löschen und über Eigentum, die niemand geprüft hat.
  2. Multiplizitäten standardmäßig eins-zu-viele. Ungefragt kommt fast jede Assoziation als 1 zu 0..* zurück. Manchmal stimmt das. Wenn nicht, ist es die Art von falsch, die bis ins Schema überlebt.
  3. Schnittstellen für einzelne Implementierungen erfunden. Modelle haben sehr viel Enterprise-Java gelesen. Hat Ihre Domäne einen Zahlungsanbieter, ist ein «interface» IPaymentProvider im Entwurf Dekoration.
  4. Ganz und gar die falsche Diagrammart.Fragen Sie nach Verhalten über die Zeit, und ein Klassendiagramm kommt zurück, weil Klassendiagramme die Trainingsdaten dominieren. War die Frage „was passiert, wenn die Zahlung fehlschlägt“, wollten Sie ein Sequenzdiagramm.
Zwei UML-Klassen. Title ist aus einer oder mehreren Copy-Instanzen komponiert, gezeichnet mit einer gefüllten Raute am Title-Ende und einer Multiplizität von eins zu eins oder mehr.
Der erste Fehlschlag, korrigiert. Eine gefüllte Raute und eine Multiplizität von 1..* sagen, dass ein Copy ohne sein Title nicht existieren kann und mit ihm stirbt - was für einen Bibliothekskatalog zutrifft und nicht das war, was der Entwurf behauptete.

Keiner davon ist schwer zu beheben. Alle sind schwer zu bemerken, denn eine falsche Beziehungsart sieht genauso selbstsicher aus wie eine richtige, und das Diagramm ist so oder so aufgeräumt.

03So prompten Sie auf etwas Prüfbares#

Drei Zutaten, und die dritte ist die, die man weglässt.

  1. Benennen Sie die Diagrammart.„Ein Klassendiagramm“, nicht „ein UML-Diagramm“. Sind Sie unsicher, welche Art Sie wollen, ist das eine Modellierungsfrage, und die vierzehn Arten stehen hier.
  2. Geben Sie ihm Ihre Substantive. Die Wörter, die Ihr Team ohnehin benutzt, so geschrieben, wie Ihr Code sie schreibt. Ein Modell, das BorrowRecord erfindet, wenn Sie Loan sagen, erzeugt ein Diagramm, das niemand auf irgendetwas abbilden kann.
  3. Nennen Sie die Frage, die das Diagramm beantworten muss.„...das zeigt, was mit Ausleihen geschieht, wenn ein Exemplar ausgesondert wird.“ Das ist es, was aus einem plausiblen Bild eine prüfbare Aussage macht, und es ist der wertvollste Satz in jedem Prompt.

04Der Zwei-Minuten-Review#

Gehen Sie das durch, bevor das Diagramm Ihren Bildschirm verlässt. Es bildet eins zu eins auf die vier Fehlschläge oben ab, und es ist der ganze Unterschied zwischen einem erzeugten Diagramm, das hilft, und einem, das ein Team ein Jahr lang still falsch informiert.

Dazu greifen, wenn

  • Jede Raute: stirbt der Teil wirklich mit dem Ganzen? Gefüllt wenn ja, hohl wenn nicht
  • Jede Multiplizität: lesen Sie sie laut als Satz und prüfen Sie sie an einem echten Fall
  • Jede Schnittstelle: gibt es eine zweite Implementierung, oder könnte es plausibel eine geben?
  • Die Diagrammart: beantwortet diese Form die Frage, die Sie gestellt haben, oder eine andere?

Zu etwas anderem greifen, wenn

  • Attributtypen zu übernehmen - sie sind geraten und billig später zu korrigieren
  • Über das Layout zu streiten, bevor die Beziehungen stimmen
  • Um eine Neuzeichnung zu bitten, wenn eine einzige Kante falsch ist - korrigieren Sie sie im Editor
  • Es zu verteilen, bevor jemand, der die Domäne kennt, es einmal gelesen hat

Zwei Minuten sind nicht übertrieben: bei einem Diagramm mit acht Kästen sind es vier Blicke. Was es funktionieren lässt, ist zu wissen, wonach Sie suchen - deshalb ist die Liste kurz und konkret statt „sorgfältig prüfen“.

05Wie das in Archyno funktioniert#

Archyno erzeugt in ein Modell statt in ein Bild, und genau dieser Unterschied ist der Grund, warum dieser Artikel dort enden kann, wo er endet. Der KI wird dasselbe Metamodell übergeben, das der Editor durchsetzt, also kommen Elemente und Beziehungen zurück, die die Notation tatsächlich erlaubt - eine Realisierung kann nur auf einer Schnittstelle landen, eine ArchiMate-Bedienungsbeziehung nur die Ebenen verbinden, die die Spezifikation zulässt. Die Fehlerkategorien oben schrumpfen auf die, die kein Werkzeug fangen kann: die über Ihr System.

Weil es ein Modell ist und kein Bild, ist die Korrektur eine Bearbeitung statt eines neuen Prompts. Ändern Sie die Raute, ändern Sie die Multiplizität, benennen Sie die Klasse um - und die Umbenennung erreicht jede Sicht, auf der das Element vorkommt. Das Ergebnis exportiert als PNG, SVG, Mermaid, XMI oder als Sparx-.qea-Datei, und das macht aus einem erzeugten Diagramm etwas, das Sie einem Team geben können, das nicht dasselbe Werkzeug benutzt wie Sie.

In je einer Zeile

  1. 01Generierung ist hervorragend beim leeren Blatt und bei der Notation, und das ist der Großteil der Reibung.
  2. 02Unzuverlässig ist sie bei Eigentum, Multiplizität, erfundenen Schnittstellen und Diagrammart.
  3. 03Benennen Sie die Diagrammart, liefern Sie Ihre eigenen Substantive und nennen Sie die Frage, die es beantworten muss.
  4. 04Prüfen Sie vier Dinge: Rauten, Multiplizitäten, Schnittstellen, und ob die Art passt.
  5. 05Erzeugen Sie in ein Modell statt in ein Bild, sonst ist jede Korrektur ein weiterer Prompt.
  6. 06Nichts an Generierung ersetzt jemanden, der die Domäne kennt und es einmal liest.

Die ArchiMate-Hälfte davon - wo die Ebenenregeln Generierung zugleich schwerer und nützlicher machen - steht in ArchiMate-Diagramme mit KI erzeugen. Was das Werkzeug tut und was nicht, steht unverblümt in warum Archyno.

06Häufige Fragen#

Kann KI ein UML-Diagramm aus einer Beschreibung erzeugen?

Ja, und der erste Entwurf ist meist strukturell in Ordnung: passende Klassen, vernünftige Namen, Beziehungen, die überwiegend richtig zeigen. Was das Modell nicht wissen kann, ist welcher von mehreren vertretbaren Entwürfen zu Ihrem System passt - behandeln Sie die Ausgabe als Entwurf von jemandem, der die Spezifikation kennt, aber Ihren Code nicht.

Welche Fehler machen KI-erzeugte UML-Diagramme am häufigsten?

Vier, in dieser Reihenfolge: Komposition wird als Aggregation oder blosse Assoziation gezeichnet, Multiplizitäten stehen ungefragt auf eins-zu-viele, Schnittstellen werden für Klassen mit genau einer Implementierung erfunden, und es kommt ein Klassendiagramm zurück, wo die Frage ein Sequenz- oder Komponentendiagramm verlangte. Alle vier sieht man in unter zwei Minuten.

Wie sollte ein Prompt für ein UML-Diagramm aussehen?

Nennen Sie die Diagrammart, listen Sie die Substantive, die Sie ohnehin verwenden, und sagen Sie, welche Frage das Diagramm beantworten soll. „Ein Klassendiagramm der Ausleihe - Mitglieder, Ausleihen, Exemplare, Titel - das zeigt, was mit Ausleihen passiert, wenn ein Exemplar ausgesondert wird“ liefert Prüfbares; „zeichne UML für eine Bibliothek“ liefert eine Bibliothek, die niemand betreibt.

Taugt ein erzeugtes Diagramm für ein Team?

Nach einer Durchsicht ja, und das ist die ehrliche Antwort. Das Erzeugen nimmt das leere Blatt und das Nachschlagen der Notation ab, also den grössten Teil der Reibung; ob das Modell zu Ihrem System passt, ist Urteilsvermögen, das niemand für Sie erzeugt. Schaden richten die Diagramme an, die vor dem Verteilen niemand gelesen hat.

In dieser Reihe

Passend dazu

Alle Artikel