21-09-2017, 04:31 PM
Software crisis is a term used in the early days of computer science for the difficulty of writing useful and efficient computer programs in the time required. The software crisis was due to rapid increases in the power of computers and the complexity of problems that could not be addressed. With the increase in software complexity, many software problems arose because existing methods were insufficient.
The causes of the software crisis were linked to the overall hardware complexity and software development process. The crisis manifested itself in several ways:
• Overweight projects
• Projects that are over-executed
• The software was very inefficient
• The software was of poor quality
• The software often did not meet the requirements
• Projects were unmanageable and the code difficult to maintain
• The software was never delivered.
The main reason is that improvements in computing power had outpaced programmers' ability to effectively use those capabilities. During the last decades, several processes and methodologies have been developed to improve software quality management, such as procedural programming and object-oriented programming. However, software projects that are large, complicated, poorly specified and involve unknown aspects remain vulnerable to large and unforeseen problems.
The causes of the software crisis were linked to the overall hardware complexity and software development process. The crisis manifested itself in several ways:
• Overweight projects
• Projects that are over-executed
• The software was very inefficient
• The software was of poor quality
• The software often did not meet the requirements
• Projects were unmanageable and the code difficult to maintain
• The software was never delivered.
The main reason is that improvements in computing power had outpaced programmers' ability to effectively use those capabilities. During the last decades, several processes and methodologies have been developed to improve software quality management, such as procedural programming and object-oriented programming. However, software projects that are large, complicated, poorly specified and involve unknown aspects remain vulnerable to large and unforeseen problems.