/************************************************************************************************* 【実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識(第6版)】 (目次から部、章、節のレベルまで抜粋。ページ数は割愛。) **************************************************************************************************/ まえがき 監訳者まえがき  第1章 ソフトウェアとソフトウェアエンジニアリング   1.1 ソフトウェアの役割の進化   1.2 ソフトウェア   1.3 変化するソフトウェアの性質   1.4 レガシーソフトウェア   1.5 ソフトウェアの神話   1.6 どのように開始するのか   1.7 まとめ 第1部 ソフトウェアプロセス  第2章 プロセス―概要   2.1 ソフトウェアエンジニアリング―階層的な技術   2.2 プロセスフレームワーク   2.3 CMMI   2.4 プロセスパターン   2.5 プロセスの評価   2.6 パーソナルプロセスモデル・チームプロセスモデル   2.7 プロセス管理支援   2.8 製品とプロセス   2.9 まとめ    第3章 規範的なプロセスモデル   3.1 模範的なモデル   3.2 ウォーターフォールモデル   3.3 インクリメンタルプロセスモデル   3.4 進化型プロセスモデル   3.5 特別なプロセスモデル   3.6 統一プロセス   3.7 まとめ     第4章 アジャイル開発   4.1 俊敏さ(agility)とは   4.2 アジャイルなプロセスとは   4.3 アジャイルプロセスモデル   4.4 まとめ   第2部 ソフトウェアエンジニアリングの実践  第5章 プラクティス―一般的な考え方   5.1 ソフトウェアエンジニアリングプラクティス   5.2 コミュニケーションプラクティス   5.3 計画プラクティス   5.4 モデリングプラクティス   5.5 実装プラクティス   5.6 展開   5.7 まとめ  第6章 システムエンジニアリング   6.1 コンピュータシステム   6.2 システムエンジニアリングの階層   6.3 ビジネスプロセスエンジニアリングの概要   6.4 プロダクトエンジニアリングの概要   6.5 システムのモデル化   6.6 まとめ    第7章 要求エンジニアリング   7.1 設計と構築の架け橋   7.2 要求エンジニアリングの作業   7.3 要求エンジニアリングプロセスの開始   7.4 要求獲得   7.5 ユースケースの開発   7.6 分析モデルの構築   7.7 要求に関する交渉   7.8 要求の検証   7.9 まとめ     第8章 要求分析モデリング   8.1 要求分析   8.2 要求分析モデリングのアプローチ   8.3 データモデリングの概要   8.4 オブジェクト指向分析   8.5 シナリオベースのモデリング   8.6 フロー指向モデリング   8.7 クラスベースのモデリング   8.8 ふるまいモデルの作成   8.9 まとめ     第9章 設計エンジニアリング   9.1 ソフトウェアエンジニアリングにおける設計   9.2 設計工程と設計品質   9.3 設計の基本概念   9.4 設計モデル   9.5 パターンにもどつくソフトウェア設計   9.6 まとめ    第10章 アーキテクチャ設計   10.1 ソフトウェアアーキテクチャ   10.2 データ設計   10.3 アーキテクチャスタイルとパターン   10.4 アーキテクチャ設計   10.5 アーキテクチャ設計候補の評価   10.6 データフローのソフトウェアアーキテクチャへのマッピング   10.7 まとめ     第11章 コンポーネントレベル設計   11.1 コンポーネントとは何か?   11.2 クラスベースのコンポーネントの設計   11.3 コンポーネントレベル設計の実施   11.4 オブジェクト制約言語   11.5 従来型のコンポーネント設計   11.6 まとめ  第12章 ユーザインタフェース設計   12.1 黄金律   12.2 ユーザインタフェース分析と設計   12.3 インタフェース分析   12.4 インタフェース設計のステップ   12.5 設計の評価   12.6 まとめ     第13章 ソフトウェアテスト戦略   13.1 ソフトウェアテストの戦略的アプローチ   13.2 戦略を立案するうえでの前提   13.3 従来型のソフトウェアのためのテスト戦略   13.4 オブジェクト指向ソフトウェアのためのテスト戦略   13.5 機能テスト   13.6 システムテスト   13.7 職員芸としてのデバッグ   13.8 まとめ    第14章 ソフトウェアテスト技術   14.1 ソフトウェアテストの基本的な考え方   14.2 ブラックボックステストとホワイトボックステスト   14.3 ホワイトボックステスト   14.4 ベースパステスト   14.5 制御構造のテスト   14.6 ブラックボックステスト   14.7 オブジェクト指向におけるテスト手法   14.8 クラスに対して適用できるテスト手法   14.9 クラス間のテストケース設計   14.10 さまざまなソフトウェアに特化したテスト   14.11 テストパターン   14.12 まとめ      第15章 成果物に関するソフトウェアメトリクス   15.1 ソフトウェアの品質   15.2 成果物に関するメトリクスのためのフレームワーク   15.3 分析モデルのためのメトリクス   15.4 設計モデルのためのメトリクス   15.5 ソースコードのためのメトリクス   15.6 テストのためのメトリクス   15.7 保守のためのメトリクス   15.8 まとめ 第3部 Webエンジニアリングの適用  第16章 Webエンジニアリング   16.1 Webベースシステムおよびアプリケーションの特性   16.2 Webアプリエンジニアリングの階層   16.3 Webエンジニアリングプロセス   16.4 Webエンジニアリングのベストプラクティス   16.5 まとめ  第17章 Webエンジニアリングのための定式化と計画   17.1 Webベースシステムの定式化   17.2 Webエンジニアリングプロジェクトの計画   17.3 Webエンジニアリングチーム   17.4 Webエンジニアリングのプロジェクトマネジメントに関する問題   17.5 WebエンジニアリングおよびWebアプリのためのメトリクス   17.6 Webアプリプロジェクトの「ワーストプラクティス」   17.7 まとめ  第18章 Webアプリケーションのための分析モデリング   18.1 Webアプリの要求分析   18.2 Webアプリの分析モデル   18.3 コンテンツモデル   18.4 対話モデル   18.5 機能モデル   18.6 構成モデル   18.7 関連―ナビゲーション分析   18.8 まとめ     第19章 Webアプリケーションの設計モデリング   19.1 Webエンジニアリングの設計に関する問題   19.2 Webエンジニアリングの設計ピラミッド   19.3 Webアプリのインタフェース設計   19.4 美術的設計   19.5 コンテンツ設計   19.6 アーキテクチャ設計   19.7 ナビゲーション設計   19.8 コンポーネントレベル設計   19.9 ハイパーメディアデザインパターン   19.10 オブジェクト指向ハイパーメディア設計手法(OOHDM)   19.11 Webアプリの設計メトリクス   19.12 まとめ      第20章 Webアプリケーションのテスト   20.1 Webアプリケーションのためのテストの概要   20.2 テストプロセス―概要   20.3 コンテンツテスト   20.4 ユーザインタフェーステスト   20.5 コンポーネントレベルテスト   20.6 ナビゲーションテスト   20.7 構成テスト   20.8 セキュリティテスト   20.9 パフォーマンステスト   20.10 まとめ   第4部 ソフトウェアプロジェクトの管理  第21章 プロジェクトマネジメントの概要   21.1 管理スペクトル   21.2 人材   21.3 製品   21.4 プロセス   21.5 プロジェクト   21.6 W^5HHの原則   21.7 プロジェクトの成否を決めるプラクティス   21.8 まとめ     第22章 プロセスとプロジェクトのメトリクス   22.1 プロセスとプロジェクトのメトリクス   22.2 ソフトウェアの測定   22.3 品質メトリクス   22.4 プロセスへのメトリクスの適用   22.5 小規模組織でのメトリクス   22.6 ソフトウェアメトリクスプログラムの開発   22.7 まとめ     第23章 ソフトウェアプロジェクトの見積り   23.1 見積り   23.2 プロジェクト計画立案のプロセス   23.3 スコープと実現可能性   23.4 開発リリース   23.5 ソフトウェアプロジェクトの見積り   23.6 分割技法   23.7 経験的見積りモデル   23.8 オブジェクト指向プロジェクトの見積り   23.9 特別な見積り技法   23.10 開発または導入の決定     第24章 ソフトウェアプロジェクトのスケジューリング   24.1 基本概念   24.2 プロジェクトのスケジューリング   24.3 ソフトウェア開発プロジェクトのタスクセットの定義   24.4 タスクネットワークの定義   24.5 スケジューリング   24.6 アーンドバリュー分析   24.7 まとめ      第25章 リスクマネジメント   25.1 受動的リスク戦略と能動的リスク戦略   25.2 リスクの定義   25.3 リスクの識別   25.4 リスクの推定   25.5 リスクの見直し   25.6 リスクの軽減・監視・管理   25.7 RMMM計画   25.8 まとめ       第26章 品質マネジメント   26.1 品質という概念   26.2 ソフトウェアの品質保証   26.3 ソフトウェアのレビュー   26.4 公式技術レビュー   26.5 ソフトウェア品質保証へのフォーマルメソッドアプローチ   26.6 統計的品質保証   26.7 ソフトウェアの信頼性   26.8 ISO 9000品質規格   26.9 ソフトウェア品質保証計画書   26.10 まとめ     第27章 変更管理   27.1 ソフトウェア構成管理   27.2 ソフトウェア構成管理リポジトリ   27.3 ソフトウェア構成管理プロセス   27.4 Webエンジニアリングの構成管理   27.5 まとめ      第5部 ソフトウェアエンジニアリングの先進トピック  第28章 フォーマルメソッド   28.1 基本概念   28.2 数学的準備   28.3 数学的記法の形式仕様記述への適用   28.4 形式仕様記述言語   28.5 オブジェクト制約言語(OCL)   28.6 Z言語   28.7 フォーマルメソッドの十戒   28.8 フォーマルメソッド―進むべき道   28.9 まとめ     第29章 クリーンルーム開発   29.1 クリーンルームというアプローチ   29.2 機能仕様   29.3 クリーンルーム設計   29.4 クリーンルーム開発におけるテスト   29.5 まとめ  第30章 コンポーネントベース・ソフトウェアエンジニアリング   30.1 コンポーネントベースシステムのエンジニアリング   30.2 CBSEロセス   30.3 ドメインエンジニアリング   30.4 コンポーネントベース開発(CBD)   30.5 コンポーネントの分類と検索   30.6 CBSEの経済性   30.7 まとめ     第31章 リエンジニアリング   31.1 ビジネスプロセスのリエンジニアリング   31.2 ソフトウェアのリエンジニアリング   31.3 リバースエンジニアリング   31.4 再構成   31.5 フォワードエンジニアリング   31.6 リエンジニアリングの経済性   31.7 まとめ     第32章 進むべき道   32.1 ソフトウェアの重要性―再び   32.2 どこまで変化するか   32.3 システムを開発する人間   32.4 「新しい」ソフトウェアプロセス   32.5 情報の新しい表現   32.6 ソフトウェアの発展を導く技術   32.7 ソフトウェア技術者の責任   32.8 結びのコメント 監訳者あとがき 索引