http://www.seshop.com/detail.asp?pid=6984
組込みソフトウェア開発のためのオブジェクト指向モデリング
要件定義/分析/設計からソースコード作成までオブジェクト指向ソフトウェア開発の基本を習ぶ
著: SESSAME WG 2
ISBN:4798111767
サイズ:A5
ページ:280
販売価格:2,730(本体2,600 消費税5%)
発売日:2006/06/12
出版社:株式会社翔泳社
Chapter 1 はじめに
1-1 本書について
1-1-1 本書の適用範囲
1-1-2 オブジェクト指向で大規模化かつ短納期化に対処する
1-1-3 モデリング中心
1-1-4 具体的な事例
1-2 本書の活用方法
1-2-1 本書の読み進め方
1-3 モデリングツールの活用
1-3-1 ユースケース図
1-3-2 イベントリスト
1-3-3 クラス図
1-3-4 コミュニケーション図
1-3-5 状態遷移図
1-3-6 状態遷移表
1-3-7 シーケンス図
1-3-8 パッケージ図
1-4 大規模な組込みソフトウェア開発
1-4-1 大規模組込みソフトウェアの特徴
1-4-2 ソフトウェア開発工程とモデリング
1-4-3 モデリングの効用
Chapter 2 課題説明
2-1 話題沸騰ポット(GOMA-1015)
Chapter 3 失敗事例
3-1 失敗パターン 1:クラス抽出の失敗
3-1-1 機能分割モデル
3-1-2 もの依存モデル
3-2 失敗パターン 2:抽出度選定の失敗
3-2-1 過度な詳細モデル
3-2-2 過度な抽象モデル
3-3 失敗パターン 3:時間経過によるモデル劣化
3-3-1 クラス過多モデル
3-3-2 くもの巣モデル
3-4 まとめ
3-4-1 6つの失敗モデル
3-4-2 15個の危険な兆候
Chapter 4 要求モデリング
4-1 要求モデリングで何をするのか
4-1-1 要求モデリングとは
4-1-2 要求モデリングのプロセスとアウトプット
4-2 機能要件を考察する
4-2-1 ユースケースモデルとは
4-2-2 ユースケース図の表記法
4-2-3 ユースケース記述の表記法
4-2-4 ユースケースモデルの作成
4-2-5 イベントリストを併用する
4-2-6 コンテキストダイアグラムを併用する
4-3 非機能要件を考察する
4-3-1 非機能要件リストを作成する
4-3-2 タイミング仕様書を作成する
4-3-3 データディクショナリを作成する
4-4 まとめ
4-5 復習
Chapter 5 分析モデリング
5-1 分析モデリングで何をするのか
5-1-1 分析モデリングとは
5-1-2 分析モデリングのプロセスをアウトプット
5-2 システムのスコープを決める
5-2-1 コンテキストダイアグラムを作成する
5-3 静解析する
5-3-1 オブジェクト/クラス/インスタンスとは
5-3-2 クラス候補を抽出する
5-3-3 キー抽象となるクラス候補を選定する
5-3-4 モデル化の指針を決定する
5-3-5 クラスと属性を決める
5-3-6 クラスどうしの関連を決める
5-3-7 ロール名/多重度/関連記述を作成する
5-3-8 その他のクラス抽出法
5-3-9 名詞句抽出法の例
5-3-10 図解抽出法の例
5-3-11 静解析のまとめ
5-4 動解析する
5-4-1 責務分担のコミュニケーション図を作成する
5-4-2 クラスごとの状態遷移図
5-4-3 クラスの状態遷移表を作成する
5-4-4 役割分担を確認する
5-4-5 動解析のまとめ
5-5 クラスごとの責務仕様を決める
5-5-1 クラス図を詳細化する
5-5-2 クラスへの操作の追加による一慣性の確認
5-6 モデル検証を行う
5-6-1 シナリオによる動作の確認
5-7 まとめ
5-8 復習
Chapter 6 設計モデリング
6-1 設計モデリングで何をするのか
6-1-1 設計モデリングとは
6-1-2 設計モデリングのプロセスとアウトプット
6-1-3 構造設計以後のコード中心プロセスの例
6-2 分析モデルを設計モデルへ変換する
6-2-1 コンパイル可能なモデルへ変換する
6-2-2 生成関係を検討する
6-3 タスク構造を設計する
6-3-1 イベント分析を行う
6-3-2 制御スレッド分析を行う
6-3-3 インスタンス生成関係を見直す
6-3-4 クラス構造を見直す
6-3-5 通信方法を決定する
6-4 パッケージを設計する
6-4-1 パッケージ図を作成する
6-4-2 機種ごとにパッケージ分割する
6-5 メモリ構造の設計を行う
6-5-1 メモリマップを理解する
6-5-2 ヒープの使い方
6-5-3 メモリ構造設計のまとめ
6-6 クラスの詳細設計を行う
6-6-1 シーケンス図を作成する
6-6-2 クラス仕様書を作成する
6-7 システム全体の設計
6-7-1 ドメインを分析する
6-7-2 システムを分割する
6-8 まとめ
6-9 復習
Chapter 7 プログラミング
7-1 プログラミングで何をするのか
7-1-1 プログラミングとは
7-1-2 プログラミングのプロセスとアウトプット
7-2 クラスをプログラミングする
7-2-1 コンポーネントを形成する
7-2-2 ヘッダファイルとソースファイルを作る
7-3 インスタンスの生成と消滅
7-3-1 ライフタイムとスコープ
7-3-2 newによるインスタンス生成とdetelteによるインスタンス消去
7-3-3 ファクトリによるインスタンス生成
7-3-4 実装時のメモリ節約
7-4 メソッドを実装する
7-4-1 状態遷移を実装する
7-4-2 メッセージ送信を実装する
7-5 オブジェクト指向言語の仕組みと注意事項
7-5-1 クラスとインスタンスの仕組み
7-5-2 生成と消滅の仕組み
7-5-3 メモリ管理の仕組み
7-6 まとめ
7-7 復習
Chapter 8 設計品質
8-1 複雑さへの対処
8-1-1 分割と階層(トップダウン)
8-1-2 抽象化
8-1-3 俯瞰
8-1-4 図解
8-1-5 対話
8-2 オブジェクト指向設計の特徴
8-2-1 カプセル化
8-2-2 詳細隠蔽
8-2-3 クラスとインスタンス
8-2-4 メッセージ通信
8-2-5 状態保持
8-2-6 継承
8-2-7 ポリモーフィズム
8-3 設計の品質
8-3-1 クラスの品質
8-3-2 クラス間の品質
8-3-3 システム形状(静的側面)
8-3-4 システム形状(動的側面)
8-4 失敗事例の検証
8-4-1 機能分解
8-4-2 もの依存
8-4-3 過度な詳細
8-4-4 過度な抽象
8-4-5 クラス過多
8-4-6 くもの巣
8-5 まとめ
Chapter 9 レビュー
9-1 レビューとテスト
9-1-1 レビューとテストの違い
9-2 レビューとは
9-2-1 レビューの対象物
9-2-2 なぜレビューするのか
9-3 レビュー技法
9-4 インスペクション
9-4-1 インスペクションの概要
9-4-2 インスペクションの入力
9-4-3 インスペクションの処理
9-4-4 インスペクションの出力
9-5 インスペクションの実際
9-5-1 対象物
9-5-2 タイミング
9-5-3 観点
9-6 インスペクションの実施ツール
9-6-1 課題ログ
9-6-2 実施報告書
9-6-3 チェックリストの事例
9-7 まとめ
Appendix A 定石・格言一覧
A-1 定石
A-2 格言
Appendix B 用語辞書