网站大量收购闲置独家精品文档,联系QQ:2885784924

软件工程:理论、技术及实践 课件 第3章 软件过程.pptx

软件工程:理论、技术及实践 课件 第3章 软件过程.pptx

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第3章软件过程;;;软件生命周期模型:对构建软件所应遵循的步骤的理论性描述。

软件生命周期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。

瀑布模型快速原型模型

增量模型 螺旋模型

喷泉模型

;瀑布模型(waterfallmodel)是在1970年由WinstonRoyce提出的,其过程流是线性的。

瀑布模型的关键是每个阶段要完成指定的文档并且该阶段的产品被软件质量保证小组认可之后,才能进入下一个阶段。;;瀑布模型被称为经典的软件生命周期模型。在有明确需求并且需求保持稳定的情况下,它是一个非常有效的过程模型。

瀑布模型不适应软件需求不明确或者在开发过程中需求经常变化的情况。;快速原型模型通过使用原型来辅助软件开发。

在需求分析阶段要得到准确、合理的需求说明可能比较困难,用户可能并不清楚自己需要的是什么样的系统。

快速原型模型适合预先不能确切定义需求的软件系统的开发。

;;快速原型模型最大的特点在于“快速”。对于采用何种形式、何种策略运用快速原型主要取决于软件项目的特点、团队成员素质、可供支持的原型开发工具和技术等,需要根据实际情况来做出决定。;如果软件有明确需求,整个开发过程不要求按照线性过程流执行,同时要求团队迅速为用户提供一套功能有限的软件产品,并允许在后续版本中再进行细化和扩展,在这种情况下,可采用增量模型比较适用。

;图3-3增量模型;;为了让软件开发能更适应风险的控制,BarryBoehm在1988年提出软件系统开发的螺旋模型,将瀑布模型和快速原型模型结合起来,强调风险分析。

螺旋模型以快速原型法为基础,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。它的基本做法是在每一个开发阶段前引入风险识别、风险分析和风险控制。;图3-4螺旋模型;B.H.Sollers和J.M.Edwards在1990年提出的喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。;;;图3-6RUP发展过程;图3-7RUP过程模型;RUP包含了软件开发积累下来的??大经验:

1.迭代和递增式开发

2.管理需求

3.基于组件的体系结构

4.可视化建模

5.验证软件质量

6.控制软件变更

;2001年,17位在当时被称为“轻量级方法学家”的软件开发者、软件工程作家以及软件咨询师(敏捷联盟)共同签署了“敏捷软件开发宣言”。;;敏捷联盟制定了12项原则,将敏捷理念落实到具体可操作的层面。敏捷软件开发项目以12项原则为基石,但并不是每一个敏捷模型都同等使用这12项原则,一些模型可以选择忽略或淡化其中的一项或多项原则的重要性。;(1)最优先要做的是通过尽早、持续地交付有价值的软件来使客户满意。

(2)即使在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。

(3)经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。

(4)在整个项目开发期间,业务人员和开发人员必须每天都在一起工作。

(5)激发个体的斗志,以他们为核心搭建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。

(6)不论团队内外,传递信息效果最好和效率最高的方式是面对面的交谈。;;;极限编程(ExtremeProgramming,XP)是目前敏捷软件开发使用最为广泛的方法之一,其主要目标在于降低因需求变更而带来的成本。

极限编程的创始人KentBeck为XP的实施确定了五个基础要素:沟通、简明、反馈、鼓励和尊重。;图3-8XP过程;Scrum最早由JeffSutherland在1993年提出,KenSchwaber在1995年OOPSLA会议上形式化了Scrum开发过程,并向业界公布。

Scrum已经是业界常用的敏捷开发方法之一。使用Scrum的产品生命周期一般包含三个阶段:

●产品定义(计划):进行迭代所需要的项目准备、项目计划和技术分析。

●迭代开发(执行):在固定时间的迭代中实现需求(产品待办列表中的条目)。

●结束:准备最终的发布,结束项目。;;每个过程模式定义了一系列开发活动:

●待办列表(Backlog):能为用户提供商业价值的项目需求或者特征的优先级列表。

●冲刺(sprint):是由一系列必须在规定时间完成的工作单元组成,这些工作单元是为了实现待定需求而必需的。在冲刺过程中,不允许进行任何变更,以确保短期内的稳定性

●Scrum例会:团队每天召开短会,帮助团队尽早发现问题。

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档