1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

一年を振り返るAdvent Calendar 2024

Day 5

複合フラグメント整理

Last updated at Posted at 2024-12-04

一年を振り返る Advent Calendar 2024の5日目です。もう完全に量と質を求める気はなくなったので、この一年をメモというか感想というか書きなぐってみようと思います。

シーケンス図を使った設計をするようになった

今までのエンジニア人生で実際にシーケンス図を描くことがなかったのですが、今回のプロジェクトではPlantUMLを使ってシーケンス図を描くことになりました。

VSCodeでもプラグインあってこんな感じで描画もできるのでとても使いやすいです。

Animation.gif

とりあえず複合フラグメントってどんな種類があるのかいまいちわかってないのでメモに残す。

複合フラグメントってなんぞや

シーケンス図の複合フラグメントとは、並列処理・ループ処理・条件分岐などの具体的な処理内容を示す記号ルールのことです。

良く書いてるaltとかloopとか、あれなんて言うんやろと思ってたら複合フラグメントというらしい、というのを学んだ(シーケンス図なんか書いてこなかったから全然知らんかった)。

どんな種類があるのか

以下サイト引用。

複合フラグメント一覧

InteractionOperator   意味
ref 別のシーケンス図を参照することを表します。
alt 分岐処理を表します。
opt 条件を満たした場合のみ実行される処理を表します。
par 並列処理を表します。
loop ループ(繰り返し)処理を表します。
break 処理の中断を表します。
critical マルチスレッド環境での同期処理など、排他制御を表します。
assert 処理が妥当であるための定義を表します。
neg 本来、実行されるはずがない処理(メッセージ)であることを表します。
ignore あまり重要な処理(メッセージ)ではないことを表します。
consider 重要な処理(メッセージ)であることを表します。

altとoptがいまいちわかってなかったですが、
「alt」-条件分岐、if-elseのイメージ
「opt」-条件一致、
ということを理解しました。

基本的にref,alt,opt,loopぐらいしか見ないので他のやつ知らなかったです。

まとめ

これまで詳細設計って文字で処理を書きなぐる系の設計書しか書いてこなかったですが、シーケンス図で処理を表現するのってやっぱ見やすいなと思いました。
とはいえ、シーケンス図でオブジェクト指向の設計を表現しきるのって限界あるよねってのも感じました。
この辺の知見も頑張って抑えていきたいと思います。(とはいえアプリ開発じゃなくてインフラがやりたい。)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?