What is software prototyping?
It is the process of implementing the presumed software requirements with an intention to learn more about the actual requirements or alternative design that satisfies the actual set of requirements.
Need for software prototyping
To assess the set of requirements that makes a product successful in the market
To test the feasibility without building the whole system.
To make end-user involved in the design phase
PHASES OF PROTOTYPING
- Define the prototype objectives
- Define the functionality
- Develop Prototype
- Evaluate Prototype.
TYPES OF PROTOTYPING
- Throw away prototyping
- Evolutionary prototyping
- Operational prototyping
THROW AWAY PROTOTYPING
- Objective – Derive end system requirements
- Throw away prototyping is one type of approach where an initial prototype is built mainly focusing on the poorly understood requirements
- Once the requirements are understood requirements document is updated and a conventional development process is followed to build system
- Objective – Deliver a working system + requirements
- Evolutionary prototyping is the one in which a system is build using the well understood requirements.
- Accelerated Delivery
- Makes User Commit Look like feel
- Availability of specialist skills Maintenance over long term
- Used when requirements are either critical and understood or not critical and poorly understood.
- Throw away prototypes are selectively built on top of evolutionary prototype
TOOLS AND TECHNIQUES
- A trained prototype keeps track of user.
- Low level tools
- High Level languages
- Fourth Generation Languages (4GL)
- Visual programming.
BENEFITS OF SOFTWARE PROTOTYPING
- It makes the developers clear about the missing requirements. Let’s the developers know what actually the users want.
- Reduces the loss by bringing the manufacturer to a conclusion weather the system which we are about to build is feasible or not rather than building the whole system and finding it.
- One can have a working system in beforehand.
- It brings the user to get involved in the system design
TROUBLES OF SOFTWARE PROTOTYPING
- Developers may loose the focus on real purpose of prototype and comprise with the quality of system.
- New born ideas will be plundered at the initial stages
- Prototyping will not reveal the nonfunctional requirements like robustness, safety etc.