内容简介
基本概念篇
第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.1 UML概述
11.1.1 UML产生的背景
11.1.2 UML定义
11.2 UML的研究内容
11.2.1 UML语言的定义
11.2.2 UML的图形表示法
11.3 UML建模过程
11.3.1 UML建模过程
11.3.2 UML在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.1 Agent的基本概念
13.1.2 Agent的体系架构
13.1.3 Agent的组织类型
13.1.4 Agent与组件的对比
13.1.5 语义复用的Agent和组件
13.2 面向Agent的软件工程
13.2.1 面向Agent的研究内容
13.2.2 面向Agent的开发过程
13.3 面向Agent的经典开发方法
13.3.1 Gaia方法
13.3.2 Tropos方法
13.3.3 MASE方法
思考题
第14章 面向SOA方法
14.1 面向服务体系架构的产生
14.1.1 传统的软件体系结构
14.1.2 基于组件的软件体系结构
14.1.3 面向服务体系阶段
14.2 SOA的基本概念
14.2.1 SOA的定义
14.2.2 SOA的架构
14.2.3 SOA的优点
14.3 支持SOA的Web Service技术
14.3.1 SOA的基本原则
14.3.2 基于SOA的解决方案
14.3.3 Web Service技术
14.3.4 SOA架构的不足
14.4 适于SOA的建模方法
14.4.1 MDA
14.4.2 敏捷方法
14.4.3 SOA的五视图法
14.5 基于SOA架构的软件开发方法
14.5.1 面向服务的架构
14.5.2 基于SOA架构技术的优势
14.5.3 SOA应用的构建步骤
14.5.4 SOAD与传统软件开发的区别
思考题
第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.3 Google云计算技术
思考题
软件工具篇
第16章 CASE工具
16.1 CASE工具概念
16.1.1 CASE定义
16.1.2 CASE相关概念
16.1.3 CASE开发环境
16.1.4 CASE工具组成
16.2 CASE优势
16.3 CASE工具实例
16.3.1 CASE工具的产生
16.3.2 常见CASE的工具
16.4 CASE发展趋势
思考题
软件管理篇
第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.2 DBHelper类制作
24.1.3 DBHelper类使用
24.2 构件制作
24.2.1 DLL的简单介绍
24.2.2 用VB做一个DLL文件
24.2.3 对ActiveX DLL的测试
24.2.4 OCX控件的介绍
24.2.5 用VB做一个OCX控件
24.2.6 对OCX控件的测试
24.3 SOA实现
24.3.1 SOA的定义
24.3.2 SOA的实现
24.4 云平台体验
24.4.1 云平台介绍
24.4.2 云平台实例
第25章 CASE工具制作
25.1 CASE工具介绍
25.2 CASE工具制作
软件文档篇
附录 软件工程项目文档模板
附录A 可行性研究报告(ISO标准)
附录B 需求分析文档[需求规格说明书(ISO标准版)]
附录C 项目计划书
附录D 数据要求说明书
附录E 概要设计文档
附录F 详细设计文档
附录G 模块开发说明
附录H 软件测试报告
附录I 软件维护报告
附录J 软件使用手册
附录K 开发招标书
附录L 开发合同样本
参考文献