编写有效用例[按需印刷]
基本信息
- 原书名: Writing Effective Use Cases
- 原出版社: Addison Wesley
- 作者: (美)Alistair Cockburn [作译者介绍]
- 译者: 王雷 张莉
- 丛书名: 软件工程技术丛书/需求分析系列
- 出版社:机械工业出版社
- ISBN:7111110900
- 上架时间:2002-11-29
- 出版日期:2002 年9月
- 开本:16开
- 页码:223
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 软件需求
内容简介回到顶部↑
在本书中,作者alistair cockburn凭借自己在面向对象领域的丰富经验,并参考其他专家的良好建议,扩展了典型的用例处理方法,为软件开发人员编写用例提供了一种“基本、具体和实用的”指南。本书完整地叙述了有关用例的初级概念、中级概念以及高级概念,并提供了大量的好用例和坏用例的编写实例。
本书荣获2001年度美国“软件开发”杂志的productivity award奖,是一本概念清晰、结构完整、内容丰富的专业图书,适用于不同知识层次的软件工程研究和用例编写人员。
[a href="http://www.china-pub.com/computers/bookreview/review/bookreview.07066.htm" target="_blank"][font color="#cc0000"]实践出真知--评读《编写有效用例》[/font][/a]
[table width="100%" border="0" cellpadding="0" cellspacing="0"] [tr] [td] [div align="center"][font color="#cc0000"]it之源推出国内首个面向对象需求分析课程[/font]
[a href="http://www.iturls.com/uml/umltraining.htm" target="_blank"][font color="#0000ff"]“用例与uml需求工程”[/font][/a][/div] [/td] [/tr] [/table]
[a href="http://www.china-pub.com/computers/bookreview/review/bookreview.07066.htm" target="_blank"][font color="#cc0000"]实践出真知--评读《编写有效用例》[/font][/a]
[table width="100%" border="0" cellpadding="0" cellspacing="0"] [tr] [td] [div align="center"][font color="#cc0000"]it之源推出国内首个面向对象需求分析课程[/font]
[a href="http://www.iturls.com/uml/umltraining.htm" target="_blank"][font color="#0000ff"]“用例与uml需求工程”[/font][/a][/div] [/td] [/tr] [/table]
作译者回到顶部↑
本书提供作译者介绍
王雷,男,1969年生,博士。北京航空航天大学计算机科学与工程系副教授,从事软件工程、过程工程和系统软件等方面的研究工作。曾获部级科技进步二等奖、三等奖各一项。
张莉,女,1968年生,博士。北京航空航天大学计算机科学与工程系教授,软件工程研究所副所长。主要从事软件工程、过程工程、企业/软件建模等的研究。1996年博士学位论文被评为北京计算机学会第三届博士优秀学位论文,1998~2000年任863/CIMS石化行业专家组成员,2001年入选北京市科技新星计划,2001年获得“中.. << 查看详细
张莉,女,1968年生,博士。北京航空航天大学计算机科学与工程系教授,软件工程研究所副所长。主要从事软件工程、过程工程、企业/软件建模等的研究。1996年博士学位论文被评为北京计算机学会第三届博士优秀学位论文,1998~2000年任863/CIMS石化行业专家组成员,2001年入选北京市科技新星计划,2001年获得“中.. << 查看详细
目录回到顶部↑
第1章 引言 1
1.1 用例是什么(梗概) 1
用例1 通过万维网购买股票 2
用例2 汽车交通事故索赔 3
用例3 对运到的包装箱进行登记 4
1.2 你的用例不能作为我的用例 5
用例4 买东西(非正式版本) 7
用例5 买东西(完整正式版本) 7
◆ steve adolph 在新领域中“发现”需求 10
1.3 需求和用例 11
图1-1 “轮辐和轮轴”需求模型 12
1.3.1 用例作为项目连接结构 13
1.4 用例的增值点 13
1.5 合理安排你的精力 14
1.6 先用一个系统使用叙述热身 15
1.7 练习 16
第一部分 用例体部分
第2章 用例是规范行为的契约 19
2.1 具有目标的执行者之间的交互 19
2.1.1 执行者具有目标 19
1.1 用例是什么(梗概) 1
用例1 通过万维网购买股票 2
用例2 汽车交通事故索赔 3
用例3 对运到的包装箱进行登记 4
1.2 你的用例不能作为我的用例 5
用例4 买东西(非正式版本) 7
用例5 买东西(完整正式版本) 7
◆ steve adolph 在新领域中“发现”需求 10
1.3 需求和用例 11
图1-1 “轮辐和轮轴”需求模型 12
1.3.1 用例作为项目连接结构 13
1.4 用例的增值点 13
1.5 合理安排你的精力 14
1.6 先用一个系统使用叙述热身 15
1.7 练习 16
第一部分 用例体部分
第2章 用例是规范行为的契约 19
2.1 具有目标的执行者之间的交互 19
2.1.1 执行者具有目标 19
译者序回到顶部↑
Ivar Jacobson首先提出了“用例”的概念。在20世纪80年代后期,他将用例引入了面向对象编程领域。目前,用例在描述系统行为需求、软件系统或业务流程等方面被广泛使用。
Alistair Cockburn是一位面向对象领域的著名专家,Humans and Techology的资深顾问,在挪威中央银行和IBM等公司有20多年的项目管理经验。本书荣获了2001年度美国《软件开发》杂志的“Jolt and Productivity Award”奖。这个奖项奖励本年度全球软件业最杰出的技术和书籍,共分六大类,其中有一类是图书。2001年全球只有4本书获得了“Jolt and Productivity Award”奖,最优秀的图书荣获“Jolt Award”奖,其余3本书共享“Productivity Award”奖。本书获得的就是2001年度“Productivity Award”奖。
书中给出了用例编写和培训中的一些指导性原则,完整地介绍了用例的基本概念,提出了项目相关人员和利益模型,提供了大量的正反两方面实例。本书概念清晰、结构完整、内容丰富,适用于不同知识层次的用例编写人员。
本书内容较新,限于我们的翻译水平,书中不可避免有疏漏和错误的地方,望读者指正。
本书的翻译过程中得到了很多人的帮助,参加翻译工作的还有田丽从、高晖、陈枝清和李淼,在此对他们表示感谢!
译 者
2002年8月
Alistair Cockburn是一位面向对象领域的著名专家,Humans and Techology的资深顾问,在挪威中央银行和IBM等公司有20多年的项目管理经验。本书荣获了2001年度美国《软件开发》杂志的“Jolt and Productivity Award”奖。这个奖项奖励本年度全球软件业最杰出的技术和书籍,共分六大类,其中有一类是图书。2001年全球只有4本书获得了“Jolt and Productivity Award”奖,最优秀的图书荣获“Jolt Award”奖,其余3本书共享“Productivity Award”奖。本书获得的就是2001年度“Productivity Award”奖。
书中给出了用例编写和培训中的一些指导性原则,完整地介绍了用例的基本概念,提出了项目相关人员和利益模型,提供了大量的正反两方面实例。本书概念清晰、结构完整、内容丰富,适用于不同知识层次的用例编写人员。
本书内容较新,限于我们的翻译水平,书中不可避免有疏漏和错误的地方,望读者指正。
本书的翻译过程中得到了很多人的帮助,参加翻译工作的还有田丽从、高晖、陈枝清和李淼,在此对他们表示感谢!
译 者
2002年8月
前言回到顶部↑
为了描述行为需求、软件系统或业务流程,用例正在被越来越多的人所使用。初听起来,编写用例似乎是件很容易的事—只需要写清楚如何使用系统就可以了。但是,当提笔编写时,首先碰到的问题就是:“到底应该写些什么?多写一些?还是少写一些?详细程度如何?”这些问题确实很难回答。编写用例就像写散文一样,全部困难在于既要采用单调的写作方式,又要富有完美的表达能力。很难说什么样的用例是好的用例,但是我们却可以去考虑:如何去写,才能写出好的用例。
本书给出了我在用例编写和培训中总结出的一些指导性原则:应该如何思考,需要作何观察,最终写出更好的用例和用例集。
本书还给出了大量的例子,既有好的用例,也有不好的用例,以及在不同情况下的编写方式。最重要的是要记住,我们需要的是有用的用例,而不必是一个最好的用例。有时即使是很平常的用例也很有用,甚至远胜于编写许多需求文档。所以无需太紧张,只要写出的东西可读,就说明你已经作出了贡献。
本书的读者
本书主要是针对业界专业人员自学而编写的,因此在组织方式上也有所侧重,就像一本自学指南。本书由浅入深,每一部分都包括概念、示例、提示和练习(以及部分答案)。
编写用例的培训教师应给出适当的解释和示例。课程设计人员可以围绕本书设计课程资料,在必要时作为指定读物发布(由于我对许多练习都给出了答案,因此他们必须编写属于自己的考试材料)。
本书的组织
本书开始部分是一般性的引言,之后对用例体部分进行了更详细的阐述,然后是常见的问题,对忙于编写用例的人的提示,以及最后的注意事项。
“引言”部分对重要概念作了初步介绍,依次讨论了以下问题:“用例是什么样的?”、“何时编写用例?”和“什么样的用例是合法的?”。所有问题的答案都是根据具体情况(如时间、地点、人员及编写的理由等)而确定的。关于这几个问题的讨论虽从本章开始,但实际上贯穿本书。
“第一部分,用例体部分”,由若干章组成,分别阐述了需要掌握的重要概念,以及应编写的模板。这些章包括“用例是规范行为的契约”、“范围”、“项目相关人员和执行者”、“三个命名的目标层次”、“前置条件、触发事件和保证”、“场景和步骤”、“扩展”、“技术和数据的变化”、“连接用例”和“用例格式”。
“第二部分,经常讨论的主题”,列举了反复出现的特殊问题:“什么时候才算完成了?”、“扩展到多个用例”、“CRUD和参数化用例”、“业务过程建模”、“遗漏的需求”、“用例在整个过程中的作用”、“用例概述和极端编程”和“错误改正”。
“第三部分,对忙于编写用例的人的提示”,包含了一组提示,针对那些已经阅读完本书,或者已经了解这些资料,想要回顾一下关键概念的人们。这部分包括:“对每个用例的提示”、“对用例集的提示”和“处理用例的提示”。
本书概念的来源
在20世纪60年代后期,Ivar Jacobson在爱立信公司电话系统工作时提出了后来成为众所周知的“用例”。在20世纪80年代后期,他将用例引进了面向对象编程领域,在面向对象编程领域内人们认识到用例可以填补需求分析过程中一个明显的空白。我在20世纪90年代初参与了Jacobson的课程。他和他的小组没用我所使用的目标(goal)和目标失败(goal failure)这两个词,但最后我终于明白了他们曾经使用过类似的概念。经过几次比较,他和我都发现我们两个模型之间没有显著的区别。我慢慢地根据最近的想法扩展了他的模型。
在1994年我为IBM顾问组编写用例指南时,建立了执行者(Actor)和目标(Goal)概念模型。从而把用例中一些难以理解的事情解释清楚了,并且为如何构造和编写用例提供了指导。从1995年开始,执行者和目标模型就在http://members.aol.com/acockburn以及后来的www.usecase.org中正式使用,最后出现在1997年《面向对象编程杂志》上我写的一篇文章中,题为“构造带目标的用例”。
从1994年到1999年,尽管在理论上还有几个松散的分支,但用例模型的概念基本保持稳定。在教授和培训过程中,我终于明白了人们为什么在简单的概念上花费了大量时间(我竟然从来没想到,我第一次尝试时也犯过很多同样的错误!)。这些想法,加上执行者和目标模型中一些不合理之处,产生了本书以及项目相关人员(Stakeholder)和利益(Interest)模型,该模型是本书提出的一个新概念。
统一建模语言(Unified Modeling Language, UML)对这些概念只有很小影响,反之亦然。Jacobson以前的一个同事Gunnar Overgaard编写了大量UML用例的资料,并且保持了Jacobson的风格。然而UML标准开发组受画图工具的影响很大,以至于用例的文本特征在标准中消失了。Gunnar Overgaard 和Ivar Jacobson讨论了我提出的概念,并向我保证这些关于用例的大部分概念都适合于放在UML的一个椭圆图中,因此既不会影响UML,也不会受UML标准所提出的概念影响。这意味着你可以使用本书的概念,并与UML 1.3用例标准兼容。另一方面,如果你只读了UML标准,由于它根本没有讨论用例的内容以及如何去编写,那么你也不知道用例到底是什么、如何使用,并且还可能产生一个危险的想法,即用例是由图形而不是由文本构成的。本书的目的是告诉你如何编写有效的用例,而标准很少谈及这些内容,因此我把对UML的评述单独地放在附录A中。
本书所用的实例
本书编写的实例尽可能取自实际项目,并且有些实例看起来可能不太完美。我所要展示的是,这些实例对项目组的需求来说已经足够了,并且用例编写过程中的那些不完美之处是在误差和经济允许的范围内。
Addison-Wesley的编辑们说服我把这些实例从原有形式中整理出来,以便强调它们正确的形式,而不是它们实际的和可用的形式。希望你通过阅读这些实例发现一些有用之处,并了解项目中的实际编写过程。你可以应用我在这些实例中采用的一些规则,并找到改进它们的方法。这种事情经常发生。因为改进一个人编写的实例是一件永无止境的事情,所以我接受这个挑战和任何批评意见。
本书给出了我在用例编写和培训中总结出的一些指导性原则:应该如何思考,需要作何观察,最终写出更好的用例和用例集。
本书还给出了大量的例子,既有好的用例,也有不好的用例,以及在不同情况下的编写方式。最重要的是要记住,我们需要的是有用的用例,而不必是一个最好的用例。有时即使是很平常的用例也很有用,甚至远胜于编写许多需求文档。所以无需太紧张,只要写出的东西可读,就说明你已经作出了贡献。
本书的读者
本书主要是针对业界专业人员自学而编写的,因此在组织方式上也有所侧重,就像一本自学指南。本书由浅入深,每一部分都包括概念、示例、提示和练习(以及部分答案)。
编写用例的培训教师应给出适当的解释和示例。课程设计人员可以围绕本书设计课程资料,在必要时作为指定读物发布(由于我对许多练习都给出了答案,因此他们必须编写属于自己的考试材料)。
本书的组织
本书开始部分是一般性的引言,之后对用例体部分进行了更详细的阐述,然后是常见的问题,对忙于编写用例的人的提示,以及最后的注意事项。
“引言”部分对重要概念作了初步介绍,依次讨论了以下问题:“用例是什么样的?”、“何时编写用例?”和“什么样的用例是合法的?”。所有问题的答案都是根据具体情况(如时间、地点、人员及编写的理由等)而确定的。关于这几个问题的讨论虽从本章开始,但实际上贯穿本书。
“第一部分,用例体部分”,由若干章组成,分别阐述了需要掌握的重要概念,以及应编写的模板。这些章包括“用例是规范行为的契约”、“范围”、“项目相关人员和执行者”、“三个命名的目标层次”、“前置条件、触发事件和保证”、“场景和步骤”、“扩展”、“技术和数据的变化”、“连接用例”和“用例格式”。
“第二部分,经常讨论的主题”,列举了反复出现的特殊问题:“什么时候才算完成了?”、“扩展到多个用例”、“CRUD和参数化用例”、“业务过程建模”、“遗漏的需求”、“用例在整个过程中的作用”、“用例概述和极端编程”和“错误改正”。
“第三部分,对忙于编写用例的人的提示”,包含了一组提示,针对那些已经阅读完本书,或者已经了解这些资料,想要回顾一下关键概念的人们。这部分包括:“对每个用例的提示”、“对用例集的提示”和“处理用例的提示”。
本书概念的来源
在20世纪60年代后期,Ivar Jacobson在爱立信公司电话系统工作时提出了后来成为众所周知的“用例”。在20世纪80年代后期,他将用例引进了面向对象编程领域,在面向对象编程领域内人们认识到用例可以填补需求分析过程中一个明显的空白。我在20世纪90年代初参与了Jacobson的课程。他和他的小组没用我所使用的目标(goal)和目标失败(goal failure)这两个词,但最后我终于明白了他们曾经使用过类似的概念。经过几次比较,他和我都发现我们两个模型之间没有显著的区别。我慢慢地根据最近的想法扩展了他的模型。
在1994年我为IBM顾问组编写用例指南时,建立了执行者(Actor)和目标(Goal)概念模型。从而把用例中一些难以理解的事情解释清楚了,并且为如何构造和编写用例提供了指导。从1995年开始,执行者和目标模型就在http://members.aol.com/acockburn以及后来的www.usecase.org中正式使用,最后出现在1997年《面向对象编程杂志》上我写的一篇文章中,题为“构造带目标的用例”。
从1994年到1999年,尽管在理论上还有几个松散的分支,但用例模型的概念基本保持稳定。在教授和培训过程中,我终于明白了人们为什么在简单的概念上花费了大量时间(我竟然从来没想到,我第一次尝试时也犯过很多同样的错误!)。这些想法,加上执行者和目标模型中一些不合理之处,产生了本书以及项目相关人员(Stakeholder)和利益(Interest)模型,该模型是本书提出的一个新概念。
统一建模语言(Unified Modeling Language, UML)对这些概念只有很小影响,反之亦然。Jacobson以前的一个同事Gunnar Overgaard编写了大量UML用例的资料,并且保持了Jacobson的风格。然而UML标准开发组受画图工具的影响很大,以至于用例的文本特征在标准中消失了。Gunnar Overgaard 和Ivar Jacobson讨论了我提出的概念,并向我保证这些关于用例的大部分概念都适合于放在UML的一个椭圆图中,因此既不会影响UML,也不会受UML标准所提出的概念影响。这意味着你可以使用本书的概念,并与UML 1.3用例标准兼容。另一方面,如果你只读了UML标准,由于它根本没有讨论用例的内容以及如何去编写,那么你也不知道用例到底是什么、如何使用,并且还可能产生一个危险的想法,即用例是由图形而不是由文本构成的。本书的目的是告诉你如何编写有效的用例,而标准很少谈及这些内容,因此我把对UML的评述单独地放在附录A中。
本书所用的实例
本书编写的实例尽可能取自实际项目,并且有些实例看起来可能不太完美。我所要展示的是,这些实例对项目组的需求来说已经足够了,并且用例编写过程中的那些不完美之处是在误差和经济允许的范围内。
Addison-Wesley的编辑们说服我把这些实例从原有形式中整理出来,以便强调它们正确的形式,而不是它们实际的和可用的形式。希望你通过阅读这些实例发现一些有用之处,并了解项目中的实际编写过程。你可以应用我在这些实例中采用的一些规则,并找到改进它们的方法。这种事情经常发生。因为改进一个人编写的实例是一件永无止境的事情,所以我接受这个挑战和任何批评意见。
评论交流
共有49人开贴评论 89人参与评论 41人参与打分 查看
评价等级:







发表于:2004-10-10 15:08:00
昨天看《UML和模式应用》的时候,作者在编写用例的章节里推荐了这本书。一时兴起去海淀图书成买了这本书的中文翻译版。现在看了2/3左右,欲罢不能,的确是不可多得得好书,在需求分析的用例编写阶段起到了实践性的指导作用。
呵呵,看到了china-pub上的评论,感觉有点意外。个人认为翻译还可以,毕竟用例也好,用况也好,谈不上谁更权威,用户界面或者用户接口,只要是业内人士都明白。我觉得买书最重要的是满足当时应急的需要,而翻译上的细节并不会引起很大的困扰。而如果因为翻译问题就转向英文版,试问效率如何保证?国内的程序员里,能快速阅读英文书籍找到解决方案的并不算多。我是其中一个,虽然英语过了六级。
另外,中文版比英文版贵,我觉得很正常。毕竟翻译、校对都是需要人工的。
以上诸言,有感而发。因为自感此书对我帮助很大,不忍见好书被束之高阁,愿其也能给诸位程序员、系统分析员、项目经理的业内朋友提供帮助。
呵呵,看到了china-pub上的评论,感觉有点意外。个人认为翻译还可以,毕竟用例也好,用况也好,谈不上谁更权威,用户界面或者用户接口,只要是业内人士都明白。我觉得买书最重要的是满足当时应急的需要,而翻译上的细节并不会引起很大的困扰。而如果因为翻译问题就转向英文版,试问效率如何保证?国内的程序员里,能快速阅读英文书籍找到解决方案的并不算多。我是其中一个,虽然英语过了六级。
另外,中文版比英文版贵,我觉得很正常。毕竟翻译、校对都是需要人工的。
以上诸言,有感而发。因为自感此书对我帮助很大,不忍见好书被束之高阁,愿其也能给诸位程序员、系统分析员、项目经理的业内朋友提供帮助。
| 我要写评论 |
| 查看所有评论交流(共49条) |








点击看大图






加载中...

