UML是软件开发和系统建模的标准工具。该统一建模语言用于软件系统的可视化、说明、构建和建立文档等方面。
这里可以看到UML的一些介绍
http://baike.baidu.com/view/23396.htm?fr=ala0_1_1
本篇主要讲解UML用例图之间的关系, 用例主要有以下三种关系。
包含
包含关系指用例可以简单地包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分。包含关系代表着基础用例会用到被包含用例,将被包含用例的时间流插入到基础用例的时间流中。
在处理包含关系时,具体的做法就是把几个用例的公共部分单独地抽象成一个新的用例。主要有以下两种情况需要用到包含关系。
- 多个用例用到同一段的行为,则可以把这段共同行为单独地抽象成一个用例,然后让其他用例来包含这一用例。
- 当某一个用例功能过多,事件流过于复杂时,也可以把某一段事件流抽象成一个被包含的用例,以达到简化描述的目的。
下面的用例说明添加用户和修改用户后都需要浏览用户信息,以后修改浏览用户时不会对添加用户和修改用户造成影响。
扩展
在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例
扩展关系和包含关系的不同
- 在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为。而在包含关系中,插入点只有一个。
- 在扩展关系中,基础用例的执行并不一定会涉及到扩展用例,扩展用例只有在满足一定条件下才会被执行。而在包含关系中,当基础用例执行外后,被包含用例时一定要被执行的。
- 即使没有扩展用例,扩展关系中的基础用例本身也是完整的。而包含关系,基础用例在没有被包含用例的情况下是不完整存在。
泛化
用例的泛化指的是一个父用例可以被特化成多个子用例。