【系统架构师】-案例篇(一)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个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必需的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/691085.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode:2391. 收集垃圾的最少总时间 + 二分】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

浅析vue3自定义指令

vue3中可以像下面这样使用自定义指令。 这里我们只是定义了一个vFoucs变量,vue怎么知道这是一个指令呢? 这是因为约定大于配置,vue3中有这样一个约定(截图来自官方文档): 注意这里说的是驼峰命令&#x…

远程点击没反应

目录 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: 方法2 界面点击Ctrl Alt Delete todesk,向日葵远程登录后点击没反应 todesk远程登录后点击没反应 解决方法: 方法1 快捷键: Ctrl Alt Delete 方法…

Map按value降序并统计

package com.ldj.cloud.user.demo;import java.util.*;/*** User: ldj* Date: 2024/5/11* Time: 10:03* Description: map按value降序*/ public class Tr {public static void main(String[] args) {ArrayList<String> list new ArrayList<>();list.add("a&q…

Linux 第二十八章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

docker修改默认安装路径

docker安装之后默认在 /etc/docker 在/etc/docker 文件下有一个daemon -json 没有就新增 {"registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com","https://2lqq34jg.mirror.aliyuncs.com","https://pee6w651.mirror.aliyuncs.c…

Fastchat + vllm + ray + Qwen1.5-7b 在2080ti 双卡上 实现多卡推理加速

首先先搞清各主要组件的名称与作用: FastChat FastChat框架是一个训练、部署和评估大模型的开源平台&#xff0c;其核心特点是&#xff1a; 提供SOTA模型的训练和评估代码 提供分布式多模型部署框架 WebUI OpenAI API Controller管理分布式模型实例 Model Worker是大模型服务…

【无标获取S4与ECC的具体差异的方法题】

首先我们需要对ECC vs S4的差异这个课题要有一个深刻的理解&#xff0c;这不是一个简单并能准确说清楚的课题。 我们需要结合实际项目的具体情况去回答这个问题&#xff0c;因为这个问题本身是没有标准答案的。 首先要了解SAP本身ERP产品线的发展概况&#xff0c;其次我们要…

08.2.grafana插件安装

grafana插件安装 官方网站下载地址(可自定义选择版本)&#xff1a; https://grafana.com/grafana/download/6.3.0?pgget&plcmtselfmanaged-box1-cta1 清华源下载grafana的rpm包 https://mirror.tuna.tsinghua.edu.cn/grafana/yum/el7/ 直接命令行安装,或者包下载下来本地…

Vue从入门到实战Day04

一、组件的三大组成部分&#xff08;结构/样式/逻辑&#xff09; 1. scoped样式冲突 默认情况&#xff1a;写在组件中的样式会全局生效 -> 因此很容易造成多个组件之间的样式冲突问题。 1. 全局样式&#xff1a;默认组件中的样式会作用到全局 2. 局部样式&#xff1a;可以…

权益资本成本-CAPM模型、MPEG模型、OJ模型、PEG模型原始数据及其代码(2000-2021年)

01、数据介绍 权益资本成本是指企业的所有者投入企业资金的成本&#xff0c;具体来说&#xff0c;它代表了股东对投资风险的补偿要求&#xff0c;也可以理解为股东对于企业未来收益的预期。 权益资本成本是筹集普通股资金所需的成本&#xff0c;它也是企业进行投资决策的重要…

璩静是为了薅百度羊毛

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 百度副总裁璩静离职了&#xff0c;网传她的年薪是1500万&#xff0c;而璩静在4月24日注册了一个文化传媒公司&#xff0c;大家都认为璩静是在为离职做准备。但松松我认为不是。 我认为&#xff1a;璩静成立新公司是…