当前位置:首页 > 工业技术
UML和模式应用  原书第2版
UML和模式应用  原书第2版

UML和模式应用 原书第2版PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)Craig Larman著;方梁等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111145186
  • 页数:465 页
图书介绍:本书是公认最佳的介绍面向对象分析和设计技术的入门书。
《UML和模式应用 原书第2版》目录
标签:模式 应用

第三部分 细化迭代 1

译者序 2

序言 2

前言 2

第一部分 绪论 2

第1章 面向对象分析和设计 2

1.1 在OOA/D中应用UML和模式 2

目录 2

第四部分 细化迭代 2

第五部分 细化迭代 3

1.2 分配职责 4

1.3 什么是分析和设计 4

1.4 什么是面向对象分析和设计 4

1.5 示例 5

1.6 UML 7

1.7 进一步学习的参考资料 8

第2章 迭代开发和统一过程 9

2.1 最重要的UP思想:迭代开发 10

2.3 UP阶段和面向进度表的术语 13

2.2 其他的UP最佳实践和概念 13

2.4 UP流程(工作流) 13

2.5 流程定制和开发案例 16

2.6 敏捷UP 17

2.8 何时你会知道自己并不了解UP 18

2.7 顺序“瀑布”生命周期 18

2.9 进一步学习的参考资料 19

第3章 案例研究:NextGen POS系统 20

3.1 NextGen POS系统 20

3.2 架构层和案例研究重点 21

3.3 本书的策略:迭代学习和开发 21

第二部分 初始 24

第4章 初始 24

4.1 初始:一个类比 25

4.2 初始阶段可能会非常短暂 25

4.3 初始阶段会创建哪些工件 25

4.4 何时你会知道自己并不了解初始阶段 26

第5章 理解需求 28

5.1 需求的类型 28

5.2 进一步学习的参考资料 30

6.1 目标和情节 31

第6章 用例模型:写出实际语境中的需求 31

6.2 背景 32

6.3 用例和附加价值 32

6.4 用例和功能性需求 33

6.5 用例类型和格式 34

6.6 详述用例的示例:处理销售 34

6.7 各部分的解释 39

6.8 用例的目标和范围 43

6.9 找出主要参与者、目标和用例 46

6.10 恭喜:用例已经被写出,但并不完美无缺 49

6.11 以一种简朴的不考虑用户界面的风格来写出用例 49

6.12 参与者 51

6.13 用例图 51

6.14 语境中的需求和低级别特性列表 54

6.16 统一过程中的用例 55

6.15 用例不是面向对象的 55

6.17 案例研究:NextGen的初始阶段中的用例 59

6.18 进一步学习的参考资料 59

6.19 统一过程的工件和处理语境 59

第7章 识别其他需求 62

7.1 NextGen POS系统的示例 62

7.2 NextGen系统示例:补充规范(部分) 63

7.3 注解:补充规范 66

7.4 NextGen示例:构想(部分) 68

7.5 注解:构想 71

7.6 NextGen示例:术语表(部分) 74

7.7 注解:术语表(数据字典) 74

7.8 可靠的规范:一个矛盾 76

7.9 项目网站上的联机工件 76

7.11 统一过程中的其他需求工件 76

7.10 在初始阶段不需要太多的UML图示 76

7.12 进一步学习的参考资料 78

7.13 统一过程的工件和处理语境 78

第8章 从初始到细化 81

8.1 检验点:初始阶段发生了什么 81

8.2 细化 82

8.3 计划下一次迭代 83

8.4 迭代1的需求和重点:基本的OOA/D技巧 84

8.6 何时你会知道自己并不了解细化阶段 85

8.5 哪些工件在细化阶段中开始 85

第9章 用例模型:绘制系统顺序图 88

9.1 系统行为 88

9.2 系统顺序图 89

9.3 一个SSD的示例 89

9.4 系统之间的SSD 89

9.5 SSD和用例 89

9.6 系统事件和系统边界 89

9.7 命名系统时间及操作 91

9.8 显示用例文本 92

9.9 SSD和术语表 92

9.10 UP内的SSD 92

9.11 进一步学习的参考资料 93

9.12 UP工件 93

第10章 领域模型:可视化概念 95

10.1 领域模型 96

10.2 概念类识别 99

10.3 销售领域的候选概念类 102

10.4 领域建模的指导原则 102

10.5 分析相似的概念类——Register与“POST”的比较 104

10.6 为非现实世界建模 105

10.7 规格说明或描述概念类 105

10.8 UML表示法、模型以及方法:多重观点 107

10.9 缩小表示差距 109

10.10 示例:NextGen POS领域模型 110

10.11 UP中的领域模型 111

10.12 进一步学习的参考资料 112

10.13 UP工件 112

第11章 领域模型:添加关联 114

11.1 关联 114

11.2 UML关联表示法 115

11.3 找出关联——通用关联列表 116

11.4 关联的指导原则 117

11.5 角色 117

11.6 关联应该详细到何种程度 118

11.7 关联的命名 119

11.8 两种类型间的多重关联 119

11.9 关联以及实现 120

11.10 NextGen POS的领域模型中的关联 120

11.11 NextGen POS的领域模型 121

12.2 UML的属性表示法 124

第12章 领域模型:添加属性 124

12.1 属性 124

12.3 有效的属性类型 124

12.4 非原始的数据类型类 127

12.5 设计潜行:没有属性是外键 128

12.6 为属性的数量和单位建模 128

12.7 NextGen的领域模型中的属性 128

12.8 从SalesLineltem到Item的多重性 130

12.9 领域模型小结 130

13.1 契约 132

13.2 示例契约:enterltem 132

第13章 用例模型:用操作契约增加细节 132

13.3 契约条目的描述 133

13.4 后置条件 134

13.5 讨论——enterItem的后置条件 136

13.6 书写契约将导致领域模型更新 136

13.7 什么时候契约是有用的?契约与用例的比较 136

13.8 指导原则:契约 137

13.9 NextGen POS示例:契约 138

13.11 契约、操作以及UML 139

13.10 领域模型的变化 139

13.12 UP内的操作契约 140

13.13 进一步学习的参考资料 142

14.1 反复地做正确的事、正确地做事 144

14.2 难道这样做不需要花费数周吗?是的,完全不需要 144

第14章 迭代中的从需求到设计 144

14.3 开始对象设计 145

第15章 交互图表示法 146

15.1 顺序图和协作图 146

15.2 协作图示例:makePayment 147

15.3 顺序图示例:makePayment 148

15.4 交互图价值不菲 148

15.5 迭代图的通用表示法 149

15.6 协作图的基本表示法 150

15.7 顺序图的基本表示法 154

第16章 GRASP:根据职责设计对象 159

16.1 职责和方法 160

16.2 职责和交互图 160

16.3 模式 161

16.4 GRASP:在职责分配中的通用原则模式 162

16.5 UML类图表示法 163

16.6 信息专家模式(专家模式) 163

16.7 创建者模式 167

16.8 低耦合模式 169

16.9 高内聚模式 172

16.10 控制器模式 176

16.12 进一步学习的参考资料 182

16.11 对象设计和CRC卡片 182

第17章 设计模型:GRASP模式与用例实现 183

17.1 用例实现 183

17.2 工件注释 184

17.3 NextGen迭代的用例实现 186

17.4 对象设计:makeNewSale 187

17.5 对象设计:enterItem 189

17.6 对象设计:endSale 192

17.7 对象设计:makePayment 196

17.8 对象设计:startUp 200

17.9 将UI层连接到领域层 202

17.10 UP中的用例实现 205

17.11 小结 207

第18章 设计模型:决定可见性 208

18.1 对象之间的可见性 208

18.2 可见性 208

18.3 在UML中表示可见性 212

第19章 设计模型:创建设计类图 213

19.1 何时创建DCD 213

19.2 DCD示例 213

19.4 领域模型中的类与设计模型中的类的比较 214

19.5 创建NextGen POS的DCD 214

19.3 DCD和UP术语 214

19.6 成员细节的表示法 222

19.7 DCD、绘图和CASE工具 222

19.8 UP中的DCD 223

19.9 UP工件 224

第20章 实现模型:将设计映射成代码 226

20.1 编程和开发过程 226

20.2 将设计映射成代码 228

20.3 从DCD创建类的定义 228

20.4 从交互图创建方法 231

20.5 代码中的容器/集合类 232

20.9 测试为先的编程 233

20.6 异常和错误处理 233

20.8 实现的顺序 233

20.7 定义Sale-makeLineltem方法 233

20.11 编码方案的介绍 235

20.10 映射设计到代码的小结 235

第21章 迭代2和其需求 242

21.1 迭代2的重点:对象设计和模式 242

21.2 从迭代1到迭代2 242

21.3 迭代2的需求 243

21.4 迭代2中面向分析的工件的改进 244

第22章 GRASP:更多的职责分配模式 247

22.1 多态模式 247

22.2 纯虚构模式 250

22.3 中介模式 252

22.4 受保护变化模式 253

第23章 用GoF设计模式设计用例实现 259

23.1 适配器模式(GoF) 260

23.2 设计中的“分析”发现:领域模型 261

23.3 工厂模式(GoF) 263

23.4 单子模式(GoF) 264

23.5 接口变化的外部服务问题的结论 267

23.6 策略模式(GoF) 268

23.7 组合模式(GoF)和其他设计原则 272

23.8 外观模式(GoF) 279

23.9 观察者/发布订阅/委托事件模型(GoF) 281

23.10 结论 288

23.11 进一步学习的参考资料 288

第24章 迭代3和其需求 292

24.1 迭代3的需求 292

24.2 迭代3的重点 292

第25章 建立用例的关系 293

25.1 包含关系 293

25.2 术语:具体用例、抽象用例、基用例和附加用例 296

25.3 扩展关系 296

25.4 泛化关系 297

25.5 用例图 298

第26章 泛化建模 299

26.1 领域模型的新概念 299

26.2 泛化 301

26.3 定义概念性超类和子类 302

26.4 何时定义一个概念性子类 304

26.5 何时定义一个概念性超类 306

26.6 NextGen POS概念类的层次 306

26.7 抽象概念类 308

26.8 为变化的状态建模 309

26.9 软件中的类的层次和继承 310

27.1 关联类 311

第27章 精化领域模型 311

27.2 聚集与组合 314

27.3 时间间隔和产品价格——改正迭代1中的“错误” 316

27.4 关联角色名称 317

27.5 作为概念的角色与关联角色的比较 318

27.6 导出元素 318

27.7 受限关联 319

27.9 有序元素 320

27.10 使用包来组织领域模型 320

27.8 自反关联 320

第28章 增加新的SSD和契约 326

28.1 新的系统顺序图 326

28.2 新的系统操作 328

28.3 新的系统操作契约 328

第29章 在状态图中为行为建模 330

29.1 事件、状态和转移 330

29.2 状态图 330

29.3 UP中的状态图在哪里 331

29.4 用例的状态图 331

29.6 从状态图受益的类 332

29.5 POS应用的用例状态图 332

29.7 外部事件和内部事件的说明 334

29.8 状态图的另外表示法 335

29.9 进一步学习的参考资料 336

第30章 应用模式设计逻辑架构 337

30.1 软件架构 337

30.2 架构模式:层 339

30.3 模型-视图分离原则 355

30.4 进一步学习的参考资料 356

第31章 组织模型包的设计和实现 357

31.1 包组织的指导原则 358

31.2 更多的UML包表示法 362

31.3 进一步学习的参考资料 363

第32章 架构分析和SAD的介绍 364

32.1 架构分析 365

32.2 架构的类型和视图 366

32.3 技巧:识别和分析架构因素 366

32.4 示例:部分NextGen POS架构因素表 368

32.5 技巧:架构因素的解析 368

32.6 架构分析中各主题的小结 374

32.7 UP中的架构分析 375

32.8 进一步学习的参考资料 378

33.1 在本地服务上实现故障恢复;使用本地高速缓存提高性能 379

第33章 使用对象和模式设计更多用例的实现 379

33.2 故障处理 384

33.3 通过代理(GoF)在本地服务上实现故障恢复 389

33.4 对非功能性或质量需求进行设计 391

33.5 通过适配器访问外部物理设备;购买与开发的比较 391

33.6 对一族互相关联的对象使用抽象工厂(GoF) 392

33.7 通过多态性和Do It Myself处理支付 395

33.8 结论 399

第34章 使用模式设计持久化框架 401

34.1 问题:持久化对象 401

34.3 框架 402

34.2 解决方案:来自持久化框架的持久化服务 402

34.4 持久化服务和框架的需求 403

34.5 关键思想 403

34.6 模式:将对象表示为表 403

34.7 UML的数据建模Profile 404

34.8 模式:对象标识 404

34.9 使用外观访问持久化服务 405

34.10 映射对象:数据库映射器或数据库代理模式 405

34.11 使用模板方法模式设计框架 407

34.12 使用模板方法模式实现物化 408

34.13 使用映射器工厂配置映射器 412

34.15 在一个类里合并和隐藏SQL语句 413

34.14 模式:缓存管理 413

34.16 事务状态和状态模式 414

34.17 使用命令模式设计事务 416

34.18 使用虚拟代理延迟物化 417

34.19 如何表示表中的关系 420

34.20 持久化对象超类和分离问题不同方面的设计原则 421

34.21 遗留问题 421

第35章 绘图及其工具 424

35.1 冥思苦想的设计和形象思考 424

第六部分 特殊专题 424

35.2 在开发过程中画UML图的建议 425

35.3 工具和特性样例 426

35.4 样例二 427

第36章 迭代计划和项目有关问题的介绍 430

36.1 区分需求的等级 430

36.2 划分项目风险的等级 433

36.3 适应性计划与预测性计划 433

36.4 阶段和迭代计划 434

36.5 迭代计划:下一迭代做什么 434

36.6 在迭代之间跟踪需求 436

36.7 早期估计的有效性(和无效性) 437

36.9 一些小组迭代进度安排问题 438

36.8 组织项目工件 438

36.10 何时你会知道自己并不了解UP中的计划安排 439

36.11 进一步学习的参考资料 440

第37章 关于迭代开发和UP的注释 441

37.1 其他UP的最佳实践和观点 441

37.2 构造阶段和移交阶段 442

37.3 其他有意义的实践 443

37.4 限定每次迭代时间的动机 443

37.5 顺序“瀑布型”生命周期 444

37.7 UP分析模型 448

37.6 可用性工程和用户界面设计 448

37.8 RUP产品 449

37.9 重用的挑战和神话 450

第38章 更多的UML表示法 451

38.1 一般符号 451

38.2 实现图 452

38.3 模板(参数化的、通用的)类 454

38.4 活动图 454

术语表 457

参考文献 461

返回顶部