- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(4)“响应变化”胜过“遵循计划” 软件开发过程总会有变化,这是客观存在的现实。一个软件过程必须反映现实,因此,软件过程应该有足够的能力及时响应变化。然而没有计划的项目也会因陷入混乱而失败,关键是计划必须有足够的灵活性和可塑性,在形势发生变化时能迅速调整,以适应业务、技术等方面的变化。 2.8.1 敏捷过程概述 1.最重要的是通过尽早和持续地交付有价值的软件以满足客户需要。 2.即使在开发后期也欢迎需求的变化。敏捷过程驾驭变化带给客户竞争优势。 3.经常交付可以使用的软件,间隔可以从几星期到几个月,时间尺度越短越好。 4.业务人员和开发人员应该在整个项目过程中每天都在一起工作。 “敏捷宣言”的 原则 5.使用积极的开发人员进行项目,给他们提供所需环境和支持,并信任他们能够完成任务。 6.在开发小组中最有效率和效果的信息传达方式是面对面的交谈。 7.可以使用的软件是度量进度的主要标准。 8.敏捷过程提倡的是持续开发过程。投资 “敏捷宣言”的 原则 人、开发人员和用户应该维持一个长期稳定的步调。 9.持续地追求卓越的技术与良好的设计会增加敏捷性。 10.简单(尽可能减少工作量)是最重要的。 11.最好的架构、需求和设计都来自于自组织的团队。 “敏捷宣言”的 原则 12.团队要定期总结如何提高效率,然后相应地调整自己的行为。 根据上述价值观提出的软件过程统称为敏捷过程,其中应用比较广泛的是极限编程和Scrum。 “敏捷宣言”的 原则 极限编程(extreme programming)是敏捷过程中最负盛名的一个,其名称中“极限”二字的含义是指把好的开发实践运用到极致。目前,极限编程已经成为一个典型的开发方法,广泛应用于需求模糊且经常改变的场合。 2.8.2 极限编程 ◇ 客户作为开发团队的成员 ◇ 使用用户素材 ◇ 短交付周期 ◇ 验收测试 ◇ 结对编程 ◇ 测试驱动开发 ◇ 集体所有 1.极限编程的有效实践 ◇ 持续集成 ◇ 可持续的开发速度 ◇ 开放的工作空间 ◇ 及时调整计划 ◇ 简单的设计 ◇ 重构 ◇ 使用隐喻 1.极限编程的有效实践 必须至少有一名客户代表在项目的整个开发周期中与开发人员在一起紧密地配合工作,客户代表负责确定需求、回答开发人员的问题并且设计功能验收测试方案。 客户作为开发团队的成员 所谓用户素材就是正在进行的关于需求的谈话内容的助记符。根据用户素材可以合理地安排实现该项需求的时间。 使用用户素材 每两周完成一次的迭代过程实现了用户的一些需求,交付出目标系统的一个可工作的版本。通过向有关的用户演示迭代生成的系统,获得他们的反馈意见。 短交付周期 通过执行由客户制定的验收测试来捕获用户素材的细节。 验收测试 结对编程就是由两名开发人员在同一台计算机上共同编写解决同一个问题的程序代码,通常一个人编码,另一个人对代码进行审查与测试,以保证代码的正确性与可读性。结对编程是加强开发人员相互沟通与评审的一种方式。 结对编程 极限编程强调“测试先行”。在编码之前应该首先设计好测试方案,然后再编程,直至所有测试都获得通过之后才可以结束工作。 测试驱动开发 2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型 2.7 Rational统一过程 2.8 敏捷过程与极限编程 2.9 能力成熟度模型 第二章:软件过程 Rational统一过程(rational unified process,RUP)是由Rational软件公司(已被IBM并购)推出的一个软件开发过程框架。所谓软件开发过程框架是指团队可以根据具体的项目组或软件开发企业的不同需求,能够定义、配置、定制和实施一致的软件开发过程。 2.7 Rational统一过程 1.用于成功开发软件的一组基本观念和原则。 2. 一套关于可重用方法内容和过程构建的框架。 3. 基础的方法和过程定义语言。 RUP核心元素 2.7.1 最佳实践 1.迭代式开发:迭代式开发允许在每次迭代过程中需求发生变化,这种开发方法通过一系列细化来加深对问题的理解,因此能更容易地容纳需求的变更。也可以把软件开发过程看做是一个风险管理过程,迭代式开发通过采用可验证的方法来减少风险。 图2.7 迭代式开发 2. 管理需求:在开发软件的过程中,客户需求将不断地发生变化,因此,确定系统的需求是一个连续的过程。RUP描述了如何提取、组织系统的功能性需求和约束条件并把它们文档化。RUP采用用例分析来捕获需求,并由它们驱动设计和实现。 2.7.1 最佳实践 3.使用基于组件的架构:所谓组件就是功能清晰的
您可能关注的文档
最近下载
- 0102、U9 cloud供应链-采购管理.pptx VIP
- 0301、U9 cloud财务-基础知识.pptx VIP
- 人员培训记录表格(表格模板DOC格式).docx VIP
- 02-全员培训-U9cloud全产品介绍.pptx VIP
- 音乐鉴赏:器乐知识及作品鉴赏PPT教学课件.pptx VIP
- 0305、U9 cloud财务-成本核算.pptx VIP
- SL 640-2013 输变电项目水土保持技术规范.pdf
- 福建省厦门市同安区第一中学2024-2025学年七年级上学期期中质量检测英语试题.docx VIP
- 0303、U9 cloud财务-应收管理.pptx VIP
- 0201、U9 cloud生产管理-领域知识.pptx VIP
文档评论(0)