用例图是九个图中最重要的图,是九个图的关键,用例模型用在需求阶段,由开发者和用户共同商讨达成的共识,是软件开发中第一个要建立的需用例模型。由用例,角色,关系组成,也具有自己的属性,不同的人会画出不同的用例图,所以要用粒度判断谁的更好,粒度的好坏坏影响着类图,类图的好坏影响着代码实现的难度,还会影响到未来软件的维护和修补工作的难易程度,所以用例图是很重要的。
构成
用例:
用一个椭圆来表示用例,用例是对功能需求的描述,表示参与者与系统交互的过程。
角色: 小人代表角色也就是参与者,参与者可以是人,也可以是一个外部系统,还可以是运行的进程。
关系:
类型 | 说明 | 表示符号 |
---|---|---|
关联 | 参与者与用例间的关系 | ——–> |
泛化(继承) | 参与者之间或用例之间的关系 | ———▷ |
包含 | 用例之间的关系 | |
扩展 | 用例之间的关系 |
机房关系图
关联:箭头指向被接收方
泛化:也就是集成父类中所有的功能被子类继承
包含:其中一个用例的行为包含了另一个用例的行为。如果功能一致的就可以分解到另一个用例中,
扩展:一个用例可以被定义为基础用例的增量的扩展,也就是基础用例多了附加功能,有没有扩展用例,整理用例也是完整的。箭头指向基础用例。
属性
事件流:描述一个用例在执行时执行者与系统之间的交互过程。
扩展事件流:对分支进行关系描述。
前置条件:描述什么条件下可以开始执行一个事件流。
后置条件:说明用例结束时的状态。
前置条件和后置条件可以用于用例的验证。
粒度
UML中没粒度的概念,可以理解为用例的细化程度。
粒度分为概述级,用户目标级,子功能级三个层次。
概述级用例的范围是整个系统。
用户目标的范围是:系统的边界 ,对概述级进一步的细化
子功能级用例的范围是:一个子系统,对用户目标级进一步的细化。
用例的粒度可大可小,一般一个系统控制在20个用例作用,对复杂的系统可以分为若干个子系统,用粒度来评价用例图的好坏。
机房用例图
注意:用例图中用例名称一般为动词。