ドメイン駆動設計
ドメイン駆動設計に関する良い資料があったのでメモ。
InfoQにログインすれば、概要をダウンロードできる。
【元ネタ】
InfoQ: Domain Driven Design(ドメイン駆動設計) Quickly 日本語版
上記は「Domain-Driven Design: Tackling Complexity in the Heart of Software」に関する概要資料。
「はじめに: なぜドメイン駆動設計なのか」の節でなるほど、と思った。
マーチン・ファウラー の「エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)」によれば、オブジェクト指向による実装は本来、テーブルモジュールでもなく、トランザクションスクリプトでもなく、ドメインモデルにある。
つまり、OOAの本領は、ドメイン分析にある。
しかし、2000年代前半は、オブジェクト指向分析の花盛りだったが、実際の開発ではそれほどOOAを使わなかった。
何故なら、EJB、SOAなどのバズワードに侵されて、本来のオブジェクトを分析する風潮ではなかったから。
そして、今もオブジェクト指向分析は普及したとはいえ、日本ではそれほど認知されていないように思う。
RUPは確かに優れているのかもしれないが、日本では反復型開発というよりもウォーターフォール型開発の一つみたいだ。
あまりにもドキュメントが多すぎて、大型タンカーを操縦しているような雰囲気。
OOAに関する書籍は良い本がいくつかある。
「アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)」をもう一度読み返してみて、図はUMLでないので分かりにくいけれど、モデリングの試行錯誤が分かりやすかった。
でも、OOAは要件定義以後の詳細設計や開発ではとてもスムーズだが、要件定義や業務分析ではあまり威力を発揮しないように経験上感じる。
UMLは詳細設計における分析ではピカイチだが、要件定義やビジネスモデルを描くプロセスでは、使いにくいし、本来のイメージを描ききれない。
OOAはAgile開発と密接に関係するし、アジャイラーは優れたモデラーもあった。
だが、要件定義や業務分析は、日本独自のDOAの方がいいのではないか、と思ったりもしている。
そんなことを思っていて、最近、OOAに懐疑的になっている。
要件定義や業務分析のプロセスでは、UMLやOOAが役立たない。
そして、アジャイル開発もうまく機能していない。
色々試行錯誤している。
| 固定リンク
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
コメント