- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 软件工程过程模型 普通高等院校计算机类专业系列教材 软件工程教学课件
演化模型的主要特点是利用“迭代”方法,使工程师们渐进地开发,生产出逐步完善的软件版本。在商业软件开发实践中,演化模型日益得到广泛的应用。 用户的支持、理解和全程参与是成功采用演化模型的重要前提。演化模型兼有线性顺序模型和原型模型的一些特点。但线性顺序模型本质上是假设当线性开发序列完成之后就能够交付一个完整的系统;原型模型的目的是引导用户明确需求、帮助工程师验证算法,总体上讲它并不交付一个最终的产品系统。它们都没有考虑到软件的“演化”过程。根据开发策略的不同,演化模型又可以细分为“增量”模型和“螺旋”模型两种。 2.7.1 增量模型 增量模型融合了线性顺序模型的基本成分(重复的应用这些成分)和原型模型的迭代特征,如图2.8所示。增量模型实际上是一个随着日程/时间的进展而交错的线性序列集合。每一个线性序列产生一个软件的可发布的“增量”,所有的增量都能够结合到原型模型中去。 图2.8 增量模型 当使用增量模型时,第一个增量模型往往是核心部分的产品,它实现了软件的基本需求,但很多已经明晰或者尚不明晰的补充特性还没有发布。核心产品交由用户使用或进行详细复审。使用或复审评估的结果是制定下一个增量开发计划。该计划包括对核心产品的修改及增加一些新的功能与特性。这个过程在每一个增量发布后迭代地进行,直到产生最终的完善产品。和原型模型不一样的是,增量模型虽然也具有“迭代”特征,但是每一个增量都发布一个可操作的产品,不妨称之为“产品扩充迭代”。它的早期产品是最终产品的可拆卸版本,每一个版本都能够提供给用户实际使用。 在实际开发过程中,增量模型是十分有用的一种模型。对于防范技术风险、缩短产品提交时间都能够起到良好的作用。应当再次强调的是,用户在开发软件的过程中,往往有“一步到位”的思想,因而增量式的工程开发必须取得用户的全面理解与支持,否则是难以成功的。 2.7.2 螺旋模型 螺旋模型也是属于演化软件过程模型。它将原型的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使得能够快速开发软件的增量版本。在螺旋模型中,软件开发是一系列的增量发布。和增量模型不同,它并不要求每一个增量都是可以运行的程序。在早期的迭代中,发布的增量可以是一个纸上的模型或原型;在以后的迭代中产生更加完善的版本。螺旋模型被划分为若干个框架活动,如图2.9所示。活动也称为任务区域,一般包括: * 第2章 软件工程过程模型 第2章 软件工程过程模型 2.1 软件工程的技术基础 2.2 软件工程过程 2.3 软件过程模型 2.4 线性顺序模型 2.5 原型模型 2.6 快速应用开发模型 2.7 演化软件过程模型 2.8 软件过程技术 2.9 软件重用技术 2.10 小结 2.1 软件工程的技术基础 图2.1 软件工程过程层次图 正如其他工程方法一样,软件工程必须以有组织的软件质量保证为基础。因此说,对质量的关注构成了软件工程的根基。 软件工程过程是将技术层(包括工程技术与管理技术)结合在一起的凝聚力。 过程层是软件工程的基层。软件工程过程定义了一组关键过程域(KPAs),这对于软件工程技术的有效应用是必需的。这些关键过程区域是对软件工程项目进行管理与控制的基础,并且确定了上、下各区域之间的关系。其中,对于技术方法的采用、阶段产品的产生、工程里程碑的建立、质量监控与保证、变更控制等方面都进行了规定。 除各个开发组织可以定义自己的软件工程过程之外,目前流行比较广泛的软件工程过程包括有RUP过程、极限(XP)过程、敏捷软件过程(Agile S.P)等等。 软件工程方法涵盖了需求分析、设计、编程、测试、维护等各个环节,它给出了完成这些任务在技术上应当“如何做”的方法。它依赖于一组基本原则,这些原则控制了每一个技术区域,涉及到建模活动和其他描述技术。 工具层对过程和方法提供支持,使得工程活动、管理活动得以自动、半自动的进行。例如,目前广为使用的数据库建模工具Erwin、面向对象的建模工具Rationnal Rose、配置管理工具等等。如果把一系列的工具集成起来使用,使得一个工具产生的信息可以被另一个工具使用时,就形成了一个支持软件开发的系统。这种集成了软件、硬件和一个软件工程数据库的软件工程环境,称为计算机辅助软件工程(CASE)。 2.2 软件工程过程 如前所述,软件工程过程是开发或维护软件及其相关产品的一系列活动。 软件工程过程是过去十年中人们关注的焦点。软件工程和软件工程过程之间是强相关的。软件工程过程通常包括四种基本的过程活动: (1) 软件规格说明:规定软件的功能、性能及其运行限制。 (2) 软件开发:产生满足规格说明的软
文档评论(0)