#UML统一建模语言#(Unified Modeling Language)用例图UseCase

目录

定义

用例定义:

用例图定义:

用途

组成元素以及元素之间的关系说明

元素之间的关系:

角色之间的关系:

用例之间的关系:

♦包含关系:

♦扩展关系

画法例子


 

定义

 

用例定义:


        用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。(这是UML对用例的正式定义,可以这样去理解,用例 是参与者想要系统做的事情,用例在画图中用椭圆来表示,椭圆下而附上用例名称)。


用例图定义:


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


用途


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

        用例图主要的作用有三个:

  • (1)获取需求;
  • (2)指导测试;
  • (3)述可在整个过程中的其它工作流起到指导作用。


组成元素以及元素之间的关系说明


        用例图由参与者(Actor)、用例(Use Case)、系统边界(用矩形表示一注明系统名称)、箭头组成,用画图的方法来完成。

        参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。 因此参与者可以是人,可以是事物,也可以是时间或其他系统等等.还有一点要注意的 是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。

        系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中用方框来表示,同时附上系统的名称,参考者画在边界的外面,为系统边界的作用有时候不是很明显,所以, 在画图时可省略。

        箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾 部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。


元素之间的关系:


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


角色之间的关系:


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


用例之间的关系:


♦包含关系:


        基本用例的行为包含了另一个用例的行为。基本用例描述在多个用例中都有的公共行为,包含关系本质上是比较特殊的依赖关系。它比一般的依赖关系多了一些语义,在包含关系中箭头的方向是从基本用例到包含用例。

        包含(Include)关系是指一个基本Use Case的行为包含了另一个Use Case的行为。
        包含关系是依赖关系的版型。说明基本用例依赖于包含用例。


♦泛化关系:

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


♦扩展关系


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


        用例的泛化、包含、扩展关系的比较。一般来说可以使用“is a“和“has a”来判断使用那种关系。泛化和扩展关系表示用例之间是“is a”关系,包含关系表示用例之间是“has a”关系。扩展与泛化相比多了扩展点,扩展用例只能在基本用例的扩展点上进行扩展。在扩展关系中基本用例是独立存在。包含关系中执行基本用例的时候一定会执行包含用例。

  • (1)如果需要重复处理两个或多个用例时可以考虑使用包含关系实现一个基本用例对另一个的引用。
  • (2)当处理正常行为的变形是偶尔描述时可以考虑只用泛化关系.。
  • (3)当描述正常行为的变形希塑采用更多的控制方式时, 可以在基本用例中设置扩展点,使用扩展关系。

        扩展关系比较难理解,如果把扩展关系看作是带有更多规则限制的泛化关系,可以帮助理解。通常先获得基本用例,针对这
个用例中的每一个行为提问:该步骤会出什么差错?该步骤有不同的情况吗?该步骤的工作怎样以不同的方式进行等,把所有的变化情况都标识为扩展。通常基本用例很容易构造,而扩展用例需要反复分析、验证。当我们发现已经存在的两个用例间具有某种相似性时,可以把相似的部分从两个用例中抽象出来单独作为一个用例,该用例被这两个用例同时使用,这个抽象出的用例和另外两个用例形成包含关系。

        用例之间的关系举例:

  • 包含:业务中,总是存在着维护某信息的功能,如果将它作为一个用例,那新建、 编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除 用例,则划分太细。这时包含关系可以用来理清关系。
  • 扩展:系统中允许用户对査询的结果进行导出、打印。对于査询而言,能不能导出、 打印査询都是一样的,导出、打印是不可见的。导入、打印和査询相对独立,而且为査询添加了新行为。
  • 泛化:子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。


画法例子

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值