UML diagram generálás dinamikusan pythonnal
PlantUML és plantuml
Python csomag:
A PlantUML egy népszerű eszköz, amely lehetővé teszi UML diagramok létrehozását szöveges leírás alapján. A plantuml
Python csomag használatával közvetlenül Pythonból generálhatsz PlantUML diagramokat.
Telepítés:
Specialis használat Google colab alatti python használat
A Google Colab egy remek platform a Python kód futtatására, de az PlantUML telepítése és használata egy kicsit bonyolultabb, mivel a Google Colab környezetében nem biztos, hogy alapból telepítve van a PlantUML vagy annak szükséges függőségei.
Az alábbiakban bemutatom, hogyan használhatod a PlantUML-t és a plantuml Python csomagot Google Colab-ban:
Telepítés és beállítás a Google Colab-ban
PlantUML telepítése
Mivel a Google Colab nem tartalmazza alapból a PlantUML programot, először telepítenünk kell egy Java környezetet és magát a PlantUML-t.
!apt-get install -y plantuml
Ezután telepítheted a plantuml
Python csomagot a következő módon:
!pip install plantuml
Alternatív megoldás (Automatikus képgenerálás a PlantUML webszolgáltatásával)
Egy egyszerűbb megoldás a PlantUML webszolgáltatásának használata, amely képes a szöveges kódot közvetlenül képpé alakítani. Ez nem igényli a helyi telepítést.
Most, hogy telepítettük a szükséges eszközöket, létrehozhatunk egy PlantUML kódot és renderelhetjük azt.
A megfelelő PlantUML szöveges kód használata UML generáláshoz
A PlantUML egy nyílt forráskódú eszköz, amely lehetővé teszi UML (Unified Modeling Language) diagramok gyors és egyszerű generálását szöveges formátumból. A PlantUML szintaxis egyszerű, így különböző típusú diagramokat készíthetünk vele, például osztálydiagramot, szekvenciadiagramot, tevékenységdiagramot és használati eset diagramot.
PlantUML kulcsszavak és szintaxis
Általános szintaxis:
A PlantUML-ben a diagramokat szöveges kódként lehet definiálni, amelyet a megfelelő eszközzel értelmezünk és ábrázolunk. A diagramok kezdete és vége az @startuml
és @enduml
kulcsszavakkal van körülhatárolva.
Különböző diagram típusok és kulcsszavak:
Használati eset diagram:
- Az actor kulcsszóval szereplőket (pl. felhasználókat) hozhatunk létre.
- A usecase kulcsszóval pedig a használati eseteket.
- A -> szimbólum mutatja az interakciókat.
Szintaxis példa:
Szekvenciadiagram:
- A participant kulcsszóval hozhatunk létre résztvevőket.
- Az interakciók időbeli sorrendje a -> szimbólummal van ábrázolva.
Szintaxis példa:
Tevékenységdiagram:
- Az activity kulcsszóval tevékenységeket ábrázolhatunk.
- A start és stop kulcsszavak az aktivitás kezdő és befejező pontjait jelölik.
- A -> szimbólum a tevékenységek közötti áramlást mutatja.
- A if-else szerkezet döntési pontokat reprezentál.
Szintaxis példa:
Osztálydiagram: - A class kulcsszóval hozhatunk létre osztályokat.
- Az osztályok közötti kapcsolatok (asszociációk, öröklés, kompozíció) a --, <|--, *-- szimbólumokkal vannak ábrázolva.
-
Szintaxis példa:
Részletes összefoglalás a kulcsszavak és diagram típusok használatáról
A diagram típusok és használatuk részletezése:
-
Használati eset diagramok (Use Case Diagram):
- Célja: A rendszer funkcionális igényeinek vizuális ábrázolása.
- Használat: Az aktorok és használati esetek kapcsolatait ábrázolja.
- Kulcsszavak:
actor
: Szereplők (pl. felhasználók)
usecase
: Használati esetek (pl. "Bejelentkezés")
->
: Az aktor és a használati eset közötti interakciók ábrázolása.
-
Szekvenciadiagramok (Sequence Diagram):
- Célja: A rendszerben zajló interakciók időbeli sorrendjének ábrázolása.
- Használat: A résztvevők közötti üzenetváltásokat és azok sorrendjét ábrázolja.
- Kulcsszavak:
participant
: A diagramban résztvevő szereplők
->
: Az üzenetküldés a résztvevők között.
-
Tevékenységdiagramok (Activity Diagram):
- Célja: A folyamatok és tevékenységek ábrázolása.
- Használat: A lépések és a döntési pontok ábrázolása.
- Kulcsszavak:
start
: A folyamat kezdete
stop
: A folyamat vége
if
: Döntési pontok
-
Osztálydiagramok (Class Diagram):
- Célja: Az osztályok és azok közötti kapcsolatok ábrázolása.
- Használat: Az objektumorientált rendszerekben az osztályok közötti kapcsolatok ábrázolása.
- Kulcsszavak:
class
: Osztályok
--
, *--
, <|--
: Kapcsolatok (asszociációk, öröklés, kompozíció)
Táblázatos összefoglalás
Diagram típusa | Cél | Kulcsszavak és használat | Példa |
---|
Használati eset | A rendszer funkcionális igényeinek ábrázolása | actor , usecase , -> - az aktorok és a használati esetek közötti interakciók ábrázolása | actor User -> (Login) |
Szekvenciadiagram | Az időbeli interakciók ábrázolása | participant , -> - résztvevők közötti üzenetváltás ábrázolása | User -> Browser : Open Website |
Tevékenységdiagram | A folyamatok és tevékenységek ábrázolása | start , stop , if - döntési pontok, tevékenységek ábrázolása | start -> :Browse Products -> if (User logged in?) then |
Osztálydiagram | Az osztályok és azok kapcsolatai | class , -- , *-- , `< | --` - osztályok, kapcsolatok (asszociáció, öröklés, kompozíció) |
Összegzés
A PlantUML segítségével egyszerű és gyors módon hozhatunk létre UML diagramokat, amelyek segítenek a rendszerek tervezésében és dokumentálásában. A fenti kulcsszavak és diagram típusok alapos megértésével könnyen és gyorsan készíthetünk különböző típusú diagramokat, legyen szó használati esetekről, szekvenciákról, tevékenységekről vagy osztályok közötti kapcsolatok ábrázolásáról.
Minta képernyőkép
Link:
https://github.com/klajosw/python/blob/master/kl_uml_gen_py.ipynb
Megjegyzések
Megjegyzés küldése