ImageVerifierCode 换一换
格式:PPT , 页数:83 ,大小:762KB ,
资源ID:11066763      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11066763.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(敏捷软件开发方法简介-.ppt)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

敏捷软件开发方法简介-.ppt

1、敏捷软件开发方法简介,以极限编程为例,参考资料,统一软件开发过程,,,Ivar Jacobson,Grady,Booch,James Rumbaugh,敏捷软件开发:原则、模式与实践,Robert C.Martin,微软开发过程与案例,,微软中国研究院项目经理和,开发人员,高级软件开发过程,,金敏、周翔,软件开发的过程与管理,,张湘辉,(,微软中国研究开发中心总经理,),面向对象的系统分析,,邵维忠、杨芙清,面向对象的系统设计,,邵维忠、杨芙清,主要内容,第一节敏捷方法的含义,第二节软件开发过程的比较,第三节极限编程(,eXtreme Programming,,,XP,)简介,准则,法则,活动

2、实践,讨论,应用实例,常见问题,第一节敏捷方法的含义,敏捷:轻巧、机敏、迅捷、灵活、活力、高效,敏捷开发是一种面临迅速变化的需求,快速开发软件,的,能力,敏捷过程很容易适应变化并迅速做出自我调整,在保证质,量的前提下,做到文档、度量适度,适用于各类软件企业,敏捷方法产生的背景,现代软件的特点:,复杂性:软件越来越复杂,可变性:需求越来越多变,一致性:过程越来越规范,软件开发过程敏捷化趋势,据国际著名咨询机构,Cutter Consortium,对全球,200,位,IS/IT,经理所做的调查,3,个占优的重载方法:,51%Rational Unified Process,27%CMM,26%I

3、SO 9000,大约,50%,的被调查者预计到,2003,年其,50%,以上的项目会使,用敏捷方法;,14%,的被调查者认为其所有的项目会使用敏,捷方法,From THE DECISION IS IN:AGILE VERSUS HEAVY,METHODOLOGIES,VOL.2,NO.19,by Robert,Charette,Senior Consultant,Cutter Consortium,敏捷价值观,“,注重,个人及互动,胜于,过程和工具,”,“,注重,可用的软件,胜于,详尽的文档,”,“,注重,客户协作,胜于,合同谈判,”,“,注重,响应变化,胜于,恪守计划,”,www.agile

4、manifesto.org,敏捷宣言,12,条原则,1.,最优先的目标是通过,尽早地,、,持续地,交付有价值的软件,来满足客户,2.,欢迎需求变化,,甚至在开发后期。敏捷过程控制、利用,变化帮助客户取得竞争优势,3.,频繁交付可用的软件,,间隔从两周到两个月,偏爱更短,的时间尺度,4.,在整个项目中业务人员和开发人员必须,每天在一起工作,5.,以,积极主动的员工,为核心建立项目,给予他们所需的环,境和支持,信任他们能够完成工作,6.,在开发团队内外传递信息最有效率和效果的方法是,面对,面的交流,7.,可用的软件,是进展的主要度量指标。,8.,敏捷过程提倡,可持续发展,。发起人、开发者和用户应始

5、终保持稳定的步调,9.,简化,使必要的工作最小化的艺术,是关键,10.,持续关注,技术上的精益求精,和,良好的设计,以增强敏捷性,11.,最好的架构、需求和设计产生于,自我组织的团队,12.,团队定期地对运作如何更加有效进行,反思,,并相应地调,整、校正自己的行为,第二节软件开发过程的比较,瑞理统一开发过程:,Rational Unified Process,敏捷建模:,Agile Modeling,极限编程:,eXtreme Programming,自适应软件开发:,Adaptive Software Development,水晶方法体系,:Crystal,etc.,(微软过程),i,t,

6、e,r,.,#,1,i,t,e,r,.,#,2,i,t,e,r,.,#,n,i,t,e,r,.,#,n,+,1,i,t,e,r,.,#,n,+,2,i,t,e,r,.,#,m,i,t,e,r,.,#,m,+,1,需求,设计,实现,测试,分析,核心工作流程,先启,精化,构造,转移,精化过程中的反复过程,初步的反复过程,反复序列,RUP,(,Rational Unified Process,),RUP,是,Rational,公司的改进过程的规范,它被设计成一种,由,用例驱动的、以体系结构,为中心的软件开发过程,它以,迭代的方式前进,通过执行工作流程递增地产生结果,它的,主要四个阶段,:先启、精化、

7、构建和转移,,五个核心,工作流程,:需求、分析、设计、实现和测试,由于,RUP,是一种框架,你可以以不同的方式来使用它,如,象非常传统的,“,瀑布,”,式开发方式,或敏捷式,如,dX,。你,可以把用得轻捷灵便,也可把它弄成繁文缛节。这取决于,你如何在你的环境中对它裁剪运用,先启,精化,构建,转移,需求,用户素材,小型发布,接纳测试,测量,分析,CRC,卡片,迭代计划,任务计划、迭代编程,接受背后,设计,系统隐喻,单元测试,重构,持续集成,实现,编码标准,简单设计,集体代码所有权,运行所有测试,CRC,卡片:,Class-Responsibility-Collaborator,类职责协作,XP,

8、到,RUP,的映射,Agile Modeling,AM,是一种最近才出现的软件思想,AM,是一种轻方法论,XP,实践既给了,AM,灵感,也是,AM,的一种具体实现,AM,核心原则,主张简单,拥抱变化,你的第二个目标是可持续性。简单的说,你在开发的时,候,你要能想象到未来,递增的变化,令投资人的投资最大化,有目的的建模,多种模型,高质量的工作,快速反馈,软件是项目的主要目标,轻装前进,AM,补充原则,内容比表示更重要,三人行必有我师,了解你的模型,了解你的工具,局部调整,开放诚实的沟通,自适应软件开发,ASD,的核心是三个非线性的、重迭的开发阶段:,猜测,合作,学习,水晶方法体系,水晶方法体系与

9、XP,一样,都有以人为中心的理念,但在实,践上有所不同,水晶方法体系考虑到人们一般很难严格遵循一个纪律约束,很强的过程,因此,与,XP,的高度纪律性不同,水晶方法,体系探索了用最少纪律约束而仍能成功的方法,从而在产,出效率与易于运作上达到一种平衡,也就是说,虽然水晶系列不如,XP,那样的产出效率,但会有,更多的人能够接受并遵循它,ISO9000,PDCA,循环,即由计划(,PLAN,)、实施(,DO,)、检查,(,CHECK,)、处理(,ACTION,)这四个密切相关的阶,段所构成的工作方式,持续改进,面向对象软件工程概念模型,第三节极限编程(,eXtreme Programming,),轻

10、量级敏捷软件开发方法,极限编程(,XP,)是一种全新而快捷的软件开发方法。,XP,团,队使用现场客户、特殊计划方法和持续测试来提供快速的,反馈和全面的交流。这可以帮助团队最大化地发挥他们的,价值,XP,诞生了大概有,8,年,XP,是以开发符合客户需要的软件为目标而产生的一种方,法论,XP,是一种以实践为基础的软件工程过程和思想,XP,认为代码质量的重要程度超出人们一般所认为的程度,XP,特别适合于小型的有责任心的、自觉自励的团队开发,需求不确定或者迅速变化的软件,3.1,XP,准则,XP,软件开发是什么样的,沟通,简单,反馈,勇气,有益的潜在补充准则,:,尊重,谦逊,沟通,XP,认为项目成员之

11、间的沟通是项目成功的关键,并把沟,通看作项目中间协调与合作的主要推动因素,简单,XP,假定未来不能可靠地预测,在现在考虑它从经济上是不,明智的,所以不应该过多考虑未来的问题而是应该集中力,量解决燃眉之急,反馈,XP,认为系统本身及其代码是报告系统开发进度和状态的,可靠依据。系统开发状态的反馈可以作为一种确定系统,开发进度和决定系统下一步开发方向的手段,勇气,代表了,XP,认为人是软件开发中最重要的一个方面的观点。,在一个软件产品的开发中人的参与贯穿其整个生命周期,,是人的勇气来排除困境,让团队把局部的最优抛之脑后,,达到更重大的目标。,表明了,XP,对,“,人让项目取得成功,”,的基本信任态度

12、3.2,XP,的法则,一项实践在,XP,环境中成功使用的依据,快速反馈,假设简单性,递增更改,提倡更改,优质工作,快速反馈,XP,提倡尽可能早地、迅速地每天反馈,让编程人员始终,把注意力放在最重要的软件功能上,促使系统快速演进,XP,迭代过程,假设简单性,XP,试图把注意力集中在能工作的尽可能最简单的实现上;,另一方面,可以根据给定的项目资源条件,最优地分配项,目资源,递增更改,XP,认为首次更改就尝试重大更改绝对不会成功,提倡以,重构概念为基础做小改动,用期望的功能逐步增强系统,提倡更改,最佳策略是在实际解决最重要的问题的前提下保留最多,选项的那一个,在交付最需要的东西上保留选择余地,优质

13、工作,3.3,XP,活动,XP,软件开发的基石,编码,测试,倾听,设计,编码,作为一种轻量级方法论,,XP,明确放弃了系统建档和分析,以外的任何外在活动,分析保留为一种相当简单,但是在和客户的日常沟通中,发生的持续活动,文档则明确不予鼓励,所以编码成为,XP,最主要的活动,测试,为了确保编写好的代码能实践工作,,XP,提倡编写大量测,试来检查代码是否正确,倾听,XP,编程人员倾听客户和其他编程人员的需求和意图,设计,从日常的编码中返回来进行一些一般性设计,小的设计成为,XP,编程人员日常事务的一部分,3.4,XP,的实践,项目成员用户成功执行,XP,活动的技术,1.,现场客户(,On-site

14、 Customer,),2.,计划游戏(,Planning Game,),3.,系统隐喻(,System Metaphor,),4.,简单设计(,Simple Design,),5.,代码集体所有(,Collective Code Ownership,),6.,结对编程(,Pair Programming,),7.,测试驱动(,Test-driven,),8.,小型发布(,Small Releases,),9.,重构(,Refactoring,),10.,持续集成(,Continuous integration,),11.,每周,40,小时工作制(,40-hour Weeks,),12.,代码

15、规范(,Coding Standards,),过程,团队实践,编程,现场客户、测试、计划游戏、小型发布,简单设计、测试、重构、编码标准,代码集体所有、持续集成、隐喻、编码标准、每周,40,小时工作制、结对编程、小型发布,XP,层次结构,1,现场客户,始终在开发团队中有一位客户,现场客户的工作:,回答问题,编写验收测试,运行验收测试,指导迭代,接受版本,2,计划游戏,以业务优先级和技术估计为基础,决定下一版本发布的范围,3,系统隐喻,在,XP,中,隐喻是一种概念框架并提供名称的描述系统,,类似于其他方法中的体系结构(或体系结构基准),共识,共享的术语空间,例子:,Windows,风格的界面、网上

16、购物站点的购物车,4,简单设计,系统应设计得尽可能简单,5,代码集体所有,整个团队拥有所有代码,任何人都可以更改他们需要更改的部分,没有唯一对代码有所有权的人,题外话一:编程的乐趣,(F P.Brooks),创造的快乐,开发对他人有用的东西,整体过程的魅力,持续学习的快乐,来自于易于驾驭的介质上工作,编程的快乐在于它不仅满足了我们内心深处进行创造,的渴望,而且还唤醒了每个人内心的情感,题外话二:编程的苦恼,(F P.Brooks),来自追求完美,来自由他人设定目标、供给资源、提供信息,陷入琐碎的重复性劳动,无用功,这,就是编程,一个许多人痛苦挣扎的焦油坑以及一,种乐趣和苦恼共存的创造性活动,6

17、结对编程,结对编程是让两个人共同设计和开发代码的实践。结,对者是全职合作者,轮流执行键入和监视;这提供了,持续的设计和代码评审,不是两个人做一个人的事情,积极影响,经济性,满意度,提高设计质量:分享不同的先验知识、理解和角色,持续复查,问题解决更快:集思广益和配对接力,学习:耳濡目染,团队建设和沟通,有利于人员和项目管理,卡车问题,一个项目组集体外出,不幸被卡车撞上。有多少人受伤,使项目不得不停止?,最坏的情况是,一,个!,结对编程工作区,一般工作区,学到的经验,程序员和设计人员,协调人结对编程更有效,键盘输入效率,自愿结对编程,我们行业的主要问题实质上更侧重于社会学而不是科学技术。,人件,

18、结对和简单设计,常见问题和解答,测试,编码,重构,集成或者丢弃,7,测试驱动,8,小型发布,XP,推荐小而频繁的有意义发布,9,重构,重构是,XP,的一个重要组成部分。所谓重构是指在不改变代,码外在行为的前提下对代码做出的修改,以改进代码的内,部结构。重构是一种有纪律的、经过训练的、有条不紊的,代码整理方法,可以将整理过程中不小心引入错误的可能,性降到最低。,从本质上说,重构就是在代码写好之后改进,它的设计,重构的节奏:重新推理、小的更改、重新推理、小的更,改、重新推理,10,持续集成,持续集成的思想是任何时候只有一项任务完成,就集成,新代码,构造系统并测试。持续集成是每日构建,每晚,构建的一

19、种极限形式,是,XP,的重要基础,每日构建,每晚构建是将一个软件项目的所有最新代码,取出,从头开始编译、链接,用安装软件包将链接好的,程序安装好,运行安装后的软件,使用测试工具对主要,功能进行测试,发现错误并报告错误的完整过程,每日构建是项目的心跳。如果一个项目的心跳停止,了,这个项目就死亡了,Treat the daily build as the heartbeat of the project.,If there is no heartbeat,the project is dead,让开发人员在第一时间了解到软件的错误,并迅速排除,错误,是每日构建,每晚构建最重要的目标之一,每日构建,

20、每晚构建必须出日志和报告,并发布构建结果,的有关信息,最好能够使用自动化工具发出电子邮件通知,作用,降低集成风险,加强错误诊断,降低不确定性,加快开发速度,增强团队合作,对项目参与者是重要激励,11,每周四十小时工作制,在这里,40,是一个概数,不是确数,如果能够努力地工作,8,小时,超过这个时间后就不适于,有效地工作了,8,小时燃烧,再学习,你无法改变时间,但是可以改变你的任务,12,代码规范,不变的只是愿望,变化才是永恒。,如果你聆听代码,好的设计就会出现。,3.5,XP,讨论:,XP,和软件设计,XP,提倡循序渐进的软件设计方法,以避免在前置设计中,花费巨大的精力,但这不是回到编码加修正

21、Code and Fix,)的开发方式,初始设计不可能面面俱到,受人员变动影响,设计人员和编码人员之间存在协同问题,设计人员和编码人员之间存在技能差异,不能适应变化的需求,计划设计,缺乏整体性,设计可能不可控,潜在的缺陷可能会引起其它缺陷,修正缺陷的代价可能会呈指数增长,对设计和编码人员要求更高,柔性设计,计划设计,重构,XP,中对柔性设计的支持,简单设计,测试先行,持续集成,重构,做可能有效的最简单的事情,Do the Simplest Thing That Could Possibly Work,你将不会需要它,You Aren,t Going to need it,简单的价值,效益,

22、轻装上阵,做且仅做一次,Once and Only Once,不要自我重复,Don,t Repeat Yourself,XP,衡量简单的标准,通过所有的测试,代码体现所有设计意图:,Clever Code,避免重复,类或方法的数量最少,模式,反模式和,XP,模式,反模式,对初学者,重构的目标之一,模式,选择使用模式的时机,模式和简单性,UML,和,XP,最好的,UML,图也不是产品!,3.6,XP,应用之一:,XP,在高校科研中的应用,高校研究室,组人员的一般构成:,一名以上的教授,副教授,博士生,硕士生,附属工作人员,临时教学或研究的学生,临时合作人员,高校科研用例图(理工类),高校科研项目

23、中的一些问题,高校软件(原型、项目)往往显示很差的软件工程质量:,需求不明确,缺乏客户参与,人员的持续波动或突变,没有一个适用于高校的质量体系,总是处于人员培训阶段,研发过程不连续,积累困难,往往没有激励机制,高校中的,XP,首选结对编程,学习:指定核心;知识流动的不确定性;,吸引力随着团队规模的减小而下降,高年级,低年级,不太有效,高年级,高年级,教师,学生,不太有效,持续集成,代码集体所有,重构,设计和文档重要性上升,XP,应用之二:,XP,在大型项目中的应用,层次结构的,XP,用清晰而且微小的接口分割系统,每个子项目,子课题的目标是整个项目的一个子目标,递增改进,有一个集中管理机制,充分

24、利用辅助手段进行交流,3.7,常见问题,1.,敏捷软件方法适合中国吗?,虽然敏捷软件开发方法体系的形成主要基于国外的软件,开发经验,体系的创建人和归纳人也是外国人,但是绝,大多数内容国内都可以借鉴,可能某些内容不能照搬,,在报告中没有特别区分这些内容,同时敏捷软件开发方法本身还在不断发展和完善,国内,也可以结合国内的实际情况对其发展做出贡献,2.ISO9000,体系的文档量比较重,在实际中如何操作?,ISO9000,文档数量比较多,国标中主要文档有,14,个,,但是这些文档工作也是穿插在软件开发过程的各个周期,,比如代码开发前后都是文档工作量较大的阶段,3.XP,和传统软件开发过程的差异?,X

25、P,来自于传统软件开发过程,比如,XP,的,12,个实践在传统,软件开发过程中都有,但是,XP,把它们有机地组合了起,来,取长补短,最大限度地发挥了它们的作用,另一方面,,XP,和其他敏捷方法和传统方法有很多不同,,比如对人的作用,传统方法只是把人作为一个螺丝钉,,没有很好地调动开发者的主观能动性,同时敏捷方法和开源软件有很深的关系,所以在许多地,方带有自下而上的色彩,重构就是其中的典型代表,4.XP,有和,ISO,等其他传统方法一样的具体操作规范吗?,目前敏捷方法还没有具体的操作性强的规范,更多的,是一种指导架构和思想,就像,AM,5.,采用传统开发流程的软件组织如何引入,XP,?,这方面,XP,的领导者如,Kent Beck,都有很多建议,在,XP,网站也有很多经验介绍,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服