第1章 绪论 1
1.1 软件过程与过程管理 1
1.2 软件协同开发团队 4
1.3 软件协同开发的原理、阶段与流程管理 5
1.3.1 软件协同开发过程原理 5
1.3.2 软件协同开发流程 6
1.3.3 软件协同开发的主要阶段 8
1.4 软件协同设计的目标与课程组织安排 10
1.4.1 软件协同设计的目标与评估方法 10
1.4.2 课程的组织与安排 11
第2章 软件协同开发中的团队建设 13
2.1 高效团队应具备的特征 13
2.2 团队成员角色及其目标 16
2.2.1 客户接口经理的职责 17
2.2.2 设计经理的职责 18
2.2.3 实现经理的职责 18
2.2.4 测试经理的职责 19
2.2.5 计划经理的职责 20
2.2.6 过程经理的职责 21
2.2.7 质量经理的职责 22
2.2.8 支持经理的职责 23
2.3 团队成员与开发步骤的对应关系 24
2.4 团队的协作与沟通管理 26
2.4.1 沟通的效率和要素 27
2.4.2 促进沟通的方法 28
2.5 小结 29
第3章 软件协同开发的总体规划 30
3.1 项目的规划 30
3.2 软件项目的初步范围 31
3.2.1 软件项目背景 31
3.2.2 项目利益相关者 32
3.2.3 项目的初步范围的确定 33
3.3 确定项目预算 34
3.3.1 自底向上的成本估算 34
3.3.2 自顶向下的成本估算 36
3.3.3 完成预算 36
3.4 制定IT项目章程 37
3.5 小结 38
第4章 软件开发计划 40
4.1 定义软件开发计划 40
4.2 项目的工作分解 41
4.2.1 定义产品范围 41
4.2.2 定义工作范围 42
4.3 项目的进度计划 44
4.3.1 制定项目进度计划 45
4.3.2 项目进度计划的表示 47
4.3.3 软件项目进度计划案例——校务通管理系统 48
4.4 项目的成本计划 50
4.4.1 项目成本的估算方法 50
4.4.2 项目成本估算案例 54
4.4.3 制定项目的成本计划 55
4.5 软件项目质量计划 55
4.5.1 项目质量计划的概念 56
4.5.2 项目质量计划的制定方法 57
4.5.3 项目质量的度量指标 58
4.5.4 项目质量计划的表示 59
4.6 协同设计的计划过程 59
4.7 项目开发计划书 61
4.8 小结 63
第5章 需求开发 64
5.1 需求的获取 64
5.2 需求开发的流程 65
5.3 撰写需求报告 67
5.4 需求开发的支持工具 71
5.4.1 数据流图 71
5.4.2 业务流程图 73
5.4.3 活动图 75
5.4.4 用例图 75
5.5 需求的复审 78
5.6 需求开发案例分析 79
5.7 小结 84
第6章 软件的总体设计 85
6.1 软件设计的重要性 85
6.2 总体设计的任务及原则 86
6.2.1 软件总体设计的任务 86
6.2.2 总体设计需遵循的原则 89
6.3 软件总体设计方法 90
6.3.1 结构化设计方法 90
6.3.2 面向对象的设计方法 95
6.4 设计的复核与检查 99
6.5 协同设计 101
6.5.1 协同设计应注意的问题 101
6.5.2 协同软件开发设计 102
6.6 小结 105
第7章 软件的详细设计 106
7.1 详细设计的概念 106
7.1.1 详细设计的目标 106
7.1.2 详细设计的任务 106
7.2 详细设计的方法 108
7.2.1 结构化详细设计 108
7.2.2 面向对象的详细设计 112
7.3 详细设计的标准和原则 115
7.3.1 详细设计标准 116
7.3.2 复用性原则 117
7.3.3 一致性原则 118
7.3.4 可用性原则 119
7.3.5 可测性(testability)原则 119
7.4 详细设计审查 120
7.4.1 详细设计审查策略 120
7.4.2 详细设计审查方法 120
7.5 设计举例 121
7.5.1 结构化详细设计 121
7.5.2 面向对象详细设计 124
7.6 详细设计报告 126
7.6.1 详细设计说明 127
7.6.2 详细设计审查报告 129
7.7 小结 130
第8章 软件测试计划与测试管理 131
8.1 软件测试的阶段划分 131
8.1.1 单元测试 131
8.1.2 集成测试 132
8.1.3 确认测试 132
8.1.4 系统测试 133
8.2 测试角色 134
8.3 测试策略 136
8.3.1 集成测试策略 136
8.3.2 系统测试策略 138
8.4 测试计划 139
8.4.1 测试设计说明 142
8.4.2 测试用例 142
8.4.3 测试日志 143
8.5 测试分析 143
8.5.1 发现有缺陷倾向的模块 143
8.5.2 追踪缺陷数据 144
8.5.3 测试总结 144
8.6 小结 144
第9章 计划跟踪与过程改进 146
9.1 项目计划与跟踪过程 146
9.1.1 项目跟踪及控制方针 146
9.1.2 项目跟踪及控制的内容 147
9.1.3 项目跟踪及控制中人员职责 147
9.1.4 项目跟踪活动 148
9.2 软件度量过程与度量指标 152
9.2.1 软件度量过程 152
9.2.2 软件度量的项目及其指标 153
9.2.3 软件度量面临的问题 155
9.2.4 软件度量注意事项 156
9.3 基于度量的软件过程管理 156
9.3.1 过程管理的职责 156
9.3.2 过程管理和项目管理的关系 157
9.3.3 基于度量的软件过程改进 158
9.4 小结 159
附录A EA工具简介 161
A.1 EA操作界面简介 161
A.2 新增一个EA项目 162
A.3 在EA中绘制活动图 164
A.4 在EA中绘制用例图 166
A.5 在EA中绘制类图 167
A.6 在EA中绘制序列图 172
A.7 在EA中绘制通信图 173
A.8 在EA中绘制对象图 175
A.9 在EA中绘制状态机图 176
A.10 在EA中绘制时间图 177
A.11 绘制包图 178
A.12 绘制交互概述图 179
A.13 绘制组合结构图 181
A.14 绘制组件图 184
A.15 绘制部署图 184
A.16 小结 187
参考文献 188