目录 1
第1章 企业级软件概述 1
1.1 什么是企业级软件 1
1.2 企业级软件的演变 3
1.3 企业级软件和基于组件的软件 4
1.4 小结 5
第2章 J2EE简介 6
2.1 什么是Java 2企业版平台 6
2.2 J2EE简史 7
2.3 使用J2EE的原因 8
2.4 J2EE简介 9
2.4.1 技术 10
2.4.2 API 13
2.4.3 其他J2EE技术和API 14
2.5 小结 15
3.1 UML概述 16
第3章 UML简介 16
3.2 结合使用J2EE和UML的原因 18
3.3 利用UML对J2EE建模遇到的难题 19
3.4 UML中的扩展机制 20
3.4.1 模板 20
3.4.2 附加值 20
3.4.3 约束 21
3.5 J2EE UML建模的方法 21
3.6 小结 22
第4章 UML和Java 23
4.1 表示结构 23
4.1.1 类 23
4.1.2 变量 24
4.1.3 方法 25
4.1.4 对象 25
4.1.5 接口 26
4.1.6 包 26
4.2.2 实现 27
4.2.1 继承 27
4.2 表示关系 27
4.2.3 相关性 28
4.2.4 关联 29
4.2.5 聚合 32
4.2.6 合成 33
4.2.7 自反关系 33
4.3 小结 34
第5章 动作概况 35
5.1 什么是软件开发过程 35
5.2 开发软件的常用方法 35
5.2.1 即兴开发方法 35
5.2.2 瀑布法 36
5.2.3 迭代法 36
5.2.4 Rational统一过程 37
5.2.5 ICONIX法 39
5.2.7 Extreme Programming/功能驱动开发 40
5.2.6 OPEN法 40
5.3 本书所用的方法 41
5.4.3 第8章:总体设计 42
5.4.5 第16章:案例分析 42
5.4.4 第10—15章:具体设计 42
5.5 小结 42
5.4.2 第7章:分析客户需求 42
5.4.1 第6章:体系结构 42
5.4 主要的工作 42
第6章 体系结构 44
6.1 软件体系结构的概念 44
6.2 使用体系结构的原因 45
6.3 企业级应用体系结构中的主要概念 46
6.3.1 分解 46
6.3.2 组件 47
6.3.3 框架 48
6.3.4 模型 49
6.3.5 分层(layering) 51
6.4 开发软件体系结构的方法 53
6.3.6 层(tier) 53
6.4.1 J2EE视图体系结构 54
6.4.2 4+1视图模型体系结构 54
6.4.3 Hofmeister等:4种视图体系结构 54
6.5 综合应用 55
6.6 小结 55
第7章 分析客户需求 56
7.1 为什么要进行软件分析和设计 56
7.3 用例建模 57
7.2 问题分析 57
7.4 标识参与者 58
7.5 用例查找 59
7.6 用例图 60
7.7 用例关系 61
7.7.1 包含 61
7.7.2 扩展 61
7.8 顺序图 62
7.9 活动图 63
7.10 小结 65
第8章 总体设计 66
8.1 用例分析 66
8.2 用例实现 66
8.3 精化用例描述 67
8.4 顺序图 68
8.4.1 边界对象 68
8.4.2 实体对象 69
8.4.3 控制对象 70
8.5 协作图 71
8.6 类图 72
8.7 聚合分析类 74
8.8 打包 75
8.9 小结 76
第9章 J2EE技术概览 77
9.1 J2EE概况 77
9.4 企业级JavaBeans(EJB) 78
9.3 Java服务器页面 78
9.2 Servlets 78
9.5 会话Bean 79
9.6 实体Bean 79
9.7 消息驱动Bean 79
9.8 组装和部署 79
9.9 案例分析 80
9.10 小结 80
10.1 Servlet简介 81
第10章 Servlet 81
10.1.1 一般用途 82
10.1.2 最利于处理小型任务 82
10.1.3 J2EE版本 83
10.2 Servlet生命周期 83
10.2.1 生命周期方法 83
10.2.2 便利的方法 84
10.2.3 需要的方法和标记值 84
10.3 处理请求 85
10.4 响应的产生 86
10.5.1 高级处理程序方法 87
10.5.2 HTTP请求快速指南 87
10.5 HTTP请求处理程序 87
10.6 RequestDispatcher接口 88
10.7 在UML中为Servlet建模 89
10.8 为Servlet的其他方面建模 90
10.8.1 Servlet转移 90
10.8.2 Servlet包含 91
10.8.4 Servlet会话管理 92
10.8.3 ServletContext 92
10.9 Servlet部署和Web归档文件 93
10.10 在企业级应用中标识Servlet 93
10.11 小结 96
第11章 Java服务器页面(JSP) 97
11.1 JSP简介 97
11.1.1 JSP的典型用法 98
11.1.2 模型1和模型2的结构 98
11.2.1 模板数据 99
11.2 JSP剖析 99
11.1.3 JSP与Servlet 99
11.2.2 JSP元素 100
11.2.3 JSP可隐式访问的对象 102
11.3 标记库 102
11.3.1 标记处理程序类 102
11.3.2 标记库描述符 103
11.4 JSP和UML 104
11.4.2 为服务器端关系建模 105
11.4.1 为客户端关系建模 105
11.5 企业级应用中的JSP 107
11.6 小结 109
第12章 会话Bean 111
12.1 企业级JavaBean简介 111
12.2 EJB视图和UML 112
12.2.1 在UML中表示企业级JavaBean 113
12.2.2 客户视图 114
12.3.1 用途广泛的Bean 115
12.3 会话Bean 115
12.2.3 内部视图 115
12.3.2 J2EE版本 116
12.4 会话Bean和通话状态管理 116
12.5 实例钝化 118
12.6 事务处理 119
12.6.1 事务分类 120
12.6.3 托管容器式事务 121
12.6.4 SessionSynchronization接口 121
12.6.2 托管Bean式事务 121
12.6.5 无状态会话Bean的限制 122
12.6.6 事务属性 122
12.6.7 为事务建模 123
12.7 会话Bean技术 123
12.7.1 Home接口 124
12.7.2 Remote接口 124
12.7.3 实现类 125
12.8 为接口行为建模 126
12.10 会话Bean常用方案 128
12.9 会话Bean生命周期 128
12.11 为会话Bean关系建模 130
12.11.1 会话Bean和简单Java类 130
12.11.2 会话Bean和JavaBeans 131
12.11.3 会话Bean和Servlets 131
12.11.4 会话Bean和Java服务器页面(JSP) 132
12.11.5 会话-会话关系 132
12.11.6 会话Bean的继承 133
12.12 管理性能 133
12.13 本地客户端 134
12.14 在企业级应用中标识会话Bean 135
12.15 小结 136
第13章 实体Bean 138
13.1 实体Bean简介 138
13.1.1 粗粒度(Coarse-Grained)的业务对象 139
13.1.2 实体Bean应用越来越普及 139
13.2.1 客户端视图 140
13.2 实体Bean视图和UML 140
13.1.3 J2EE版本 140
13.2.2 内部视图 141
13.3 持久性 142
13.4 抽象持久性 143
13.4.1 抽象持久性模式 144
13.4.2 EJB查询语言(EJB QL) 145
13.4.3 持久性管理器 145
13.5.1 多样性 146
13.5 托管容器式关系 146
13.5.2 方向性 147
13.5.3 在J2EE1.2中复制托管容器式关系 147
13.5.4 本地关系 147
13.6 实体Bean技术 147
13.6.1 Home(本地)接口 148
13.6.2 Remote(远程)接口 149
13.6.3 主键类 149
13.6.4 实现类 150
13.6.5 永久域 151
13.7 实体Bean生命周期 152
13.8 实体Bean常用脚本 154
13.9 为实体Bean关系建模 154
13.9.1 实体Bean与其他Java类 154
13.9.2 实体Bean与JavaBeans 155
13.9.3 值对象方法 156
13.9.4 实体Bean、Servlet和JSP 157
13.9.5 实体Bean和会话Bean 158
13.9.6 实体Bean与实体Bean关系 158
13.10 在企业级应用中标识实体Bean 158
13.11 小结 161
第14章 消息驱动(Message-Driven)Bean 162
14.1 介绍消息驱动Bean 162
14.1.3 使用通信和消息驱动Bean的原因 163
14.1.4 使用消息驱动Bean的时间 163
14.1.2 EJB中的JMS和消息驱动Bean 163
14.1.1 Java消息服务 163
14.1.5 J2EE版本 164
14.2 消息驱动Bean视图和UML 164
14.2.1 客户视图 164
14.2.2 为消息驱动Bean使用UML的好处 165
14.2.3 对消息建模 165
14.2.4 建模目标 166
14.3.2 实现类 167
14.3.1 事务处理 167
14.3 消息驱动Bean技术 167
14.4 消息驱动Bean的生存周期 168
14.5 使用消息驱动Bean的条件 169
14.6 为消息驱动Bean关系建模 169
14.6.1 为消息驱动Bean与其他类间的关系建模 169
14.6.2 消息驱动Bean和其他J2EE技术 169
14.7 在企业级应用中使用消息驱动Besn 170
14.8 小结 171
15.1 对组件建模 172
15.2 J2EE技术建模组件 172
第15章 装配和部署 172
15.2.1 表示Web组件 173
15.2.2 表示EJB 174
15.2.3 企业级应用的组件建模 175
15.3 部署建模 176
15.4 使用跟踪能力 177
15.5 企业级Java应用程序中的装配和部署 178
15.6 小结 181
16.1 案例分析背景 182
第16章 案例分析 182
16.2 问题陈述 183
16.3 使用在线银行业务例子的原因和要求 183
16.4 HomeDirect要求 184
16.4.1 查询服务 184
16.4.2 转账支付服务 184
16.4.3 交易服务 185
16.4.4 管理服务 185
16.5.2 重现计划 186
16.5 起始阶段 186
16.5.1 最初重现 186
16.5.3 HomeDirect参与者 187
16.5.4 HomeDirect用例 187
16.5.5 用例图 189
16.5.6 交互作用图 190
16.6 加工阶段 190
16.6.1 加工重现#1 191
16.6.2 具体的序列图 191
16.6.3 类图 194
16.6.4 打包图 195
16.6.5 组件相关性图 195
16.6.6 加工重现#2 196
16.6.7 加工重现#3 197
16.6.8 在这个重现中实现的用例 197
16.7 剩余阶段 199
16.8 小结 200
术语表 201