图书介绍

UML和模式应用 第3版PDF|Epub|txt|kindle电子书版本下载

UML和模式应用 第3版
  • (美)拉曼(Larman,C.)著;李洋等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111186826
  • 出版时间:2006
  • 标注页数:500页
  • 文件大小:31MB
  • 文件页数:518页
  • 主题词:面向对象语言,UML-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UML和模式应用 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

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

1.1 本书的主要内容2

第一部分 绪论2

1.2 最重要的学习目标4

1.3 什么是分析和设计5

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

1.5 简单示例5

1.6 什么是UML8

1.7 可视化建模的优点10

1.8 历史10

1.9 参考资料12

2.1 什么是UP?其他方法能否对其进行补充13

第2章 迭代、进化和敏捷13

2.2 什么是迭代和进化式开发15

2.3 什么是瀑布生命周期17

2.4 如何进行迭代和进化式分析和设计18

2.5 什么是风险驱动和客户驱动的迭代计划20

2.6 什么是敏捷方法及其观点20

2.7 什么是敏捷建模22

2.8 什么是敏捷UP23

2.9 UP的其他关键实践24

2.10 什么是UP的阶段25

2.11 什么是UP科目25

2.12 如何定制过程和UP开发案例27

2.13 判断你是否理解迭代开发或UP28

2.14 历史29

2.15 参考资料29

第3章 案例研究31

3.1 案例研究中涵盖的内容31

3.2 案例研究策略:迭代开发+迭代学习32

3.3 案例一:NextGen POS系统32

3.4 案例二:Monopoly游戏系统33

第二部分 初始阶段36

第4章 初始不是需求阶段36

4.1 什么是初始阶段36

4.2 初始阶段的持续时间37

4.3 初始阶段会创建的制品38

4.4 何时知道自己并不了解初始阶段39

4.5 初始阶段中有多少UML39

第5章 进化式需求40

5.1 定义:需求40

5.2 进化式需求与瀑布式需求41

5.3 寻找需求可以采用的方法42

5.4 需求的类型和种类42

5.5 UP制品如何组织需求43

5.6 本书是否包含这些制品的示例43

5.7 参考资料44

6.1 示例45

第6章 用例45

6.3 用例和用例模型47

6.2 定义:参与者、场景和用例47

6.4 动机:为什么使用用例48

6.5 定义:用例是功能性需求吗48

6.6 定义:参与者的三种类型48

6.7 表示法:用例的三种常用形式49

6.8 示例:详述风格的处理销售49

6.9 各小节的含义55

6.10 表示法:有其他格式吗?两栏变体60

6.11 准则:以无用户界面约束的本质风格编写用例60

6.14 准则:采用参与者和参与者目标的视点62

6.15 准则:如何发现用例62

6.12 准则:编写简洁的用例62

6.13 准则:编写黑盒用例62

6.16 准则:什么样的测试有助于发现有用的用例65

6.17 应用UML:用例图67

6.18 应用UML:活动图69

6.19 动机:用例还有其他益处吗?语境中的需求69

6.20 示例:Monopoly游戏70

6.21 过程:在迭代方法中如何使用用例71

6.22 历史75

6.23 参考资料75

第7章 其他需求76

7.1 如何完成这些示例77

7.2 准则:初始阶段是否应该对此彻底地进行分析77

7.3 准则:这些制品是否应该放在项目Web站点上77

7.4 NextGen示例:(部分)补充性规格说明78

7.5 注解:补充性规格说明80

7.6 NextGen示例:(部分)设想82

7.7 注解:设想84

7.8 NextGen示例:(部分)词汇表87

7.9 注解:词汇表(数据字典)87

7.10 NextGen示例:业务规则(领域规则)88

7.12 过程:迭代方法中的进化式需求89

7.11 注解:领域规则89

7.13 参考资料90

第三部分 细化迭代1——基础第8章 迭代1——基础92

8.1 迭代1的需求和重点:OOA/D技术的核心92

8.2 过程:初始和细化94

8.3 过程:计划下一个迭代96

第9章 领域模型98

9.1 示例99

9.2 什么是领域模型100

9.3 动机:为什么要创建领域模型102

9.4 准则:如何创建领域模型104

9.5 准则:如何找到概念类104

9.6 示例:寻找和描绘概念类106

9.7 准则:敏捷建模——绘制类图的草图107

9.8 准则:敏捷建模——是否要使用工具维护模型107

9.9 准则:报表对象——模型中是否要包括“票据”108

9.10 准则:像地图绘制者一样思考;使用领域术语108

9.11 准则:如何对非现实世界建模108

9.12 准则:属性与类的常见错误109

9.13 准则:何时使用“描述”类建模109

9.14 关联111

9.15 示例:领域模型中的关联115

9.16 属性117

9.17 示例:领域模型中的属性122

9.18 结论:领域模型是否正确123

9.19 过程:迭代和进化式领域建模………124123

9.20 参考资料125

第10章 系统顺序图126

10.1 示例:NextGen SSD126

10.2 什么是系统顺序图128

10.3 动机:为什么绘制SSD128

10.4 应用UML:顺序图129

10.5 SSD和用例之间的关系129

10.9 示例:Monopoly SSD130

10.8 SSD的哪些信息要放入词汇表中130

10.7 如何为涉及其他外部系统的SSD建模130

10.6 如何为系统事件和操作命名130

10.10 过程:迭代和进化式SSD131

10.11 历史和参考资料132

第11章 操作契约133

11.1 示例133

11.2 定义:契约有哪些部分135

11.3 定义:什么是系统操作135

11.4 定义:后置条件136

11.5 示例:enterItem后置条件137

11.8 准则:如何创建和编写契约138

11.7 准则:契约在何时有效138

11.6 准则:是否应该更新领域模型138

11.9 示例:NextGen POS契约139

11 10 示例:Monopoly契约140

11.11 应用UML:操作、契约和OCL141

11.12 过程:UP的操作契约141

11.13 历史142

11.14 参考资料142

第12章 从需求到设计——迭代进化143

12.1 以迭代方式做正确的事,正确地做事143

12.2 尽早引发变更143

12.3 完成所有分析和建模工作是否需要几个星期144

第13章 逻辑架构和UML包图145

13.2 什么是逻辑架构和层146

13.1 示例146

13.3 案例研究中应该关注的层147

13.4 什么是软件架构147

13.5 应用UML:包图148

13.6 准则:使用层进行设计149

13.7 准则:模型-视图分离原则153

13.8 SSD、系统操作和层之间的联系154

13.9 示例:NextGen的逻辑架构和包图155

13.10 示例:Monopoly逻辑架构155

13.11 参考资料155

第14章 迈向对象设计156

14.2 UML CASE工具157

14.1 敏捷建模和轻量级UML图形157

14.3 编码前绘制UML需要花费多少时间158

14.4 设计对象:什么是静态和动态建模158

14.5 基于UML表示法技术的对象设计技术的重要性159

14.6 其他对象设计技术:CRC卡159

第15章 UML交互图161

15.1 顺序图和通信图161

15.2 UML建模初学者没有对交互图给予足够重视164

15.3 常用的UML交互图表示法164

15.4 顺序图的基本表示法166

15.5 通信图的基本表示法175

16.1 应用UML:常用类图表示法180

第16章 UML类图180

16.2 定义:设计类图181

16.3 定义:类元182

16.4 表示UML属性的方式:属性文本和关联线182

16.5 注解符号:注解、注释、约束和方法体185

16.6 操作和方法185

16.7 关键字187

16.8 构造型、简档和标记187

16.9 UML特性和特性字符串188

16.10 泛化、抽象类、抽象操作188

16.11 依赖189

16.13 组合优于聚合191

16.12 接口191

16.14 约束192

16.15 限定关联192

16.16 关联类193

16.17 单实例类193

16.18 模板类和接口194

16.19 用户自定义的分栏194

16.20 主动类194

16.21 交互图和类图之间的关系195

第17章 GRASP:基于职责设计对象196

17.1 UML与设计原则196

17.2 对象设计:输入、活动和输出的示例197

17.3 职责和职责驱动设计198

17.4 GRASP:基本OO设计的系统方法200

17.5 职责、GRASP和UML图之间的联系201

17.6 什么是模式201

17.7 现在我们所处的位置203

17.8 使用GRASP进行对象设计的简短示例203

17.9 在对象设计中应用GRASP210

17.10 创建者210

17.11 信息专家(或专家)212

17.12 低耦合215

17.13 控制器218

17.14 高内聚227

17.15 参考资料230

第18章 使用GRASP的对象设计示例231

18.1 什么是用例实现232

18.2 制品注释233

18.3 下一步工作235

18.4 NextGen迭代的用例实现235

18.5 Monopoly迭代的用例实现251

18.6 过程:迭代和进化式对象设计258

18.7 总结260

19.1 对象之间的可见性261

19.2 什么是可见性261

第19章 对可见性进行设计261

第20章 将设计映射为代码265

20.1 编程和迭代、进化式开发265

20.2 将设计映射到代码266

20.3 由DCD创建类的定义266

20.4 从交互图创建方法266

20.5 代码中的集合类268

20.6 异常和错误处理269

20.7 定义Sale.makeLineItem方法269

20.8 实现的顺序269

20.11 NextGen POS程序简介270

20.10 将设计映射为代码的总结270

20.9 测试驱动或测试优先的开发270

20.12 Monopoly程序简介274

第21章 测试驱动开发和重构279

21.1 测试驱动开发279

21.2 重构282

21.3 参考资料286

第22章 UML工具与UML蓝图287

22.1 前向、逆向和双向工程288

22.2 什么是有价值特性的常见报告288

22.3 对工具有哪些期待288

22.4 如果绘制了UML草图,如何在编码后更新该图形289

22.5 参考资料289

23.1 从迭代1到迭代2292

第四部分 细化迭代2——更多模式第23章 迭代2:更多模式292

23.2 迭代2的需求和重点:对象设计和模式293

第24章 快速地更新分析296

24.1 案例研究:NextGen POS296

24.2 案例研究:Monopoly298

第25章 GRASP:更多具有职责的对象300

25.1 多态301

25.2 纯虚构306

25.3 间接性309

25.4 防止变异310

第26章 应用GoF设计模式316

26.1 适配器(GoF)317

26.2 一些GRASP原则是对其他设计模式的归纳318

26.3 设计中发现的“分析”:领域模型319

26.4 工厂(Factory)319

26.5 单实例类(GoF)321

26.6 具有不同接口的外部服务问题的结论323

26.7 策略(GoF)324

26.8 组合(GoF)和其他设计原则328

26.9 外观(GoF)335

26.10 观察者/发布-订阅/委派事件模型(GoF)337

26.11 结论342

26.12 参考资料342

27.2 Monopoly案例344

第五部分 细化迭代3——中级主题第27章 迭代3——中级主题344

27.1 NextGen POS案例344

第28章 UML活动图及其建模346

28.1 示例346

28.2 如何应用活动图346

28.3 其他UML活动图表示法348

28.4 准则350

28.5 示例:NextGen中的活动图350

28.6 过程:“统一过程”中的活动图351

28.7 背景351

第29章 UML状态机图和建模352

29.1 示例352

29.3 如何应用状态机图353

29.2 定义:事件、状态和转换353

29.4 更多UML状态机图表示法354

29.5 示例:使用状态机进行UI导航建模355

29.6 示例:NextGen用例的状态机图356

29.7 过程:UP中的状态机图356

29.8 参考资料356

第30章 用例关联357

30.1 包含关系358

30.2 术语:具体用例、抽象用例、基础用例和附加用例360

30.3 扩展关系360

30.4 泛化关系361

30.5 用例图362

第31章 领域模型的精化363

31.1 NextGen领域模型中的新概念363

31.2 泛化365

31.3 定义概念超类和子类366

31.4 何时定义概念子类368

31.5 何时定义概念超类369

31.6 NextGen POS案例中的概念类层次结构369

31.7 抽象概念类371

31.8 对变化的状态建模372

31.9 软件中的类层次结构和继承关系373

31.10 关联类373

31.11 聚合关系和组合关系375

31.12 时间间隔和产品价格——解决迭代1阶段的“错误”377

31.13 关联角色名称377

31.14 作为概念的角色与关联中的角色378

31.15 导出元素379

31.16 受限关联379

31.17 自反关联380

31.18 使用包来组织领域模型380

31.19 示例:Monopoly领域模型的精化384

第32章 更多的SSD和契约386

第33章 架构分析390

33.3 架构分析391

33.1 过程:何时开始架构分析391

33.2 定义:变化点和进化点391

33 4 架构分析的常用步骤392

33.5 科学:架构因素的识别和分析392

33.6 示例:NextGen POS的部分架构因素表395

33.7 艺术:架构性因素的解决396

33.8 架构分析主题的总结400

33.9 过程:UP中的迭代架构401

33.10 参考资料402

第34章 逻辑架构的精化403

34.1 示例:NextGen的逻辑架构403

34.2 使用层模式的协作407

34.3 有关层模式的其他问题412

34.4 模型-视图分离和“向上”通信415

34.5 参考资料415

第35章 包的设计416

35.1 组织包结构的准则417

35.2 参考资料421

第36章 使用GoF模式完成更多对象设计422

36.1 示例:NextGen POS422

36.2 本地服务容错;使用本地缓存提高性能422

36.3 处理故障426

36.4 通过代理(GoF)使用本地服务进行容错431

36.6 使用适配器访问外部物理设备433

36.5 对非功能性或质量需求的设计433

36.7 对一组相关的对象使用抽象工厂模式435

36.8 使用多态性和“Do It Myself”模式处理支付437

36.9 示例:Monopoly案例442

36.10 结论445

第37章 使用模式设计持久性框架446

37.1 问题:持久性对象447

37.2 解决方案:持久性框架提供的持久性服务447

37.3 框架447

37.4 持久性服务和框架的需求448

37.5 关键思想448

37.8 模式:对象标识符449

37.6 模式:将对象表示为表449

37.7 UML数据建模简档449

37.9 通过外观访问持久服务450

37.10 映射对象:数据库映射器或数据库代理模式450

37.11 使用模板方法模式进行框架设计452

37.12 使用模板方法模式的具体化453

37.13 使用MapperFactory配置Mapper457

37.14 模式:缓存管理458

37.15 在一个类中合并和隐藏SQL语句458

37.16 事务状态和状态模式459

37.17 使用命令模式设计事务461

37.18 使用虚代理实现滞后具体化463

37.20 PersistentObject超类和关注分离465

37.19 如何在表中表示关系465

37.21 未决问题466

第38章 UML部署图和构件图467

38.1 部署图467

38.2 构件图469

第39章 架构的文档化:UML和N+1视图模型470

39.1 SAD和架构视图470

39.2 表示法:SAD的结构473

39.3 示例:NextGen POS的SAD473

39.4 示例:Jakarta Struts的SAD478

39.6 参考资料481

39.5 过程:迭代式架构文档481

第六部分 其他主题484

第40章 迭代式开发和敏捷项目管理的进一步讨论484

40.1 如何计划一次迭代484

40 2 适应性计划与预测性计划485

40.3 阶段计划和迭代计划486

40 4 如何使用用例和场景来计划迭代487

40.5 早期预算的有效性(无效性)488

40.6 将项目制品组织起来489

40.7 何时你会发现自己并没有理解迭代计划489

40.8 参考资料……………………………490参考文献491

术语表497

热门推荐