Categories: PlantUML技術

PlantUMLでロバストネス図を簡単に作成!

システム設計をスムーズに進めるために、ロバストネス図は欠かせないツールです。でも、専用のツールを覚えるのは大変…そう思っていませんか? PlantUMLを使えば、テキストを書くだけで簡単にロバストネス図が作れるんです!この記事では、PlantUMLを使ったロバストネス図の作成方法を、要素ごとに丁寧に解説します。

PlantUMLとは?

PlantUMLは、シンプルなテキスト記述でUMLダイアグラムやフローチャートを作成できるツールです。 専用の構文を覚える必要はありますが、一度慣れてしまえば、GUIツールよりも素早く、そして美しくフローチャートを描けるようになります。 バージョン管理システムとの相性も抜群で、テキストベースなので変更履歴の追跡も簡単です。

UML・PlantUMLや、VSCode環境への導入方法等は以下にまとめていますので、こちらを参照ください。

ロバストネス図とは?

ロバストネス図は、システムの要求分析を行う際に用いられる図です。ユースケースを実現するために必要な要素(アクター、バウンダリ、コントロール、エンティティ)と、それらの間の関係性を視覚的に表現します。システムの構造や振る舞いを理解し、設計の漏れや不整合を防ぐのに役立ちます。

アクター (Actor)

システムと対話する外部エンティティ(ユーザーや他のシステム)を表します。 PlantUMLでは actor キーワードを使って記述します。

@startuml
left to right direction
actor ユーザー
@enduml

バウンダリ (Boundary)

システムとアクターの境界、つまりシステムのインターフェースを表します。WebページやAPIなどが該当します。PlantUMLでは boundary キーワードを使います。

@startuml
left to right direction
boundary "ログイン画面"
@enduml

コントロール (Control)

システムの振る舞い、つまりビジネスロジックを表します。PlantUMLでは control キーワードを使います。

@startuml
control "ログイン処理"
@enduml

エンティティ (Entity)

システムが扱うデータや情報を表します。データベースのテーブルなどが該当します。PlantUMLでは entity キーワードを使います。

@startuml
entity "ユーザー情報"
@enduml

ユースケース (Use Case) – ロバストネス図では補助的に使用

システムが提供する機能を表します。ロバストネス図では、ユースケース自体を詳細に分析するのではなく、どのユースケースを実現するために要素が連携するのかを示すために補助的に使用することがあります。PlantUMLでは usecase キーワードを使います。

@startuml
usecase "ログインする"
@enduml

要素間の関係

各要素は矢印で繋ぎ、関係性を表現します。矢印の横に: 処理内容を記述することで、より詳細な情報を加えることができます。

  • -> : アクターからの操作や、要素間の処理の依頼
  • –> : 処理結果の返却や情報の受け渡し
@startuml
left to right direction

actor ユーザー

boundary "ログイン画面"

control "ログイン処理"
entity "ユーザー情報"

ユーザー -> "ログイン画面" : ログイン情報を入力
"ログイン画面" -> "ログイン処理" : ログイン実行
"ログイン処理" -> "ユーザー情報" : ユーザー認証
"ログイン処理" --> "ログイン画面" : ログイン結果

note as ユースケース
  ログインする
end note

@enduml

まとめ

PlantUMLを使えば、シンプルなテキストでロバストネス図を簡単に作成できます。各要素と関係性を理解し、システム設計に役立てましょう。より複雑な図を作成したい場合は、PlantUMLの公式ドキュメントを参照してみてください。

この記事が、あなたの役に立てば幸いです!

シーケンス図の書き方について知りたい方は、こちら

フローチャート図の書き方について知りたい方は、こちら

ユースケース図の書き方について知りたい方は、こちら

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村