ゼロからわかるシリーズゼロからわかるUML超入門

書籍の概要

この本の概要

ゼロからわかるシリーズのUMLの入門書です.本書は「主要なダイアグラムが読めて理解でき,簡単なモデルが書ける」レベルをめざし,研修コースに利用できるような内容です.章末に各章の確認として,練習問題をつけ理解の確認ができるようになっています.また,内容・練習問題などもUMTP認定試験のL1レベルになるため,試験対策としても利用できます.UMLツール(Astah)作成サンプル/解答例サンプルなどはダウンロードして利用できます。

こんな方におすすめ

  • UMLを知りたい人
  • 大学/専門学校学生などこれから開発者を目指す人
  • 直接開発に携わらないが知識として知っておきたい人

目次

第1章 UMLとは何だろう?

1-1 そもそもUMLって何?

  • 1-1-1 ことばで伝えるのは難しい
  • 1-1-2 図で描くとわかりやすい
  • 1-1-3 ものとものとの関連を表す
  • 1-1-4 ものとものとの関連をUMLで表す -オブジェクト図
  • 1-1-5 チームとしての仕事を表現する
  • 1-1-6 チームとしての仕事をUMLで表現する -コミュニケーション図
  • 1-1-7 チームとしての仕事をUMLで表現する -シーケンス図

1-2 オブジェクトって何?

  • 1-2-1 オブジェクトとは
  • 1-2-2 触れる「もの」と触れない「こと」
  • 1-2-3 オブジェクト指向って何?

1-3 UMLはどこからきたか

  • 1-3-1 なぜUMLができたのか?
  • 1-3-2 UMLとは何か?
  • 1-3-3 UMLは統一モデリング言語
  • 1-3-4 UMLは何を統一したのか
  • 1-3-5 UMLはなぜ言語なのか
  • 1-3-6 UMLを自然言語と比較する
  • 1-3-7 UMLは簡単か?
  • 要点整理
  • 練習問題

第2章 モデルって何?

2-1 モデルと模型

  • 2-1-1 様々なモデル
  • 2-1-2 目的により異なるモデル
  • 2-1-3 モデルとは
  • 2-1-4 地図の例
  • 2-1-5 モデルとは何か? 何故か? -what&why

2-2 UMLのダイアグラム

  • 2-2-1 構造と振る舞いを表す2種類のダイアグラム
  • 2-2-2 構造図
  • 2-2-3 振る舞い図

2-3 3つのモデルとUMLのダイアグラムの関係

  • 2-3-1 3つのモデルとは
  • 2-3-2 機能モデル
  • 2-3-3 静的モデル
  • 2-3-4 動的モデル
  • 要点整理
  • 練習問題

第3章 UMLの前にオブジェクトを理解しよう

3-1 オブジェクトは認識の対象

  • 3-1-1 オブジェクトは人が認識する
  • 3-1-2 人により認識は異なる

3-2 オブジェクトの状態とは

  • 3-2-1 オブジェクトは固有の属性値を持つ
  • 3-2-2 オブジェクトは状態を持つ
  • 3-2-3 状態はイベントで変化する
  • 3-2-4 状態を関連で表す

3-3 オブジェクトの責務とは

  • 3-3-1 オブジェクトは責務を持つ
  • 3-3-2 メッセージは仕事の依頼
  • 3-3-3 カプセル化と情報隠蔽
  • 要点整理
  • 練習問題

第4章 同じ種類のオブジェクトをクラスにまとめる

4-1 クラスとは

  • 4-1-1 オブジェクトをクラスにまとめる
  • 4-1-2 クラスは属性と操作を持つ
  • 4-1-3 責務と操作

4-2 クラスとインスタンス

  • 4-2-1 インスタンスはクラスに属するオブジェクト
  • 4-2-2 クラスとインスタンスの例
  • 4-2-3 クラスを集合で考えるとよくわかる

4-3 クラスはオブジェクトの抽象概念

  • 4-3-1 概念とは
  • 4-3-2 抽象概念とは
  • 4-3-3 内包と外延
  • 4-3-4 クラス,集合,名詞の関係
  • 要点整理
  • 練習問題

第5章 一番大切なクラス図を理解しよう

5-1 オブジェクト図とクラス図

  • 5-1-1 オブジェクト図
  • 5-1-2 クラス図
  • 5-1-3 オブジェクト図とクラス図の関係

5-2 いくつのオブジェクトとリンクする? -多重度

  • 5-2-1 多数のリンクをオブジェクト図で表すと複雑になる
  • 5-2-2 多数のリンクをクラス図で表すと簡単になる
  • 5-2-3 リンクの数を多重度で表す
  • 5-2-4 多重度のまとめ

5-3 クラス図の補足

  • 5-3-1 本当は不要な属性 -派生属性
  • 5-3-2 関連を2本引くことができる
  • 5-3-3 リンクにも属性を設定したい
  • 5-3-4 関連クラスで関連に属性を設定する

5-4 クラス図を描いてみよう

  • 5-4-1 具体的なオブジェクト図を描いてみよう
  • 5-4-2 クラス図を作成しよう
  • 5-4-3 モデルを膨らまそう
  • 要点整理
  • 練習問題

第6章 動きを表現するダイアグラムを理解しよう

6-1 CRCカードでコラボレーションを発見する

  • 6-1-1 責務を発見するゲーム
  • 6-1-2 CRCカードに責務と協調者を記入する
  • 6-1-3 CRCカードの例
  • 6-1-4 ゲーム開始

6-2 相互作用図とは

  • 6-2-1 責務とメッセージ
  • 6-2-2 外から見えるか見えないか? -可視性
  • 6-2-3 操作により属性の値を取得する

6-3 コミュニケーション図とシーケンス図

  • 6-3-1 コミュニケーション図
  • 6-3-2 シーケンス図
  • 6-3-3 UMLの用語について

6-4 イベントで変化する状態を表現する

  • 6-4-1 ステートマシン図とは
  • 6-4-2 ステートマシン図の例
  • 6-4-3 ステートマシン図の中にステートマシン図を埋め込む
  • 要点整理
  • 練習問題

第7章 クラスを分類して整理しよう

7-1 クラスを分類する -クラス階層

  • 7-1-1 今日のランチタイムは洋食?和食?
  • 7-1-2 分類を表す汎化関係
  • 7-1-3 汎化関係の例
  • 7-1-4 分類はis-a関係
  • 7-1-5 サブクラスは部分集合

7-2 分類の方法は様々

  • 7-2-1 どうやって分類したのかを表す
  • 7-2-2 多重継承
  • 7-2-3 集合で整理する

7-3 継承って何?

  • 7-3-1 共通の属性を持つクラスに注目する
  • 7-3-2 親クラスの属性を継承する
  • 7-3-3 親クラスの操作を継承する
  • 7-3-4 親クラスの関連を継承する
  • 要点整理
  • 練習問題

第8章 多態性って何?

8-1 継承を考える

  • 8-1-1 照明器具を分類する
  • 8-1-2 操作を継承する
  • 8-1-3 操作と実装

8-2 抽象クラスと抽象操作とは?

  • 8-2-1 実装が継承できない操作
  • 8-2-2 抽象クラス
  • 8-2-3 抽象操作

8-3 多態性とは?

  • 8-3-1 多態性とは
  • 8-3-2 多態性は何の役に立つ?
  • 8-3-3 多態性のモデル

8-4 インタフェースとは?

  • 8-4-1 インタフェースとは
  • 8-4-2 UMLでインタフェースを記述するには
  • 8-4-3 インタフェースを用いたモデル

8-5 種類をクラスと捉える -パワータイプ

  • 8-5-1 種類はオブジェクトか?
  • 8-5-2 種類というクラス
  • 8-5-3 パワータイプ
  • 要点整理
  • 練習問題

第9章 オブジェクトを分解して内部構造を理解しよう

9-1 オブジェクトを分解する -複合オブジェクト

  • 9-1-1 全体と部分の関係を表す集約
  • 9-1-2 集約の例
  • 9-1-3 分解はhas-a関係
  • 9-1-4 コンポジションは強い集約
  • 9-1-5 複合オブジェクトのオブジェクト図

9-2 UMLの関連を整理する

  • 9-2-1 汎化か集約か?
  • 9-2-2 集約やコンポジションは関連の一種
  • 9-2-3 部分を共有する

9-3 汎化と集約で整理する

  • 9-3-1 汎化で分類する
  • 9-3-2 集約で分解する
  • 9-3-3 UMLの様々な関係を整理する
  • 要点整理
  • 練習問題

第10章 その他のダイアグラムも知っておこう

10-1 ユースケース図って何?

  • 10-1-1 ユースケース図でシステムの提供するサービスを表す
  • 10-1-2 アクター
  • 10-1-3 ユースケース

10-2 アクティビティ図って何?

  • 10-2-1 アクティビティ図はフローチャート
  • 10-2-2 パーティションで役割を明確にする
  • 10-2-3 条件分岐

10-3 UMLの共通メカニズムを知ろう

  • 10-3-1 パッケージで整理する
  • 10-3-2 コメントをノートで追加する
  • 10-3-3 ステレオタイプでUMLを拡張する
  • 10-3-4 タグ付き値
  • 10-3-5 定義をより厳密にする制約

10-4 UMLの仕様書はUMLで記述されている

  • 10-4-1 メタクラスとメタモデル
  • 10-4-2 モデルはメタクラスのインスタンス
  • 10-4-3 分類子とは
  • 要点整理
  • 練習問題

著者プロフィール

河合昭男(かわいあきお)

大阪大学理学部数学科卒業,日本ユニシス株式会社にてメインフレームのOS保守,性能評価の後,PCのGUI系基本ソフト開発,クライアント/サーバシステム開発を通してオブジェクト指向に目覚める。

1998年独立後OO/UML関連の教育コース講師・教材開発,Rational University 認定講師,東京国際大学非常勤講師,UMTPにてUML普及活動を行う。

主な著書は「まるごと図解 最新オブジェクト指向がわかる」,「まるごと図解 最新UMLがわかる」(以上,技術評論社),「JavaデベロッパーのためのUML入門」(監修,ソフトバンク),「明解UML-オブジェクト指向&モデリング入門」(共著,秀和システム)など。

(有)オブジェクトデザイン研究所:http://www.odl.co.jp/

「オブジェクト指向と哲学」:http://www1.u-netsurf.ne.jp/~Kawai