【系统架构师】-案例篇(一)UML用例图

1、概述

用于表示系统功能需求,以及应用程序与用户或者与其他应用程序之间的交互关系。

2、组成

  • 参与者(Actors):与系统交互的用户或其他系统。用一个人形图标表示。
  • 用例(Use Cases):系统需要完成的特定功能或行为。用一个椭圆形图标表示。
  • 关系(Relationships):用例之间的关系,用于将多个功能组织在一起
  • 通信链路 Communication Link:用于连接参与者和用例,被连接的两者有通信关系
  • 扩展点Extension points: 描述extend关系中的child用例的触发条件
  • 注释Note:对用例图中的元素做进一步的说明。

3、用例关系

包含(Include)、扩展(Extend)泛化(Generalization)

3.1、包含include

某一个用例 (base) 使用到了另一个用例 (child) 中的功能,它们之间有了很强的依赖关系,会在整个业务流程中先后运行。箭头由base指向child

3.2、扩展extend

某个用例(child)是另外一个用例(base)的一部分,它与包含关系的区别在于扩展关系并                  不要求 child在业务流程中一定会运行,它属于是一种功能增强,在满足一定条件的情况下才会执行。箭头方向是child执行base

3.3、泛化

也叫“继承关系”,子用例在父用例的基础上实现了功能拓展。泛化关系是由实线 + 空心三角箭头来表示的,箭头方法由child指向parent

4、扩展点

一般在base用例上,上半部分是功能说明,下半部分是拓展点说明。

5、注释

注释一般是用一个类似于纸张的图形+虚线来组成,虚线连接的是任何一个你想说明的元素,可以是执行者、用例、关系等。

6、系统边界(Boundary of system)

系统边界是矩形框,在矩形框的上面会写出这是属于哪一个系统

7、用例模型过程

在OOA方法中,构建用例模型一般需要经历四个阶段,其中前三个阶段是必需的。分别是

识别参与者

合并需求获得用例

细化用例描述

调整用例模型

8、案例题

某 ETC( Electronic Toll Collection,不停车收费)系统在高速公路沿线的特

定位置上设置一个横跨道路上空的龙门架( Toll gantry),龙门架下包括 6条车道( Trafficlanes),每条车道上安装有雷达传感器( Radar sensor)、无线传输器( Radio transceiver)

和数码相机( Digital Camera)等用于不停车收费的设备,以完成正常行驶速度下的收费工作。该系统的基本工作过程如下:

(1)每辆汽车上安装有车载器,驾驶员( Driver)将一张具有唯一识别码的磁卡插入车载器中。磁卡中还包含有驾驶员账户的当前信用记录。

(2)当汽车通过某条车道时,不停车收费设备识别车载器内的特有编码,判断车型,

将收集到的相关信息发送到该路段所属的区域系统( Regional center)中,计算通行费用创建收费交易( Transaction),从驾驶员的专用账户中扣除通行费用。如果驾驶员账户透

支,则记录透支账户交易信息。区域系统再将交易后的账户信息发送到维护驾驶员账户信息

的中心系统( Central system)

(3)车载器中的磁卡可以使用邮局的付款机进行充值。充值信息会传送至中心系统,以更新驾驶员账户的余额。

(4)当没有安装车载器或者车载器发生故障的车辆通过车道时,车道上的数码相机将对车辆进行拍照,并将车辆照片及拍摄时间发送到区域系统,记录失败的交易信息;并将该交易信息发送到中心系统。

(5)区域系统会获取不停车收费设备所记录的交通事件( Traffic events);交

通广播电台( Traffic advice center)根据这些交通事件进行路况分析并播报路况。

现采用面向对象方法对上述系统进行分析与设计,得到如表 3-1 所示的用例列

表以及如图 3-1 所示的用例图和图 3-2 所示的分析类图。

8.1、问题

【问题 1】(15分)

根据说明中的描述,给出图 3-1 中 A1~A4 所对应的参与者名称。

根据说明中的描述及表 3-1,给出图 3-1 中 U1-U5 所对应的用例名称。

根据说明中的描述,给出图 3-2 中 C1~C6 所对应的类名。

【问题2】 (6分)

用例图包括哪几个基本元素,并用300字以内的文字进行简要说明。

【问题 3】(4分)

在OOA方法中,构建用例模型一般需要经历几个阶段。

8.2、答案

【问题 1】

参与者:

A1:Central system/Driver

A2:Driver/Central system

A3:Regional center/Traffic advice center

A4:Traffic advice center/Regional center

用例:

U1:Underpaid transaction/Record Illegal use

U2:Record Illegal use/Underpaid transaction

U3:Create transaction

U4:Record traffic event

U5:Charge card

类:

C1:Center system

C2: Toll gantry

C3: Traffic lanes

C4:Radar sensor/Radio transceiver/Digital Camera

C5:Radio transceiver/Radar sensor/Digital Camera

C6: Digital Camera/Radar sensor/Radio transceiver

【问题2】

(1)参与者。参与者是指存在于系统外部并与系统进行交互的任何事物,既可以是使用系统的用户,也可以是其他外部系统和设备等外部实体。

(2)用例。用例表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。

(3)通信关联。通信关联表示的是参与者和用例之间的关系,或用例与用例之间的关系。箭头表示在这一关系中哪一方是对话的主动发起者,箭头所指方是对话的被动接受者,箭尾所指方是对话的主动发起者。如果不想强调对话中的主动与被动关系,可以使用不带箭头的关联实线。

【问题 3】

在OOA方法中,构建用例模型一般需要经历4个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必需的。

相关推荐

  1. UML

    2024-05-13 04:38:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 04:38:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 04:38:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 04:38:05       82 阅读
  4. Python语言-面向对象

    2024-05-13 04:38:05       91 阅读

热门阅读

  1. 8.Redis

    8.Redis

    2024-05-13 04:38:05      33 阅读
  2. 【面经】Linux

    2024-05-13 04:38:05       33 阅读
  3. LeetCode 每日一题 2024/5/6-2024/5/12

    2024-05-13 04:38:05       30 阅读
  4. XMl发展前景及相关领域

    2024-05-13 04:38:05       31 阅读
  5. 第1章 信息系统综合知识 1.4 IT战略

    2024-05-13 04:38:05       31 阅读
  6. HTML学习笔记汇总

    2024-05-13 04:38:05       34 阅读
  7. skynet - spinlock 简单的自旋锁

    2024-05-13 04:38:05       37 阅读
  8. 【C++风云录】跨界融合:纺织工程与材料科学

    2024-05-13 04:38:05       23 阅读