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

软件工程1-1.ppt

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

软件的复杂度 1968 年正式提出“软件工程”这一术语之后,软件工程围绕计算机科学、工程和管理三个方面,做了很多研究,建立了早期关于软件工程管理的一些基本准则,从中,我们可以看出早期软件工程的一些思路与出发点。 其中最著名的是著名软件工程专家B.W.Boehm 在1983 年的一篇论文中,提出的软件工程7 条基本原理,反映了作为软件工程应该关注和考虑的若干本质问题: (1)用分阶段的生命周期计划严格管理 经统计表明,不成功的软件项目中有一半左右是由于计划不周造成的。 Boehm认为,在软件的整个生命周期中应制定并严格执行六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。 (2)坚持进行阶段评审 大部分错误是在编码之前造成的 错误发现与改正得越晚,所需付出的代价越高。 因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程的错误 (3)实行严格的产品控制 在软件开发过程中不要随意改变需求,因为改变某项需求往往需要付出较高的代价,但在实践中用户往往会提出需求变更,因此需要采取科学的产品控制技术。 目前主要实行基准配置管理:基准配置是指经过阶段评审后的软件配置成分,如各个阶段产生的文档或程序代码。 对涉及基准配置的修改,必须经过严格的评审,通过后才能实施修改。 (4) 采用现代程序设计技术 实践表明:采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。 80年代及之前:结构化分析、设计技术 90年代:面向对象分析、设计技术 (5) 结果应能清楚地审查 软件产品是看不见、摸不着的逻辑产品,开发过程难以评价和管理。 根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,使所得的结果能够清楚地审查 (6) 开发小组的人员应该少而精 开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。 开发小组人员数目的增加,使相互交流复杂、费用增加。 (7)承认不断改进软件工程实践的必要性 遵循前6条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但不能保证赶上时代前进的步伐。 积极主动采纳新的软件技术,且不断总结经验。 现代软件工程更好地体现了“软件工程是计算机科学、工程与管理学科的结合”这一软件工程的定义和根本宗旨,因此,计算机科学、工程学和管理科学成为现代软件工程的主要知识来源和应用领域。这个观点,被IEEE的《软件工程知识体系指南(SWEBOK2004)》所完全印证。 为了说明这三在者的关系,我们把软件工程看成是如下的一个“魔方”:四个方面: 过程与模型 方法与技术 工具和环境 标准和规范 软件工程框架模型 现代软件工程的生存周期 现代软件工程的软件生存周期(7个过程): 现代软件工程的生存周期 在合同的观点下,获取代表了需方、供应代表了供方 一、获取过程: 需方按合同获取一个系统、软件产品和服务的活动 活动从定义软件产品或服务的获取需求开始,然后是准备并公布标书、选择供方和管理获取过程,直到系统的验收。 二、供应过程: 供方向需方提供合同中的系统、软件产品和服务的活动 该过程的开始方法有二种: 一是准备一份建议书以应答需方的标书(定制系统); 二是展示一个含有需方要求功能的软件系统(产品或服务) 与需方签订合同或协议 供应过程规定了为管理和保证项目质量所需的步骤和资源,其中包括: 制订项目计划和实施计划,直到向需方交付系统、产品或服务。 现代软件工程的生存周期 三、管理过程: 按照管理的观点,一个机构(供方、需方、开发者、操作者和维护者)管理着各自的过程 管理过程定义了生存周期过程中的各项管理活动,包括: 项目的开始和范围定义 项目管理计划以及实施和控制 产品的评审和评价以及项目的完成。 在工程的观点下,开发者、操作者、维护者分别通过开发、操作、维护过程生产软件产品或提供服务 四、开发过程: 开发过程是开发者为了定义和开发软件产品或服务所需要的活动,包括:需求分析、设计、编码、集成、测试、软件安装和验收等活动。 现代软件工程的生存周期 五、操作过程: 此过程定义操作者为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。 六、维护过程: 此过程定义维护者为了管理软件的更新、使其保持良好运行所需要的活动,包括系统的移植和退役。 七、支持过程: 支持过程对项目生存周期过程给予支持,有助于项目的成功并提高项目的质量。 各过程可以根据实际需要,进行裁剪或增加。 以上的几个过程,并不是就只在某一环节起作用,过了这个环节,该过程就结束了,它们是贯穿始终、协同工作的。 小结:传统软件工程相当于:开发过程+维护过程 思考: 如何考察一个软件企业的“软件工业化、自动化水平”? 标准是什么、要素是什么、度量的尺度和方法是什么

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档