Prototyping in the software process
Evolutionary prototyping
•
An approach to system
development where an initial prototype is produced and refined through a number
of stages to the final system
Throw-away prototyping
•
A prototype which is
usually a practical implementation of the system is produced to help discover
requirements problems and then discarded. The system is then developed using
some other development process
Evolutionary
prototyping
Ø Must be used for systems where the specification cannot be developed in
advance e.g. AI systems and user interface systems
Ø Based on techniques which allow rapid system iterations
Ø Verification is impossible as there is no specification. Validation means
demonstrating the adequacy of the system
Evolutionary
prototyping advantages
Ø Accelerated delivery of the system
o Rapid delivery and deployment are sometimes more important than
functionality or long-term software maintainability
Ø User engagement with the system
o Not only is the system more likely to meet user requirements, they are
more likely to commit to the use of the system
Evolutionary
prototyping problems
Ø Management problems
o Existing management processes assume a waterfall model of development
o Specialist skills are required which may not be available in all
development teams
Ø Maintenance problems
o Continual change tends to corrupt system structure so long-term
maintenance is expensive
Contractual
problems
No comments:
Post a Comment