# Software Crisis
Developments in software technology continue to be dynamic.
New tools and techniques are announced in quick succession. This has forced the
software engineers and industry to continuously look for new approaches to
software design and development, and they are becoming more and more critical
in view of the increasing complexity of software systems as well as the highly
competitive nature of the industry. These rapid advances appear to have created
a situation of crisis within the industry. The following issued need to be
addressed to face the crisis:
• How to represent real-life entities of problems in system
design?
• How to design system with open interfaces?
• How to ensure reusability and extensibility of modules?
• How to develop modules that are tolerant of any changes in
future?
• How to improve software productivity and decrease software
cost?
• How to improve the quality of software?
• How to manage time schedules?
# Software Evaluation
Ernest Tello, A well known writer in the field of artificial
intelligence, compared the evolution of software technology to the growth of
the tree. Like a tree, the software evolution has had distinct phases “layers”
of growth. These layers were building up one by one over the last five decades
as shown in fig. 1.1, with each layer representing and improvement over the
previous one. However, the analogy fails if we consider the life of these
layers. In software system each of the layers continues to be functional, whereas
in the case of trees, only the uppermost layer is functional Alan Kay, one of
the promoters of the object-oriented paradigm and the principal designer of
Smalltalk, has said: “As complexity increases, architecture dominates the basic
materials”. To build today’s complex software it is just not enough to put
together a sequence of programming statements and sets of procedures and
modules; we need to incorporate sound construction techniques and program
structures that are easy to comprehend implement and modify.
With the advent of languages such as c, structured
programming became very popular and was the main technique of the 1980’s.
Structured programming was a powerful tool that enabled programmers to write
moderately complex programs fairly easily. However, as the programs grew
larger, even the structured approach failed to show the desired result in terms
of bug-free, easy-to- maintain, and reusable programs.
No comments:
Post a Comment