书籍详情
软件工程
作者:曹哲主编
出版社:中国水利水电出版社
出版时间:2004-07-01
ISBN:9787508415550
定价:¥24.00
购买这本书可以去
内容简介
内容提要本书从实用的角度出发系统地介绍了软件工程的基本理论、方法、技术、工具和环境。全书共17章。内容主要包括:概述,软件项目管理,计算机系统工程,需求分析,面向数据流的分析方法,面向数据的分析方法与形式化方法,面向对象的需求分析,软件设计基础,面向数据流的设计方法,面向数据的设计方法,面向对象的设计方法,人机界面设计,程序设计语言与编码,软件测试、软件维护、软件配置管理以及软件开发新技术简介等。本书结构合理,在选材上注重了实用性,以期达到理论与实践相结合、学以致用的目的,本书对计算机辅助软件工程(CASE)工具的介绍几乎贯穿全书,概念清楚、通俗易懂、内容翔实、实例丰富、习题思考题与内容配合紧密。本书既可作为高等院校“软件工程”课程的教材或教学参考书,也可作为软件开发人员的参考书。前言软件工程是计算机学科中一个非常有价值并具有广阔发展空间的研究领域。多年来,随着计算机硬件技术的迅猛发展,人们开发优质软件的能力远远落后于社会各个领域对计算机软件的需求,也就是说,时至今日,仍然经受着“软件危机”的困扰。为了克服“软件危机”,自2世纪6年代末期以来,人们在这一领域做了大量的研究与实践工作,积累了大量的软件开发技术和方法,进而逐渐形成了系统的软件项目开发与管理理论。于是,一门新兴的学科——软件工程学(简称软件工程)诞生了。软件工程所研究的范围十分广泛,主要包括软件项目开发和软件维护的有关理论、技术、方法、标准、计算机辅助工具和环境以及软件项目管理等诸多方面。软件工程领域的研究成果为缓解软件危机发挥了关键性作用。“软件工程”课程是高等学校计算机学科教学计划中的一门主干课程。本书正是为普通高校计算机学科“软件工程”课程而编写的教材。本书共17章,其中第1章~第3章介绍软件工程的基本概念、软件项目管理、计算机系统工程:第4章~第7章介绍需求分析的有关内容,包括需求分析概念、面向数据流、面向数据、形式化、面向对象等需求分析方法、需求规格说明与评审等;第8章一第12章介绍软件设计的有关内容,包括软件设计的概念、设计过程和一般性技术,面向数据流、面向数据、面向对象以及人机界面的设计方法与技术、设计规格说明与评审等:第13章~第16章介绍软件的实现、测试与维护,主要包括程序设计语言与编码、软件测试与调试、软件维护、软件配置管理等:第17章简单介绍近期出现的与软件开发有关的新技术,包括软件重用技术、Intemet与Java、对象链接与嵌入(OLE)技术以及分布计算技术等。本书具有以下几个特点:(1)结构合理,系统地介绍了软件工程的基本原理、概念、方法和工具。(2)在选材上注重了实用性,以期达到理论与实践相结合、学以致用的目的。(3)对计算机辅助软件工程(CASE)工具的介绍几乎贯穿全书。(4)概念清楚、通俗易懂、内容翔实、实例丰富,习题思考题与内容配合紧密。本书可以作为高等院校“软件工程”课程的教材或教学参考书,也可以作为软件开发人员的参考书。本书由曹哲主编,由高诚、车进辉、吴燕任副主编,具体分工为:第1章、第2章和第14章由曹哲编写;第5章、第6章、第8章、第9章、第1章、第12章、第16章由高诚编写,第7章、第11章、第13章、第15章、第17章由车进辉编写,第3章和第4章由吴燕编写。本书由朱敦名教授主审。在本书的编写过程中,北华大学计算机科学技术学院计算机实验室的全体同志给予了多方面的支持和帮助。赵津燕、刘艳、李益民、胡晓宏、尹健慧、葛建梅、王双立等同志也参与了大纲讨论,并提出了很多宝贵意见。在此,编者向他们表示衷心地感谢。由于时间仓促及编者水平有限,书中难免存在疏漏和不妥之处,恳请广大读者批评指正。编者联系方式:Zxqu3@tom.com。编者24年5月
作者简介
暂缺《软件工程》作者简介
目录
第1章 概述
1.1 软件
1.1.1 软件
1.1.2 软件危机
1.2 软件工程的概念
1.2.1 软件工程的定义
1.2.2 软件工程的基本原理
1.2.3 软件工程的目标
1.2.4 软件工程的原则
1.3 软件生存周期
1.3.1 软件定义
1.3.2 软件开发
1.3.3 软件的使用与维护及退役
1.4软件开发模型
1.4.1 瀑布模型
1.4.2 原型模型
1.4.3 螺旋模型
1.4.4 喷泉模型
1.4.5 变换模型
1.4.6 基于四代技术的模型
1.4.7 基于知识的智能模型
1.5 软件开发方法、工具及环境
1.5.1 软件开发方法
1.5.2 软件开发工具与环境
1.5.3 计算机辅助软件工程
习题
第2章 软件项目管理
2.1 软件度量
2.1.1 软件度量的基本概念
2.1.2 面向规模的度量
2.1.3 面向功能的度量
2.2 软件项目估算
2.2.1 软件项目的估算方法
2.2.2 代码行和功能点的估算
2.2.3 软件项目的经验估算模型
2.3 软件质量度量
2.3.1 软件质量的定义
2.3.2 软件质量的度量模型
2.4 软件复杂性度量
2.4.1 软件复杂性的概念及度量原则
2.4.2 McCabe度量模型
2.4.3 Halstead度量模型
2.5 软件可靠性度量
2.5.1 软件可靠性的有关概念
2.5.2 软件可靠性的估算
2.6 软件开发过程的管理
2.6.1 软件开发项目管理过程
2.6.2 风险分析
2.6.3 进度安排
2.6.4 软件质量保证
2.6.5 软件项目组织的建立与人员分
2.6.6 软件项目的跟踪与控制
2.6.7 软件开发标准
习题.
第3章 计算机系统工程
3.1 计算机系统工程的概念
3.1.1 硬件工程
3.1.2 软件工程
3.1.3 人机工程
3.1.4数据库工程
3.2可行性研究
3.2.1 可行性研究的任务及步骤
3.2.2 经济可行性研究
3.2.3 技术可行性研究
3.2.4选择方案
3.3 系统模型
3.4 系统规格说明与评审
3. 4. 1 系统规格说明
3.4.2 系统规格说明的评审
习题
第4章 需求分析
4.1 需求分析的任务
4.2 需求分析的一般性技术
4.2.1 初步需求获取技术
4.2.2 需求建模技术
4.2.3 快速原型技术
4.2.4 问题分解与抽象、多视点分析技术
4.3 需求规格说明与评审
4.3.1 需求规格说明书的作用与内容
4.3.2 需求评审
习题
第5章 面向数据流的分析方法
5.1 数据流图与数据字典
5.2 实体关系图
5.2.1 数据对象、属性与关系
5.2.2 实体关系图
5.3 基于数据流的分析方法
5.3.1 创建数据流模型
5.3.2 过程规格说明
5.4 基于数据流图的需求分析CASE工具
5.4.1 核心思想
5.4.2 基于CASE 具的需求分析
习题
第6章 面向数据的分析方法与形式化方法
6.1 面向数据结构的系统开发方法
6.1.1 Warnier图
6.1.2 DSSD方法
6.2 Jackson系统开发方法
6.2.1 标识实体与行为
6.2.2 生成实体结构图
6.2.3 创建软件系统模型
6.3 形式化方法简介
6.3.1 形式方法的引入
6.3.2 形式方法的主要思想
6.3.3 形式化方法的分类
6.3.4 软件形式开发方法
6.3.5 形式方法的优缺点
习题
第7章 面向对象的需求分析
7.1 面向对象的概念
7.1.1 对象(Obieeo
7.1.2 类(Class)
7.1.3 继承(1nheritance)
7.1.4 聚合(Aggregation)
7.1.5 消息(Message)
7.2 面向对象的分析方法
7.2.1 0MT方法
7.2.2 Boo~方法
7.2.3 00SE方法
7.2.4 Coad/Yourdon的OOMOOD方法
7.3 面向对象的需求分析CASE32具
7.3.1 视
7.3.2 UML的图
7.3.3 银行系统的需求分析
7.4 Rational统一过程
7.4.1 时间轴
7.4.2 作流
7.4.3 微过程的划分
习题
第8章 软件设计基础
8.1 软件设计基本概念
8.1.1 软件设计过程
8.1.2 抽象与逐步求精
8.1.3 模块化与信息隐藏
8.1.4 软件总体结构设计
8.1.5 数据结构设计
8.1.6 软件过程设计
8.2 软件过程设计技术和工具
8.2.1 结构化程序设计
8.2.2 图形表示法
8.2.3 判定表与判定树
8.2.4 过程设计语言(PDL)
8.3 设计规格说明与评审
习题.
第9章 面向数据流的设计方法
9.1 SD方法的设计过程及有关概念
9.2变换分析
9.3 事务分析
9.4 设计优化及原则
9.4.1 启发式设计策略
9.4.2 设计优化原则
习题
第10章 面向数据的设计方法
10.1 面向数据设计的概念
10.2 Jackson系统开发方法
10.2.1 JSD分析技术回顾
10.2.2 扩充功能性过程
10.2.3 施加时间约束
10.2.4 实现与JSP技术
10.2.5 产生过程表示
10.3 基于结构化数据的系统开发(DSSD)方法
10.3.1 DSSD设计步骤
10.3.2 推导输出数据的逻辑结构
10.3.3 推导处理过程的逻辑结构
10.3.4 复杂过程逻辑的描述
习题
第11章 面向对象的设计方法
11.1 面向对象设计的概念
11.1.1 对象、操作和消息
11.1.2 类、实例和继承
11.2 面向对象的设计方法
11.2.1 问题域部件(PDC)的设计
11.2.2 用户界面部件(HIC)的设计
11.2.3 任务管理部件(TMC)的设计
11.2.4 数据管理部件(DMC)的设计
习题
第12章 人机界面设计
12.1 人的因素
12.1.1 人类感知基础
12.1.2用户的技能
12.1.3 任务与用户的特殊要求
12.2 人机界面风格
12.3 人机界面设计过程
12.3.1 界面设计的有关模型
12.3.2任务分析与建模
12.3.3 界面设计的一般问题
12.3.4实现工具
12.4 人机界面实现的原则与标准
12.4.1一般可交互性
12.4.2信息显示
12.4.3数据输入
12.4.4 人机界面标准
习题
第13章 程序设计语言与编码
13.1 程序设计语言
13.1.1 程序设计语言的特点
13.1.2 程序设计语言的发展和分类
13.1.3 程序设计语言的选择标准
13.2 编程质量与程序设计语言
13.3 编程标准
13.4 编程风格
13.5 程序设计支持环境(PSE)
习题
第14章 软件测试
14.1 软件测试的基本知识
14.1.1 软件测试的目标与原则
14.1.2 软件测试的常用方法
14.1.3 测试阶段的信息流
14.1.4 软件测试的步骤
14.1.5 软件测试中常见的错误类型
14.2 软件测试技术
14.2.1 白盒测试
14.2.2 黑盒测试
14.3 软件测试过程
14.3.1 单元测试
14.3.2 集成测试
14.3.3 验收测试
14.3.4 系统测试
14.4 调试
14.4.1 调试的概念
14.4.2调试策略
14.5 测试工具
14.5.1 自动测试工具
14.5.2 调试工具
习题
第15章 软件维护
15.1 软件维护的基本内容和分类
15.2 软件维护的特点
15.2.1 结构化维护与非结构化维护
15.2.2 维护成本
15.2.3 维护可能存在的问题
15.3 软件维护过程
15.3.1 维护组织
15.3.2 维护的报告与审核
15.3.3 维护过程的事件流
15.3.4 保存维护记录
15.3.5 评价维护活动
15.4 维护的副作用
15.5 软件的可维护性
15.5.1 影响可维护性的因素
15.5.2 可维护性的度量
15.5.3 可维护性复
习题
第16章 软件配置管理
16.1 软件配置管理的概念
16.1.1 基线技术
16.1.2 软件配置项
16.2 软件配置管理的任务及标准
16.2.1 标识配置对象
16.2.2 版本控制
16.2.3 修改控制
16.2.4 配置审计
16.2.5 配置状况报告
16.2.6 软件配置管理标准
16.3 配置管理的CASE32具
习题
第17章 软件开发新技术简介
17.1 软件重用技术简介
17.1.1 软件重用的概念和过程
17.1.2 构造软部件库
17.1.3 软部件的重用
17.1.4 软件重用项目的管理
17.2 Intemet与Java简介
17.2.1 Intemet简介
17.2.2 Java技术简介
17.3 对象链接与嵌入技术简介
17.3.1 复合文档的概念
17.3.2 实现复合文档的方法链接和嵌入
17.3.3 COM是实现链接和嵌入的技术基础
17.3.4 ActiveX
17.4 分布式计算技术简介
17.4.1 分布式技术概述
17.4.2 主流分布式计算技术
习题
参考文献
1.1 软件
1.1.1 软件
1.1.2 软件危机
1.2 软件工程的概念
1.2.1 软件工程的定义
1.2.2 软件工程的基本原理
1.2.3 软件工程的目标
1.2.4 软件工程的原则
1.3 软件生存周期
1.3.1 软件定义
1.3.2 软件开发
1.3.3 软件的使用与维护及退役
1.4软件开发模型
1.4.1 瀑布模型
1.4.2 原型模型
1.4.3 螺旋模型
1.4.4 喷泉模型
1.4.5 变换模型
1.4.6 基于四代技术的模型
1.4.7 基于知识的智能模型
1.5 软件开发方法、工具及环境
1.5.1 软件开发方法
1.5.2 软件开发工具与环境
1.5.3 计算机辅助软件工程
习题
第2章 软件项目管理
2.1 软件度量
2.1.1 软件度量的基本概念
2.1.2 面向规模的度量
2.1.3 面向功能的度量
2.2 软件项目估算
2.2.1 软件项目的估算方法
2.2.2 代码行和功能点的估算
2.2.3 软件项目的经验估算模型
2.3 软件质量度量
2.3.1 软件质量的定义
2.3.2 软件质量的度量模型
2.4 软件复杂性度量
2.4.1 软件复杂性的概念及度量原则
2.4.2 McCabe度量模型
2.4.3 Halstead度量模型
2.5 软件可靠性度量
2.5.1 软件可靠性的有关概念
2.5.2 软件可靠性的估算
2.6 软件开发过程的管理
2.6.1 软件开发项目管理过程
2.6.2 风险分析
2.6.3 进度安排
2.6.4 软件质量保证
2.6.5 软件项目组织的建立与人员分
2.6.6 软件项目的跟踪与控制
2.6.7 软件开发标准
习题.
第3章 计算机系统工程
3.1 计算机系统工程的概念
3.1.1 硬件工程
3.1.2 软件工程
3.1.3 人机工程
3.1.4数据库工程
3.2可行性研究
3.2.1 可行性研究的任务及步骤
3.2.2 经济可行性研究
3.2.3 技术可行性研究
3.2.4选择方案
3.3 系统模型
3.4 系统规格说明与评审
3. 4. 1 系统规格说明
3.4.2 系统规格说明的评审
习题
第4章 需求分析
4.1 需求分析的任务
4.2 需求分析的一般性技术
4.2.1 初步需求获取技术
4.2.2 需求建模技术
4.2.3 快速原型技术
4.2.4 问题分解与抽象、多视点分析技术
4.3 需求规格说明与评审
4.3.1 需求规格说明书的作用与内容
4.3.2 需求评审
习题
第5章 面向数据流的分析方法
5.1 数据流图与数据字典
5.2 实体关系图
5.2.1 数据对象、属性与关系
5.2.2 实体关系图
5.3 基于数据流的分析方法
5.3.1 创建数据流模型
5.3.2 过程规格说明
5.4 基于数据流图的需求分析CASE工具
5.4.1 核心思想
5.4.2 基于CASE 具的需求分析
习题
第6章 面向数据的分析方法与形式化方法
6.1 面向数据结构的系统开发方法
6.1.1 Warnier图
6.1.2 DSSD方法
6.2 Jackson系统开发方法
6.2.1 标识实体与行为
6.2.2 生成实体结构图
6.2.3 创建软件系统模型
6.3 形式化方法简介
6.3.1 形式方法的引入
6.3.2 形式方法的主要思想
6.3.3 形式化方法的分类
6.3.4 软件形式开发方法
6.3.5 形式方法的优缺点
习题
第7章 面向对象的需求分析
7.1 面向对象的概念
7.1.1 对象(Obieeo
7.1.2 类(Class)
7.1.3 继承(1nheritance)
7.1.4 聚合(Aggregation)
7.1.5 消息(Message)
7.2 面向对象的分析方法
7.2.1 0MT方法
7.2.2 Boo~方法
7.2.3 00SE方法
7.2.4 Coad/Yourdon的OOMOOD方法
7.3 面向对象的需求分析CASE32具
7.3.1 视
7.3.2 UML的图
7.3.3 银行系统的需求分析
7.4 Rational统一过程
7.4.1 时间轴
7.4.2 作流
7.4.3 微过程的划分
习题
第8章 软件设计基础
8.1 软件设计基本概念
8.1.1 软件设计过程
8.1.2 抽象与逐步求精
8.1.3 模块化与信息隐藏
8.1.4 软件总体结构设计
8.1.5 数据结构设计
8.1.6 软件过程设计
8.2 软件过程设计技术和工具
8.2.1 结构化程序设计
8.2.2 图形表示法
8.2.3 判定表与判定树
8.2.4 过程设计语言(PDL)
8.3 设计规格说明与评审
习题.
第9章 面向数据流的设计方法
9.1 SD方法的设计过程及有关概念
9.2变换分析
9.3 事务分析
9.4 设计优化及原则
9.4.1 启发式设计策略
9.4.2 设计优化原则
习题
第10章 面向数据的设计方法
10.1 面向数据设计的概念
10.2 Jackson系统开发方法
10.2.1 JSD分析技术回顾
10.2.2 扩充功能性过程
10.2.3 施加时间约束
10.2.4 实现与JSP技术
10.2.5 产生过程表示
10.3 基于结构化数据的系统开发(DSSD)方法
10.3.1 DSSD设计步骤
10.3.2 推导输出数据的逻辑结构
10.3.3 推导处理过程的逻辑结构
10.3.4 复杂过程逻辑的描述
习题
第11章 面向对象的设计方法
11.1 面向对象设计的概念
11.1.1 对象、操作和消息
11.1.2 类、实例和继承
11.2 面向对象的设计方法
11.2.1 问题域部件(PDC)的设计
11.2.2 用户界面部件(HIC)的设计
11.2.3 任务管理部件(TMC)的设计
11.2.4 数据管理部件(DMC)的设计
习题
第12章 人机界面设计
12.1 人的因素
12.1.1 人类感知基础
12.1.2用户的技能
12.1.3 任务与用户的特殊要求
12.2 人机界面风格
12.3 人机界面设计过程
12.3.1 界面设计的有关模型
12.3.2任务分析与建模
12.3.3 界面设计的一般问题
12.3.4实现工具
12.4 人机界面实现的原则与标准
12.4.1一般可交互性
12.4.2信息显示
12.4.3数据输入
12.4.4 人机界面标准
习题
第13章 程序设计语言与编码
13.1 程序设计语言
13.1.1 程序设计语言的特点
13.1.2 程序设计语言的发展和分类
13.1.3 程序设计语言的选择标准
13.2 编程质量与程序设计语言
13.3 编程标准
13.4 编程风格
13.5 程序设计支持环境(PSE)
习题
第14章 软件测试
14.1 软件测试的基本知识
14.1.1 软件测试的目标与原则
14.1.2 软件测试的常用方法
14.1.3 测试阶段的信息流
14.1.4 软件测试的步骤
14.1.5 软件测试中常见的错误类型
14.2 软件测试技术
14.2.1 白盒测试
14.2.2 黑盒测试
14.3 软件测试过程
14.3.1 单元测试
14.3.2 集成测试
14.3.3 验收测试
14.3.4 系统测试
14.4 调试
14.4.1 调试的概念
14.4.2调试策略
14.5 测试工具
14.5.1 自动测试工具
14.5.2 调试工具
习题
第15章 软件维护
15.1 软件维护的基本内容和分类
15.2 软件维护的特点
15.2.1 结构化维护与非结构化维护
15.2.2 维护成本
15.2.3 维护可能存在的问题
15.3 软件维护过程
15.3.1 维护组织
15.3.2 维护的报告与审核
15.3.3 维护过程的事件流
15.3.4 保存维护记录
15.3.5 评价维护活动
15.4 维护的副作用
15.5 软件的可维护性
15.5.1 影响可维护性的因素
15.5.2 可维护性的度量
15.5.3 可维护性复
习题
第16章 软件配置管理
16.1 软件配置管理的概念
16.1.1 基线技术
16.1.2 软件配置项
16.2 软件配置管理的任务及标准
16.2.1 标识配置对象
16.2.2 版本控制
16.2.3 修改控制
16.2.4 配置审计
16.2.5 配置状况报告
16.2.6 软件配置管理标准
16.3 配置管理的CASE32具
习题
第17章 软件开发新技术简介
17.1 软件重用技术简介
17.1.1 软件重用的概念和过程
17.1.2 构造软部件库
17.1.3 软部件的重用
17.1.4 软件重用项目的管理
17.2 Intemet与Java简介
17.2.1 Intemet简介
17.2.2 Java技术简介
17.3 对象链接与嵌入技术简介
17.3.1 复合文档的概念
17.3.2 实现复合文档的方法链接和嵌入
17.3.3 COM是实现链接和嵌入的技术基础
17.3.4 ActiveX
17.4 分布式计算技术简介
17.4.1 分布式技术概述
17.4.2 主流分布式计算技术
习题
参考文献
猜您喜欢