第1篇 软件开发方法
第1章 软件工程概述
1.1 软件与软件危机
1.1.1 计算机软件概念
1.1.2 计算机软件的发展
1.1.3 软件危机
1.2 软件工程
1.2.1 软件工程定义
1.2.2 软件工程的内容
1.2.3 软件工程基本原理
1.2.4 软件开发方法
1.3 软件生命周期
1.3.1 软件生命周期的划分
1.3.2 各阶段的基本任务
1.4 软件开发模型
1.4.1 瀑布模型
1.4.2 快速原型模型
1.4.3 增量模型
1.4.4 螺旋模型
1.4.5 喷泉模型
1.5 应用实例
1.6 小结
习题
第2章 可行性研究
2.1 可行性研究的任务
2.2 可行性研究的过程
2.3 系统流程图
2.4 成本/效益分析
2.4.1 成本估算
2.4.2 成本/效益分析方法
2.5 可行性研究报告
2.6 软件立项和合同
2.6.1 立项方法和立项文档
2.6.2 签订合同方法和合同文档
2.7 项目开发计划
2.8 小结
习题
第3章 需求分析
3.1 需求分析概述
3.1.1 需求分析的任务
3.1.2 需求分析的步骤
3.2 图形工具
3.2.1 数据流图
3.2.2 数据字典
3.2.3 实体-联系图
3.2.4 其他图形工具
3.3 结构化分析
3.3.1 结构化分析的步骤
3.3.2 应用实例
3.3.3 软件需求规格说明书
3.4 验证软件需求
3.5 小结
习题
第4章 总体设计
4.1 总体设计的过程和任务
4.2 软件结构设计概念和原理
4.2.1 模块和模块化
4.2.2 抽象
4.2.3 信息隐藏
4.2.4 模块独立
4.3 软件结构设计优化
4.4 图形工具
4.4.1 层次图和HIPO图
4.4.2 结构图
4.5 结构化设计
4.5.1 结构化设计概述
4.5.2 结构化设计的过程
4.5.3 变换分析和事务分析
4.6 总体设计说明书
4.7 小结
习题
第5章 详细设计
5.1 任务和原则
5.2 结构化程序设计
5.3 过程设计的工具
5.3.1 程序流程图
5.3.2 N-S图
5.3.3 PAD图
5.3.4 PDL语言
5.3.5 判定树
5.3.6 判定表
5.4 面向数据结构的设计方法
5.4.1 逻辑数据结构
5.4.2 Jackson图和图解逻辑
5.4.3 应用实例
5.5 程序复杂程度的度量
5.6 人机界面设计
5.7 小结
习题
第2篇 面向对象开发方法
第6章 面向对象方法学引论
6.1 面向对象方法学概述
6.1.1 面向对象的基本概念
6.1.2 面向对象软件过程模型
6.2 面向对象方法学的优点
6.3 面向对象建模
6.3.1 对象模型
6.3.2 动态模型
6.3.3 功能模型
6.3.4 三种模型之间的关系
6.4 小结
习题
第7章 面向对象分析与设计
7.1 面向对象分析
7.1.1 面向对象分析过程
7.1.2 需求陈述
7.1.3 建立对象模型
7.1.4 建立动态模型
7.1.5 建立功能模型
7.1.6 应用实例
7.2 面向对象设计
7.2.1 面向对象设计的准则
7.2.2 问题域子系统设计
7.2.3 人机交互子系统设计
7.2.4 任务管理子系统设计
7.2.5 数据管理子系统设计
7.2.6 应用实例
7.3 小结
习题
第8章 UML统一建模语言
8.1 UML概述
8.1.1 UML的产生及发展目标
8.1.2 UML的组成及主要内容
8.1.3 UML的应用领域
8.2 UML静态建模
8.2.1 用例图
8.2.2 类图
8.2.3 对象图
8.2.4 构件图
8.2.5 实施图
8.3 UML动态建模
8.3.1 顺序图
8.3.2 协作图
8.3.3 状态图
8.3.4 活动图
8.4 基于UML的软件开发过程
8.5 小结
习题
第9章 RationalRose工具
9.1 Rose建模功能及特点
9.2 Rose操作界面
9.2.1 Rose的主界面
9.2.2 Rose的基本操作
9.3 Rose的模型视图
9.3.1 用例图的创建.删除和设计
9.3.2 模型元素的添加
9.3.3 工具栏按钮的添加
9.4 Rose的双向工程
9.5 小结
习题
第3篇 软件工程质量保证与管理
第10章 软件测试
10.1 软件测试概述
10.1.1 软件测试的概念
10.1.2 软件测试的分类
10.1.3 软件测试的基本步骤
10.2 白盒测试
10.2.1 逻辑覆盖
10.2.2 路径测试
10.3 黑盒测试
10.3.1 等价分类法
10.3.2 边界值分析法
10.3.3 错误推测法
10.4 测试用例
10.4.1 测试用例概念
10.4.2 应用实例
10.5 调试
10.6 面向对象的测试
10.7 软件测试的发展趋势
10.8 小结
习题
第11章 软件维护
11.1 软件维护的概念
11.2 软件维护的工作量
11.3 软件维护过程
11.4 软件可维护性
11.5 软件再工程
11.5.1 软件再工程的概念
11.5.2 软件重构
11.6 应用实例
11.7 小结
习题
第12章 软件工程管理
12.1 软件工程管理的目标
12.2 软件项目管理
12.2.1 软件项目管理的目标和过程
12.2.2 软件项目失控的原因
12.3 软件配置管理
12.3.1 软件配置管理的定义
12.3.2 软件配置管理的任务
12.4 软件质量管理
12.4.1 软件质量的概述
12.4.2 软件质量管理的主要活动
12.4.3 软件质量保证
12.4.4 软件质量保证体系及认证
12.4.5 软件过程能力评估的模型
12.5 软件风险管理
12.5.1 软件项目风险的概念
12.5.2 软件风险管理过程及风险驾驭
12.6 软件项目人力资源管理
12.7 应用实例
12.8 小结
习题
缩略语
参考文献