首页 > 代码库 > 用例图
用例图
是由主角、用例以及它们之间的关系构成的用于描述系统功能单元之间关系的的静态视图。
外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模
主要用途是以一种可视化的方式理解系统的功能需求。方便开发团队的开发。
用例图的基本元素:角色、用例、关系
角色:不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。
用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词
下面着重简绍一下
关系:表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。有四种关系:关联、泛华、包含、扩展
关联 | 参与者与用例之间的关系 | |
泛华 | 同类的参与者或用例之间 | |
包含 | 用例之间 | |
扩展 | 用例之间 |
泛化关系:把共同的行为提取出来表示为通用行为,子行为可以增加新的行为和含义或者覆盖父行为中的行为和含义。
<子用例画到父用例箭头>
关联关系:表示参与者与用例之间的通信,任何一方都可发送或接受消息。
<箭头指向消息接收方>
扩展关系:基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。相当于添加附加功能。
<指向基础用例>
包含关系:把一个复杂用例的功能,分解成较简单的用例。
<指向分解出来包含用例>
区别:
泛化中的子用例和包含中的被包含的用例会无条件发生,而扩展中的延伸用例的发生是有条件的;
对扩展(extend)而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。
对泛华(Inheritance)而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系。