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

第1章 软件工程学概述(山东师范大学).ppt

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

第 1 章 软件工程学概述 1 . 1 软件危机 1 . 2 软件工程 1 . 3 软件生命周期 1 . 4 软件过程 1 . 5 小结 习题 学习重点 1、软件危机、软件工程产生的原因 2、软件工程过程和软件生命周期 3、软件生命周期模型 掌握几个基本概念 软件危机 软件工程 软件过程 软件生命周期 软件生命周期模型 软件危机与软件工程学 软件工程学的产生要从“软件危机”说起 1968 年,第一届 NAT0 (北大西洋公约组织的计算机科学家的国际会议)会议,“软件工程”的慨念作为一种有效解决“软件危机”的途径被正式提出。 什么是软件危机? 软件危机有什么典型表现? 为什么会产生软件危机? 怎么解决软件危机? §1 软件危机 § 1 . 1 . 1 软件危机介绍 什么是软件危机? 软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 软件危机主要包括的问题(两方面) : ① 如何开发软件 ② 如何维护软件 软件危机有什么典型表现?(1) 开发费用和进度难以估算和控制,大大超过预期的资金和规定日期; 软件需求分析不够充分,用户不满意“已经完成”的软件系统。 软件质量难于保证; 软件维护困难; 难以改正程序中的错误; 难以根据用户的需要在原有程序中增加一些新的功能。 软件危机有什么典型表现? 通常没有保留适当的文档资料。 文档的作用: 软件开发管理人员:用于管理和评价软件开发工程的进展状况 软件开发人员:用于开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正 软件维护人员:软件维护的依据 开发成本逐年上升,软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 几个软件危机的著名案例 ① 1966年,IBM 360 机的操作系统。花费 5000 人一年的工作量,写了近 1 万行代码。错误百出,每次的新版本就是从前一版本中找 1 000个程序错误而修正的结果。 ② 1963 年,美国用于控制火星探测器的计算机软件中的一个 “ , ”号被误写为“.”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。 ③ 美国丹佛新国际机场自动化行李系统软件。投资 1. 93 亿美元,计划 1993 年万圣节启用。但开发人员一直为系统错误困扰,屡次推后启用时间,直到 1994 年 6 月,机场计划者承认无法预测何时能启用。 ④ 1996 年,欧洲阿里亚纳 5 型运载火箭坠毁,造成 5 亿美元损失。原因是控制软件中的一个错误。 §1 . 1 . 2 产生软件危机的原因 主要两个原因: 1 、与软件本身的特点有关 2 、与软件开发与维护的方法不正确有关。 一 、软件本身的特点 ( 1) 软件与硬件、一般程序存在很多不同之处。 1 、软件与硬件不同 抽象性。软件生产没有明显的制造过程,难以衡量开发进展,也难以控制软件质量。 问题的隐蔽性。没有硬件的磨损、老化问题,但存在开发早期在分析、设计阶段的错误,修改难度较大。 失效率曲线 改正一个问题需付出的代价 2 、软件与一般程序不同(1) ① 软件远比一般程序规模庞大,复杂性高 软件所反映的实际问题的复杂性 程序逻辑结构的复杂性。 例 1 : Windows95 , 1000 万行代码; Windows2000, 5000 万行代码 例 2 : Exchange 2000 和 windows 2000 开发人员 软件的规模 2 、软件与一般程序不同( 2 ) ② 大型软件开发既有技术问题,还有社会问题。 社会因素:组织机构、体制、管理方式、观念、人的心理素等。 开发团队成员分工合作 技术与管理的矛盾 软件开发人员对软件应用的领域知识的了解 二、软件开发维护方法中存在的问题(1) ① 对用户需求的获取不正确 用户的原因 分析人员的原因 对分析人员的要求:沟通能力、归纳总结能力、经验 越是早期产生的错误,付出的代价越大。 图:不同时期引入同一变 动 的代价 二、软件开发维护方法中存在的问题( 2 ) ② 软件开发就是编写程序。 一个完整的软件产品由一整套完整的配置组成,程序只是其中的一个组成部分。 软件开发过程包括多个阶段,每个阶段的产品都是最终的完整的软件产品的一部分。 ③ 软件开发只要依靠个别编程高手就能完成。 ④ 轻视软件维护 软件维护约占软件费用 55 一 75 % ,包括修改软件运行的错误;对软件进行改进和功能扩充。 三、其他产生软件危机的原因 ①软件开发尚未完全摆脱手工艺的开发方式。 ② 软件成本相当昂贵,主要依靠大量复杂的、高强度的脑力劳动 ③ 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。 软件的“可移植性”就是指的软件

文档评论(0)

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

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

1亿VIP精品文档

相关文档