UML 2.0学习指南
UML 2.0学习指南
Russ Miles, Kim Hamilton
汪青青 译
出版时间:2007年02月
页数:272
假如你像大部分的软件开发者一样,正在建立的系统越来越复杂。无论是桌面应用程序还是企业级系统,其复杂性都像是一头毛茸茸的巨兽,但你必须正视它。
UML(统一建模语言)帮助你处理这种复杂性。无论视UML为一种蓝图语言(blueprint Language)、草稿工具(sketch tool)还是一种编程语言,这本书都教给你必须知道的知识,以及将UML应用到项目的方法。虽然市面上已经有许多描述UML的书,但本书的主要特色包括:
● 在模型里捕捉系统的需求,确保设计切合使用者的需要。
● 为组成系统的各部分及彼此间的关系建模。
● 为组成系统的各部分如何彼此合作以满足系统需求建模。
● 在现实世界里建模、捕捉与部署系统
本书既迷人又容易理解,会告诉你如何运用UML精雕细琢以及传达项目设计意图。Russ Miles与 Kim Hamilton根据他们难得的实践经验(而非理论)来介绍UML。无论采用何种软件流程及方法论,本书都是在使用UML 2.0时必备的参考资源。包括练习在内的其他信息参见http://www.learninguml2.com。
Russ Miles是英国General Dynamics公司的软件工程师,使用Java工作并开发分布式系统。然而,他目前的兴趣是Aspect方面的相关领域,特别是AspectJ。
Kim Hamilton 是一家大型航空公司的资深软件工程师,她设计并实现过各种系统,包括 Web应用程序与分布式系统。
“自1997年被公诸于世以来,UML已经让软件开发产生了革命性的变革,全世界每种集成软件开发环境 —— 开放源代码、基础标准及智慧财产 —— 现在都支持UML,更重要的是,还支持模型驱动(model-driven)的软件开发方法。这使得学习这项最新的UML标准(UML 2.0)对所有软件开发人员变得非常重要。而且,就学习UML来讲,没有比这本清晰且逐步说明的指南更好的选择了。”
—— Richard Mark Soley,总裁及首席执行官,OMG
  1. 目录
  2. 前言 1
  3. 第1章 简介 7
  4. 什么是建模语言 8
  5. 为什么使用UML 2.0 15
  6. 模型与图 17
  7. UML的“使用程度” 18
  8. UML与软件开发流程 19
  9. 模型的视图 19
  10. 初试UML 21
  11. 下一步 24
  12. 第2章 为需求建模:用例 25
  13. 捕捉系统需求 26
  14. 用例关系 34
  15. 用例概况图 44
  16. 下一步 44
  17. 第3章 为系统工作流程建模:活动图 46
  18. 活动图的本质 47
  19. 活动与动作 49
  20. 判断节点与合并节点 50
  21. 同时执行多项任务 53
  22. 时间事件 54
  23. 调用其他活动 55
  24. 对象 56
  25. 发送与接收信号 59
  26. 启动活动 60
  27. 结束活动与流 60
  28. 活动分区或泳道(Partition或Swimlane) 62
  29. 管理复杂的活动图 63
  30. 下一步 66
  31. 第4章 为系统的逻辑结构建模:类与类图 67
  32. 什么是类 67
  33. 从UML的类开始 70
  34. 可见性 71
  35. 类状态:属性 75
  36. 类行为:操作 80
  37. 类的静态部分 82
  38. 下一步 85
  39. 第5章 为系统的逻辑结构建模:高级类图 86
  40. 类关系 86
  41. 约束 94
  42. 抽象类 95
  43. 接口 98
  44. 模板 101
  45. 下一步 102
  46. 第6章 将类引入实践:对象图 104
  47. 对象的实例 104
  48. 链接 106
  49. 绑定类模板 108
  50. 下一步 110
  51. 第7章 为有序交互建模:顺序图 111
  52. 顺序图里的参与者 112
  53. 时间 113
  54. 事件、信号与消息 114
  55. 活动条 116
  56. 嵌套消息 116
  57. 消息箭头 117
  58. 通过顺序图使用用例 122
  59. 以顺序片段管理复杂的交互 128
  60. 下一步 132
  61. 第8章 交互的链接:通信图 133
  62. 参与者、链接与消息 133
  63. 用通信图充实交互 138
  64. 通信图与顺序图 140
  65. 下一步 144
  66. 第9章 专门处理交互时间:时序图 145
  67. 时序图的外观 145
  68. 从顺序图建立时序图 146
  69. 为时序图应用参与者 148
  70. 状态 149
  71. 时间 149
  72. 参与者的状态线 151
  73. 事件与消息 154
  74. 时序约束 154
  75. 组织时序图上的参与者 157
  76. 替代表示法 158
  77. 下一步 161
  78. 第10章 完成交互的整体图:交互概况图 163
  79. 交互概况图的组成部分 163
  80. 以交互概况图为用例建模 165
  81. 下一步 171
  82. 第11章 对类的内部结构建模:组合结构 173
  83. 内部结构 173
  84. 显示如何使用类 180
  85. 用合作显示模式 182
  86. 下一步 185
  87. 第12章 管理和重用系统的组成部分:组件图 186
  88. 组件简介 186
  89. UML中的基本组件 187
  90. 组件的提供接口与需求接口 188
  91. 显示协同工作的组件 190
  92. 实现组件的类 192
  93. 端口与内部结构 194
  94. 黑箱与白箱的组件视图 196
  95. 下一步 197
  96. 第13章 组织模型:包 198
  97. 包 199
  98. 互相参考的命名空间与类 201
  99. 元素可见性 203
  100. 包的依赖性 204
  101. 导入与访问包 205
  102. 管理包的依赖性 208
  103. 使用包组织用例 208
  104. 下一步 210
  105. 第14章 为对象状态建模:状态机图 211
  106. 基本要点 212
  107. 状态 213
  108. 转换 214
  109. 软件中的状态 217
  110. 高级状态的行为 218
  111. 组成状态 220
  112. 高级伪状态 221
  113. 信号 222
  114. 协议状态机 223
  115. 下一步 223
  116. 第15章 为部署的系统建模:部署图 224
  117. 部署一个简单的系统 224
  118. 部署的软件:生成结果 226
  119. 节点简介 229
  120. 硬件节点与执行环境节点 230
  121. 节点间的通信 231
  122. 部署规范 232
  123. 何时使用部署图 234
  124. 下一步 235
  125. 附录A OCL 237
  126. 附录B 使UML适用:特性描述文件 245
  127. 附录C UML的历史 252
书名:UML 2.0学习指南
作者:Russ Miles, Kim Hamilton
译者:汪青青 译
国内出版社:清华大学出版社
出版时间:2007年02月
页数:272
书号:978-7-302-14465-6
原版书出版商:O'Reilly Media
Russ Miles
 
Russ Miles是一位具有10年编程经验的开发人员,其涉足的语言包括:从Atari 800XL上的Basic到Mac OS X上的Mono。Russ是一位虔诚的Mac信徒,近年来,他专注于多平台环境下复杂的分布式系统开发,包括Windows、Linux、Unix和Mac OS X上多种风格的开发。Russ目前是General Dynamic UK Limited的一位高级技术专家,还是许多项目的顾问,包括从内部工具开发到国际标准出版物。只要有可能,Russ就会回到编程领域中来,并为多个开源项目做出了贡献。他还创立了他自己的一些开源项目。
在Russ意外地参加英国计算机协会的高级编程专家组的一次错误的会议时,他“发现”了面向方面编程。Russ无法记起他参加会议的实际目的,但是他很幸运,他参加了一次名为“Aspect-Oriented Programming Using AspectJ”的讲座,演讲人是IBM的Adrian Colyer。Russ对面向方面的潜力和AspectJ的成熟印象深刻,他关于软件体系结构的观点也发生了永久性的变化。他立即利用这种新方法,改变了他及其团队开发软件的方式。很快两年过去了,Russ仍在开发和倡导面向方面的方法。本书是Russ幸运地与AspectJ倡导者第一次碰面的结晶。
Russ持有格林威治大学计算机科学的优等学士学位,目前是牛津大学Kellogg学院的成员,他在这里完成了他的计算机科学硕士学位。他还为ONJava.com和java.net写了许多文章,并且是O'Reilly的技术顾问。
Russ is totally indebted to his fiancée, Corinne, for her
complete love and support while writing this book. Oh,
and he still can’t believe she said yes to getting married
next year, but I guess some guys have all the luck!
Russ has been writing for a long time and gets a huge
kick out of demystifying technologies, tools, and
techniques that shouldn’t have been so mystified in the
first place. After being a developer at various ranks for
many years, Russ now keeps his days (and sometimes
nights) busy by heading up a team of software
developers working on super secret services for the
music industry. He’s also just finished up his Oxford
Masters degree that only took him five years. He’s
looking forward to a bit of rest...but not for too long.
Russ is an avid guitar player and is relishing the spare
time to get back to his guitars. The only thing he’s
missing is Head First Guitar...c’mon Brett, you know
you want that one!
 
 
Kim Hamilton
 
Kim Hamilton是一家大型航空公司的资深软件工程师,在公司,她设计和实现了各种系统,包括 Web 应用程序和分布式系统。Kim持有康奈尔大学的应用数学和计算机科学硕士学位。
 
 
本书封面上的动物是两只猩猩(大猩猩和小猩猩)。尽管素有好斗之名,但实际上,猩猩通常都很害羞,并不喜欢攻击别人,只有在被激怒或受到威胁时,才会立起身子捶胸怒吼。这种行为其实只是想吓唬入侵者,而并非要伤害他们。但是,如果其家族受到攻击,那么雄猩猩将会誓死保卫小猩猩。猩猩是体型最大、最孔武有力的猿类动物,雌性猩猩重达200磅(约90kg),雄性猩猩则可达400磅(折合约180kg)。
猩猩的社会关系非常灵活,换言之,其社会结构并非一成不变。一个猩猩族群最多可以有30只猩猩,但通常只有六七只,包括一只银背大猩猩(成年雄性)、几只雌猩猩和它们的子女。雌猩猩一生大约繁殖三代,对于每一代,她都会精心照顾,直到幼猩猩长到三四岁为止。每一代猩猩在性成熟(大约九岁)之前都会一直留在族群中,而在性成熟之后,他们一般会开辟一个族群或加入另一个族群。
由于人类的入侵和猎捕,猩猩的数量正在不断减少。科学家估计非洲现在大约只剩50 000只野生猩猩,其中大多数都是西非低地猩猩,而山地猩猩大约只有600只。大多数国家或地区都已通过保护猩猩的法律,但在人们以狩猎为生的偏远林区,这项法律的实施困难重重。如今,卢旺达、乌干达和扎伊尔等地的旅游业财源滚滚,这有助于保护猩猩和其他珍稀动物。
封面图片来自里德克的Royal History。