UML介绍--用例图

用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图。

用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模

用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。

将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。

用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现

作用:

用例图主要的作用有三个:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。

元素之间的关系用例图中包含的元素除了系统边界、角色和用例,另外就是关系。关系包括用例之间的关系,角色之间的关系,用例和角色之间的关系。

角色之间的关系

角色之间的关系。由于角色实质上也是类,所以它拥有与类相同的关系描述,即角色之间存在泛化关系,泛化关系的含义是把某些角色的共同行为提取出来表示为通用的行为。

用例之间的关系:

包含关系:基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为。包含关系本质上是比较特殊的依赖关系。它比一般的依赖关系多了一些语义。在包含关系中箭头的方向是从基本用例到包含用例。在UML1.1中用例之间是使用和扩展这两种关系,这两种关系都是泛化关系的版型。在UML1.3以后的版本中用例之间是包含和扩展这两种关系。

泛化关系:代表一般与特殊的关系。它的意思和面向对象程序设计中的继承的概念是类似的。不同的是继承使用在实施阶段,泛化使用在分析、设计阶段。在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。

扩展关系的基本含义和泛化关系类似,但在扩展关系中,对于扩展用例有更多的规则限制,基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。与包含关系一样,扩展关系也是依赖关系的版型。在扩展关系中,箭头的方向是从扩展用例到基本用例,这与包含关系是不同的。

用例的泛化、包含、扩展关系的比较。一般来说可以使用“is a”和“has a”来判断使用那种关系。泛化和扩展关系表示用例之间是“is a”关系,包含关系表示用例之间是“has a”关系。扩展与泛化相比多了扩展点,扩展用例只能在基本用例的扩展点上进行扩展。在扩展关系中基本用例是独立存在。在包含关系中在执行基本用例的时候一定会执行包含用例。如果需要重复处理两个或多个用例时可以考虑使用包含关系,实现一个基本用例对另一个的引用。当处理正常行为的变形是偶尔描述时可以考虑只用泛化关系。当描述正常行为的变形希望采用更多的控制方式时,可以在基本用例中设置扩展点,使用扩展关系。扩展关系比较难理解,如果把扩展关系看作是带有更多规则限制的泛化关系,可以帮助理解。通常先获得基本用例,针对这个用例中的每一个行为提问:该步骤会出什么差错?该步骤有不同的情况吗?该步骤的工作怎样以不同的方式进行等,把所有的变化情况都标识为扩展。通常基本用例很容易构造,而扩展用例需要反复分析、验证。当我们发现已经存在的两个用例间具有某种相似性时,可以把相似的部分从两个用例中抽象出来单独作为一个用例,该用例被这两个用例同时使用,这个抽象出的用例和另外两个用例形成包含关系。

用例之间的关系举例

包含:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

扩展:系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导出、打印和查询相对独立,而且为查询添加了新行为。

泛化:子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

时间: 2024-12-24 21:48:05

UML介绍--用例图的相关文章

[UML]UML系列——用例图中的各种关系(include、extend)

用例图中的各种关系 一.参与者与用例间的关联关系       参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系         (1)  概念         包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例.        (2)表示符号<<include>>           再如上篇文章中饮料自动售货机的例子:     

[UML]UML系列——用例图Use Case

原文:[UML]UML系列--用例图Use Case 用例图的概念       用例图是描述用例.参与者以及它们之间关系的图.   用例图的作用 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为. 用例图定义和描述了系统的外部可见行为,是分析.设计直至组装测试的重要依据. 让用户参与前期的系统分析与设计. 参与者的概念(actor,执行者,活动者)        参与者是指在系统之外,但与系统直接交互的对象.先举个例子,对参与者有个具体的概念,如图: 参与者用人形符号表示,在人形

UML之用例图

       龙是中国古代的神兽之首,传说龙有九个孩子,他们有着各自独有的性情,各司其职,造福百姓.一如我们的UML一样,她的九个孩子也有着各自独特的本领,首先,今天我们一起来学习一下,用例图--九个孩子中的核心,她的主要功能就是用来描述用户的需求,从用户的角度描述系统的功能,指出各个功能的执行者.        除此之外,系统.子系统.系统行为之间的可视化表示也是通过用例图进行展示,这样更加便于我们理解这些元素的作用.从我们前面学习软件工程,编写文档的角度来看,用例图主要用于分析阶段,现在我们

UML,用例图

用例图是UML的重要组成部分,主要用来描述用户的需求. 一.用例图概述 1.组成部分:执行者.用例.执行者与用例之间的关系    [执行者]使用系统的人或其他系统,可以是一个人.一个系统,甚至可以是一个软件实体,如:定时器.    [用例]描述的是用户可见的需求,一个具体的用户目标.由执行者执行.    [两者间关系]表示了一个执行者和一个用例之间的关系. 2.图符 3.关系 主要用的三种关系:包含.泛化和扩展. [包含关系] ● 含义 :使用包含用例来封装一组跨越多个用例的相似动作,以便多个基

JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(2

  三.类图        类图就是显示出类.接口以及它们静态结构和关系的图.类图的基本元素是类或者接口. 类的框可分为一下几层 类名 属性清单 方法清单 性质清单       如果一个类有内部成员类,那么它的类图就会有5层.在类图中,除了类名层不能省略必须显示外,其他几层在UML中都可以省略的.        第一层是类名,如果类名为正体字,表明类是具体的(Concrete,即可以实例化的),变量名如果是斜体的,表明类是抽象的.         第二层是属性层.左面如果有+号,表明它是publ

【软件工程】2.UML用例图

什么是UML?UML(Unified modeling language) 出现于70年代中期,建模语言数量从不到十种增加到了五十多种,OO(面向对象)方法的用户并不了解不同建模语言的优缺点及相互之间的差异: 90年代中期形成了UML统一建模语言,它是一种支持模型化和软件系统开发的图形化语言. UML建模工具 (1)IBM Rational Rose (2)StarUML (3)ArgoUML (4)等等...... 我们接下来使用的建模工具是IBM Rational Rose,我们首先在自己电

[UML]UML系列——类图Class

相关文章       [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend) 一.类图的概念及组成         1.类图的概念             类图是描述类.接口已经他们之间关系的图,它显示了系统中各个类的静态结构,是一种静态模型.         2.类图的组成            2种类元素(类和接口)            4种关系(依赖关系.实现关系.泛化关系和关联关系) 二.类的概念与表示符号

[UML]UML系列——类图class的依赖关系

相关文章          [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend)       [UML]UML系列--类图Class       [UML]UML系列--类图class的关联关系(聚合.组合) 依赖关系的概念与符号        依赖表示一个类以某种形式依赖于其他类.当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类.        符号:   依赖关系在代码中的表现       在程序代

[UML]UML系列——状态机图statechart diagram

系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.extend) [UML]UML系列--类图Class [UML]UML系列--类图class的关联关系(聚合.组合) [UML]UML系列--类图class的依赖关系 [UML]UML系列--类图class的泛化关系 [UML]UML系列--类图class的实现关系Realization [UML]UML系列--包图Package [UML]UML系列--活动图activity