第一部分 学生用书 7
第0章 介绍 7
0.1 教师介绍 7
0.2 后勤 7
0.3 备忘录 7
0.4 本书读者 8
0.5 期望 8
0.7 学习目的 9
0.6 本课程的位置 9
0.8 术语定义 10
0.9 何谓客户-服务器体系结构 10
0.10 在哪里进行处理 11
0.11 授权用户是至关重要的 12
0.12 客户-服务器结构的主要优点 12
0.13 客户-服务器应用程序设计要求 13
0.14 课程策略 13
0.15 实验1 14
1.2 术语定义 15
1.1 主要内容 15
第一章 分析与设计方法学 15
1.3 SDLC举例 16
1.4 SDLC对客户-服务器开发的必要性 17
1.5 复习软件处理模型 18
1.6 瀑布型模型 18
1.7 螺旋型模型 19
1.8 多线索方法 19
1.9 复习开发方法学 20
1.10 信息工程学(IE) 20
1.11 IE作为客户-服务器开发方法 21
1.12 IE方法概述 22
1.13 面向对象 23
1.14 OO作为客户-服务器开发方法 23
1.15 OO方法概述 24
1.16 什么地方使用方法学 25
1.17 方法定型建议 25
1.18 增加一个解决方案结构阶段 26
1.19 应用程序结构 27
1.21 并行小组的管理 28
1.20 开发的多线索方法 28
1.22 基本里程碑和处理模型 29
1.23 使用对象 30
1.24 粗粒对象 31
1.25 可重用成份 32
1.26 不断改进 33
1.27 小组 33
1.28 本课程的范围 33
1.29 小结:技术发展 34
1.30 复习题 34
1.31 实验2 35
第二章 系统定义 36
2.1 主要内容 36
2.2 系统定义阶段的目的 36
2.3 项目范围 37
2.4 事务对象图 37
2.5 数据对象 38
2.6 数据对象文档工具 38
2.7 评价技术和应用程序 39
2.10 实验3 41
2.8 小结 41
2.9 复习题 41
第三章 数据模型化 42
3.1 主要内容 42
3.2 分析阶段的目标 42
3.3 数据模型化的目的 43
3.4 处理 43
3.5 数据模型化工具和技术 44
3.6 对象分析 44
3.8 对象模型化技术 45
3.7 分类层次(Class Hierarchy)图 45
3.9 CRUD矩阵 46
3.10 分析CRUD矩阵,#1 47
3.11 分析CRUD矩阵,#2 48
3.12 分析CRUD矩阵,#3 48
3.13 分析CRUD矩阵,#4 49
3.14 数据相关的事务规则 49
3.15 什么是存储的过程和触发器(trigger) 50
3.17 实验4 51
3.16 复习题 51
第四章 处理模型化 52
4.1 主要内容 52
4.2 处理模型化 52
4.3 原型化方法适合什么地方 52
4.4 原型化的特点 53
4.5 原型化方法如何在客户-服务器环境中使用 54
4.6 事件和消息映射 54
4.8 状态转换图 55
4.7 实例学习:InfoByte订单登记系统 55
4.9 状态转换图的表示 56
4.10 事件:参加产品评估 57
4.11 分析阶段交付文档小结 58
4.12 复习题 58
4.13 实验5 58
第五章 技术结构 59
5.1 主要内容 59
5.2 解决方案结构的目标 59
5.3 技术结构工具和交付文档小结 60
5.4 配置选择 61
5.5 实例学习:InfoByte订单登记系统 61
5.6 建立要求 61
5.7 现有的系统 62
5.8 选择1:集中式系统 63
5.9 选择2:分布式对等系统 64
5.10 选择3:具有小型机对等的分布式系统 65
5.11 应用程序工具选择的结构 66
5.12 选择数据库服务器的考虑因素 66
5.13 SQL透明性 67
5.14 交叉硬件平台的可量测性 68
5.15 进程间通信 68
5.16 公用接口 69
5.17 实例学习:InfoByte销售分析系统 70
5.18 选择1 70
5.19 选择2 71
5.20 选择3 71
5.21 选择4 72
5.22 API选择分析 72
5.24 实验6 73
5.23 复习题 73
第六章 应用程序结构 74
6.1 主要内容 74
6.2 应用程序结构工具和文付文档 74
6.3 分布式处理的理想方法 75
6.4 应用程序结构 75
6.5 层次特性 76
6.6 获得经验并增强可重用性 77
6.7 举例:Microsoft应用程序 77
6.9 如何生成可重用成份 78
6.8 实例学习:InfoByte内部销售 78
6.10 实现举例:Query Builder 79
6.11 综合购买的软件包 80
6.12 客户-服务器事务的时间性 81
6.13 实时事务处理 81
6.14 非实时事务处理 82
6.15 实例学习:创建订单 83
6.16 实例学习:实时事务处理 84
6.17 实例学习:足够实时的事务处理 84
6.19 事务监督程序 85
6.18 讨论 85
6.21 事务监督程序的主要功能 86
6.20 你需要事务监督程序吗 86
6.22 复习题 87
6.23 实验7 87
第七章 数据结构 88
7.1 主要内容 88
7.2 数据结构工具和交付文档 88
7.4 影响数据位置的因素 89
7.5 数据类型 89
7.3 数据结构的重点 89
7.6 实例学习:顾客数据的所有权 90
7.7 分布式数据选项 90
7.8 远程数据访问策略 91
7.9 公用网关 91
7.10 公用协议 92
7.11 复制数据并分布数据的原因 93
7.12 数据分布策略 94
7.13 集中式数据库 95
7.14 分区(partition) 95
7.16 时间戳析取 96
7.15 简单析取 96
7.17 刷新析取 97
7.18 周期复制 97
7.19 连续复制 98
7.20 出/入检验复制 98
7.21 集中式数据库 99
7.22 数据分布矩阵 99
7.23 复制处理设计中的问题 100
7.24 事务边界 101
7.25 数据分布过程 101
7.26 使用中间HUB或服务器 102
7.27 实例学习:复制库存数据库 103
7.28 解决方案结构阶段小结 104
7.29 复习题 104
7.30 实验8 105
8.1 主要内容 106
8.2 设计阶段的目标 106
第八章 用户界面设计 106
8.3 设计阶段的工具和交付文档小结 107
8.4 用户界面设计 108
8.5 用户界面设计在SDLC中的位置 109
8.6 可用性冰山 110
8.7 用户界面设计的处理 111
8.8 输入到UI设计收集需求 111
8.9 原型化方法:模型化用户世界 112
8.10 事务的语义 113
8.11 统一隐喻 114
8.12 语义编码 115
8.13 语义编码指南 116
8.14 逐步求精举例 117
8.15 组模式数据录入 118
8.16 组模式应用程序分段 118
8.17 预取验证 119
8.18 预取验证上的变化 120
8.19 可用性测试 120
8.20 文档使用状态转换图 122
8.22 UI设计的7个致命错误 123
8.21 设计指南 123
8.23 基础设计原则 124
8.24 交叉平台用户界面设计问题 124
8.25 实例学习:InfoByte订单登记UI设计 125
8.26 以前的方法 126
8.27 有户生产率影响 127
8.28 图形化图标方法 128
8.29 用户生产率影响 128
8.30 基于对象的方法 129
8.31 用户生产率影响 130
8.32 复习题 131
8.33 可选视频 131
第九章 处理设计 132
9.1 主要内容 132
9.2 处理设计概要 132
9.3 两层结构的模块化处理设计 133
9.4 举例:InfoByte远程市场顾客信息 134
9.5 举例:InfoByte信息屏幕 135
9.6 生成环境 135
9.7 位置透明性 136
9.8 安全性增强 137
9.9 客户-服务器分布式处理考虑因素 137
9.10 网络通信量增长的影响 137
9.11 实例学习:InfoByte存款审定 138
9.12 使用存储的过程改进性能 138
9.13 在客户和服务器之间平衡负荷 139
9.14 客户-服务器相互作用的考虑因素 140
9.15 用户事件定序 140
9.16 图形化用户界面事务 141
9.17 并发性策略 142
9.18 并发策略小结 143
9.19 长使用期限的事务 143
9.20 如何使用长期限事务 144
9.21 举例:实现InfoByte的后备订单 144
9.22 优化客户-服务器相互作用 145
9.23 功能分解作为处理分布式的工具 146
9.24 复习题 147
9.25 实验9 147
10.2 一般指南 148
10.3 使用CRUD矩阵进行事务设计 148
第十章 事务设计 148
10.1 主要内容 148
10.4 求精物理模式 149
10.5 验证其他交付文档 150
10.6 映射事务 150
10.7 分析事务统计 151
10.8 验证物理数据库设计 151
10.9 实例学习:处理订货单CRUD矩阵 152
10.10 事务映射 152
10.12 复习题 153
10.11 客户-服务器考虑因素 153
第十一章 总结 154
11.1 阶段总结 154
11.2 交付文档总结 154
11.3 系统定义 155
11.4 分析 155
11.5 解决方案结构 156
11.6 设计 156
11.7 项目小组管理 157
11.8 项目小组的发展 158
11.9 复习题 159
实验1 介绍 162
1.1 练习1 162
1.2 练习2 162
1.3 公司 162
第二部分 实验手册 162
1.4 公司总部Cincinnati 163
2.2 练习2 166
2.3 InfoByte销售和市场活动 166
2.1 练习1 166
实验2 分析与设计方法学 166
实验3 系统定义 169
3.1 练习1 169
3.2 练习2 169
3.3 练习3 169
3.4 练习4 169
3.5 Chad Collins,产品管理人员 170
3.6 来自Richard Tape的电子邮件(EMAIL),销售管理员 171
3.7 InfoByte订单登记过程 172
3.8 应用程序属性工作表格 174
4.4 练习3 176
4.3 练习2 176
4.5 InfoByte远程市场 176
实验4 数据模型化 176
4.1 演示(Demo) 176
4.2 练习1 176
实验5 处理模型化 180
5.1 练习 180
5.2 练习1 181
6.2 练习2 183
6.3 Richard Tape,销售管理员 183
6.1 练习1 183
实验6 技术结构 183
6.4 销售工作台 184
实验7 应用程序结构 185
7.1 练习1 185
实验8 数据结构 186
8.1 本练习附加信息 186
8.2 练习1 186
8.3 练习2 186
8.4 数据分布表 187
9.1 练习1 188
实验9 处理设计 188
工作表格 189
决策集 194
附录A 面向对象技术 212
附录B 样本文档 216
附录C 初始可行性分析调查表 218
附录D 初步项目评估 220
附录E 对象链接与嵌入 222
附录F 分布式应用程序结构的事件驱动方法 231
附录G 事件驱动编程 247
附录H 基于CUI客户-服务器应用程序的事务讨论 257
附录I 用户界面设计原则 268
附录J 临界事务实例研究 271
附录K 事务 293
附录L 数据库设计 304
附录M 词汇表 320
附录N 文献提要 335
附录O 客户-服务器开发技术的Gantt图 338
附录P 迁移任务的Gantt图 352