Вы находитесь на странице: 1из 18

PROTOTYPE

SEEING IS BELIEVING
A prototype is an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from. A prototype is designed to test and trial a new design to enhance precision by system analysts and users. Prototyping serves to provide specifications for a real, working system rather than a theoretical one. (From Wikipedia)

Prototyping is an iterative process that is part of the analysis phase of the systems development life cycle. Prototyping can augment this process because it converts these basic, yet sometimes intangible, specifications into a tangible but limited working model of the desired information system.

four prototyping methodologies


1. Illustrative: produces only mockups of reports and screens. 2. Simulated: simulates some system functions but does not use real data or a database, model not implemented. 3. Functional: performs some actual system functions and uses real data and/or a database, model not implemented. 4. Evolutionary: produces model(s) that become part of the final operational system

Illustrative (prototype sketch)

Illustrative (prototype mockup)

ADVANTAGES OF PROTOTYPE
Reduces development time. Reduces development costs. Requires user involvement. Developers receive quantifiable user feedback.

ADVANTAGES OF PROTOTYPE
Facilitates system implementation since users know what to expect. Results in higher user satisfaction. Exposes developers to potential future system enhancements. Provides a process to perfect the requirements definition. Provides a formal specification embodied in an operating replica.

ADVANTAGES OF PROTOTYPE
More enthusiastic and constructive end-user, customer participation in requirements activities. Improved morale of end-users, customers, and developers. Greater level of user satisfaction with systems development. Users better prepared for later stages of development due to familiarity with prototype. Delivery of early proof-of-concept.

ADVANTAGES OF PROTOTYPE
Prototype may be easily changed and even discarded. Allows productive work to proceed despite initial uncertainties. Demonstrates progress at an early stage of development. May provide early training for future users of the system. May produce some useful deliverables even if the project runs out of time or money. Should result in a product that is a better fit for the customer's requirements. Systems produced through prototyping may be judged easier to learn and easier to use.

DISADVANTAGES OF PROTOTYPE
Can lead to insufficient analysis. Users expect the performance of the ultimate system to be the same as the prototype. Developers can become too attached to their prototypes Can cause systems to be left unfinished and/or implemented before they are ready. Sometimes leads to incomplete documentation. If sophisticated software prototypes (4th GL or CASE Tools) are employed, the time saving benefit of prototyping can be lost.

DISADVANTAGES OF PROTOTYPE
Can result in unrealistic schedule and budget expectations. Iterative nature makes it difficult for management to plan and schedule. Can bias the system analysis process. If the prototype is computer-based manual alternatives are unlikely to be considered. Working prototypes may lead management and customers to believe that the final product is almost ready for delivery. People can begin to think of the prototype as the solution.

DISADVANTAGES OF PROTOTYPE
The excellent (or disappointing) performance characteristics of prototypes may mislead the customer. Prototypes generally lack security, auditing, and other controls, and data integrity may be difficult to ensure. Often inefficient and difficult to maintain. Tendency not to document. Customers may not be prepared to provide the level or frequency of feedback required for iterative prototyping.

Deciding whether to Prototype or not


Systems development efforts differ in so many ways.
Each has its own scope, requirements, developers, users, management, level of innovativeness, development time, complexity, organizational culture etc.

*While prototyping can be a strong asset for one project it can turn out to be a burden for another. The key is to use prototyping wisely

Deciding to Prototype
Situation Users are uncomfortable with abstract models *The project will have a long development time The requirements are highly uncertain Reason to consider prototyping Gives user something real to interact with Gives user and developers something to work with early on Allows users to work through the requirements as the prototype develops

*No comparable system has been previously developed - high innovation


Reaching a solution calls for simulation, experimentation, or incremental evaluation

Allows for experimentation


Allows for simulation, experimentation, and incremental evaluation

A critical system is needed quickly

Prototyping tools are generally designed for quick implementation. Can begin requirements gathering quickly.
Allows for high user participation

Users are available

Deciding Not to Prototype


Situation *an existing system algorithm-driven projects that involve heavy calculation Reason to consider prototyping requirements are well known in general prototyping tools are not designed for this type of project

The requirements are highly uncertain


users are not available large number of users *small, short-lived projects

Allows users to work through the requirements as the prototype develops


many of the advantages of prototyping are lost managing requests for changes is almost impossible the prototyping effort can not be justified

Conclusion
Prototyping can be a powerful technique in systems analysis. Before deciding to prototype developers must look at the system under development and consider whether prototyping is appropriate. They must weigh the potential benefits against the potential risks. They must consider the people involved in the project, whether they are experienced prototypers or unenthusiastic users. They must consider the prototyping approach, whether illustrative, simulated, functional, evolutionary, or throwaway, vertical, or horizontal, low-fidelity, or high-fidelity, global or local.

Conclusion
They must consider the tools available to them. Appropriately used in systems analysis, prototyping can lead to improved communication between developers and users. It can provide a process for defining the requirements. It can allow productive work to proceed even while uncertainties remain. It can provide a living specification for the final system. Appropriately used, prototyping can be the difference between success and failure.

Вам также может понравиться