ソフトウェア危機とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > ソフトウェア危機の意味・解説 

ソフトウエア‐きき【ソフトウエア危機】


ソフトウェア危機

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/12 17:50 UTC 版)

ソフトウェア危機(ソフトウェアきき、Software Crisis)とは、高性能化するハードウェアのコストは低下する一方、複雑化するソフトウェア開発のコストは上昇する傾向が続くことにより、将来的にソフトウェアの供給が需要を満たせなくなるという考え方である。ソフトウェア危機は21世紀以降も続いている[1]

この用語は、ソフトウェア工学がまだ十分に確立していなかった頃によく使われた[2]。その根本には、正しく、可読性が高く、検証可能なコンピュータプログラムを書くことが困難であるという事情がある。

概要

ハードウェアのコスト低下はコンピュータの利用領域の増大を招き、それによってソフトウェアの需要は拡大を続ける。一方、コンピュータが様々な場面で情報処理に活用されるようになっていくと、それに伴って次々と複雑なソフトウェアが要求されるようになり、ソフトウェア開発コストは上昇の一途を辿る。このような傾向が続くと、ソフトウェア開発の生産性を根本的に向上させない限り、ソフトウェアの供給が増大する需要に追いつかず、十分な品質を満たすソフトウェアの提供が難しくなり、ついには求められる仕様を満たすソフトウェアの開発が困難になることが予測される。ソフトウェア危機という場合、通常はこのような事態を指す。

ソフトウェア危機が叫ばれ始めたのは1960年代末のころであった。"software crisis" という用語は、1968年にドイツのガルミッシュ=パルテンキルヒェンで開催された第1回NATOソフトウェア工学会議で参加者らが生み出した[3]。1972年、エドガー・ダイクストラチューリング賞講演で以下のように述べている[4]

(ソフトウェア危機の主たる原因は)マシンがますます強力になってきたことだ! はっきり言ってしまえば、マシンさえなければプログラミングには何の問題もない。貧弱なコンピュータが数台あるだけだったなら、プログラミングは穏やかな問題になる。しかし現在の我々は強大なコンピュータを所有しているため、プログラミングも同様に強大な問題となっているのだ。 — Edsger Dijkstra、The Humble Programmer (EWD340)、Communications of the ACM

ソフトウェア危機の原因は、ソフトウェア開発工程の全体としての複雑性と専門分野としてのソフトウェア工学の相対的な未熟さと密接に関連していた。ソフトウェア危機は以下のような形で実際の開発プロジェクトに現れた。

  • 予算を超過してしまったプロジェクト
  • 予定期間を超過してしまったプロジェクト
  • 品質の低いソフトウェア
  • 要求仕様を満たさないソフトウェア
  • 管理不能状態のプロジェクトと、保守困難となったコード

相反する要求は常にソフトウェアの開発過程を妨げてきた。例えば、ユーザーは多大な機能を要求するが、顧客はソフトウェアに支払う対価と開発期間をなるべく最小にしたがることが多い。

ソフトウェア危機の解決手法

ソフトウェア危機は(少なくとも一部は)様々な手法や方法論の開発によって解決されてきつつある。

しかしフレデリック・ブルックスが『銀の弾などない』で記している通り、「本質的な複雑性」に対して生産性を向上させるような技法は存在しないと言われている。

組み込みシステムにおけるソフトウェア危機

近年では、組み込みシステムにおけるソフトウェア関連に起因する事故やトラブルが増加し、社会的に大きな影響を与えることも増えており、こちらもソフトウェア危機と呼ばれる[5][6]。原因としては次のような物が挙げられている。

  • 組み込みシステムには、リアルタイム性や対象ハードウェアに対する理解など、広く高度なスキルが求められるが、コンピューター系職種によく見られる厳しい労働条件(詳細はデスマーチIT業界離れデジタル土方を参照)のため離職者が多く、ベテラン不在で必要なスキルレベルまで上がらない。
  • 携帯電話デジタル家電に代表されるような、ソフトウェア規模の飛躍的増大に対して、ハードウェアリソースの制約やリアルタイム性が求められること(詳細は組み込みシステムを参照)からIT系同様の手法が通用しない。
  • 対象製品の開発サイクルの短期化
  • 理科離れ、パソコン離れ、電子工作離れ、家電機器のブラックボックス化などで、理系分野に興味を持つ機会が少なくなっている。

対策として次のようなことが行われている。

  • Microsoft Windows CEや組み込み用にリアルタイム性を強化したLinuxなどのIT系に近いOSを搭載し、IT系での開発手法を導入し、さらにIT系ソフトウェアエンジニアを活用する。
  • 複数社でのファームウェア共通化・共同開発
  • 一部の人材派遣会社では組み込みエンジニア養成コースを設けている。

出典

関連項目

外部リンク



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ソフトウェア危機」の関連用語

ソフトウェア危機のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ソフトウェア危機のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのソフトウェア危機 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS