Software Engineering Approach - 03
The need for an engineering approach
Software development process is the set of activities and associated results which produce a software product. In early days these activities were not distinctly identified and organizated. Therefore in late 1960s there was a huge set back in software industry with the introduction of third generation computers which was then called a "Software crisis" . The main reasons for the crisis were,
- Existing software development methods were not good enough to build large software systems
- Software costs were rising and usually over budgeted
- Software release failed to meet the deadlines
- Expected requirements were not completely fulfilled
- Software maintenance absorbed increasing proportion of software effort
At the point the need of a more systematic approach to software development was raised and it was called "Software Engineering" . Software engineering has come far in its short lifetime but it still has far to go. Despite of this a set of software related problems has persisted throughout the evolution of computer based systems and these problems continue to intensify. Therefore there are several reasons why software must be engineered rather than only developed as mentioned bellow,
Hardware advanced continue to outpace our ability to build software.
Our ability to build software cannot keep pace with the demand for new programs, nor can we build programs rapidly enough to meet business and market trends.
The widespread use of computers has made society dependent on reliable operation software.
Our ability to support and enhance existing programs is threatened by poor design and inadequate resources.