
软件工程 第1章概论 三D
软件工程 第1章 概论

内容摘要 ·计算机软件 软件工程 软件过程 ·软件过程模型 敏捷软件开发 CASE工具与环境 厦门理工学院计算机科学与技术系软件工程课程 2/151
厦门理工学院计算机科学与技术系 软件工程课程 2/151 内容摘要 • 计算机软件 • 软件工程 • 软件过程 • 软件过程模型 • 敏捷软件开发 • CASE工具与环境

内容摘要 ·计算机软性 ·软件工程 ·软件过程 ·软件过程模型 敏捷软件开发 CASE工具与环境 厦门理工学院计算机科学与技术系软件工程课程 3/151
厦门理工学院计算机科学与技术系 软件工程课程 3/151 内容摘要 • 计算机软件 • 软件工程 • 软件过程 • 软件过程模型 • 敏捷软件开发 • CASE工具与环境

计算机软件 ·计算机软件指计算机系统中的程序及 其文档 -程序是计算任务的处理对象和处理规则的描述 ·任务:以计算机为处理工具的任务都是计算任务 处理对象:数据(如数据、文字、图形、图像、声音等 它们只是表示,而无含义)或信息(数据及有关的含义) 处理规则一般指处理的动作和步骤。程序必须装入计算机 内才能工作 文档是为了便于了解程序所需的阐明性资料,文档 一般是给人看的,不一定装入计算机 厦门理工学院计算机科学与技术系软件工程课程 4/151
厦门理工学院计算机科学与技术系 软件工程课程 4/151 计算机软件 • 计算机软件指计算机系统中的程序及 其文档 – 程序是计算任务的处理对象和处理规则的描述 • 任务:以计算机为处理工具的任务都是计算任务 • 处理对象:数据(如数据、文字、图形、图像、声音等, 它们只是表示,而无含义)或信息(数据及有关的含义) • 处理规则一般指处理的动作和步骤。程序必须装入计算机 内才能工作 – 文档是为了便于了解程序所需的阐明性资料,文档 一般是给人看的,不一定装入计算机

软件的发展 1946-1956年 从计算机问世到实用的高级程序语言出现前 >存储容量比较小,运算速度比较慢 >采用个体工作方式,用低级语言编写程序 >应用领域主要是以数值数据处理为主的科学计算 其特点是输入、输出量较小 >衡量程序质量的标准主要是功效,即运行时间省、 占用内存小 主要研究内容是科学计算程序、服务性程序和程 序库,研究对象是顺序程序 厦门理工学院计算机科学与技术系软件工程课程 5/151
厦门理工学院计算机科学与技术系 软件工程课程 5/151 软件的发展 • 1946-1956年 从计算机问世到实用的高级程序语言出现前 ➢存储容量比较小,运算速度比较慢 ➢采用个体工作方式,用低级语言编写程序 ➢应用领域主要是以数值数据处理为主的科学计算, 其特点是输入、输出量较小 ➢衡量程序质量的标准主要是功效,即运行时间省、 占用内存小 ➢主要研究内容是科学计算程序、服务性程序和程 序库,研究对象是顺序程序

1956-1968年 从实用的高级程序语言出现到软件工程出现前、 >存储器容量大外围设备得到迅速发展,出琐 了高级程序设计语言 >应用领域包括数据处理(非数值数据),其特 点是计算量不大,但输入、输出量却较大 >高速主机与低速外围设备的矛盾突出,出现了 操作系统、并发程序、数据库及其管理系统 >20世纪60年代初提出了软件一词,开始认识到 文档的重要性 >研究高级程序设计语言、编译程序、操作系统、 支持编程的工具及各种应用软件 作方式逐步从个体方式转向合作方式 出现软件抄院计算机科学与技术系软件工程课程 6/151
厦门理工学院计算机科学与技术系 软件工程课程 6/151 • 1956-1968年 从实用的高级程序语言出现到软件工程出现前 ➢存储器容量大,外围设备得到迅速发展,出现 了高级程序设计语言 ➢应用领域包括数据处理(非数值数据),其特 点是计算量不大,但输入、输出量却较大 ➢高速主机与低速外围设备的矛盾突出,出现了 操作系统、并发程序、数据库及其管理系统 ➢20世纪60年代初提出了软件一词,开始认识到 文档的重要性 ➢研究高级程序设计语言、编译程序、操作系统、 支持编程的工具及各种应用软件 ➢工作方式逐步从个体方式转向合作方式 ➢出现软件危机

1968年-至今 从软件工程出现到现在 > 硬件向巨型机和微型机二个方向发展,出现≥ 计算机网络,软件方面提出了软件工程,出现 了“计算机辅助软件工程”(CASE) ,计算机的应用领域渗透到各个业务领域,出现 了嵌入式应用,其特点是受制于它所嵌入的宿 主系统 > 开发方式逐步由个体合作方式转向工程方式 > 软件工程方面的研究主要包括软件开发模型 软件开发方法及技术、,软件工具与环境、软件 过程、软件自动化系统等 数件方面研究以智能化、自动化、集成化、并 行化、以及自然化为标志的软件开发新技术 厦门理工学院计算机科学与技术系软件工程课程 7/151
厦门理工学院计算机科学与技术系 软件工程课程 7/151 • 1968年-至今 从软件工程出现到现在 ➢ 硬件向巨型机和微型机二个方向发展,出现了 计算机网络,软件方面提出了软件工程,出现 了“计算机辅助软件工程”(CASE) ➢ 计算机的应用领域渗透到各个业务领域,出现 了嵌入式应用,其特点是受制于它所嵌入的宿 主系统 ➢ 开发方式逐步由个体合作方式转向工程方式 ➢ 软件工程方面的研究主要包括软件开发模型、 软件开发方法及技术、软件工具与环境、软件 过程、软件自动化系统等 ➢ 软件方面研究以智能化、自动化、集成化、并 行化、以及自然化为标志的软件开发新技术

软件危机 许多软件项目不能满足客户的要求 许多软件项目超出预算和时间安排 厦门理工学院计算机科学与技术系软件工程课程 8/151
厦门理工学院计算机科学与技术系 软件工程课程 8/151 软件危机 许多软件项目不能满足客户的要求 许多软件项目超出预算和时间安排

软件危机的表现 ·对软件开发成本和进度的估计常常很不正确 。 用户对“已完成的”软件系统不满意的现象经常发生 。 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度远远跟不上计算机应用迅 速普及深入的趋势 厦门理工学院计算机科学与技术系软件工程课程 9/151
厦门理工学院计算机科学与技术系 软件工程课程 9/151 软件危机的表现 • 对软件开发成本和进度的估计常常很不正确 • 用户对“已完成的”软件系统不满意的现象经常发生 • 软件产品的质量往往靠不住 • 软件常常是不可维护的 • 软件通常没有适当的文档资料 • 软件成本在计算机系统总成本中所占的比例逐年上升 • 软件开发生产率提高的速度远远跟不上计算机应用迅 速普及深入的趋势

软件危机的原因 软件是逻辑产品,开发进度、成本难以估计 缺乏或不完整、不一致的文档给维护带来困难 用户对软件需求的描述往往不够精确,有遗漏,有 二义 。 件开发人员对需求的理解与用户的本来愿望有差 异 。 大型软件项目需多人协同完成,缺乏管理经验 开发人员不能有效地、独立自主地处理大型软件的 全部关系 缺乏有力的方法学和工具的支持 软件项目的特殊性和人类智力的局限性 厦门理工学院计算机科学与技术系软件工程课程 10/151
厦门理工学院计算机科学与技术系 软件工程课程 10/151 软件危机的原因 • 软件是逻辑产品,开发进度、成本难以估计 • 缺乏或不完整、不一致的文档给维护带来困难 • 用户对软件需求的描述往往不够精确,有遗漏,有 二义 • 软件开发人员对需求的理解与用户的本来愿望有差 异 • 大型软件项目需多人协同完成,缺乏管理经验 • 开发人员不能有效地、独立自主地处理大型软件的 全部关系 • 缺乏有力的方法学和工具的支持 • 软件项目的特殊性和人类智力的局限性