第1章 软件工程基础知识 1
1.1 软件工程知识体系 1
1.2 软件生存周期与软件开发模型 2
1.2.1 软件生存周期 2
1.2.2 软件开发模型 4
1.3 软件质量模型与软件质量管理 7
1.3.1 软件质量模型 7
1.3.2 软件质量管理 10
1.4 软件配置管理 12
1.4.1 软件配置项与基线 12
1.4.2 软件配置管理过程 13
1.5 软件过程管理 15
1.5.1 软件能力成熟度模型 15
1.5.2 软件过程与软件能力成熟度评估 16
1.5.3 软件过程改进 17
1.6 小结 18
第2章 项目管理基础知识 20
2.1 项目与项目管理 20
2.1.1 项目 20
2.1.2 项目管理 22
2.2 项目管理过程与过程组 23
2.2.1 过程与过程组 23
2.2.2 项目管理过程的交互作用 25
2.2.3 项目管理过程的裁剪 26
2.3 项目管理知识体系 27
2.4 小结 28
第3章 软件开发技术 29
3.1 软件开发平台 29
3.1.1 Microsoft.NET平台 29
3.1.2 J2EE平台 31
3.1.3 Microsoft.NET与J2EE的异同 35
3.2 中间件技术 38
3.2.1 中间件简介 38
3.2.2 消息代理中间件 40
3.2.3 面向数据库的中间件 43
3.3 构件技术 44
3.3.1 构件库 45
3.3.2 构件模型 46
3.3.3 构件的属性与特点 46
3.3.4 构件与中间件 47
3.4 小结 49
第4章 软件项目规划 50
4.1 项目策划 50
4.1.1 从政策导向中寻找项目机会 50
4.1.2 从市场需求中寻找项目机会 54
4.1.3 从技术发展中寻找项目机会 54
4.1.4 从特定事件中寻找项目机会 55
4.2 项目可行性分析 55
4.2.1 技术可行性分析 55
4.2.2 项目投资及效益分析 57
4.3 项目论证、评估与立项 60
4.3.1 项目论证与评估的基本概念 60
4.3.2 项目可行性报告的真实性评估 60
4.3.3 项目可行性报告的客观性评估 62
4.3.4 项目评估报告 63
4.3.5 项目立项 63
4.4 项目开发计划 63
4.5 小结 67
第5章 系统分析方法学 68
5.1 系统需求分析与软件需求分析 68
5.2 结构化方法学 70
5.3 原型化方法 73
5.3.1 原型化方法与结构化方法的比较 73
5.3.2 原型生命周期及其策略 75
5.4 面向对象的分析 80
5.4.1 面向对象方法学概述 80
5.4.2 面向对象的分析 82
5.5 小结 84
第6章 统一建模语言 85
6.1 概述 85
6.2 用例图 86
6.3 类图和对象图 89
6.4 交互图 92
6.5 状态图 93
6.6 活动图 94
6.7 构件图 96
6.8 部署图 96
6.9 小结 97
第7章 系统分析文档 98
7.1 系统/子系统需求规格说明 98
7.2 接口需求规格说明 104
7.3 软件需求规格说明 107
7.4 小结 113
第8章 系统设计基础 115
8.1 系统设计概述 115
8.1.1 系统级设计决策 115
8.1.2 系统架构设计 115
8.1.3 运行设计 117
8.1.4 系统出错处理设计 117
8.1.5 系统维护设计 117
8.2 软件设计概述 118
8.2.1 软件级设计决策 118
8.2.2 软件架构设计 118
8.2.3 软件详细设计 120
8.3 设计原则 120
8.3.1 组件化 120
8.3.2 抽象 121
8.3.3 内聚与耦合 121
8.3.4 封装与信息隐蔽 122
8.3.5 启发式规则 123
8.4 设计视图 123
8.4.1 架构视图 123
8.4.2 行为视图 124
8.5 小结 124
第9章 系统设计方法 125
9.1 结构化设计 125
9.1.1 概述 125
9.1.2 系统结构图 125
9.1.3 系统结构图分类 127
9.2 面向数据结构的设计 129
9.2.1 概述 129
9.2.2 Jackson图 130
9.2.3 Jackson方法 131
9.3 面向对象的设计 132
9.3.1 概述 132
9.3.2 面向对象设计技术 133
9.3.3 面向对象设计的设计过程 135
9.4 设计模式 137
9.4.1 概述 137
9.4.2 设计模式基本组成 137
9.4.3 设计模式分类 139
9.4.4 如何使用设计模式 143
9.5 小结 143
第10章 数据库设计 144
10.1 数据建模 144
10.1.1 数据模型分类 145
10.1.2 实体—联系模型 146
10.1.3 数据模型 147
10.2 数据规范化 151
10.2.1 数据规范化的几个基本概念 152
10.2.2 范式 153
10.3 数据库设计过程 154
10.3.1 数据库的需求分析 154
10.3.2 数据库的概念设计 156
10.3.3 数据库的逻辑设计 158
10.3.4 数据库的物理设计 159
10.4 小结 159
第11章 用户界面设计 160
11.1 基本概念 160
11.1.1 设计目标 160
11.1.2 设计原则 163
11.1.3 设计过程 164
11.2 设计技术 165
11.2.1 界面设计分析技术 165
11.2.2 界面设计方法 169
11.3 设计评估 175
11.4 设计案例 177
11.4.1 用户界面示例 177
11.4.2 界面案例分析 179
11.5 小结 180
第12章 系统设计文档 181
12.1 系统/子系统设计(结构设计)说明 181
12.2 接口设计说明 186
12.3 软件(结构)设计说明 188
12.4 数据库设计说明 193
12.5 小结 198
第13章 电力负荷管理系统的分析与设计 199
13.1 应用描述 199
13.1.1 系统概述 199
13.1.2 系统功能需求 202
13.1.3 系统非功能需求及约束条件 204
13.1.4 系统层次结构 204
13.1.5 系统典型配置 205
13.2 过程与方法 206
13.2.1 开发过程 206
13.2.2 需求分析 210
13.2.3 系统设计 213
13.3 系统分析 215
13.3.1 用例模型 216
13.3.2 动态模型 222
13.3.3 静态模型 224
13.3.4 候选架构 226
13.3.5 补充规约 227
13.4 系统设计 228
13.4.1 动态模型 228
13.4.2 静态模型 229
13.4.3 系统体系架构 233
13.4.4 用户界面设计 234
13.4.5 数据库接口设计 234
13.4.6 补充规约 236
13.5 小结 237
参考文献 239