第一讲:软件工程概述软件的定义软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合
程序程序是按事先设计的功能和性能要求执行的指令序列是按事先设计的功能和性能要求执行的指令序列数据数据是使程序能正常操纵信息的数据结构是使程序能正常操纵信息的数据结构文档文档是与程序开发,维护和使用有关的图文材料是与程序开发,维护和使用有关的图文材料软件危机软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题
概括的说即为:能否满足对软件日益增长的需求
能否维护数量日益增长的现有软件
软件工程的定义BoehmBoehm::运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料需的相关文件资料IEEEIEEE::软件工程是开发、运行、维护和修复软件的系统方法软件工程是开发、运行、维护和修复软件的系统方法FritzBauerFritzBauer::建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法可靠软件的一系列方法软件工程要素三要素:方法、工具和过程三要素:方法、工具和过程((缺乏一个过程,洗厕所的都有方法和工具,但没有一个好的过缺乏一个过程,洗厕所的都有方法和工具,但没有一个好的过程)程)软件工程方法为软件开发提供了“如何做”的技术软件工程方法为软件开发提供了“如何做”的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件生命周期(LifeCycle)软件有一个孕育、诞生、成长、成熟、衰