- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 软件过程模型Process Model 瀑布模型(waterfall model) 快速原型模型(rapid prototype model) 螺旋模型(spiral model) 转换模型(transformational model) 构件集成模型(component integration model) 开发模式(Paradigm) 开发模式又称为范型、范例或模式(Pattern)。它定义了 特定问题和应用的开发过程中将遵循的步骤; 确定将用于表示问题和解的那些成分的类型; 利用这些成分表示与问题解决有关的抽象; 得到问题的结构。 开发模式的选择影响到整个软件开发生存期。它支配了 设计方法 编码语言 测试和检验技术 的选择问题 瀑布模型 问题定义和可行性研究 确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 需求分析 对待开发软件提出的需求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审 设计 总体设计 — “如何解决问题” 可以列出多种解决方案进行比较 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的和某些需求相对应的模块 详细设计 — 对每个模块要完成的工作进行更具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。 编码 把软件设计转换成计算机可以识别并运行的程序代码,即写成以某一种特定程序设计语言表示的“源程序” 写出的程序应当结构良好、清晰易读,且与设计相一致 测试 单元测试,查找各模块在功能和结构上存在的问题并加以纠正 组装测试,将已测试过的模块按一定顺序组装起来 有效性测试,按规定的各项需求,确定已开发的软件是否合格,能否交付用户使用 运行和维护 改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境而做适当变更 完善性维护 为了增强软件的功能而需做变更 瀑布模型的特点 ⑴ 顺序性、依赖性 ⑵ 推迟程序的物理实现的观点 ⑶ 质量保证的观点 —— 阶段文档与评审的要求,利于尽早发现错误。 易于组织,易于管理 缺点? 需求变化后引起的代价将很高,不适合需求模糊的系统 结构分析设计过程 结构分析设计过程 结构化技术的缺点 本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。功能变化往往引起结构变化较大,稳定性不好。 系统有明确的边界定义,且系统结构依赖于系统边界的定义,不易扩充和修改。 数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差. 快速原型模型 快速原型模型 特点 快速开发工具 循环 低成本 种类 渐进型(演化型) 抛弃型 原型法 原型的好处 从实践中学习(Learning by doing) 改善的用户参与 使部分已知的需求清晰化 展示描述的一致性和完整性 可能可以减少文档 特征约束(利用工具构造原型可以将某些特性落到实处,而非在纸上写的那样容易失误) 试验是否能产生期待的结果 原型法 原型法的缺点 用户有时误解了原型的角色,例如他们可能误解原形应该和真实系统一样可靠 缺少控制,由于用户可能不断提出新要求,因而原型迭代的周期很难控制 额外的花费:研究结果表明构造一个原型可能需要10%额外花费 运行效率可能会受影响 原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。 构造原型的对象 人机接口 系统的部分功能 … 何时引入原型系统? 支持客户销售人员通过电话回答有关客户询问汽车保险价格的系统 设计用户对话界面时 保险公司考虑实施一个基于MS Access的电话销售系统,他们不知道Access是否能够开发出相应界面的系统并具备足够快的相应时间。 方案设计阶段 螺旋模型 螺旋模型 特点 瀑布模型+快速原型+风险分析 迭代过程 一个螺旋式周期 确定目标,选择方案,选定完成目标的策略 风险角度分析该策略 启动一个开发阶段 评价前一步的结果,计划下一轮的工作 转换模型 转换模型 特点 形式化软件开发方法 形式化需求规格说明 变换技术 程序自动生成技术 确保实现的正确性 构件集成模型 构件集成模型 特点 面向对象 基于构件库 融合螺旋模型特征 支持软件开发的迭代方法 软件重用 基于构件的软件开发-CBSD CBSD(Component-based Software Development)的兴起主要是源于如下四个不同的背景: 研究方面:现代软件工程思想,特别是对复用技术的强调 产业方面
文档评论(0)