- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 完整的螺旋模型 螺旋模型主要适用于高风险的大规模项目 * 特点 瀑布模型+快速原型+风险分析 迭代过程 优点 有效降低风险; 源于对识别所有类型目标和约束的强调,有助于把软件质量作为软件开发的一个重要目标; 维护只是模型的另一个周期,在维护和开发之间并没有本质区别。 缺点 需耗费大量资金和时间用于风险评估; 要求开发人员具有丰富风险评估经验和有关知识; 开发过程比较复杂; 给过程管理和控制带来了一定的难度。 * 2.3.3 构件集成模型 主要适用于面向对象的软件开发。融合了螺旋模型的特征,支持软件开发的迭代。 * 面向对象的基本概念 对象(Object) 类(Class) 继承(Inheritance) 消息(Message) 面向对象 = 对象+类+继承+消息 * 构件集成模型 构件:适当设计和实现的类。在某个领域中具有一定通用性,可以复用。 构件库:将一系列构件存储起来,为基于构件的软件开发提供基础。 * 构件集成模型 基于构件的软件开发 * 特点 面向对象 基于构件库 融合螺旋模型特征 支持软件开发的迭代方法 软件重用 * 2.4 形式化方法模型 转换模型 净室模型 * 2.4.1 转换模型 定义 结合形式化软件开发方法和程序自动生成技术的一种软件开发模型。 实现过程 采用严格的、数学的表示体系表示软件规格说明; 进行一系列自动或半自动的程序变换; 转换为计算机系统能够接受的目标程序系统。 * 形式化 规格说明 与需求比较后修正 变换2 变换1 变换n 测试 形式化开发记录 系统需求 目标系统 转换模型原理 * 特点 形式化软件开发方法 形式化需求规格说明 变换技术 程序自动生成技术 确保正确 * 2.4.2 净室模型 形式化 盒结构表示分析和设计 正确性验证 增量模型 净室思想 在分析和设计阶段消除错误 在“洁净”状态下实现软件制作 * 需求 收集 盒结构 规约 形式化 设计 统计性使 用测试 正确性 证明 代码生成 与检查 测试计划 认证 需求 收集 盒结构 规约 形式化 设计 统计性使 用测试 正确性 证明 代码生成 与检查 测试计划 认证 需求 收集 盒结构 规约 形式化 设计 统计性使 用测试 正确性 证明 代码生成 与检查 测试计划 认证 增量1 增量2 增量n * 小结 开发模型 特点 适用场合 瀑布模型 线性模型,每阶段必须完成规定的文档 需求明确的中小型软件开发 快速原型模型 通过原型迭代完善用户需求,应用快速开发工具 需求模糊的软件开发 增量模型 每次迭代完成一个增量 容易分块的大型软件开发 螺旋模型 典型的迭代模型,重视风险分析 高风险的大型软件开发 构件集成模型 软件开发与构件开发平行进行,主要适用于OO开发 领域工程、行业软件开发 转换模型 形式化的需求说明书,自动的程序转换系统 理想化的模型 净室模型 形式化的增量开发模型,在洁净的环境下实现软件开发 熟悉形式化方法,高安全性系统 2.5 统一过程 Rational Unified Process 统一过程描述了在软件开发的各个环节why,what,how and when to do。 它将软件生存周期划分为4个阶段,每个阶段又可以分为一个或多次迭代。每次迭代是一个完整的开发循环。 每个阶段或迭代都设定一个里程碑。 * 统一过程 * 4个阶段: 初始 细化 构造 迁移 初始阶段 该阶段适当的划定系统范围并以此为基础来估计成本和预算。在该阶段识别商业需求,包括商业环境,成功因素以及可行性分析。为此需要建立基础用例模型,项目计划,风险评估和项目描述。 识别系统的大多数角色和用例 划分主要子系统 分析高层次风险 考虑时间、经费、技术、项目规模和效益等因素 制定开发计划 * 细化阶段 识别出完整的用例并完成高层设计。对当前迭代的用例进行细化,分析用例的处理流程状态细节及可能发生的状态变化。 进行需求风险分析:分析项目是否偏离的用户需求。尽量列出所有的用例和需求优先级,建立领域模型。 进行技术风险分析:通过原型方法,考察所选技术方案是否可行。 进行技能风险分析:考察人员素质是否能胜任项目的要求。 进行政策风险分析:考虑政策性因素对项目的影响。 进行高层分析和设计、作出结构性决策并建立简要的体系结构。 为构造阶段制定计划。 * 构造阶段与迁移阶段 构造阶段 进行多次迭代,每次迭代开发都是针对用例进行分析、设计、编码、测试和部署的过程。在代码完成后要保证其符合标准和设计,并进行质量检查。 迁移阶段 完成软件产品的验收测试,并完成用户文档编制和用户培训等工作。 * 2.6 敏捷过程 敏捷开发(Agile Development)是一种以人为核心的迭代式的开发方法。其开发过程称为敏捷过程。 软件项目被分为多个子项目,各个子项目的成
文档评论(0)