Documente Academic
Documente Profesional
Documente Cultură
Prototyping Process
Establish the Prototyping Objectives
do not try to do too much and escalate cost and time consider some non-obvious usage of prototype
early training early test plan early documentation initial version for iterative development
Define Prototype Functionality Develop the Prototype Evaluate the Prototype Document the results from the Prototype
Evolutionary is very popular when there is new technology, especially with UI. (e.g. Web applications)
Evolutionary Prototyping
Minimal Specification Build Prototype Try out the Prototype
NO
Note : that there may not be any Final Specification ; but there is a lot of user interaction to perform usage verification and validation.
Disadvantages
Not suited for large, complex projects where documentation is needed, more formal reviews are needed, and tighter management control is needed (when something goes wrong, there are not enough information for management to deal with). Continual modifications and changes, which may be unspecified, in the prototype make maintenance by others (even original authors) extremely difficult High possibility of scope creep which can cause increase in cost and time, forcing most of the work performed be charged under time and material basis. (This makes fixed bid a dangerous route.)
Develop an Increment
No
Integrate Increments
Yes
Increment Adequate ?
* The key here is that there is an architecture or high level design to provide a general structure.
Throw-Away Prototyping
Requirements Outline
Develop Prototype
Evaluate Prototype
Requirements Specification
Throw-Away Prototype
Main purpose is to clarify requirements Advantages:
provides an early check, clarification, and validation of requirements provide an early assessment of risks non-code form (e.g. UI) may be quick and cheap
Disadvantages:
the prototype many not have many reusable code may be pressured to keep and deliver the prototype code (e.g. technology prototype may not be user friendly or the code written is not easily maintainable))
Special Functional and Logic : Lisp and Prolog Database Centered Application Development
Progress and Forte class of 4GL development environment
some relational database reports, query, etc. processing