📄 200602271429302.html
字号:
<P><FONT face=Verdana>(2) 用例(use case) 从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。</FONT></P>
<P><FONT face=Verdana>以字处理软件为例 ,"将某些正文置为黑体"和"创建一个索引"便是两个典型的用例。在UML中,用例被定义成 系统执行的一系列动作,动作执行的结果能被指定执行者察觉到。 </FONT></P>
<P><FONT face=Verdana>在UML中,用例表示为一个椭圆。</FONT></P>
<P><FONT face=Verdana>图1显示了一个金融贸易系统的用例图。其中,"风险 分析","交易估价","进行交易","设置边界","超越边界的交易","评价贸易","更新帐目 "等都是用例的实例。</FONT></P>
<P><FONT face=Verdana>概括地说,用例有以下特点:</FONT></P>
<P><FONT face=Verdana>·用例捕获某些用户可见的需求,实现一个具体的用户目标。</FONT></P>
<P><FONT face=Verdana>·用例由执行者激活,并提供确切的值给执行者。</FONT></P>
<P><FONT face=Verdana>·用例可大可小,但它必须是对一个具体的用户目标实现的完整描述。</FONT></P>
<P><FONT face=Verdana>(3) 执行者(Actor) 执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。</FONT></P>
<P><FONT face=Verdana>图1中有四个 执行者:贸易经理、营销人员、售货员和记帐系统。在某些组织中很可能有许多营销人员 ,但就该系统而言,他们均起着同一种作用,扮演着相同的角色,所以用一个执行者表示。</FONT></P>
<P><FONT face=Verdana>一个用户也可以扮演多种角色(执行者)。例如,一个高级营销人员既可以是贸易经理,也 可以是普通的营销人员;一个营销人员也可以是售货员。在处理执行者时,应考虑其作用 ,而不是人或工作名称,这一点是很重要的。</FONT></P>
<P><FONT face=Verdana>图1中,不带箭头的线段将执行者与用例连接到一起,表示两者之间交换信息,称之为 通信联系。执行者触发用例,并与用例进行信息交换。单个执行者可与多个用例联系;反 过来,一个用例可与多个执行者联系。对同一个用例而言,不同执行者有着不同的作用:他 们可以从用例中取值,也可以参与到用例中。</FONT></P>
<P><FONT face=Verdana>需要注意的是,尽管执行者在用例图中是用类似人的图形来表示的,但执行者未必是 人。例如,执行者也可以是一个外界系统,该外界系统可能需要从当前系统中获取信息,与 当前系统有进行交互。在图1中,我们可以看到,记帐系统是一个外界系统,它需要更新帐 目。</FONT></P>
<P><FONT face=Verdana>通过实践,我们发现执行者对提供用例是非常有用的。面对一个大系统,要列出用例 清单常常是十分困难。这时可先列出执行者清单,再对每个执行者列出它的用例,问题就 会变得容易很多。</FONT></P>
<P><FONT face=Verdana>(4) 使用和扩展(Use and Extend) 图1中除了包含执行者与用例之间的连接外,还有另外两种类型的连接,用以表示用例 之间的使用和<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603101440455.html \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603101440455.html'" tppabs="http://www.itisedu.com/phrase/200603101440455.html" target="_new">扩展关系</a>。使用和扩展是两种不同形式的继承关系。 当一个用例与另一个用例相似,但所做的动作多一些,就可以用到扩展关系。</FONT></P>
<P><FONT face=Verdana>例如图 1中,基本的用例是"进行交易"。 交易中可能一切都进行得很顺利,但也可能存在扰乱顺 利进行交易的因素。</FONT></P>
<P><FONT face=Verdana>其中之一便是超出某些边界值的情况。例如,贸易组织会对某个特定 客户规定最大贸易量,这时不能执行给定用例提供的常规动作,而要做些改动。我们可在 "进行交易"用例中做改动。但是,这将把该用例与一大堆特殊的判断和逻辑混杂在一起, 使正常的流程晦涩不堪。</FONT></P>
<P><FONT face=Verdana>图1中将常规的动作放在"进行交易"用例中,而将非常规的动作 放置于"超越边界的交易" 用例中,这便是扩展关系的实质。 当有一大块相似的动作存在于几个用例,又不想重复描述该动作时,就可以用到使用 关系。</FONT></P>
<P><FONT face=Verdana>例如,现实中风险分析和交易估价都需要评价贸易,为此可单独定义一个用例,即" 评价贸易",而"风险分析"和"交易估价"用例将使用它。 请注意扩展与使用之间的相似点和不同点。它们两个都意味着从几个用例中抽取那 些公共的行为并放入一个单独用例中,而这个用例被其他几个用例使用或扩展。</FONT></P>
<P><FONT face=Verdana>但使用和 扩展的目的是不同的。</FONT></P>
<P><FONT face=Verdana>(5) 用例模型的获取 几乎在任何情况下都会使用用例。用例用来获取需求,规划和控制项目。</FONT></P>
<P><FONT face=Verdana>用例的获取 是需求分析阶段的主要任务之一,而且是首先要做的工作。大部分用例将在项目的需求分 析阶段产生,并且随着工作的深入会发现更多的用例,这些都应及时增添到已有的用例集 中。</FONT></P>
<P><FONT face=Verdana>用例集中的每个用例都是一个潜在的需求。</FONT></P>
<P><FONT face=Verdana>a. 获取执行者 获取用例首先要找出系统的执行者。可以通过用户回答一些问题的答案来识别执行 者。</FONT></P>
<P><FONT face=Verdana>以下问题可供参考:</FONT></P>
<P><FONT face=Verdana>·谁使用系统的主要功能(主要使用者)。</FONT></P>
<P><FONT face=Verdana>·谁需要系统支持他们的日常工作。</FONT></P>
<P><FONT face=Verdana>·谁来维护、管理使系统正常工作(辅助使用者)。</FONT></P>
<P><FONT face=Verdana>·系统需要操纵哪些硬件。</FONT></P>
<P><FONT face=Verdana>·系统需要与哪些其它系统交互,包含其它计算机系统和其它应用<a href="200604232224305.html" tppabs="http://www.itisedu.com/phrase/200604232224305.html" target="_new">程序</a>。</FONT></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -