ソフトウェア工学
ソフトウェアの開発・運用・保守に関して系統的・定量的にその応用を考察する分野で、ソフトウェア開発工程と呼ばれる技法や手順を含み、ソフトウェアの信頼性や保守性の向上を目的とする。
高度かつ安全なコンピュータのソフトウェアを短い期間で設計するための研究などを行ない、難易度の高いコード行数が数百万以上になる大規模ソフトウェアの開発に焦点を当てる事が多い。
ソフトウェア工学には、要求分析、ソフトウェア設計、プログラミング、ソフトウェアテスト、ソフトウェア保守といった作業に関する知識・ツール・手法が含まれる。ソフトウェア工学に関連する学問分野として、数学、計算機科学、計算機工学、品質管理、人間工学、経営管理論、プロジェクトマネジメント、システム工学がある。
ソフトウェア工学では、通常、開発対象となるソフトウェアの開発を思いついた時点から、実際に動くソフトウェアが完成し、使用されるまでを、いくつかの工程に分けて考察するソフトウェア開発工程を踏む。 これらの工程ごとに典型的な課題が存在し、課題に立ち向かう方法を明確にしようとする。このため、ソフトウェア工学の対象は広範囲にわたる。
また、他分野と組み合わさったり、データベース設計のようにソフトウェア工学の1分野だったものが独立して別分野を形成したり、オブジェクト指向技術のように別分野で培われた技術や概念がソフトウェア工学の対象となる事もある。