Page 20 - DCAP404 _Object Oriented Programming
P. 20
Unit 1: Review of Object-oriented Programming
Notes
Task Software industry faced a set of problems. What are the problems they are talking
about?
1.7 Software Evolution
Unlike consumer products, software is not manufactured. In this sense, software is not a passive
entity rather it behaves organically. It undergoes a series of evolutionary stages throughout its
lifetime – starting from a problem terminating into a solution. That is why software is said to
‘develop’ or ‘evolve’ and not manufactured.
In other words, software is born, passes through various developmental phases, gets established,
undergoes maintenance and finally grows old before being commissioned out of service.
Software engineers have developed a number of different ‘life styles’ through which software
passes. In general these life styles are known as software development life cycle or SDLC in
short.
Following are the developmental phases of software.
Study
The genesis of any software begins with the study of the problems, which it intends to solve.
Software cannot be envisaged unless there is a problem that it must solve. Therefore, studying
the problem in depth, understanding the true nature of the problem and representing the problem
in comprehensible manner is what necessitates inclusion of this phase.
Analysis
It is a detailed study of the various operations performed by the proposed software. A key
question that is considered in this phase of development is – What must be done to solve the
problem? One aspect of analysis is defining the boundaries or interface of the software.
During analysis, data are collected in available files, decision points, and transactions handled
by the present system. Bias in data collection and interpretation can be fatal to the developmental
efforts.
Notes Training, experience and common sense are required for collection of the information
needed to do the analysis.
Once analysis is completed the analyst has a firm understanding of what is to be done. The next
step is to decide how the problem might be solved. Thus, in the software systems design, we
move from the logical to the physical aspects of the life cycle.
Design
The most creative and challenging phase of software life cycle is design. The term design describes
both a final software system and a process by which it is developed. It refers to the technical
specifications (analogous to the engineer’s blueprints) that will be applied in implementing the
LOVELY PROFESSIONAL UNIVERSITY 13