背景
システムの要件定義でユースケース図を作成する必要があり、Gitで差分管理が可能なユースケース図作成ツールを調査した。
記事の目的
PlantUMLでユースケース図を作成する
ユースケース図
ユースケース図について記載する。
ユースケース図とは
ユースケース図は、ユーザ(外部システムも含む)の要求に対するシステムの振る舞いを記述したものである。ユースケース図の描き方
- 利用者(Actor)
@startuml
actor :Actor:
@enduml
システムの利用者を表す。
@startuml
usecase Usecase
@enduml
システムの利用シーン(ユースケース)を表す。
@startuml
rectangle Subject {
usecase Usecase1
usecase Usecase2
}
@enduml
システムの境界線を表す。
@startuml
rectangle Subject {
package Package1 {
usecase Usecase1
usecase Usecase2
}
package Package2 {
usecase Usecase3
usecase Usecase4
}
}
@enduml
サブジェクト内で複数のユースケースをまとめて表現する。
@startuml
actor :Member:
actor :Customer:
actor :Employee:
rectangle "Shopping system" {
package "Customer registration" {
usecase "ID registration" as id
usecase "Name registration" as name
usecase "Shopping list registration" as asmt
usecase "Password registration" as pw
/'Include: <., .>, <.., or ..>'/
id <.. name : <<include>>
/'Extend: <., .>, <.., or ..>'/
id ..> asmt : <<extend>>
}
package "Customer search" {
usecase "Search customer by name" as se
usecase "Show list of all customer " as sh
}
}
/'Generalization: <|-, -|>, <|--, or --|>'/
Member --|> Employee
/'Relationship: --, or -'/
Customer -- id
Customer -- pw
se -- Employee
sh -- Employee
@enduml
- 関連(Relationship) アクターとユースケースをつなげるときに使用する。
- 汎化(Generalization) オブジェクト間で「汎化関係」が成り立つときに使用する。汎化関係とは、「担当社員」と「XX社社員」のように要素と要素の所属の関係である。
- 包含(Include) オブジェクト間で「包含関係」が成り立つときに使用する。包含関係とは、「個人情報登録」と「住所登録」のように全体と構成要素の関係である。
- 拡張(Extend) 拡張するユースケース(機能)を表現する際に使用する。包含の逆である。
作成時の注意点
ユースケース図作成時の注意点について記載する。- 網羅的に書く 利用者やユースケースは省略せずにすべて書く。
- 利用者視点で書く ユースケース図は、開発者ではなく、システム利用者視点で書く。
- シンプルに書く 分岐条件やシステム内部のロジックなどは書かない。
- 機能分割しない ユースケースを詳細な機能に分割しない。
- ユースケースの粒度を統一する ユースケースの粒度(抽象度)を均一にする。
- 表現を統一する 同じ意味の内容は、同じ表現で記載する。
- ユースケース記述も一緒に作成する ユースケース名、概要、利用者、事前条件、トリガー、処理フローについての資料も別途作成しておく。
まとめ
- PlantUMLでユースケース図を作成する方法を調査、記載した
参考文献
変更履歴
- 2020/05/06: 新規作成
0 件のコメント:
コメントを投稿