资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,Chapter 4,Software prototyping,4.1 Phototyping in software process,4.2 Phototyping techniques,4.3 User intercase phototyping,Key points,Chapter 4 Software prototypi,1,4.1 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.,4.1 Prototyping in the softwa,2,Prototyping objectives,The objective of,evolutionary prototyping,is to deliver a working system to end-users.The development starts with those requirements which are best understood.,The objective of,throw-away prototyping,is to validate or derive the system requirements.The prototyping process starts with those requirements which are poorly understood.,Prototyping objectives The obj,3,4.1.1 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.,4.1.1 Evolutionary prototypin,4,Evolutionary prototyping advantages,Accelerated delivery of the system,Rapid delivery and deployment are sometimes more important than functionality or long-term software maintainability.,User engagement with the system,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 advan,5,Evolutionary prototyping,Specification,design and implementation are inter-twined.,The system is developed as a series of increments that are delivered to the customer.,Techniques for rapid system development are used such as CASE tools and 4GLs.,User interfaces are usually developed using a GUI development toolkit.,Evolutionary prototyping Speci,6,Evolutionary prototyping problems,Management problems,1.Existing management processes assume a waterfall model of development.,2.Specialist skills are required which may not be available in all development teams.,Maintenance problems,Continual change tends to corrupt system,structure so long-term maintenance is,expensive.,Contractual problems,Evolutionary prototyping probl,7,Prototypes as specifications,Some parts of the requirements(e.g.safety-critical functions)may be impossible to prototype and so dont appear in the specification.,An implementation has no legal standing as a contract.,Non-functional requirements cannot be adequately tested in a system prototype.,Prototypes as specificationsSo,8,Incremental development,System is developed and delivered in increments after establishing an overall architecture.,Requirements and specifications for each increment may be developed.,Users may experiment with delivered increments while others are being developed.therefore,these serve as a form of prototype system.,Intended to combine some of the advantages of prototyping but with a more manageable process and better system structure.,Incremental development System,9,4.1.2 Throw-away prototyping,Used to reduce requirements risk.,The prototype is developed from an initial specification,delivered for experiment then discarded.,The throw-away prototype should NOT be considered as a final system.,1.Some system characteristics may have,been left out.,2.There is no specification for long-term maintenance.,3.The system will be poorly structured and difficult to maintain.,4.1.2 Throw-away prototyping,10,Prototype delivery,Developers may be pressurised to deliver a throw-away prototype as a final system.,This is not recommended,1.It may be impossible to tune the prototype to meet non-functional requirements.,2.The prototype is inevitably undocumented.,3.The system structure will be degraded through changes made during development.,4.Normal organisational quality standards may not have been applied.,Prototype delivery Developers,11,4.2 Rapid prototyping techniques,Various techniques may be used for rapid development,1.Dynamic high-level language development.,2.Database programming.,3.Component and application assembly.,These are not exclusive techniques-they are often used together.,Visual programming is an inherent part of most prototype development systems.,4.2 Rapid prototyping techniq,12,4.2.1 Dynamic high-level languages,Languages which include powerful data management facilities.,Need a large run-time support system.Not normally used for large system development.,Some languages offer excellent UI development facilities.,Some languages have an integrated support environment whose facilities may be used in the prototype.,4.2.1 Dynamic high-level lang,13,Choice of prototyping language,What is the application domain o
展开阅读全文