Prototyping
is externalizing and making concrete a design idea for the purpose of evaluation
is model of a real system
hides details to reduce complexity
is either functional, structural or behavioral
Prototyping techniques
Fidility defines prototypes closeness to the actual product
evaluate fidelity in terms of content, interactivity and design
Sketch (drawing basic concept) —> Wireframe (refininig concept) —> Mockup (creating visual graphic and content) —> Prototype (making detailed representation of product)
Why Prototyping ?
close gaps in understandind of requirements
reduce risk of customer misunderstanding and dissatisfaction
help gather early feedback from stakeholder
Criterie (characteristics) to choose right model
stakeholder
speed
medium
fidelity
stage of project
style
cost
longevity
Prototyping tools
Why?
help to create fast prototypes
create navigation links, gestures and transition
collaboration support
Horizontal prototypes
represent a broad view of entire system
focus on user interface or portion of it
When to use?
help stakeholder to externalize and explore specific functionality and behavior
help stakeholder assess whether system based on prototype allows them to do their job in an appropriate way
Vertical prototyping
known as proof of concept
implement slice of system functionality through all layers
work like real system supposed to work
Clarify feasability
optimize algorithms
evaluate database schema
Types of prototype
Throwaway vs. evolutionary prototype
Throw away
not maintained once theyve been used
Evolutionary
developed with goal to be developed further and improved later steps
vertival & horizontal prototypes an be either
Decive before constructing
Throwaway
Benefits
Build
to answer questions, to resolve uncertainaties, to improve requirements quality
Build quickly & cheaply
Emphasizes quick implementation and modification
over robustness, reliability
Evolutionary prototypes
provides solid architectural foundation
build product incrementally as req. become clear over time
used in e.g. agile development
Build with robust, production wuality code
need time and take longer to create than throwaway
design for easy growth, frequent changes and enhancement
Throwaway vs Evolutionary
Controlled experiments
Advantages
Quantitative analysisof benefits of tool
establish cause effect relationship
Limitations
hard to apply hard to apply
limited confidence
time consuming
Last changed6 months ago