English

2001年度开发大奖《编写有效用例》

2002-11-20 来源:中华读书报 刘艺 肖成海 我有话说

在两年前,国内绝大多数企业还在考虑、论证UML的可用性及在实际开发工作中的可操作性的时候,一次偶然的机会看到了Alistair Cockburn的《Write effective use case》部分章节,我为之一振。今天看到了机械工业出版社华章公司引进翻译的《编写有效用例》,我同样感到兴奋不已,并一直认为这是一本系统分析员不可缺少的必备书,也正是这个原因使我认真读完了这本书。

《编写有效用例》是获2001年度开发大奖(Productivity Award)的图书。作者Alistair Cockburn凭借自己在面向对象领域的丰富的经验并参考其他专家的良好建议,扩展了典型的用例处理方法,为软件开发人员编写用例提供了一种“基本、具体和实用的”指南。虽然中译本在国内出版有点晚,但这本书作为专门针对用例编写的“圣经”却有着不可取代的地位,值得所有信奉UML的开发人员虔诚拜读。

在软件开发过程中,如何沟通用户和开发人员,构建符合用户需求并可以实现的系统模型是许多大型项目成败的关键。随着系统开发规模和难度的不断增大,系统分析员的特殊功能凸现出来,成为软件开发团队中最重要的角色。实际上,每一位真正的系统分析员都谙悉“软件开发过程(process)是一个将用户需求转化为软件系统所需要的活动的集合”。显然,软件系统是为服务用户而出现的,系统分析员所起的作用就是将用户需求转变成软件需求的桥梁。需求的本质就是5W的问题,怎样快速、有效、准确、全面的解决他们是每个系统分析员一直努力追求的梦想。直到“用例”概念的推出和广泛使用,才为需求和需求建模等一系列问题提出了一个优秀的解决方案。

在20世纪60年代后期,“用例”的概念首次被Ivar Jacobson提出。进入20世纪80年代后期,用例被引进到面向对象编程领域,成了系统分析员工作中谈论最多的话题之一。特别是Ivar Jacobson、Grady Booch、James Rumbaugh三位UML鼻祖在RUP(瑞理统一过程)中提出三个关键词——用例驱动、以架构为中心、迭代和增量,将用例在软件开发过程中的重要性放到了首位。

尽管“用例驱动”已经是OOA/D(面向对象分析和设计)中的一个重要原则,但在实践中却难一蹴而就。怎样去描述、表达、使用用例,怎样去发现系统涉及的用例,怎样去度量用例的粒度和数量,这些实践中的难题往往使我们又陷入另一个困境中。

由于在国内的软件企业中,真正采用软件工程方法进行开发的并不多,所以我们绝大多数开发人员对用例的了解和使用基本上还停留在理论和实验阶段,以致连有些软件工程专家也在怀疑UML和用例是否可以真正具有实用价值。不久前在《程序员》杂志上引发的一场UML建模与全程建模的争论就说明了这一点。

在阅读《编写有效用例》这本书中,你会发现,其实用例作为UML实践的关键一环其本身就对可用性做了最好的论证。在书中大量的实际用例分析的环境中,许多对于用例的误解和怀疑都将不攻自破。因为这本书的实例都是来自实践,字里行间传达着实践出真知的道理。

实际上,当我们看到别人编写的用例时,并不觉得这是一项很难的工作,然而当自己去做这项工作时,往往会发现自己编写的是一大堆用例并没有多少价值。记得Timothy Korson博士曾经在“用例的使用误区”一文中讲过一个规模很大的项目开发中超过1000名开发人员花50万美元写出12,386个无用“用例”的可笑故事。其实作者提到的这个真实而可悲的故事,在我们高涨的OOA/D热情下完全可能重现。不少自称为OO高手的开发人员实际上并不知道如何编写有效用例,他们编写用例的经验仅仅来自于对教科书上那些简单例子的模仿。有些人在多次失败后甚至怀疑用例在开发实践中的意义和价值。由此看来,在UML实践中,像《编写有效用例》这种针对性很强的技术指南实在是太少了。在读完了《编写有效用例》这本书之后,如果你还有兴趣对照书中的方法和实例重新研习自己写过的用例,肯定会发现不少疑虑、问题都会迎刃而解。这就是《编写有效用例》一书的真正魅力之所在——让读者在阅读和实践中提高编写有效用例的能力。

《编写有效用例》包含了四部分,即“引言”、“用例体部分”、“经常讨论的主题”和“对忙于编写用例人的提示”,每一部分都是由若干章节组成,都有一个主题。本书的附录是对UML知识的一个总体的介绍和总结,并提出了使用他们的一些原则。

附录B给出了书中练习的部分答案。在附录C中对书中的部分名词进行了解释或定义。使人们更能清楚的阅读和理解本书的内容。

本书的读者,作者在书中明确指明,是针对业界的专业人士而著,即有志于系统、需求分析的人们。当然,对于系统分析员,这本书是案头必备的。

另外,从本书所用的实例来看,都是取自实际项目,有很强的实践指导性。更可贵的是这本书每一部分都包括了概念、示例、提示和练习及部分答案。毋庸置疑,《编写有效用例》是一本难得的关于系统需求分析方面的技术指南类书籍。至少我个人认为,该书在我的实际工作中使我受益匪浅。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有