低予算や短納期、多様化するIT技術など、システム開発を取り巻く環境は厳しくなる一方です。しかしいちどベースとなる普遍的な知識さえ身に付けてしまえば、なにも恐れることはありません。本書は、社会人エンジニアとしての第一歩を踏み出す方、エンジニアを目指す学生に対し、そうした知識をゼロから丁寧に解説する入門教科書です。
第2版では、システム開発の目的や意義、流れ、手法、用語などを統合的に学習できるというコンセプトはそのままに、年数を経て古くなった情報や説明が不足している箇所の改訂・増補を行い、さらにわかりやすく・実務に即した内容になりました。
開発途中に作成される各種の定義書・文書については、作成手順や記載項目を説明するほか、作成例を紹介。各章末には、個人学習にもグループ研修にも使える演習課題を用意しています。新人・学生はもちろんのこと、現場の必須知識を再確認したい現役エンジニア、研修を担当される方にも役立つ一冊です。
第1章 ソフトウェア開発の概要
1.1 ソフトウェアエンジニアリングの意味と歴史
ソフトウェアエンジニアリングとは
ソフトウェアエンジニアリングの始まり
構造化プログラミング
ソフトウェア開発の管理技術
オブジェクト指向の登場
1.2 代表的な分析・設計手法
システムの設計書
分析と設計
分析・設計の進め方
オブジェクト指向による分析と設計
1.3 代表的な開発手法
開発プロセスとは
ウォータフォール型
スパイラル型
アジャイル型
XP
第2章 基礎知識
2.1 用字と用語
分析・設計の結果は文書に残す
用字と用語を統一する理由
分野による用字と用語の違い
2.2 工程の名称と作成文書
ウォータフォール型における工程名称・区分の違い
作成する文書と記述項目
2.3 チャート記法
UML
アクティビティ図
DFD(Data Flow Diagram:データフロー図)
状態遷移図
フローチャート
2.4 作業標準の必要性
開発後には保守・運用を行う
作業の標準化と作業標準
第3章 要求定義と要件定義
3.1 本書で採用する開発プロセス
プロセスとは
ウォータフォール型の開発プロセスの流れ
3.2 要求定義と要件定義
上流と下流
要求定義と要件定義の違い
要求定義と要件定義を区別するコツ
要求定義と要件定義で重要なこと
3.3 機能要求と非機能要求
要求は機能要求と非機能要求でとらえる
機能要求の範囲・非機能要求の範囲
顧客への説明・提案(システム提案書)
3.4 サービス評価の考え方
商用化の判断材料
商用化のためのサービス評価
3.5 要件定義書の記述項目と記述例
要件定義書の作成手順
要件定義書の記述項目とポイント
要件定義書の具体的なイメージ
第4章 外部設計
4.1 外部設計書の位置づけ
外部設計とは
外部設計書のボリューム
4.2 外部設計書の作成手順
業務フローの作成
サブシステムへの分割
画面レイアウトや帳票レイアウトの作成
コード設計
論理データ設計
システムインタフェース設計
外部設計書としてまとめる
レビュー
4.3 外部設計書の記述項目と記述例
外部設計書に含める項目
第5章 内部設計
5.1 内部設計書の位置づけ
内部設計の目的
プログラムの部品化のデメリット
構造化設計
構造化設計のメリットとデメリット
5.2 内部設計書の作成手順
画面の詳細設計
帳票の詳細設計
外部インタフェースの詳細設計
ビジネスルールの詳細設計
リクエスト処理の詳細設計
メッセージの詳細設計
物理データ設計
内部設計書としてまとめる
レビュー
5.3 内部設計書の記述項目と記述例
内部設計書に記述する項目
記述項目と個別設計との対応
第6章 製造
6.1 製造工程の作業
製造工程とプログラミング
ソースコードとオブジェクトコード
ソースコードレビュー
単体テスト
6.2 コーディング規約
規約を設ける理由
実際のコーディング規約
コーディング規約の例
6.3 単体テスト
ホワイトボックステスト
フローグラフでテストデータを作る
ドライバとスタブ
第7章 テスト
7.1 テストの位置づけ
総合テストと結合テスト
テストと設計工程の関係
7.2 結合テスト
結合テストの目的
結合テストのテスト項目
ブラックボックステストの技法
7.3 総合テスト
機能要件と非機能要件
総合テストの観点
複数ユーザが同時利用するシステムのテスト
総合テスト時のテスト環境
総合テストのテスト項目例
7.4 品質保証
品質保証の指標
バグ累積曲線
バグ累積曲線の落とし穴
第8章 受入テスト
8.1 受入テストの位置づけ
受入テストを行う理由
システムの検収と受入テストの期間
8.2 受入テストの手順
受入テストの担当と項目作成
受入テストに合格しなかった場合
受入テストの合格後
8.3 受入テストの実施
大規模なシステムの受入テスト
受入テストを効率よく実施する方法
第9章 プロジェクトマネジメント
9.1 PMBOK の歴史
プロジェクトマネジメントとPMBOK
プロジェクトとは
9.2 PMBOK の構成要素
プロジェクトのフェーズ
知識エリア
プロセス群
9.3 PMBOK の活用法
PMBOK のマップの見方
テーラリング
9.4 プロジェクトマネジメントの例
マネジメントする項目
プロジェクト計画書
仕様管理計画書
進捗管理計画書
問題課題管理計画書
構成管理計画書
レビュー計画書
品質管理計画書
リスク管理計画書
コスト計画書
第10章 品質管理
10.1 品質管理とは
メトリクス(品質評価尺度)
メトリクスの種類
品質改善の手段ではない
10.2 構成管理
文書・ソースコードの性質
構成管理の大切さ
構成管理の対象と種類
10.3 デザインレビュー
急がば回れ
レビューの準備
レビューの開始
レビューで確認すること
レビュー結果の記録
レビュー結果の反映
10.4 テスト管理
テストの種類
テスト計画書の作成
テスト項目を適切に作成するには
テスト完了かどうかを判断する
バグの状況から品質を判断する
第11章 セキュリティ
11.1 システム開発におけるセキュリティ
セキュリティの2 つの視点
11.2 プロダクトのセキュリティ
プロダクトのセキュリティ項目
セキュリティと利便性
実装攻撃と耐タンパ性
11.3 開発プロセスのセキュリティ
開発プロセスのセキュリティ項目
人間の行為にこそ注意
第12章 プロジェクト完了報告
12.1 完了報告書の内容と目的
経営陣の立場で考えよう
報告書のボリューム
12.2 開発成果の発表
プロジェクトの成功とは
費用対効果とは
使いやすいシステムにするには
失敗を防ぐには
12.3 研修を終えて
suoyimi さん
2017-01-22
新人向けにソフトウェア開発について網羅的にまとめた本です。内容は若干ITエンジニア向けで(著者陣がNTT関係だからかもしれません)、ネットワークやデータベースなど、組み込みエンジニアからすると少し上位層に感じますが、開発方法論は共通しているので組み込みエンジニアも含めて非常に参考になると思います。分量も手ごろで、最近のソフトウェアエンジニアリングの話題にも触れているので、タイトルにあるように新人さんには特に役立つ本だと思います。
びーま さん
2016-11-24
約6年ぶりに再び基盤から開発に移ったので、あえて今読む!当たり前のことなんだけど独自じゃないごく一般的なスキルについてあらためて読む。教える立場の人も必須だと思う。
pi_nika さん
2016-04-24
完全独学の人間が、プログラムは書けるけど仕様書やテストって必要?の疑問へ意味を説明してくれる、体系立てて学ぶ本として重宝しています。雑談が少し煩わしかったりするので、この本で必要な分野を認識して、詳細はそちらで、という読み物。