《软件方法》自序&目录&推荐阅读

rolt 2011-08-24 10:42:22
自序

光阴匆匆似流水,它一去不再回。
《浪子归》;词:黄小茂,曲:崔健,唱:崔健;1986
1999年还是一名程序员时,我创建了UMLChina,从那时开始关注软件工程各方面的进展。2001年12月,阿里巴巴的吴泳铭来email询问是否有UML方面的训练,我开始准备训练材料。2002年3月,我去杭州给阿里巴巴做了这个训练。虽然与后来我给阿里集团各公司做的许多次训练相比,这第一次讲课从内容和形式都算是糟透了,但是我现在还记得当时的心情――迈出自己事业第一步的心情。
目前(2011年6月)为止,我已经上门为已经超过150家的软件组织提供需求和设计技能的训练和咨询服务。训练结束后,学员们常会问:“潘老师,上完课后我们应该看什么书?”我总是回答:“先不用看杂七杂八的书,还是要复习我们留下的资料,那些幻灯片、练习题、模型就已经是最好的书了,按照改进指南先用一点点在具体项目上,带着出现的具体困惑来和我讨论。”虽然一再这样强调了,有的学员还是经常情不自禁地拿着一本《***UML***》之类的书来问我问题,不管书上说得对不对。看来写在正式出版物上的效果就是不一样啊。
其实现在出书也不难,UMLChina一直在和出版社合作推介国外优秀的软件工程书籍,目前已经有三十多本软件工程书籍上有UMLChina的标记了。不过我一直没有自己写一本书,主要原因还是觉得自己的积累不够,思考的深度也不够,对软件开发的认识还在不断变化。如果没有自己成型的东西,不能站在别人的肩膀上看得更远,只是摘抄别人的观点,这样的书有什么意义呢?
另外一个原因是,UMLChina后来开始采取了“隐形、关门”的策略,秉持“内外有别”的原则。我关闭了已经有4万多人的Smiling电子小组(也是为了降低某些风险),网站不再有公开的社区,在网站上也找不到“客户名单”,所有更细致的服务以非公开的方式对会员提供。在这种情况下,出一本书也不是那么迫切。
现在距离第一次提供服务已经将近十年,也有了一些积累,所以硬着头皮也要开始写书了。在这些年的服务过程中,和开发团队谈到改进时,我发现一个有趣的现象:很多开发团队(不是每个团队)或多或少都会有人(不是每个人)或明或暗地表达出这样的观点――自己团队的难处与众不同,奇特的困难降临在他们身上,偏偏别人得以幸免。
尽管UMLChina一直强调自己的服务是“聚焦最后一公里”,坚信每一个开发团队都会在细节上和其他团队有所不同,而且也应该有所不同。但很多时候,我还是感觉到,开发团队还是高估了自己的“个性”,低估了“共性”。本书就是归纳这样一些“共性”,作为我的一家之言,供大家参考。感谢曾经选择过我的服务的伙伴们。他们一次次地给我机会来实践、发展和锤炼技艺,才有了这本书。
目前还没有和任何出版社商议出纸书事宜。本书先以电子版方式公布,不定期更新版本,您可以到http://www.umlchina.com/book/panjiayu.htm查看新的版本。因为我经常为《程序员》杂志写文章,所以本书中的一些文字您可能在《程序员》上看到过。
每一章的后面,我会提供一些针对该章内容的自测题,读者感兴趣可以测试一下。这些测试题以嵌入Flash的方式提供,请留心一下您正在使用的PDF阅读器是否支持Flash,最好下载最新版本的Arcobat Reader。
一些作者喜欢在每一章的开头放上和该章内容相关的一幅画或一句名人名言,所以我也效仿一下,不过没那么“高雅”――每章的开头放上和该章内容相关的一句歌词。
书中的模型图,如果是我为了讲解知识而画的,用的建模工具是Enterprise Architect;如果是截取真实模型的图片,可能会涉及到各种工具。我不像Robert C. Martin那样,女儿已经长大到可以帮画插图,所以非UML模型的插图,我都自己用Wacom笔来画,可能丑了一些,请见谅。
关于本书的任何反馈,请发邮件到umlchina@gmail.com。






目录


第1章 建模和UML
第2章 愿景
第3章 业务建模 之 业务用例图
第4章 业务建模 之 业务序列图
第5章 需求 之 系统用例图
第6章 需求 之 系统用例文档
第7章 需求 之 需求启发和验证
第8章 分析 之 类图
第9章 分析 之 序列图
第10章 分析 之 状态机图
第11章 设计 之 映射数据层
第12章 设计 之 映射业务层
第13章 设计 之 映射表示层
第14章 设计 之 领域驱动设计思想
第15章 改进指南

推荐阅读
张生带上仆人阿梁,挑着圣贤书两大箱
《张生记》;词:高晓松,曲:高晓松,唱:曹颖;2006

本书的内容是根据我为开发团队提供服务的训练资料扩展而成。在为开发团队提供服务时,我一直采取拿来主义的做法,不拘泥于流派或风格,着力于细节和应用。如果硬要说出本书的几个主要思想来源,我认为应该是Ivar Jacobson、Alistair Cockburn、Peter Coad和高焕堂。
下面给出我印象深刻的、推荐阅读的书籍。已出版的需求和设计书籍,只要有中文译本或者英文版能有渠道找到电子版的,绝大多数我都阅读过。我没有阅读过的书,就没有资格在此处推荐了,例如Ivar Jacobson早期的著作,但这不意味着该书不值得阅读。您可能会发现,一些“经典”著作如Brooks的《人月神话》、GoF的《设计模式》等不在其中,那并不是因为我没有读过,只是个人偏好而已。
另外要说的是:要用发展的眼光来看问题,不能搞“原教旨主义”。某种思想或方法起源于某人,不意味着某人最初对该思想或方法的认识永远是最正确的,也不意味着某人在以后的岁月中针对该思想或方法发表的各种观点都是正确的。Ivar Jacobson的“Object-Oriented Software Engineering”出版于1992年,Peter Coad的“Java Modeling In Color With UML”出版于1999年,Alistair Cockburn的“Writing Effective Use Cases”出版于2001年。不否认这些书中思想的光芒,但毕竟世界在进步,在实践的大浪淘沙之下,有些细节值得商议。小教派式的“教主崇拜”,由一些编辑捧出来的圈子文化以及廉价“大牛”、“大仙”、“大神”式的称呼,不值得提倡。


《软件复用:结构、过程和组织》,Ivar Jacobson 著,韩柯 译,机械工业出版社,2003。
《编写有效用例》,Alistair Cockburn 著,王雷、张莉 译,机械工业出版社,2002。
《探索需求——设计前的质量》,Donald C. Gause, Gerald M. Weinberg 著,章柏幸、王媛媛、谢攀 译,清华大学出版社,2004。
《掌握需求过程(第2版)》,Suzanne Robertson, James Robertson 著,王海鹏 译,人民邮电出版社,2007。
《有效用例模式》,Steve Adolph, Paul Bramble 著,车立红 译,清华大学出版社,2003。
《定位》,Al Ries, Jack Trout著,李正栓 贾纪芳 译,中国财政经济出版社,2002
《实用面向对象软件工程教程》,Edward Yourdon, Carl Argila 著,殷人昆、田金兰、马晓勤 译,电子工业出版社,1998。
《对象模型:策略、模式与应用》(第2版),Peter Coad 著,唐毅宏 译,科学出版社,2005。
《彩色UML建模》,Peter Coad, Eric Lefebvre, Jeff De Luca 著, 王海鹏 译,机械工业出版社,2008。
《UML面向对象设计基础》,Meilir Page-Jones著,包晓露等 译,人民邮电出版社,2001。
《企业应用架构模式》,Martin Fowler 著,王怀民、周斌 译,机械工业出版社,2010。
《领域驱动设计》新译本,Eric Evans 著,赵俐 盛海艳 刘霞 译,人民邮电出版社,2010。
《设计模式初学者指南》,Allen Holub 著,徐迎晓 译,机械工业出版社,2006。
《MDA与可执行UML》,Chris Raistrick,Paul Francis,John Wright 著,赵建华、张天 等译,机械工业出版社,2006。
《对象设计》,Rebecca Wirfs-Brock, Alan McKean 著,倪硕、陈师 译,人民邮电出版社,2006。
《嵌入式系统的微模块化程序设计——实用状态图C/C++实现》,Miro Samek 著,敬万钧 陈丽蓉 译,北京航空航天大学出版社,2004
《敏捷软件开发:原则、模式与实践(C#版) 》,Robert C.Martin;Micah Martin 著,邓辉、孙鸣 译,人民邮电出版社,2008。
《分析模式:可复用的对象模型》,Martin Fowler 著,樊东平、张路 译,机械工业出版社,2004。
《Oracle 8 UML对象建模设计》,Paul Dorsey,Joseph R.Hudicka著,孟小峰等 译,机械工业出版社,2000。
《UML参考手册 (第2版)》,James Rumbaugh, Ivar Jacobson, Grady Booch 著,UMLChina 译,机械工业出版社,2005。
《UML对象、组件和框架——Catalysis方法》,Desmond Francis D’Souza, Alan Cameron Wills 著,王慧、施平安、徐海 译,清华大学出版社,2004。
《UML嵌入式设计》,高焕堂 著,清华大学出版社,2008
《UML基础、案例和应用》(第3版),Joseph Schmuller 著,李虎 译,人民邮电出版社,2004。



带有图和测试题的PDF版本《软件方法》下载地址为:
http://www.umlchina.com/book/panjiayu.htm
...全文
168 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingpei0703 2011-08-26
  • 打赏
  • 举报
回复
LZ辛苦,支持!

1,268

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧