コンピュータソフトウェアの計画、開発、検査、運用、保守、管理などのための技術や、それを研究する工学の一分野。
コンピュータシステムの価格のうちソフトウェアのための価格が占める割合は、コンピュータの誕生まもない1955年ごろには20%未満であった。その後急激に高くなり、1990年代ごろには80~90%になった。これは、要求されるソフトウェアの規模が大きくなるとともに複雑になってきたことに起因する。さらに、要求されるソフトウェアがますます複雑になる一方で、それに対処するためのソフトウェア技術(開発技術および管理技術)が、それに伴わなくなってきたのである。その結果、(1)ソフトウェアはつねに納期に遅れ、コストがかかりすぎ、しかも当初の仕様を満たしていない、(2)ソフトウェアは信頼性がなく、永久に保守する必要がある、(3)ソフトウェアは透明さに欠けており、保守することが困難で、修正、改良することがむずかしい、といった「ソフトウェア危機」とよばれる徴候が現れてきた。その原因として、あらゆる工学の分野で共通の基本的な設計手続きを使っていないからであるということがいわれ始め、ソフトウェアの開発にストラクチャードプログラミングのような工学的アプローチが導入されるようになってきた。
ソフトウェアに要するコストを、計画から保守に至る各段階の占める割合でみてみると、上流工程(要求分析・定義、外部設計)に比べ、テストおよびデバグの段階のほうがコストがかかり、保守に要するコストがさらにかかるというのがおおよそのところである。ソフトウェアの「ライフ・サイクル」を認識し、事態を改善する必要がある。そのためには、科学的な知識を蓄積し、実際的に応用する必要があるが、これらを扱う分野がソフトウェアエンジニアリングである。
[土居範久]
《モスクワに遠征したナポレオンが、冬の寒さと雪が原因で敗れたところから》冬の厳しい寒さをいう語。また、寒くて厳しい冬のこと。「冬将軍の訪れ」《季 冬》...
1/16 デジタル大辞泉プラスを更新
1/16 デジタル大辞泉を更新
12/10 小学館の図鑑NEO[新版]魚を追加
10/17 ブリタニカ国際大百科事典 小項目事典を更新
8/22 日本大百科全書(ニッポニカ)を更新