Rapid Software Prototyping


Table of Contents

  1. Definition
  2. Questions
  3. Types of Prototypes
  4. Rapid Software Prototyping - Critical Questions
  5. Throwaway Prototypes
  6. Quick and Dirty Prototypes
  7. Detail Design-Driven Prototypes
  8. Nonfunctioning Mock-ups
  9. Evolutionary Rapid Prototyping
  10. Rapid Prototyping Risks

Definition

A software rapid prototype is a dynamic visual model providing a communication tool for customer and developer that is far more effective than either narrative prose or static visual models for portraying functionality.

It has been described as:

Software prototyping is an information system development methodology based on building and using a model of a system for designing, implementing, testing, and installing the system.

A software mock-up is a system development approach based on building and using a model of a system for discovering the requirements of the system.

Bottom Line: THE PROTOTYPE BECOMES THE SYSTEM

Questions

  1. Is the prototype simply the first version of the final product?
  2. Will a prototype module be as easy to modify as a dataflow diagram?
  3. Is the prototype to be used only to experiment with various design alternatives?
  4. Are we prototyping to test the requirements specifications?
  5. Will the prototype use actual data and allow the user to test what-if scenarios during demonstrations?
  6. Will there be any possibility of evolving the prototype into the final product?

Types of Prototypes

  1. Test Model (Detail Design-Driven)
  2. Quick and Dirty
  3. Throw Away
  4. Mock up
  5. Evolutionary

Rapid Software Prototyping - Critical Questions

Q. What critical objectives of software development are most effectively achieved through rapid prototyping?

A. Rapid prototyping is basically an analysis technique.

In classical software development, the client usually cannot view a physical representation of the final system until the testing phase.

Q. Are special software or hardware tools (or both) required to do rapid prototyping?

A. This depends on the type of prototype. There are six different tool-dependent approaches in current use:

  1. AI - LISP or PROLOG on a dedicated machine
  2. Mainframe - based on DBMS technology
  3. NIH (Not Invented Here) - proprietary rapid prototyping systems
  4. ADA - based on reusable code packages and program libraries, i.e. features of the language
  5. Bare Hands - based on perceived absence of a requirement
  6. RDMS - based on relational DBMS technology and interface tools

Q. To what extent should end users be involved in rapid prototyping?

A. About 50 percent of the development effort is user contributions. The users will always be present.

Throwaway Prototypes

Quick and Dirty Prototypes

Detail Design-Driven Prototypes

Nonfunctioning Mock-ups

Evolutionary Rapid Prototyping

Rapid Prototyping Risks


Author: D.A. Stacey
Date of Last Update: .