软件过程杂谈.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件过程杂谈

第一章 软件过程简介 1. CMMI   CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD)1.02版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。 1.1 CMMI的原则  (1)强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的一致的支持是过程改进的关键。  (2)仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。  (3)选择最佳实践,应该基于组织现有的软件活动和过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。  (4)过程改进要与组织的商务目标一致,与发展战略紧密结合。 1.2 CMMI的组织结构 CMMI的组织结构一般在最高领导之下设立EPG(Engineering Process Group, 工程过程组)、QA(Quality Assurance, 质量保证组)、EG(Engineering Group, 工程组),这三个组的构成就好像是立法、监督和执法的制衡体系,体现了西方的法治观念。EPG源于SEPG(Software Engineering Process Group, 软件工程过程组),本是组织中专职推进CMM的职能单位,随着CMM发展到CMMI,内容更加广泛,EPG的职能就是组织的过程改进。 CMMI 与CMM 最大的不同点在于:CMMISM-SE/SW/IPPD/SS 1.1 版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应的应用SS(Supplier Sourcing)部分。 CMMI 有两种表示方法,一种是大家很熟悉的,和软件CMM 一样 的阶段式表现方法,另一种是连续式的表现方法。这两种表现方法的区别是:阶段式表现方法仍然把CMMI 中的若干个过程区域分成了5 个成熟度级别,帮助实施CMMI 的组织建议一条比较容易实现的过程改进发展道路。而连续式表现方法则通过将CMMI 中过程区域分为四大类:过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。这样,在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。 2. RUP RUP:Rational 统一软件开发过程,软件开发流程框架或定义平台。RUP是可配制的、风险驱动、架构为中心的、基于用例驱动的软件开发过程。是无数软件工程实践经验的总结。 2.1 四个阶段 初始阶段:大体的构想、范围和模糊评估、用例,只详细编写最重要的部分用例。 细化阶段:核心架构的迭代实现,高风险用例的实现、确定大多数需求、范围以及更为准确的评估。 构造阶段:对遗留下来的风险较低的比较简单的元素迭代实现,准备部署。 移交阶段:进行beta测试和部署。 2.2 六个最佳实践 迭代的开发软件:在迭代中执行你的项目,化解需求变化风险 需求管理:用例,从用户的角度描述需求,进化式需求 使用基于构件的体系结构:利用组件与服务进行构架 可视化软件建模:对主要观点建模 验证软件质量:测试你的代码,单元测试,持续集成测试 控制软件变更:拥抱并管理变更 2.3 RUP概览图 3. 极限编程 极限编程(XP)是由 Kent Beck 在 1996 年开发的一种软件开发学科。它基于四个价值:沟通、简单、反馈和勇气。它强调客户与开发团队成员的持续沟通,在开发进程中设立一名现场客户。该现场客户决定创建的内容和顺序。通过持续重构代码并创建最小的非代码工件集合而体现简单。许多短期发布和持续单元测试建立了反馈机制。勇气意味着完成正确的事情,即使并不是最流行的事情。它还意味着诚实面对您能做的和不能做的事情。 3.1 12 个 XP 实践 有计划的开发:通过结合使用优先级故事和技术估算,确定下一版本的功能。 小版本:以小的增量版本经常向客户发布软件。 隐喻:隐喻是一个简单、共享的故事或描述,说明系统如何工作。 简单设计:通过保持代码简单从而保证设计简单。不断的在代码中寻找复杂点并且立刻进行移除。 测试:用户编写测试内容以对故事进行测试。程序员编写测试内容来发现代码中的任何问题。在编写代码前先编写测试内容。 重构:这是一项简化技术,用来移除代码中的重复内容和复杂之

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档