
第1章软件工程概述
第1章 软件工程概述

学习目标掌握软件的定义与特性;了解软件的分类;掌握软件危机产生的原因、表现形式和消除软件危机的途径,熟悉软件工程的形成和发展;理解软件工程的定义、目标和原则;了解软件工程的知识体系及知识域;理解软件的生存周期的概念;熟悉常见的软件过程模型;掌握软件生存周期各个阶段的任务;了解软件工程的发展趋势
l 掌握软件的定义与特性;了解软件的分类; l 掌握软件危机产生的原因、表现形式和消除软件危机的途径; l 熟悉软件工程的形成和发展; l 理解软件工程的定义、目标和原则; l 了解软件工程的知识体系及知识域; l 理解软件的生存周期的概念;熟悉常见的软件过程模型; l 掌握软件生存周期各个阶段的任务;了解软件工程的发展趋势。 学习目标

目录01软件02软件危机03软件工程04软件生存周期05软件过程模型06软件工程发展趋势07本章小结
目录 01 02 04 软件 软件危机 软件工程 软件生存周期 03 05 06 07 软件过程模型 软件工程发展趋势 本章小结

软件01
软件 01

软件简述软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及其相关的文档集合。程序是按照特定顺序组织的计算机数据和指令的集合;数据是使程序能正常执行的数据结构;文档是是开发、使用和维护程序所需要的图文资料。计算机软件的核心是程序,而文档则是软件不可分割的组成部分
软件简述 软件是计算机系统中与硬件相对应的另一部分, 是一系列程序、数据及其相关的文档集合。程序是按 照特定顺序组织的计算机数据和指令的集合;数据是 使程序能正常执行的数据结构;文档是是开发、使用 和维护程序所需要的图文资料。计算机软件的核心是 程序,而文档则是软件不可分割的组成部分

软件定义著名软件工程专家R.S.Pressman对软件给出了这样的定义:“软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,力加上描述程序的操作和使用的文档
软件定义 著名软件工程专家R.S. Pressman对软件给出 了这样的定义:“软件是能够完成预定功能和性能 的可执行的计算机程序和使程序正常执行所需要的 数据,加上描述程序的操作和使用的文档。

软件的特性(1)软件的本质特性①复杂特性。软件是个庞大的逻辑系统,一方面在软件中要客观地体现人类社会的事务,反应业务流程的自然规律;另一方面在软件中还要集成多种多样的功能,以满足用户在激烈的竞争中对大量信息及时处理、传输、存储等方面的需求,这就使得软件变得十分复杂。软件的复杂性使得软件产品难以理解、难以生产、难以维护,更难以对生产过程进行管理
软件的特性 (1)软件的本质特性 ① 复杂特性。软件是个庞大的逻辑系统,一方面在软 件中要客观地体现人类社会的事务,反应业务流程的自然规 律;另一方面在软件中还要集成多种多样的功能,以满足用 户在激烈的竞争中对大量信息及时处理、传输、存储等方面 的需求,这就使得软件变得十分复杂。软件的复杂性使得软 件产品难以理解、难以生产、难以维护,更难以对生产过程 进行管理

软件的特性②抽象特性。软件是人们经过大脑思维后加工出来的产品,一般寄生在内存、磁盘、光盘等载体上,我们无法观察到它的具体形态,这就导致了软件开发不仅工作量难以估计,进度难以控制,而且质量也难以把握。③依赖特性。软件必须和硬件保持一致,软件的开发和运行往往受到计算机硬件的限制,对计算机系统有看不同程度的依赖性。软件与计算机硬件的这种密切相关性与依赖性,是一般产品所没有的特性。为了减少这种依赖性,有关人员在软件开发中提出了软件的可移植性问题。好的软件在设计时就考虑到如何应用到不同的系统平台
软件的特性 ② 抽象特性。软件是人们经过大脑思维后加工出来的产品,一般 寄生在内存、磁盘、光盘等载体上,我们无法观察到它的具体形态,这 就导致了软件开发不仅工作量难以估计,进度难以控制,而且质量也难 以把握。 ③ 依赖特性。软件必须和硬件保持一致,软件的开发和运行往往 受到计算机硬件的限制,对计算机系统有着不同程度的依赖性。软件与 计算机硬件的这种密切相关性与依赖性,是一般产品所没有的特性。为 了减少这种依赖性,有关人员在软件开发中提出了软件的可移植性问题 。好的软件在设计时就考虑到如何应用到不同的系统平台

软件的特性使用特性。软件的价值在于应用,软件产品不会因多次反复使用而磨损老化,一个久经考验的优质软件可以长期使用。由于用户在选择新机型时,通常会提出兼容性要求。因此,一个成熟的软件可以在不同型号的计算机上运行
软件的特性 ④ 使用特性。软件的价值在于应用,软件产 品不会因多次反复使用而磨损老化,一个久经考 验的优质软件可以长期使用。由于用户在选择新 机型时,通常会提出兼容性要求。因此,一个成 熟的软件可以在不同型号的计算机上运行

软件的特性废弃特性。在软件的运行和使用期间,存在退化问题,必须要对其进行多次修改与维护,直至其"退役”。如早期的DOS操作系统,就是进行了多次修改与维护,实在难以与windows操作系统匹敌而“退役”了。图1.1和图1.2分别展示了硬件的失效率和使用时间的关系,以及软件的失效率和时间的关系
软件的特性 ⑤ 废弃特性。在软件的运行和使用期间,存在 退化问题,必须要对其进行多次修改与维护,直至 其“退役” 。如早期的DOS操作系统,就是进行了 多次修改与维护,实在难以与Windows操作系统匹 敌而“退役”了。图1.1和图1.2分别展示了硬件的失 效率和使用时间的关系,以及软件的失效率和时间 的关系