This lecture will examine the role of prototyping in Systems Development. It will describe what prototyping is, why it is used and how it may be applied in Systems Development Projects. It will establish approaches to evaluating a Prototype and finally it will discuss criteria for successful use of prototyping in a Systems Development Project. 1.1 What is a Prototype – and why would we need one?
Prototype can be described as:
“A working model of (parts of) an information system, which emphasizes specific aspects of that system.” (Vonk, 1990)
A prototype is a model of a system.
It is a model with a specific purpose (ref). This may be:
To gain a better understanding of the user’s requirements
To gain a better understanding of development technologies
To allow the customer to explore possibilities
To investigate the feasibility of a development project
It does not necessarily model the whole system. It is a means of “learning by doing”.
Thus, according to Law and Longworth (1987), the main aims of a Prototype are to: Resolve uncertainty through use
Learn and evaluate before committing large sums of money
Given its purpose, it becomes clear that, if we are going to build a prototype, then it must be done quickly (hence the term “Rapid Prototyping”). Therefore the key requirements of a prototyping approach are: Speed of construction
Speed of acquisition of user feedback
Speed of modification
The growth in popularity of prototyping may be viewed as a response to problems of conventional development, such as: Success of development relying on a “final, complete, consistent and correct set of requirements” (Boar, 1984) In the development of large systems, the long gap between specification and implementation. (Skidmore and Wroe, 1988)
1.2 What Type of Prototype?
According to Milller, (2006) there are many ways of classifying prototypes. However the most common is stated as being “how the prototype is used”. Such a classification gives us two basic types:
1.2.1 Requirements Prototypes
Here the prototype is used to determine some aspect of the requirements of the system, and it is then discarded. These are more commonly known as “throw-away” prototypes. 1.2.2 Evolutionary Prototypes
Here the prototype is continually refined until it evolves into the operational system. It may be that some parts of the system are re-designed and re-coded using a more formal approach. These are also known as Incremental Prototypes.
1.2.3 Other Classifications (refs)
Other ways of classifying prototypes include classification by aspect being modelled (e.g. performance, usability) or by the phase in the development lifecycle in which they are used (e.g. Feasibility, design, etc.). 1.3 The Prototyping Process
According to Miller, (2006), there have been many suggestions over the years as to how prototyping should be carried out. However, the precise approach should be determined by the purpose of the prototype as described in Section 1.1. Miller (2006) describes a basic model identified by Davis and Olson (1985) as shown in Figure 1. Step 3 must incorporate some evaluation of the prototyping process and product and will result in a decision on whether to carry out further prototyping. Steps 3 and 4 are iterative. The number of iterations and what is done in them is determined by the purpose of the prototype. Key Characteristics:
Involvement of End Users
Communication and Learning
1.4 Prototyping and the SDLC
Section 1.1 established that prototyping can be used for a number of purposes. Clearly the approach described by Davis and Olson (1985) stresses its use as a requirements definition tool. This view is supported by Vonk (1987) and is shown in Figure 2.
Figure 2 - Alternative courses of action after Prototyping, adapted from (Vonk, 1990) When prototyping is used as an aid to Requirements...
References: Boar, B. H., Application Prototyping, Wiley, 1984.
Davis, G. B. and M. H. Olson, Management Information Systems: Conceptual Foundations, Structure, and Development, McGraw-Hill, 1985.
Law, D. and G. Longworth, Systems Development Strategies, NCC Publications, 1987.
Miller, K., “Prototyping”, In: IS2201/IS2261 Lecture Notes, DOCM, 2006.
Pressman, R. S., Software Engineering: a Practitioner’s Approach (2nd Edition), Prentice Hall, 1987
Skidmore, S. and B. Wroe, Introducing Systems Analysis, NCC Publications, 1988.
Vonk, R. Prototyping: The Effective use of CASE Technology, Prentice Hall, 1990.
Please join StudyMode to read the full document