Web教材一覧法規・基準

SWEBOKとSQuBOK


ソフトウェア工学(ソフトウェアエンジニアリング)とは、高品質のソフトウェアを効率的に開発する方法について研究する学問分野です。ソフトウェア開発技法、要求分析技法、モデル化技法、部品化・再利用技術、テストの方法、工数・費用見積方法など広い分野を対象にしています。
 ウォータフォール開発技法、フローチャート、構造化設計、UMLなど、コンピュータ出現以来、多くの成果が生み出されてきました。

IT技術者の育成のために、ソフトウェア工学を体系的に整理して、学習に役立てることも必要です。特に大学(情報学部)では、標準カリキュラムの策定や改訂が行われてきました(参照:「大学情報教育の標準カリキュラムと第三者認定」)が、その中心になるのがソフトウェア工学です。

SWEBOK

SWEBOK(Software Engineering Body Of Knowledge、ソフトウェアエンジニアリング基礎知識体系)とは、IEEE(米国電気電子技術者協会)とACM(米国計算機学会)が策定した、ソフトウェア工学に関する知識の分類体系です。「SWEBOKガイド」としてまとめられています。2001年に暫定版が発行され、2013年にはV3.0になりました。

SWEBOKガイドでは、ソフトウェア工学の知識体系を10の知識エリアに分類して、それぞれに必要となる知識を下位区分として整理しています。
 SWEBOKガイドもPMBOKガイドと同様に、必要となる知識を掲げているだけで、知識そのもの(モジュール化やACID特性の内容など)については解説していません。せいぜい参考資料を示している程度です(この体系に従い知識そのもを解説した教科書に任せています)。

 (開発・保守の各工程で適用する知識)
   1 ソフトウェア要求
   2 ソフトウェア設計
     ソフトウェア設計の基礎的概念
       一般的な設計概念
       ソフトウェア設計のための背景状況
       ソフトウェア設計プロセス
       ソフトウェア設計のための推奨技法
         抽象化
         相互結合と凝集強度
         分割とモジュール化
         カプセル化/情報隠蔽
         インタフェースと実現の分離
         十分性、完全性および原子性
     ソフトウェア設計における主要な問題
     ソフトウェア構造とアーキテクチャ
     ソフトウェア設計品質の分析と評価
     ソフトウェア設計のための表記
   3 ソフトウェア構築
   4 ソフトウェア・テスティング
   5 ソフトウェア保守
 (開発・保守の全工程で適用する知識)
   6 ソフトウェア構成管理
   7 ソフトウェア・エンジニアリング・マネジメント
     組織的マネジメント
     プロセス/プロジェクトマネジメント
     ソフトウェア・エンジニアリング計量
   8 ソフトウェア・エンジニアリング・プロセス
   9 ソフトウェア・エンジニアリングのためのツールおよび手法
   10 ソフトウェア品質

SQuBOK

SQuBOK(Software Quality Body of Knowledge)は、日本科学技術連盟と日本品質管理学会が策定したソフトウェア品質分野の知識体系です。2007年に第1版が発行され、2014年に第2版になりました。ソフトウエア品質に関する規格・標準、国際的に広く使われている技術に加えて、日本での研究成果も取り入れたものです。
解説サイト:SQiP(日本科学技術連盟ソフトウェア品質委員会)「SQuBOK解説特集ページ」
http://juse-sqip.jp/archives/qualityone_03.html#vol03

SQuBOKの体系の一部を下表に示します。このように「品質」に影響する広い分野を対象にしており、ソフトウェア工学全般にわたっています。

   1 ソフトウェア品質の基本概念 ←カテゴリ
   2 ソフトウェア品質マネジメント
      組織レベルのソフトウェア品質マネジメント ←副カテゴリ
      プロジェクトレベル(共通)のソフトウェア品質マネジメント
        2.8  意思決定のマネジメント ←知識領域
        2.9  調達のマネジメント
        2.10 リスクマネジメント
        2.11 構成管理
        2.12 プロジェクトマネジメント
      プロジェクトレベル(個別)のソフトウェア品質マネジメント
   3 ソフトウェア品質技術
      工程に共通なソフトウェア品質技術
      工程に個別なソフトウェア品質技術
        3.4  品質計画の技法
        3.5  要求分析の技法
        3.6  設計の技法
        3.7  実装の技法
        3.8  レビューの技法
        3.9  テストの技法
        3.10 品質分析・評価の技法
        3.11 運用の技法
        3.12 保守の技法
      専門的品質特性のソフトウェア品質技術