羽生田 栄一 監修
羽生田 栄一 翻訳
羽生田 栄一 原著
Eric J. Braude 著
本書は、オブジェクト指向という視点から、ソフトウェア工学について極めて広い範囲で初心者にもわかりやすく解説しています。
UMLやオブジェクト指向、RUPに代表される繰り返し型開発、デザインパターンやJavaといった最新かつ実践的な切り口で解説した非常に体系的な書籍です。
・-プロセスやプロジェクト管理
・-要求分析(ユースケースなどのUMLの利用法を含む)
・-アーキテクチャ(UML記法、システムモデル、MDA、アーキテクチャパターンなどを含む)
・-詳細設計(ユースケースからシーケンス図、詳細クラス図、デザインパターンなどを含む)
・-ユニット実装(インターフェースと実現、プログラミング言語の特性、プログラミングスタイル、コーディング規約、品質)
・-ユニットテスト(テストの計画から実施まで具体的なガイドラインに沿って)
・-システム統合/検証/検定(統合テスト、受け入れテスト、品質保証)
・-保守(インパクト分析やリバースエンジニアリング、その他の保守技術)
上記のように、ソフトウェア工学全般にわたり、とてもていねいに解説しています。
●対象読者
・-UMLやJavaの入門を終えた方
・-デザインパターン、アーキテクチャ、システム設計やテスト方法のような実践的知識を身に付けたい、ある程度体系的に最新のソフトウェア開発のトータルなイメージを得たい方
・-オブジェクト指向開発の際の一種のレファレンスとして手元に置いておきたい方
・-理工学系大学生(ソフトウェア工学の教科書として)
はじめに
ソフトウェアエンジニアリングの背景
ソフトウェアエンジニアリングのアクティビティ
プロセス
プロジェクト
ピープル(人間系)
プロダクト
品質
チーム用語課題プロジェクト
ケーススタディ
練習問題
第1章 プロセス
1.1 ソフトウェアエンジニアリングプロセス入門
1.2 ソフトウェアエンジニアリングの歴史的および現代的観点
1.3 プロセス・プロジェクト・製品および人間への「期待」
1.4 プロセスの選択肢
1.5 ドキュメンテーション
1.6 品質
1.7 ドキュメンテーション管理
1.8 能力評価入門
1.9 まとめ
練習問題
ケーススタディ 1
ケーススタディ 2
第2章 プロジェクト管理
2.1 プロジェクト管理入門
2.2 プロジェクト要員を管理する
2.3 人事編成における選択
2.4 リスクの識別と回避を行う
2.5 開発ツールとサポートを選択する
2.6 スケジュールを作成する:高レベルの計画
2.7 レガシーアプリケーションを統合する
2.8 費用の見積りを算定する:初期計算
2.9 コード行数から作業および期間の見積りを算定する
2.10 チームソフトウェアプロセス
2.11 ソフトウェアプロジェクト管理計画
2.12 プロジェクト管理の品質
2.13 プロセス改善、および能力成熟度モデル
2.14 プロジェクト管理用の様々なツールおよび技法
2.15 プロジェクト管理プロセスの要約
チーム用課題プロジェクトガイド
練習問題
ケーススタディ 1
ケーススタディ 2
第3章 要求分析 1
3.1 要求分析入門
3.2 顧客とのコミュニケーション
3.3 顧客(C-)要求の記述
3.4 C-要求のための方法論、ツール、およびWeb利用
3.5 ラピッドプロトタイピング、実施可能性調査、コンセプト証明
3.6 C-要求分析を反映するためのプロジェクトの更新
3.7 C-要求の将来の方向性、およびまとめ
チーム用課題プロジェクトガイド
練習問題
ケーススタディ
第4章 要求分析 2:具体的なD-要求を備えたSRSの完成
4.1 詳細(あるいはD-)要求入門
4.2 D-要求のタイプ
4.3 D-要求に望まれるプロパティ
4.4 シーケンス図
4.5 D-要求の編成
4.6 具体要求の品質
4.7 要求分析のためのツールおよびWebの使用
4.8 要求仕様のための形式的手法
4.9 D-要求プロセスのプロジェクトに対する影響
4.10 D-要求プロセスのまとめ
チーム用課題プロジェクト
練習問題
ケーススタディ
第5章 ソフトウェアアーキテクチャ
5.1 システムエンジニアリングおよびソフトウェアアーキテクチャ入門
5.2 モデル、フレームワークおよびデザインパターン
5.3 ソフトウェアアーキテクチャの選択肢とクラスモデル
5.4 アーキテクチャの記法、標準、およびツール
5.5 アーキテクチャ選択に関するQA
5.6 まとめ
チーム用課題プロジェクトガイド
練習問題
ケーススタディ 1
ケーススタディ 2
第6章 詳細設計
6.1 詳細設計入門
6.2 詳細設計のためのシーケンス図とデータフロー図
6.3 クラスおよび関数の仕様定義
6.4 アルゴリズムの仕様定義
6.5 デザインパターン 2:詳細設計の技法
6.6 標準テンプレートライブラリ
6.7 詳細設計のための標準、記法、ツール
6.8 プロジェクトにおける詳細設計の効果
6.9 詳細設計の品質
6.10 まとめ
練習問題
ケーススタディ 1
ケーススタディ 2
第7章 ユニット実装
7.1 実装入門
7.2 プログラミングおよびスタイル
7.3 プログラミング標準
7.4 正しさの証明付きのプログラム
7.5 プログラミングのためのツールと環境
7.6 実装における品質
7.7 実装プロセスのまとめ
練習問題
ケーススタディ 1
ケーススタディ 2
ケーススタディ 3
ケーススタディ 4
第8章 ユニットテスト
8.1 ユニットテスト入門
8.2 テストタイプ
8.3 ユニットテストを計画する
8.4 メソッドテストのためのチェックリストおよび例
8.5 クラステストのためのチェックリストおよび例
8.6 まとめ
練習問題
ケーススタディ
第9章 システムの統合、検証、および妥当性検査
9.1 序論
9.2 統合プロセス
9.3 テストプロセス
9.4 統合およびテストをドキュメント化する
9.5 移行フェーズの反復
9.6 統合、検証、および妥当性検査の品質
9.7 統合およびシステムテストのためのツール
9.8 まとめ
練習問題
ケーススタディ 1
ケーススタディ 2
第10章 保守
10.1 序論
10.2 ソフトウェア保守のタイプ
10.3 保守技法
10.4 IEEE標準1219-1992
10.5 保守の管理
10.6 保守の品質
10.7 まとめ
練習問題
ケーススタディ
用語集
頭文字
参考文献
著作権表示
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。