【探索需求对话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。这当然是错误的。涉众是客户,你应该为客户提供服务,而不是让他们来服务你。你的工作就是为客户服务。

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

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

UML与需求分析

UML与需求分析 基本概述     常常会听到这样一句话,客户需要的是一把梯子,系统分析师了解到的是一张凳子,开发人员做出来的是一张桌子。由此可以看出需求分析的准确性和正确性的重要之处。   ...
  • q547550831
  • q547550831
  • 2016年01月15日 13:42
  • 1865

UML 需求建模基础与实例

需求:计算机能做的事及品质。 分为:1)功能需求 2)非功能需求(性能、可靠性、安全、扩展性、可伸缩性) 3)约束(环境) 层次:1)业务需求(问题的定义,与计算机无关) 2)用户需求(人、客户的角度...
  • Alexander_Frank
  • Alexander_Frank
  • 2016年04月26日 10:56
  • 1476

uml 在需求分析阶段的应用

上一篇博客写了uml在软件开发过程中的应用,这以篇要详细介绍一下UML在需求分析过程中的应用。 以机房收费系统为例进行讲解,先介绍一个该系统。 首先该系统的用户分为三个等级,一般用户,操作员,管理员,...
  • zhanghongjie0302
  • zhanghongjie0302
  • 2013年11月18日 20:11
  • 5455

UML与需求分析进阶

UML与需求分析进阶 需求分析全过程 第一阶段:战略分析 1、为什么会有这样一个项目? 2、客户为什么想做这个项目? 3、公司为什么会接这个项目? 4、公司在这个项目上...
  • q547550831
  • q547550831
  • 2016年01月17日 12:10
  • 1356

国内外需求管理工具使用感悟!

需求管理(REQM,Requirements Management)属于成熟度2级(受管理级)的过程域,是其他许多过程域实施的前提。对于暂未实施CMMI的企业,同样也可以借鉴CMMI的原则,实施和优化...
  • kingboy123000
  • kingboy123000
  • 2015年07月09日 10:41
  • 23857

《火球——UML大战需求分析》(第1章 大话UML)——1.3 行为型的UML(Behavior Diagram)

UML图分结构型和行为型两种图,这次将为你分享行为型(Behavior Diagram)的UML图,让你在15分钟内就可以对活动图(Activity Diagram)、状态机图(State Machi...
  • u010825142
  • u010825142
  • 2013年09月02日 16:02
  • 3042

UML在需求分析与系统设计中之实战讲解(完整UML图形演示)

小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念、图形的元素和属性,以及图形的画法都不能说不熟悉。但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并...
  • dyllove98
  • dyllove98
  • 2013年08月07日 18:23
  • 6559

关于“工具、文档、需求管理、Bug跟踪”

一、工具 这里的工具指的对项目管理、开发或维护有帮助的软件工具、代码段、类库等。比如公司内部开发的成熟的控件或类库、Log4net日志类库、文件对比工具Beyond Compare、源码查看工具So...
  • fyhuihack
  • fyhuihack
  • 2013年02月20日 10:36
  • 1621

高级软件需求分析师

在以质量为核心的软件过程中,需求分析是提升产品质量的关键,改进需求工程的品质,提高需求收集与分析的技巧,成为提升软件质量的关键因素。为此,培训中心特举办“高级软件需求分析师”培训,具体通知如下: 一...
  • shenmanli
  • shenmanli
  • 2013年10月30日 09:51
  • 978

UML在项目实施中的使用心得(需求分析阶段)

与其说是使用心得,不如说是再次研究了UML后,结合10多年的项目经验以及看到的项目所进行的纸上推演。这种推演能够让我对UML在未来项目实施中到底该怎么用、用到什么程度有一个相对更清晰的概念,因此写此文...
  • totuswhf
  • totuswhf
  • 2014年04月09日 19:42
  • 2813
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【探索需求对话1】CMM只是一种标准,UML只是一种记录需求的工具
举报原因:
原因补充:

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