日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

UMLを練習する、シーケンス図-3

簡単な業務フロー図

こんな流れがあったとして、これに手を加えてみる。
のつづき

ここまで作った

修正があるときのopt
作成者の成長にあわせてalt/else
事務処理を同時にするpar

@startuml
title:業務フロー
participant 作成者 as A
participant 先輩 as B
participant 上司 as C
participant 関係部署 as D
participant 事務 as E
alt 新人の場合
A -> B:草案を提出
B -> A:内容を確認して返却
break 指摘あり
A -> B:修正して提出
end
else 経験者の場合
A -> C:最終原案を提出
C -> A:内容を確認して返却
end
A -> C:承認を申請
C -> A:承認して返却
A -> E:承認済原本を提出
par
E -> E:保管
else
E -> D:複写を配布
end
@enduml

f:id:myopomme:20190630232041p:plain

依頼があったときに対応するよね

仕事って、ずっとかかわることはなく、連絡があったら動く、ってことが多い。
四六時中だとシンドイからね。
この場合は、activate/deactivate 構文になる。

@startuml
title:業務フロー
participant 作成者 as A
participant 先輩 as B
participant 上司 as C
participant 関係部署 as D
participant 事務 as E
activate A
alt 新人の場合
A -> B:草案を提出
activate B
B -> A:内容を確認して返却
opt 指摘あり
A -> B:修正して提出
end
deactivate B
else 経験者の場合
A -> C:最終原案を提出
activate C
C -> A:内容を確認して返却
deactivate C
end
A -> C:承認を申請
activate C
C -> A:承認して返却
deactivate C
A -> E:承認済原本を提出
deactivate A
activate E
par
E -> E:保管
else
E -> D:複写を配布
end
deactivate E
@enduml

f:id:myopomme:20190630232309p:plain

部署割りとか、入れる?

複数の登場人物がいて、複数の部署があると、部内処理か、部署間処理かわかるようにすると、わかりやすいときがある。
この場合は、box/end box構文になる。

@startuml
title:業務フロー
box 部署A
participant 作成者 as A
participant 先輩 as B
participant 上司 as C
end box
box 部署B
participant 関係部署 as D
end box
box 事務部
participant 事務 as E
end box
activate A
alt 新人の場合
A -> B:草案を提出
activate B
B -> A:内容を確認して返却
opt 指摘あり
A -> B:修正して提出
end
deactivate B
else 経験者の場合
A -> C:最終原案を提出
activate C
C -> A:内容を確認して返却
deactivate C
end
A -> C:承認を申請
activate C
C -> A:承認して返却
deactivate C
A -> E:承認済原本を提出
deactivate A
activate E
par
E -> E:保管
else
E -> D:複写を配布
end
deactivate E
@enduml

f:id:myopomme:20190630232339p:plain

とか。