日々のつれづれ

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

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

簡単な業務フロー図

新入社員が仕事を覚えてようやく慣れてきたこの季節、こんな流れがあったとして、これに手を加えてみる。

@startuml
title:業務フロー
participant 作成者 as A
participant 先輩 as B
participant 上司 as C
participant 関係部署 as D
participant 事務 as E
A -> B:草案を提出
B -> A:内容を確認して返却
A -> B:修正して提出
A -> C:承認を申請
C -> A:承認して返却
A -> E:承認済原本を提出
E -> E:保管
E -> D:複写を配布
@enduml

f:id:myopomme:20190630124804p:plain

修正がない場合あるよね

いつも先輩からダメだしされることないし、修正ありきの業務ってなえるし。
この場合は、opt 構文を使う。

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

f:id:myopomme:20190630221219p:plain

新入社員が育ったら、先輩チェックいらないよね

いつまでも新入社員じゃない。いい加減、認めてくれよ。
先輩だって、いつも直すのシンドイ。もう大丈夫だよね。

ってことで、お互いの合意の下、ちぇっくをスルーしてそのまま承認に持っていく。
この場合は、alt/else 構文を使う。

@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:承認済原本を提出
E -> E:保管
E -> D:複写を配布
@enduml

f:id:myopomme:20190630231946p:plain

事務処理は同時にするよね

書類に追われることが多いから、保管と配布なんて一気に終わらせたい。並列処理です。
この場合は、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

こんな感じで。