SOFTWARE PROTOTYPING

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

EVOLUTIONARY PROTOTYPING

  • Objective – Deliver a working system + requirements
  • Evolutionary prototyping is the one in which a system is build using the well understood requirements.

Advantages –

  • Accelerated Delivery
  • Makes User Commit Look like feel

Disadvantages –

  • 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.
Share: