用例图(UseCaseDiagram)说明

⽤例图(UseCaseDiagram)说明
</h1>
<div class="clear"></div>
<div class="postBody">
地图标记
<div id="cnblogs_post_body" class="blogpost-body blogpost-body-html">
⽤例图主要⽤来描述⾓⾊以及⾓⾊与⽤例之间的连接关系。说明的是谁要使⽤系统,以及他们使⽤该系统可以做些什么。⼀个⽤例图包含了多个模型元素,如系统、参与者和⽤例,并且显⽰这些元素之间的各种关系,如泛化、关联和依赖。它展⽰了⼀个外部⽤户能够观察到的系统功能模型图。
【⽤途】:帮助开发团队以⼀种可视化的⽅式理解系统的功能需求。
⼀、⽤例图所包含的的元素
1. 参与者(Actor)——与应⽤程序或系统进⾏交互的⽤户、组织或外部系统。⽤⼀个⼩⼈表⽰。
2. ⽤例(Use Case)——⽤例就是外部可见的系统功能,对系统提供的服务进⾏描述。⽤椭圆表⽰,椭圆⾥⾯采⽤动宾结构的⽂字,也就是“动词”+“名词”这样的格式,这些⽤例表明了系统能做什么事情。可以按照 ⾓⾊ + ⽤例描述 这样的顺序来读图:如:⾓⾊为 “员⼯”,⽤例为 “查询⼯资” ,读法就为“员⼯查询⼯资”。
3. ⼦系统(Subsystem)——⽤来展⽰系统的⼀部分功能,这部分功能联系紧密。在所有的⽤例外⾯,有⼀个⽅框,这个⽅框只框住了⽤例,没有框住⾓⾊,这个框框叫做系统边界,框框的上部会注明本系统(⼦系统)的名称
植物油运输车4、线条:线条是指⾓⾊与⽤例之间的线条,线条有三种:⽆箭头的,指向⽤例的箭头,指向⾓⾊的箭头。⽆论是否有箭头,这些线条都是⽤来联系⾓⾊(⼩⼈)和⽤例(圈圈)的,表⽰某某⾓⾊能"做"什么⽤例。有箭头的线条,表⽰⾓⾊与系统交互的过程中,数据的流向,如果箭头指向⽤例,就说明⾓⾊需要往系统中输⼊数据,如果箭头指向⾓⾊,说明系统往⾓⾊输出数据。 ⽽没有箭头的线条,则没有明确表⽰数据的流向,⼀般情况不需要明确表⽰数据的流向,只需要画⽆箭头的线条就可以了 。
⼆、⽤例图所包含的的关系
  ⽤例图中涉及的关系有:关联、泛化、包含、扩展。
  如下表所⽰:
  表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
  【箭头指向】:⽆箭头,将参与者与⽤例相连接,指向消息接收⽅
  b. 泛化(Inheritance)中关村大街15号
  就是通常理解的继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。⽗⽤例通常是抽象的。在实际应⽤中很少使⽤泛化关系,⼦⽤例中的特殊⾏为都可以作为⽗⽤例中的备选流存在。
  【箭头指向】:指向⽗⽤例
  c. 包含(Include)
  包含关系⽤来把⼀个较复杂⽤例所表⽰的功能分解成较⼩的步骤。包含关系对典型的应⽤就是复⽤,也就是定义中说的情景。但是有时当某⽤例的事件流过于复杂时,为了简化⽤例的描述,我们也可以把某⼀段事件流抽象成为⼀个被包含的⽤例;相反,⽤例划分太细时,也可以抽象出⼀个基⽤例,来包含这些细颗粒的⽤例。这种情况类似于在过程设计语⾔中,将程序的某⼀段算法封装成⼀个⼦过程,然后再从主程序中调⽤这⼀⼦过程。
  例如:业务中,总是存在着维护某某信息的功能,如果将它作为⼀个⽤例,那添加、修改以及删除都要在⽤例详述中描述,过于复杂;如果分成添加⽤例、修改⽤例和删除⽤例,则划分太细。这时包含关系可以⽤来理清关系。
  【箭头指向】:指向分解出来的功能⽤例
  d. 扩展(Extend)
  扩展关系是指⽤例功能的延伸,相当于为基础⽤例提供⼀个附加功能。将基⽤例中⼀段相对独⽴并且可选的动作,⽤扩展(Extension)⽤例加以封装,再让它从基⽤例中声明的扩展点(Extension Point)上进⾏扩展,从⽽使基⽤例⾏为更简练和⽬标更集中。扩展⽤例为基⽤例添加新的⾏为。扩展⽤例可以访问基⽤例的属性,因此它能根据基⽤例中扩展点的当前状态来判断是否执⾏⾃⼰。但是扩展⽤例对基⽤例不可见。
对于⼀个扩展⽤例,可以在基⽤例上有⼏个扩展点。
  【箭头指向】:指向基础⽤例
  e. 依赖(Dependency)
  以上4种关系,是UML定义的标准关系。但VS2010的⽤例模型图中,添加了依赖关系,⽤带箭头的虚线表⽰,表⽰源⽤例依赖于⽬标⽤例。
  【箭头指向】:指向被依赖项
  5. 项⽬(Artifact)
  ⽤例图虽然是⽤来帮助⼈们形象地理解功能需求,但却没多少⼈能够通看懂它。很多时候跟⽤户交流甚⾄⽤Excel都⽐⽤例图强,VS2010中引⼊了“项⽬”这样⼀个元素,以便让开发⼈员能够在⽤例图中链接⼀个普通⽂档。
人防系统  ⽤依赖关系把某个⽤例依赖到项⽬上:成上上网
  然后把项⽬->属性的Hyperlink设置到你的⽂档上;
  这样当你在⽤例图上双击项⽬时,就会打开相关联的⽂档。
带通滤波器设计  6. 注释(Comment)
  包含(include)、扩展(extend)、泛化(Inheritance) 的区别:
  条件性:泛化中的⼦⽤例和include中的被包含的⽤例会⽆条件发⽣,⽽extend中的延伸⽤例的发⽣是有条件的;
  直接性:泛化中的⼦⽤例和extend中的延伸⽤例为参与者提供直接服务,⽽include中被包含的⽤例为参与者提供间接服务。
  对extend⽽⾔,延伸⽤例并不包含基础⽤例的内容,基础⽤例也不包含延伸⽤例的内容。

本文发布于:2024-09-20 22:54:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/100009.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   功能   关系   指向   包含   箭头   扩展
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议