UML-用例图

用例图:主要用于描述系统的行为及各种功能之间的关系,是描述参与者(Actor)与用例以及用例与用例之间关系的图。 

用例图 = 参与者 + 用例 + 关系

1.组成

1.1 用例(use case)

    用例 概念:

      1)系统、子系统或类与外部参与者(actor)交互的动作序列的说明,包括各种序列及出错序列。

      2)简单理解为用例就是系统的功能。

      3)用例分析可以认为是对系统功能的分解。

1.2 参与者(角色,actor)

      1)参与者:参与者是用例的启动者,处于用例的外部并且能够初始化一个用例,是系统外部的参与者,可以是用户、外部硬件、其他系统。

      2)怎样识别参与者

          谁向系统提供信息?

          谁从系统获取(使用)信息?

          谁操作这个系统?

          谁维护这个系统?

          系统要使用哪些外部资源?(系统启动打印机、扫描仪)

          系统是否和已经存在的系统交互?(跨行转账的外部银行系统、时间到了定时启动系统某功能)

 

1.3 关系(relationship)

1)关联(accociation)

        每个用例都有活动者启动(每个用例必须和一个活动者关联,有一个活动者来参与),除包含和扩展用例 无论用例和活动者是否存在双向数据交流(无论是参与者提供信息给系统,还是从系统获取信息),关联总是由活动者指向用例,只用单向箭头。

2)包含(include)

        包含是一种依赖关系,加了版型<<include>>),两个以上用例有共同功能行为,可单独抽象成一个单独用例,形成包含依赖; 箭头方向由基本用例指向被包含用例; 执行基本用例时,每次都必须调用被包含的用例(吃饭前洗手); 被包含用例也可以单独执行;

        注意:一个用例功能过多,可分解成小用例,构成包含依赖 本例中,被包含用例不能单独执行,没有Actor直接指向它们

3)扩展(extend)

        扩展是一种依赖关系,加了版型<<extend>>) 一个用例(在某些扩展点extension point上)扩展另一个用例的功能,构成新用例;箭头方向由扩展用例指向被扩展用例(即基本用例); 扩展用例依赖于被扩展用例(基本用例),只是部分片段组成,不是完整的独立用例,无法单独执行; 扩展用例不一定每次都被执行和调用。(吃饭前也可以不洗手),而被包含用例每次必修执行。 肯定没有活动者指向扩展用例,因为扩展用例依赖基本用例。

4)泛化(generalization,继承)

        泛化关系是两个用例或者两个参与者之间的关系。一个用例和其几种情形的用例间构成泛化; 往往将父用例用抽象用例(abstract)表示(即,父用例往往是虚的,真正用的是子用例。)

1.4 还可以有包、注解等

 

2.用例描述

2.1 用例文档模板:

    用例编号:

    用例名:

    用例描述:

    参与者:

    前置条件:

    后置条件:

    事件路径:

    扩展点:

    补充说明:

 

3.用例建模的步骤

(1)确定系统边界。

(2)识别参与者。

(3)识别用例。

(4)区分用例的优先次序。

(5)书写用例文档。

(6)通过关系整理用例(确定泛化、包含、扩展关系)。

 

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页