背景
システムの要件定義でユースケース図を作成する必要があり、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 件のコメント:
コメントを投稿