第一章2软件工程概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019/12/14
8
软件危机表现--软件成本日益增长
20世纪50年代,软件成本在整个 计算机系统成本中所占的比例为 10%-20%。到20世纪60年代中期 ,软件成本在计算机系统中所占 的比例已经增长到50%左右。
而且,该数字还在不断的递增, 下面是一组来自美国空军计算机 系统的数据:1955年,软件费用 约占总费用的18%,1970年达到 60%,1975年达到72%,1980年达 到80%,1985年达到85%左右
2019/12/14
20
软件工程的七条基本原理
1.用分阶段的生命周期计划严格管理
统计表明,50%以上的失败项目是由于计划不周而造成的 。这条原理意味着,应该把软件生命周期分成若干阶段,并 相应制定出切实可行的计划,然后严格按照计划对软件的开 发和维护进行管理。Boehm 认为,在整个软件生命周期中应 指定并严格执行6 类计划: - 项目概要计划 - 里程碑计划 - 项目控制计划 - 产品控制计划 - 验证计划 - 运行维护计划
特别是在软件使用过程中,原来的开发人员可能 因各种原因已经离开原来的开发组织,使得软件 几乎不可维护。
有资料表明,工业界为维护软件支付的费用占全 部硬件和软件费用的40-75%
2019/12/14
12
软件生产存在的常见问题
1. 需求搞不清楚 2. 开发周期长 3. 成本高 4. 质量低、不能满足用户需要 过去应用系统开发中,得到的常见的体会:
2019/12/14
9
软件危机表现
开发进度难以控制
在软件开发过程中,用户需求变化等各种意想 不到的情况层出不穷,令软件开发过程很难保 证按预定的计划实现,给项目计划和论证工作 带来了很大的困难。
盲目增加软件开发人员并不能成比例的提高软 件开发能力。相反,随着人员数量的增加,人 员的组织、协调、通信、培训和管理等方面的 问题将更为严重。
发工作,写出了近100万行源程序。......据统计,这个操作系
统每次发行的新版本都是从前一版本中找出1000个程序错误而修
正的结果。......

这个项目的负责人F. D. Brooks事后总结了他在组织开发
过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭
中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾
2019/12/14
15
分组讨论
分组讨论 4-6人一组,时间5分钟,讨论什么是“软件”,什么
是“工程”,随机抽2名同学回答。
Page 16
软件工程定义

“软件工程”一词是来自于1968年北大西洋公
约组织(NATO)在联邦德国召开的一次会议上首
次提出来的。
它的主要思想是 “把软件当成一种产品。并要 求采用工程化的原理与方法对软件进行计划、开发 和维护。
19
软件工程的七条基本原理
自从1968 年提出“软件工程”这一术语以来,研 究软件工程的专家学者们陆续提出了100 多条关于软 件工程的准则和信条。美国著名的软件工程专家 Boehm 综合这些专家的意见,并总结了TRW 公司多 年的软件开发经验,于1983 年提出了软件工程的七条 基本原理。

”专职应别人的需求写软件。 急剧膨胀
随着计算机应用的日益普及,软件的数量急剧膨 胀,软件需求日趋复杂,用户有了新的需求是必须相 应地修改程序;硬件或操作系统更新时,通常需要修 改程序以适应新的环境。
上述种种维护工作以令人吃惊的比例耗费资源; 更严重的是许多程序的个体化特性使得他们维护的难 度越来越大,最终成为不可维护的。
个体化的软件环境,使得软件开发没有什么系统 的方法可以遵循,软件设计是在某个人的头脑中完成 的一个隐藏的过程。除了源代码往往没有软件说明书 等文档。
(案例,我国早期小软件公司的核心人员的决定公司的 命运)
Page 4
软件危机产生
软件作坊 60年代中期到70年代中期,出现了“软件作坊

软件工程的目标是实现生产高质量的软件产品
2019/12/14
17
两类软件工程方法
传统软件工程(结构化方法)
面向对象软件工程
现实世界
OOA
OOD
OOP
结构化分析 结构化设计 结构化编程
可执行软件系统
2.1软件工程概述-要点
软件危机 软件工程定义 软件工程的七条基本原理
2019/12/14
2019/12/14
10
软件危机表现
软件质量差
由于缺乏工程化思想的指导,程序员几乎总是 习惯性的以自己的想法去代替用户对软件的需 求,软件设计带有随意性,很多功能只是程序 员的一厢情愿而已,这是造成软件令人不满意 的重要因素。
2019/12/14
11
软件危机表现
软件维护困难
由于在软件设计和开发过程中,没有严格遵循软 件开发标准,各种随意性很大,没有完整的真实 反映系统状况的记录文档,给软件维护造成了巨 大的困难。
一直到系统交付,才明白用户的需求是什么。甚 至系统运行半年之后,才会发现真正的需求问题。 即企业所运行的软件系统伴随社会的不断发展,软 件需求就会不断变更。
2019/12/14
13
问题讨论
如何克服危机?
以上的这
些问题能
够解决吗?
பைடு நூலகம்
2019/12/14
14
2.1软件工程概述-要点
软件危机 软件工程定义 软件工程的七条基本原理
难。......程序设计工作正像这样一个泥潭,......一批批程序
员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这
样的困境......”。IBM360操作系统的历史教训成为软件开发项
目的典型事例为人们所记取。
2019/12/14
7
软件危机表现
软件成本日益增长 开发进度难以控制 软件质量差 软件维护困难 ……
Chapter 02 软件工程概述
2.1软件工程概述-要点
软件危机
软件工程定义 软件工程的七条基本原理
2019/12/14
2
软件危机的概念 软件危机是指在计算机软件的开发和维护过程中所遇
到的一系列严重问题。
Page 3
软件危机产生
个体化软件环境
早期,程序通常针对又为一个特定硬件和目的而 编制,软件的通用性很有限的。多数使用该软件的个人 或机构研制,规模小。
Page 5
软件危机产生
软件的规模越来越庞大 复杂度越来越高 交付时间相对短 开发成本令人吃惊地高 失败的软件开发项目却屡见不鲜。“软件危机 ”开始了!
Page 6
软件危机典型案例

美国IBM公司在1963年至1966年开发的IBM360机的操作系
统。这一项目花了5000人一年的工作量,最多时有1000人投入开
相关文档
最新文档