- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章软件生存周期及开发模型 2.2.3 增量模型 增量模型的工作流程 定义需求框架 按照构件组成及其关系设计软件系统体系结构 将构件集成进系统 验 证 系 统 系统已完成 最 终 系 统 开发增量构件 细化构件需求 设计构件 实现构件 验证构件 否 是 2.2 过程模型 2.2.1 瀑布 2.2.2 原型 2.2.3 增量 2.2.4 螺旋 Company Logo 增量模型 图 1?9 增量模型 增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别地开发。如图1-9所示。 第2章软件生存周期及开发模型 1.增量模型的三个阶段 (1)在系统开发的前期阶段,为了确保所建系统具有优良的结构,仍需要针对整个系统进行需求分析和总体设计,需要启动系统的基于增量构件的需求框架,并以需求框架中构件的组成及关系为依据,完成对软件系统的体系结构设计。 (2)在完成软件体系结构设计之后,可以进行增量构件的开发。这时需要对构件进行需求细化,然后进行设计、编码测试和有效性验证。 (3)在完成了对某个构件的开发之后,需要将该构件集成到系统中去,并对已经发生了改变的系统重新进行有效性验证,然后再继续下一个增量构件的开发。 2.2 过程模型 2.2.1 瀑布 2.2.2 原型 2.2.3 增量 2.2.4 螺旋 第2章软件生存周期及开发模型 2.增量模型的作用 (1)开发初期的需求定义只是用来确定软件的基本结构,这使得开发初期,用户只需要对软件需求进行大概的描述,而对于需求的细节描述,则可以延迟到增量构件开发时进行,以增量构件为单位逐个地进行需求补充。 (2)软件系统可以按照增量构件的功能安排开发的优先顺序,并逐个实现和交付使用。这不仅有利于用户尽早地用上系统,能够更好地适应新的软件环境,而且用户在以增量方式使用系统的过程中,还能够获得对软件系统后续构件的需求经验。 (3)软件系统是逐渐开展的,因此开发者可以通过对诸多构件的开发,逐步积累开发经验。实际上增量式开发还有利于技术复用, (4)增量式开发还有利于从总体上降低软件项目的技术风险。 2.2 过程模型 2.2.1 瀑布 2.2.2 原型 2.2.3 增量 2.2.4 螺旋 Company Logo 增量模型 增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点,此外,它还有以下优点: 第一个可交付版本所需要的成本和时间很少; 开发由增量表示的小系统所承担的风险不大; 由于很快发布了第一个版本,因此可以减少用户需求的变更; 允许增量投资,即在项目开始时,可以仅对一个或两个增量投资。 增量模型的不足为: 如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定; 如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布; 管理发生的成本、进度和配置的复杂性,可能会超出组织的能力。 Company Logo 增量模型 增量模型适用于以下特点的软件项目。 软件产品可以分批次地进行交付。 待开发的软件系统能够被模块化。 软件开发人员对应用领域不熟悉,难以一次性地进行系统开发。 项目管理人员对全局把握的水平较高。 第2章软件生存周期及开发模型 2.2.4 螺旋模型 2.2 过程模型 2.2.1 瀑布 2.2.2 原型 2.2.3 增量 2.2.4 螺旋 第2章软件生存周期及开发模型 2.2.4 螺旋模型 在笛卡尔坐标的4个象限上分别表达各方面的活动: 制订计划:确定软件目标,选定实施方案,弄清项目开发限制条件。 风险分析:分析所选方案,考虑如何识别和消除风险。 实施工程:实施软件开发。 用户评估:评价开发工作,提出修正建议。 2.2 过程模型 2.2.1 瀑布 2.2.2 原型 2.2.3 增量 2.2.4 螺旋 Company Logo 2.2.4 螺旋模型 沿着螺旋线每旋转一圈,表示开发出一个较前一个版本更为完善的新软件版本。 螺旋模型的优越性在于它吸收了“进化”的概念,使得开发人员和用户对每一个进化层出现的风险有所了解。 螺旋模型也存在其缺点:一个周期执行时间太长;要有方法和自动化工具支持,否则无法实施。 螺旋模型适应于风险较大的大型软件项目的开发。 第2章软件生存周期及开发模型 2.1 软件过程概述 2.2 传统的软件工程过程模型 2.3 面向对象的软件过程模型 2.4 敏捷软件开发过程模型 2.5 小结 第2章软件生存周期及开发模型 2.3 面向对象的软件过程模型 面向对象的软件开发特点 开发阶段界限模糊,开发过程逐步求精,开发活动反复迭代。 开发活动是在分析、设计和实现阶段之间的反复迭代。 每次迭代都会增加或者明确一些目标系统的性质,但却不是对前期工作结构的本质性改
文档评论(0)