第一章软件工程概述 复习要求 1.了解软件概念、特点及分类方法 2.了解软件发展及软件危机的起因 3.了解软件工程过程及软件生存期的概念。 4.了解软件工程的概念及其要素。 5.了解软件工程的基本目标和原则。 内容提要 1.软件的概念、特点 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的 完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正 常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料 软件的特点是: (1)软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 (2)软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在 软件开发方面下功夫 (3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。任何机械、电子 设备在运行和使用中,其失效率大都遵循如图1.1(a)所示的U型曲线(即浴盆曲线)。而软 件的情况与此不同,因为它不存在磨损和老化问题。然而它存在退化问题,必须要多次修改 (维护)软件,如图1.1(b)所示。 效 效|修改点 磨合 磨损 率 调整用坏 线 理想曲线 a)硬件失效率曲线时间 b)软件失效率曲线时间 图1.1失效率曲线 (4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖 性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。 (5)软件的开发至今尚未完全摆脱手工艺的开发方式 (6)软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能 来自程序逻辑结构的复杂性1 第一章 软件工程概述 一、复习要求 1. 了解软件概念、特点及分类方法。 2. 了解软件发展及软件危机的起因。 3. 了解软件工程过程及软件生存期的概念。 4. 了解软件工程的概念及其要素。 5. 了解软件工程的基本目标和原则。 二、内容提要 1. 软件的概念、特点 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的 完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正 常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是: (1) 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 (2) 软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在 软件开发方面下功夫。 (3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。任何机械、电子 设备在运行和使用中,其失效率大都遵循如图 1.1(a)所示的U型曲线(即浴盆曲线)。而软 件的情况与此不同,因为它不存在磨损和老化问题。然而它存在退化问题,必须要多次修改 (维护)软件,如图 1.1(b)所示。 图 1.1 失效率曲线 (4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖 性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。 (5) 软件的开发至今尚未完全摆脱手工艺的开发方式。 (6) 软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能 来自程序逻辑结构的复杂性