- 6
- 0
- 约3.4千字
- 约 29页
- 2017-06-01 发布于天津
- 举报
第 8 讲 原型开发 - UML软件工程组织-火龙果软件工程.ppt
第 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 其中
您可能关注的文档
最近下载
- 中国五声性调式和声研究 樊祖荫.pdf
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库参考答案详解.docx VIP
- 旅游景区毕业论文景区游客满意度.doc VIP
- 2026届上海市浦东新区高三一模语文试卷及答案.doc VIP
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库及参考答案详解.docx VIP
- DB34T 4180-2022农村公益性公墓建设规范.docx VIP
- 旅游景区游客满意度调查及提升策略研究--以乌镇为例.docx VIP
- 2026中共曲靖市麒麟区委国有企业工作委员会曲靖市麒麟区区属国有企业招聘15人备考题库及一套完整答案.docx VIP
- 2025年江苏省扬州市中考数学真题试卷含答案.pdf VIP
- 电磁场仿真软件:CST Microwave Studio二次开发_(12).VBA脚本开发.docx VIP
原创力文档

文档评论(0)