第1章 软件工程概述 1
1.1 软件工程 2
1.1.1 软件工程的发展简史 2
1.1.2 软件工程的概念 5
1.2 软件开发模型 9
1.2.1 软件生命周期 9
1.2.2 软件生命周期模型 11
1.3 软件开发方法 17
1.3.1 面向过程的开发方法 17
1.3.2 面向对象的开发方法 18
1.3.3 Parnas方法 18
1.3.4 面向数据结构的软件开发方法 18
1.3.5 面向问题的分析法 19
1.3.6 原型化方法 19
1.3.7 可视化开发方法 20
1.3.8 面向方面的软件开发方法 20
1.3.9 极限编程 21
1.4 软件开发新技术 21
1.4.1 多层体系结构 21
1.4.2 中间件 22
1.4.3 统一建模语言UML 22
1.4.4 平台无关 23
1.4.5 Web Service与SOA 23
1.4.6 J2EE、.NET与MVC 24
1.4.7 网格与云计算 24
1.4.8 标准化 24
1.4.9 软件即服务(SaaS) 25
1.4.10 软件外包服务 26
1.5 教育软件工程简介 26
1.5.1 教育软件开发过程 26
1.5.2 什么是教育软件工程 27
思考与练习 28
参考文献 28
第2章 软件需求分析 29
2.1 软件需求分析概述 30
2.1.1 需求分析的任务 30
2.1.2 需求分析的步骤 31
2.2 需求分析的方法 32
2.2.1 需求获取方法 33
2.2.2 快速原型法在需求分析中的应用 33
2.2.3 教育软件的需求分析 34
2.3 软件需求获取工具 35
2.3.1 实体-联系模型 35
2.3.2 数据流图 35
2.3.3 用例图 36
2.3.4 活动图 37
2.4 软件需求规格说明书 38
思考与练习 47
参考文献 47
第3章 软件设计 48
3.1 模块和模块化 49
3.1.1 模块与模块化 49
3.1.2 模块分割方法 50
3.1.3 模块设计规则 50
3.2 概要设计 52
3.2.1 概要设计的任务 52
3.2.2 概要设计过程 52
3.2.3 概要设计的原则 53
3.2.4 教育软件的概要设计 56
3.3 详细设计 57
3.3.1 详细设计概述 57
3.3.2 详细设计方法 57
3.4 教育软件建设规范 59
3.4.1 SCORM 60
3.4.2 CELTS 61
3.5 软件设计文档 62
3.5.1 概要设计说明书 62
3.5.2 详细设计说明书 63
思考与练习 65
参考文献 65
第4章 软件实现 66
4.1 软件设计语言 67
4.1.1 软件设计语言的分类 67
4.1.2 软件设计语言的选择 68
4.2 软件实现技术 69
4.2.1 软件实现的原则 69
4.2.2 软件编码技术 69
4.2.3 常见编码规范 70
4.2.4 界面实现方法 74
思考与练习 76
参考文献 76
第5章 软件测评 77
5.1 软件测试的基础 78
5.1.1 软件测试概念 78
5.1.2 软件测试目的与原则 78
5.1.3 软件测试过程模型 80
5.2 软件测试策略 82
5.2.1 单元测试 83
5.2.2 集成测试 85
5.2.3 验收测试 89
5.2.4 系统测试 91
5.3 软件测试方法 92
5.3.1 白盒测试 92
5.3.2 黑盒测试 98
5.4 软件质量评价技术 102
5.5 软件质量评价方法 102
5.5.1 质量评价的主要任务 103
5.5.2 质量评价过程 103
5.5.3 质量评价方法 104
5.5.4 教育软件质量评价方法 106
5.6 软件测试与质量评价文档 107
5.6.1 软件测试报告 107
5.6.2 软件质量评价报告 110
5.6.3 软件质量审查清单 111
5.6.4 软件质量评审表 112
思考与练习 112
参考文献 112
第6章 软件维护管理 113
6.1 软件维护过程及其模型 114
6.1.1 维护组织 114
6.1.2 维护报告 114
6.1.3 软件维护过程模型 115
6.1.4 软件维护工作流程 116
6.1.5 评价维护活动 117
6.2 软件的可维护性及其度量 118
6.2.1 影响可维护性的因素 118
6.2.2 软件可维护性的度量 118
6.3 软件维护文档 120
6.4 用户培训 120
思考与练习 121
参考文献 121
第7章 教育软件工程 122
7.1 教育软件的概述 123
7.2 教育软件的教学过程 125
7.2.1 备课预习阶段 126
7.2.2 新知教学阶段 126
7.2.3 练习评估阶段 127
7.3 教育软件学习属性特征 127
7.3.1 内容选择 128
7.3.2 架构设计 128
7.3.3 交互操作 129
7.3.4 情境构建 130
7.4 教育软件生命周期 130
7.4.1 需求分析阶段 130
7.4.2 设计阶段 130
7.4.3 实现阶段 131
7.4.4 测评阶段 131
7.4.5 维护管理阶段 131
7.5 教育软件开发模型 132
7.5.1 教育软件瀑布模型 132
7.5.2 教育软件快速原型模型 133
7.6 教育软件开发过程 134
7.7 教育软件测评 135
7.7.1 教育软件评价指标体系 135
7.7.2 教育软件应用质量评价过程 138
7.7.3 教育软件可用性测评 141
7.7.4 教育软件可用性分析过程 143
7.7.5 教育软件充分性测试 147
7.7.6 教育软件内容定义引用测试 148
7.7.7 教育软件情境过程测试 150
7.7.8 教育软件协作主题演化测试 151
思考与练习 152
参考文献 152
第8章 网络教育资源开发 154
8.1 网络教育资源概述 155
8.1.1 网络教育资源 155
8.1.2 网络教育资源的分类和作用 156
8.1.3 网络教育资源的标准 156
8.2 网络教育资源需求分析 157
8.2.1 学习者分析 157
8.2.2 学习内容分析 158
8.2.3 学习策略分析 161
8.3 网络教育资源设计 163
8.3.1 设计原则 163
8.3.2 设计目标 164
8.3.3 教学设计 165
8.3.4 课程设计 166
8.3.5 学习环境的设计 166
8.3.6 教学媒体和策略设计 167
8.4 网络教育资源实现 172
8.4.1 网络教育资源开发技术 172
8.4.2 网络教育素材资源的开发 179
8.5 网络教育资源测评 195
8.5.1 网络教育资源测评概述 196
8.5.2 网络教育资源测评的过程 197
8.5.3 网络教育资源测评方法 198
8.5.4 网络教育资源测评指标体系 199
8.5.5 网络课程测试与评价 202
8.6 网络教育资源维护管理 208
8.6.1 网络教育资源的维护 208
8.6.2 网络课程的管理 210
8.7 网络教育资源开发案例 211
8.7.1 案例一:《教师同步课堂培训》网络课程 211
8.7.2 案例二:《电影放映技术模拟训练系统》多媒体课件 215
思考与练习 221
参考文献 221
第9章 网络教学平台开发 222
9.1 网络教学平台概述 223
9.1.1 网络教学平台的组成 223
9.1.2 网络教学平台的特征 224
9.1.3 网络教学平台的常用功能 225
9.2 网络教学平台需求分析 225
9.2.1 网络教学平台的功能需求 226
9.2.2 网络教学平台的性能需求 226
9.2.3 网络教学平台的教学需求 227
9.3 网络教学平台设计 228
9.3.1 网络教学平台的设计原则 228
9.3.2 网络教学平台的功能设计 229
9.3.3 网络教学平台的学习策略设计 230
9.3.4 网络教学平台的SCORM标准应用 231
9.4 网络教学平台实现 232
9.4.1 网络教学平台的环境设置 232
9.4.2 网络教学平台的选择与创建 233
9.4.3 网络教学平台的功能配置与开发 233
9.4.4 网络教学平台的权限管理 234
9.5 网络教学平台测评 235
9.5.1 网络教学平台的测试 235
9.5.2 网络教学平台的评价 239
9.6 网络教学平台维护管理 242
9.6.1 网络教学平台的用户管理 242
9.6.2 网络教学平台的资源管理 243
9.6.3 网络教学平台的后台管理 244
9.6.4 网络教学平台的组织管理 245
9.7 网络教学平台开发案例 246
9.7.1 案例一:教师同步课堂培训网络教学平台 246
9.7.2 案例二:优质学校网络平台 254
思考与练习 264
参考文献 264
第10章 教育管理信息系统开发 266
10.1 教育管理信息系统概述 267
10.1.1 教育管理信息系统概念 267
10.1.2 教育管理信息系统的分类 269
10.1.3 教育管理信息系统的系统架构 271
10.2 教育管理信息系统需求分析 272
10.2.1 用户业务需求分析 272
10.2.2 系统性能需求分析 273
10.2.3 服务管理需求分析 274
10.3 教育管理信息系统设计 276
10.3.1 系统设计概述 276
10.3.2 系统运行环境设计 276
10.3.3 系统结构设计 277
10.3.4 数据库设计 278
10.3.5 用户界面设计 279
10.4 教育管理信息系统实现 280
10.4.1 系统实现的原则 280
10.4.2 系统实现工具的选择 281
10.4.3 系统实现的架构和平台 282
10.5 教育管理信息系统测评 283
10.5.1 系统测试 283
10.5.2 系统评价 285
10.6 教育管理信息系统维护管理 288
10.6.1 人员管理 288
10.6.2 文档管理 289
10.6.3 系统维护管理 289
10.6.4 使用者培训管理 291
10.7 教育管理信息系统开发案例 292
10.7.1 案例一:基础教育网络视频课程平台 292
10.7.2 案例二:普通高校教学管理信息系统 296
思考与练习 299
参考文献 299
附录A 教育软件工程常用平台工具汇总 300