CH08-Software-Prototyping-软件工程讲义英语版-教学课件.ppt

上传人:可****阿 文档编号:91522605 上传时间:2023-05-27 格式:PPT 页数:39 大小:1.27MB
返回 下载 相关 举报
CH08-Software-Prototyping-软件工程讲义英语版-教学课件.ppt_第1页
第1页 / 共39页
CH08-Software-Prototyping-软件工程讲义英语版-教学课件.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《CH08-Software-Prototyping-软件工程讲义英语版-教学课件.ppt》由会员分享,可在线阅读,更多相关《CH08-Software-Prototyping-软件工程讲义英语版-教学课件.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 1Chapter 8Software PrototypingIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 2Software PrototypinglRapid software development to validate requirementsIan Sommerville 2000 Software Engineering,6th edition.Cha

2、pter 8 Slide 3ObjectiveslTo describe the use of prototypes in different types of development projectlTo discuss evolutionary and throw-away prototypinglTo introduce three rapid prototyping techniques-high-level language development,database programming and component reuselTo explain the need for use

3、r interface prototypingIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 4Topics coveredlPrototyping in the software processlPrototyping techniqueslUser interface prototypingIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 5Ian Sommerville 2000 Software Engin

4、eering,6th edition.Chapter 8 Slide 6Uses of system prototypeslThe principal use is to help customers and developers understand the requirements for the systemRequirements elicitation.Users can experiment with a prototype to see how the system supports their workRequirements validation.The prototype

5、can reveal errors and omissions in the requirementslPrototyping can be considered as a risk reduction activity which reduces requirements risksIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 7Prototyping benefitslMisunderstandings between software users and developers are expos

6、edlMissing services may be detected and confusing services may be identifiedlA working system is available early in the processlThe prototype may serve as a basis for deriving a system specificationlThe system can support user training and system testingIan Sommerville 2000 Software Engineering,6th

7、edition.Chapter 8 Slide 8Prototyping processIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 9Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 10Prototyping in the software processlEvolutionary prototypingAn approach to system development where an initial pr

8、ototype is produced and refined through a number of stages to the final systemlThrow-away prototypingA 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 p

9、rocessIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 11Prototyping objectiveslThe objective of evolutionary prototyping is to deliver a working system to end-users.The development starts with those requirements which are best understood.lThe objective of throw-away prototyping

10、 is to validate or derive the system requirements.The prototyping process starts with those requirements which are poorly understoodIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 12Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 13Evolutionary prototyping

11、lMust be used for systems where the specification cannot be developed in advance e.g.AI systems and user interface systemslBased on techniques which allow rapid system iterationslVerification is impossible as there is no specification.Validation means demonstrating the adequacy of the systemIan Somm

12、erville 2000 Software Engineering,6th edition.Chapter 8 Slide 14Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 15Evolutionary prototyping advantageslAccelerated delivery of the systemRapid delivery and deployment are sometimes more important than functionality or long-term sof

13、tware maintainabilitylUser engagement with the systemNot only is the system more likely to meet user requirements,they are more likely to commit to the use of the systemIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 16Evolutionary prototypinglSpecification,design and implement

14、ation are inter-twinedlThe system is developed as a series of increments that are delivered to the customerlTechniques for rapid system development are used such as CASE tools and 4GLslUser interfaces are usually developed using a GUI development toolkitIan Sommerville 2000 Software Engineering,6th

15、edition.Chapter 8 Slide 17Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 18Prototypes as specifications#lSome parts of the requirements(e.g.safety-critical functions)may be impossible to prototype and so dont appear in the specificationlAn implementation has no legal standing

16、as a contractlNon-functional requirements cannot be adequately tested in a system prototypeIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 19Incremental development#lSystem is developed and delivered in increments after establishing an overall architecturelRequirements and spec

17、ifications for each increment may be developedlUsers may experiment with delivered increments while others are being developed.therefore,these serve as a form of prototype systemlIntended to combine some of the advantages of prototyping but with a more manageable process and better system structureI

18、an Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 20Incremental development processIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 21Throw-away prototyping#lUsed to reduce requirements risklThe prototype is developed from an initial specification,delivered fo

19、r experiment then discardedlThe throw-away prototype should NOT be considered as a final systemSome system characteristics may have been left outThere is no specification for long-term maintenanceThe system will be poorly structured and difficult to maintainIan Sommerville 2000 Software Engineering,

20、6th edition.Chapter 8 Slide 22Throw-away prototypingIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 23Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 24Rapid prototyping techniqueslVarious techniques may be used for rapid developmentDynamic high-level lang

21、uage developmentDatabase programmingComponent and application assemblylThese are not exclusive techniques-they are often used togetherlVisual programming is an inherent part of most prototype development systemsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 25Dynamic high-leve

22、l languages#lLanguages which include powerful data management facilitieslNeed a large run-time support system.Not normally used for large system developmentlSome languages offer excellent UI development facilitieslSome languages have an integrated support environment whose facilities may be used in

23、the prototypeIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 26Choice of prototyping languagelWhat is the application domain of the problem?lWhat user interaction is required?lWhat support environment comes with the language?lDifferent parts of the system may be programmed in d

24、ifferent languages.However,there may be problems with language communicationsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 27Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 28Database programmingIan Sommerville 2000 Software Engineering,6th edition.Chapt

25、er 8 Slide 29Component and application assemblylPrototypes can be created quickly from a set of reusable components plus some mechanism to glue these component togetherlThe composition mechanism must include control facilities and a mechanism for component communicationlThe system specification must

26、 take into account the availability and functionality of existing componentsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 30Ian Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 31Reusable component compositionIan Sommerville 2000 Software Engineering,6th edit

27、ion.Chapter 8 Slide 32Compound documents#lFor some applications,a prototype can be created by developing a compound documentlThis is a document with active elements(such as a spreadsheet)that allow user computationslEach active element has an associated application which is invoked when that element

28、 is selectedlThe document itself is the integrator for the different applicationsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 33Application linking in compound documentsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 34Visual programming#lScripting lang

29、uages such as Visual Basic support visual programming where the prototype is developed by creating a user interface from standard items and associating components with these itemslA large library of components exists to support this type of developmentlThese may be tailored to suit the specific appl

30、ication requirementsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 35Visual programming with reuseIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 36Problems with visual developmentlDifficult to coordinate team-based developmentlNo explicit system architec

31、turelComplex dependencies between parts of the program can cause maintainability problemsIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 37User interface prototyping#lIt is impossible to pre-specify the look and feel of a user interface in an effective way.prototyping is essent

32、iallUI development consumes an increasing part of overall system development costslUser interface generators may be used to draw the interface and simulate its functionality with components associated with interface entitieslWeb interfaces may be prototyped using a web site editorIan Sommerville 200

33、0 Software Engineering,6th edition.Chapter 8 Slide 38Key pointslA prototype can be used to give end-users a concrete impression of the systems capabilitieslPrototyping is becoming increasingly used for system development where rapid development is essentiallThrow-away prototyping is used to understa

34、nd the system requirementslIn evolutionary prototyping,the system is developed by evolving an initial version to the final versionIan Sommerville 2000 Software Engineering,6th edition.Chapter 8 Slide 39Key pointslRapid development of prototypes is essential.This may require leaving out functionality

35、 or relaxing non-functional constraintslPrototyping techniques include the use of very high-level languages,database programming and prototype construction from reusable componentslPrototyping is essential for parts of the system such as the user interface which cannot be effectively pre-specified.Users must be involved in prototype evaluation

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁