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

news2024/11/18 11:37:07

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.coloradmin.cn/o/1655740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大家都是怎么写毕业论文的? 推荐4个AI工具

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…

c++ 入门2

五. 函数重载 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。 1、参数类型不同 #inc…

【ITK配准】第十一期 空间对象的模糊构建配准样例

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK配准中的空间对象的模糊构建配准样例,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 空间…

2024软件测试自动化面试题(含答案)

1.如何把自动化测试在公司中实施并推广起来的? 选择长期的有稳定模块的项目 项目组调研选择自动化工具并开会演示demo案例,我们主要是演示selenium和robot framework两种。 搭建自动化测试框架,在项目中逐步开展自动化。 把该项目的自动化…

【高阶数据结构(二)】初识图论

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:高阶数据结构专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 高阶数据结构 1. 前言2. 图的基…

vector、heap数组、stack数组访问性能验证

测试目的 本次测试旨在比较不同数据结构(vector、数组)以及不同访问方法([]、at()、offset)在性能上的差异,从而为开发者提供在特定情境下做出最佳选择的依据。 测试代码 测试网址:Quick C Benchmarks 使用GCC9.5 …

基于YOLO的车牌与车型识别系统

一、项目背景与意义 随着智能交通系统的快速发展,车辆识别技术在交通管理、安防监控、自动收费、停车管理等领域发挥着至关重要的作用。车牌识别和车型识别作为车辆识别技术的核心组成部分,能够有效提升交通运营效率,加强公共安全监控&#…

Baidu Comate智能编码助手:引领编码新时代的智能伙伴

前言 在数字化高速发展的今天,编程技术已成为推动创新与技术革新的核心动力。伴随着软件项目的复杂性和规模不断扩大,编码过程中的挑战也日益增加。为了解决这些问题以达到降本增效的目的,百度推出了基于文心大模型的Baidu Comate智能编码助…

语义分割——前列腺分割数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

SQL统计语句记录

1.达梦数据库 统计指定单位的12个月份的业务数据 SELECT a.DEPT_ID, b.dept_name, a.USER_NAME, count(a.dept_id) as count, sum(case when to_char(a.CREATE_TIME,yyyy-mm) 2023-01 THEN 1 else 0 end) as one,sum(case when to_char(a.CREATE_TIME,yyyy-mm) 2023-02 T…

【前端热门框架【vue框架】】——对组件进行更加简洁合理的处理和解释(一)

👨‍💻个人主页:程序员-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

量化交易T0策略:非凸T0算法

T0策略又称日内交易策略,它的持仓时间较短,基于对未来短期股价走势的判断,通过低位买入、高位卖出的方式来获得价差收益,并且买入卖出交易在日内完成。 分类 策略逻辑分类(融券T0和底仓T0) 融券T0在券商创立两融账号&#xff0c…

# 从浅入深 学习 SpringCloud 微服务架构(八)Sentinel(2)

从浅入深 学习 SpringCloud 微服务架构(八)Sentinel(2) 一、sentinel:通用资源保护 1、Rest 实现熔断 Spring Cloud Alibaba Sentinel 支持对 RestTemplate 的服务调用使用 Sentinel 进行保护, 在构造 RestTemplate…

Lazada商品详情API接口:深度解析与应用

前言 在当今电子商务的繁荣时代,对于电商平台来说,提供一套高效、稳定的API接口是非常重要的。Lazada,作为东南亚领先的电商平台之一,其API接口体系为卖家、开发者以及第三方服务提供了丰富的功能和数据支持。其中,商品…

多线程学习Day09

10.Tomcat线程池 LimitLatch 用来限流,可以控制最大连接个数,类似 J.U.C 中的 Semaphore 后面再讲 Acceptor 只负责【接收新的 socket 连接】 Poller 只负责监听 socket channel 是否有【可读的 I/O 事件】 一旦可读,封装一个任务对象&#x…

保姆级零基础微调大模型(LLaMa-Factory,多卡版)

此处非常感谢https://github.com/hiyouga/LLaMA-Factory这个项目。 看到网上的教程很多都是教如何用webui来微调的,这里出一期命令行多卡微调教程~ 1. 模型准备 模型下载比较方便的方法: 1. modelscope社区(首选,速度很高,并且很多需要申请的模型都有)注意要选择代码…

Redis快速学习

Redis快速学习 一、 Redis快速入门1.1 初始Redis1.1.1 Redis的存储方式1.1.2 NoSQL 与 sql 之间的区别 1.2 Redis概述1.2.1 Redis是什么1.2.2 Redis有什么用1.2.3 Redis的特性 1.3 Redis安装测试1.3.1 Redis Linux安装 1.4 Redis测试工具1.5 Redis的基本知识 二、Redis的五大数…

【Elasticsearch运维系列】Elasticsearch7.12.1启动指定版本JDK:你学废了吗?

一、背景 一套生ES集群,版本为7.12.1,近期频繁告警,频繁出现索引分片异常,索引状态异常,导致应用无法正常写入ES,另外,也经常出现节点掉问题。通过分析相关ES日志,显示和当前JAVA G…

C++ | Leetcode C++题解之第77题组合

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> temp;vector<vector<int>> ans;vector<vector<int>> combine(int n, int k) {// 初始化// 将 temp 中 [0, k - 1] 每个位置 i 设置为 i 1&#xff0c;即 [0, k - 1] 存…

细说夜莺监控系统告警自愈机制

虽说监控系统最侧重的功能是指标采集、存储、分析、告警&#xff0c;为了能够快速恢复故障&#xff0c;告警自愈机制也是需要重点投入建设的&#xff0c;所有可以固化为脚本的应急预案都可以使用告警自愈机制来快速驱动。夜莺开源项目从 v7 版本开始内置了告警自愈模块&#xf…