③共京宽大学 BEDING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS 软件工程模型与方法 TSEG Models methods of sE Telecommunications Software Engineering Grou 第一章软件工程概述 肖丁diao(@bupt.edu.cn 通软件中心 ⊙2008 BUPTTSEG
© 2008 BUPT TSEG 软件工程模型与方法 Models & Methods of SE 第一章 软件工程概述 肖丁 dxiao@bupt.edu.cn
共京部電大学 本章内容 ◆1.1计算机软件 ◆1.2软件的发展和软件危机 ◆1.3软件工程 ◆1.4通信软件工程 ◆1.5软件工程知识体系 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 2 本章内容 ◆ 1.1 计算机软件 ◆ 1.2 软件的发展和软件危机 ◆ 1.3 软件工程 ◆ 1.4 通信软件工程 ◆ 1.5 软件工程知识体系
共京部電大学 1.1计算机软件 ◆本节内容 ◆1.1.1软件的定义 ◆1.1.2软件的特点 ◆1.1.3软件的分类 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 3 1.1 计算机软件 ◆ 本节内容 ◆ 1.1.1 软件的定义 ◆ 1.1.2 软件的特点 ◆ 1.1.3 软件的分类
共京部電大学 引言 Hello world 纸牌、挖地雷 文本编辑器 Notepad/vi Winword/WPS 图书馆信息管理系统小办公自动化系统 财务软件 金蝶/用友 电信运营支撑系统 计费系统、帐务系统 呼叫处理/7号信令/网络管理系统 操作系统 习题 Dos/Windows / Unix/linux 你们能实现么? 数据库管理系统 在多长时间内能实现? 采用什么样的技术实现? ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 4 引言 ◆ Hello World ◆ 纸牌、挖地雷 ◆ 文本编辑器 ➢ Notepad/vi… ➢ Winword/WPS… ◆ 图书馆信息管理系统/办公自动化系统… ◆ 财务软件 ➢ 金蝶/用友… ◆ 电信运营支撑系统 ➢ 计费系统、帐务系统… ➢ 呼叫处理/7号信令/网络管理系统… ◆ 操作系统 ➢ Dos/Windows/Unix/Linux… ◆ 数据库管理系统 问题: 你们能实现么? 在多长时间内能实现? 采用什么样的技术实现?
共京部電大学 1.11软件的定义 IEEE定义:软件是计算机程序、规程以及运行计 算机系统所需要的文档和数据。 ◆With中指出: 在结构化程序设计:程序=算法+数据结构 在软件工程中:软件=程序+文档。 ◆另一种对软件的公认解释是:软件是包括程序、 数据及其相关文档的完整集合。 程序是按照事先设计的功能和性能要求执行的指令序 列; >数据是使程序能正常操纵信息的数据结构; >文档是与程序开发、维护和使用有关的图文材料。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 5
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 5 1.1.1 软件的定义 ◆ IEEE定义:软件是计算机程序、规程以及运行计 算机系统所需要的文档和数据。 ◆ Wirth中指出: ➢ 在结构化程序设计:程序=算法+数据结构 ➢ 在软件工程中:软件=程序+文档。 ◆ 另一种对软件的公认解释是:软件是包括程序、 数据及其相关文档的完整集合。 ➢ 程序是按照事先设计的功能和性能要求执行的指令序 列; ➢ 数据是使程序能正常操纵信息的数据结构; ➢ 文档是与程序开发、维护和使用有关的图文材料
共京部電大学 1.12软件的特点 软件是一种逻辑实体,具有抽象性。 软件开发过程中没有明显的制造过程。 不存在机械磨损和老化问题,但存在软件退化问题 软件的开发和运行受到计算机系统的约束和限制。 软件的开发至今未完全摆脱手工艺的开发方式 软件是复杂的。 实际需求的复杂性 程序逻辑的复杂性 软件研制成本高,软件成本所占比例逐年增加。 ◆软件投入运行时还涉及到许多社会因素。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 1.1.2 软件的特点 ◆ 软件是一种逻辑实体,具有抽象性。 ◆ 软件开发过程中没有明显的制造过程 。 ◆ 不存在机械磨损和老化问题,但存在软件退化问题 。 ◆ 软件的开发和运行受到计算机系统的约束和限制。 ◆ 软件的开发至今未完全摆脱手工艺的开发方式。 ◆ 软件是复杂的。 ➢ 实际需求的复杂性 ➢ 程序逻辑的复杂性 ◆ 软件研制成本高,软件成本所占比例逐年增加。 ◆ 软件投入运行时还涉及到许多社会因素
共京部電大学 1.13软件的分类 ◆根据软件服务对象的范围不同: 通用软件:操作系统、数据库等: >定制软件:企业ERP、卫星控制系统等; ◆根据软件完成功能所处的层次不同: >系统软件 >中间件软件 >应用软件 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 1.1.3 软件的分类 ◆ 根据软件服务对象的范围不同: ➢ 通用软件:操作系统、数据库等; ➢ 定制软件:企业ERP、卫星控制系统等; ◆ 根据软件完成功能所处的层次不同: ➢ 系统软件 ➢ 中间件软件 ➢ 应用软件
共京部電大学 1.13软件的分类 ◆系统软件:指能与计算机硬件紧密配合在 起,使计算机系统各个部件、相关的软 件和数据协调、高效地工作的软件 操作系统 数据库管理系统 设备驱动程序 通信处理程序等。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 1.1.3 软件的分类 ◆ 系统软件:指能与计算机硬件紧密配合在 一起,使计算机系统各个部件、相关的软 件和数据协调、高效地工作的软件。 ➢ 操作系统 ➢ 数据库管理系统 ➢ 设备驱动程序 ➢ 通信处理程序等
共京部電大学 1.13软件的分类 中间件软件:为了解决分布异构系统的集成问题 而开发的软件,处于操作系统软件与用户的应用 软件的中间,具有标准的接口和协议。 中间件屏蔽了底层操作系 统的复杂性,使程序开发 应用 应用 人员面对一个简单而统 中间件 的开发环境,将注意力集 分布式系统服务 中在自己的业务上,不必 硬件平台 硬件平台 再为程序的移植而重复工 系统软件 系统软件 作,从而大大减少了技术 上的负担。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 1.1.3 软件的分类 ◆ 中间件屏蔽了底层操作系 统的复杂性,使程序开发 人员面对一个简单而统一 的开发环境,将注意力集 中在自己的业务上,不必 再为程序的移植而重复工 作,从而大大减少了技术 上的负担。 硬件平台 系统软件 硬件平台 系统软件 中间件 分布式系统服务 应用 应用 ◆ 中间件软件:为了解决分布异构系统的集成问题 而开发的软件,处于操作系统软件与用户的应用 软件的中间,具有标准的接口和协议
共京部電大学 1.13软件的分类 ◆应用软件:在特定领域内开发,为特定目的服务 的一类软件。 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 >智能产品嵌入软件 医疗、制药软件 >事务管理、办公自动化软件 计算机辅助教学软件 计算机网络软件 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 1.1.3 软件的分类 ◆ 应用软件:在特定领域内开发,为特定目的服务 的一类软件。 ➢ 商业数据处理软件 ➢ 工程与科学计算软件 ➢ 计算机辅助设计/制造软件 ➢ 系统仿真软件 ➢ 智能产品嵌入软件 ➢ 医疗、制药软件 ➢ 事务管理、办公自动化软件 ➢ 计算机辅助教学软件 ➢ 计算机网络软件