mongolyyのブログ

開発(Javascript, Typescript, React, Next.js)や開発手法(スクラム, アジャイル)、勉強したことについて色々書ければと。

「UMLモデリングのエッセンス 第3版」を読んだ

はじめに

Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ)エリック・エヴァンスのドメイン駆動設計を読んでいて、UMLが当たり前のように出てくるので、この機会にちゃんと学んでおこうと思い、下の本を読んでみました。

自分は最初の全体の話とクラス図、シーケンス図の章を読みました。
クラス図とシーケンス図を読んだのは他の書籍でもよく出てくるからです。
簡単に感想を書いておこうと思います。

感想

本書を読んで、正確性、網羅性よりも手早く、(UMLの規約的に正しくなくてもいいので)意図が伝わり、UMLを通じてドメインのコミュニケーションをすることが重要だと理解しました。
この点について、DDD本と似たことが書かれていることから、昔から思想はあまり変わっていない(もしくはUMLが自分が思った以上に最近のツールである)と感じ、驚きました。

また、以下のような詳細な気づきも得ました。


UMLと一言で言っても3種類のモードがあるということがわかりました。今後人と話すときは使い分けていきたいです。

また、2つの観点が存在するとも書いてありました。

個人的には概念的観点というのは初めて知りました。
最近読んだDDD本で、「UMLドメインエキスパートと共有しながらドメインの会話をする」の旨の記述があって、「無理じゃね?」と思っていたのですが、本書により「概念的観点でのUMLを共有するということだったのかな?」ということで納得できました。

終わりに

UMLの記載方法はなんとなくわかっている人が、より理解を深めるための本でした。
マーチン・ファウラーさんの主観で、モデリングをする意味、ドキュメントを作る意味などが書かれており、大変勉強になりました。
また、UML自体はアジャイル開発と相性の良いツールとして作られたんだなーと理解し、今後私のチームでも積極的に使っていきたいなーと思いました。