You are on page 1of 3

DESRIBE THE EVOLUTION OF SOFTWEAR, CAUSES AND SOLUTIONS FOR

SOFTWEAR CRISES.
Evolution of Software is the term used in software engineering to refer to the process of
developing software initially, then repeatedly updating it for various reasons
The aim of software evolution would be to implement and revalidate the possible major
changes to the system without being able to predict how user requirements will evolve. The
existing larger system is never complete and continues to evolve. As it evolves, the
complexity of the system will grow unless there is a better solution available to solve these
issues. The main objectives of software evolution are ensuring the reliability and flexibility of
the system
During the 20 years past, the lifespan of a system could be on average 610 years. However,
it was recently found that a system should be evolved once every few months to ensure it is
adapted to the real-world environment. This is due to the rapid growth of World Wide Web
and Internet Resources that make it easier for users to find related information. The idea of
software evolution leads to open source development as anybody could download the source
codes and hence modify it. The positive impact in this case is large amounts of new ideas
would be discovered and generated that aims the system to have better improvement in
variety choices.

Software Crisis.
The difficulty of writing the code for a computer program which is correct and
understandable is referred to as software crisis. The term software crisis revolves around
three concepts: complexity, change and the expectations.

CAUSES OF SOFTWEAR CRISES


The major causes of software crisis are the problems associated with poor quality software
such as malfunctioning of software systems, inefficient development of software, and the
most important, dissatisfaction amongst the users of the software.
1.
2.
3.
4.
5.
6.

Software cost increases more than the hardware


Shortage of skilled personnel
Software products frequently crash
Insufficient training provided especially to development team
Low productivity improvements
Difficult to create a proper and accurate estimate unlike other kinds of project

SOLUTION
Over the last twenty years many different paradigms have been created in attempt to make
software development more predictable and controllable. While there is no single solution to
the crisis, much has been learned that can directly benefit today's software projects.
1. It is believed that the only satisfactory solution to the present software crisis can
possibly come from a spread of software engineering practices among the engineers,

coupled with further advancements in the software engineering discipline itself.


Software engineering is concerned with all aspects of software production from the
early stages of system specification through to maintaining the system after it has
gone into use. As a solution to this software crisis, we must apply a disciplinary
artistry
2. Through the use of computer-aided symbolic specification techniques and simulation,
and with an understanding of the software development process, the skilled systems
engineer can contribute to the resolution of the software crisis.
3. Knowledge of basic statistics and experimental design.
4. Basic understanding of commonly used software life cycle models, at least to the level
covered in an introductory senior or graduate-level software engineering course.
5. Experience working as a team member on a software development project.
Conclusion
Thus, I have discussed software crisis, its causes, the present status and the possible solution
to this crisis. Software engineering appears to be one of the few options available to tackle
software crisis. Software engineering is the application of a systematic, disciplined,
quantifiable approach to development, operation, and maintenance of software; that is, the
application of engineering to software.
It is believed that the only satisfactory solution to the present software crisis can possibly
come from a spread of software engineering practices among the engineers, coupled with
further advancements to the software engineering discipline itself. The solution being
advocated is to place a special emphasis on fault tolerance software engineering which would
provide a set of methods, techniques, models and tools that would exactly fit application
domains, fault assumptions and system requirements and support disciplined and rigorous
fault tolerance throughout all phases of the life cycle. Also, the software must not be
considered equivalent to a widget, i.e. a gadget.

REFERENCES:
Books referred:
Software engineering: concepts and techniques - Peter Naur
Software engineering- Richard H. Thayer
.
Bennett, K. H.; Rajlich, V. T.; Mazrul, R. Mohamad (1995). "Legacy System:
Coping with success". IEEE Software. pp. 1923.
Trung Hung Vo (2007), Software Maintenance aeddy; ref: Understanding Open Source
Software Evolution Walt Scacchi Institute for Software Research
Lientz, B.P. and Swanson, E.B., Software Maintenance Management, A Study Of
The Maintenance Of Computer Application Software In 487 Data Processing
Organizations.
Addison-Wesley, Reading MA, 1980. ISBN 0-201-04205-3 ISO/IEC 14764:2006, 2006.
Paul Warren; Cornelia Boldyreff; Malcolm Munro (1999). "The evolution of
websites". Proceedings of the Seventh International Workshop on Program
Comprehension IEEE. pp. 178185.
Ned Chapin; Joanne E Hale; Khaled Md Khan; Juan F Ramil; Wui-Gee Tan (2001). "Types
of software evolution and software maintenance". Journal of software maintenance
and evolution: Research and Practice (Wiley Online Library) 13 (1): 330.
Barbara Kitchenham; Guilherme Travassos; Anneliese von Mayrhauser; Frank Niessink;
Norman Schneidewind; Janice Singer; Shingo Takada; Risto Vehvilainen; Hongji Yang
(1999). "Towards an ontology of software maintenance". Journal of Software
Maintenance (Wiley) 11 (6): 365389.
Dirk Deridder (2002). "A concept-oriented approach to support software maintenance and
reuse activities". Proceedings of the 5th Joint Conference on Knowledge Based
Software Engineering.
Websites and links:
en.wikipedia.org/wiki/Software crisis
www.apl.jhu.edu/Classes/Notes/.../SoftwareEngineeringOverview.PDF
http://www.unt.edu/benchmarks/archives/1999/july99

You might also like