软件开发生命周期.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2004 IBM Software Institute IBM Software Institute IBM Software Institute 软件开发生命周期 软件开发生命周期 第一章 软件工程概述 章节目标 了解什么是软件 了解什么是软件工程 理解软件工程为什么很重要 学习软件工程的意义 Unit 标题 什么是软件? 软件是程序和所有使程序正确运行所需要的相关文档和配置信息。 软件产品有以下两类: 通用软件产品 如:操作系统、多媒体、word、PowerPoint等。 定制软件产品 如:模拟训练、数据管理、辅助决策、人工智能等各个领域。 第一章 软件工程概述 什么是软件工程? 软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。软件工程还包括上述方法的研究。 1962年,第一个金星探测器水手1号偏离航线失败。原因:导航程序一个语句语义错误 Apollo8存储器信息丢失;11号运行10天18个软件错误。 规模相对较小; 崇尚个人技巧技艺 缺乏有效方法与软件工具支持 不重视开发过程的管理 维护困难 (编写1条汇编语句=研制2个硬件逻辑门;维护1汇编语句条=修理4个硬件逻辑门) 1968年NATO(北大西洋公约组织)会议: software crisis, software engineering. 第一章 软件工程概述 第一章 软件工程概述 二、什么是软件工程? 软件工程中的分层 第一章 软件工程概述 二、什么是软件工程? 如果不考虑应用领域、项目规模和复杂性,与软件工程相关的工作可分为三个一般的阶段: . 定义阶段——集中于“做什么” . 开发阶段——集中于“如何做” . 维护阶段——集中于“改变” 软件工程的一般视图 第一章 软件工程概述 二、什么是软件工程? . 软件项目追踪和控制 . 正式的技术评审 . 软件质量保证 . 软件配置管理 . 文档的准备和产生 . 可复用管理 . 度量 . 风险管理 典型的保护性活动 第一章 软件工程概述 ? 为什么需要那么长时间才能结束开发? ? 为什么成本如此之高? ? 为什么我们不能在把软件交给客户之前就发现所有的错误? ? 为什么在软件开发过程中我们难以度量其进展? 理解软件工程为什么很重要 第一章 软件工程概述 二、什么是软件工程? 逻辑产品而不是实物 其功能依赖于人的操作和相关硬件而体现 对软件产品的要求比一般有形产品来的复杂 100万汇编语句,1万子功能,每功能2个实现,则210000=103000 组合! Hetgel负责软件研制工程时候: 几个人)时候,认为关键是方法学问题: 50人时候,文档越来越重要 200人:关键是管理问题。 复杂性:功能多样性,实现多样性,能见度低,结构合理性差 其“资金密集程度”中包含更多的人的成分(即“智力密集”) 软件工程与一般工程的差异 第一章 软件工程概述 软件销售收入比较图 三、理解软件工程为什么很重要 学习软件工程是大势所趋 第一章 软件工程概述 世界上唯一不变的东西就是变化。拒绝改变的人将永远也找不回他的奶酪! 人对不了解的东西会产生抵触。他因为害怕而拒绝改变! ——《谁动了我的奶酪?》 习题和答案 1.什么是软件危机?为什么会产生软件危机? 怎样克服软件危机? 解:? 研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。 ? 产生软件危机的原因: ? 用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。 ? 软件开发人员对用户需求的理解与用户的本来愿望有差异,导致开发出来的软件产品与用户要求不一致。 ??大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏开发大型软件系统的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。 ??软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。 ? 缺乏有利的方法学和工具方面的支持,过分的依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。 ? 软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。 ? 要克服软件危机,就要认真分析软件危机的原因,探索用工程的方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。 2. 什么叫软件工程?软件工程的诞

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档