UML 2.0和统一过程(原书第2版)

UML 2.0和统一过程(原书第2版)
作 者: 阿洛 方贵宾
出版社: 机械工业
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Jim Arlow,自1990年起就编写和设计面向对象的软件系统。他曾为许多一流公司(如英国航空公司和M&G)设计对象模型。他在欧洲是一个受人尊敬的OO顾问,已编写和出版了许多关于对象技术和Java的培训教材。他经常出席像Object Worle这样的会议并发言,还应邀到伦郭学院(University College London)、城市大学(City University)、英国计算机学会(British Computer Society)作演讲。

内容简介

本书在第1版的基础上针对UML2.0进行了更新,重点在蓝图UML,即使用正式、精确的UML模型详细规定软件系统。本书不仅以清晰易懂的术语详细描述了如何应用UML和统一过程进行面向对象分析和设计过程,还结合实例讨论了大量可以立即应用的实践技术。.本书适合面向对象技术的分析师、设计师、软件工程技术人员阅读,同时,也非常适合作为高等院校UML课程的教材。本书为使用UML2.0进行面向对象的分析和设计提供了实用的指导,描述面向对象的分析和设计如何适应统一过程中定义的软件开发生命周期。本书包含许多实用、有效并能迅速应用于现实环境的技巧。通读本书,您将学会面向对象的分析和设计技术,学习UML的语法和语义以及统一过程的相关方面。本书从OO分析和设计者的角度精确而简洁地总结了UML和统一过程。..本书特点●每章前面有一张详细的章节指示图概述章节内容,书中包含大量详细图表清晰描述了UML2.0●每章的小结系统总结了该章内容●对新UML2.0语义的解释易于理解●大量现实示例●关于对象约束语言(OCL)的讨论是全新的内容●介绍了OMG的模型驱动构架(MDA)...

图书目录

第一部分 UML 和 UP 介绍 1

第1章 什么是 UML ? 2

1.1 章节指示图 2

1.2 什么是 UML? 2

1.3 UML 的诞生 3

1.4 MDA - UML的未来 5

1.5 为什么“统一”? 6

1.6 对象和 UML 7

1.7 UML 结构 8

1.8 UML构造块 8

1.8.1 物件 9

1.8.2 关系 9

1.8.3 图 10

1.9 UML 公共机制 12

1.9.1 规格说明 12

1.9.2 修饰 13

1.9.3 公共分类 14

1.9.4 扩展机制 15

1.10 构架 18

1.11 我们已经学习了 19

第2章 什么是统一过程? 22

2.1 章节指示图 22

2.2 什么是 UP? 22

2.3 UP 的诞生 23

2.4 UP 和 RUP 25

2.5 为项目定制 UP 27

2.6 UP 公理 27

2.7 UP 是迭代和增量过程 28

2.7.1 迭代工作流 29

2.7.2 基线和增量 30

2.8 UP 结构 30

2.9 UP 阶段 31

2.9.1 初始 - 目标 31

2.9.2 初始 - 焦点 32

2.9.3 初始 - 里程碑:生命期目标 32

2.9.4 细化 - 目标 33

2.9.5 细化 - 焦点 33

2.9.6 细化 - 里程碑:生命期构架 34

2.9.7 构造 - 目标 34

2.9.8 构造 - 焦点 34

2.9.9 构造 - 里程碑:初始运作功能 35

2.9.10 移交 - 目标 35

2.9.11 移交 - 焦点 35

2.9.12 移交 - 里程碑:产品发布 36

2.10 我们已经学习了 36

第二部分 需求 38

第3章 需求工作流 39

3.1 章节指示图 39

3.2 需求工作流 39

3.3 软件需求 - 元模型 40

3.4 需求工作流细节 41

3.5 需求的重要性 43

3.6 定义需求 43

3.6.1 需求模型 44

3.6.2 形式良好的需求 44

3.6.3 功能性和非功能性需求 45

3.6.4 组织需求 45

3.6.5 需求属性 46

3.7 找出需求 48

3.7.1 需求抽取 48

3.7.2 访谈 50

3.7.3 问卷调查 51

3.7.4 需求会议 51

3.8 我们已经学习了 52

第4章 用例建模 55

4.1 章节指示图 55

4.2 用例建模 56

4.3 UP 活动:找出参与者和用例 56

4.3.1 主体(系统边界) 57

4.3.2 什么是参与者? 58

4.3.3 什么是用例? 60

4.3.4 项目词汇表 62

4.4 UP 活动:细化用例 64

4.5 用例规格说明 64

4.5.1 用例名称 65

4.5.2 用例 ID 66

4.5.3 简要描述 66

4.5.4 参与者 66

4.5.5 前置条件和后置条件 66

4.5.6 主流 67

4.5.7 建模附流 71

4.6 需求跟踪 74

4.7 何时适用用例建模 75

4.8 我们已经学习了 75

第5章 高级用例建模 79

5.1 章节指示图 79

5.2 参与者泛化 79

5.3 用例泛化 81

5.4 《include》 84

5.5 《extend》 85

5.5.1 扩展用例 87

5.5.2 多重插入片段 88

5.5.3 条件扩展 88

5.6 何时使用高级特征 89

5.7 书写用例的技巧 89

5.7.1 保持用例简短 90

5.7.2 关注什么,而不是如何 90

5.7.3 避免功能分解 91

5.8 我们已经学习了 92

第三部分 分析 95

第6章 分析工作流 96

6.1 章节指示图 96

6.2 分析工作流 96

6.3 分析制品 - 元模型 97

6.4 分析工作流细节 97

6.5 分析模型 - 经验法则 98

6.6 我们已经学习了 99

第7章 对象和类 101

7.1 章节指示图 101

7.2 什么是对象? 101

7.2.1 封装 103

7.2.2 消息机制 104

7.3 UML 对象符号 105

7.3.1 对象属性值 106

7.4 什么是类? 106

7.4.1 类和对象 108

7.4.2 对象实例化 109

7.5 UML 类符号 109

7.5.1 名称分栏 111

7.5.2 属性分栏 111

7.5.3 操作分栏 116

7.5.4 类构造型语法 120

7.6 范围 120

7.6.1 实例范围和类范围 121

7.6.2 范围决定访问 121

7.7 对象构造和销毁 122

7.7.1 构造函数 - 示例 ClubMember 类 123

7.7.2 析构函数 - 示例 ClubMember 类 124

7.8 我们已经学习了 124

第8章 找出分析类 129

8.1 章节指示图 129

8.2 UP 活动:分析用例 129

8.3 什么是分析类? 130

8.3.1 分析类剖析 131

8.3.2 如何产生良好的分析类? 133

8.3.3 分析类经验法则 134

8.4 找出类 136

8.4.1 使用名词/动词分析找出类 136

8.4.2 使用 CRC 分析找出类 137

8.4.3 采用RUP构造型找出类 139

8.4.4 从其它来源找出类 142

8.5 产生初步分析模型 143

8.6 我们已经学习了 144

第9章 关系 147

9.1 章节指示图 147

9.2 什么是关系? 147

9.3 什么是链接? 148

9.3.1 对象图 148

9.3.2 路径 150

9.4 什么是关联? 151

9.4.1 关联语法 152

9.4.2 多重性 153

9.4.3 导航性 157

9.4.4 关联和属性 159

9.4.5 关联类 161

9.4.6 受限关联 163

9.5 什么是依赖? 164

9.5.1 使用依赖 166

9.5.2 抽象依赖 167

9.5.3 授权依赖 169

9.6 我们已经学习了 170

第10章 继承和多态 174

10.1 章节指示图 174

10.2 泛化 174

10.2.1 类泛化 174

10.3 类继承 175

10.3.1 重载 176

10.3.2 抽象操作和类 177

10.3.3 抽象层次 178

10.3.4 多重继承 179

10.4 多态 179

10.4.1 多态示例 180

10.5 高级泛化 182

10.5.1 泛化集合 183

10.5.2 强类型 185

10.6 我们已经学习了 186

第11章 分析包 189

11.1 章节指示图 189

11.2 什么是包? 189

11.3 包和命名空间 191

11.4 嵌套包 192

11.5 包依赖 193

11.5.1 传递性 195

11.6 包泛化 196

11.7 构架分析 196

11.7.1 找出分析包 197

11.7.2 循环包依赖 199

11.8 我们已经学习了 199

第12章 用例实现 204

12.1 章节指示图 204

12.2 UP 活动:分析用例 204

12.3 什么是用例实现? 205

12.4 用例实现 - 元素 205

12.5 交互 206

12.6 生命线 206

12.7 消息 208

12.7.1 同步、异步和返回消息 209

12.7.2 创建和销毁消息 210

12.7.3 发现和丢失消息 210

12.8 交互图 211

12.9 顺序图 211

12.9.1 生命线和消息 212

12.9.2 激活 214

12.9.3 注释顺序图 214

12.9.4 状态常量和约束 215

12.10 组合区和操作符 216

12.10.1 采用 opt 和 alt 分支 218

12.10.2 采用 loop 和 break 迭代 220

12.11 通信图 222

12.11.1 迭代 223

12.11.2 分支 225

12.12 我们已经学习了 227

第13章 高级用例实现 231

13.1 章节指示图 231

13.2 交互重现 231

13.2.1 参数 233

13.2.2 门 234

13.3 接续 235

13.4 我们已经学习了 237

第14章 活动图 238

14.1 章节指示图 238

14.2 什么是活动图? 238

14.3 活动图与UP 239

14.4 活动 240

14.5 活动的语义 242

14.6 活动分区 243

14.7 动作节点 245

14.7.1 调用动作节点 247

14.7.2 接受时间事件的动作节点 248

14.8 控制节点 249

14.8.1 起始节点和终止节点 250

14.8.2 判决节点和汇合节点 250

14.8.3 派生节点和会聚节点 - 并发 252

14.9 对象节点 253

14.9.1 对象节点缓冲区的语义 254

14.9.2 用状态展示对象 255

14.9.3 活动参数 255

14.10 别针 257

14.11 我们已经学习了 258

第15章 高级活动图 262

15.1 章节指示图 262

15.2 连接器 262

15.3 可中断活动区 262

15.4 异常处理 263

15.5 扩展节点 264

15.6 发送信号和接受事件 266

15.7 流化 268

15.8 高级对象控制特性 269

15.8.1 输入和输出效果 269

15.8.2 《selection》 270

15.8.3 《transformation》 270

15.9 广播和广收 270

15.10 参数集合 271

15.11 《centralbuffer》节点 273

15.12 交互概图 273

15.13 我们已经学习了 274

第四部分 设计 278

第16章 设计工作流 279

16.1 章节指示图 279

16.2 设计工作流 279

16.3 设计制品 - 元模型 280

16.3.1 制品跟踪关系 282

16.3.2 需要维护两个模型吗? 282

16.4 设计工作流细节 284

16.5 UP活动:构架设计 284

16.6 我们已经学习了 285

第17章 设计类 287

17.1 章节指示图 287

17.2 UP活动:类设计 287

17.3 什么是设计类? 288

17.4 设计类剖析 289

17.5 形式良好的设计类 290

17.5.1 完整性和充分性 291

17.5.2 原始性 292

17.5.3 高内聚 292

17.5.4 低耦合 293

17.6 继承 294

17.6.1 聚合vs继承 294

17.6.2 多重继承 296

17.6.3 继承vs接口实现 297

17.7 模板类 297

17.8 嵌套类 299

17.9 我们已经学习了 300

第18章 精化分析关系 305

18.1 章节指示图 305

18.2 设计关系 305

18.3 聚合和组合 306

18.4 聚合语义 307

18.5 组合语义 309

18.5.1 组合与属性 310

18.6 如何精化分析关系? 311

18.7 一对一关联 312

18.8 多对一关联 312

18.9 一对多关联 313

18.10 列集 313

18.10.1 映射表 316

18.11 具体化关系 317

18.11.1 多对多关联 317

18.11.2 双向关联 318

18.11.3 关联类 319

18.12 结构化类的组合 319

18.12.1 结构化类元 319

18.12.2 结构化类 321

18.13 我们已经学习了 323

第19章 接口和组件 330

19.1 章节指示图 330

19.2 UP活动:子系统设计 330

19.3 什么是接口? 331

19.4 已供接口和必需接口 332

19.5 接口实现vs继承 334

19.6 端口 337

19.7 接口和基于组件的开发 338

19.8 什么是组件 339

19.9 组件构造型 341

19.10 子系统 342

19.11 发现接口 342

19.12 采用接口进行设计 343

19.12.1 外观模式 344

19.12.2 物理构架和分层模式 345

19.13 接口的优点和缺点 346

19.14 我们已经学习了 347

第20章 用例实现(设计) 352

20.1 章节指示图 352

20.2 UP活动:用例设计 352

20.3 用例实现(设计) 353

20.4 交互图(设计) 354

20.5 建模并发 356

20.5.1 活动类 356

20.5.2 顺序图中的并发 357

20.5.3 通信图中的并发 360

20.6 子系统交互 361

20.7 时序图 361

20.8 用例实现(设计)示例 364

20.9 我们已经学习了 366

第21章 状态机 368

21.1 章节指示图 368

21.2 状态机 368

21.2.1 行为状态机和协议状态机 369

21.2.2 状态机与类 370

21.3 状态机和UP 370

21.4 状态图 371

21.5 状态 373

21.5.1 状态语法 374

21.6 迁移 375

21.6.1 连接迁移 - 交叉伪状态 376

21.6.2 分支迁移 - 选择伪状态 377

21.7 事件 377

21.7.1 调用事件 378

21.7.2 信号事件 379

21.7.3 改变事件 380

21.7.4 时间事件 381

21.8 我们已经学习了 381

第22章 高级状态机 385

22.1 章节指示图 385

22.2 复合状态 385

22.2.1 简单复合状态 387

22.2.2 正交复合状态 388

22.3 子状态机状态 390

22.4 子状态机通信 391

22.5 历史 392

22.5.1 浅度历史 393

22.5.2 深度历史 394

22.6 我们已经学习了 394

第五部分 实现 396

第23章 实现工作流 397

23.1 章节指示图 397

23.2 实现工作流 397

23.3 实现制品 - 元模型 398

23.4 实现工作流细节 399

23.5 制品 399

23.6 我们已经学习了 399

第六部分 补充材料 401

第24章 部署 402

24.1 章节指示图 402

24.2 UP活动:构架实现 402

24.3 部署图 403

24.4 节点 404

24.5 制品 406

24.6 部署 409

24.7 我们已经学习了 410

第25章 OCL 介绍 412

25.1 章节指示图 412

25.2 什么是OCL? 412

25.3 为什么采用OCL? 413

25.4 OCL表达式语法 414

25.5 包语境和路径 415

25.6 表达式语境 416

25.7 OCL表达式类型 417

25.8 表达式主体 419

25.8.1 注释、关键字和优先级规则 419

25.8.2 OCL类型系统 420

25.8.3 原始类型 422

25.8.4 Tuple 425

25.8.5 中缀操作符 426

25.8.6 OCL列集 426

25.8.7 迭代操作 432

25.9 OCL导航 436

25.9.1 语境实例内导航 436

25.9.2 通过关联导航 437

25.9.3 通过多重关联导航 439

25.10 OCL表达式类型细节 440

25.10.1 inv: 440

25.10.2 pre:,post: 和 @pre 442

25.10.3 body: 444

25.10.4 init: 446

25.10.5 def: 446

25.10.6 let表达式 448

25.10.7 derive: 449

25.11 其它图中的OCL 450

25.11.1 交互图中的OCL 450

25.11.2 活动图中的OCL 452

25.11.3 状态图中的OCL 453

25.12 高级主题 454

25.12.1 关联类的双向导航 455

25.12.2 通过受限关联导航 456

25.12.3 继承的关联 457

25.12.4 OCL消息 459

25.13 我们已经学习了 461

附录 1 用例模型举例 468

A1.1 简介 468

A1.2 用例模型 468

A1.3 用例举例 469

附录 2 XML 和用例 474

A2.1 使用 XML 制作用例模版 474

A2.2 SUMR 474

参考书目 478