张恂评《UML和模式应用》

解读Craig Larman与敏捷统一过程
CraigLarman是我非常钦佩的一位OO和软件工程大师,也是我的一位良师益友,从他那里我学到了许多。在我眼里,他不极端,也不夸张,他很平和,也很执着;他是一位真正做到了博采众长、融会贯通的大师,一位精通实践的真正科学家,当然,他还是一位出色、经验老道的OO和敏捷教员。Craig向Kruchten学习了RUP,向Cockburn学习了用例,向Fowler学习了设计模式,向Jeffries学习了XP,向Rumbaugh学习了UML...而在本书里Craig讲的既不是单纯的RUP,也不是单纯的XP,他介绍的其实是他自己独到的已经作了裁减和定制的方法:敏捷统一过程(AUP或AgileUP)。所以,我觉得读Larman的书(还有那本至关重要的AID)是我们学习和掌握UML、模式和敏捷迭代开发等当代相关技术的一条综合“捷径”,把这些主流、优秀的技术和实践方法精巧地糅合在一起,不恰好反映了我们日常软件开发的实际状况和现实追求吗?

为什么说此书是经典?首先,是因为它已经成为世界上许多企业、院校、教育机构开展OOAD、UML和模式教学的必备材料或参考书。可以看出Craig的案例是经过精心设计的,做到了一环扣一环,深刻而精准,恰到好处。第二,后来的作者们,今后如果再写类似题材的书,就应该达到或者超过Craig的水平,否则有何意义?难道就是仅仅因为Larman讲的是加拿大英语(现场聆听的效果非常流畅而清晰),所以,我们要用中国各地的n种方言再讲n遍?无疑,Craig的书已经为我们设立了一个不矮的标杆。

在我印象中,能在一本书里以几次迭代的形式,把OOAD的主线准确、不啰嗦地展现出来,目前好像只有Craig做到了或者说他做得最好。这几年咱国内也有不少作者编写了类似的有关OOAD、UML、UP的著作或教材,客观地讲,还没有哪本达到了Craig的水平,可以说还差得很远,有些有模仿的痕迹,有些甚至还谬误多多,大概一些作者连自己都还没弄明白OOAD是咋回事。这也是我一直建议大家尽量多读外国原著,我们的技术媒体携国产技术作家们、翻译名家们尽量少做秀的原因。

关于纸张方面,我觉得应该向电力社的原版风暴系列学习。关于译文,译者们提到了自己的“诚惶诚恐、如履薄冰”,不错,有这种态度,希望他们履行了承诺。关于我从Craig以及他的著作里都学到了些什么,恐怕花上几万字都讲不完。如果时间和精力允许,我将在www.craiglarman.cn和自己的网站上陆续公开自己和网友们的一些读后感与学习成果,与大家分享、交流,共同进步!

张恂www.zhangxun.com
相关图书信息:
《UML和模式应用(原书第3版)》
前言 第一部分 绪论 第1章 面向对象分析设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析设计 1.4 什么是面向对象分析设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 迭代、进化敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代进化式分析设计 2.5 什么是风险驱动客户驱动的迭代计划 2.6 什么是敏捷方法及其观点 2.7 什么是敏捷建模 2.8 什么是敏捷UP 2.9 UP的其他关键实践 2.10 什么是UP的阶段 2.11 什么是UP科目 2.12 如何定制过程UP开发案例 2.13 判断你是否理解迭代开发或UP 2.14 历史 2.15 参考资料 第3章 案例研究 3.1 案例研究中涵盖的内容 3.2 案例研究策略:迭代开发+迭代学习 3.3 案例一:NextGen POS系统 3.4 案例二:Monopoly游戏系统 第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会创建的制品 4.4 何时知道自己并不了解初始阶段 4.5 初始阶段中有多少UML 第5章 进化式需求 5.1 定义:需求 5.2 进化式需求与瀑布式需求 5.3 寻找需求可以采用的方法 5.4 需求的类型种类 5.5 UP制品如何组织需求 5.6 本书是否包含这些制品的示例 5.7 参考资料 第6章 用例 6.1 示例 6.2 定义:参与者、场景用例 6.3 用例用例模型 6.4 动机:为什么使用用例 6.5 定义:用例是功能性需求吗 6.6 定义:参与者的三种类型 6.7 表示法:用例的三种常用形式 6.8 示例:详述风格的处理销售 6.9 各小节的含义 6.10 表示法:有其他格式吗?两栏变体 6.11 准则:以无用户界面约束的本质风格编写用例 6.12 准则:编写简洁的用例 6.13 准则:编写黑盒用例 6.14 准则:持有参与者参与者目标的视点 6.15 准则:如何发现用例 6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22 历史 6.23 参考资料 第7章 其他需求 7.1 如何完成这些示例 7.2 准则:初始阶段是否应该对此彻底地进行分析 7.3 准则:这些制品是否应该放在项目Web站点上 7.4 NextGen示例:(部分)补充性规格说明 7.5 注解:补充性规格说明 7.6 NextGen示例:(部分)设想 7.7 注解:设想 7.8 NextGen示例:(部分)词汇表 7.9 注解:词汇表(数据字典) 7.10 NextGen示例:业务规则(领域规则) 7.11 注解:领域规则 7.12 过程:迭代方法中的进化式需求 7.13 参考资料 第三部分 细化迭代1—基础 第四部分 细化迭代2—更多模式 第五部分 细化迭代3——中级主题 第六部分 其他主题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值