用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的视图。用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图从用户的角度出发,描述系统的功能,并指出各功能的操作者。用例图在软件开发阶段的需求分析阶段进行绘制。
用例图涉及到四种关系:关联、泛化、包含、扩展
(1)关联:表示参与者和用例之间的交互,是通信途径,任何一方都可发送或可接收消息。
箭头指向:指向消息接收者
(2)泛化:也叫继承关系,子用例继承父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。
箭头指向:指向父用例
(3)包含:包含关系用来把一个较复杂的用例所表示的功能分解成较小的步骤。包含用例是必须的,如果缺少包含用例,基用例就是不完整的。
箭头指向:指向分解出来的功能用例
(4)扩展:扩展关系是指用例功能的延伸,与包含关系不同的是,扩展用例是可选的,如果缺少扩展用例,不会影响基用例的完整性。
箭头指向:指向基用例
下面是用Rational Rose 画的机房收费系统的用例图: