(精选)软件工程讲义_敏捷视角下的过程.ppt_第1页
(精选)软件工程讲义_敏捷视角下的过程.ppt_第2页
(精选)软件工程讲义_敏捷视角下的过程.ppt_第3页
(精选)软件工程讲义_敏捷视角下的过程.ppt_第4页
(精选)软件工程讲义_敏捷视角下的过程.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代软件工程,第1,4章敏捷观点,第2,主要内容,敏捷流程模型极限编程适应软件开发动态系统开发方法scrum郑秀晶功能驱动开发敏捷建模摘要,第3,敏捷软件工程,敏捷软件工程哲学理念和一系列开发指南这些哲学理念尊重客户满意度和软件尽快逐步公布。小型、自主的项目团队非正式方法软件工程工作产品最小化和整体开发简化开发开发方法强调超越设计和分析(但不排除这些活动)的发布和开发人员与客户之间的主动、持续通信。4、敏捷软件工程、软件工程师和其他项目共同利益者共同组成敏捷开发团队。牙齿队掌握着自我组织,自己的命运。敏捷团队可以培养所有参与者之间的交流与合作。培养了基于电脑系统和软件产品的现代业务环境,提出了

2、快速节奏、敏捷软件工程、特定类型的软件和软件项目、传统软件工程以外的合理方案。事实证明,牙齿方法能迅速提供成功的系统。5,敏捷软件工程,敏捷开发适当的名称应该是“类软件工程”,如果客户通信、计划、建模、构建、敏捷团队认为过程是可能的,并且开发的交付项目软件增量可以满足客户,那么敏捷方法就正确实现了。7,敏捷软件开发宣言,个人和交互比流程和工具优越。与广泛的文档客户合作相比,合同协商对应的变化比遵循计划要好。也就是说,上述右边的项目很有价值,但是左边的项目有更大的价值,8,敏捷开发可以带来多方面的利益,但不是完全反对传统的软件工程实践,也不能作为超越一切的哲学理念用于所有软件工作。9,忘记了典型

3、流程模型的主要缺陷(COC02a),电脑软件开发人员的弱点。软件工程师工作方式存在很大差异,技术水平、主动性、服从性、一致性和责任感也存在很大差异。有些人能很好地以书面沟通,有些人则不然。过程模式是“利用纪律或宽容可以处理人的这种共同弱点”,大多数惯例过程模式选择了纪律。不能一致地做同一件事是人性的弱点,因此高度的纪律性方法论很脆弱。”“,10,敏捷是什么,敏捷已成为描述今天现代软件过程的流行语。每个人都是灵活敏捷的团队,能够适当地应对变化。变化是软件开发本身。软件建设发生变化,团队成员发生变化,使用新技术发生变化,各种变化影响开发的软件产品和项目本身。我们必须接受“支持变化”的思想。它必须扎

4、根于软件开发中的一切事情。因为这是软件心脏和灵魂。敏捷团队意识到软件团队是团队中所有人共同开发的,他们的个人技能和合作能力是项目成功的关键。11,敏捷联盟定义的12茄子原则,1,我们首先要做的是尽快提供有价值的软件以满足客户。2、开发后期也欢迎需求变更。敏捷流程利用变化为客户创造竞争优势。3、经常提供的工作软件,交货间隔可以从几周到几个月,交货间隔越短越好。4.在整个项目开发期间,业务人员和开发人员必须每天一起工作。12,敏捷联盟定义的12茄子原则,5,围绕受激励的个人构建项目。提供他们所需的环境和支持,相信他们能完成工作。6.队内最有效、最有效的信息传递方法是面对面对话。7、是可操作软件进度

5、的主要测量标准。8、敏捷过程促进可持续发展速度。所有者、开发人员和用户必须能够保持长期稳定的开发速度。13,敏捷联盟定义的12茄子原则,9,持续专注于优秀的技术和良好的设计,提高了敏捷性。10.需要能轻松将不必要的事情最大化的艺术。11、良好的体系结构、要求和设计来自自组织团队。12.每隔一定的时间,团队就会反思如何更有效地工作,并相应地调整自己的行为。14,三个茄子主要假说很难提前预测哪些需求是稳定的,哪些需求是可以改变的。同样,预测项目中客户优先级的变化也很困难。对很多软件来说,设计和构建是不同的。实际上,两个茄子活动必须按顺序进行,以便通过实施验证设计模型,在通过实施验证之前,很难预测设

6、计的程度。从规划的角度来看,分析、设计、构建和测试并不像我们想象的那么容易预测。15,敏捷的过程是什么,如何创造不可预测的过程?答案就在于过程的适应性。换言之,敏捷的过程必须具有适应性。但是原地踏步的连续适应变化收效甚微,所以敏捷的软件过程需要逐步适应。16,敏捷开发的立场将在敏捷软件开发许多传统软件工程反对,优越性和适用性方面有很多争论。没有人反对敏捷性。真正的问题是:“最好的实现方法是什么?”是。如何部署满足客户当前需求的软件,以及如何演示可满足客户长期需求的可扩展性,这同样重要。17,人的因素,基本能力共同目标诚实合作决策能力模糊问题解决能力相互信任和尊重自我组织,18,敏捷流程模型,所

7、有敏捷方法(在一定程度上)都遵循敏捷软件开发宣言和敏捷原则。典型的敏捷流程模型包括极限编程、自适应软件开发、动态系统开发方法、Scrum、Crystal和以特征为中心的开发。19、极限编程XP和XP使用面向对象的方法作为推荐的开发模型。XP包含规划、设计、编码和测试4茄子框架活动的规则和实践。图4-1所示。20、极限编程、图4-1极限编程流程、21、极限编程、计划:计划活动从构建一系列描述要开发的软件必备功能和功能的“故事”开始。每个服务器由客户填写并放在索引卡上。客户根据相应功能或功能的全球业务价值显示权重。22,极限编程,设计:XP设计严格遵循KIS原则。也就是说,使用简单的表示法,而不是

8、复杂的表示法。此外,设计还为故事提供了很多实施原则,不推荐额外的功能设计。23,极限编程,编码:XP建议的故事开发和基本设计完成后,团队开发了用于检测此次(软件增量)发布的所有故事包括单元测试系列,不要直接开始编码。XP编码活动的核心概念之一是对编程。24,极限编程,测试:在编码开始之前,单元测试构建是XP方法的关键因素。建立的网络必须使用可自动实现的框架,该框架支持代码修改后的即时回归测试策略。25、自适应软件开发(ASD)、自适应软件开发人员协作和团队自我组织ASD的生命周期包含三个阶段:思考、协作和学习,如图4-2所示。26,自适应软件开发,图4-2自适应软件开发,27,动态系统开发方法

9、(DSDM),DSDM是,28,动态系统开发方法(DSDM),DSDM协会是名为DSDM生命周期的牙齿生命周期定义三个茄子迭代周期,可行性研究业务研究功能模型迭代设计和构建迭代实施,29,动态系统开发方法(DSDM),DSDM协会定义一个名为DSDM生命周期的敏捷进程模型。牙齿生命周期定义了三个茄子迭代周期,添加了两个茄子生命周期活动:可行性研究业务研究功能模型迭代设计和构建迭代实施;30、30、Scrum、Scrum原则和敏捷宣言一致性组织的小型团队,这两个活动称为“最大限度地提高通信、最大限度地减少负担、非语言描述和非正式知识”。流程必须能够适应技术和业务变化。这需要“确保制造最佳产品”。流程生产经常宣布“可检查、可曹征、可测试、可文档化、可构建”的软件增加。开发工作和开发人员分为“明确、联接器低的部分或包”。在产品实施过程中,主张测试和文档记录。“Scrum过程提供了根据需要完成产品的功能。31、Scrum、图4-3 Scrum进程流,32要素定义强调如下:要素是一种小型的可发布功能,用户可以轻松说明、轻松理解,并发现检查模糊错误和遗漏。要素可以组织到具有层次关系的业务相关组中。特征小,设计和代码都容易有效地检查。项目计划、进度和跟踪由要素层次驱动,而不是由可随机调整的软件工程工作集驱动。33,以要素为中心的开发,图4-4以要素为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论