敏捷软件开发-.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
敏捷软件开发agile development 敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。 价值观: 人和交互重于过程和工具。(沟通) 可以工作的软件重于求全责备的文档。 客户协作重于合同谈判。 随时应对变化重于循规蹈矩。 原则: 1对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。(最小原型) 2我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。(拥抱变化) 3经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。(迭代) 4业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。 5围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。 6在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。 7可以工作的软件是进度的主要度量标准。 8敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。 9对卓越技术与良好设计的不断追求将有助于提高敏捷性。 10简单——尽可能减少工作量的艺术至关重要。 11最好的架构、需求和设计都源自自我组织的团队。 12每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。 敏捷成功的因素 组织文化必须支持谈判 人少但是精干(对成员个人能力要求高) 人员彼此信任 开发人员所作决定得到认可 环境设施满足成员间快速沟通之需要 实现方法 软件开发节奏Software Development Rhythms, 敏捷数据库技术AD/Agile Database Techniques, 敏捷建模AM/Agile Modeling, 自适应软件开发ASD/Adaptive Software Development, 水晶方法Crystal, 特性驱动开发FDD/Feature Driven Development , 动态系统开发方法DSDM/Dynamic Systems Development Method, 精益软件开发Lean Software Development, Scrum XBreed XP Extreme Programming 探索性测试 XP编程 极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。XP的支持者认为软件需求的不断变化是很自然的现象,是软件项目开发中不可避免的、也是应该欣然接受的现象;他们相信,和传统的在项目起始阶段定义好所有需求再费尽心思的控制变化的方法相比,有能力在项目周期的任何阶段去适应变化,将是更加现实更加有效的方法。 Xp价值 沟通(小组成员) 简单(最简单解决办法,不断重构) 反馈(测试、客户) 勇气(系统开发中的勇气) 尊重(保证提交的任何改变不会导致编译无法通过) 测试驱动开发 策划游戏 (用户故事) 全队(原名:在场客户) 结对编程 持续整合 (持续集成) 设计最佳化(原名:软件重构) 小型发布 简单的设计 系统隐喻 集体程式码所有 程式设计标准/程式设计规约 (代码规范) 恒定速路(迭代) 可反复性速率(原名:每周40小时) 提倡 开发人员和客户之间的交互 学习 简单代码(不要过度设计) 代码评审 测试用例 关于敏捷开发的设计原则: 单一职责原则SRP:Single Responsibility Principle系统的行为将依赖对象间的关系而不是被定义在某个类中 开放封闭原则OCP:Open-Close Principle一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。收音机 圆和椭圆与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类修改具体类不影响与特定业务有关的依赖关系。 没有书面的详细的规格说明书 客户代表被安排在专案中 软件设计师以结对的方式工作 测试驱动的开发 传统的瀑布模型与迭代开发 与传统的瀑布模型相比较,迭代过程具有以下优点:   1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。   2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。   3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档