1. Wprowadzenie
To studium przypadku bada projektowanie i wdrażanie Diagram maszyny stanów UML w celu modelowania cyklu życia zachowania nowoczesnego systemu operacyjnego telefonu komórkowego. Diagram uchwyca zachowanie dynamiczne telefonu komórkowego od wyłączony do aktywnej eksploatacji, w tym stany takie jak Wyłączony, Gotowy, Uruchamianie, Działa, Zablokowany, Zautoryzowany, W trybie snu, oraz przejścia wywoływane przez działania użytkownika i zdarzenia systemowe.

Celem jest pokazanie, jak maszyny stanów UML można wykorzystać do modelowania złożonych systemów rzeczywistych z zagnieżdżeniem hierarchicznym, zachowaniem współbieżnym i przejściami sterowanymi zdarzeniami – co czyni je idealnymi dla systemów wbudowanych, aplikacji mobilnych i projektowania interfejsów użytkownika.
2. Sformułowanie problemu
Zaprojektuj jasny, utrzymywalny i skalowalny model zachowania cyklu życia telefonu komórkowego. System musi:
- Obsługiwać sekwencje włączania/wyłączania.
- Zarządzać uwierzytelnianiem użytkownika (PIN/hasło).
- Obsługiwać wiele trybów aplikacji (np. Ekran główny, Aplikacja do zdjęć, Ustawienia).
- Reagować na wejścia użytkownika (przycisk zasilania, dotyk, przesunięcie).
- Zapewniać bezpieczeństwo za pomocą mechanizmów blokowania.
- Odbijać zmiany stanów oparte na czasie (np. automatyczne zablokowanie, wygaśnięcie).
Tradycyjne schematy blokowe lub diagramy działania nie potrafią skutecznie wyrazić struktury hierarchicznej i zależności stanów.Diagramy maszyn stanów UML zapewniają lepsze rozwiązanie.
3. Kluczowe pojęcia w diagramach maszyn stanów UML
Diagram maszyn stanów: Przykład studium przypadku

3.1. Stan
Przejście stan reprezentuje stan lub sytuację w trakcie życia obiektu. W tym przypadku:
Wyłączone,Uruchomione,Zablokowane,Zautoryzowane,W trybie snu, itd., to stany.- Stany określają, kiedy określone zachowania są aktywne lub spełnione są warunki.
Przykład:
Uruchomioneoznacza, że telefon jest aktywny i używany.
3.2. Przejście
Przejście przejście to strzałka od jednego stanu do drugiego, wyzwalana przez zdarzenie i opcjonalnie zawierające:
- Warunek strażnika (dowolne)
- Akcja (dowolne)
Przykład:
Gotowy --> Rozpoczynanie działania : przycisk zasilania
- Zdarzenie:
przycisk zasilania- Brak warunku zabezpieczającego (zawsze dozwolone)
- Akcja: Brak
3.3. Początkowy stan pseudostanu ([*])
Znak [*] oznacza stan początkowy—punkt początkowy maszyny stanów.
[*] --> Wyłączoneoznacza, że system zaczyna działanie w stanieWyłączonestanu.
3.4. Stan końcowy
Chociaż nie jest to tutaj wyraźnie pokazane, stan końcowy ([X]) oznaczałby koniec cyklu życia systemu (np. po wyłączaniu). W praktyce Wyłączone działa jako stan końcowy.
3.5. Stany złożone (zagnieżdżenie hierarchiczne)
A stan złożony zawiera podstany i pozwala na zagnieżdżanie hierarchiczne. To jest kluczowe dla zarządzania złożonością.
Przykład:
stan Running {
[*] --> Locked
stan Locked {
[*] --> ScreenLocked
ScreenLocked --> Authenticated : poprawny PIN/hasło
}
stan Authenticated {
[*] --> HomeScreen
'...
}
}
Runningto stan złożony z dwoma podstanami:LockediAuthenticated.Lockedsam zawieraScreenLocked.- Ta struktura unika nadmiarowości i wspiera obszary ortogonalne (nie pokazane tutaj, ale stosowane w zaawansowanych przypadkach).
Zalety: Zmniejsza złożoność i poprawia czytelność.
3.6. Działania wejścia/wyjścia
Choć nie jest to w pełni widoczne na tym diagramie, działania wejścia i wyjścia mogą być zdefiniowane:
wejście / showBootAnimation()wyjście / stopBootAnimation()
Są one przydatne do działań na poziomie systemu podczas zmian stanu.
3.7. Przejścia wewnętrzne
Przejście wewnętrzne następuje w ramach tego samego stanu i nie zmienia stanu. Używane jest do działań bez przejścia.
Przykład:
EkranGłówny --> EkranGłówny : przesuń w górę → kamera
→ To faktycznie jest przejście, ale jeśli użytkownik przesuwa ekran, a ekran się aktualizuje bez zmiany stanu, będzie to przejście wewnętrzne.
3.8. Relacje między stanem nadstawowym a stanem podstawowym
Uruchomionyto stan nadstawowy stanuZablokowanyiZautoryzowany.Zablokowanyto stan nadstawowyEkranZablokowany.- To umożliwia hierarchię stanów, w której akcje wejścia/wyjścia rozprzestrzeniają się w dół hierarchii.
3.9. Stany współbieżne (rozszerzenie opcjonalne)
Chociaż nie jest używane w tym przykładzie, regiony ortogonalneumożliwia uruchamianie wielu niezależnych maszyn stanów równolegle.
Przykład:
- Jedna region:
Uruchomionystan- Inny region:
BateriaNiskalubSiećPodłączonaflagi
→ Umożliwia modelowanie zachowań równoległych.
3.10. Warunki i zdarzenia
- Warunek strażnika: Wyrażenie logiczne, które musi być prawdziwe, aby przejście mogło nastąpić.
- Zdarzenie: Sygnał lub wyzwalacz (np.
przycisk zasilania,dotyk,przekroczenie czasu).
Przykład:
Zablokowany --> Przytulony : przekroczenie czasu / przycisk zasilania
→ Oznacza to: gdy nastąpi przekroczenie czasu i zostanie naciśnięty przycisk zasilania, nastąpi przejście.
Uwaga:
/oznacza działania lub warunki.
4. Zasady tworzenia skutecznych diagramów maszyn stanów UML
✅ Najlepsze praktyki
| Wskazówka | Zastosowanie na tym diagramie |
|---|---|
| Używaj stanów złożonych do złożonego zachowania | Uruchomiony zawiera Zablokowany i Zautoryzowany → unika płaskich, rozległych diagramów. |
| Unikaj nadmiernie głębokiego zagnieżdżania | Maks. 2–3 poziomy hierarchii dla czytelności. |
| Używaj znaczących nazw stanów | EkranZablokowany, Zautoryzowany, Śpiący jasno opisują zachowanie. |
| Grupuj powiązane stany pod stanami nadrzędnymi | Zablokowany i Zautoryzowany pod Uruchomiony. |
| Używaj notatek dla jasności | Notatki wyjaśniają cel Uruchomiony i Zautoryzowany stany. |
| Priorytetyzuj przejścia na podstawie przepływu użytkownika | Włączanie → Rozruch → Działanie → Zablokowany → Zautoryzowany → Ekran główny |
Użyj [*] dla stanu początkowego |
Jasny punkt początkowy. |
| Unikaj cykli, chyba że są konieczne | Wszystkie przejścia są logicznie poprawne; brak nieskończonych pętli. |
❌ Typowe pułapki do unikania
- Zbyt wiele stanów: Może prowadzić do niemaintenowalnych schematów. Użyj stanów złożonych.
- Brak warunków (guardów) na wrażliwych przejściach: np.
Zautoryzowany --> Zablokowanypowinien mieć warunek typujeśli (przycisk blokady naciśnięty)aby zapobiec przypadkowym przejściom. - Niejasne nazwy zdarzeń: Użyj konkretnych wyzwalaczy, takich jak
przycisk zasilania (z wyłączony)zamiast tylkoprzycisk zasilania. - Ignorowanie akcji wejścia/wyjścia: Ważne dla aktualizacji interfejsu użytkownika lub czyszczenia zasobów.
5. Zastosowanie w świecie rzeczywistym i korzyści
5.1. Zastosowanie w rozwoju aplikacji mobilnych
- Pomaga programistom zrozumiećprzepływy przejścia użytkownika.
- Kieruje wdrożeniemzarządzanie stanemw Androidzie (np.
ViewModel,Lifecycle), iOS (UIState,SceneDelegate), lub React Native (useReducer,Redux Toolkit).
5.2. Modelowanie zabezpieczeń
- Jasno modelujeprzepływ uwierzytelnianiaimechanizmy blokady.
- Wyróżnia, jak telefon przechodzi z odblokowanego (
Zautoryzowany) do zablokowanego (Zablokowany) z powodu przekroczenia limitu czasu lub przycisku blokady.
5.3. Testowanie i weryfikacja
- Włącza testowanie oparte na stanach: testuje każdy możliwy przejście.
- Zapewnia krańcowe przypadki takie jak utrata zasilania podczas uruchamiania lub nieprawidłowy kod PIN są obsługiwane.
5.4. Dokumentacja i komunikacja
- Służy jako wspólny język między projektantami UX, programistami i zespołami QA.
- Zmniejsza niepewność w wymaganiach funkcjonalnych.
6. Wnioski
Diagram maszyny stanów UML dla cyklu życia telefonu inteligentnego pokazuje, jak modelowanie stanów hierarchicznych może uchwycić złożone zachowanie w czasie rzeczywistym w sposób strukturalny i czytelny. Wykorzystując stany złożone, przejścia, warunki i notatki, diagram skutecznie modeluje:
- Zarządzanie zasilaniem
- Uwierzytelnianie użytkownika
- Nawigacja w aplikacji
- Ograniczenia bezpieczeństwa
Ten przykład pokazuje, że Maszyny stanów UML nie są tylko konstrukcjami teoretycznymi, ale praktycznymi narzędziami do projektowania, dokumentowania i weryfikacji nowoczesnych systemów oprogramowania – szczególnie w dziedzinach mobilnych i wbudowanych.
7. Kluczowe wnioski
| Koncepcja | Ważność |
|---|---|
| Stany złożone | Kluczowe do zarządzania złożonością |
| Zagnieżdżenie hierarchiczne | Poprawia skalowalność i ponowne wykorzystanie |
| Przejścia z zdarzeniami/warunkami | Umożliwia precyzyjne kontrolowanie zachowania |
| Uwagi i dokumentacja | Ujednolica intencję i kontekst |
| Akcje wejścia/wyjścia | Krytyczne dla efektów ubocznych (np. animacje, powiadomienia) |
| Modelowanie systemów rzeczywistych | Dowodzona technika dla systemów wbudowanych i interfejsów użytkownika |
✅ Ostateczne zdanie: Diagramy maszyn stanów UML są niezastąpione do modelowania złożonych systemów sterowanych zdarzeniami, takich jak telefony komórkowe.
📌 Zalecenie: Używaj PlantUML lub innych narzędzi UML do generowania i utrzymywania diagramów stanów w dokumentacji projektu systemu, szczególnie w zespołach pracujących nad systemami mobilnymi, IoT lub wbudowanymi.
Apendix: Pełny diagram UML (podsumowanie)
@startuml
skinparam backgroundColor #f8f8f8
skinparam state {
BackgroundColor<<active>> LightGreen
BorderColor<<active>> DarkGreen
FontColor<<active>> Black
}
[*] --> PowerOff
state PowerOff {
[*] --> Standby
Standby --> Booting : przycisk zasilania
Booting --> Running : uruchomienie zakończone
}
state Running {
[*] --> Locked
state Locked {
[*] --> ScreenLocked
ScreenLocked --> Authenticated : poprawny PIN/hasło
}
state Authenticated {
[*] --> HomeScreen
HomeScreen --> CameraApp : przesunięcie w górę → kamera
HomeScreen --> Settings : ikona ustawień
HomeScreen --> Messages : ikona wiadomości
CameraApp --> HomeScreen : powrót
Settings --> HomeScreen : powrót
Messages --> HomeScreen : powrót
}
Locked --> Sleeping : timeout / przycisk zasilania
Sleeping --> Locked : przycisk zasilania / dotyk
Authenticated --> Locked : przycisk blokady / timeout
}
Running --> PowerOff : długie naciśnięcie przycisku zasilania → wyłączanie
PowerOff --> Running : przycisk zasilania (z wyłączonym stanem)
note right of Running
Stan złożony z
dwoma poziomami zagnieżdżenia
end note
note bottom of Authenticated
Ten obszar reprezentuje
stan telefonu "odblokowanego"
end note
@enduml ✅ Wizualna i tekstowa przejrzystość = Skuteczny projekt systemu.
8. Integracja z generatorem diagramów maszyn stanów z AI Visual Paradigm
Choć diagramy maszyn stanów UML są potężne, ich tworzenie ręcznie – zwłaszcza dla złożonych systemów takich jak telefon komórkowy – może być czasochłonne, podatne na błędy i wymagać głębokiego zrozumienia semantyki UML. To właśnie tutaj Generator diagramów maszyn stanów z AI Visual Paradigm staje się przewrotnym rozwiązaniem.
8.1 Co to jest generator maszyn stanów z AI Visual Paradigm?
Visual Paradigm to wiodące narzędzie do modelowania UML i projektowania oprogramowania, które integruje automatyzację zasilaną sztuczną inteligencją do generowania diagramów UML na podstawie opisów w języku naturalnym. The Generator diagramów maszyn stanów z AI specjalnie umożliwia użytkownikom:
- Wprowadź opis w prostym języku angielskim zachowania systemu.
- Automatycznie generuj pełnie zorganizowany, poprawny diagram maszyny stanów UML.
- Eksportuj diagram do wielu formatów (PNG, SVG, PDF itp.) lub zintegruj go z dokumentacją.
✅ Idealne dla: projektantów UX, menedżerów produktów, programistów i pisarzy technicznych, którzy chcą wizualizować złożone zachowanie systemu bez głębokiej wiedzy z zakresu UML.
8.2 Jak automatyzuje proces diagramu maszyny stanów telefonu komórkowego
Przejdźmy przez to, jak AI Visual Paradigm może automatyzować tworzenie diagramu maszyny stanów telefonu komórkowego przedstawionego wcześniej.
✅ Krok 1: Wprowadź opis w języku naturalnym
Użytkownik podaje szczegółowy opis, np.:
„Telefon komórkowy zaczyna działanie w stanie PowerOff. Gdy naciśnięto przycisk zasilania, przechodzi do stanu Standby, a następnie uruchamia się w stanie Running. Podczas działania w stanie Running telefon może zostać zablokowany za pomocą wygaśnięcia lub przycisku zasilania. Jeśli użytkownik wprowadzi poprawny kod PIN, przechodzi do stanu Authenticated, w którym może uzyskać dostęp do HomeScreen, Kamery, Ustawień lub Wiadomości. Po wygaśnięciu przechodzi do stanu Sleep, a może wrócić do stanu Locked po dotknięciu ekranu lub naciśnięciu przycisku zasilania. Telefon może zostać wyłączony przez długie naciśnięcie przycisku zasilania.”
✅ Krok 2: AI przetwarza tekst
AI:
- Identyfikuje stany (np.
PowerOff,Running,Zablokowany,Zautoryzowany,W trybie snu) - Wykrywa przejścia i ich uruchamiania (np.
przycisk zasilania,przekroczenie limitu czasu,poprawny kod PIN) - Rozpoznaje strukturę hierarchiczną (np.
UruchomionyzawieraZablokowanyiZautoryzowany) - Identyfikuje stan początkowy, stanowe końcowe, i złożone regiony
- Ma zastosowanie semantyka UML poprawnie (np.
[*]dla pseudostanów początkowych,wyjście/wejściedziałania, jeśli są implikowane)
✅ Krok 3: AI generuje diagram UML
W ciągu kilku sekund Visual Paradigm generuje pełnie zgodny, sformatowany i interaktywny diagram maszyny stanów UML—identyczny pod względem struktury i logiki do tego w oryginalnym przykładzie.
🎯 Wynik zawiera:
- Poprawne użycie
[*]dla stanu początkowego- Stanów złożonych z zagnieżdżonymi podstanami
- Poprawne etykiety przejść z zdarzeniami i działaniami
- Automatyczne układanie dla czytelności
- Opcjonalnie: kody kolorystyczne dla aktywnych stanów (np. zielony tło dla
Uruchomiony)
✅ Krok 4: Doskonalenie i eksport
Użytkownicy mogą:
- Edytuj diagram z wygenerowanym przez AI (dodaj notatki, dostosuj układ, dodaj ikony)
- Generuj szkielety kodu (Java, Python, C++) z maszyny stanów
- Zintegruj z dokumentacją (np. Confluence, Notion, raporty PDF)
- Eksportuj jako obraz lub osadź w prezentacjach
8.3 Korzyści z wykorzystania automatyzacji AI
| Zalety | Jak AI Visual Paradigm dostarcza |
|---|---|
| Szybkość | Z godzin ręcznego projektowania → minuty generowania przez AI |
| Dokładność | AI zapewnia zgodność z normami UML 2.5+; zmniejsza błędy składniowe i logiczne |
| Spójność | Zapewnia jednolite nazewnictwo, strukturę i styl na diagramach |
| Dostępność | Osoby nieznające UML mogą generować profesjonalne diagramy |
| Skalowalność | Łatwo rozwijalne do bardziej złożonych systemów (np. telefony wieloużytkowe, odblokowanie biometryczne) |
| Integracja | Działa w pełnym zestawie Visual Paradigm: przypadki użycia, sekwencje, komponenty itp. |
8.4 Przykład z życia: zespoły agilne i rozwój produktu
Wyobraź sobie zespoł aplikacji mobilnych projektujący nową bezpieczną aplikację do komunikacji:
- Product Owner pisze:
„Kiedy użytkownik otwiera aplikację, sprawdza, czy jest zalogowany. Jeśli nie, wyświetla ekran logowania. Po pomyślnym zalogowaniu przechodzi do stanu „Zautoryzowany”. Po 30 sekundach bezczynności automatycznie się blokuje. Dotyk lub przycisk zasilania ponownie go aktywuje.”
- AI generujediagram stanu maszyny w ciągu kilkudziesięciu sekund, który jest:
- Przejrzany przez projektantów UX
- Zatwierdzony przez programistów
- Używany do generowania kodu zarządzania stanem (np. przy użyciu
XStatelubRedux Toolkit) - Dodany do specyfikacji produktu
🚀 Wynik: szybsza iteracja, mniej nieporozumień, lepsza współpraca.
8.5 Porównanie: projektowanie ręczne vs. wspomagane przez AI
| Aspekt | Projektowanie ręczne | Wspomagane przez AI (Visual Paradigm) |
|---|---|---|
| Czas generowania | 1–3 godziny | 1–5 minut |
| Dokładność | Podatne na błędy | Wysoka (zgodna z UML) |
| Krzywa nauki | Wysoka (wymagane znane UML) | Niska (wejście w języku naturalnym) |
| Możliwość ponownego wykorzystania | Niska (trudno modyfikować) | Wysoka (edycyjna, eksportowalna) |
| Współpraca | Trudne dla zespołów nieinformatycznych | Uwzględniające i intuicyjne |
8.6 Przyszłościowe zabezpieczenie z wykorzystaniem AI + UML
W miarę jak rozwija się sztuczna inteligencja:
- AI Visual Paradigm możeautomatycznie generować maszyny stanów na podstawie historii użytkownika lub przepływów użytkownika
- Może towykrywać niezgodnościnp. brakujące przejścia, nieosiągalne stany)
- Może tosugeryować ulepszenianp. „Zastanów się nad dodaniem stanu „Niska bateria” dla krytycznych ostrzeżeń”)
🔮 Wizja: AI nie generuje tylko schematów — rozumie zachowanie, wprowadza najlepsze praktyki i przyspiesza transformację cyfrowąrozumie zachowanie, wprowadza najlepsze praktyki i przyspiesza transformację cyfrową.
9. Wnioski: AI to przyszłość modelowania UML
ZaangażowanieGenerator diagramów maszyn stanów AI Visual Paradigmprzekształca UML z statycznego języka modelowania tylko dla ekspertów w dynamiczne, dostępne i inteligentne narzędzie projektowedynamiczne, dostępne i inteligentne narzędzie projektowe.
Poprzez automatyzację tworzenia złożonych maszyn stanów, takich jak cykl życia telefonu komórkowego:
- Zespoły skracają czas projektowania
- Poprawiają dokładność i spójność
- Umożliwiają współpracę między funkcjami
- Przyspieszają cykle rozwoju i testowania
✅ Podsumowanie:
AI nie zastępuje UML — wzbogaca ją.
Dzięki Visual Paradigm nawet osoby nieeksperty mogą tworzyć profesjonalne diagramy maszyn stanów UML, które precyzyjnie i szybko odzwierciedlają zachowanie w świecie rzeczywistym.
10. Ostateczna rekomendacja
🛠️ Użyj generatora maszyn stanów z AI firmy Visual Paradigm kiedy:
- Projektowanie systemów mobilnych, wbudowanych lub IoT
- Współpraca między zespołami UX, deweloperów i QA
- Konieczność szybkiego generowania diagramów z opisów użytkowników lub specyfikacji produktu
- Chcesz zachować standardy UML, jednocześnie zmniejszając wysiłek ręczny
📌 Wypróbuj to dziś:
Odwiedź https://www.visual-paradigm.com → Otwórz „Generator diagramów z AI” → Wklej swój opis → Generuj.
🎯 Dodatkowy poradnik: Połącz diagramy generowane przez AI z generacją kodu automatyczną aby tworzyć maszyny stanów bezpośrednio z UML — łącząc projektowanie i implementację bezproblemowo.
Podsumowanie: Siła AI + UML
| Funkcja | Wpływ |
|---|---|
| Wejście w języku naturalnym | Demokratyzuje projektowanie UML |
| Automatycznie generowane maszyny stanów | Przyspiesza rozwój |
| Zgodność z UML | Gwarantuje poprawność i profesjonalizm |
| Integracja z narzędziami deweloperskimi | Zezwala na pełny przepływ pracy od modelowania do kodu |
| Skalowalne dla złożonych systemów | Idealne do telefonów inteligentnych, zegarek inteligentnych i robotyki |
✅ UML + AI = przyszłość projektowania systemów.
✅ Teraz możesz projektować, weryfikować i wdrażać złożone maszyny stanów szybciej niż kiedykolwiek wcześniej.
- Kompleksowy przewodnik po diagramach sekwencji w projektowaniu oprogramowania: Ta szczegółowa sekcja podręcznika wyjaśnia cel, strukturę i najlepsze praktyki dotyczące używania diagramów sekwencji do modelowania zachowań dynamicznych systemów.
- Co to jest diagram sekwencji? – Przewodnik UML: Wprowadzenie dla początkujących, które wyjaśnia rolę diagramów sekwencji w wizualizacji interakcji obiektów w czasie.
- Animowanie diagramów sekwencji w Visual Paradigm – poradnik: Ten poradnik zawiera instrukcje dotyczące tworzenia dynamicznych, animowanych diagramów sekwencji w celu skuteczniejszej wizualizacji przepływów oprogramowania i interakcji systemu.
- Visual Paradigm – diagramy sekwencji UML z wykorzystaniem AI: Ten artykuł pokazuje, jak silnik AI platformy pozwala użytkownikom natychmiast generować profesjonalne diagramy sekwencji UML wewnątrz środowiska modelowania.
- Doskonalenie diagramów sekwencji z wykorzystaniem AI w Visual Paradigm: Ten zasób bada, jak narzędzia AI mogą przekształcać opisy przypadków użycia w dokładne diagramy sekwencji przy minimalnym wysiłku ręcznym.
- Opanowanie diagramów sekwencji z Visual Paradigm: poradnik z czatbotem AI: Poradnik przyjazny dla początkujących, który wykorzystuje rzeczywisty scenariusz czatbotu e-commerce do nauczania rysowania diagramów rozmów.
- Kompleksowy poradnik: korzystanie z narzędzia doskonalenia diagramów sekwencji z AI: Krok po kroku przewodnik dotyczący wykorzystania specjalistycznych funkcji AI w celu poprawy dokładności, czytelności i spójności modeli sekwencji.
- Jak modelować MVC za pomocą diagramu sekwencji UML: Ten przewodnik uczy użytkowników wizualizacji interakcji między komponentami Model, View i Controller w celu poprawy przejrzystości architektury systemu.
- Visual Paradigm: osobne diagramy sekwencji dla głównych i wyjątkowych przebiegów: Ten wpis techniczny wyjaśnia, jak modelować zarówno główne, jak i alternatywne/wyjątkowe przebiegi, używając osobnych diagramów w celu zachowania czytelności modelu.
- Generator diagramów sekwencji PlantUML | Narzędzie do tworzenia wizualnego: Przegląd narzędzia wizualnego generującego, które pozwala użytkownikom definiować uczestników i wiadomości za pomocą krok po kroku kreatora do tworzenia diagramów sekwencji opartych na PlantUML.











