Page 59 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 59
Unit 3: Software Requirements
3. ……………….engineering is the methodology. Notes
(a) Real-time software (b) Process-control software
(c) Object-oriented software (d) None of these
4. The ................... is based on the program’s control flow graph do not confuse that with the
program’s data flow graph.
(a) data flow testing (b) data flow model
(c) data flow machines (d) data dictionary
5. The purpose of object oriented analysis is to develop solution models that satisfy the
customer requirement.
(a) True (b) False
3.4 Prototyping
Prototyping is a process that enables developer to create a small model of software. The standard
defines prototype as a preliminary form or instance of a system that serves as a model for later
stages for the final complete version of the system.
A prototype may be categorized as follows:
1. A paper prototype, which is a model depicting human machine interaction in a form that
makes the user understand how such interaction, will occur.
2. A working prototype implementing a subset of complete features.
3. An existing program that performs all of the desired functions but additional features is
added for improvement.
Prototype is developed so that customers, users and developers can learn more about the problem.
Thus, prototype serves as a mechanism for identifying software requirements. It allows the user
to explore or criticize the proposed system before developing a full scale system.
3.4.1 Types of Prototype
The prototypes are developed using the following two techniques:
Throw Away Prototype
In this technique, the prototype is discarded once its purpose is fulfilled and the final system
is built from scratch. The prototype is built quickly to enable the user to rapidly interact with
a working system. As the prototype has to be ultimately discarded, the attention on its speed,
implementation aspects, maintainability and fault tolerance is not paid. In requirements defining
phase, a less refined set of requirements are hurriedly defined and throw away prototype is
constructed to determine the feasibility of requirement, validate the utility of function, uncover
missing requirements, and establish utility of user interface. The duration of prototype building
should be as less as possible because its advantage exists only if results from its use are available
in timely fashion.
Evolutionary Prototype
In this, the prototype is constructed to learn about the software problems and their solutions in
successive steps. The prototype is initially developed to satisfy few requirements. Then, gradually,
the requirements are added in the same prototype leading to the better understanding of software
system. The prototype once developed is used again and again. This process is repeated till all
requirements are embedded in this and the complete system is evolved.
LOVELY PROFESSIONAL UNIVERSITY 53