SYSTEMS ANALYSIS AND DESIGN
We know from the world of engineering that a manufacturer will develop a prototype model before mass producing the final product. So why not apply this concept to the development of a software product? This is what the pioneers of prototyping have set out to achieve by attempting to demonstrate how a system or a component of a computer-based information system will function in its environment.
Users find such demonstrations very helpful in visualising what proposed systems will do for them. They often find it difficult to accurately access what they are getting from a system by reading large requirements specifications.
Prototyping can result in a set of requirements that are better understood by the user and is more likely to be complete and accurate. Its advantages are that it is dynamic, flexible and provides a collaborative methodology that both aid the end user of the product and the development team.
Some benefits of developing a prototype
Misunderstandings between software developers and users may be identified as the system functions are demonstrated. •
Missing user services may be detected.
Difficult to use or confusing user services may be identified and refined. •
Software development staff may find incomplete and/or inconsistent requirements as the prototype is developed. •
A working, albeit limited, system is available quickly to demonstrate the feasibility and usefulness of the application to management. •
The prototype serves as a basis for writing the specification for a production quality system.
Ince and Hekmatpour stated other uses:
It can be used for training users before the production-quality system has been delivered. •
It can be used during system testing. The same tests can be applied to the prototype and the final system and results compared.
Boehm specified four stages in the prototype development:
Establish prototype objectives.
Select functions for prototype inclusion and make decisions on what non-functional functions must be prototyped. •
Develop the prototype.
Evaluate the prototype system.
The major technical problems associated with prototyping revolve around the need for rapid software development. Some of these management problems are:
Planning, costing and estimating a prototyping project is difficult for project managers. •
Procedures for configuration management are unsuitable for controlling rapid change inherent in prototyping. •
Management pressures to reach swift conclusions may result in inappropriate requirements.
Types of prototyping models
This method is based on producing an initial basic model that is shown to the customer for any comments, then refining the model until it reaches an acceptable system. This model may have an advantage for developers who have previously developed a similar system from which the initial model can be produced. Figure 1 shows the layout for the exploratory programming cycle.
Check to see if the
Model meets the NO
Figure 1 Exploratory programming
The system uses an iterative process to refine the initial model. The success of this approach lies in how rapidly the developer can process these iterations in order to advance to model towards its end goal.
Exploratory programming tends to result in a system that is not well defined. There will be a lot of ‘change’ going on within the software that can lead to errors being produced. This often results in problems with maintenance that can be costly and time consuming especially for large-scale systems. Verification is also a problem as it checks the project against its original specification which is not...
Please join StudyMode to read the full document