软件工程概述PPT课件
南京理工大学计算机学院
18
前一页 休息
第1章 软件工程概念
软件的神话——管理者的神话
➢ 神话:如果我们已落后于计划,可以增加更 多的程序员来赶上进度。
➢ 事实:软件开发并非像制造一样是一个机械 过程。用Brooks的话来说,“给一个已经延 迟的软件项目增加人手只会使其更加延迟”。 看起来,这句话与人的直觉正好相反。但实 际上,增加新人,原来正在工作的开发者必 须花时间来培训新人,这样就减少了他们花 在项目开发上的时间。人手可以增加,但只 能在计划周密、协调良好的情况下。
2.软件的生产于硬件不同。
3.在软件的运行和使用期间,没有硬件那样的 机械磨损,老化问题。
失
效 磨合
率
调整
磨损 用坏
硬件失效曲线
时间
失 效 率
实际曲线
软件失效曲线
理想曲线 时间
南京理工大学计算机学院
5
前一页 休息
第1章 软件工程概念
软件的特点
4.软件的开发和运行常常受到计算机系统的限 制,对计算机系统有着不同程度的依赖。
南京理工大学计算机学院
17
前一页 休息
第1章 软件工程概念
软件的神话——管理者的神话
➢ 神话:我们已经有了很多很好的软件开发工具, 而且,我们为它们买了最新的计算机。
➢ 事实:为了使用最新型号的计算机、工作站和 PC机去开发高质量的软件,我们已经投入了 太多的费用。实际上,计算机辅助软件工程 (CASE)工具比起硬件而言,对于获得高质 量和高生产率更为重要,但大多数软件开发者 并未使用它们。
13
前一页 休息
第1章 软件工程概念
什么是软件危机
定义:软件危机是计算机软件在它的开发和 维护过程中所遇到的一系列严重问题。
主要包含两方面的问题:
⑴如何开发软件,怎样满足对软件日益增长 的需求;
⑵如何维护数量不断膨胀的已有软件。
南京理工大学计算机学院
14
前一页 休息
第1章 软件工程概念
软件危机的现象
⑴ 对软件开发成本和进度的估计常常很不准确。
⑵ 用户对“已完成的”软件系统不满意的现象经常 发生。
⑶ 软件产品的质量往往靠不住。
⑷ 软件常常是不可维护的。
⑸ 软件通常没有适当的文档资料。计算机软件不仅 仅是程序,还应该有一整套文档资料。
⑹ 软件成本在计算机系统总成本中所占的比例逐年 上升。
⑺ 软件开发生产率提高的速度,远远跟不上计算机 应用迅速普及深入的趋势。
南京理工大学计算机学院
15
前一页 休息
第1章 软件工程概念
软件危机的原因
⑴客观:软件本身特点
软件的规模庞大、复杂性高。
⑵主观:不正确的开发方法,软件开发和维护 有许多错误的认识和作法。
忽视需求分析 软件开发=程序编写 轻视软件维护
南京理工大学计算机学院
16
前一页 休息
第1章 软件工程概念
软件的神话——管理者的神话
软件的分类
5.按软件使用的频度划分
⑴仅供一次使用的软件 ⑵频繁使用的软件
6.按软件的失效
⑴高可靠性软件。 ⑵一般可靠性软件。
南京理工大学计算机学院
12
前一页 休息
第1章 软件工程概念
软件的发展
软件的发展大体经历了如下三个阶段:
① 程序设计阶段,约为50至60年代
特点:依赖于个人编程’技巧’ ,开发不规范,开 发成本难控制,其交付的产品主要是程序。
5.软件的开发至今尚未完全摆脱手工业的开发 方法。
6.软件是复杂的,人类能够创造的最复杂的产 物是计算机软件。
7.软件成本相当昂贵。
8.相当多的软件工作涉及到社会因素。
南京理工大学计算机学院
6
前一页 休息
第1章 软件工程概念
软件的分类
1.按软件的功能划分
⑴系统软件
操作系统 数据库管理系统 设备驱动程序 通信处理程序等
软件是计算机系统中与硬件相互依存的另一 部分,它包括程序 、数据、相关文档的完整 集合以及完善的售后服务。
软件=程序+数据+文档+服务
软件与硬件、数据库、人、过程等共同构成 计算机系统。
南京理工大学计算机学院
4
前一页 休息
第1章 软件工程概念
软件的特点
1.软件是一种逻辑实体,而不是具体的物理实 体。
负责软件的管理者像大多数其他管理者一样, 都有巨大的压力,要维持预算,保持进度和提 高质量。
➢ 神话:我们已经有了关于建造软件的标准和规 程的书籍,难道它们不能给人们提供所有其需 要知道的信息吗?
➢ 事实:不错,关于标准的书籍已经存在,但真 正用到了它们吗?软件实践者知道它们存在吗? 它们是否反映了现代软件开发的过程?它们完 整吗?很多情况下对于这些问题的答案是 “否”。
南京理工大学计算机学院
9
前一页 休息
第1章 软件工程概念
软件的分类
2.按软件规模划分
类别 参加人员数 研制期限 源程序行数
微型
1
1~4周 0.5k
小型
1
1~6月 1k~2k
中型 2~5
1~2年 5k~50k
大型 5~20
2~3年 50k~100k
甚大型 100~1000 4~5年 1M(=1000k)
南京理工大学计算机学院
7
前一页 休息
第1章 软件工程概念
软件的分类
⑵支撑软件
文本编辑程序 文件格式化程序 磁盘向磁带向数据传输的程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的
软件
南京理工大学计算机学院
8
前一页 休息
第1章 软件工程概念
软件的分类
⑶应用软件
商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件
第1章 软件工程概念
1
第1章 软件工程概念
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
南京理工大学计算机学院
2
前一页 休息
第1章 软件工程概念
1.1 软件的概念、特点和分类
南京理工大学计算机学院
3
前一页 休息
第1章 软件工程概念
软件的概念
② 程序系统阶段,约为60至70年代
特点:软件开发是以小组的形式出现,提交的软 件产品除了程序外还有相应的使用说明书。
软件的发展遇到了很多急需解决的问题。
③ 软件工程阶段,约为70年代以后
特点:开发方法遵循工程化的方法,按照软件生 命周期分阶段开发软件,提交的软件产品除了程序
之外,还有严格的文档。
南京理工大学计算机学院
极大型 2000~5000 5~10年 1M~10M
南京理工大学计算机学院
10
前一页 休息
第1章 软件工程概念
软件的分类
3.按软件工作方式划分
⑴实时处理软件 ⑵交互式软件 ⑶分时软件 ⑷批处理软件
4.按软件服务对象的范围划分
⑴项目软件 ⑵产品软件
南京理工大学计算机学院
11
前一页 休息
第1章 软件工程概念