热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

大象--Thinking in UML

中国水利水电出版社
    【作 者】谭云杰 著 【I S B N 】978-7-5084-6046-8 【责任编辑】宋俊娥 【适用读者群】科技 【出版时间】2009-01-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】2009年01月第1版 【页 数】 【千字数】 【印 张】 【定 价】68 【丛 书】暂无分类 【备注信息】
图书详情

      本书以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。

      全书分为准备篇、基础篇、进阶篇和总结篇四个部分。准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识。基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。进阶篇以一个实例贯穿全篇,阐述如何使用UML从头到尾地实施一个项目。总结篇针对在现实中经常遇到并且较难掌握的问题进行深入的探讨,升华在前几篇学习到的知识。

      本书适用于正在学习编程、软件工程等知识,准备将来从事IT行业的读者、正努力向设计师或系统分析员转变的技术人员及期望对软件分析设计更上一层楼的设计人员学习和提高之用。

      提到Thinking这个词,读者大多会想到一本经典技术书籍《Thinking in Java》。之所以《Thinking in Java》会成为经典,原因在于这本书并不是教授读者Java语言本身,而是透过Java语言深入讨论其背后的思想和方法。授人以鱼不如授人以渔。

      本书是讲述UML的。同样,本书也不是一本纯粹教授UML语法的书籍,而是通过UML这个表象来深入探讨面向对象的分析方法;同时将结合软件工程,传达基于对象的思考方法、分析模式和推导过程以及它们在软件工程的各个阶段如何发挥作用。本书冠以  Thinking in UML这一名称正是为了切合这个主题。作者不敢奢望本书会成为《Thinking in Java》一样的经典书籍,但是作者在本书中倾尽了自己在面向对象分析和设计领域中的实践和经验积累。至少对那些尚未能够深入此领域,感觉面向对象仍然似是而非的朋友们,本书中将要传达的那些思路将会是一条线索,至少能够帮助你找到通往面向对象分析的大门。

      本书在编写过程中,以大量实际项目中会遇到的实例引出问题,讲述作者对这一问题的分析思路和解决办法。再进一步升华,通过对实例的评点,分析思路的归纳和扩展,上升到面向对象方法理论。逐步引导读者由点到面,由表及里,最后由对工具的使用上升到思想的高度,从而能够自如地跳出工具使用的局限,真正从方法和思想的高度来看待和解决现实的问题。本书中的很多内容和思想将是你在其他书籍中看不到的。

      本书分为四部分,由浅入深,从基础到高级,每个章节都有具体的实例进行说明,同时作者将耗费更多的篇幅来评点和阐述这些实例。在某些章节最后还会就一些关键概念和不容易理解的地方提出问题,让读者自行思考。

      第一部分为准备篇??需要了解。在这一部分中,作者将从面向对象的困难和需要入手,讲述面向对象分析的一些基本概念,由此提出为什么需要UML这一话题。另一方面,也讲述了接下来学习建模需要了解的一些基本知识。

      第二部分为基础篇??在学习中思考。在这一部分中,作者将从实用的角度对UML的基础概念重新组织和归纳整理,同时进行一些扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。这些内容将覆盖绝大部分实际工作的需要。通过这一部分的学习,读者将从另一个角度了解UML,知道UML能够做什么。

      第三部分为进阶篇??在实践中思考。在这一部分中,作者将以一个实例贯穿全篇,以软件过程为纲,阐述在第一部分中学习到的那些UML元素和视图将如何在一个实际的软件过程中发挥作用,如何相互配合将一份原始需求经过层层分析和推导,最终形成可执行的代码。并且这个过程将是可验证的和可追溯的。读者在阅读本部分的时候,应关注分析过程和推导过程,思考从需求到实现是如何保证可验证性和可追溯性的。通过这一部分的学习,读者将能够学会如何使用UML来从头到尾地实施一个项目。

      第四部分为总结篇??在提炼中思考。在这一部分中,每个章节均会针对一个在现实中经常遇到并且较难掌握的问题进行深入的探讨。这些探讨将有助于提升面向对象的思考能力,升华在前两部分学习到的知识。

      本书中用到的UML图使用Rose绘制,完整的工程文件收录在本书附带的光盘中。

      由于作者水平有限,很多内容是自己的经验总结,出现错误在所难免,欢迎广大读者批评指正。读者在阅读本书的过程中有任何不清楚的问题和批评建议,可以到作者的博客http://blog.csdn.net/coffeewoohttp://coffeewoo.itpub.net留言,或者发邮件到coffeewoo@gmail.com,作者将尽力给您答疑解惑,您的批评建议也将鞭策作者做得更好。

    大象希形
    写给读者的话
    关于本书
    如何阅读本书
    光盘使用说明
    第一部分  准备篇??需要了解
    第1章  为什么需要UML 2
    1.1  面向过程还是面向对象 2
    1.1.1  面向过程方法 3
    1.1.2  面向过程的困难 4
    1.1.3  面向对象方法 6
    1.1.4  面向对象的困难 8
    1.2  UML带来了什么 10
    1.2.1  什么是UML 10
    1.2.2  统一语言 11
    1.2.3  可视化 12
    1.2.4  从现实世界到业务模型 14
    1.2.5  从业务模型到概念模型 15
    1.2.6  从概念模型到设计模型 17
    1.2.7  面向对象的困难解决了吗 18
    1.2.7.1  从现实世界到业务模型 18
    1.2.7.2  从业务模型到概念模型 19
    1.2.7.3  从概念模型到设计模型 19
    1.3  统一过程简介 20
    1.3.1  RUP是什么 20
    1.3.2  RUP与UML 22
    1.3.3  RUP与软件工程 23
    1.3.4  RUP与最佳实践 25
    1.3.5  RUP与本书 25
    第2章  建模基础 27
    2.1  建模 27
    2.2  用例驱动 29
    2.3  抽象层次 31
    2.4  视图 32
    2.5  对象分析方法 34
    第二部分  基础篇??在学习中思考
    第3章  UML核心元素 38
    3.1  版型 38
    3.2  参与者 39
    3.2.1  基本概念 39
    3.2.1.1  参与者位于边界之外 39
    3.2.1.2  参与者可以非人 40
    3.2.2  发现参与者 40
    3.2.3  业务主角 42
    3.2.4  业务工人 43
    3.2.5  参与者与涉众的关系 44
    3.2.6  参与者与用户的关系 45
    3.2.7  参与者与角色的关系 45
    3.2.8  参与者的核心地位 45
    3.2.9  检查点 46
    3.3  用例 47
    3.3.1  基本概念 47
    3.3.2  用例的特征 48
    3.3.3  用例的粒度 50
    3.3.4  用例的获得 52
    3.3.5  用例和功能的误区 54
    3.3.6  目标和步骤的误区 57
    3.3.7  用例粒度的误区 59
    3.3.8  业务用例 61
    3.3.9  业务用例实现 62
    3.3.10  概念用例 63
    3.3.11  系统用例 64
    3.3.12  用例实现 64
    3.4  边界 65
    3.4.1  边界决定视界 66
    3.4.2  边界决定抽象层次 66
    3.4.3  灵活使用边界 67
    3.5  业务实体 68
    3.5.1  业务实体的属性 68
    3.5.2  业务实体的方法 69
    3.5.3  获取业务实体 69
    3.6  包 71
    3.7  分析类 73
    3.7.1  边界类 74
    3.7.2  控制类 75
    3.7.3  实体类 75
    3.7.4  分析类的三高 76
    3.8  设计类 77
    3.8.1  类 78
    3.8.2  属性 78
    3.8.3  方法 78
    3.8.4  可见性 78
    3.9  关系 79
    3.9.1  关联关系(association) 79
    3.9.2  依赖关系(dependency) 80
    3.9.3  扩展关系(extends) 80
    3.9.4  包含关系(include) 81
    3.9.5  实现关系(realize) 81
    3.9.6  精化关系(refine) 82
    3.9.7  泛化关系(generalization) 83
    3.9.8  聚合关系(aggregation) 83
    3.9.9  组合关系(composition) 83
    3.10  组件 84
    3.10.1  完备性 85
    3.10.2  独立性 85
    3.10.3  逻辑性 85
    3.10.4  透明性 85
    3.10.5  使用组件 85
    3.11  节点 87
    3.11.1  分布式应用环境 88
    3.11.2  多设备应用环境 88
    第4章  UML核心视图 90
    4.1  静态视图 90
    4.1.1  用例图 90
    4.1.1.1  业务用例视图 90
    4.1.1.2  业务用例实现视图 92
    4.1.1.3  概念用例视图 92
    4.1.1.4  系统用例视图 92
    4.1.1.5  系统用例实现视图 93
    4.1.2  类图 94
    4.1.2.1  概念层类图 95
    4.1.2.2  说明层类图 95
    4.1.2.3  实现层类图 95
    4.1.3  包图 97
    4.2  动态视图 97
    4.2.1  活动图 98
    4.2.1.1  用例活动图 98
    4.2.1.2  对象活动图 101
    4.2.1.3  泳道 101
    4.2.1.4  业务场景建模 102
    4.2.1.5  用例场景建模 103
    4.2.2  状态图 104
    4.2.3  时序图 106
    4.2.3.1  业务模型时序图 106
    4.2.3.2  概念模型时序图 109
    4.2.3.3  设计模型时序图 110
    4.2.4  协作图 110
    4.2.4.1  业务模型协作图 112
    4.2.4.2  概念模型协作图 113
    4.2.4.3  设计模型协作图 113
    第5章  UML核心模型 116
    5.1  用例模型概述 116
    5.2  业务用例模型 118
    5.2.1  业务用例模型主要内容 120
    5.2.2  业务用例模型工件的取舍 120
    5.2.3  何时使用业务用例模型 121
    5.3  概念用例模型 122
    5.3.1  概念用例模型的主要内容 123
    5.3.2  获得概念用例 124
    5.3.3  何时使用概念用例模型 124
    5.4  系统用例模型 125
    5.4.1  系统用例模型的主要内容 125
    5.4.2  获得系统用例 127
    5.5  领域模型 128
    5.6  分析模型 130
    5.6.1  如何使用分析模型 131
    5.6.2  分析模型的主要内容 133
    5.6.3  分析模型的意义 134
    5.7  软件架构和框架 135
    5.7.1  软件架构 136
    5.7.1.1  业务架构 136
    5.7.1.2  软件架构 138
    5.7.1.3  架构描述 139
    5.7.2  软件框架 141
    5.7.3  何时使用架构和框架 142
    5.8  设计模型 142
    5.8.1  设计模型的应用场合 143
    5.8.2  设计模型的主要内容 144
    5.8.3  从分析模型映射到设计模型 146
    5.9  组件模型 147
    5.9.1  何时使用组件模型 149
    5.9.2  广义组件的用法 149
    5.10  实施模型 150
    第6章  统一过程核心工作流简介 152
    6.1  业务建模工作流程 153
    6.1.1  工作流程 153
    6.1.2  活动集和工件集 153
    6.1.3  业务建模的目标和场景 156
    6.1.3.1  场景 #1??组织图 156
    6.1.3.2  场景 #2??领域建模 156
    6.1.3.3  场景 #3??单业务多系统 156
    6.1.3.4  场景 #4??通用业务模型 157
    6.1.3.5  场景 #5??新业务 157
    6.1.3.6  场景 #6??修改 157
    6.2  系统建模工作流程 157
    6.2.1  工作流程 157
    6.2.1.1  分析问题 158
    6.2.1.2  理解涉众需求 158
    6.2.1.3  定义系统 159
    6.2.1.4  改进系统定义 159
    6.2.1.5  管理系统规模 159
    6.2.1.6  管理需求变更 159
    6.2.2  活动集和工件集 160
    6.2.2.1  前景 160
    6.2.2.2  涉众请求 161
    6.2.2.3  需求属性 162
    6.2.2.4  软件需求规约 162
    6.2.2.5  用例示意板 162
    6.2.3  系统建模的目标 162
    6.3  分析设计建模工作流程 163
    6.3.1  工作流程 163
    6.3.1.1  定义和改进架构 164
    6.3.1.2  分析行为 165
    6.3.1.3  设计组件(构件) 166
    6.3.1.4  设计数据库 169
    6.3.2  活动集和工件集 170
    6.3.3  分析设计的目标 171
    6.3.4  推荐的分析设计工作流程简介 171
    6.4  实施建模工作流程 173
    6.4.1  工作流程 173
    6.4.2  活动集和工件集 174
    6.4.3  推荐的实施建模工作流程 175
    第7章  迭代式软件生命周期 179
    第三部分  进阶篇??在实践中思考
    第8章  准备工作 182
    8.1  案例说明 182
    8.2  了解问题领域 183
    8.2.1  了解业务概况 183
    8.2.2  整理业务目标 183
    8.3  做好涉众分析 184
    8.3.1  什么是涉众 184
    8.3.2  发现和定义涉众 184
    8.3.2.1  业主 185
    8.3.2.2  业务提出者 185
    8.3.2.3  业务管理者 185
    8.3.2.4  业务执行者 186
    8.3.2.5  第三方 186
    8.3.2.6  承建方 186
    8.3.2.7  相关的法律法规 186
    8.3.2.8  用户 187
    8.3.3  涉众分析报告 187
    8.3.3.1  涉众概要 187
    8.3.3.2  涉众简档 189
    8.3.3.3  用户概要 190
    8.3.3.4  用户简档 191
    8.3.3.5  消费者统计 192
    8.4  规划业务范围 193
    8.4.1  规划业务目标 193
    8.4.2  规划涉众期望 193
    8.5  整理好你的思路 194
    8.5.1  划分优先级 194
    8.5.1.1  涉众优先级标准 195
    8.5.1.2  期望优先级标准 195
    8.5.1.3  优先级矩阵 195
    8.5.2  规划需求层次 196
    8.5.2.1  第一层次:业务架构 196
    8.5.2.2  第二层次:业务流程 196
    8.5.2.3  第三层次:工作细节 197
    8.5.3  需求调研计划 197
    8.6  客户访谈技巧 198
    8.6.1  沟通的困难 198
    8.6.2  沟通技巧 199
    8.6.2.1  建立平等的对话平台 200
    8.6.2.2  做足准备工作 200
    8.6.2.3  以我为主 200
    8.6.2.4  改变沟通策略 201
    8.6.2.5  把握需求节奏 201
    8.6.2.6  记录与反馈 201
    8.7  提给读者的问题 202
    第9章  获取需求 203
    9.1  定义边界 203
    9.1.1  盘古开天??从混沌走向清晰 203
    9.1.2  现在行动:定义边界 204
    9.1.3  进一步讨论 206
    9.1.3.1  第一个讨论 206
    9.1.3.2  第二个讨论 207
    9.1.3.3  第三个讨论 208
    9.1.4  提给读者的问题 209
    9.2  发现主角 210
    9.2.1  女娲造人??谁来掌管这个世界 210
    9.2.2  现在行动:发现主角 210
    9.2.2.1  第一个例子 211
    9.2.2.2  第二个例子 211
    9.2.3  进一步讨论 214
    9.2.3.1  第一个讨论 214
    9.2.3.2  第二个讨论 215
    9.2.3.3  第三个讨论 215
    9.2.3.4  第四个讨论 216
    9.2.3.5  第五个讨论 216
    9.2.4  提给读者的问题 217
    9.3  获取业务用例 217
    9.3.1  炎黄之治??从愚昧走向文明 217
    9.3.2  现在行动:获取业务用例 218
    9.3.2.1  第一个例子 218
    9.3.2.2  第二个例子 221
    9.3.2.3  第三个例子 224
    9.3.3  进一步讨论 224
    9.3.3.1  第一个讨论 224
    9.3.3.2  第二个讨论 226
    9.3.3.3  第三个讨论 226
    9.3.4  提给读者的问题 228
    9.4  业务建模 228
    9.4.1  商鞅变法??强盛的必由之路 228
    9.4.2  现在行动:建立业务模型 229
    9.4.2.1  业务用例场景示例 229
    9.4.2.2  业务用例规约示例 235
    9.4.2.3  业务对象模型 237
    9.4.2.4  业务用例实现视图 237
    9.4.2.5  业务用例实现场景示例 238
    9.4.2.6  包图 239
    9.4.3  进一步讨论 240
    9.4.3.1  第一个讨论 240
    9.4.3.2  第二个讨论 241
    9.4.3.3  第三个讨论 241
    9.4.3.4  第四个讨论 242
    9.4.3.5  第五个讨论 242
    9.4.4  提给读者的问题 243
    9.5  领域建模 243
    9.5.1  风火水土??寻找构成世界的基本元素 243
    9.5.2  现在行动:建立领域模型 244
    9.5.2.1  提出领域问题 245
    9.5.2.2  分析领域问题 246
    9.5.2.3  建立领域模型 248
    9.5.2.4  验证领域模型 250
    9.5.2.5  领域建模归纳 250
    9.5.3  进一步讨论 252
    9.5.3.1  第一个讨论:为什么需要领域模型 252
    9.5.3.2  第二个讨论:怎样选择问题领域 252
    9.5.3.3  第三个讨论:领域模型与用例模型 253
    9.5.3.4  第四个讨论:领域模型和设计模型 254
    9.5.3.5  第五个讨论:领域模型要做到什么程度 254
    9.5.4  提给读者的问题 255
    9.6  提炼业务规则 255
    9.6.1  牛顿的思考??揭穿苹果的秘密 255
    9.6.2  现在行动:提炼业务规则 256
    9.6.2.1  全局规则 256
    9.6.2.2  交互规则 258
    9.6.2.3  内禀规则 258
    9.6.2.4  分类业务规则的意义 258
    9.6.3  进一步讨论 259
    9.6.3.1  第一个讨论:需求管理和业务规则管理 259
    9.6.3.2  第二个讨论:分类业务规则对于开发的意义 260
    9.6.4  提给读者的问题 260
    9.7  获取非功能性需求 261
    9.7.1  非物质需求??精神文明是不可缺少的 261
    9.7.2  现在行动:获取非功能性需求 262
    9.7.2.1  可靠性 263
    9.7.2.2  可用性 264
    9.7.2.3  有效性 265
    9.7.2.4  可移植性 266
    9.7.3  进一步讨论 266
    9.7.3.1  第一个讨论:如何采集非功能性需求 266
    9.7.3.2  第二个讨论:如何记录非功能性需求 270
    9.7.4  提给读者的问题 270
    9.8  主要成果物 270
    第10章  需求分析 273
    10.1  关键概念分析 273
    10.1.1  阿基米德杠杆??找到撬动地球的支点 273
    10.1.2  现在行动:建立概念模型 274
    10.1.2.1  获取概念用例 274
    10.1.2.2  分析概念用例 278
    10.1.2.3  建立概念模型 280
    10.1.3  进一步讨论 285
    10.1.3.1  第一个讨论:概念模型和领域模型 285
    10.1.3.2  第二个讨论:软件架构的引入 285
    10.1.4  提给读者的问题 286
    10.2  业务架构 286
    10.2.1  拼图游戏??我们也想造个世界 286
    10.2.2  现在行动:建立业务架构 287
    10.2.3  进一步讨论 292
    10.2.3.1  第一个讨论:结构化设计方法和业务架构方法 292
    10.2.3.2  第二个讨论:业务构件和业务实体 293
    10.2.3.3  第三个讨论:业务架构和软件架构 294
    10.2.3.4  第四个讨论:建模的价值 294
    10.2.4  提给读者的问题 296
    10.3  系统原型 296
    (以下略)





最新评论共有 2 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册