ソフトウェア工学の基礎 改訂新版
ソフトウェアコウガクノキソカイテイシンパン
- 著者:
- 玉井 哲雄(タマイ テツオ)
- 注目:
- 総合 862 位
- 出版社:
- 岩波書店
- 出版日:
- 2022年06月16日頃
- ISBN:
- 9784000056212
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
ソフトウェアの開発から保守までコンパクトかつ網羅的に解説し、優れた教科書として定評のある『ソフトウェア工学の基礎』を大幅改訂。アジャイル開発や要求工学、プロジェクト管理等についての説明を増やすとともに、刊行以降の AI や機械学習、データサイエンスの発展を踏まえ、事例を全面的に見直した。
まえがき
第 1 版のまえがき
第 1 章 ソフトウェアとソフトウェア工学
1. 1 ソフトウェアとは
1. 2 ソフトウェア工学の意義と歴史
第 2 章 ソフトウェアプロセス
2. 1 プロダクトとプロセス
2. 2 計画主導型プロセスと反復進化型プロセス
2. 3 計画主導型プロセス
2. 4 反復進化型プロセス
2. 5 ソフトウェアプロセスの評価
2. 6 プロセスプログラミング
第 3 章 要求工学
3. 1 何を作るか
3. 2 要求工学と発想法
3. 3 要求工学の意義
3. 4 要求工学のプロセス
3. 5 要求の種類
3. 6 仕様
第 4 章 モデル化技法と UML
4. 1 モデルとは何か
4. 2 ソフトウェアにおけるモデル
4. 3 グラフによるモデル化
4. 4 UML 記法
4. 5 共通例題
第 5 章 データと制御の流れモデル
5. 1 データの流れモデル
5. 2 制御の流れモデル
第 6 章 動的振舞いモデル
6. 1 処理プロセスの特性
6. 2 系列図
6. 3 通信図
6. 4 状態機械図
6. 5 Jackson システム開発法 (JSD)
第 7 章 オブジェクト指向モデル
7. 1 オブジェクト指向技術の歴史
7. 2 オブジェクト指向モデルの基本概念
7. 3 オブジェクト指向開発方法論
7. 4 オブジェクト指向モデルの構築プロセス
7. 5 オブジェクト指向モデルの例題
第 8 章 形式手法
8. 1 形式手法の意味
8. 2 形式仕様記述
8. 3 正当性の検証
8. 4 モデル検査
8. 5 適用事例ーー Z による酒屋倉庫問題の記述
第 9 章 設計技法
9. 1 アーキテクチャ設計
9. 2 モジュール設計
9. 3 インタフェース設計
9. 4 アルゴリズムの設計
第 10 章 検証技術
10. 1 検証の基本概念
10. 2 プログラムの検証技術
10. 3 仕様の検証技術
第 11 章 ソフトウェアの保守・進化
11. 1 ソフトウェアの保守
11. 2 ソフトウェアの進化プロセス
11. 3 再利用と再構築
第 12 章 開発環境とツール
12. 1 開発ツール
12. 2 統合開発環境
12. 3 版管理ツール
第 13 章 安全・安心な社会のためのソフトウェア
13. 1 安全・安心社会への脅威
13. 2 ソフトウェアの不具合がもたらす社会への影響
13. 3 サイバー犯罪とサイバー攻撃
第 14 章プロジェクト管理
14. 1 プロジェクト管理の失敗事例
14. 2 プロジェクト管理の対象と方法
14. 3 プロジェクト計画と見積り
14. 4 人の管理
14. 5 プロジェクト管理の知識体系と資格
参考文献
索引
技書の森解説
『ソフトウェア工学の基礎 改訂新版』 (玉井 哲雄 著、岩波書店、2022 年 6 月刊) は、ソフトウェアの開発から保守までを 1 冊で見渡す、ソフトウェア工学の教科書の改訂新版です。版元は、コンパクトかつ網羅的に解説した教科書として定評のある『ソフトウェア工学の基礎』を大幅に改訂し、アジャイル開発や要求工学、プロジェクト管理などの説明を増やすとともに、AI や機械学習、データサイエンスの発展を踏まえて事例を全面的に見直したと案内しています。巻頭には改訂新版のまえがきに加えて、第 1 版のまえがきも収められています。
全 14 章の構成、ソフトウェアとは何かからプロジェクト管理まで
目次は第 1 章「ソフトウェアとソフトウェア工学」から第 14 章「プロジェクト管理」までの全 14 章です。第 2 章「ソフトウェアプロセス」で開発の進め方そのものを扱い、第 3 章「要求工学」で何を作るかを決める段階に入ります。第 4 章「モデル化技法と UML」から第 7 章「オブジェクト指向モデル」までの 4 つの章はモデル化に充てられ、データと制御の流れ、系列図や通信図、状態機械図による動的な振る舞い、オブジェクト指向のモデルへと進みます。第 8 章「形式手法」、第 9 章「設計技法」、第 10 章「検証技術」、第 11 章「ソフトウェアの保守・進化」と工程を追ったあと、第 12 章「開発環境とツール」は統合開発環境や版管理ツールを、第 13 章「安全・安心な社会のためのソフトウェア」はソフトウェアの不具合が社会に及ぼす影響やサイバー攻撃を取り上げます。最後の第 14 章は、失敗事例から入って計画と見積り、人の管理、プロジェクト管理の知識体系と資格までを扱います。巻末には参考文献と索引があります。
計画主導型と反復進化型、要求工学と形式手法の技術背景
第 2 章の節題にある計画主導型プロセスと反復進化型プロセスは、ソフトウェアの作り方を考えるうえでの大きな対立軸です。計画主導型は、要求を最初に固めて設計、実装、テストへと順に進めるやり方で、作るものが早い段階で見通せる場合に管理しやすい形です。反復進化型は、短い周期で動くものを作って確かめながら全体を育てるやり方で、アジャイル開発 はこちらの考え方に立っています。どちらを選ぶにしても、何を作るかを決める工程の質が結果を左右するため、ソフトウェア工学では 要件定義 にあたる活動を要求工学という独立した分野として扱ってきました。第 3 章は、要求工学と発想法の関係、要求工学のプロセス、要求の種類、仕様までを節に立てています。
形式手法は、仕様を数学的な記法で書き、仕様どおりに作られているかを論理的に確かめる技術の総称です。自然言語の仕様にはどうしても解釈の幅が残りますが、形式仕様記述ではその幅を記法の側で締め、正当性の検証やモデル検査によって、テストでは試しきれない状態の組み合わせまで調べられます。第 8 章は、仕様記述言語の Z を使って酒屋倉庫問題を記述する適用事例で締めくくられています。第 6 章で扱う状態機械図は、システムの振る舞いを有限個の状態と遷移で表す ステートマシン の考え方に基づく図法です。状態と遷移で書いたモデルは、モデル検査のように網羅的に調べる技術とも相性のよい表し方です。
ソフトウェア工学を体系として学びたい学生と実務者に
本書は、プログラムを書く技術そのものではなく、開発の進め方、要求、モデル、設計、検証、保守、管理という工程全体を 1 つの体系として学びたい人に向いています。情報系の学科でソフトウェア工学を学ぶ学生が全体像をつかむ教科書としても、開発の現場で特定の工程だけを担ってきた人が自分の仕事の前後にある工程を見渡し直す本としても読めます。反対に、特定の言語やフレームワーク、開発ツールの使い方を手順で学びたい場合は、本書の主眼から外れます。また、第 1 版を持っている人にとっては、アジャイル開発や要求工学、プロジェクト管理の説明が増え、事例が見直されたという版元の案内が、改訂新版を手に取るかどうかの判断材料になります。
ソフトウェアを作る仕事の全体像を、流行の手法に振り回されずに筋道立てて理解したい人にとって、プロセスから管理までを 14 の章で通して見渡せる本書は、手元に置いて繰り返し参照できる基礎の 1 冊です。
この本に興味がある方におすすめ
関連する本
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
有名プログラマの読書習慣 - 天才たちは何を読んできたのか
リーナス・トーバルズ、まつもとゆきひろ、ビル・ゲイツなど、著名なプログラマたちの読書習慣と愛読書を紹介し、天才たちの読書スタイルから学べることを探ります。