The Prototyping Model: Rapid Development and User Feedback, Lecture notes of System Analysis and Design

This document explores the prototyping model in software engineering, a method built on creating early experimental versions of a system to help users define their requirements more clearly. It describes the fundamental process of building a prototype, gathering user feedback, and refining the design based on those comments. You will find a clear distinction between two main strategies: the "rapid throwaway" approach and "evolutionary" prototyping.

Typology: Lecture notes

2024/2025

Available from 04/29/2026

sllmnhx
sllmnhx 🇵🇰

44 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
PROTOTYPING
MODEL
COURSE: ANALYSIS & DESIGN OF SOFTWARE
SYSTEM
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download The Prototyping Model: Rapid Development and User Feedback and more Lecture notes System Analysis and Design in PDF only on Docsity!

PROTOTYPING

MODEL

COURSE: ANALYSIS & DESIGN OF SOFTWARE SYSTEM

PROTOTYPING MODEL

  • (^) This method is based on an experimental procedure whereby a working prototype of the software is given to the user for comments and feedback.
  • (^) It helps the user to express his requirements in more definitive and concrete terms.
  • (^) Prototype can be of two types:
  • (^) The rapid throwaway prototyping
  • (^) Evolutionary prototyping
  • (^) Throwaway prototyping follows the ‘do it twice’ principle advocated by Brooks (1975). Here, the initial version of the software is developed only temporarily to elicit information requirements of the user. It is then thrown away, and the second version is developed following the waterfall model, culminating in full-scale development.
  • (^) In case of evolutionary prototyping, the initial prototype is not thrown away. Instead, it is progressively transformed into the final application.

Application system prototype development model

EVOLUTIONARY VS.

THROWAWAY PROTOTYPING

  • (^) Various revisions carried out an evolutionary

prototype usually result in bad program

structure and make it quite bad from the

maintainability point of view.

  • (^) A throwaway prototype is usually unsuitable for

testing non-functional requirements and the

mode of the use of this prototype may not

correspond with the actual implementation

environment of the final software product.

BENEFITS OF

PROTOTYPING

  • (^) Sommerville (1999) states the following benefits of prototyping:
  • (^) Misunderstanding between software developer and user may be identified.
  • (^) Missing user services may be detected.
  • (^) Difficult-to-use or confusing user services may be identified and refined.
  • (^) The developers may find incomplete and/or inconsistent requirements.
  • (^) It helps in gaining user confidence.

BENEFITS OF

PROTOTYPING

  • (^) It helps in writing the specification.
  • (^) Correct specification of requirements reduces requirements- related errors and therefore the overall development cost.
  • (^) It can be used for training users before the final system is delivered.
  • (^) Test cases for prototype can be used for the final software product (back-to-back testing). In case the results are the same, there is no need for any tedious manual checking.
  • (^) The last two benefits cited are due to Ince and Hekmatpour (1987).

GUIDELINES FOR

DEVELOPING PROTOTYPES

  • Reusable components from a library can be assembled to quickly develop a prototype. However, since the specification of the components and of the requirements may not match, these components may be useful for throwaway prototyping.
  • (^) An executable specification language , such as Z, can be used to develop a prototype if the requirements are specified in a formal, mathematical language. Functional languages, such as Miranda and ML, may be used instead, along with graphic user interface libraries to allow rapid prototype development