【系统架构师】-案例篇(一)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.mfbz.cn/a/619621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI 今日(北京时间 5 月 14 日凌晨两点)将发布的大更新,不是 GPT-5,也不是搜索引擎

🦉 AI新闻 🚀 OpenAI 今日(5月13日)将发布的大更新,不是 GPT-5,也不是搜索引擎 摘要:OpenAI 预计即将推出一款新的 AI 语音助手,该助手不仅可以进行语音和文字交流,还能…

如何利用AI提高内容生产效率与AIGC典型案例分析

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

Spring Boot:让微服务开发像搭积木一样简单!

带你一探 Spring Boot 的自动配置和 Starter POMs 的神奇之处,展示如何通过几个简单的步骤就能让你的微服务应用在云端翱翔! 文章目录 1. 引言1.1 简述Spring框架的起源与重要性1.2 阐述文章目的:深入解析Spring核心功能与应用实践2. 背景介绍…

Attention Sink

论文发现自回归LLM存在的一个有趣现象:对于输入文本最靠前的少量几个token,无论它们在语义上与语言建模任务的相关性如何,大量的注意力分数都会分配给他们,如下图所示: 模型的前两层还能保持attention score更多分配给…

Angular入门

Angular版本:Angular 版本演进史概述-天翼云开发者社区 - 天翼云 安装nodejs:Node.js安装与配置环境 v20.13.1(LTS)-CSDN博客 Angular CLI是啥 Angular CLI 是一个命令行接口(Angular Command Line Interface),是开发 Angular 应用的最快、最…

C++/Qt 小知识记录6

工作中遇到的一些小问题,总结的小知识记录:C/Qt 小知识6 dumpbin工具查看库导出符号OSGEarth使用编出的protobuf库,报错问题解决VS2022使用cpl模板后,提示会乱码的修改设置QProcess调用cmd.exe执行脚本QPainterPath对线段描边处理…

python实现幸运大转盘 python实现抽奖

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结 一.前言 幸运大转盘是一种活动形式,广泛应用于各种场合,如商业促销、展览活动、企业庆典以及体育课堂等,旨在增加活动的趣味性和参与度。以下是对幸运大转盘的详细介

STM32实现1.8寸液晶屏 LCD SPI串口显示屏模块 TFT彩屏(标准库和HAL库实现)

目录 一、所选模块 液晶模块选择(淘宝上均有售卖) 模块引脚 二、嵌入式单片机型号 三、接线表设计 四、开发环境版本说明 五、标准库实现 六、HAL库实现 七、完整工程(内含标准库和HAL库源码) 代码链接 一、所选模块 液…

什么是卷积神经网络

在机器视觉和其他很多问题上,卷积神经网络(Convolutional Neural Network,CNN)取得了当前最好的效果,被广泛用于各个领域,在很多问题上都取得了当前最好的性能。 卷积神经网络原理 卷积神经网络发展历史中…

开源免费的定时任务管理系统:Gocron

Gocron:精准调度未来,你的全能定时任务管理工具!- 精选真开源,释放新价值。 概览 Gocron是github上一个开源免费的定时任务管理系统。它使用Go语言开发,是一个轻量级定时任务集中调度和管理系统,用于替代L…

14.CAS原理

文章目录 CAS原理1.什么是CAS2.Unsafe类中的CAS方法2.1.获取UnSafe实例2.2.调用UnSafe提供的CAS方法2.3.调用Unsafe提供的偏移量相关2.4.CAS无锁编程2.4.1.使用cas进行无锁安全自增案例 CAS原理 由于JVM的synchronized重量级锁设计操作系统内核态下的互斥锁的使用,其…

多剖面土壤墒情监测仪

TH-GTS04在农业生产中,土壤墒情是影响作物生长的关键因素之一。为了更好地了解土壤的水分状况,为农业生产提供科学依据,多剖面土壤墒情监测仪应运而生。这种先进的监测设备具有多项功能优势,为土壤水分的精准监测提供了有力支持。…

火绒安全原理、用法、案例和注意事项

火绒安全是一款功能强大的安全软件,它采用了先进的安全技术和算法,通过实时监测、恶意代码识别、防火墙功能、沙箱技术和网络保护等多种手段,为用户提供全面的计算机安全防护。 1.为什么选用火绒安全? 火绒安全是一款优秀的安全软…

通过内网穿透实现远程访问个人电脑资源详细过程(免费)(NatApp + Tomcat)

目录 1. 什么是内网穿透 2. 内网穿透软件 3. NatApp配置 4. 启动NatApp 5. 通过内网穿透免费部署我们的springboot项目 通过内网穿透可以实现远程通过网络访问电脑的资源,本文主要讲述通过内网穿透实现远程访问个人电脑静态资源的访问,下一章节将讲…

实验10配置 IPv4 和 IPv6 静态和 默认路由(课内实验)

上面这个是实验描述 下面是给的实验图 接下来我们跟着实验一步一步进行下去 第 1 部分:配置 IPv4 静态和 浮动静态默认路由配置ipv4静态路由:配置 IPv4静态和 浮动静态默认路由 步骤 1:配置一条 IPv4 静态 默认路由。在 Edge_Router 上&am…

Leetcode经典题目之用队列实现栈

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、题目展示2、题目分析3、完整代码演示4、结语 1、题目展示 前面我们了解过如何实现队列…

使用 Flask Blueprint 实现模块化 Web 应用

文章目录 1. 什么是 Flask Blueprint?2. 为什么要使用 Flask Blueprint?3. 如何使用 Flask Blueprint?4. 在 Blueprint 之间进行通信5. 结合 Flask 插件系统进行功能拓展结语 当构建大型 Flask Web 应用时,保持代码的组织结构清晰…

深度缓冲技术在AI去衣中的神奇作用

引言: 随着人工智能技术的飞速发展,其在图形处理和视觉领域的应用日益增多。AI去衣技术便是其中一个颇具争议但又技术上引人入胜的话题。今天,我们将深入探讨一项关键技术——深度缓冲(Depth Buffering),它…

Ubuntu 24 换国内源及原理 (阿里源 清华源 中科大源 网易源)

备份原文件 sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak 编辑源文件 sudo gedit /etc/apt/sources.list.d/ubuntu.sources 粘贴到文本(其中一个即可): (阿里源&#xff09…

HTML静态网页成品作业(HTML+CSS+JS)——华为商城网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现首页图片切换轮播效果,共有1个页面…