原型开发.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 8 讲 原型开发 为什么采用原型开发 在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别是对一些大型的软件项目。 用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。 软件开发者对于所要解决的应用问题认识更是模糊不清。 随着开发工作深入,用户可能会产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需求来解脱困境。 因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利推进的障碍。 为了解决这些问题,逐渐形成了软件系统的快速原型的概念。 原型定义 在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性,用于实验和评价,以指导进一步的软件开发和生产。 对“原型”有以下设想: 原型是一个实际工作的系统; 原型没有一般的生存周期; 原型可能服务于多个不同的目的; 原型开发必须时间短、费用低; 原型是一个包含了修改和评价的完整的重复过程。 原型开发的应用 辅助分析和确定用户需求; 作为软件设计的工具; 作为一个解决不确定性的工具; 作为一种实验工具; 作为一种支持用户培训的工具; 作为实现一次性应用的一种经济的方法; 作为软件维护的辅助工具; 作为一种开发方法,利用原型演化为最终系统。 原型开发不适合的领域: 嵌入式系统; 实时控制系统; 科学数值计算。 为什么? 原型开发过程 原型开发的分类 根据原型与最终产品之间的关系,原型开发分类: 抛弃式 (throw away):验证和澄清系统的需求描述,重新构造系统。 演化式 (evolutionary):逐步改进和细化原型,将原型进化为最终系统。 增量式 (incremental):在建立软件总体设计基础上,采用增量开发方法,使原型成为最终系统。 抛弃式原型开发 抛弃式原型开发 在这种方法中,原型的根本作用是弄清需求和为风险评估提供额外的信息。经过评估,原型被抛弃,重新开发系统。 开发的要求是快速开发,其主要工作量是对原型的评价,而不是原型的设计。 存在一些问题: 为了快速开发,可以会遗漏系统的一些重要特性; 一些非功能性需求可能不会反映到原型中; 在开发过程中,快速变更可能导致没有充分的文档。 演化式原型开发 演化式原型开发 基本思路:先给出一个系统的最初实现,让用户去使用和评价,不断进行细化和完善,经过多次反复形成最后完善的应用系统。 这种开发方法,系统是逐步形成和完善的。 增加和修改是演化式原型开发的两个基本特征。 演化式方法式高度迭代和动态的。 通常采用快速系统开发技术,如CASE工具和4G语言。 对大规模、长周期的系统开发是最为重要的方法。 增量式原型开发 增量式原型开发 相对于演化式方法中,设计经常变更的问题,增量式方法是在软件体系结构设计的基础之上,完成模块设计,进行增量开发。 相比较而言,增量式方法能提供修改的范围较小,易于控制和管理。 比较 抛弃式原型开发 目标是验证和导出需求。应该从理解不够好的需求开始。 一旦需求描述完成,原型抛弃,重新开发系统。 原型不需要长期维护,差的非功能性能可以接受。 演化式原型开发 目标是给用户一个实用的系统。应该从用户需求把握最准的部分做起,优先处理。 原型逐步演化成为最终系统。 原型必须具备相当的性能要求,遵从可靠、高效的标准。 建立快速原型好处 增进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化。 软件原型化方法提供了一种有力的学习手段。 使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。 软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。 可执行规格说明 动态高级语言 专用语言 基于脚本(scenario)的设计 可复用(reusable)的软件 函数性变成语言 工具包 可执行规格说明 可执行规格说明是用于需求规格说明的一种自动化技术。使用这种方法,人们可以直接观察他们用语言规定的任何系统性行为。包括 代数规格说明 有限状态模型 可执行的数据流图 (1)代数规格说明 代数规格说明使用集合、定义于这些集合上的函数和定义于这些函数上的方程来描述对象。规格说明的操作语义用这些方程表示。 举例:定义一个无界的栈及其操作 NEW_STACK:→ Stack PUSH:Stack,Element → Stack POP: Stack → (Element | Undefined) POP (NEW_STACK ( ) ) = Undefined POP (PUSH ( stk,elem ) ) = elem 其中

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档