Scott Ambler 阐明了基本用例和系统用例之间的区别,并针对如何编写这两类用例的文档提出了一些建议(主要讨论系统用例)。本文由《The Object Primer 2nd Edition》的第三章改编而来。
当记录基于组件的系统的行为需求时,用例是最常用的技术之一。开发人员常问的一个问题是,“用例文档应该包括哪些信息?”尽管我在此提到的一些部分是可选的,但在我看来,将这些部分包括在用例文档中不失为一个好主意。当编写基本用例的文档时(另请参阅前一篇技巧 Modelling essential use cases),我倾向于略去可选部分(因为基本用例关注的是是什么,而不是为什么,因此不必像系统用例那样复杂)。当编写系统用例时,我通常将所有部分都包括在内。回顾一下,基本用例和系统用例之间的主要区别是,系统用例包括了高级实现决策,而基本用例是要以与技术和实现无关的方式捕捉用户的意图。
参与者 (actor) 和被包含的用例这两个部分实际上只看用例图即可确定。但是,按我的经验,各个用例最好相互独立 — 换句话说,用例应该包含理解它们所需的全部关键信息以及它们所在的上下文。这使您的主题问题专家 (SME) 能够分别充实各个用例。(他们可能上午以小组为单位协同工作,下午则各自独立地以最快的速度充实所分配的用例,从而提高了整个小组的生产效率。)
用例的各个组成部分
- 名称。名称无疑应该表明用户的意图或用例的用途,如“研究班招生”。
- 标识符 [可选]。唯一标识符,如 "UC1701",在项目的其他元素(如类模型)中可用它来引用这个用例。
- 说明。概述用例的几句话。
- 参与者 [可选]。与此用例相关的参与者列表。尽管这则信息包含在用例本身中,但在没有用例图时,它有助于增加对该用例的理解。
- 状态 [可选]。指示用例的状态,通常为以下几种之一:进行中、等待审查、通过审查或未通过审查。
- 频率。参与者访问此用例的频率。这是一个自由式问题,如用户每次录访问一次或每月一次。
- 前置条件。一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足。
- 后置条件。一个条件列表,如果其中包含条件,则这些条件将在用例成功完成以后得到满足。
- 被扩展的用例 [可选]。此用例所扩展的用例(如果存在)。扩展关联是一种广义关系,其中扩展用例接续基用例的行为。这是通过扩展用例向基用例的操作序列中插入附加的操作序列来实现的。这总是使用带有 <<extend>> 的用例关联来建模的。
- 被包含的用例 [可选]。此用例所包含用例的列表。包含关联是一种广义关系,它表明对处于另一个用例之中的用例所描述的行为的包含关系。这总是使用带有 <<include>> 的用例关联来建模的。也称为使用或具有 (has-a) 关系。
- 假设 [可选]。对编写此用例时所创建的域的任何重要假设。您应该在一定的时候检验这些假设,或者将它们变为决策的一部分(请参阅usecase/index.shtml#decisions">下文
为了让用例建模工作变得轻松一点,我制作了一个模板,它反映了本技巧说明的内容,可通过以下链接下载这个模板:Ronin International Reusable Templates。此模板是以 Microsoft Word(和纯文本)格式提供的,我希望此模板以及该网页上的其他模板对您能有所用处。
参考资源
有关用例的详细信息,请参阅:
- 以前的技巧:"Modeling essential use cases"
- 《Building Object Applications That Work: Your Step-By-Step Handbook for Developing Robust Systems with Object Technology》,Scott W. Ambler 著。纽约:Cambridge University 出版社,1998 年。
- 《Process Patterns -- Building Large-Scale Systems Using Object Technology》,Scott Ambler 著。纽约:Cambridge University 出版社,1998 年。
- 《The Object Primer 2nd Edition》,Scott W. Ambler 著。纽约:Cambridge University 出版社,2000 年。
- 《Software For Use: A Practical Guide to the Models and Methods of Usage-Centered Design》,Larry L. Constantine 和 Lucy A.D. Lockwood 著
- 《Use Case Driven Object Modeling with UML: A Practical Approach》,Doug Rosenberg 和 Kendall Scott 著
- 《The Unified Modeling Language Reference Manual》,James Rumbaugh、Grady Booch 和 Ivar Jacobson 著。Reading,MA:Addison-Wesley Longman 公司,1999 年。
- 《Applying Use Cases: A Practical Guide》,G. Schneider 和 J.P. Winters 著
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073