かんたんIT基礎講座シリーズゼロからわかる UML超入門
[改訂2版]

書籍の概要

この本の概要

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

こんな方におすすめ

  • UMLをはじめて学びたい人

目次

CHAPTER1 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は簡単か?
  • 要点整理
  • 練習問題

CHAPTER2 モデルって何?

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 ソフトウェアの振る舞いを表現する−動的モデル
  • 要点整理
  • 練習問題

CHAPTER3 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 カプセル化と情報隠蔽
  • 要点整理
  • 練習問題

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

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 クラス,集合,名詞の関係
  • 要点整理
  • 練習問題

CHAPTER5 一番大切なクラス図を理解しよう

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 モデルを膨らまそう
  • 要点整理
  • 練習問題

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

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 ステートマシン図の中にステートマシン図を埋め込む
  • 要点整理
  • 練習問題

CHAPTER7 クラスを分類して整理しよう

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 親クラスの関連を継承する
  • 要点整理
  • 練習問題

CHAPTER8 多態性って何?

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 パワータイプ
  • 要点整理
  • 練習問題

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

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の様々な関係を整理する
  • 要点整理
  • 練習問題

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

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 分類子はモデル要素の総称
  • 要点整理
  • 練習問題

CHAPTER11 開発プロセスは要求から始まる

11-1 UMLの共通メカニズムを知ろう

  • 11-1-1 統一プロセスとは
  • 11-1-2 モデル駆動型開発
  • 11-1-3 反復型開発
  • 11-1-4 どのような手順で開発するのか

11-2 レンタルショップの貸出管理システムのモデルを考えよう

  • 11-2-1 業務を理解する
  • 11-2-2 用語集を作る
  • 11-2-3 ドメインモデル
  • 11-2-4 具体的なオブジェクト図から始めよう
  • 11-2-5 オブジェクト図をクラス図に一般化する

11-3 ユースケースモデルの実際を知ろう

  • 11-3-1 アクター
  • 11-3-2 ユースケース
  • 11-3-3 イベントフロー
  • 11-3-4 基本フローと代替フロー
  • 11-3-5 シナリオ

11-4 アクティビティ図の実際を知ろう

  • 11-4-1 アクティビティ図の使い方
  • 11-4-2 ワークフロー
  • 11-4-3 イベントフロー
  • 要点整理
  • 練習問題

CHAPTER12 分析モデルを作成しよう

12-1 UMLの共通メカニズムを知ろう

  • 12-1-1 ユースケースの実現とは
  • 12-1-2 ユースケースの実現の内容

12-2 ロバストネス図は分析モデルのスケッチ

  • 12-2-1 分析に使うステレオタイプ
  • 12-2-2 バウンダリクラス
  • 12-2-3 コントロールクラス
  • 12-2-4 エンティティクラス
  • 12-2-5 ロバストネス図を作成する

12-3 相互作用図を理解しよう

  • 12-3-1 シーケンス図を作成する
  • 12-3-2 コミュニケーション図を作成する

12-4 分析クラス図を理解しよう

  • 12-4-1 クラス図を作成する
  • 12-4-2 シーケンス図から操作を抽出する
  • 12-4-3 ユースケース単位のクラス図を完成させる

12-5 この後の流れ

  • 12-5-1 第1反復
  • 12-5-2 分析モデルから設計モデルへ
  • 12-5-3 第2反復 
  • 要点整理
  • 練習問題

著者プロフィール

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

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

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

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

ホームページ:(有)オブジェクトデザイン研究所
ホームページ::「オブジェクト指向と哲学」