软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 02第二章:软件过程.pptVIP

软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 02第二章:软件过程.ppt

  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文档。上传文档
查看更多
能力成熟度模型并不详细描述所有与软件开发和维护有关的过程,但是,有一些过程是决定过程能力的关键因素,这就是CMM所称的关键过程域。关键过程域是达到一个成熟度等级的必要条件。 除第1级成熟度之外,每个成熟度等级都指明了为改进其软件过程,软件开发组织应该重视的区域,同时也指明了为达到某个成熟度等级所必须解决的问题。 2.9.3 关键过程域 (a)软件配置管理。 (b)软件质量保证。 (c)软件子合同管理。 (d)软件项目跟踪和监督软件。 (e)项目计划。 (f)需求管理。 1.成熟度第2级 (a)同事复审。 (b)组间协作。 (c)软件产品工程。 (d)集成的软件管理。 (e)培训计划。 (f)组织过程定义。 (g)组织过程焦点。 2.成熟度第3级 (a)软件质量管理。 (b)定量的过程管理。 3.成熟度第4级 (a)过程变化管理。 (b)技术变化管理。 (c)错误预防。 4.成熟度第5级 CMM的用途主要有两个:软件开发组织用它来改进开发和维护软件的过程;政府或商业企业用它来评价与一个特定的软件公司签订软件项目合同的风险。 2.9.4 应用CMM 软件过程是为了获得高质量软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程必须科学、合理,才能开发出高质量的软件产品。 按照在软件生命周期全过程中应完成的任务的性质,在概念上可以把软件生命周期划分成问题定义、可行性研究、 小结 需求分析、概要设计、详细设计、编码和单元测试、综合测试以及维护8个阶段。实际从事软件开发工作时,软件规模、种类、开发环境、使用的技术方法等因素,都影响阶段的划分,因此,一个科学、有效的软件过程应该定义一组适合于所承担的项目特点的任务集合。 生命周期模型(即软件过程模型)规定了把生命周期划分成的阶段及各个阶段的执行顺序。本章介绍了5类典型的软件生命周期模型。瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法。这种模型的问题是,最终交付的产品可能不是用户真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。 增量模型具有能在软件开发的早期阶段使投资获得明显回报和易于维护的优点。但是,要求软件具有开放结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于大规模的内部开发项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 当使用面向对象范型开发软件时,软件生命周期必须是循环的。也就是说,软件过程必须支持反馈和迭代。喷泉模型是一种典型的适合于面向对象范型的过程模型。 能力成熟度模型(CMM),是改进软件过程的一种策略。它的基本思想是,因为问题是管理软件过程的方法不恰当引起的,所以运用新软件技术并不会自动提高软件生产率和软件质量,应当下大力气改进对软件过程的管理。CMM以增量方式逐步引入变化,它明确地定义了5个不同的成熟度等级,一个软件开发组织可用一系列小的改良性步骤迈入更高的成熟度等级。 每个软件开发组织都应该选择适合于本组织及所要开发的软件特点的软件生命周期模型。这样的模型应该把各种生命周期模型的合适特性有机地结合起来,以便尽量减少它们的缺点,充分利用它们的优点。 1.什么是软件过程?它与软件工程方法学有何关系? 2.假设你要开发一个软件,它的功能是把73?624.938?5这个数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你做出这样选择的理由。 习题 3.假设你要为一家生产和销售长筒靴的公司开发一个软件,该产品将监控该公司的存货:跟踪从购买橡胶开始,到靴子生产,发货给各个连锁店,直至卖给顾客的全过程。你在为这个项目选择生命周期模型时使用什么准则? 4.列出在开发上一题所述软件产品的过程中可能遇到的风险。你打算怎样排除这些风险? 5.你为靴类连锁店开发的存货监控软件(见第3题)很受用户欢迎,你所在的软件开发公司决定把它重新写成一个通用软件包,以卖给各种生产并通过自己的连锁店销售产品的公司。因此,这个新产品必须是可移植的,并且应该能够很容易地适应新的运行环境(硬件或操作系统),满足不同用户的需求。你在选择生命周期模型时使用的准则与在第3题中使用的准则有哪些不同? ◇ 持续集成 ◇ 可持续的开发速度 ◇ 开放的工作空间 ◇ 及时调整计划 ◇ 简单的设计 ◇ 重构 ◇ 使用隐喻 必须至少有一名客户代表在项目的整个开发周期中与开发人员在一起紧密地配合工作,客户代表负责确定需求、回答开发人员的问题并且设计功能验收测试方案。 客户作为开发团队的成员

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档