「モデリング」という言葉が最近グッと身近に感じられる世の中になってきたような気がします。システム開発をやっていない人にはいまいちピンと来ないかも知れないのですが、上流工程ではビジネス要件をモデリングしますし、下流工程ではアプリケーション設計をモデリングします。
本書は、最近主流の「UML(Unified Modeling Language)」という記法を使ったモデリング方法を解説しています。非常に初心者向けの易しい内容です。
- 要求モデリング
- 概念モデリング
- 仕様モデリング
- 実装モデリング
の大きく分けて4レベルのモデリングを行います。実際のシステム開発でも、要求モデリング、概念モデリング、実装モデリング辺りは行っているのが現状ですので、実務経験が無い人でも『体験』的に学べると思います。
特徴
本書の特徴として下記のような点があります。
- 4つの視点から見たモデリングを行うところが実際の現場に近い体験を与えてくれる
- 下手に深いところまで解説せず、対象読者がしぼれている(UML入門者向け)
- モデリングに必要な用語が一通り出ている
内容としては、ある図書館管理システムをモデリングするという課題があり、それに対して要求モデリング、概念モデリング、仕様モデリング、実装モデリングをいう段階を経て実装までつなげていくという形になっています。
要求モデリング
要求モデリングのレベルでは、主に「ユースケース」と「アクティビティ図」の説明が出てきます。システムのワークフローをアクティビティ図で表したり、要求からユースケースを探し出したりという方法が載っています。シーケンス図とテストシナリオの抜き出し方も少し解説してあります。
概念モデリング
概念モデリングのレベルでは、システムにおける概念(ドメイン)を抜き出す方法や、ライフサイクルを考えてシーケンス図にしたりといった作業を行います。概念オブジェクトの静的構造(クラス図)もここで書き表します。
仕様モデリング
仕様モデリングのレベルでは、システムのアーキテクチャやパッケージ、サブシステムのインターフェース等を考えます。
実装モデリング
実装モデリングのレベルでは、UMLで表現したシステムを実際のソースコード(JAVA)に変換する方法を解説します。UMLで表現した関連が実際にはどのようにソースコードに落ちていくのかというところを解説します。
全体的に読みやすい構造になっていて、これからUMLを学びたい人や、モデリングの基礎知識を得たい人におすすめできます。あまり深くまで突っ込んだ解説はしていないので、本書を最初のステップとして次のレベルに進んでいくといいと思います。
覚書き
クラス図に多重度は必須
概念モデリングのクラス図を描く上で、オブジェクト同士に関連を引きます。このとき、オブジェクト同士の多重度と関連は必ず描くようにした方がいいです。概念図といえども、多重度と関連が無ければ何を表しているのかがはっきりと分からなくなってしまいます。概念図を見て、何を表しているのかが分からなければ使えないですし、ただのお絵かきになってしまいます。趣味で書く場合はいいと思いますが、業務で概念図を書く場合は、必ず多重度と関連は書き込むべきだと思います。
参考
- UMLの記法について解説した本書の類似本です。
- 本書よりもチュートリアル的な要素が強い本です。
- 本書を読んだ後、さらにUMLについての知識を深めたい人向け