文档介绍:软件工程模型与方法Models & Methods of Software Engineering
第一章软件工程概述
修佳鹏 ******@bupt.
© 2009 BUPT TSEG
本章内容
计算机软件
软件的发展和软件危机
软件工程
通信软件工程
软件工程知识体系
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
计算机软件
本节内容
软件的定义
软件的特点
软件的分类
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的定义
软件是程序的完善和发展,是经过严格的正确性检验和实际试用,并具有相对稳定的文本和完整的文档资料的程序。
Wirth中指出:
在结构化程序设计:程序=算法+数据结构
在软件工程中:软件=程序+文档。
IEEE定义:软件是计算机程序、规程以及运行计算机系统所需要的文档和数据。
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的定义
另一种对软件的公认解释是:软件是包括程序、数据及其相关文档的完整集合。
程序是按照事先设计的功能和性能要求执行的指令序列;
数据是使程序能正常操纵信息的数据结构;
文档是与程序开发、维护和使用有关的图文材料。
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的特点
(1)软件是一种逻辑实体,具有抽象性。
(2)软件的开发过程中没有明显的制造过程。
(3)软件在运行和使用期间,没有硬件那样的机械磨损和老化问题,但存在软件退化问题。
(4)软件的开发和运行常常受到计算机系统的约束和限制,不同程度地依赖计算机硬件。
(5)软件的开发至今未完全摆脱手工艺的开发方式,大部分软件还是定制的,很难通过组装方式完成软件开发。
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的特点
(6)软件是复杂的。
实际需求的复杂性
程序逻辑的复杂性
(7)软件研制成本相当高,在计算机系统中软件成本比例逐步增加。
(8)软件投入运行时还涉及到许多社会因素。
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的分类
根据软件服务对象的范围不同:
通用软件:操作系统、数据库等;
定制软件:企业ERP、卫星控制系统等;
根据软件完成功能所处的层次不同:
系统软件
中间件软件
应用软件
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的分类
系统软件:指能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。
操作系统
设备驱动程序
通信处理程序
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心
软件的分类
中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,将注意力集中在自己的业务上,不必再为程序的移植而重复工作,从而大大减少了技术上的负担。
中间件软件:为了解决分布异构系统的集成问题而开发的软件,是处于操作系统软件与用户的应用软件的中间的通用服务,具有标准的接口和协议。
© 2009 BUPT TSEG 北京邮电大学通信软件工程中心