第章 软件工程学概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
二、学习目标(1)
掌握软件工程的基础知识和理论,对软件 工程学有一个全貌的了解;
熟悉软件项目开发和维护的一般过程; 熟练掌握软件需求分析、设计、编码和测 试等阶段的主要思想和技术方法;
13
二、学习目标(2)
通过学习,特别是通过课程设计,真正运 用和深刻体会软件工程的思想方法,转变对 软件开发的认识:从个人的单纯编程活动转 移到进行系统分析与设计方面上来
软件工程过程
软件工程工具和方法
软件质量
6
SWEBOK详细结构(1)
7
8
软件工程与其他学科的关系
1 、软件工程是计算学科 9 个领域之一.
➢算法和数据结构 ➢计算机系统结构 ➢人工智能和机器人学 ➢数据库和信息检索 ➢人一机交互 ➢操作系统 ➢程序设计语言 ➢软件方法学和软件工程 ➢数字和符号计算
➢ 开发成本逐年上升。
➢ 软件开发生产率提高的速度,远远跟不上 计算机应用迅速普及深入的趋势。
26
27
几个软件危机的著名案例
① 1966年,IBM 360 机的操作系统。花费 5000 人一年的 工作量,写了近 1 万行代码。错误百出,每次的新版本就 是从前一版本中找 1 000个程序错误而修正的结果。
9
计算学科中12个重复出现的基本概念
绑定. 概念和形式模型 效率 抽象层次 按时间排序 安全性
大问题的复杂性 一致性和完备性 演化 按空间排序 重用 折衷与决策
软件工程是计算学科的分支,这 12 个概念同样将 贯穿软件工程学科,是学科的精髓。
10
2 、 8 个相关学科知识域
计算机工程 计算机科学 数学 管理学 项目管理 质量管理 系统工程学 软件人类工程学
16
五、教材总目录
第 1 章软件工程学概述 第 2 章可行性研究 第 3 章需求分析 第 4 章形式化说明技术 第 5 章总体设计 第 6 章详细设计 第 7 章实现 第 8 章维护
第9 章面向对象方法学 引论
第 10 章面向对象分析
第 11 章面向对象设计
第 12 章面向对象实现
*第 13 章软件项目管理
1 )只要是编程高手,即使是不懂软件工程, 也能编出很好的软件。
➢软件是服务于大众,却是由个性化的开发人员 完成的。如果个性化太强,程序就无法阅读,其 他人员也就无法维护。 ➢例:国内 80 年代涌现出来的众多汉字操作系 统均是由编程高手完成的。
15
四、课程特点和学习的注意事项
1 、知易行难 要将理论知识与实践运用结合,进行对照,以加
深理解和掌握。 2 、内容纷杂
软件工程涉及计算机科学、数学、工程科学和管 理科学等多个领域。其中:
➢计算机科学和数学用于构造模型与算法; ➢工程科学用于制定规范、设计范型、评估成本及确定 权衡 ➢管理科学用于计划、资源、质量和成本的管理。
② 1963 年,美国用于控制火星探测器的计算机软件中的一 个 “ , ”号被误写为“.”,而致使飞往火星的探测器发生 爆炸,造成高达数亿美元的损失。
③ 美国丹佛新国际机场自动化行李系统软件。投资 1. 93 亿美元,计划 1993 年万圣节启用。但开发人员一直为系统 错误困扰,屡次推后启用时间,直到 1994 年 6 月,机场 计划者承认无法预测何时能启用。
① 软件远比一般程序规模庞大,复杂性高
➢软件所反映的实际问题的复杂性 ➢程序逻辑结构的复杂性。 ➢例 1 : Windows95 , 1000 万行代码;
Windows2000, 5000 万行代码 ➢例 2 : Exchange 2000 和 windows 2000 开 发人员
33
软件的规模
软件产品的特殊性和人类智力的局限性, 导致人们无力处理“复杂问题”。
5
SWEBOK (软件工程知识体 》 10 个领域
软件需求
软件设计
软件构造 软件测试 软件维护 软件配置管理
参考资料:
[1 ]白征. SWEBOK :软件工程知识体,计 算机科学, 2001 年 07 期 [ 2 万江平.软件工程知识体系指南综述, 计算机应用研究, 2006 年 10 期
软件工程管理
40
总结:“软件工程”的方法理论是摆脱软件 危机的一个主要出路。
➢计算机和软件科学家为解决软件危机问题,尝 试将在其它领域中行之有效的工程学知识运用到
软件开发工作中来,经过不断实践和总结,最后 得出一个结论:
➢按工程化的原则和方法组织软件开发工作是有 效的,是摆脱软件危机的一个主要出路。
41
思考题( 1 )
4
第三阶段:学科确立
2004 年 8 月,IEEE 一 CS 和 ACM 给出: 软件工程知识体( SWEBOK , Software Engineering Body of Knowledge ) 软件工程教育知识体( SEEK ) 最终版,标志着软 件工程学科在世界范围正式确 立。 软件工程、计算机科学、计算机工程、信息系统、 信息技术并列成为计算学科下的独立学科。 软件工程知识体( SWEBOK ) :全面描述了软件 工程实践所需的知识。
转变思维定式: 程序员 ― 系统工程师(系统分析员)
14
三、部分参考资料
《 软件工程理论与实践 》许家冶等编著,高 等教育出版社, 2005 年 《 软件工程 》 (第二版),齐治昌等,高 等教育出版社, 2004 年 《 面向对象的系统分析 》 ,杨芙清等编著, 清华大学出版社, 2001 年 《 UML 用户指南 》 G Booch 等著,邵维忠 等译,机械工业出版社 2002 年
34
2 、软件与一般程序不同( 2 )
② 大型软件开发既有技术问题,还有社会问 题。
➢社会因素:组织机构、体制、管理方式、观念、 人的心理素等。
开发团队成员分工合作 技术与管理的矛盾 软件开发人员对软件应用的领域知识的了解
35
§1 . 1 . 2 产生软件危机的原因
二、软件开发维护方法中存在的问题( 1 ) ① 对用户需求的获取不正确
➢ 软件需求分析不够充分,用户不满意“已 经完成”的软件系统。
➢ 软件质量难于保证; ➢ 软件维护困难;
➢难以改正程序中的错误; ➢难以根据用户的需要在原有程序中增加一些新 的功能。
25
软件危机有什么典型表现?(2)
➢ 通常没有保留适当的文档资料。
文档的作用:
➢软件开发管理人员:用于管理和评价软件开发工程的 进展状况 ➢软件开发人员:用于开发人员对各个阶段的工作都进 行周密思考、全盘权衡、从而减少返工。并且可在开发 早期发现错误和不一致性,便于及时加以纠正 ➢软件维护人员:软件维护的依据
➢用户的原因 ➢分析人员的原因
对分析人员的要求:沟通能力、归纳总结能力、经验
越是早期产生的错误,付出的代价越大。
➢图:不同时期引入同一变 动 的代价
36
二、软件开发维护方法中存在的问题( 2 )
② 错误地认为软件开发就是编写程序。
➢一个完整的软件产品由一整套完整的配置组成,程序 只是其中的一个组成部分。 ➢软件开发过程包括多个阶段,每个阶段的产品都是最 终的完整的软件产品的一部分。
23
§1 软件危机
§ 1 . 1 . 1 软件危机介绍 什么是软件危机?
软件危机指在计算机软件的开发和维护过 程中,所遇到的一系列严重问题。 软件危机主要包括的问题(两方面) : ① 如何开发软件 ② 如何维护软件
24
软件危机有什么典型表现?(1)
➢ 开发费用和进度难以估算和控制,大大超 过预期的资金和规定日期;
软件与硬件、一般程序存在很多不同之处。 1 、软件与硬件不同 抽象性。软件生产没有明显的制造过程,难 以衡量开发进展,也难以控制软件质量。 问题的隐蔽性。没有硬件的磨损、老化问题, 但存在开发早期在分析、设计阶段的错误, 修改难度较大。
30
失效率曲线
31
改正一个问题需付出的代价
32
2 、软件与一般程序不同(1)
➢软件的“可移植性”就是指的软件对硬件的依 赖程度。好的可移植性依赖少。
39
§1 . 1 . 3 消除软件危机的途径
1 、彻底消除“软件就是程序”的错误观念。 2 、充分认识到软件开发是一种组织良好、 管理严密、各类人员协同配合、共同完成的 工程项目,不是个人独立的劳动。 3 、推广和使用在实践中总结出来的软件开 发的成功技术和方法。 4 、开发和使用更好的软件工具
1 . 1 软件危机 1 . 2 软件工程 1 . 3 软件生命周期 1 . 4 软件过程 1 . 5 小结 习题
20
学习重点
➢1、软件危机、软件工程产生的原因 ➢2、软件工程过程和软件生命周期 ➢3、软件生命周期模型
掌握几个基本概念
➢软件危机 ➢软件工程 ➢软件过程 ➢软件生命周期 ➢软件生命周期模型
③错误地认为软件开发只要依靠个别编程高手就能 完成。 ④ 轻视软件维护
➢软件维护约占软件费用 55 一 75 % ,包括修改软件运 行的错误;对软件进行改进和功能扩充。
37
软件维护在软件费用的比例
38
三、其他产生软件危机的原因
①软件开发尚未完全摆脱手工艺的开发方式。 ② 软件成本相当昂贵,主要依靠大量复杂的、 高强度的脑力劳动 ③ 软件的开发和运行常常受到计算机系统的 限制,对计算机系统有着不同程度的依赖性。
④ 1996 年,欧洲阿里亚纳 5 型运载火箭坠毁,造成 5 亿美元损失。原因是控制软件中的一个错误。
28
§1 . 1 . 2 产生软件危机的原因
主要两个原因: 1 、与软件本身的特点有关 2 、与软件开发与维护的方法不正确有关。
实际上几乎 所有软件
都在不同程度 上存在软件危机.
29
一 、软件本身的特点 ( 1)
21
软件 (Software)
是指包括程序、数据以及相关文档的完整组合。
国标定义:与计算机系统的操作有关的计算机程序、 规程、规则以及可能有的文件、文档及数据。
概念 软件 程序
数据 文档
含义 程序、数据和文档 软件开发人员依据用户需求开发的,用某种程序设 计语言描述的,能够在计算机中执行的语句序列 师程序能够正常操纵信息的数据结构 与程序开发、维护和使用的有关资料
第章 软件工程学概述
课程概述
一、软件工程学科介绍 二、学习目标 三、部分参考资料 四、课程特点和学习的注意事项 五、教材简介 六、课程考核方式
2
一、软件工程学科介绍
软件程学科发展历史 三个阶段:概念提出、学科雏形、学科确立 第一阶段:概念提出 1968 年 NATO 会议 提 (北大西洋公约组织的计算机科学家的国际会议) 出“软件工程”概念。 当时对“软件工程”代表性定义:为了经济地获得 在真实机器上可靠工作的软件而制定和使用的合理 工程原则和方法。 1972 年 IEEE 学会的计算机分会 IEEE 一 CS 第一 次出版了“软件工程学报”
其中:计算机科学、数学是基础工程学科、管理 学科也非常重要
11
软件程是一门什么样的学科?
是指导计算机软件开发与维护的一门工程 学科。
工程:将科学及数学原理运用于实际用途的应用手段,如: 设计、制造、机器操纵、构架等。 典型的传统工程:建筑工程、机械工程、电力工程等。
概括的说,软件工程即用工程、科学和数 学的原则和方法研制、维护计算机软件的有 关技术及方法,其优点是以较小的代价开发 高质量的软件并有效地维护它。
3
第二阶段:学科雏形
上世纪 70 年代末,美国将软件工程教程列入研究 生教育计划。 1980 年代末和 1990 年代初,软件工程教育得到卡 内基一梅隆大学软件工程研究所( CMU / SEI )的 支持。 1991 年,“软件工程”被 ACM (美国计算机协会)和 IEEE / CS 列为计算学科的九个知识领域之一。 1993 年, IEEE 一 CS 和ACM 为了把软件工程建 设成为一个专业,建立了 IEEE 一 CS / ACM 联合 指导委员会。
附录 AC + +类库管理 系统分析与设计
附录 B 汉字行编辑程序 设计
17
六、课程考核方式
分数组成: 平时成绩( 10 % ) :以理论课课堂表现和作业 情况为主。 实验( 20 % ) :实验课表现及实验报告 期末考试(70 % ) :闭卷考试
18
《软件工程》
第1章 软件工程学概述
19
第 1 章 软件工程学概述
22
软件危机与软件工程学
软件工程学的产生要从“软件危机”说起
➢1968 年,第一届 NAT0 (北大西洋公约组织的计算机科学 家的国际会议)会议,“软件工程”的概念作为一种 有效解决“软件危机”的途径被正式提出。
什么是软件危机? 软件危机有什么典型表现? 为什么会产生软件危机? 怎么解决软件危机?
二、学习目标(1)
掌握软件工程的基础知识和理论,对软件 工程学有一个全貌的了解;
熟悉软件项目开发和维护的一般过程; 熟练掌握软件需求分析、设计、编码和测 试等阶段的主要思想和技术方法;
13
二、学习目标(2)
通过学习,特别是通过课程设计,真正运 用和深刻体会软件工程的思想方法,转变对 软件开发的认识:从个人的单纯编程活动转 移到进行系统分析与设计方面上来
软件工程过程
软件工程工具和方法
软件质量
6
SWEBOK详细结构(1)
7
8
软件工程与其他学科的关系
1 、软件工程是计算学科 9 个领域之一.
➢算法和数据结构 ➢计算机系统结构 ➢人工智能和机器人学 ➢数据库和信息检索 ➢人一机交互 ➢操作系统 ➢程序设计语言 ➢软件方法学和软件工程 ➢数字和符号计算
➢ 开发成本逐年上升。
➢ 软件开发生产率提高的速度,远远跟不上 计算机应用迅速普及深入的趋势。
26
27
几个软件危机的著名案例
① 1966年,IBM 360 机的操作系统。花费 5000 人一年的 工作量,写了近 1 万行代码。错误百出,每次的新版本就 是从前一版本中找 1 000个程序错误而修正的结果。
9
计算学科中12个重复出现的基本概念
绑定. 概念和形式模型 效率 抽象层次 按时间排序 安全性
大问题的复杂性 一致性和完备性 演化 按空间排序 重用 折衷与决策
软件工程是计算学科的分支,这 12 个概念同样将 贯穿软件工程学科,是学科的精髓。
10
2 、 8 个相关学科知识域
计算机工程 计算机科学 数学 管理学 项目管理 质量管理 系统工程学 软件人类工程学
16
五、教材总目录
第 1 章软件工程学概述 第 2 章可行性研究 第 3 章需求分析 第 4 章形式化说明技术 第 5 章总体设计 第 6 章详细设计 第 7 章实现 第 8 章维护
第9 章面向对象方法学 引论
第 10 章面向对象分析
第 11 章面向对象设计
第 12 章面向对象实现
*第 13 章软件项目管理
1 )只要是编程高手,即使是不懂软件工程, 也能编出很好的软件。
➢软件是服务于大众,却是由个性化的开发人员 完成的。如果个性化太强,程序就无法阅读,其 他人员也就无法维护。 ➢例:国内 80 年代涌现出来的众多汉字操作系 统均是由编程高手完成的。
15
四、课程特点和学习的注意事项
1 、知易行难 要将理论知识与实践运用结合,进行对照,以加
深理解和掌握。 2 、内容纷杂
软件工程涉及计算机科学、数学、工程科学和管 理科学等多个领域。其中:
➢计算机科学和数学用于构造模型与算法; ➢工程科学用于制定规范、设计范型、评估成本及确定 权衡 ➢管理科学用于计划、资源、质量和成本的管理。
② 1963 年,美国用于控制火星探测器的计算机软件中的一 个 “ , ”号被误写为“.”,而致使飞往火星的探测器发生 爆炸,造成高达数亿美元的损失。
③ 美国丹佛新国际机场自动化行李系统软件。投资 1. 93 亿美元,计划 1993 年万圣节启用。但开发人员一直为系统 错误困扰,屡次推后启用时间,直到 1994 年 6 月,机场 计划者承认无法预测何时能启用。
① 软件远比一般程序规模庞大,复杂性高
➢软件所反映的实际问题的复杂性 ➢程序逻辑结构的复杂性。 ➢例 1 : Windows95 , 1000 万行代码;
Windows2000, 5000 万行代码 ➢例 2 : Exchange 2000 和 windows 2000 开 发人员
33
软件的规模
软件产品的特殊性和人类智力的局限性, 导致人们无力处理“复杂问题”。
5
SWEBOK (软件工程知识体 》 10 个领域
软件需求
软件设计
软件构造 软件测试 软件维护 软件配置管理
参考资料:
[1 ]白征. SWEBOK :软件工程知识体,计 算机科学, 2001 年 07 期 [ 2 万江平.软件工程知识体系指南综述, 计算机应用研究, 2006 年 10 期
软件工程管理
40
总结:“软件工程”的方法理论是摆脱软件 危机的一个主要出路。
➢计算机和软件科学家为解决软件危机问题,尝 试将在其它领域中行之有效的工程学知识运用到
软件开发工作中来,经过不断实践和总结,最后 得出一个结论:
➢按工程化的原则和方法组织软件开发工作是有 效的,是摆脱软件危机的一个主要出路。
41
思考题( 1 )
4
第三阶段:学科确立
2004 年 8 月,IEEE 一 CS 和 ACM 给出: 软件工程知识体( SWEBOK , Software Engineering Body of Knowledge ) 软件工程教育知识体( SEEK ) 最终版,标志着软 件工程学科在世界范围正式确 立。 软件工程、计算机科学、计算机工程、信息系统、 信息技术并列成为计算学科下的独立学科。 软件工程知识体( SWEBOK ) :全面描述了软件 工程实践所需的知识。
转变思维定式: 程序员 ― 系统工程师(系统分析员)
14
三、部分参考资料
《 软件工程理论与实践 》许家冶等编著,高 等教育出版社, 2005 年 《 软件工程 》 (第二版),齐治昌等,高 等教育出版社, 2004 年 《 面向对象的系统分析 》 ,杨芙清等编著, 清华大学出版社, 2001 年 《 UML 用户指南 》 G Booch 等著,邵维忠 等译,机械工业出版社 2002 年
34
2 、软件与一般程序不同( 2 )
② 大型软件开发既有技术问题,还有社会问 题。
➢社会因素:组织机构、体制、管理方式、观念、 人的心理素等。
开发团队成员分工合作 技术与管理的矛盾 软件开发人员对软件应用的领域知识的了解
35
§1 . 1 . 2 产生软件危机的原因
二、软件开发维护方法中存在的问题( 1 ) ① 对用户需求的获取不正确
➢ 软件需求分析不够充分,用户不满意“已 经完成”的软件系统。
➢ 软件质量难于保证; ➢ 软件维护困难;
➢难以改正程序中的错误; ➢难以根据用户的需要在原有程序中增加一些新 的功能。
25
软件危机有什么典型表现?(2)
➢ 通常没有保留适当的文档资料。
文档的作用:
➢软件开发管理人员:用于管理和评价软件开发工程的 进展状况 ➢软件开发人员:用于开发人员对各个阶段的工作都进 行周密思考、全盘权衡、从而减少返工。并且可在开发 早期发现错误和不一致性,便于及时加以纠正 ➢软件维护人员:软件维护的依据
➢用户的原因 ➢分析人员的原因
对分析人员的要求:沟通能力、归纳总结能力、经验
越是早期产生的错误,付出的代价越大。
➢图:不同时期引入同一变 动 的代价
36
二、软件开发维护方法中存在的问题( 2 )
② 错误地认为软件开发就是编写程序。
➢一个完整的软件产品由一整套完整的配置组成,程序 只是其中的一个组成部分。 ➢软件开发过程包括多个阶段,每个阶段的产品都是最 终的完整的软件产品的一部分。
23
§1 软件危机
§ 1 . 1 . 1 软件危机介绍 什么是软件危机?
软件危机指在计算机软件的开发和维护过 程中,所遇到的一系列严重问题。 软件危机主要包括的问题(两方面) : ① 如何开发软件 ② 如何维护软件
24
软件危机有什么典型表现?(1)
➢ 开发费用和进度难以估算和控制,大大超 过预期的资金和规定日期;
软件与硬件、一般程序存在很多不同之处。 1 、软件与硬件不同 抽象性。软件生产没有明显的制造过程,难 以衡量开发进展,也难以控制软件质量。 问题的隐蔽性。没有硬件的磨损、老化问题, 但存在开发早期在分析、设计阶段的错误, 修改难度较大。
30
失效率曲线
31
改正一个问题需付出的代价
32
2 、软件与一般程序不同(1)
➢软件的“可移植性”就是指的软件对硬件的依 赖程度。好的可移植性依赖少。
39
§1 . 1 . 3 消除软件危机的途径
1 、彻底消除“软件就是程序”的错误观念。 2 、充分认识到软件开发是一种组织良好、 管理严密、各类人员协同配合、共同完成的 工程项目,不是个人独立的劳动。 3 、推广和使用在实践中总结出来的软件开 发的成功技术和方法。 4 、开发和使用更好的软件工具
1 . 1 软件危机 1 . 2 软件工程 1 . 3 软件生命周期 1 . 4 软件过程 1 . 5 小结 习题
20
学习重点
➢1、软件危机、软件工程产生的原因 ➢2、软件工程过程和软件生命周期 ➢3、软件生命周期模型
掌握几个基本概念
➢软件危机 ➢软件工程 ➢软件过程 ➢软件生命周期 ➢软件生命周期模型
③错误地认为软件开发只要依靠个别编程高手就能 完成。 ④ 轻视软件维护
➢软件维护约占软件费用 55 一 75 % ,包括修改软件运 行的错误;对软件进行改进和功能扩充。
37
软件维护在软件费用的比例
38
三、其他产生软件危机的原因
①软件开发尚未完全摆脱手工艺的开发方式。 ② 软件成本相当昂贵,主要依靠大量复杂的、 高强度的脑力劳动 ③ 软件的开发和运行常常受到计算机系统的 限制,对计算机系统有着不同程度的依赖性。
④ 1996 年,欧洲阿里亚纳 5 型运载火箭坠毁,造成 5 亿美元损失。原因是控制软件中的一个错误。
28
§1 . 1 . 2 产生软件危机的原因
主要两个原因: 1 、与软件本身的特点有关 2 、与软件开发与维护的方法不正确有关。
实际上几乎 所有软件
都在不同程度 上存在软件危机.
29
一 、软件本身的特点 ( 1)
21
软件 (Software)
是指包括程序、数据以及相关文档的完整组合。
国标定义:与计算机系统的操作有关的计算机程序、 规程、规则以及可能有的文件、文档及数据。
概念 软件 程序
数据 文档
含义 程序、数据和文档 软件开发人员依据用户需求开发的,用某种程序设 计语言描述的,能够在计算机中执行的语句序列 师程序能够正常操纵信息的数据结构 与程序开发、维护和使用的有关资料
第章 软件工程学概述
课程概述
一、软件工程学科介绍 二、学习目标 三、部分参考资料 四、课程特点和学习的注意事项 五、教材简介 六、课程考核方式
2
一、软件工程学科介绍
软件程学科发展历史 三个阶段:概念提出、学科雏形、学科确立 第一阶段:概念提出 1968 年 NATO 会议 提 (北大西洋公约组织的计算机科学家的国际会议) 出“软件工程”概念。 当时对“软件工程”代表性定义:为了经济地获得 在真实机器上可靠工作的软件而制定和使用的合理 工程原则和方法。 1972 年 IEEE 学会的计算机分会 IEEE 一 CS 第一 次出版了“软件工程学报”
其中:计算机科学、数学是基础工程学科、管理 学科也非常重要
11
软件程是一门什么样的学科?
是指导计算机软件开发与维护的一门工程 学科。
工程:将科学及数学原理运用于实际用途的应用手段,如: 设计、制造、机器操纵、构架等。 典型的传统工程:建筑工程、机械工程、电力工程等。
概括的说,软件工程即用工程、科学和数 学的原则和方法研制、维护计算机软件的有 关技术及方法,其优点是以较小的代价开发 高质量的软件并有效地维护它。
3
第二阶段:学科雏形
上世纪 70 年代末,美国将软件工程教程列入研究 生教育计划。 1980 年代末和 1990 年代初,软件工程教育得到卡 内基一梅隆大学软件工程研究所( CMU / SEI )的 支持。 1991 年,“软件工程”被 ACM (美国计算机协会)和 IEEE / CS 列为计算学科的九个知识领域之一。 1993 年, IEEE 一 CS 和ACM 为了把软件工程建 设成为一个专业,建立了 IEEE 一 CS / ACM 联合 指导委员会。
附录 AC + +类库管理 系统分析与设计
附录 B 汉字行编辑程序 设计
17
六、课程考核方式
分数组成: 平时成绩( 10 % ) :以理论课课堂表现和作业 情况为主。 实验( 20 % ) :实验课表现及实验报告 期末考试(70 % ) :闭卷考试
18
《软件工程》
第1章 软件工程学概述
19
第 1 章 软件工程学概述
22
软件危机与软件工程学
软件工程学的产生要从“软件危机”说起
➢1968 年,第一届 NAT0 (北大西洋公约组织的计算机科学 家的国际会议)会议,“软件工程”的概念作为一种 有效解决“软件危机”的途径被正式提出。
什么是软件危机? 软件危机有什么典型表现? 为什么会产生软件危机? 怎么解决软件危机?