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

南京大学-软件工程-22-软件开发过程模型.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
敏捷原则 7. 可工作的软件是进度的首要度量标准。 8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。 9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。 10. 以简洁为本,它是极力减少不必要工作量的艺术。 11. 最好的架构、需求和设计出自自组织团队。 12. 团队定期地反思如何能提高成效,并依此调整自身的举止表现。 践行敏捷思想与原则的过程方法 极限编程XP(eXtreme Programming) Scrum 特性驱动开发(FDD/Feature Driven Development) 自适应软件开发(ASD/Adaptive Software Development) 动态系统开发方法(DSDM/Dynamic Systems Development Method) …… 极限编程 极限编程XP的一个重要思想是极限利用简单、有效的方法解决问题(这也是它被称为极限编程的原因),例如: 如果单元测试好用,那么就让所有人一直做单元测试(测试驱动); 如果集成测试好用,那么就一直做集成测试(持续集成); 如果代码评审好用,那么就一直做评审(结对编程); 如果简洁性好用,那么就只做最简洁的事情(简单设计); 如果设计好用,那么就一直设计(重构); 如果短迭代好用,那么就把迭代做的足够小(小版本发布); 如果用户参与好用,那么就让用户始终参与(现场客户)。 …… 极限编程的实践方法 开发活动 实践方法 方法描述 迭代规划 规划游戏 计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性 需求开发 现场客户 用户代表作为开发团队的一份子,始终参与软件开发活动 软件设计 系统隐喻 将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的 简单设计 保持设计简洁,满足需求,但不要包含为了未来预期而进行的设计 重构 不改变系统外部行为的情况下,改进软件内部结构的质量 极限编程的实践方法 开发活动 实践方法 方法描述 软件实现 结对编程 两个人坐在一台电脑前一起编程,一个程序员控制电脑进行编程时,另外一个人进行代码评审。编程控制权可以互换 编码规范 所有人都遵循一个统一的编程标准,因此,所有的代码看起来好像是一个人写的,每个程序员更容易读懂其他人写的代码 代码集体所有权 每个人都对所有的程序负责,每个人都可以更改程序的任意部分 软件测试 测试驱动 在编程之前,先写好程序的设计用例和测试框架,然后再编写程序 持续集成 频繁地进行系统集成,每次集成都要通过所有的单元测试;每个用户任务完成后都应该进行集成 软件交付 小版本发布 频繁地发布软件,如果有可能,应该每天都发布一个新版本;在完成任何一个改动、集成或者新需求后,就应该立即发布一个新版本 其他 每周40小时工作制 保持团队可持续开发能力,长时间加班工作会降低开发的质量和效率 Fall 2004 * The Overall XP Lifecycle 特点 敏捷过程包含的方法众多,各有特点,除了共同的思想和原则之外,很难准确描述它们的共同点,所以也无法确切界定它们的优缺点。 适用性 从敏捷联盟声明的思想和原则来看,它们反映了1990s之后软件工程的发展趋势,所以得到了广泛的应用,尤其是能够适应于快速变化或者时间压力较大的项目。 Software Process Model in Practices 2003 总结 软件生命周期模型和过程模型都是人们关于如何组织软件开发活动的有效经验总结 不同的过程模型适用于不同情况软件项目的开发活动组织 构建-修复模型 瀑布模型 增量迭代模型 演化模型 原型模型 螺旋模型 Rational 统一过程 敏捷过程 思考题 If?a?system?is?being?developed?where?the?customers?are?not?sure?of?what they want, the requirements?are?often?poorly?defined. Which of ?the following would be an appropriate process?model?for?this?type?of development? a.?prototyping b.?waterfall c.?Incremental?Delivery d.?spiral 思考题 The?project?team?developing?a?new?system?is?experienced?in?the?domain. ?Although the new p

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档