请输入您要查询的百科知识:

 

词条 Software crisis
释义

  1. See also

  2. References

  3. External links

{{Use dmy dates|date=October 2017}}

Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could not be tackled. With the increase in the complexity of the software, many software problems arose because existing methods were insufficient.

The term "software crisis" was coined by some attendees at the first NATO Software Engineering Conference in 1968 at Garmisch, Germany.[1][2] Edsger Dijkstra's 1972 ACM Turing Award Lecture makes reference to this same problem:[3]

{{Quotation|The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.|Edsger Dijkstra|The Humble Programmer (EWD340)|Communications of the ACM}}

The causes of the software crisis were linked to the overall complexity of hardware and the software development process. The crisis manifested itself in several ways:

  • Projects running over-budget
  • Projects running over-time
  • Software was very inefficient
  • Software was of low quality
  • Software often did not meet requirements
  • Projects were unmanageable and code difficult to maintain
  • Software was never delivered

The main cause is that improvements in computing power had outpaced the ability of programmers to effectively utilize those capabilities. Various processes and methodologies have been developed over the last few decades to improve software quality management such as procedural programming and object-oriented programming. However software projects that are large, complicated, poorly specified, and involve unfamiliar aspects, are still vulnerable to large, unanticipated problems.

See also

  • AI winter
  • List of failed and overbudget custom software projects
  • Fred Brooks
  • Technological singularity of the system

References

1. ^{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html|title=NATO Software Engineering Conference 1968|publisher=|accessdate=26 April 2017}}
2. ^{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF|title=Report on a conference sponsored by the NATO SCIENCE COMMITTEE Garmisch, Germany, 7th to 11th October 1968|publisher=|accessdate=26 April 2017}}
3. ^{{cite web|url=http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html|title=E.W.Dijkstra Archive: The Humble Programmer (EWD 340)|publisher=|accessdate=26 April 2017}}

External links

  • Edsger Dijkstra: The Humble Programmer (PDF file, 473kB)
  • Brian Randell: The NATO Software Engineering Conferences
  • Markus Bautsch: Cycles of Software Crises in: [https://web.archive.org/web/20080913120558/http://www.enisa.europa.eu/doc/pdf/publications/enisa_quarterly_12_07.pdf ENISA Quarterly on Secure Software] (PDF file; 1,86MB)
{{Edsger Dijkstra}}{{DEFAULTSORT:Software Crisis}}

3 : Software quality|History of software|Edsger W. Dijkstra

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/14 13:12:37