UML画完图差不多已经一周了,总结的博客一直也没写,觉得UML中最重要的就是四种关系和九种图,先说一下用例图吧。
一、用例图
用例图描述的是用户和系统功能之间的关系,用例图描述了用户的需求,用例图是从用户的角度出发,强调系统有什么功能,并指出功能的执行者,谁在执行这项功能。这项功能的执行者是actor,而这些功能就是用例 Use Case。用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图的基本元素是:角色、用例和关系。元素的图符表示如下:(关系的图符,第二大点会详细讲解)
角色 actor: 用例 Use case:
二、用例图中的关系
用例图中包含了四种关系,分别为:关联、泛化、包含、扩展。
1.关联关系:
关联描述了两个或多个类之间的结构性关系。关联可以使用单箭头表示单向关联, 使用双箭头或不使用箭头表示双向关联, 不建议使用双向关联。关联有两个端点, 在每个端点可以有一个基数, 表示这个关联的类可以有几个实例。
2.泛化:
代表一般与特殊的关系,类似于继承。在用例泛化中,子用例表示父用例的特殊形式,子用例继承了父用例的行为和属性,也可以增加新的行为和属性或覆盖父用例中的行为。
3.包含关系:
一个用例(基本用例)可以包含其他用例(包含用例)具有的行为,并把它所包含的用例行为作为自身用例的一部分,这被称为包含关系。在UML中,包含关系表示为虚线箭头加版型《include》,箭头从基本用例指向包含用例。
4.扩展关系:
一个用例也可以定义为基本用例的增量扩展,这称作扩展关系,即扩展关系是把新的行为插入到已有的用例中的方法。在UML中,包含关系表示为虚线箭头加版型《extend》,箭头从扩展用例指向基本用例。扩展关系可以有控制条件,当用例实例执行到达一个扩展点时,控制条件决定是否执行扩展。一般情况下,基本用例的执行不会涉及到扩展用例,只有满足用例的控制条件时,扩展用例才被执行,因此扩展关系处理事件流的异常或者可选事件。同一个基本用例的几个扩展可以在一起使用。
用例图
用在需求分析阶段,主要表现了用户需求,以及系统的功能,用例图的主要作用有:获取需求;指导测试。用例图中用户即为执行者actor,功能等即为用例Use case,同时还包括两者之间的关系。自己的做的机房收费系统的用例图如下:
第一次接触UML画图,如有不正确的地方,欢迎大家指出,未完待续。。。