初めに
私がこの本を読んだ理由としては業務でリバースで要件定義、設計書の資料作りを行う必要があり、それらの資料作りでUMLを使用しているのですが、ネットで都度調べて書いていたため、改めて本で体系的に確認しておこうと思ったからです。
1章.UMLの基礎知識
2章.オブジェクト指向
3章.UMLの全体像
4章.UMLにおける構造図の基本文法
5章.UMLにおける振る舞い図の基本文法
6章.UMLにおける相互作用図の基本文法
7章.開発の標準化
8章.要件定義におけるUMLの作成
9章.設計におけるUMLの作成
10章.製造/試験におけるUMLの活用
1章.UMLの基礎知識
この章ではUMLとはということや歴史、バージョンなどが記載されています。
その中で自分が気になったことを書いていきます。
策定団体であるOMG
UMLも以前仕事で学んだsysmlもOMGが定めていたなと思い、少し調べました。OMGとは、Object Management Groupの略で、非営利の団体で、アメリカを基に発足し、日本にも支部がある団体だそうです。スタートは1989年と約20年前だそうです。
2章.オブジェクト指向
UMLと密接に関係のあるオブジェクト指向について記載されています。
オブジェクト指向を正確に利用したプロジェクトに参加したことないのでここで簡単にオブジェクト指向の基本的なクラスの概念について整理しました。
3章.UMLの全体像
この章ではUMLの種類と共通する記述方法についてに記載されております。
ステレオタイプ、制約、タグ付き
記載内容の中でも個人的には、ステレオタイプ、制約、タグ付き値をあまり意識して使ったことがありませんでした。
ステレオタイプとは<<entity>>のような、<<○○>>と表現される項目で、○○の文字によって要素に厳密な定義を追加するものです。
制約、タグ付きは、クラスの属性だととすると”商品ID=整数{>1000}”やクラス名だとすると”振り込み機能{version =1.01}”のような{○○}で表されるものです。
描画ツール
UMLの描画ツールがいくつか紹介されていました。私自身はdesktop.drawioとvscode.drawioとパワポくらいでしか作業をしたことありませんでしたが、他にもXなどで描画ツールどんなの皆使っているんだろうと調べたら、割と上記に加え、オンラインで同時に絵を描けるMiroやマークダウン形式で記述ができるMermaidがなどが流行っていそう?です。

特にマークダウン形式で記述する方法はよく耳にする印象ですが、手を出したことがないので、少し触ってみました。ここでは”Markdown Preview Enhanced”という拡張機能を利用して記述しました。確かにこれは微調整とかいらないし、慣れたら早いのかもと思いました。(直感的に考えながら絵を描くことには向いていないのかもしれないですが..)
参考:https://notepm.jp/help/mermaid
https://qiita.com/tbpgr/items/989c6badefff69377da7
4章.UMLにおける構造図の基本文法
この章ではUMLの中でも構成図について記載されている章でした。
クラス図
クラス図の中でもあまり知らなかった記述方法としてアクセス修飾子があります。
属性やふるまいの左に着ける文字で、属性やふるまいがどの範囲から利用できるかを表現します。
+:どこからでも利用可能
-:自クラスからのみ利用可能
#:自クラスとサブクラスからのみ利用可能
ー:同一パッケージからのみ利用可能
なんとなく覚えづらいなぁと思い、chatgptに聞いたら下記のように覚えたらといわれました。
また、クラス図でよく使われる要素図形としては下記3つがあるそうです。
<<boudary>>:アクタが利用するIFとなるようなもので、操作画面や窓口など境界となるもの
<<entity>>:エンティティはDBや商品など、ある程度期間をもって保持するもの
<<coutrol>>:コントロールは業務や管理など操作のようなものを行うもの
クラス図、オブジェクト図、合成構成図、パッケージ図、配置図の関連性
上記の図について表す範囲の関係性が記載されていたので、整理。
まず、オブジェクトが存在。それを一定の分類をすることがクラスにまとめるということ。
クラス図+オブジェクト図というのが合成構成図。クラス図にさらに分類をして表すのがパッケージ図。さらにハードウェアやソフト配置などより広範囲をひょうげんするものが配置図とのことです。
5章.UMLにおける振る舞い図の基本文法
この章ではUMLの内ふるまい図についての記載がありましたが、個人的にメモを取っておきたい内容がなかったのでスキップします。
6章.UMLにおける相互作用図の基本文法
UMLの相互作用について記載されている章です。
コミュニケーション図、シーケンス図
自分の理解ではコミュニケーション図もシーケンス図もどちらもオブジェクト間のやり取りを記述していそうの理解でしたが、より詳細に記載がありました。
コミュニケーション図とは、オブジェクトがどのようにメッセージを送り合う関係を表す図。シーケンス図と違い、送り合う順番やタイミングなど、時間の概念の優先度が低くされずよりどういう情報をやりとりしているかを記述するようなもの。同期、非同期や応答、実行順などは記載されるが、メインはメッセージ間のやり取りの表現に重きを置きたい図という感じ?
シーケンス図も、オブジェクトがどのようにメッセージを送り合うかは記述は行うが、どちらかというと実行順序に重きが置かれる。
同期、非同期、応答の記述方法
同期は頭が黒三角の矢印、非同期は頭がただの矢印になっている矢印、応答は点線の矢印
7章.開発の標準化
この章ではV字プロセスのような開発工程の流れやその工程について記載されています。
UML/オブジェクト指向を利用した設計
UMLやオブジェクト指向に基づく設計工程では、「アーキテクチャ設計 ⇒ クラス設計 ⇒ 相互作用設計」という順で進めることを知りませんでした。また、基本設計がアーキテクチャ設計と対応していることも理解していませんでした。
8章.要件定義におけるUMLの作成
この章では要件定義工程でのUMLの使用例が記載されていましたが、個人的にメモを取っておきたい内容がなかったのでスキップします。
9章.設計におけるUMLの作成
この章では設計工程でのUMLの使用例が記載されていましたが、個人的にメモを取っておきたい内容がなかったのでスキップします。
10章.製造/試験におけるUMLの活用
この章では製造/試験を行う上でのUMLの使用例が記載されていましたが、個人的にメモを取っておきたい内容がなかったのでスキップします。
コメント