かんたんUML入門 改訂2版


かんたん UML入門 [改訂2版] (プログラミングの教科書)


技術評論社


著者:竹政昭利、林田幸司、大西洋平、三村次朗、藤本陽啓、伊藤宏幸
監修:オージス総研


はじめに

第1章 UMLとは何か?
1-01 プログラムを設計するには
1-02 モデリングとは何か?
1-03 モデルとUML
1-04 UMLはなぜ必要なのか?
・システムに求められる要求の高度化と多様化
・システムの大規模と複雑化
・関係者間でのコミュニケーションの困難さ
・世界の標準語「UML」
1-05 UMLを効果的に活用するための技術要素
1-06 この章のまとめ

第2章 オブジェクト指向とUML
2-01 オブジェクト指向の基本
・オブジェクト指向とは
・オブジェクト
・クラス
・カプセル化
・継承
・ポリモーフィズム
2-02 UMLの基本
・UMLとは
・UMLを利用する目的
・UMLが登場した背景
・UMLの特徴
 様々な開発対象をカバーする汎用的な表記法
 UMLを使ったモデルベースの開発
2-03 図の体系と各図の概要
・図の体系
・ユースケース図
・クラス図
・シーケンス図
・コミュニケーション図
・ステートマシン図
・アクティビティ図
・パッケージ図
・オブジェクト図
・コンポーネント図
・配置図
・合成構造図
・タイミング図
・相互作用概要図
2-04 UMLの共通要素
・共通のモデル要素
・ノート
・フレーム
・ステレオタイプ
・メタ属性
・制約
・タイプとインスタンス
2-05 この章のまとめ

第3章 開発プロセス
3-01 開発プロセスとは
3-02 ウォーターフォール型開発プロセス
・概要
・長所・短所
3-03 スパイラル型開発プロセス
・概要
・長所・短所
・RAD
3-04 反復型開発プロセス
・概要
・長所・短所
3-05 この章のまとめ

第4章 ユースケース図
4-01 概要
・ユースケース図の例
・ユースケース図を描く意義
4-02 表記法
・ユースケース
・アクター
・関連
・システム境界
・ユースケースの包含(include)
・ユースケースの拡張(extend)
・ユースケースの汎化
・アクターの汎化
4-03 ユースケース図の描き方
・ユースケース図を描く手順
・システムで実現したいことのアイデアを出す
・ユースケースとアクターの候補を見つける
・システムで実現すべき範囲を明確にし、ユースケースとアクターを明確にする
・候補を洗練し、ユースケースとアクターを明確にする
4-04 ユースケース図の注意点
・分析中毒に陥らないようにする
・ユースケースは、アクターが処理を中断する粒度で抽出する
・ユースケース名は動詞で表現する
・CRUDのユースケースは「管理する」と表現する
4-05 この章のまとめ

第5章 オブジェクト図
5-01 概要
・オブジェクト図
・オブジェクト図とは
5-02 表記法
・オブジェクト
・オブジェクト名の表記
・オブジェクト名表記のバリエーション
・リンク
・属性値の情報
5-03 オブジェクト図の描き方
5-04 この章のまとめ

第6章 クラス図
6-01 概要
・クラス図
・クラス図とは
6-02 表記法
・クラス
・属性
・操作
・可視性
・関連
・誘導可能性
・多重度
・関連端名
・限定子
・汎化
・集約
・コンポジション
・依存
・インタフェース
6-03 クラス図の描き方
・分析クラス図と設計クラス図
・分析クラス図の描き方
・設計クラス図の描き方
6-04 クラス図の注意点
・オブジェクト指向との関連
・オブジェクト指向プログラミングの特徴
 カプセル化
 継承
 is – a関係とhas – a関係
 多態性(ポリモーフィズム)
6-05 補足事項
・関連クラスについて
・分析クラス図と設計クラス図の役割
6-06 この章のまとめ

第7章 シーケンス図
7-01 概要
・シーケンス図
・シーケンス図とは
7-02 表記法
・ライフライン
・メッセージ
 メッセージ名
 戻り値
 引数
・メッセージの種類
 同期メッセージ
 非同期メッセージ
 リプライメッセージ
 生成メッセージ
 ファウンドメッセージ
 ロストメッセージ
・実行指定
・破棄イベント
・結合フラグメント
 ループ
 オルタナティブ
 オプション
・相互作用の利用
7-03 高度な結合フラグメント
・ブレイク
・パラレル
・クリティカル領域
7-04 シーケンス図の描き方
・表現する相互作用を決める
・登場する要素を決める
・相互作用を表現する
・図の生合成を確認する
7-05 この章のまとめ

第8章 コミュニケーション図
8-01 概要
・コミュニケーション図
・コミュニケーション図とは
8-02 表記法
・ライフライン
・メッセージ
 シーケンス番号
 引数
・メッセージの種類
 同期メッセージ
 非同期メッセージ
 リプライメッセージ
 条件付きメッセージ
 繰り返しメッセージ
8-03 コミュニケーション図の描き方
・表現する相互作用を決める
・相互作用を表現する
・図の整合性を確認する
8-04 この章のまとめ

第9章 ステートマシン図
9-01 概要
・ステートマシン図
・状態と遷移
9-02 基本的な表記法
・単純状態
・開始擬似状態
・終了状態
・entryアクション
・exitアクション
・doアクティビティ
・外部遷移
・内部遷移
9-03 状態の階層化
・コンポジット状態とサブ状態
 サブ状態への外部遷移
 コンポジット状態のトリガの適用範囲
 コンポジット状態内の開始擬似状態と終了状態
・直交状態と領域
 直交状態への外部遷移
 直交状態内のサブ状態への外部遷移
9-04 擬似状態
・浅い履歴擬似状態
・深い履歴擬似状態
・フォーク擬似状態とジョイン擬似状態
・選択疑似状態
・ジャンクション疑似状態
・停止疑似状態
9-05 状態の再利用
・サブマシン状態、入状点、退状点
・サブマシン状態の再利用
9-06 ステートマシン図の拡張
・拡張の表記法
9-07 ステートマシン図の描き方
・ステートマシン図を描く対象を決定する
 システム全体のステートマシン図
 クラス単位のステートマシン図
・状態を抽出する
・トリガを抽出する
・処理を実行する箇所を特定する
9-08 この章のまとめ

第10章 アクティビティ図
10-01 概要
・アクティビティ図
・アクティビティ図とは
10-02 基本的な表記法
・アクティビティ
・アクションと制御フロー
・開始ノード
・アクティビティ終了ノード
・デシジョンノード
・マージノード
・オブジェクトノードとオブジェクトフロー
10-03 並行処理の表記法
・並行処理を含むアクティビティ図
・フォークノードとジョインノード
・イベント受信アクション
・シグナル送信アクション
・パーティション
10-04 アクティビティ図の注意点
10-05 この章のまとめ

第11章 パッケージ図
11-01 概要
・パッケージ図
・パッケージ図とは
11-02 表記法
・パッケージ
・パッケージの内部要素
・パッケージ階層
・依存関係
11-03 パッケージ図の描き方
・依存関係の方向
11-04 パッケージ図の注意点
・内部要素の統合
・内部要素の切り出し
11-05 この章のまとめ

第12章 サブの図
12-01 コンポーネント図
・概要
 コンポーネント図
・表記法
 コンポーネント
 インタフェース
 アセンブルコネクタ
 サブシステム
 ポート
 委譲コネクタ
・コンポーネント図の描き方
 コンポーネントの抽出
 アーキテクチャの設計
・コンポーネント図の注意点
 クラス図との関係
 システム全体から見たコンポーネント図
12-02 配置図
・概要
 配置図
・表記法
 ノードと通信経路
 デバイスと実行環境
 成果物
 成果物間の関係
 成果物の配置
 マニフェステーション
・配置図の描き方
・作図の注意点
 タイプとインスタンスの活用
12-03 合成構造図
・概要
 合成構造図とは
・表記法
 構造化分類子
 パートとプロパティ
 コネクタ
 ポート
 要求インタフェースと提供インタフェース
 インスタンス仕様とリンク
 コラボレーションとコラボレーションロール
 コラボレーション使用とロールバインディング
・合成構造図の描き方
 構造化分類子とする対象を決める
 インスタンス仕様を検討する
 クラスを検討する
 コラボレーションを検討する
・合成構造図の注意点
 合成構造で物理的な構成関係を表現しない
12-04 タイミング図
・概要
 タイミング図とは
・表記法
 ライフライン
 状態と状態タイムライン
 イベント
 汎用値ライフライン
 メッセージ
・時間に関する制約の表記法
 タイミングルーラー
 時間制約と時間観測
 持続時間制約、持続時間観測
・タイミング図の描き方
12-05 相互作用概要図
・概要
 相互作用概要図の描き方
・表記法
・相互作用概要図の描き方
12-06 この章のまとめ

第13章 実践例(ビジネス系システム)
13-01 ビジネス系システム開発の概要
・ビジネス系システムの開発プロセス
13-02 ケーススタディ「社内SNS」
・ケーススタディ「社内SNS」の仕様
13-03 要求分析
・要求分析とは
 要求と要件
 機能要件と非機能要件
・ユースケースモデルとは
・ユースケース図の作成方法
・イベントフローの作成方法
・アクティビティ図の作成方法
・要求分析の注意点
 ユースケース図だけではなくイベントフローの作成も重視する
 ユースケース検討時に実現手段を限定しない
・この節で学んだこと
13-04 分析
・分析とは
・概念モデルとは
・概念モデルの作成方法
 概念モデル作成の入力情報
 概念モデルにおけるクラスと属性の抽出
 概念モデルの完成と妥当性の確認
・分析モデルとは
 「分析モデルのクラス図」作成の入力情報
 分析クラスの抽出
 分析モデルの構成要素
 「分析モデルのコミュニケーション図」作成の入力情報
 分析クラスのインスタンス間の相互作用の検討
 振る舞いの検討結果を構造モデルへ反映
・分析の注意点
 分析中毒に陥らない
・この節で学んだこと
13-05 アーキテクチャ設計
・アーキテクチャ設計とは
・アーキテクチャとは
 アーキテクチャ検討時の入力情報
 非機能要求の確認と実現手段の検討
・レイヤパターン
・DAOパターン
・Commandパターン(FrontControllerとの組み合わせ)
・アーキテクチャ設計の注意点
 アーキテクチャを中心として開発を行う
 デザインパターンを適度に適用しない
・この節で学んだこと
13-06 詳細設計
・詳細設計とは
・設計モデルとは
・設計モデルの作成方法
 設計モデル作成の入力情報
 属性の設計
 操作の設計
 関連の設計
・詳細設計の注意点
 アーキテクチャから逸脱した設計モデルを作成しない
・この節で学んだこと
13-07 この章のまとめ

第14章 実践例(組み込みシステム)
14-01 組み込みソフトウェア開発の概要
・組込みソフトウェアの開発プロセス
・組込みソフトウェア開発の特徴
14-02 例題「ETロボコン」
・ETロボコンとは
・走行競技の概要
・走行体のハードウェア構成
・走行体のソフトウェア構成
14-03 要求分析
・要求分析における組込み系と業務系の違い
・機能概要
 ユースケース図
 イベントフロー
 イベントフロー検討時の注意点
・非機能要求
・要求分析のまとめ
14-04 分析
・分析における組込み系と業務系の違い
・概念モデル
・ドメイン定義
 コンポーネント図によるドメイン定義
 ドメインレベルのコミュニケーション図
・分析モデル
 ドメインのサブシステム構成
 クラス図
 コミュニケーション図によるユースケースの実現性検証
・分析のまとめ
14-05 アーキテクチャ設計
・アーキテクチャ設計における組込み系と業務系の違い
・ノードマッピング
・タスクマッピング
 タスクマッピングの目的
 タスクマッピングの手順
 タスクの仕様定義
 クラス図によるアクティブクラスの定義
 コミュニケーション図によるタスク間の協調動作の定義
 共有資源に対する排他制御
・アーキテクチャ設計のまとめ
14-06 この章のまとめ

付録
A-1 UP
 ユースケース駆動開発(UCDD)
 アーキテクチャ中心
 管理された反復
 カスタマイズ可能
A-2 アジャイル
A-3 アナリシスパターン

章末復習問題解答
参考文献
索引

書籍目次

Posted by shi-n