The software crisis means the decisive time or turning point that software developers encounter during software development. Hence software crisis represent various problems that are faced by the software developers during software development process.
Software cost is getting increased tremendously day-by-day . The software purchase expenses are higher than the hardware purchase. This is becoming worrying trend over the years.
Day-by-day, software purchase cost is getting more than the hardware purchase cost. Hence major part of budget of any software industry is on software purchase.
Software products are difficult to alter, maintain, enhance , debug or modify.
Software resources are not being used optimally.
User requirements are often evolving and cannot be satisfied fully.
Many time software products get crashed on occurence of specific conditions.
Software products are not being reliable.
Delivery of software product within specified budget and on scheduled time.
Increasing size or volume of software.
Lowered productivity or quality improvement.
Lack of skilled staff.
Inadequate software training.
Growing demand for more software.
The most effective solutions to present software crisis can be
Use and spread of software engineering practices among software engineers
Further enhancement in software engineering disciplines.
The economies of all developed nations are dependent on software.
Various systems such as medical, industrial, military, transport, telecommunications are the software system.
Software engineering is responsible for producing the reliable and trustworthy systems economically and efficiently.
Instead of just writing the programs, using the software engineering methods is cheaper in long run.
For Professional software development , writing simply the set of programs is not sufficient . The programs should be accompanied with documentations , software designs, program guides and so on.
Software is nothing but a collection of computer programs and related documents that are intended to provide desired features, functionalities and better performance.
Software products may be:
Generic that means developed to be sold to a range of different customers.
Custom that means developed for a single customers according to their specification.
Descipline: for finding the solution to the problem an engineer applies appropriate theories , methods and tools . While finding the solutions, Engineers must think of the organisational and financial constraints. Within these constraints only he/she has to find the solution
Product: the software product gets developed after following systematic theories, methods and tools along with the appropriate management activities .