Professional Documents
Culture Documents
Software Engineering
Software Engineering
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.
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,
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