《Enterprise Java with UML 中文版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)CT Arrington著;马波,李雄锋译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111122461
  • 页数:418 页
图书介绍:本书全面介绍如何用UML来对Java应用程序进行建模。通过实例详细讲述用UML这个建模工具开发现实中面向对象的系统,解决在开发过程中项目组所碰到的常见问题,并提供开发企业级应用程序的策略和相关技术,包括XML、servlet、企业级bean、Swring组件、CORBA等,以及如何在不同的技术组合中做出权衡。

第1章 用UML对Java建模导论 1

1.1 什么是建模 2

1.1.1 简化 2

1.1.2 不同的视角 3

1.1.3 通用符号 3

1.2 UML 4

1.3 用UML对软件系统建模 12

1.3.1 客户的角度 12

1.3.2 开发者的角度 12

1.4 建模过程 13

1.4.1 需求收集 13

1.4.2 分析 13

1.4.3 技术选择 13

1.4.4 构架 14

1.4.5 设计和实现 14

1.5 下一步 15

第2章 利用UML收集需求 17

2.1 准备好了吗 17

2.2 什么是好的需求 18

2.2.1 寻找合适的人 18

2.2.2 倾听相关人员的需求 19

2.2.3 开发一个可理解的需求 20

2.2.4 详细和完整地描述需求 23

2.2.5 重构用例模型 25

2.3 收集用户需求的准则 31

2.3.1 集中在问题上 31

2.3.2 不要放弃 32

2.3.3 不要走得太远 32

2.3.4 对过程要有信心 33

2.4 如何检测不好的需求 34

2.4.1 问题1:进度压力太大 34

2.4.2 问题2:愿景不明朗 35

2.4.3 问题3:过早的构架和设计 36

2.5 下一步 37

第3章 为考勤卡应用程序收集需求 39

3.1 听相关人员说 39

3.2 构建用例图 41

3.2.1 寻找参与者 41

3.2.2 寻找用例 42

3.2.3 确定参与者和用例之间的关系 44

3.3 描述细节 45

3.4 收集更多的需求 53

3.5 修订用例模型 56

3.5.1 修订用例图 56

3.5.2 修订用例文档 58

3.6 下一步 68

第4章 用UML进行面向对象分析简介 71

4.1 准备好了吗 71

4.1.1 可靠的需求 72

4.1.2 用例分级 72

4.2 什么是面向对象分析 73

4.2.1 分析模型 74

4.2.2 与用例模型的关系 74

4.2.3 面向对象分析的步骤 74

4.3 寻找候选对象 74

4.3.1 寻找对象的准则 75

4.3.2 寻找对象的步骤 76

4.4 描述行为 82

4.4.1 寻找行为的准则 82

4.4.2 描述行为的步骤 84

4.5 描述类 88

4.5.1 描述类的规则 88

4.5.2 描述类的步骤 89

4.6 下一步 92

第5章 考勤卡应用程序分析模型 93

5.1 用例分级 93

5.1.1 分级系统 93

5.1.2 评估“Export Time Entries”用例 96

5.1.3 评估“Create Charge Code”用例 97

5.1.4 评估“Change Password”用例 98

5.1.5 评估“Login”用例 98

5.1.6 评估“Record Time”用例 99

5.1.7 评估“Create Employee”用例 100

5.1.8 选择第一次迭代的用例 101

5.2 寻找候选对象 101

5.2.1 寻找实体对象 101

5.2.2 寻找边界对象 105

5.2.3 寻找控制类 106

5.2.4 寻找生命周期类 106

5.3 描述对象交互 106

5.3.1 为“Login”添加假设的行为 107

5.3.2 为“Login”构建顺序图 107

5.3.3 验证“Login”序列 110

5.3.4 其他用例的顺序图和类图 111

5.4 描述类 114

5.4.1 寻找“Login”中的关系 115

5.4.2 寻找“ExportTime Entries”中的关系 116

5.4.3 寻找“RecordTime”中的关系 117

5.5 下一步 117

第6章 从选择技术的角度描述系统 119

6.1 准备好了吗 119

6.2 将分析类分组 120

6.2.1 边界类:用户界面 120

6.2.2 边界类:系统接口 121

6.2.3 控制类、实体类和生命周期类 122

6.3 描述每一个组 122

6.3.1 用户界面复杂度 123

6.3.2 用户界面的部署约束 124

6.3.3 用户的数量和类型 125

6.3.4 可用带宽 126

6.3.5 系统接口类型 127

6.3.6 性能和可伸缩性 128

6.4 考勤卡应用程序的技术需求 129

6.4.1 寻找分析类的分组 129

6.4.2 用户界面复杂度 129

6.4.3 用户界面的部署约束 131

6.4.4 用户的数量和类型 132

6.4.5 可用带宽 133

6.4.6 系统接口的类型 133

6.4.7 性能和可伸缩性 133

6.5 下一步 136

第7章 为边界类评估候选技术 139

7.1 技术模板 139

7.2 Swing 140

7.2.1 令人生畏的细节 141

7.2.2 优势 150

7.2.3 不足 151

7.2.4 兼容技术 151

7.2.5 采用成本 151

7.2.6 合适性 152

7.3 Java servlet 153

7.3.1 令人生畏的细节 155

7.3.2 优势 157

7.3.3 不足 157

7.3.4 兼容技术 157

7.3.5 采用成本 157

7.3.6 合适性 158

7.4 XML 160

7.4.1 令人生畏的细节 161

7.4.2 优势 163

7.4.3 不足 163

7.4.4 兼容技术 163

7.4.5 采用成本 163

7.4.6 合适性 164

7.5 考勤卡系统的技术选择 165

7.6 结论 166

7.7 下一步 166

第8章 为控制类和实体类评估候选技术 169

8.1 RMI 169

8.1.1 令人生畏的细节 170

8.1.2 RMI的一般用法 173

8.1.3 优势 177

8.1.4 不足 177

8.1.5 兼容技术 178

8.1.6 采用成本 178

8.2 JDBC 178

8.2.1 令人生畏的细节 179

8.2.2 优势 183

8.2.3 不足 183

8.2.4 兼容技术 183

8.2.5 采用成本 183

8.2.6 RMI和JDBC的合适性 184

8.3 EJB 1.1 184

8.3.1 令人生畏的细节 187

8.3.2 优势 190

8.3.3 不足 191

8.3.4 兼容技术 191

8.3.5 采用成本 191

8.3.6 合适性 192

8.4 技术选择范例 193

8.5 下一步 194

第9章 软件构架 195

9.1 准备好了吗 196

9.1.1 清晰准确地理解所面对的问题 196

9.1.2 清晰准确地理解候选技术 196

9.2 软件构架的目标 196

9.2.1 可扩展性 197

9.2.2 可维护性 197

9.2.3 可靠性 197

9.2.4 可伸缩性 197

9.3 UML和构架 198

9.3.1 包 198

9.3.2 包依赖关系 200

9.3.3 子系统 203

9.4 软件构架的准则 204

9.4.1 内聚性 205

9.4.2 耦合性 205

9.5 建立软件构架 205

9.5.1 构架师 205

9.5.2 过程 206

9.6 考勤卡系统的样本构架 208

9.6.1 确立目标 208

9.6.2 将类分组并评估各个类 208

9.6.3 展示技术 215

9.6.4 抽取子系统 216

9.6.5 针对准则和目标对构架进行评估 218

9.7 下一步 218

第10章 设计入门 221

10.1 什么是设计 221

10.2 准备好了吗 221

10.3 设计的必要性 222

10.3.1 生产力和士气 222

10.3.2 一种具有适应能力的交流工作 223

10.3.3 进度安排和工作分配 223

10.4 设计模式 223

10.4.1 益处 224

10.4.2 使用 225

10.5 规划设计工作 225

10.5.1 为整个设计建立目标 225

10.5.2 建立设计准则 227

10.5.3 寻找独立的设计工作 228

10.6 设计包或者子系统 228

10.7 考勤卡系统的设计工作 229

10.8 下一步 230

第11章 设计TimecardDomain包和Timecard Workflow包 231

11.1 确定工作目标 231

11.1.1 性能和可靠性 232

11.1.2 重用 232

11.1.3 可扩展性 232

11.2 对前一步工作进行评审 232

11.2.1 分析模型的评审 232

11.2.2 对系统构架约束进行评审 240

11.2.3 针对目标进行设计 241

11.3 将设计应用于用例 242

11.3.1 “Login”用例的设计 243

11.3.2 “Record Time”用例的设计 245

11.3.3 “Export Time Entries”用例的设计 250

11.4 评估设计方案 255

11.5 实现 257

11.5.1 User实体bean 257

11.5.2 Timecard实体bean 263

11.5.3 LoginWorkflow无状态会话bean 272

11.5.4 RecordTimeWorkflow有状态会话bean 277

11.5.5 支撑类 281

11.5.6 ChargeCodeHome 288

11.5.7 ChargeCodeWrapper.java 299

11.5.8 Node.java 300

11.6 下一步 301

第12章 为生成HTML页面进行设计 303

12.1 设计目标 303

12.1.1 目标1:支持视图的模块结构 304

12.1.2 目标2:简单化HTML的生成 304

12.1.3 目标3:支持偏好 305

12.1.4 目标4:可扩展性和封装 306

12.2 按目标进行设计 306

12.2.1 按目标1进行设计:支持视图的模块结构 307

12.2.2 按目标2进行设计:简单化HTML的生成 310

12.2.3 按目标3进行设计:支持偏好 316

12.2.4 按目标4进行设计:可扩展性和封装 317

12.3 填充细节 320

12.3.1 登录界面 320

12.3.2 时间条目 324

12.4 实现 325

12.4.1 IHtmlProducer.java 325

12.4.2 ComboBoxProducer.java 326

12.4.3 FormProducer.java 327

12.4.4 PageProducer.iava 329

12.4.5 SubmitButtonProducer 330

12.4.6 TableProducer.iava 331

12.4.7 TabularInputFormProducer.java 333

12.4.8 TextFieldProducer.java 335

12.4.9 TextProducer.java 337

12.4.10 IConcreteProducer.java 338

12.4.11 ProducerFactory.java 339

12.4.12 FormProducerGeneric.java 343

12.4.13 PageProducerGeneric.java 345

12.4.14 TableProducerGeneric.java 347

12.4.15 TabularlnputFonnProducerGeneric.java 348

12.5 下一步 350

第13章 TimecardUI包的设计 351

13.1 确定设计目标 351

13.1.1 可扩展性 351

13.1.2 可测试性 352

13.2 评审先前的步骤 352

13.2.1 评审构架约束 352

13.2.2 评审分析模型 352

13.3 针对目标进行设计 357

13.4 每个用例的设计 358

13.4.1 为“Login”用例进行设计 358

13.4.2 为“RecordTime”用例进行设计 361

13.5 实现 365

13.5.1 LoginServlet.java 365

13.5.2 RecordTimeServlet.java 370

13.5.3 BasicServlet.java 375

13.6 下一步 377

第14章 BillingSystemInterface的设计 379

14.1 认清目标 379

14.1.1 清晰度 379

14.1.2 性能和可靠性 380

14.1.3 可扩展性 380

14.1.4 重用潜力 380

14.2 分析模型的评审 380

14.3 构架的评审 380

14.4 设计 380

14.4.1 输出指定用户的顺序图 383

14.4.2 输出所有用户的顺序图 384

14.4.3 参与类 385

14.5 实现 385

14.5.1 ExportCriteria.java 385

14.5.2 ExportFile.Java 389

14.5.3 ExportTimeEntriesApplication.java 392

14.6 小结 395

附录A 术语表 397

附录B 额外资源 413

附录C 光盘中的内容 417