【探索需求对话1】CMM只是一种标准,UML只是一种记录需求的工具

原创 2004年08月03日 11:28:00

探索需求对话<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

潘加宇 熊妍妍 / 翻译整理

 

本文刊登在2004年6月《程序员》杂志上,版权所有,未经许可,禁止任何形式的转载,违者必究!

 

2004319日,温伯格先生应邀在UMLChina通过远程音频与开发人员做了一次有关“探索需求”的交流,很多开发人员都受益颇多。为此,我们翻译整理了这次交流实录,从中我们可以体会到大师的思想。

 

CMM只是一种标准,UML只是一种记录需求的工具

CMM能帮我们吗?

我想这样回答:CMM能帮你,也能害你,就看你对它的期望是什么。在美国,很多人从CMM中获益良多,同样,也从UML中获益良多。在很多时候,很多人未能得益于CMMUML,是因为他们不适当地使用CMMUML,或者期望从中得到太多。所以,要适当地应用这些工具。

我们先说CMMCMM是你在开发软件时应该考虑的东西的列表。如果你不考虑这些东西,你可能正在犯一个大错误。虽然说光做这些事情是不够的。在很多美国公司,你付给他们钱,他们会填好CMM的表格,然后你就达到某个级别了。他们这样做是因为只有当你的认证达到了某个级别后,某些美国公司和政府机构才会与你签约开发软件。他们这样做是错误的,CMM级别不能保证任何事情,如果你采用别的途径能达到目的,CMM对你就没用了。CMM只是一个标准,使一些人认为你们是更好的软件工程师,比实际上的水平更好。要让CMM帮到你,你必须了解每项实践的含义,开发你自己的方法来设身处地实现。CMM不会明确告诉你每项必须做的实践是怎样做的,相反,它更多地告诉你要完成什么,不管通过什么方法来完成,都是好的。

我们发现涉众(stakeholder)不理解我们的UML图。

这个问题在美国这里也很普遍。UML是为技术人员设计的工具,帮助技术人员来准确地捕获需求。它很大程度上是技术性的,对大多数客户或涉众来说,太技术性了。很多涉众不能理解它,实际上也不需要理解它。必须翻译给他们。如果你希望你的涉众懂得UML,你就误解了UML这个工具和如何使用UML

如何使用用例来捕获需求?

UML是一种方法。当然,它不是捕获需求的方法,而是记录需求的方法。你应该明白这两者的差别。捕获需求这个过程只能够发生在人和人之间,可能是很多人,一大群涉众。他们使用自然语言,例如,你们用汉语,我们用英语。如果你不能精通你自己的语言,UML不会在捕获需求方面给你提供任何帮助。我们看到过很多事例:工程师们认为涉众应该懂得UML,但实际不是,因此他们就责备涉众不懂UML。这当然是错误的。涉众是客户,你应该为客户提供服务,而不是让他们来服务你。你的工作就是为客户服务。

您对“软件工艺”如何看待?

好的。我的观点是,对于开发,特别是开发软件,绝对是一种工艺。那些开发者是工匠、艺术家。我总是在人群中寻找工匠,比如找他们来做项目。但我不能通过问一些问题或观察一些事情来判断他们是不是一名工匠。例如,告诉你一些我自己的事情吧。我曾经打过家具。我是从父亲那里学到这门和木头打交道的手艺的。如果打算去买一些材料来做家具,可以四处看,我可以看到一些标志性的东西,告诉我这是否是一家好的家具店。我建议软件人员尝试更多的工匠术语,如工具、家具之类的。在软件业中道理是同样的。你注意到他们的工具了吗?他们是否为每项工作选择了正确的工具?他们是否会适当地使用他们的工具?一名好的工匠不会责备他的工具,因为选择正确的工具,并保持它的锋利和干净,是工匠的职责。如果他做不到这一点,他就没有什么好抱怨的。

CMM只是一种标准,UML只是一种记录需求的工具

CMM只是一种标准,UML只是一种记录需求的工具CMM只是一个标准,要让CMM帮到你,你必须了解每项实践的含义,开发你自己的方法来设身处地实现。CMM不会明确告诉你每项必须做的实践是怎样做的,相反,它...
  • qq_net
  • qq_net
  • 2004-08-14 21:25:00
  • 752

编程语言只是工具

好久没写blog了。近来有不少的优化需求,小孩子感冒还请了4个半天的假。落下了很多        谈谈最近的心得:编程语言只是工具而已。        事情是这样,最近公司有一个游戏的项目...
  • wangxueming
  • wangxueming
  • 2016-11-25 15:54:10
  • 1092

语言仅仅是一种工具

一:起因: (1)你有没有这样类似的经历: 自己总是飘忽不定,什么都想学,却什么都学的不深,有一样东西你坚持学超过1个月了吗?自己唯一的技能能上的了场面的也是在工作的压力下学的,自己那么多的业余时间学...
  • u010700335
  • u010700335
  • 2015-02-10 18:54:23
  • 1169

谈编程语言

作为开放源码促进会的领袖人物,埃里克·雷蒙德一直在商界努力为老一代的Unix的程序员和越来越多的Linux的拥护者之间搭建一座桥梁。而且他 的这一思想与他写的“新黑客字典”一书的内容不谋而合,该书19...
  • tan124
  • tan124
  • 2009-08-21 18:37:00
  • 298

我之理解--谈编程语言

现在世面上的编程语言实在太多了,系统底层方面的有C,C++,汇编,网络方面的有JAVA,C#,动态语言的有javascript,pthy,ruby等.编程语言只是一种工具,去实现某种目的的工具,所有语...
  • EndAll
  • EndAll
  • 2007-08-20 17:40:00
  • 963

编程语言之争:我感觉自己被害了

有很多年,我都认为编程语言只是一种工具,练到一定的程度自然可以超越语言本身,至于你使用哪种工具就显得不是很重要了。就如武侠小说中的各门各派的武功各有长短,但每个门派的武功练到极致都可以成为万人敬仰的大...
  • zoomla188
  • zoomla188
  • 2017-03-07 09:43:01
  • 177

需求一句话

近期,经常出现需求一句话的现象。说来这个也真真的满满的都是泪呀!      刚开始来的时候,技术经理让我开发模块的时候,还好歹有个文档(默默地吐槽,虽然这个文档写的真心的不咋滴。),可慢慢的熟悉模块...
  • u013043518
  • u013043518
  • 2016-08-15 13:22:28
  • 491

活着就是一种状态而已

活着就是一种状态而已。 我受够了生活的折磨,不知什么时候会结束生命。 生活它究竟是个什么东西...
  • u010907036
  • u010907036
  • 2016-11-16 23:02:03
  • 424

需求管理详解

 需求和需求管理为什么需要管理需求?简单地说,系统开发团队之所以管理需求,是因为他们想让项目获得成功.满足项目需求即为成功打下了基础.若无法管理需求,达到目标的几率就会降低. 以下最近收集的证据很有说...
  • jiangxinyu
  • jiangxinyu
  • 2007-10-30 13:33:00
  • 609

薪水只是工作的一种回报方式

 现在很多年轻人将工作视为一种等价交换,他们认为我在公司干活,公司付我一份报酬,仅此而已。他们看不到工资以外的价值,更看不到工作本身对自己的人生意义。他们因现在的工作与在校时的理想差距很大,事业心受挫...
  • sunshineparasol1
  • sunshineparasol1
  • 2008-09-23 08:57:00
  • 349
收藏助手
不良信息举报
您举报文章:【探索需求对话1】CMM只是一种标准,UML只是一种记录需求的工具
举报原因:
原因补充:

(最多只允许输入30个字)