第1章软件概论
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安交通大学 刘海岩 12
1,软件危机的表现:
① 软件代价高;硬件代价降低(摩尔定律, CPU的处理速度每18个月提高1倍,价格降低1 半),而软件成本上涨: 如IBM360OS的研制,5000多人年 ② 开发过程难以控制 ③ 软件工作量估计困难 ④ 软件质量低 ⑤ 软件修改,维护困难
西安交通大学 刘海岩
13
2,克服软件危机的努力 (1)从管理的角度: 软件开发过程的研究 文档的标准化以及人们的交流方式 (2)软件开发中分析设计方法的研究 面向过程的开发 面向对象的开发
西安交通大学 刘海岩
14
软件工程的概念
为了克服软件危机,科学家们从其他产业 (如机械制造,建筑等)的工程化生产得到启 示,于1968年在北大西洋公约组织的学术会上 提出了"软件工程"的概念.工程 工程是对技术 工程 (或社会)实体的分析,设计,构造,验证和 管理.这里只针对一个实体—计算机软件.
西安交通大学 刘海岩
15
定义 根据IEEE(The Institute for Electrical and Electronic engineers) 定义: 软件工程是使用系统化的,规范的,可量化 软件工程 的方法指导软件开发,运行和维护的一门学科, 它涉及到计算机科学(构造模型和算法),工程 科学(制定规范,降低成本及确定权衡),管理 科学(计划,资源,质量及成本等管理),数学 等领域的综合性知识及实践的应用,它的目的是 建造用户满意的高质量的软件.
西安交通大学 刘海岩
16
西安交通大学 刘海岩
17
过程: 过程: 定义一系列活动: 技术方法的采用, 工程产品(模型,文档,数据)的产生, 里程碑(milestone)的建立, 质量的保证及变更的管理. 该层构成了软件项目的管理控制的基础. 方法: 方法:提供了建造软件在技术上"如何做". 方法覆盖了一系列任务:需求分析,设计, 编程,测试和支持(如纠错,适应,增强,预 防). 工具: 工具: 对过程和方法提供了自动或半自动的支持.
西安交通大学 刘海岩 6
西安交通大学 刘海岩
7百度文库
(3)大多数的软件都是从头开发的.软件生 产正走向基于构件的组装发展(如图形用户界 面),但目前多数软件仍是定做的. 如何象硬件生产那样控制质量,控制成本 和进度?
西安交通大学 刘海岩
8
软件的应用
1,系统软件 2,实时软件(包括嵌入式软件) 3,商业软件(如ERP) 4,个人软件 5,基于Web软件 6,人工智能和科学计算软件
西安交通大学 刘海岩
9
1.2 软件工程
软件的发展 第一阶段(40-50年代) : 自定义软件 机器语言或汇编语言编写程序 程序短小高效 第二阶段(60年代): 高级语言编写程序 软件规模扩大 软件产品增多 软件危机出现! 软件危机出现!
西安交通大学 刘海岩 10
第三阶段(70年代): 计算机网络出现 软件开发技术被研究 程序设计=数据结构+算法 软件项目管理得到重视 第四阶段(80年代): 大量的数据库应用系统 面向对象技术及软件复用技术的发展 软件过程模型改进,软件工作量估计模型 第五阶段(90年代~至今) 基于Internet/Web技术的软件开发 强大的桌面系统及跨平台互操作的应用 体系结构及设计模式的研究与应用
软件工程
Software Engineering
主讲
刘海岩
西安交通大学 刘海岩
1
教材与参考文献
教材: 软件工程.王庆育编著. 清华大学出版社,2004. 参考书: [1] 软件工程—实践者的研究方法(第5版). Roger S.Pressman.机械工业出版社 [2] 软件工程—理论与实践.Shari L.Pfleeger (第2版).高等教育出版社 [3] 软件工程(第6版).Ian Sommerville.机械 工业出版社
西安交通大学 刘海岩 18
1.3 软件工程的活动
是一个建模的活动 通过建模处理复杂性.需要建立问题域模型, 求解域模型.便于理解,交流,评估解决方案.
是一个问题求解的活动 寻求解决方案,并以最简单的形式描述,受 资源,进度的约束.
是一个知识获取的活动 是一个非线性的过程
西安交通大学 刘海岩 19
�
西安交通大学 刘海岩 2
考核要求
笔试 大作业 (结合信息系统课程设计)
西安交通大学 刘海岩
3
第 1 部分
软件工程基础
西安交通大学 刘海岩
4
第1章 软件工程概论
软件(定义,特征,应用) 软件工程的概念 软件工程的活动
西安交通大学 刘海岩
5
1.1 软件
软件的定义 软件是由3部分组成: ⑴能够完成预定功 能和性能的一组计算机指令(计算机程序); ⑵程序在执行过程中需要输入,处理和输出的 数据结构;⑶描述程序的设计和使用的文档. 软件的特征 ( 1)软件的成本集中在开发上,制造几乎没 有成本.软件是逻辑的而不是有形的产品,它 是被开发或设计出的,而非传统意义上的被制 造的. (2)软件不会"磨损".软件并不受到引起 硬件磨损的环境因素的影响.
…
西安交通大学 刘海岩 11
软件危机 60年代中期,随着硬件技术的发展,软件应 用范围的扩展,软件越来越大型化,复杂化,产 生了上万行的源程序. 当发现错误时需要对这些程序进行修改; 当用户需求发生变化时需要修改; 当硬件环境更新时需要修改. 1968年10月,北大西洋公约组织(NATO)的 科学委员会提出了软件危机问题:将大型软件开 发中普遍存在的费用高,开发过程不易控制,工 作量估计困难,软件质量低,软件项目失败率高, 无法判断大型系统能够正常工作以及软件维护任 务重等现象,归结为"软件危机".
1,软件危机的表现:
① 软件代价高;硬件代价降低(摩尔定律, CPU的处理速度每18个月提高1倍,价格降低1 半),而软件成本上涨: 如IBM360OS的研制,5000多人年 ② 开发过程难以控制 ③ 软件工作量估计困难 ④ 软件质量低 ⑤ 软件修改,维护困难
西安交通大学 刘海岩
13
2,克服软件危机的努力 (1)从管理的角度: 软件开发过程的研究 文档的标准化以及人们的交流方式 (2)软件开发中分析设计方法的研究 面向过程的开发 面向对象的开发
西安交通大学 刘海岩
14
软件工程的概念
为了克服软件危机,科学家们从其他产业 (如机械制造,建筑等)的工程化生产得到启 示,于1968年在北大西洋公约组织的学术会上 提出了"软件工程"的概念.工程 工程是对技术 工程 (或社会)实体的分析,设计,构造,验证和 管理.这里只针对一个实体—计算机软件.
西安交通大学 刘海岩
15
定义 根据IEEE(The Institute for Electrical and Electronic engineers) 定义: 软件工程是使用系统化的,规范的,可量化 软件工程 的方法指导软件开发,运行和维护的一门学科, 它涉及到计算机科学(构造模型和算法),工程 科学(制定规范,降低成本及确定权衡),管理 科学(计划,资源,质量及成本等管理),数学 等领域的综合性知识及实践的应用,它的目的是 建造用户满意的高质量的软件.
西安交通大学 刘海岩
16
西安交通大学 刘海岩
17
过程: 过程: 定义一系列活动: 技术方法的采用, 工程产品(模型,文档,数据)的产生, 里程碑(milestone)的建立, 质量的保证及变更的管理. 该层构成了软件项目的管理控制的基础. 方法: 方法:提供了建造软件在技术上"如何做". 方法覆盖了一系列任务:需求分析,设计, 编程,测试和支持(如纠错,适应,增强,预 防). 工具: 工具: 对过程和方法提供了自动或半自动的支持.
西安交通大学 刘海岩 6
西安交通大学 刘海岩
7百度文库
(3)大多数的软件都是从头开发的.软件生 产正走向基于构件的组装发展(如图形用户界 面),但目前多数软件仍是定做的. 如何象硬件生产那样控制质量,控制成本 和进度?
西安交通大学 刘海岩
8
软件的应用
1,系统软件 2,实时软件(包括嵌入式软件) 3,商业软件(如ERP) 4,个人软件 5,基于Web软件 6,人工智能和科学计算软件
西安交通大学 刘海岩
9
1.2 软件工程
软件的发展 第一阶段(40-50年代) : 自定义软件 机器语言或汇编语言编写程序 程序短小高效 第二阶段(60年代): 高级语言编写程序 软件规模扩大 软件产品增多 软件危机出现! 软件危机出现!
西安交通大学 刘海岩 10
第三阶段(70年代): 计算机网络出现 软件开发技术被研究 程序设计=数据结构+算法 软件项目管理得到重视 第四阶段(80年代): 大量的数据库应用系统 面向对象技术及软件复用技术的发展 软件过程模型改进,软件工作量估计模型 第五阶段(90年代~至今) 基于Internet/Web技术的软件开发 强大的桌面系统及跨平台互操作的应用 体系结构及设计模式的研究与应用
软件工程
Software Engineering
主讲
刘海岩
西安交通大学 刘海岩
1
教材与参考文献
教材: 软件工程.王庆育编著. 清华大学出版社,2004. 参考书: [1] 软件工程—实践者的研究方法(第5版). Roger S.Pressman.机械工业出版社 [2] 软件工程—理论与实践.Shari L.Pfleeger (第2版).高等教育出版社 [3] 软件工程(第6版).Ian Sommerville.机械 工业出版社
西安交通大学 刘海岩 18
1.3 软件工程的活动
是一个建模的活动 通过建模处理复杂性.需要建立问题域模型, 求解域模型.便于理解,交流,评估解决方案.
是一个问题求解的活动 寻求解决方案,并以最简单的形式描述,受 资源,进度的约束.
是一个知识获取的活动 是一个非线性的过程
西安交通大学 刘海岩 19
�
西安交通大学 刘海岩 2
考核要求
笔试 大作业 (结合信息系统课程设计)
西安交通大学 刘海岩
3
第 1 部分
软件工程基础
西安交通大学 刘海岩
4
第1章 软件工程概论
软件(定义,特征,应用) 软件工程的概念 软件工程的活动
西安交通大学 刘海岩
5
1.1 软件
软件的定义 软件是由3部分组成: ⑴能够完成预定功 能和性能的一组计算机指令(计算机程序); ⑵程序在执行过程中需要输入,处理和输出的 数据结构;⑶描述程序的设计和使用的文档. 软件的特征 ( 1)软件的成本集中在开发上,制造几乎没 有成本.软件是逻辑的而不是有形的产品,它 是被开发或设计出的,而非传统意义上的被制 造的. (2)软件不会"磨损".软件并不受到引起 硬件磨损的环境因素的影响.
…
西安交通大学 刘海岩 11
软件危机 60年代中期,随着硬件技术的发展,软件应 用范围的扩展,软件越来越大型化,复杂化,产 生了上万行的源程序. 当发现错误时需要对这些程序进行修改; 当用户需求发生变化时需要修改; 当硬件环境更新时需要修改. 1968年10月,北大西洋公约组织(NATO)的 科学委员会提出了软件危机问题:将大型软件开 发中普遍存在的费用高,开发过程不易控制,工 作量估计困难,软件质量低,软件项目失败率高, 无法判断大型系统能够正常工作以及软件维护任 务重等现象,归结为"软件危机".