目录
第一部分软件工程理论基础
第1章软件工程概述
1.1关于软件
1.1.1软件的概念与特性
1.1.2软件开发技术演化
1.2关于软件工程
1.2.1软件危机的出现
1.2.2解决软件危机的途径
1.2.3软件工程概念
1.3软件工程基本原理与原则
1.3.1基本原理
1.3.2基本原则
1.4软件工程范型
1.4.1结构化开发范型
1.4.2面向对象开发范型
1.5软件工程基本活动
1.6小结
习题
第2章软件过程与模型
2.1软件生存周期
2.2软件过程与框架
2.3软件过程选择与评估
2.3.1软件过程选择
2.3.2软件过程评估
2.3.3个人软件过程与团队软件过程
2.4软件能力成熟度模型
2.4.1什么是CMM
2.4.2CMM基本内容
2.4.3能力成熟度模型集成
2.5软件过程模型
2.6传统的软件过程模型
2.6.1瀑布模型
2.6.2增量模型
2.6.3螺旋模型
2.7面向对象过程模型
2.7.1构件集成模型
2.7.2统一过程模型
2.8小结
习题
目录
第3章敏捷软件工程方法
3.1敏捷软件工程过程
3.1.1敏捷过程
3.1.2敏捷开发原则
3.2Scrum软件开发过程
3.2.1Scrum思想
3.2.2Scrum术语与过程
3.3极限编程
3.3.1什么是极限编程
3.3.2极限编程的要素
3.4结对编程
3.4.1什么是结对编程
3.4.2结对编程方式
3.5小结
习题
第4章需求获取
4.1关于用户需求和软件需求
4.2需求获取过程
4.3基于会谈的需求获取方法
4.4基于调查的需求获取方法
4.5基于场景的需求获取方法
4.6基于用例的需求获取方法
4.6.1用例分析
4.6.2构建活动图或泳道图
4.6.3用例详细描述
4.7小结
习题
第二部分结构化软件工程范型
第5章结构化分析
5.1结构化分析概述
5.2结构化分析模型
5.3数据流分析方法
5.3.1数据流图
5.3.2数据字典
5.3.3数据流分析方法的步骤
5.4数据建模分析方法
5.5状态分析方法
5.6结构化分析过程
5.7软件需求规格说明文档
5.8小结
习题
第6章结构化设计
6.1结构化设计概述
6.2软件设计过程
6.2.1概要设计
6.2.2详细设计
6.3结构化设计原理
6.4模块独立性度量
6.5软件结构化设计
6.5.1软件结构描述
6.5.2数据流模型
6.5.3软件结构化设计方法
6.6软件详细设计
6.6.1详细设计任务
6.6.2详细设计方法
6.7小结
习题
第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.3测试用例设计
7.4黑盒测试方法
7.4.1等价类划分
7.4.2边界值分析
7.4.3错误推测
7.5白盒测试方法
7.5.1逻辑覆盖
7.5.2路径覆盖
7.5.3循环路径测试策略
7.6集成测试方法
7.6.1集成策略
7.6.2性能测试
7.7小结
习题
第三部分面向对象软件工程范型
第8章面向对象分析
8.1面向对象分析模型
8.1.1逻辑模型
8.1.2交互模型
8.1.3实现模型
8.1.4部署模型
8.2面向对象建模语言
8.2.1UML的组成
8.2.2UML的视图
8.3面向对象分析过程
8.4业务建模
8.4.1识别业务类和领域类
8.4.2构建业务类图
8.4.3识别属性和操作
8.4.4构建协作图
8.4.5构建包图
8.4.6构建软件的逻辑架构
8.5软件的交互行为分析
8.5.1建立软件顺序图
8.5.2建立操作契约
8.5.3建立顺序图
8.5.4建立系统状态图
8.6小结
习题
第9章面向对象设计
9.1面向对象设计概述
9.1.1面向对象设计过程
9.1.2面向对象设计原则
9.2构件设计
9.3确定并发性
9.4面向对象详细设计
9.4.1模型精化
9.4.2逻辑架构精化与设计模式
9.4.3类详细设计
9.5部署设计
9.6小结
习题
第10章面向对象实现与测试
10.1面向对象实现
10.2面向对象测试基础
10.2.1面向对象分析阶段的测试
10.2.2面向对象设计阶段的测试
10.2.3面向对象编程阶段的测试
10.3面向对象测试过程
10.3.1类方法测试
10.3.2类测试
10.3.3类簇测试
10.3.4系统测试
10.4小结
习题
第四部分软件维护与项目管理
第11章软件维护
11.1软件维护概述
11.2软件的可维护性
11.3软件维护活动的类型
11.4软件维护技术与过程
11.4.1软件维护技术
11.4.2软件维护过程
11.5提高软件的可维护性
11.6小结
习题
第12章软件项目管理
12.1软件项目管理概述
12.2软件工程管理度量
12.2.1软件过程度量
12.2.2软件项目度量
12.3软件风险管理
12.3.1风险识别
12.3.2风险预测
12.3.3风险管理
12.4软件配置管理
12.4.1基本概念
12.4.2软件配置管理活动
12.4.3版本管理
12.5软件项目规模估算
12.5.1软件项目资源
12.5.2软件项目规模度量
12.6软件项目估算的分解技术
12.6.1基于问题分解的估算
12.6.2基于过程分解的估算
12.6.3中级COCOMO估算模型
12.7软件质量管理
12.8软件项目进度管理
12.8.1进度计划
12.8.2进度安排
12.8.3进度跟踪
12.9小结
习题
参考文献