用例图包含六个元素,分别是:执行者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。但是有些UML的绘图工具多提供了一种直接关联关系(DirectedAssociation)。
结合一张用例图:
一、系统(System)指的是软件系统,它可以包含一些用例,并界定系统的边界,边界之内的属于系统的功能和行为,边界之外的则不是系统所关心的内容。
上图包括2个系统,登陆系统和多媒体服务器。
二、角色(Actor)是与系统中的用例交互的一些实体,在实际情况中,角色可以是人,也可以是其他系统或者硬件设备。在画用例图的过程中,角色往往是第一个被确定的,因为系统或者用例在开始时是模糊的,但是参与系统的角色是最容易明晰的。有了角色之后,根据角色与系统的交互,以及角色要求的功能,可以进一步确定系统和用例。
在此 Use Case Diagram 里,扮演Actor觉得是一台web服务器,他通过与两台系统的交互,完成多媒体流的提出和传输。
三、用例(Use Case)指的是系统的功能,它是系统某个功能的所有执行动作的集合。在UML图示中它是一个椭圆,但是具体分析用例的时候需要给出这个用例的所有执行动作的步骤。
以登陆系统为例,他仅包含一个对外用例,验证用户身份。
四、连接(Assocation)是角色与用例的连接,表达此角色可以初始化此用例,用一条直线表示。
web服务器存在与登录系统和多媒体服务器的关联
五、包含关系(include)是来自于用例的抽象,即从数个不同的Use Case中,分离出公共的部分,而成为可以复用的用例。
在多媒体服务器里,包含了视频提取和音频提取2个用例。include关系可以理解为必选用例。
六、扩展关系(extend)是某一个用例的对话流程中,可能会根据条件临时插入另外一个用例,而前者称为基础用例后者称为扩展用例。
在登录服务器里,包含了了一个扩展用例,“提取用户信息”。extend关系可理解为可选用例。
七、泛化关系(Generalization)一个用例可以被特别列举为一个或多个用例,这被称为用例泛化,如果系统中一个或多个用例是某个一般用例的特殊化时,就需要使用用例的泛化关系。
提取视频用例 被列举为 “分析日志”和“更多方式..”(分析日志,意为分析借助第三方工具对视频文件进行解析而产生的日志文件。)。可理解为提取视频更具体的几种方式,类似于java中的实现接口。
转自:http://prowl.iteye.com/blog/498047