A software process that has been gaining prominence since the late 80's, software prototyping is a process for developing software that improves upon incomplete versions of the target-program.
Prototyping enables steady feedback from the users early in the process, in addition to being a reliable source of accuracy during the first development stages to determine the viability of deadlines and milestones. It's mostly useful for undefined requirements for projects that need to be executed in a hurry and the application domain isn't very well known at the specification stage.
A prototype allows users to evaluate developers' proposals for the design of the eventual product by actually trying them out, rather than relying on requirements-based descriptions. Interaction design in particular makes heavy use of prototyping with this goal.
The process of prototyping involves the following stages:
1- Identify basic requirements, including input and output information. Non-functional requirements can be set aside for now.
2- Develop initial prototype, with emphasis to user interfaces.
3- Review. The user goes over the prototype and gives feedback.
4- Revise and enhance the prototype. Improvement through feedback. Negotiation about what is within the scope of the contract/product may be necessary. The last 2 steps are repeated for approved changes
Types of prototyping
Throwaway prototyping or close-ended prototyping is a model will be eventually be discarded rather than worked on to become the final product. After basic requirements gathering is done a simple working model is made to showcase the user's requirements in order for him to form an idea of what the working software will look like. It is also called rapid prototyping. It may include storyboards, animatics or drawings are also non-functional designs that will show how the system will look. As it is, a throwaway prototype is mostly used to validate requirements and obtain new ones.
Evolutionary or breadboarding prototyping consists of constantly refining a prototype until it becomes teh final version. The evolutionary prototype forms the core of the target-system, with improvements and further requirements being built on it.
No comments:
Post a Comment