软件工程 / 21世纪高等学校规划教材·软件工程
¥45.00定价
作者: 方木云、杭婷婷等
出版时间:2015年12月
出版社:清华大学出版社
- 清华大学出版社
- 9787302413790
- 1-1
- 71226
- 16开
- 2015年12月
- 工学
- 软件工程
- TP311.5
- 计算机
- 本专科、高职高专
内容简介
本书围绕软件的基本概念、开发方法、开发工具、管理、实践和文档6个部分来选取和组织材料。基本概念部分包括软件、软件危机、软件工程和计算模型; 开发方法部分包括基于过程的方法和基于建模粒度的方法,前者介绍瀑布型方法、快速原型方法和其他一些方法,后者介绍面向对象方法、面向构件方法、面向AGENT方法、面向SOA方法和面向云计算方法; 开发工具部分包括CASE概念、实例和发展趋势; 管理部分包括项目招投标、人员、进度、成本、质量和风险等管理; 实践部分包括信息系统开发、类制作、构件制作、SOA实现、云平台体验和CASE工具制作; 文档部分包含12种重要的模板。 本书可作为高校本科生的教材,也可以作为教师和广大软件工程人员的参考书。
目录
基本概念篇
第1章基本概念
1.1软件
1.1.1软件定义
1.1.2软件分类
1.2软件危机
1.3软件工程
1.4计算模型
1.4.1单机计算模型
1.4.2分布计算模型
1.4.3并行计算模型
1.4.4网格计算模型
1.4.5普适计算模型
1.4.6云计算模型
1.5计算服务
思考题
软件方法篇·基于软件过程的方法
第2章瀑布型方法
2.1软件过程
2.1.1软件过程的提出
2.1.2软件过程的含义
2.1.3软件过程的规范
2.1.4软件工程的评估与改进
2.2瀑布型方法
思考题
第3章快速原型方法
3.1快速原型方法的产生
3.2快速原型方法
3.2.1进化式原型开发
3.2.2抛弃式原型开发
3.3快速原型方法案例
思考题
第4章其他方法
4.1增量方法
4.1.1增量方法的产生
4.1.2增量方法
4.1.3增量方法案例
4.2螺旋方法
4.3敏捷方法
4.3.1敏捷方法的产生
4.3.2敏捷方法
4.3.3敏捷方法案例
4.4面向复用的方法
4.5形式化方法
4.6净室方法
思考题
第5章需求分析
5.1需求分析的概念
5.1.1软件需求定义
5.1.2软件需求分析
5.1.3需求分析的要求
5.1.4需求分析的重要性
5.2需求分析的任务
5.2.1需求分析的过程
5.2.2需求分析的内容
5.2.3需求分析的任务
5.3需求分析的方法
5.4需求描述工具
5.4.1数据流图
5.4.2数据字典
5.4.3结构化语言
5.4.4判定表
5.4.5判定树
5.5需求分析文档
5.5.1需求文档完成的目标
5.5.2需求文档的特点
5.5.3需求文档编写的一般原则
5.5.4需求文档编写格式
5.6进行需求评审
5.6.1需求评审的方法
5.6.2需求评审的内容
5.6.3需求评审的测试
思考题
第6章概要设计
6.1概要设计概论
6.2概要设计原理
6.2.1模块化
6.2.2抽象化
6.2.3逐步求精
6.2.4信息隐藏和局部化
6.2.5模块独立性
6.2.6模块层次化
6.2.7启发式规则
6.3概要设计方法总结
6.4概要设计文档
思考题
第7章界面设计
7.1用户界面设计
7.2用户界面设计原则
7.3信息输入方式
7.4信息输出方式
7.5帮助系统
7.5.1错误消息
7.5.2用户文档
7.6界面评价
思考题
第8章详细设计
8.1详细设计的作用
8.2详细设计的工具
思考题
第9章测试
9.1软件测试定义
9.1.1测试的目的
9.1.2测试的基本原则
9.2软件测试模型
9.3软件测试方法
9.3.1黑盒测试方法
9.3.2白盒测试方法
9.3.3灰盒测试方法
9.4测试过程与测试文档
思考题
第10章维护和演化
10.1软件维护
10.2软件演化的产生
10.3软件演化理论
10.3.1演化与维护的关系
10.3.2软件演化的分类
思考题
软件方法篇·基于构造粒度的方法
第11章面向对象方法
11.1UML概述
11.1.1UML产生的背景
11.1.2UML定义
11.2UML的研究内容
11.2.1UML语言的定义
11.2.2UML的图形表示法
11.3UML建模过程
11.3.1UML建模过程
11.3.2UML在RUP中的应用
思考题
第12章面向构件方法
12.1软件体系结构的形成
12.1.1无体系结构阶段
12.1.2萌芽阶段
12.1.3初级阶段
12.1.4高级阶段
12.2软件体系结构的概念
12.3软件体系结构的要素
12.3.1构件
12.3.2连接件
12.3.3约束(配置)
12.4软件体系结构的作用
12.5基于体系结构的软件开发过程
思考题
第13章面向Agent方法
13.1面向Agent的技术
13.1.1Agent的基本概念
13.1.2Agent的体系架构
13.1.3Agent的组织类型
13.1.4Agent与组件的对比
13.1.5语义复用的Agent和组件
13.2面向Agent的软件工程
13.2.1面向Agent的研究内容
13.2.2面向Agent的开发过程
13.3面向Agent的经典开发方法
13.3.1Gaia方法
13.3.2Tropos方法
13.3.3MASE方法
思考题
第14章面向SOA方法
14.1面向服务体系架构的产生
14.1.1传统的软件体系结构
14.1.2基于组件的软件体系结构
14.1.3面向服务体系阶段
14.2SOA的基本概念
14.2.1SOA的定义
14.2.2SOA的架构
14.2.3SOA的优点
14.3支持SOA的Web Service技术
14.3.1SOA的基本原则
14.3.2基于SOA的解决方案
14.3.3Web Service技术
14.3.4SOA架构的不足
14.4适于SOA的建模方法
14.4.1MDA
14.4.2敏捷方法
14.4.3SOA的五视图法
14.5基于SOA架构的软件开发方法
14.5.1面向服务的架构
14.5.2基于SOA架构技术的优势
14.5.3SOA应用的构建步骤
14.5.4SOAD与传统软件开发的区别
思考题
第15章面向云计算方法
15.1云计算的基本概念和主要特征
15.1.1云计算的基本概念
15.1.2云计算的主要特征
15.1.3云计算的分类
15.1.4云计算与网格计算
15.1.5云计算的现状和发展趋势
15.2云计算的原理与关键技术
15.2.1云计算的原理
15.2.2云计算的实现机制
15.2.3Google云计算技术
思考题
软件工具篇
第16章CASE工具
16.1CASE工具概念
16.1.1CASE定义
16.1.2CASE相关概念
16.1.3CASE开发环境
16.1.4CASE工具组成
16.2CASE优势
16.3CASE工具实例
16.3.1CASE工具的产生
16.3.2常见CASE的工具
16.4CASE发展趋势
思考题
软件管理篇
第17章软件项目
17.1项目立项
17.1.1项目基本概念
17.1.2软件项目的特点
17.1.3软件项目的立项
17.1.4软件立项文档
17.2项目招投标
17.2.1项目招标与投标的概念
17.2.2项目招标与投标的过程
17.2.3招标书与投标书的编写
17.3项目合同签署
17.3.1合同的概念
17.3.2签订合同
思考题
第18章人员管理
18.1软件开发人员构成
18.2人思维的局限性
18.2.1记忆结构
18.2.2问题的解决
18.2.3工作动力
18.3小组协作
18.3.1小组的构成
18.3.2小组的凝聚力
18.3.3小组的沟通
18.4选择和留住职员
18.5激励制度
思考题
第19章进度管理
19.1项目进度
19.2条形图和活动网络图
思考题
第20章成本管理
20.1软件成本和报价
20.2软件生产率
20.3成本估算技术
20.4成本估算模型
思考题
第21章质量管理
21.1软件质量定义
21.2软件质量模型
21.3软件质量保证
21.3.1质量标准
21.3.2质量规划
21.3.3质量控制
21.3.4质量评估
思考题
第22章风险管理
22.1风险识别
22.2风险分析
22.3风险规划
22.4风险监控
22.5常见风险及其处理
思考题
软件实践篇
第23章基于软件过程方法的实验
23.1需求分析
23.1.1数据流图
23.1.2数据字典
23.2概要设计
23.3软件界面设计
23.3.1菜单设计
23.3.2窗体设计
23.4详细设计
23.5软件编码
23.6软件测试
第24章基于构造粒度方法的实验
24.1类制作
24.1.1窗体设计
24.1.2DBHelper类制作
24.1.3DBHelper类使用
24.2构件制作
24.2.1DLL的简单介绍
24.2.2用VB做一个DLL文件
24.2.3对ActiveX DLL的测试
24.2.4OCX控件的介绍
24.2.5用VB做一个OCX控件
24.2.6对OCX控件的测试
24.3SOA实现
24.3.1SOA的定义
24.3.2SOA的实现
24.4云平台体验
24.4.1云平台介绍
24.4.2云平台实例
第25章CASE工具制作
25.1CASE工具介绍
25.2CASE工具制作
软件文档篇
附录软件工程项目文档模板
附录A可行性研究报告(ISO标准)
附录B需求分析文档[需求规格说明书(ISO标准版)]
附录C项目计划书
附录D数据要求说明书
附录E概要设计文档
附录F详细设计文档
附录G模块开发说明
附录H软件测试报告
附录I软件维护报告
附录J软件使用手册
附录K开发招标书
附录L开发合同样本
参考文献
第1章基本概念
1.1软件
1.1.1软件定义
1.1.2软件分类
1.2软件危机
1.3软件工程
1.4计算模型
1.4.1单机计算模型
1.4.2分布计算模型
1.4.3并行计算模型
1.4.4网格计算模型
1.4.5普适计算模型
1.4.6云计算模型
1.5计算服务
思考题
软件方法篇·基于软件过程的方法
第2章瀑布型方法
2.1软件过程
2.1.1软件过程的提出
2.1.2软件过程的含义
2.1.3软件过程的规范
2.1.4软件工程的评估与改进
2.2瀑布型方法
思考题
第3章快速原型方法
3.1快速原型方法的产生
3.2快速原型方法
3.2.1进化式原型开发
3.2.2抛弃式原型开发
3.3快速原型方法案例
思考题
第4章其他方法
4.1增量方法
4.1.1增量方法的产生
4.1.2增量方法
4.1.3增量方法案例
4.2螺旋方法
4.3敏捷方法
4.3.1敏捷方法的产生
4.3.2敏捷方法
4.3.3敏捷方法案例
4.4面向复用的方法
4.5形式化方法
4.6净室方法
思考题
第5章需求分析
5.1需求分析的概念
5.1.1软件需求定义
5.1.2软件需求分析
5.1.3需求分析的要求
5.1.4需求分析的重要性
5.2需求分析的任务
5.2.1需求分析的过程
5.2.2需求分析的内容
5.2.3需求分析的任务
5.3需求分析的方法
5.4需求描述工具
5.4.1数据流图
5.4.2数据字典
5.4.3结构化语言
5.4.4判定表
5.4.5判定树
5.5需求分析文档
5.5.1需求文档完成的目标
5.5.2需求文档的特点
5.5.3需求文档编写的一般原则
5.5.4需求文档编写格式
5.6进行需求评审
5.6.1需求评审的方法
5.6.2需求评审的内容
5.6.3需求评审的测试
思考题
第6章概要设计
6.1概要设计概论
6.2概要设计原理
6.2.1模块化
6.2.2抽象化
6.2.3逐步求精
6.2.4信息隐藏和局部化
6.2.5模块独立性
6.2.6模块层次化
6.2.7启发式规则
6.3概要设计方法总结
6.4概要设计文档
思考题
第7章界面设计
7.1用户界面设计
7.2用户界面设计原则
7.3信息输入方式
7.4信息输出方式
7.5帮助系统
7.5.1错误消息
7.5.2用户文档
7.6界面评价
思考题
第8章详细设计
8.1详细设计的作用
8.2详细设计的工具
思考题
第9章测试
9.1软件测试定义
9.1.1测试的目的
9.1.2测试的基本原则
9.2软件测试模型
9.3软件测试方法
9.3.1黑盒测试方法
9.3.2白盒测试方法
9.3.3灰盒测试方法
9.4测试过程与测试文档
思考题
第10章维护和演化
10.1软件维护
10.2软件演化的产生
10.3软件演化理论
10.3.1演化与维护的关系
10.3.2软件演化的分类
思考题
软件方法篇·基于构造粒度的方法
第11章面向对象方法
11.1UML概述
11.1.1UML产生的背景
11.1.2UML定义
11.2UML的研究内容
11.2.1UML语言的定义
11.2.2UML的图形表示法
11.3UML建模过程
11.3.1UML建模过程
11.3.2UML在RUP中的应用
思考题
第12章面向构件方法
12.1软件体系结构的形成
12.1.1无体系结构阶段
12.1.2萌芽阶段
12.1.3初级阶段
12.1.4高级阶段
12.2软件体系结构的概念
12.3软件体系结构的要素
12.3.1构件
12.3.2连接件
12.3.3约束(配置)
12.4软件体系结构的作用
12.5基于体系结构的软件开发过程
思考题
第13章面向Agent方法
13.1面向Agent的技术
13.1.1Agent的基本概念
13.1.2Agent的体系架构
13.1.3Agent的组织类型
13.1.4Agent与组件的对比
13.1.5语义复用的Agent和组件
13.2面向Agent的软件工程
13.2.1面向Agent的研究内容
13.2.2面向Agent的开发过程
13.3面向Agent的经典开发方法
13.3.1Gaia方法
13.3.2Tropos方法
13.3.3MASE方法
思考题
第14章面向SOA方法
14.1面向服务体系架构的产生
14.1.1传统的软件体系结构
14.1.2基于组件的软件体系结构
14.1.3面向服务体系阶段
14.2SOA的基本概念
14.2.1SOA的定义
14.2.2SOA的架构
14.2.3SOA的优点
14.3支持SOA的Web Service技术
14.3.1SOA的基本原则
14.3.2基于SOA的解决方案
14.3.3Web Service技术
14.3.4SOA架构的不足
14.4适于SOA的建模方法
14.4.1MDA
14.4.2敏捷方法
14.4.3SOA的五视图法
14.5基于SOA架构的软件开发方法
14.5.1面向服务的架构
14.5.2基于SOA架构技术的优势
14.5.3SOA应用的构建步骤
14.5.4SOAD与传统软件开发的区别
思考题
第15章面向云计算方法
15.1云计算的基本概念和主要特征
15.1.1云计算的基本概念
15.1.2云计算的主要特征
15.1.3云计算的分类
15.1.4云计算与网格计算
15.1.5云计算的现状和发展趋势
15.2云计算的原理与关键技术
15.2.1云计算的原理
15.2.2云计算的实现机制
15.2.3Google云计算技术
思考题
软件工具篇
第16章CASE工具
16.1CASE工具概念
16.1.1CASE定义
16.1.2CASE相关概念
16.1.3CASE开发环境
16.1.4CASE工具组成
16.2CASE优势
16.3CASE工具实例
16.3.1CASE工具的产生
16.3.2常见CASE的工具
16.4CASE发展趋势
思考题
软件管理篇
第17章软件项目
17.1项目立项
17.1.1项目基本概念
17.1.2软件项目的特点
17.1.3软件项目的立项
17.1.4软件立项文档
17.2项目招投标
17.2.1项目招标与投标的概念
17.2.2项目招标与投标的过程
17.2.3招标书与投标书的编写
17.3项目合同签署
17.3.1合同的概念
17.3.2签订合同
思考题
第18章人员管理
18.1软件开发人员构成
18.2人思维的局限性
18.2.1记忆结构
18.2.2问题的解决
18.2.3工作动力
18.3小组协作
18.3.1小组的构成
18.3.2小组的凝聚力
18.3.3小组的沟通
18.4选择和留住职员
18.5激励制度
思考题
第19章进度管理
19.1项目进度
19.2条形图和活动网络图
思考题
第20章成本管理
20.1软件成本和报价
20.2软件生产率
20.3成本估算技术
20.4成本估算模型
思考题
第21章质量管理
21.1软件质量定义
21.2软件质量模型
21.3软件质量保证
21.3.1质量标准
21.3.2质量规划
21.3.3质量控制
21.3.4质量评估
思考题
第22章风险管理
22.1风险识别
22.2风险分析
22.3风险规划
22.4风险监控
22.5常见风险及其处理
思考题
软件实践篇
第23章基于软件过程方法的实验
23.1需求分析
23.1.1数据流图
23.1.2数据字典
23.2概要设计
23.3软件界面设计
23.3.1菜单设计
23.3.2窗体设计
23.4详细设计
23.5软件编码
23.6软件测试
第24章基于构造粒度方法的实验
24.1类制作
24.1.1窗体设计
24.1.2DBHelper类制作
24.1.3DBHelper类使用
24.2构件制作
24.2.1DLL的简单介绍
24.2.2用VB做一个DLL文件
24.2.3对ActiveX DLL的测试
24.2.4OCX控件的介绍
24.2.5用VB做一个OCX控件
24.2.6对OCX控件的测试
24.3SOA实现
24.3.1SOA的定义
24.3.2SOA的实现
24.4云平台体验
24.4.1云平台介绍
24.4.2云平台实例
第25章CASE工具制作
25.1CASE工具介绍
25.2CASE工具制作
软件文档篇
附录软件工程项目文档模板
附录A可行性研究报告(ISO标准)
附录B需求分析文档[需求规格说明书(ISO标准版)]
附录C项目计划书
附录D数据要求说明书
附录E概要设计文档
附录F详细设计文档
附录G模块开发说明
附录H软件测试报告
附录I软件维护报告
附录J软件使用手册
附录K开发招标书
附录L开发合同样本
参考文献