Mühendislik

Yapay zekâ ile UML diyagramları oluştur

Sınıf diyagramları, sıralama diyagramları ve durum makineleri, yapay zekânın iyi olduğu türden yapılandırılmış ve sıkıcı çizimlerdir. Bir açıklamadan ya da biraz koddan yola çıkıp gerçekten düzenleyebileceğin temiz UML'e ulaşarak yapay zekâ ile UML diyagramlarını nasıl oluşturacağın burada.

UML'in ağır olduğu yönünde bir ünü var, ama mühendislerin çoğu kesin olmaları gerektiğinde hâlâ ona uzanır: bir modeli netleştirmek için sınıf diyagramı, bir etkileşimi oturtmak için sıralama diyagramı, geçişleri açık hâle getirmek için durum makinesi. Sorun hiçbir zaman UML değildi. Sorun çizimdi. Bir düzine sınıfı alanları ve ilişkileriyle elle yerleştirmek, kimsenin iki kez yapmak istemediği türden titiz, mekanik bir iştir; yapay zekâ ile UML diyagramları oluşturmanın değeri de tam burada.

Bu da onu yapay zekâ için neredeyse kusursuz bir iş yapar. Yapı iyi tanımlı, notasyon standart, yerleşim kurallara dayalı. Niyeti sen getirirsin; yerleştirmeyi araç yapar.

İki giriş yolu: anlat ya da koda yönlendir

Yapay zekâ ile üretilmiş bir UML diyagramı için iki dürüst başlangıç noktası var ve farklı anlara uyarlar.

  • Bir açıklamadan, tasarım henüz kafandayken. "Bir User'ın birçok Order'ı var; her Order'ın Line Item'ları var; bir Line Item bir Product'a referans verir." Modeli yüksek sesle taslak hâline getiriyorsun ve görmek istiyorsun.
  • Mevcut koddan ya da şemadan, tasarım zaten varken ve resmi istediğinde. Sınıfların, SQL tabloların, tiplerin ilişkileri zaten kodluyor. Onlardan üretmek, diyagramın senin hafızanla değil gerçekle örtüşmesi demektir.

İkincisi sessiz bir süper güç. Gerçek tiplerden türetilen bir sınıf diyagramı alanlar hakkında yalan söyleyemez; gerçek DDL'den üretilen ER tarzı bir model de orada olmayan bir ilişkiyi uyduramaz.

Tek cümleden bir sınıf diyagramı

Diyelim ki küçük bir sipariş modeli anlattın. Üretilen diyagram sana gerçek kutular verir: her sınıf öznitelikleriyle birlikte ve ilişkiler düz çizgilerle değil, doğru çokluk değerleriyle çizilmiş.

User+ id+ name+ email Order+ id+ total+ placedAt LineItem+ qty+ price+ productId 1* 1*
Gerçek bölmeleri ve çokluk değerleri olan bir sınıf diyagramı; üretildi, artık düzenlemek sana kalmış.

Sıralama diyagramları: nesneler değil, etkileşim

Sınıf diyagramları yapıyı gösterir; sıralama diyagramları zaman içindeki davranışı. Elle çizmek daha da sıkıcıdır, çünkü her mesaj lifeline'lar arasına tam yerine konmuş bir oktur. Bunun yerine akışı anlat: "İstemci API'yi çağırır, API cache'e bakar, ıskalar, veritabanını sorgular, cache'e yazar ve yanıt döner." Sonradan budayıp not ekleyebileceğin lifeline'lar ve sıralı mesajlar alırsın.

Notasyon standart ve yerleşim kurallara dayalı. Bir makinenin onu taslak hâline getirebilmesinin ve senin de onu düzelteceğine güvenebilmenin sebebi tam olarak bu.

Dürüst tut: gerçek şeyden, koddan UML üret

En kalıcı UML hayal gücünden çizilmez; zaten var olandan türetilir. Modellerin kayarsa elle çizilmiş bir diyagram da kayar. Sınıf diyagramını gerçek tiplerinden, bir veri modelini de gerçek şemandan üretmek, kod güncellendiğinde resmin de güncellenmesi demektir. Yeniden çizme, yeniden üret; diyagram bir müze parçası olmaktan çıkar.

İpucu. Saklamak istediğin her şey için diyagramı Mermaid'e export et ve kodun yanına commit'le. Versiyon kontrolünde review edilebilir bir metin hâli ve ihtiyacın olduğunda temiz bir görsel elde edersin; ikisi de tek bir kaynaktan.

Sonra okunur hâle getir, çünkü UML yoğunlaşabilir

Eksiksiz UML hızla bir kutu duvarına dönüşebilir. Düzenlenebilir çıktının avantajı, onu gerçekten anlatmak istediğin noktaya kadar budayabilmendir. Bu diyagram için önemli olmayan öznitelikleri gizle. Tek bir aggregate'teki sınıfları grupla. Okuyucunun fark etmesi gereken ilişkiyi vurgula. Tek bir şeyi net söyleyen bir diyagram, kimsenin okumadığı eksiksiz bir diyagramı geçer.

Yapıyı üret, ayrıntıları düzelt, mesaja göre buda ve kalıcı bir versiyon export et. UML angarya olmaktan çıkar ve asıl amacına geri döner: sistemin nasıl bir araya geldiğinin kesin, ortak bir resmi.

UML'i angarya olmadan çiz

Bir modeli anlat ya da tiplerini yapıştır; saniyeler içinde düzenlenebilir bir sınıf ya da sıralama diyagramı al.

LetDraw'u ücretsiz aç