ソフトウェア工学(ソフトウェアエンジニアリング)とは、高品質のソフトウェアを効率的に開発する方法について研究する学問分野です。ソフトウェア開発技法、要求分析技法、モデル化技法、部品化・再利用技術、テストの方法、工数・費用見積方法など広い分野を対象にしています。
ウォータフォール開発技法、フローチャート、構造化設計、UMLなど、コンピュータ出現以来、多くの成果が生み出されてきました。
IT技術者の育成のために、ソフトウェア工学を体系的に整理して、学習に役立てることも必要です。特に大学(情報学部)では、標準カリキュラムの策定や改訂が行われてきました(参照:「大学情報教育の標準カリキュラムと第三者認定」)が、その中心になるのがソフトウェア工学です。
SWEBOK(Software Engineering Body Of Knowledge、ソフトウェアエンジニアリング基礎知識体系)とは、IEEE(米国電気電子技術者協会)とACM(米国計算機学会)が策定した、ソフトウェア工学に関する知識の分類体系です。「SWEBOKガイド」としてまとめられています。2001年に暫定版が発行され、2013年にはV3.0になりました。
SWEBOKガイドでは、ソフトウェア工学の知識体系を10の知識エリアに分類して、それぞれに必要となる知識を下位区分として整理しています。
SWEBOKガイドもPMBOKガイドと同様に、必要となる知識を掲げているだけで、知識そのもの(モジュール化やACID特性の内容など)については解説していません。せいぜい参考資料を示している程度です(この体系に従い知識そのもを解説した教科書に任せています)。
SQuBOK(Software Quality Body of Knowledge)は、日本科学技術連盟と日本品質管理学会が策定したソフトウェア品質分野の知識体系です。2007年に第1版が発行され、2014年に第2版になりました。ソフトウエア品質に関する規格・標準、国際的に広く使われている技術に加えて、日本での研究成果も取り入れたものです。
解説サイト:SQiP(日本科学技術連盟ソフトウェア品質委員会)「SQuBOK解説特集ページ」
http://juse-sqip.jp/archives/qualityone_03.html#vol03
SQuBOKの体系の一部を下表に示します。このように「品質」に影響する広い分野を対象にしており、ソフトウェア工学全般にわたっています。