渡辺 博之 著
芳村 美紀 著
桑本 茂樹 著
敷山 喜与彦 著
モデ力(もでりき)とは、状況理解力、抽象化力、表現力、コミュニケーション能力、本質を見極める能力など、現代のITエンジニアに必要とされる能力を総称した言葉です。
●なぜ「モデリング」なのか?
モデリングとは、さまざまなモノゴトや現象を理解し、その本質ととらえ、一定の法則(概念)を見つけ出し、構造で考え、無駄なものを取り除いて抽象化を行い、コンセプトにしたがって明確に表現することです。
このような思考力を鍛えることで、本来オブジェクト指向が持つパワーを生かすことができます。JavaをよりJavaらしく、UMLをより効果的に利用することができるのです。
●何を鍛える?
本書は「モデリング」に焦点を当て、オブジェクト指向的な「指向」力を養うためのトレーニングブックです。
オブジェクト指向開発チームに入る前に身に付けておきたい基礎的な力を、演習を通して身に付けていきます。
●自主トレメニュー13セット
モデリング力を付けるには、コツがあり、訓練が必要です。本書には、アイスクリーム、じゃんけん、待ち合わせ、カップラーメンなどなど、13の親しみやすい演習問題が用意されています。これらのトレーニングメニューをこなしていくことで、無理なく思考力を増強させていきます。
●こんな読者にお勧めです
本書のトレーニングは、アナリストやモデラーのためだけのものではありません。エンジニアを管理するマネージャにも必須のスキルです。また、モノゴトの本質を見極める力を付けたい管理職や営業職の方にも役立つことでしょう。
第1部 オリエンテーション
1章 本書は何を解決しようとしているのか?
3つのポイント
世の中の移り変わりとソフトウェアの関係
組み込み系ソフト開発の課題
ソリューション系ソフト開発の課題
本質を見極めることが課題を解決する
考え方はオブジェクト指向、表現方法はUML
本質を見極めることが難しいのはなぜか
本質を見極めるスキルを効果的に上げる方法
2章 トレーニングの進め方と例題
モデリングとは
トレーニングの進め方
例題
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
モデル化の方針を決める(オプション)
step 3 モデルを作る
コーンとアイスの間にある上下関係を表わす
味はアイスが本来持っているものとして表わす
バリエーション
3章 UML表記
UMLって何?
クラス図
インスタンス図
状態図
UMLあれこれ
第2部 演習
4章 演習 1:正義の味方
step 1 状況を理解する
事実の確認
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
クラスとインスタンスについて
バリエーション
「正義の味方」と「悪」の関係に注目する
ありがちな間違い
インスタンスを特化として表現している
動的視点でモデル化している
5章 演習 2:アイスクリーム
step 1 状況を理解する
アイスクリームに必要な情報を整理
アイスクリームの構造を整理
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
アイスクリームとコーンの関連
アイスクリームの再帰的な関連
アイスクリームのクラス図の完成
アイスクリームのサイズは必要か?
ありがちな間違い
個々のアイスクリームをモデル化してしまう
事実に基づいていない
6章 演習 3:ブラックジャック
step 1 状況を理解する
情報を整理する
情報の構造を整理する
step 2 コンセプトを決める
本質を見極める
モデル化の方針を決める
step 3 モデルを作る
親と子という役割をプレイヤーという存在でモデル化する
親と子の対戦をテーブルに参加するプレイヤーのロールとしてモデル化する
バリエーション
親と子の対戦を再帰関連で表現する
ギャンブルとしてモデル化する
ありがちな間違い
中央集権型モデル
7章 演習 4:数学関数
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
モデル化の方針を決める
step 3 モデルを作る
バリエーション
「点」に着目してモデル化する
ありがちな間違い
意味のないポリモーフィズムの利用
構造をとらえていない
8章 演習 5:ホテル
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
部屋と部屋のタイプを概念化する
ホテルと部屋の関係を表わす
ホテルと部屋の状況を表わす
ありがちな間違い
部屋に対して料金を設定する
空き部屋管理クラスを作ってしまう
9章 演習 6:じゃんけん
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
「参加者」と「手」の関係を表わす
じゃんけんのルールを表わす
ありがちな間違い
じゃんけんのルールがない
「手」の概念化が不十分
10章 演習 7:新幹線の停車駅
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
バリエーション
「新幹線」と「駅」の間の概念としてモデル化する
ありがちな間違い
発着ホームや発着時刻を「駅」か「新幹線」の属性としてしまう
新幹線の停車駅情報をモデル化する
11章 演習 8:待ち合わせ
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
人の間にある約束を概念化する
待ち合わせの場所を独立した概念として表わす
待ち合わせの状況を表わす
バリエーション
待ち合わせを人の間の関係として表わす
待ち合わせの「発起人」を表現する
ありがちな間違い
自分と相手を違う概念として考えてしまった
関連クラスを使って表現した
待ち合わせの情報を「人」クラスの属性とした
12章 演習 9:蒸気機関車
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
モデル化の方針を決定する
step 3 モデルを作る
車両が縦1列に並んでいる構造を表わす
車両を機関車と貨客車に分類して表わす
機関車と貨客車のつながりを表わす
バリエーション
さらに車両の分類を表現する
「車両の種類」で表現する
ありがちな間違い
分類しておしまい
構成を書いてしまった
13章 演習 10:各停と快速
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
電車を分類する
快速の停まる駅を表わす
「電車」は「駅」に「停車する」という関係を表わす
各停と快速が停車する状況を表わす
バリエーション
「電車の種類」を導入する
ありがちな間違い
「駅」の分類ができていない
「駅」を「各停の停まる駅」と「快速の停まる駅」に分類してしまう
「快速」を「各停」の特別な電車にしてしまう
14章 演習 11:カップラーメン
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
カップラーメンの取りうる姿を表わす
バリエーション
製造する立場から見たモデル
ありがちな間違い
「食べる人の状態」になっているモデル
ふたに着目したモデル
動かすことを考えているモデル
15章 演習 12:電子文書
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
step 3 モデルを作る
電子文書のライフサイクルをモデル化する
バリエーション
入れ子を使わない表現
ありがちな間違い
電子文書を扱う人の作業に着目している
16章 演習 13:レンタルビデオ
step 1 状況を理解する
step 2 コンセプトを決める
本質を見極める
モデル化の方針を決める
step 3 モデルを作る
「商品」としてのライフサイクルを表わす
「レンタル業務の対象」と「品質管理の対象」という並行する2つのライフサイクルを表わす
バリエーション
ライフサイクルごとに別のクラスを考える
ありがちな間違い
レンタル状態がない
1つのライフサイクルで表わす
レンタル業務のフローチャート
17章 まとめ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||
---|---|---|---|---|---|---|---|---|---|
1刷 | 114 下から4行目 |
3刷 | 未 |
|
2005.04.25 | ||||
1刷 | 132 図9.5 参加者→手 の多重度 |
2刷 | 未 |
|
2004.09.02 | ||||
1刷 | 133 演習6解答例・図中央 |
2刷 | 未 |
|
2005.04.18 | ||||
1刷 | 153 図10.16 右上のインスタンス名 |
2刷 | 未 |
|
2004.09.02 | ||||
2刷 | 196 上から4行目、5行目 |
3刷 | 未 |
|
2005.01.14 |
もりけい さん
2010-12-18
身近な物事を例題にしたモデリング力を鍛える書籍はあまりなく、その中でこの本は大いに参考になりました。一人でやるのではなく、有志で時間をとって一問ずつ回答を持ちよる形式だと楽しいです。書籍の解答を見ると文句を言いたいものもありましたが、それはそれで議論ができるので十分トレーニングになりました。
yk さん
2011-09-17
ん~。解答に違和感を感じている。真剣に考えなった自分がいけないのか。
kojinose さん
2011-06-10
UMLというツールの使い方を紹介している書籍は数あれど、身近なものをモデリングすることによって、モノの「本質」を切り出していく感覚を養える一冊。「即効」とあるけれど、まずは練習あるのみ、かと。これを読めば、目に入るものをなんとなくモデリングできるようになるかも。その力を実際のシステムに生かしていけるようになりたい。