Page 62 - DCAP405_SOFTWARE_ENGINEERING
P. 62
Unit 4: Evolutionary Process Models
Since in this methodology a working model of the system is provided, the users get a Notes
better understanding of the system being developed.
Errors can be detected much earlier as the system is mode side by side.
Quicker user feedback is available leading to better solutions.
Disadvantages of Prototyping
Leads to implementing and then repairing way of building systems.
Practically, this methodology may increase the complexity of the system as scope of the
system may expand beyond original plans.
Self Assessment
Fill in the blanks:
6. Development of the ……………………….. obviously undergoes design, coding, and testing,
but each of these phases is not done very formally or thoroughly.
7. Prototyping is an attractive idea for complicated and large systems for which there is no
…………………….. process or existing system to help determine the requirements.
8. After the prototype has been developed, the end users and ………………………. are given
an opportunity to use the prototype.
9. Prototyping is often not used, as it is feared that development costs may
become…………………….
10. Requirements frozen after experience with the prototype are likely to be
more………………..
4.3 The Spiral Model
As it is clear from the name, the activities in this model can be organized like a spiral that has
many cycles. The radial dimension represents the cumulative cost incurred in accomplishing the
steps done so far, and the angular dimension represents the progress made in completing each
cycle of the spiral. The model is shown in Figure 4.3.
Each cycle in the spiral begins with the identification of objectives for that cycle, the different
alternatives that are possible for achieving the objectives, and the constraints that exist. This is
the first quadrant of the cycle (upper-left quadrant). The next step in the cycle is to evaluate these
different alternatives based on the objectives and constraints. The focus of evaluation in this step
is based on the risk perception for the project. Risks reflect the chances that some of the objectives
of the project may not be met. The next step is to develop strategies that resolve the uncertainties
and risks. This step may involve activities such as benchmarking, simulation, and prototyping.
Next, the software is developed, keeping in mind the risks. Finally, the next stage is planned.
The development step depends on the remaining risks. For example, if performance or user-
interface risks are considered more important than the program development risks, the next
step may be an evolutionary development that involves developing a more detailed prototype
for resolving the risks. On the other hand, if the program development risks dominate and the
previous prototypes have resolved all the user-interface and performance risks, the next step
will follow the basic waterfall approach.
LOVELY PROFESSIONAL UNIVERSITY 55