书籍详情
软件工程基础
作者:李成大[等]编著
出版社:电子工业出版社
出版时间:2003-01-01
ISBN:9787505381940
定价:¥17.00
购买这本书可以去
内容简介
本书主要介绍软件工程及其应用的有关内容,包括可行性研究、需求分析、总体设计、详细设计、编码、测试、维护以及有关软件管理、软件开发工具和环境等方面的内容。为了保持教材内容的先进性,本书还介绍了面向对象软件工程学、统一建模语言UML、软件工程标准与软件文档等方面的内容。本书内容新颖,实例丰富,各章均有小结与习题,便于教学和自学。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供从事软件开发与应用的工程技术人员和管理人员阅读参考。前言软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间检验证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它。从20世纪60年代末提出“软件工程”概念以来,历经三十多年的飞速发展,软件工程逐渐成熟,现已成为计算机科学与技术领域中的一门重要学科。随着计算机的日益普及,计算机软件已无处不在。以软?乃得鳌⒖ⅰ⑽ず凸芾砦谌荩魑畔⒉档囊桓鲋е砑こ陶庖谎Э埔阎鸾ノ嗣撬煜ず凸惴河τ谩O衷诖蠹叶既鲜兜剑绻心母鱿钅坎蛔裱砑こ淘颍囟ɑ崾艿绞导某头!R虼耍险嫜安⒃谑导使ぷ髦姓返卦擞萌砑こ蹋前谠谖颐敲媲暗囊幌钍制惹械娜挝瘛*?软件工程是一门研究范围非常广泛的迅速发展的新兴学科,学科内的新技术、新方法不断涌现。本书着重从实用角度讲解软件工程的基本概念、基本原理和技术方法,同时也注意了该书的系统型和先进性。希望本书既能对实际的软件开发人员和管理人员有所帮助,又能为读者深入研究这门学科奠定较好的基础。本书共有13章。第1章介绍了软件的概念、发展和软件危机,着重介绍了软件生存期、软件开发模型及软件工程的基本概念和基本内容。第2、3、4、5、6、9、10章是本书的重点,分别论述可行性研究、需求分析、总体设计、详细设计、编码、测试、维护阶段的各种方法和技术,对SA方法、SD方法、数据流图、数据字典、层次图、HIPO图、结构图、NS图、PAD图、PDL语言、黑盒法、白盒法等逐一做了详细的介绍,读者开发软件时可根据需要灵活运用。为了保持教材内容的先进性,本书第7、8章介绍了面向对象软件工程学和统一建模语言UML,主要包括面向对象方法的基本概念、面向对象的分析、面向对象的设计、软件复用、UML的静态建模机制、UML的动态建模机制、UML软件开发过程等内容。第11章介绍了有关软件项目计划、软件项目组织、软件项目人员配备、软件项目的指导和检验、软件配置管理和配置管理工具等软件管理方面的内容。第12章介绍了软件开发工具和环境,并对计算机辅助软件工程CASE做了简要的介绍。第13章介绍了软件工程标准与软件文档,包括ISO9000质量标准、ISO/IEC12207软件生存周期过程标准、能力成熟度模型CMM等内容。在附录中给出了计算机软件开发文档编制指南,供实际应用时参考。本书内容新颖,实例丰富,语言文字通俗易懂;各章重点、难点突出,原理、技术和方法的阐述融于丰富的实例之中;各章均有小结与习题,便于教学和自学。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供从事软件开发与应用的工程技术人员和管理人员阅读参考。本书的第7、8、12、13章由李成大副教授编写,第1、2、3、4、5、11章由张京副教授编写,第9、10章由郑显举老师编写,第6章及附录由许珏老师编写,李成大老师负责统稿全书。西南交通大学计算机与通信工程学院文登敏副教授仔细审阅了本书,并提出了非常宝贵的意见,特此表示深深的谢意。由于编者水平有限,编写时间仓促,书中错误之处在所难免,恳请专家和读者批评指正。
作者简介
暂缺《软件工程基础》作者简介
目录
第1章 软件工程概述
1.1 软件的概念、特点和分类
1.1.1 软件的概念
1.1.2 软件的特点
1.1.3 软件的分类
1.2 软件的发展和软件危机
1.2.1 计算机系统的发展历程
1.2.2 软件危机
1.3 软件工程
1.3.1 软件工程的定义
1.3.2 软件工程方法学
1.4 软件生存期和软件开发模型
1.4.1 软件生存期
1.4.2 软件开发模型
小结
习题1
第2章 可行性研究
2.1 问题定义
2.1.1 问题定义的内容
2.1.2 问题定义的步骤
2.2 可行性研究的任务
2.3 可行性研究的步骤
2.4 系统流程图
2.5 成本/效益分析
2.5.1 成本估计
2.5.2 度量效益的方法
小结
习题2
第3章 需求分析
3.1 需求分析的任务
3.2 需求分析的过程
3.3 需求分析的原则
3.4 结构化分析方法
3.4.1 数据流图
3.4.2 数据字典
3.4.3 加工逻辑描述工具
3.5 原型化方法
3.5.1 软件原型的分类
3.5.2 快速原型开发模型
小结
习题3
第4章 总体设计
4.1 总体设计的过程
4.2 总体设计的图形工具
4.2.1 层次图
4.2.2 HIPO图
4.2.3 结构图
4.3 软件设计的概念和原理
4.3.1 模块化设计
4.3.2 自顶向下逐步细化
4.3.3 启发式规则
4.4 面向数据流的设计方法
4.4.1 基本概念
4.4.2 SD方法概述
4.4.3 SD方法的步骤
4.4.4 设计优化
小结
习题4
第5章 详细设计
5.1 详细设计的任务和原则
5.1.1 详细设计的任务
5.1.2 详细设计的原则
5.2 结构程序设计
5.3 详细设计的工具
5.3.1 程序流程图
5.3.2 N-S图
5.3.3 PAD图
5.3.4 PDL语言
5.3.5 详细设计工具的选择
小结
习题5
第6章 编码
6.1 程序设计语言
6.1.1 程序设计语言的分类
6.1.2 程序设计语言的特点
6.1.3 程序设计语言的选择
6.2 编码风格
6.2.1 代码文档化
6.2.2 数据说明
6.2.3 语句构造
6.2.4 输入/输出
6.3 程序效率
6.3.1 代码效率
6.3.2 存储器效率
6.3.3 输入/输出的效率
小结
习题6
第7章 面向对象的分析和设计方法
7.1 面向对象方法的基本概念
7.1.1 面向对象方法概述
7.1.2 面向对象的概念
7.1.3 面向对象方法的主要优点
7.2 面向对象的分析
7.2.1 面向对象分析的基本过程
7.2.2 确定对象和类
7.2.3 确定属性
7.2.4 定义服务
7.2.5 对象间通信
7.3 面向对象的设计
7.3.1 面向对象设计的基本概念
7.3.2 面向对象设计的方法
7.4 软件复用
7.4.1 软件复用的概念
7.4.2 软件复用的效果
7.4.3 软件复用技术
7.4.4 面向对象方法与软件复用的关系
小结
习题7
第8章 统一建模语言UML
8.1 UML简介
8.1.1 UML的由来
8.1.2 UML的内容
8.1.3 UML的主要特点
8.1.4 UML的应用领域
8.2 UML模型的基本概念
8.2.1 建模技术
8.2.2 标准建模语言UML建模框架
8.2.3 UML模型的基本概念
8.3 UML的静态建模机制
8.3.1 用例图
8.3.2 类图、对象图和包
8.3.3 构件图和配置图
8.4 UML的动态建模机制
8.4.1 消息
8.4.2 状态图
8.4.3 顺序图
8.4.4 合作图
8.4.5 活动图
8.4.6 四种图的运用
8.5 UML软件开发过程概述
8.5.1 UML建模过程高层视图
8.5.2 UML实际建模过程
小结
习题8
第9章 软件测试
9.1 基本概念
9.1.1 软件测试的目标
9.1.2 软件测试的方法与技术
9.1.3 软件测试的步骤
9.2 测试用例的设计
9.2.1 黑盒测试法
9.2.2 白盒测试法
9.3 单元测试
9.4 集成测试
9.5 验收测试
9.6 系统测试
9.7 面向对象的软件测试
9.7.1 OOA和OOD模型的测试
9.7.2 面向对象的测试策略
小结
习题9
第10章 软件维护
10.1 维护的种类
10.2 可维护性
10.2.1 决定可维护性的因素
10.2.2 文档
10.2.3 可维护性复审
10.3 维护工作的步骤
10.4 维护的副作用
10.5 维护的管理
10.6 逆向工程和再生工程
小结
习题10
第11章 软件管理
11.1 软件项目的特点和软件管理的职能
11.1.1 软件项目的特点
11.1.2 造成软件项目失误的原因
11.1.3 软件管理的职能
11.2 软件项目计划
11.2.1 制定计划的目标和进行风险分析
11.2.2 软件计划的类型
11.2.3 项目计划中任务的划分
11.3 软件项目组织
11.3.1 组织原则
11.3.2 组织结构的模式
11.3.3 程序设计小组的组织
11.4 软件项目人员配备
11.4.1 项目开发各阶段所需人员
11.4.2 配备人员的原则
11.4.3 对项目经理人员的要求
11.4.4 评价软件人员的条件
11.5 软件项目的指导和检验
11.5.1 软件项目指导
11.5.2 软件项目检验
11.6 软件配置管理和配置管理工具
11.6.1 概述
11.6.2 基线(baseline)
11.6.3 软件配置项
11.6.4 软件配置管理的过程
11.6.5 配置管理工具ClearCase简介
小结
习题11
第12章 软件开发工具和环境
12.1 软件开发工具
12.2 软件开发环境
12.2.1 按解决的问题分类
12.2.2 按现有软件开发环境的演变趋向分类
12.2.3 按集成化程度分类
12.3 软件开发工具和环境的应用及发展
12.4 计算机辅助软件工程CASE
12.4.1 CASE工具
12.4.2 软件自动化
12.4.3 CASE的作用
12.4.4 CASE工具实例
小结
习题12
第13章 软件工程标准与软件文档
13.1 软件工程标准化
13.1.1 什么是软件工程标准
13.1.2 软件工程标准化的作用
13.1.3 软件工程标准的级别分类
13.2 ISO 9000质量标准
13.2.1 基本思想
13.2.2 ISO 9000-3标准
13.3 ISO/IEC 12207软件生存周期过程标准
13.3.1 标准制定的目的和适用范围
13.3.2 标准的基本内容
13.4 软件文档
13.4.1 软件文档的作用和分类
13.4.2 文档的管理和维护
13.5 能力成熟度模型CMM
13.5.1 能力成熟度模型的结构
13.5.2 能力成熟度等级
13.5.3 关键过程域
13.5.4 应用CMM
小结
习题13
附录 计算机软件开发文档编制指南
参考文献
1.1 软件的概念、特点和分类
1.1.1 软件的概念
1.1.2 软件的特点
1.1.3 软件的分类
1.2 软件的发展和软件危机
1.2.1 计算机系统的发展历程
1.2.2 软件危机
1.3 软件工程
1.3.1 软件工程的定义
1.3.2 软件工程方法学
1.4 软件生存期和软件开发模型
1.4.1 软件生存期
1.4.2 软件开发模型
小结
习题1
第2章 可行性研究
2.1 问题定义
2.1.1 问题定义的内容
2.1.2 问题定义的步骤
2.2 可行性研究的任务
2.3 可行性研究的步骤
2.4 系统流程图
2.5 成本/效益分析
2.5.1 成本估计
2.5.2 度量效益的方法
小结
习题2
第3章 需求分析
3.1 需求分析的任务
3.2 需求分析的过程
3.3 需求分析的原则
3.4 结构化分析方法
3.4.1 数据流图
3.4.2 数据字典
3.4.3 加工逻辑描述工具
3.5 原型化方法
3.5.1 软件原型的分类
3.5.2 快速原型开发模型
小结
习题3
第4章 总体设计
4.1 总体设计的过程
4.2 总体设计的图形工具
4.2.1 层次图
4.2.2 HIPO图
4.2.3 结构图
4.3 软件设计的概念和原理
4.3.1 模块化设计
4.3.2 自顶向下逐步细化
4.3.3 启发式规则
4.4 面向数据流的设计方法
4.4.1 基本概念
4.4.2 SD方法概述
4.4.3 SD方法的步骤
4.4.4 设计优化
小结
习题4
第5章 详细设计
5.1 详细设计的任务和原则
5.1.1 详细设计的任务
5.1.2 详细设计的原则
5.2 结构程序设计
5.3 详细设计的工具
5.3.1 程序流程图
5.3.2 N-S图
5.3.3 PAD图
5.3.4 PDL语言
5.3.5 详细设计工具的选择
小结
习题5
第6章 编码
6.1 程序设计语言
6.1.1 程序设计语言的分类
6.1.2 程序设计语言的特点
6.1.3 程序设计语言的选择
6.2 编码风格
6.2.1 代码文档化
6.2.2 数据说明
6.2.3 语句构造
6.2.4 输入/输出
6.3 程序效率
6.3.1 代码效率
6.3.2 存储器效率
6.3.3 输入/输出的效率
小结
习题6
第7章 面向对象的分析和设计方法
7.1 面向对象方法的基本概念
7.1.1 面向对象方法概述
7.1.2 面向对象的概念
7.1.3 面向对象方法的主要优点
7.2 面向对象的分析
7.2.1 面向对象分析的基本过程
7.2.2 确定对象和类
7.2.3 确定属性
7.2.4 定义服务
7.2.5 对象间通信
7.3 面向对象的设计
7.3.1 面向对象设计的基本概念
7.3.2 面向对象设计的方法
7.4 软件复用
7.4.1 软件复用的概念
7.4.2 软件复用的效果
7.4.3 软件复用技术
7.4.4 面向对象方法与软件复用的关系
小结
习题7
第8章 统一建模语言UML
8.1 UML简介
8.1.1 UML的由来
8.1.2 UML的内容
8.1.3 UML的主要特点
8.1.4 UML的应用领域
8.2 UML模型的基本概念
8.2.1 建模技术
8.2.2 标准建模语言UML建模框架
8.2.3 UML模型的基本概念
8.3 UML的静态建模机制
8.3.1 用例图
8.3.2 类图、对象图和包
8.3.3 构件图和配置图
8.4 UML的动态建模机制
8.4.1 消息
8.4.2 状态图
8.4.3 顺序图
8.4.4 合作图
8.4.5 活动图
8.4.6 四种图的运用
8.5 UML软件开发过程概述
8.5.1 UML建模过程高层视图
8.5.2 UML实际建模过程
小结
习题8
第9章 软件测试
9.1 基本概念
9.1.1 软件测试的目标
9.1.2 软件测试的方法与技术
9.1.3 软件测试的步骤
9.2 测试用例的设计
9.2.1 黑盒测试法
9.2.2 白盒测试法
9.3 单元测试
9.4 集成测试
9.5 验收测试
9.6 系统测试
9.7 面向对象的软件测试
9.7.1 OOA和OOD模型的测试
9.7.2 面向对象的测试策略
小结
习题9
第10章 软件维护
10.1 维护的种类
10.2 可维护性
10.2.1 决定可维护性的因素
10.2.2 文档
10.2.3 可维护性复审
10.3 维护工作的步骤
10.4 维护的副作用
10.5 维护的管理
10.6 逆向工程和再生工程
小结
习题10
第11章 软件管理
11.1 软件项目的特点和软件管理的职能
11.1.1 软件项目的特点
11.1.2 造成软件项目失误的原因
11.1.3 软件管理的职能
11.2 软件项目计划
11.2.1 制定计划的目标和进行风险分析
11.2.2 软件计划的类型
11.2.3 项目计划中任务的划分
11.3 软件项目组织
11.3.1 组织原则
11.3.2 组织结构的模式
11.3.3 程序设计小组的组织
11.4 软件项目人员配备
11.4.1 项目开发各阶段所需人员
11.4.2 配备人员的原则
11.4.3 对项目经理人员的要求
11.4.4 评价软件人员的条件
11.5 软件项目的指导和检验
11.5.1 软件项目指导
11.5.2 软件项目检验
11.6 软件配置管理和配置管理工具
11.6.1 概述
11.6.2 基线(baseline)
11.6.3 软件配置项
11.6.4 软件配置管理的过程
11.6.5 配置管理工具ClearCase简介
小结
习题11
第12章 软件开发工具和环境
12.1 软件开发工具
12.2 软件开发环境
12.2.1 按解决的问题分类
12.2.2 按现有软件开发环境的演变趋向分类
12.2.3 按集成化程度分类
12.3 软件开发工具和环境的应用及发展
12.4 计算机辅助软件工程CASE
12.4.1 CASE工具
12.4.2 软件自动化
12.4.3 CASE的作用
12.4.4 CASE工具实例
小结
习题12
第13章 软件工程标准与软件文档
13.1 软件工程标准化
13.1.1 什么是软件工程标准
13.1.2 软件工程标准化的作用
13.1.3 软件工程标准的级别分类
13.2 ISO 9000质量标准
13.2.1 基本思想
13.2.2 ISO 9000-3标准
13.3 ISO/IEC 12207软件生存周期过程标准
13.3.1 标准制定的目的和适用范围
13.3.2 标准的基本内容
13.4 软件文档
13.4.1 软件文档的作用和分类
13.4.2 文档的管理和维护
13.5 能力成熟度模型CMM
13.5.1 能力成熟度模型的结构
13.5.2 能力成熟度等级
13.5.3 关键过程域
13.5.4 应用CMM
小结
习题13
附录 计算机软件开发文档编制指南
参考文献
猜您喜欢