致谢

返回>>

向以下各位表示深深的感谢,年岁久远,如有疏漏,敬请原谅。

2002年至今,选择了UMLChina需求和设计技能服务的所有组织和个人:

1999-2000年间,最早为UMLChina做贡献的: 欧阳巨星、Adams Wang、陈英、kfleebugmirnshiWindy JFrank Guwenjl、杨健、宋怡、苏康胜、wsblhfwbj、马成长、鸿雁南飞、张利锋、sealwdavidqql、张恂

2000-2004年间,在UMLChina讨论组担任过组长的: abugmourivcc_cnsealw

2001-2005年间,为《非程序员》提供稿件最多的: 透明、杨德仁、刘庆、甄镭、Huang Yin、金哲凡、李巍、Windy J、刘巍、michael、王念滨

合作过的出版社同仁(按姓氏排列): 陈冀康、符隆美、傅志红、胡顺增、江立、李万红、李艳波、李阳、刘金喜、刘立卿、刘映欣、麻众志、隋曦、汤斌浩、王定、温莉芳、谢晓芳、熊妍妍、姚蕾、尤晓东、张春雨

UMLChina翻译书籍译者: 汪颖、方春旭、叶向群、熊节、李巍、李嘉兴、王海鹏

合作过的CSDN&《程序员》杂志同仁(按姓氏排列): 才子英、常政、丁莹、董世晓、杜倩、付江、高松、霍泰稳、贾菡、刘洪洁、刘龙静、孟岩、孟迎霞、欧阳璟、吴志民、熊节、闫辉、郑柯、邹震

1999-2004年间带给我许多启发的新浪IT业界论坛坛友: 书生意气、it99、狂马、青梅、ie98、徐远明、徐远光、徐运光、胡不悦、悠悠散步、网络机器人、Microhelper、纸马、notthreenotfour、宽带应用专家、胡不乐

所有为本书纠错的读者:Cliff PengTiger Gm、绿豆稀饭、Casper张、吴俊峰、Bright Zhang、商雪飞、李云、杨建媛、李勇、Leo Huang、张攀、张艳梅、gs0987Timothy Yeh、深蓝二号、毛灵、陈小青、钟正权、吴刚、许跚、半导体、穆明明、王涛、赵卫、孙晓晔、黄明哲、辛恩平、杜宁军、徐波、徐天保、张云贵、Lyla、汤晓冬、魏光裕、贾顶忠、叶青。

感谢我的太太Sicilia我们好不容易才在一起,没想到婚后却经常吵架,幸好,近年少多了。

最后,感谢不拘一格把我带进中科院研究生院兼职教了很多年课的: 潘辛苹博士。

前言

光阴匆匆似流水,它一去不再回。

《浪子归》;词:黄小茂,曲:崔健,唱:崔健;1985

 

1999年还是一名程序员时,我创建了UMLChina,从那时开始关注软件工程各方面的进展。200112月,阿里巴巴的吴泳铭来email询问是否有UML方面的训练,我开始准备训练材料。20023月,我去杭州给阿里巴巴做了这个训练。虽然与后来我给阿里集团各公司做的许多次训练相比,这第一次讲课从内容到形式都算是糟透了,但是我现在还记得当时的心情――迈出自己事业第一步的心情。

截至目前(20144月),我已经上门为超过210家的软件组织提供需求和设计技能的训练和咨询服务。训练结束后,学员们常会问:“潘老师,上完课后我们应该看什么书?”我总是回答:“先不用看杂七杂八的书,还是要复习我们留下的资料,那些幻灯片、练习题、模型就已经是最好的书了,按照改进指南先用一点点在具体项目上,带着出现的具体困惑和我讨论。”虽然一再这样强调了,有的学员还是经常情不自禁地拿着一本《***UML***》之类的书来问我问题,不管书上说得对不对。看来写在正式出版物上的效果就是不一样。

其实现在出书也不难,UMLChina一直在和出版社合作推介国外优秀的软件工程书籍,目前UMLChina的标记已经出现在三十多本软件工程书籍上。不过我一直没有自己写一本书,主要原因还是觉得积累不够,思考的深度也不够,对软件开发的认识还在不断变化。如果没有自己成型的东西,不能站在别人的肩膀上看得更远,只是摘抄别人的观点,这样的书有什么意义呢?

另外一个原因是,UMLChina后来采取了“隐形、关门”的策略,秉持“内外有别”的原则。我关闭了已经有4万多人的Smiling电子小组(也是为了降低某些风险),网站不再有公开的社区,在网站上也找不到“客户名单”,所有更细致的服务以非公开的方式对会员提供。在这种情况下,出一本书也不是那么迫切。

现在距离第一次提供服务已经超过十年,也有了一些积累,所以硬着头皮也要开始写书了。在这些年的服务过程中,和开发团队谈到改进时,我发现一个有趣的现象:很多开发团队(不是每个团队)或多或少都会有人(不是每个人)或明或暗地表达出这样的观点――自己团队的难处与众不同,奇特的困难降临在他们身上,偏偏别人得以幸免

尽管UMLChina一直强调自己的服务是“聚焦最后一公里”,坚信每一个开发团队都会在细节上和其他团队有所不同,而且也应该有所不同,但很多时候,我还是感觉到,开发团队高估了自己的“个性”,低估了“共性”。本书就是归纳这样一些“共性”,作为我的一家之言,供大家参考。感谢曾经选择我的服务的伙伴们。他们一次次地给我机会来实践、发展和锤炼技艺,才有了这本书。

本书中所讲述的技能集合也是我本人身体力行的。例如,您可能已经注意到,为本书写推荐序正是本书的“老大”,他不是什么大师专家名人,而是一名经历了入职、升职和创业,不断成长的软件开发人员。

在每个知识点,我会提供一些针对该知识点的自测题,除了文字版本,还有可以自行测试的Flash版本,请在出版社网站http://www.tupwk.com.cn/downpage/UMLChina网站 http://www.umlchina.com/book/softmeth.htm下载。

一些书籍作者喜欢在书中每一章的开头放上和该章内容相关的一幅画或一句名人名言,我也效仿一下,不过没那么“高雅”——每章的开头放上和该章内容相关的一句歌词。

书中的模型图,如果是我为了讲解知识而画的,用的建模工具是Enterprise Architect 9.2;如果是截取真实模型的图片,可能会涉及到各种工具。我不像Robert C. Martin那样,女儿已经长大到可以帮画插图,所以书中的手绘插图,我都自己用Wacom笔来画,可能丑了一些,请见谅。

欢迎您对关于本书的任何反馈。我的联系方法如下:

QQ2403816963

QQ群:120670217

邮箱:umlchina@gmail.com

新浪微博:UMLChina潘加宇

微信:

试试下面的自测题,看看您对UMLChina了解多少。                                                        

潘加宇


 

1. UMLChina网站成立于

 A) 1997

 B) 1999

 C) 2001

 D) 2003

2. UMLChina网站一开始中文名字叫做

 A) 软件工程之窗

 B) 系统分析员之窗

 C) 中国UML播种机

 D) UML中国

3. UMLChina曾经发行过一份电子杂志,名字叫做

 A) 架构师

 B) 软件研发

 C) 非程序员

 D) 软件工程


 

4. 《非程序员》一共发行了51期,总计为杂志翻译稿件最多的译者是

 A) 透明

 B) 甄镭

 C) 刘庆

 D) 杨德仁

5. UMLChina现在的宣传口号是

 A) 软件以用为本

 B) 建模带来竞争优势

 C) 软件以人为本

 D) 敏捷!敏捷!我要敏捷!

6. 以下哪一本书上没有“UMLChina”几个字?

 A) mmm2007book1 B)  C)  D)

 E)  F)  G)  H)


7. 以下哪位专家没有在UMLChina做过网络讲座/网络交流?

 A) Kent Beck

 B) Martin Fowler

 C) Grady Booch

 D) Scott W. Ambler

 E) Eric Evans

 F) John Vlissides

 

 

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player


 

感谢纠错

爱你爱我,爱你爱我,我们爱这个错

《我们爱这个错》;词:林隆璇,曲:林隆璇,唱:张信哲;1989

 

指正人

错误

报酬(元)

Cliff Peng

Acrobat错误拼写为Arcobat

5.12

Tiger Gm

1. 省略号不统一,有的是三点,有的是六点,有的是粗的,居中,有的是细的,居下;有的省略号后还带标点,有的则干脆不带。

2. 个别结尾用了"."而不是""..

10.24

绿豆稀饭

“象讲故事”应为“像讲故事”

5.12

Casper

“我已经上门已经为超过160家”多了一个“已经”

5.12

吴俊峰

1. 点击书中的邮件链接,收件人栏后面有个乱码噢(默认邮件客户端是foxmail

2. 我都自己用Wacom笔来画”的wacom下面无链接

3. 激活flash的时候,Question总是显示“1 of 1”,到提交第一题后,会显示实际正确的数字

15.36

注:问题3尚未得到修正

Bright Zhang

建议修改 “韩国人”的讽刺说法

5.12

商雪飞

第四章开头就说“步骤3:现状业务序列图”,应指出步骤12的位置。

5.12

李云

1. 结构图、行为图和交互图在UML中应是抽象概念,是否应用斜体字表示更好呢?

2. P.6,就会体会到中局和布局的重要了。多了个点

3. P.10用例图、文档。文档改为文本更合适

4. P.15如果您平时使用的工具不是EAEA这是第一次出现,应说明一下EA是什么。

20.48

杨建媛

1. 1-5中“Rumbaugh OMT”应该用斜体。其他三个工具都是斜体字,要保持统一。

2. 第三章图的编号中间缺了一个图

10.24

李勇

页码编码不规范,正文页码编码经历了两次编码,利用PDF阅读器页码导航不能正确导航。

5.12

Leo Huang

1. “推荐阅读”P9,从一致性角度出发,推荐书籍的结尾,有的带有“。”,有的则没有。

2. 第一章P5,“新系统只不过是组织为更好提供服务”,比较晦涩难以理解。

10.24

张攀

很多有创新的互联网网站(此处应该加“的需求”三字)不是由网站的用户直接提出来的

5.12

张艳梅

P3:感谢曾经选择过我的服务……

这句话里面的曾经和过有重复之嫌;建议改成“感谢曾经选择我的服务的伙伴们”

P9:增加内容说明中的第一行加了“句号”,其它两行没有;统一下

10.24

gs0987

P106中,"基于二十年多前的现状来改进"应为“基于二十多年前的现状来改进”;

4章中有两个4.4节。

10.24

Timothy Yeh

3.3.3业务用例的第二段 如果穿越回到三百年年前多了个“年”

5.12

深蓝二号

而且也应该有所不同。但很多时候

的句号应改成逗号

5.12

毛灵

1)“业务流程中全是人,那是二十年多前”应该改为“业务流程中全是人,那是二十多年前”

2)“4.6.3  改进三:封装领域逻辑” 这一节中,“目前面向大众的互联网(及移动互联网)如 QQFacebookTwitter,” 这句话里,“互联网(及移动互联网)”后面是否要加“系统”或者其他的名词?

3)“4.7 案例”一节中(155),“如果某个研发总监或培训经理已经询问某过本次公开课的事宜”这句话中的“某”字是否多余?

15.36

杨建媛

有三个地方点击后,用360极速浏览器打开时网址中多了“%7F

15.36

杨建媛

123页。图1-3,建议重新设计,现在看上去跟上下文的文字没什么区别,不知道为什么非要设置成图片。看上去就像直接从PPT拷贝过来的。

229页。Flash答完题后出现【Continue】按钮,点击。预期flash能重启开始答题。实际:flash为空白。

330页。“这项工作造成了很大的冲击”这句话综合上下文,看不明白。给谁造成冲击了?建议加个对象。

432页。两个链接直接点击打不开。用360极速浏览器打开时网址中多了“%7F

532页。目前题注内容的语序有点别扭。一般题注内容都是名词性的短语。建议改为:“UML2.4 图形(根据UML2.4 规范重新绘制)”。

634页。“不代表就可以因为演算工具简陋就可以允许自己胡乱使用符号和概念”。句中有两个“就可以”,重复。

740页。链接点击后打不开。网址中多了“%7F

848页。链接点击后打不开。网址中多了“%7F

953页。这个符号应该为破折号。现在看上去不是,用“——”也搜不出来。

1054页。把“老头老太太”和“狗”并列不妥。建议改为“宠物”。

1165页。格式。建议把“银行”移到“储户”下面。

1274页。“购买链接”没有加链接,不能点。

61.44

陈小青

p.5倒数第5行“1. 业务建模─描述组织内部各系统(人肉系统、机械系统、电脑系统……)如何协作,使得组织可以对外提供服务”。从文字上,好像业务建模无需关注本组织与外部组织之间的关系,该段文字不知是否需要修改?

5.12

钟正权

1P170 本书为了讲解的需要,故意把系统执行者和系统用例分成两次识别,此处只识别系统执行者。实际工作中,系统执行者和系统用例是一起识别的。(“讲解的需要”建议改成“讲解需要”,显得冗余)

2)许多时候,我们象没头苍蝇一样投简历、相亲,却不舍得抽出时间静下来思考“价值”的问题。(“象”建议改成“像”)

3P181 如何避免这样的错误,慢慢学会“说人话”呢?老老实实去研究业务流程,做好业务建模,尽量从业务序列图中映射出系统用例,这样得到的系统用例是不会骗人的。(“慢慢学会“说人话”呢?” 感觉影响整句的通顺)

15.36

吴刚

1)关于你和您的用法问题。

2)关于业务序列图,本章开始的时候显得突兀了一点。

3)关于内图,有的图似乎不在正中,与下面的注释显得比较偏,最好下面的标题都向左移动一点点。

15.36

钟正权

P167:系统执行者只关注谁和这个系统接口,不关心这个谁是重要人物,还是非重要人物,甚至有的执行者不是人,是另一个电脑系统,更谈不上重不重要了。(“甚至有的执行者不是人,是另一个电脑系统”是否改成“甚至有的执行者属于非人肉系统”更合适?“不是人”有点不好吧?而且前面还有一个指定对象。哈哈.......)

5.12

许跚

辅执行者是人肉系统(例如图5-6中的储户)的情况比较少应为图5-16

5.12

钟正权

P9 1. 以下文字和图形....  连续4题均有这句话,而在内容中哪里有图形?是否应该换种说法?例如修改成:“以下描述”

P167:系统执行者只关注谁和这个系统接口,不关心这个谁是重要人物,还是非重要人物,甚至有的执行者不是人,是另一个电脑系统,更谈不上重不重要了。(“甚至有的执行者不是人,是另一个电脑系统”是否改成“甚至有的执行者属于非人肉系统”更合适?“不是人”有点不好吧?而且前面还有一个指定对象。哈哈.......)

25.60

半导体

1)以下句子上下文承接不清楚,双重否定疑问句要表达的是什么呢?(PXIV  Ivar Jacobson 早期的著作,但这不意味着我认为这些书不值得阅读。

2)省略号不能与其他标点符号连用(P4

如:拿自古以来就有的一个系统“人体”来举例。人体对外的功能是会走路,会跑步,会跳跃,会举重,会投掷,会游泳…。但是设计人体的内部结构时,不能从需求直接映射到设计,得到“走路子系统”、“跑步子系统”、“跳跃子系统”…。人体的“子系统”是“呼吸子系统”、“消化子系统”、“血液循环子系统”、“神经子系统”“内分泌子系统”…..

3)此处应为省略号,6个英文格式的句号(P5)

很多时候我们说“本系统分为八大子系统......”,其实说的是“本系统的功能需求分为八大需求包......”需求包是从外部对系统功能所做的简单分包,子系统应根据部件的耦合和内聚切割得到。业务建模─描述组织内部各系统(人肉系统、机械系统、电脑系统......

4)“省略号”和“等” 不可以一起使用,文中已多次出现。 如:第一章(P7)中从Fowler 写作的其他书籍《重构》、《企业应用架构模式》、《分析模式》……等可以知道   

5)六个英文句号标点连续 应为省略号,且省略号不能和其他标点符号连用。如:第一章(P12)中  成员函数(Member Function......

107.52

穆明明

1P20.“你卖高价,他就卖低价,你卖低价,他干脆就开源”   最好改成“你卖高价,他就卖低价,你卖低价,他就干脆开源”读起来顺口

2P20.“关于需求和设计,开发人员可能每一天都在做”  最好改成“关于需求和设计,开发人员可能每天都在做”

3P24.送水工能这样找工作吗:老板,我有心脏管理功能,你请我吧!最好给送水工说的话加上双引号

4P37.非得被打落花流水不可  应该是  “非得被打得落花流水不可”

5P38.这一点后面在“需求启发”一章中再详述。  改为 “这一点在后面“需求启发”一章中再详述。”更好

612P42页 提供 初始Enterprise Architect模型   应该把Enterprise Architect的版本号明确写出

30.72

王涛

“应该”二字应该提前: 但如果患者经过胸腔穿刺后死亡,更应该需要反思的是护士......还是..

5.12

赵卫

1)页码是PDF文件的页数,不是你的下标页数。

2)开发人员在为探索互联网网站的需求而作业务建模时==>做?

10.24

穆明明

1P112 上一张我们得到了待改进组织的业务用例图   张应该改为章

2P168 系统需要和那些其他智能系统交互?  应该是   哪些

10.24

孙晓晔

1P6 1-3中,“为了提供功能,系统内部应该有的什么样的核心机制”

2P7 最后一行“鉴于Fowler在某些社群的心目中有如大神一般存在”,应该是“犹如”吧?

3P18 第二段最后一行“潜意识里不原意直面UML的深层原因”

4P33 3段,“同理,NB市国土资源局的人员里中有车友,也有驴友”

5P69,储户到银行的目的是有哪些?可能是存款、取款、转账,建议改成“储户到银行的目的是什么”

25.6

2)改为“如”

黄明哲

以下两个小节的标题似乎步骤序号重复了?

5.2 【需求步骤 2-1】识别系统执行者”

5.3 【需求步骤 2-1】识别系统用例”

5.12

陈小青

原文第46页:

2-12 演员(Actor)在台上表演用例(Use Case),观众(涉众,Stakeholder)在台下看

建议修改文:

2-12 演员(执行者,Actor)在台上表演剧目(用例,Use Case),观众(涉众,Stakeholder)在台下看

5.12

辛恩平

P185:玩票式的钻研,在真正专注研究这个领域的研究者看来,实在是不值一题。但是人性的弱点如此,正如钱钟书所说:人和蝙蝠不同,人喜欢在兽群里当鸟,在鸟群里作兽。

"不值一题" 应改为 "不值一提"

P199:系统没有提供这样一个功能,领导输入一个准确度,提交,刷的一下,防汛决策准确度就提高了。

"刷的一下" 改为"唰的一下"是否正确点?

P224:正是在这些涉众利益的交锋之下,目前我们日常生活中所看到的取款机的用例片断大概如下:

搜索了一下全文, 发觉文章中既有用"片断" 也有用 "片段"的地方,是否应该统一一下??

P230:能不能在考虑厂领导“规范”的利益的同时,考虑操作工“象手写一样方便”的利益呢?

""应改成""

20.48

杜宁军

1. 6页,4. 设计-将核心域知识...指的是这狭义的“设计”。“这”字是多余的。

2. 15页,图1-6中的状态机图,和其余文字描述状态图不一致,保持一致更好。

10.24

王涛

P139 非人系统 少了一个“肉”字。建议改为非人肉系统

5.12

徐波

给出了用例名折行的做法

5.12

徐天保

2.42.5节顺序反了

5.12

Lyla

1.PXXII  “《数据模型资源手册(修订版)卷2》,Len Silverston 著,林友芳 等 译,机械工业出版社,2004。”上面有大片空白;

2.P5  “同样,也不能从设计推导出需求─因为人有心肝脾肺肾”中“需求”后面的“—”应该统一改为“——”,降低混淆(包括所有的“—”);

10.24

汤晓冬

医院里“胸腔穿刺”,应该是由医生,通常是肿瘤内科住院医生操作,也可能是主治医生,而不是护士操作。

5.12

魏光裕

书中130页,“可以注意到,图4-66”中的图4-66应为图4-67

5.12

贾顶忠

书中74页,“获取资料”应为业务用例图标

5.12

魏光裕

P89页,“又如图4-17,销售专员在使用CRM系统。。。”是不是应该为“又如图4-17,销售支持在使用CRM系统。。。”

P104页,Message Propertities应为Message PropertiesMessage Dropertities应为Message Properties

P195页,大家可以尝试用“不这样行吗”这个标准去过滤以下以前写的“需求”

是不是应该为:

大家可以尝试用“不这样行吗”这个标准去过滤一下以前写的“需求”

P192页,系统如何构造不属于需求描述的范围,除非是涉众强加的设计约束。

是不是断断句比较好理解:

系统如何构造,不属于需求描述的范围,除非是涉众强加的设计约束。

P147页:

用例之前的许多需求方法学,把需求定义为思考系统“做“什么,用例把需求提升到思考系统“卖什么”的高度。

--这个地方的 “做“什么,为了和下面的“卖什么”对应,改为 ”做什么“ 是不是好一些?

P136页 步骤8中:双击loop框,在弹出属性框中把”Condition所有联系人“改为”所有符合通知条件的联系人“

--Condition所有联系人“  改为  Condition框中”所有联系人“  是不是好一些?

30.72

王征

推荐序第III页“利润=需求-设计” 标点有误

5.12

叶青

把图4-44的“制作网页”到“通知联系人”合并为一组消息更合适

4-26 接收汇款凭据 应该改为 确认听课座位

10.24