本节向大家介绍一下UML建模实例,主要包括UML用例(useCase)概念分析和UML建模实例讲解,希望通过本节的介绍大家对UML建模工具有新的认识。
UML用例(useCase)概念分析及UML建模实例
在UML中usecase似乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述。用例图由参与者(Actor)、用例(useCase)、系统边界、箭头组成,用画图的方法来完成。用例描述用来详细描述用例图中每个用例,用文本文档来完成,以及由箭头所组成的各种关系,包括泛化,包含,扩展等。本文准备向大家介绍以下内容,所有图示均用PowerDesigner所画.
◆用况
◆参与者
◆泛化
◆<<use>>
◆<<include>>
◆<<extend>>
◆UML用例描述
1.用况(usecase)
图1用况图
是对一组动作序列(其中包括它的变体)的描述,系统执行该动作为执行此动作的参与者产生一个可观察的结果值。比如你使用计算器,这里可以把计算器看作为用况,参与者是登峰,登峰按了3+3(用况执行的序列),计算机器返回一个结果6。
2.参与者(Actor)
UML用例中的参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。
3.泛化
泛化和类中的泛化概念是一样的,子用况继承父用况的行为和含义,还可以增加或覆盖父用况的行为;子用况可以出现在任何父用况出现的位置(父和子均有具体的实例)。下面给出两种图示来说明泛化的概念和含义:
图2 含义继承 图3 行为继承 #p#
4.<<user>>
<<use>>:其关系非常象一个函数调用或一个子过程以这种方式使用的UML用例称为抽象用例因为它不能单独存在而必须被其它用例使用,请看下图:
图4 使用<<use>>示例
5.<<include>>
怎么解释这个定义呢? 还是说明一下它的功能吧,<<include>>可以把几个用例的公共步骤分离出来成为一个单独的被包含用例。学过C的朋友知道它的含义了吧。呵呵
好的,定义都已经知道了,下面用一个示例来加深大家的印象。假如有个人事系统,经理可以查看员工的信息,并可以增加,修改和删除,但每次执行这三个操作时,都要定位到相应的员工,即先查询定位到要操作的员工。图5给出了这种表述的usecase图,请理解<<include>>的含义:
图5 <<include>>的用法
6.<<extend>>
<<extend>>为已存在用例添加新的行为提供了一种方法。基础UML用例提供了一组扩展点(extendpoints),扩展点是钩子,在此可以添加新的行为,扩展用例提供了一组插入片段,这些片段可被插入到基础用例的钩子位置。需要注意的是基础用例不知道扩展用例的任何细节,它仅为扩展用例提供了钩子。这与<<include>>不同,此时如果没有被包含用例,客户用例将不完整。图6说明了主述文字描述:
图6<<extend>>的用法
7.UML用例描述
当然用例描述就是对用例的文字性说明。具体要描述哪些项,这里就不多说了,给大家一个具体示例一看就明白。本节关于UML中的用例(useCase)概念分析及UML建模实例内容介绍到这里。
【编辑推荐】