标题：UML 2.0和统一过程
基本信息
原书名： UML 2 and the Unified Process : Practical Object-Oriented Analysis and Design (2nd Edition)
原出版社： Addison-Wesley  作者： （美）Jim Arlow,Ila Neustadt    
译者： 方贵宾 胡辉良
出版社：机械工业出版社
ISBN：711118775X
上架时间：2006-6-29
出版日期：2006 年6月
开本：16开
页码：400
版次：2-1 
内容简介
本书在第1版的基础上针对uml2．0进行了更新，重点在蓝图uml，即使用正式、精确的uml模型详细规定软件系统。本书不仅以清晰易懂的术语详细描述了如何应用uml和统一过程进行面向对象分析和设计过程，还结合实例讨论了大量可以立即应用的实践技术。.
本书适合面向对象技术的分析师、设计师、软件工程技术人员阅读，同时，也非常适合作为高等院校uml课程的教材。
本书为使用uml 2.0进行面向对象的分析和设计提供了实用的指导，描述面向对象的分析和设计如何适应统一过程中定义的软件开发生命周期。
本书包含许多实用、有效并能迅速应用于现实环境的技巧。通读本书，您将学会面向对象的分析和设计技术，学习uml的语法和语义以及统一过程的相关方面。本书从oo分析和设计者的角度精确而简洁地总结了uml和统一过程。 ..
本书特点
● 每章前面有一张详细的章节指示图概述章节内容，书中包含大量详细图表清晰描述了uml 2.0
● 每章的小结系统总结了该章内容
● 对新uml 2.0语义的解释易于理解
● 大量现实示例
● 关于对象约束语言（ocl）的讨论是全新的内容
● 介绍了omg的模型驱动构架（mda） 
作者简介
Jim Arlow自1990年起就编写和设计面向对象的软件系统。他曾为许多一流公司(如英国航空公司和M&G)设计对象模型。他在欧洲是一个受人尊敬的OO顾问，己编写和出版了许多关于对象技术和Java 的培训教材。他经常出席像Object World这样的会议并发言，还应邀到伦敦学院(University College London)、城市大学(City University)、英国计算机学会(British Computer Society)作演讲。
目录
译者序. 
前言 
第一部分 uml和up介绍 
第1章　什么是uml 1 
1.1　章节指示图 1 
1.2　什么是uml 3 
1.3　uml的诞生 3 
1.4　mda—uml的未来 4 
1.5　为什么“统一” 6 
1.6　对象和uml 6 
1.7　uml结构 6 
1.8　uml构造块 7 
1.8.1　物件 7 
1.8.2　关系 7 
1.8.3　图 8 
1.9　uml 公共机 9 
1.9.1　规格说明 10 
1.9.2　修饰 10 
1.9.3　公共分类 11 
1.9.4　扩展机制 12 
.1.10　构架 14 
1.11　小结 15 
第2章　什么是统一过程 17 
2.1　章节指示图 17 
2.2　什么是up 18 
2.3　up的诞生 18 
2.4　up和rup 20 
2.5　为项目定制up 21 
2.6　up公理 21 
2.7　up是迭代和增量过程 22 
2.7.1　迭代工作流 22 
2.7.2　基线和增量 23 
2.8　up结构 23 
2.9　up阶段 25 
2.9.1　初始—目标 25 
2.9.2　初始—焦点 25 
2.9.3　初始—里程碑：生命期目标 25 
2.9.4　细化—目标 25 
2.9.5　细化—焦点 26 
2.9.6　细化—里程碑：生命期构架 26 
2.9.7　构造—目标 26 
2.9.8　构造—焦点 26 
2.9.9　构造—里程碑：初始运作功能 27 
2.9.10　移交—目标 27 
2.9.11　移交—焦点 27 
2.9.12　移交—里程碑：产品发布 28 
2.10　小结 28 
第二部分 需 求 
第3章　需求工作流 29 
3.1　章节指示图 29 
3.2　需求工作流 31 
3.3　软件需求—元模型 31 
3.4　需求工作流细节 32 
3.5　需求的重要性 34 
3.6　定义需求 34 
3.6.1　需求模型 34 
3.6.2　形式良好的需求 34 
3.6.3　功能性和非功能性需求 35 
3.6.4　组织需求 35 
3.6.5　需求属性 36 
3.7　找出需求 37 
3.7.1　需求抽取 37 
3.7.2　访谈 38 
3.7.3　问卷调查 39 
3.7.4　需求会议 39 
3.8　小结 39 
第4章　用例建模 41 
4.1　章节指示图 41 
4.2　用例建模 43 
4.3　up 活动：找出参与者和用例 43 
4.3.1　主体（系统边界） 44 
4.3.2　什么是参与者 44 
4.3.3　什么是用例 45 
4.3.4　项目词汇表 47 
4.4　up 活动：细化用例 48 
4.5　用例规格说明 48 
4.5.1　用例名称 49 
4.5.2　用例 id 50 
4.5.3　简要描述 50 
4.5.4　参与者 50 
4.5.5　前置条件和后置条件 50 
4.5.6　主流 50 
4.5.7　建模附流 54 
4.6　需求跟踪 57 
4.7　何时适用用例建模 57 
4.8　小结 58 
第5章　高级用例建模 60 
5.1　章节指示图 60 
5.2　参与者泛化 61 
5.3　用例泛化 62 
5.4　莍nclude?65 
5.5　莈xtend?67 
5.5.1　扩展用例 68 
5.5.2　多重插入片段 69 
5.5.3　条件扩展 70 
5.6　何时使用高级特征 70 
5.7　书写用例的技巧 71 
5.7.1　保持用例简短 71 
5.7.2　关注“什么”，而不是“如何” 71 
5.7.3　避免功能分解 72 
5.8　小结 73 
第三部分 分 析 
第6章　分析工作流 75 
6.1　章节指示图 75 
6.2　分析工作流 75 
6.3　分析制品—元模型 76 
6.4　分析工作流细节 77 
6.5　分析模型—经验法则 77 
6.6　小结 78 第7章　对象和类 80 
7.1　章节指示图 80 
7.2　什么是对象 82 
7.2.1　封装 83 
7.2.2　消息机制 84 
7.3　uml 韵蠓??84 
7.3.1　对象属性值 85 
7.4　什么是类 85 
7.4.1　类和对象 86 
7.4.2　对象实例化 87 
7.5　uml 类符号 87 
7.5.1　名称分栏 88 
7.5.2　属性分栏 89 
7.5.3　操作分栏 91 
7.5.4　类构造型语法 94 
7.6　范围 94 
7.6.1　实例范围和类范围 95 
7.6.2　范围决定访问 95 
7.7　对象构造和销毁 95 
7.7.1　构造函数—示例 clubmember 类 96 
7.7.2　析构函数—示例 clubmember 类 97 
7.8　小结 97 
第8章　找出分析类 100 
8.1　章节指示图 100 
8.2　up活动：分析用例 102 
8.3　什么是分析类 102 
8.3.1　分析类剖析 103 
8.3.2　如何产生良好的分析类 104 
8.3.3　分析类经验法则 105 
8.4　找出类 105 
8.4.1　使用名词／动词分析找出类 106 
8.4.2　使用crc分析找出类 107 
8.4.3　采用rup构造型找出类 108 
8.4.4　从其他来源找出类 109 
8.5　产生初步分析模型 110 
8.6　小结 111 
第9章　关系 113 
9.1　章节指示图 113 
9.2　什么是关系 115 
9.3　什么是链接 115 
9.3.1　对象图 115 
9.3.2　路径 116 
9.4　什么是关联 117 
9.4.1　关联语法 117 
9.4.2　多重性 118 
9.4.3　导航性 121 
9.4.4　关联和属性 122 
9.4.5　关联类 124 
9.4.6　受限关联 125 
9.5　什么是依赖 125 
9.5.1　使用依赖 126 
9.5.2　抽象依赖 127 
9.5.3　授权依赖 128 
9.6　小结 129 
第10章　继承和多态 132 
10.1　章节指示图 132 
10.2　泛化 133 
10.2.1　类泛化 133 
10.3　类继承 133 
10.3.1　覆写 134 
10.3.2　抽象操作和类 135 
10.3.3　抽象层次 135 
10.3.4　多重继承 136 
10.4　多态 136 
10.4.1　多态示例 136 
10.5　高级泛化 138 
10.5.1　泛化集合 138 
10.5.2　强类型 139 
10.6　小结 141 
第11章　分析包 143 
11.1　章节指示图 143 
11.2　什么是包 143 
11.3　包和命名空间 145 
11.4　嵌套包 145 
11.5　包依赖 146 
11.5.1　传递性 147 
11.6　包泛化 147 
11.7　构架分析 148 
11.7.1　找出分析包 149 
11.7.2　循环包依赖 149 
11.8　小结 150 
第12章　用例实现 153 
12.1　章节指示图 153 
12.2　up 活动：分析用例 155 
12.3　什么是用例实现 156 
12.4　用例实现—元素 156 
12.5　交互 157 
12.6　生命线 157 
12.7　消息 157 
12.7.1　同步、异步和返回消息 158 
12.7.2　创建和销毁消息 159 
12.7.3　发现和丢失消息 159 
12.8　交互图 159 
12.9　顺序图 160 
12.9.1　生命线和消息 160 
12.9.2　激活 162 
12.9.3　注释顺序图 163 
12.9.4　状态常量和约束 163 
12.10　组合区和操作符 164 
12.10.1　采用opt和alt分支 166 
12.10.2　采用loop和break迭代 168 .. 
12.11　通信图 170 
12.11.1　迭代 171 
12.11.2　分支 172 
12.12　小结 173 
第13章　高级用例实现 176 
13.1　章节指示图 176 
13.2　交互重现 176 
13.2.1　参数 178 
13.2.2　门 179 
13.3　接续 181 
13.4　小结 182 
第14章　活动图 183 
14.1　章节指示图 183 
14.2　什么是活动图 183 
14.3　活动图与up 184 
14.4　活动 185 
14.5　活动的语义 186 
14.6　活动分区 188 
14.7　动作节点 189 
14.7.1　调用动作节点 190 
14.7.2　接受时间事件的动作节点 191 
14.8　控制节点 192 
14.8.1　初始节点和终止节点 192 
14.8.2　判决节点和汇合节点 192 
14.8.3　派生节点和会聚节点—并发 193 
14.9　对象节点 194 
14.9.1　对象节点缓冲区的语义 194 
14.9.2　用状态展示对象 195 
14.9.3　活动参数 195 
14.10　别针 197 
14.11　小结 197 
第15章　高级活动图 200 
15.1　章节指示图 200 
15.2　连接器 202 
15.3　可中断活动区 202 
15.4　异常处理 202 
15.5　扩展节点 203 
15.6　发送信号和接受事件 204 
15.7　流化 206 
15.8　高级对象流特性 206 
15.8.1　输入和输出效果 206 
15.8.2　莝election?207 
15.8.3　莟ransformation?207 
15.9　广播和广收 207 
15.10　参数集合 208 
15.11　莄entralbuffer冉诘?209 
15.12　交互概图 210 
15.13　小结 211 
第四部分 设 计 
第16章　设计工作流 213 
16.1　章节指示图 213 
16.2　设计工作流 213 
16.3　设计制品—元模型 214 
16.3.1　制品跟踪关系 215 
16.3.2　需要维护两个模型吗 216 
16.4　设计工作流细节 217 
16.5　up活动：构架设计 218 
16.6　小结 218 
第17章　设计类 220 
17.1　章节指示图 220 
17.2　up活动：类设计 221 
17.3　什么是设计类 222 
17.4　设计类剖析 223 
17.5　形式良好的设计类 223 
17.5.1　完整性和充分性 224 
17.5.2　原始性 224 
17.5.3　高内聚 225 
17.5.4　低耦合 225 
17.6　继承 226 
17.6.1　聚合与继承 226 
17.6.2　多重继承 227 
17.6.3　继承与接口实现 227 
17.7　模板类 228 
17.8　嵌套类 229 
17.9　小结 230 
第18章　精化分析关系 233 
18.1　章节指示图 233 
18.2　设计关系 235 
18.3　聚合和组合 235 
18.4　聚合语义 236 
18.5　组合语义 237 
18.5.1　组合与属性 238 
18.6　如何精化分析关系 238 
18.7　一对一关联 239 
18.8　多对一关联 239 
18.9　一对多关联 240 
18.10　列集 240 
18.10.1　映射表 240 
18.11　具体化关系 242 
18.11.1　多对多关联 242 
18.11.2　双向关联 243 
18.11.3　关联类 244 
18.12　结构化类的组合 244 
18.12.1　结构化类元 244 
18.12.2　结构化类 245 
18.13　小结 247 
第19章　接口和组件 252 
19.1　章节指示图 252 
19.2　up活动：子系统设计 254 
19.3　什么是接口 254 
19.4　已供接口和必需接口 255 
19.5　接口实现与继承 257 
19.6　端口 260 
19.7　接口和基于组件的开发 261 
19.8　什么是组件 261 
19.9　组件构造型 262 
19.10　子系统 262 
19.11　发现接口 263 
19.12　采用接口进行设计 263 
19.12.1　外观模式 264 
19.12.2　物理构架和分层模式 264 
19.13　接口的优点和缺点 265 
19.14　小结 266 
第20章　用例实现（设计） 269 
20.1　章节指示图 269 
20.2　up活动：用例设计 271 
20.3　用例实现（设计） 272 
20.4　交互图（设计） 272 
20.5　建模并发 274 
20.5.1　活动类 274 
20.5.2　顺序图中的并发 276 
20.5.3　通信图中的并发 278 
20.6　子系统交互 279 
20.7　时序图 279 
20.8　用例实现（设计）示例 282 
20.9　小结 284 
第21章　状态机 288 
21.1　章节指示图 288 
21.2　状态机 290 
21.2.1　行为状态机和协议状态机 290 
21.2.2　状态机与类 291 
21.3　状态机和up 291 
21.4　状态图 291 
21.5　状态 292 
21.5.1　状态语法 293 
21.6　迁移 293 
21.6.1　连接迁移—交叉伪状态 294 
21.6.2　分支迁移—选择伪状态 295 
21.7　事件 296 
21.7.1　调用事件 296 
21.7.2　信号事件 297 
21.7.3　改变事件 298 
21.7.4　时间事件 299 
21.8　小结 299 
第22章　高级状态机 301 
22.1　章节指示图 301 
22.2　复合状态 301 
22.2.1　简单复合状态 302 
22.2.2　正交复合状态 304 
22.3　子状态机状态 306 
22.4　子状态机通信 307 
22.5　历史 308 
22.5.1　浅度历史 308 
22.5.2　深度历史 309 
22.6　小结 310 
第五部分 实 现 
第23章　实现工作流 311 
23.1　章节指示图 311 
23.2　实现工作流 311 
23.3　实现制品—元模型 312 
23.4　实现工作流细节 313 
23.5　制品 314 
23.6　小结 314 
第24章　部署 315 
24.1　章节指示图 315 
24.2　up活动：构架实现 315 
24.3　部署图 316 
24.4　节点 317 
24.5　制品 318 
24.6　部署 321 
24.7　小结 322 
第六部分 补充材料 
第25章　ocl 介绍 325 
25.1　章节指示图 325 
25.2　什么是ocl 327 
25.3　为什么采用ocl 327 
25.4　ocl表达式语法 327 
25.5　包语境和路径名 329 
25.6　表达式语境 329 
25.7　ocl表达式类型 330 
25.8　表达式主体 331 
25.8.1　注释、关键字和优先级规则 331 
25.8.2　ocl类型系统 332 
25.8.3　原始类型 333 
25.8.4　tuple 335 
25.8.5　中缀操作符 335 
25.8.6　ocl列集 335 
25.8.7　迭代操作 340 
25.9　ocl导航 343 
25.9.1　语境实例内导航 343 
25.9.2　通过关联导航 343 
25.9.3　通过多重关联导航 345 
25.10　ocl表达式类型细节 346 
25.10.1　inv： 346 
25.10.2　pre:、post: 和 @pre 347 
25.10.3　body： 348 
25.10.4　init： 349 
25.10.5　def： 349 
25.10.6　let表达式 350 
25.10.7　derive： 351 
25.11　其他图中的ocl 352 
25.11.1　交互图中的ocl 352 
25.11.2　活动图中的ocl 354 
25.11.3　状态图中的ocl 354 
25.12　高级主题 356 
25.12.1　关联类的双向导航 356 
25.12.2　通过受限关联导航 357 
25.12.3　继承的关联 357 
25.12.4　ocl消息 359 
25.13　小结 360 
附录1　用例模型举例 365 
附录2　xml 和用例 370 
参考书目 376 
索引 378...