What is Software Crisis?
Computer systems were very new and primitive in
early fifties and the use of software was also very limited at that time. It
was limited to some scientific applications or used to process the data of
census. In 1960s a great amount of rapid improvement was made in hardware. New
hardware and new computer systems were made available. These computer systems
were far more powerful than the computers of early fifties. It is all relative,
the computers of 1960s are primitive as compare to the computers we have these
days but were far more powerful than the computers of early fifties. More
powerful hardware resulted into the development of more powerful and complex
software. Those very complex software was very difficult to write. So the tools
and techniques that were used for less complex software became inapplicable for
the more complex software. Lets try to understand this with the help of an
example. Lets imagine a person who use to live in a village and who have
constructed a hut for him to live. Definitely he should have face some problems
in the beginning but was managed to build a hurt for him. Now if you ask him to
construct another hut, he may be able to construct one more easily and in a
better way. This new hut may be better than the first one and he may construct
it in a relatively less time. But if you ask him to construct concrete and iron
houses then he may not be able to handle it. Since he made a hut and he know
how to make a place to live so you may expect from him to build concrete and
iron buildings. If this is the case then you should all agree that the building
constructed by that person will not have a stable structure or he may not even
be able to build one.
In early 60s software had suffered from the similar
kind of problem to which we call Software Crisis. Techniques that were used to
develop small software were not applicable for large software systems. This
thing resulted in the following consequences.
- In most of the cases that software which was tried to be build using those old tools and techniques were not complete.
- Most of the times it was delivered too late.
- Most of the projects were over-budgeted.
- And in most of the case systems build using these techniques were not reliable – meaning that they were not be able to do what they were expected to do.
As a result of these problems a conference were
held in 1960 in which the term software crisis was introduced. And the major
issue discussed was that the development of software is in crisis and we have
not been able to handle its complexities. And the term of Software Engineering
was also coined in the same conference. People have said that, we should use
engineering principles in developing software in the same way as we use these
principles in developing cars, buildings, electronic devices etc. Software
engineering is the result of software crisis when people realized that it is
not possible to construct complex software using the techniques applicable in
1960s. An important result of this thing was that people had realized that just
coding is not enough.
After reading this article i understand Software Crises means the starting of Software Engineering field wow.
ReplyDeletethis article is very good for software engineers... keep writing. we want more
ReplyDeleteThis artice shows the consequences and process of software and also enhance to build the software engineering. From this we also notify that how to build and manage the
ReplyDeletecriteria of car, building and electronic devices. Because the coding is not enough and had realised people's that also focused on software tools and techniques.
Yes you are right Mr. Mushahid Hussain the software crises help other also.
ReplyDeleteA software crisis is a mismatch between what software can deliver and the capacities of computer systems, as well as expectations of their users. This became a growing problem in the 20th century as computing grew by leaps and bounds and software was unable to keep pace. As the complexity of systems grows, so do the needs of users, who expect increasingly more performance from their software. Programmers may struggle to keep pace, creating a software crisis.
ReplyDelete