【SysML】用例图

SysML用例图建模规范汇总 用例图建模规范 阅读详情

引言

对于系统工程师来说,设计用例图是一种极为常见的建模活动。用例图是一种黑盒视图,通过向读者传递一系列的用例以及相关的参与者,对系统对外提供的服务或系统具备的行为进行建模。在详细讨论SysML的用例图之前,我们先来了解一个非常关键的概念 - 用例。

什么是用例?

用例,英文为 “Use Case”,不同的书籍或论文资料对于 “用例” 有不同的定义,本文引用《Writing Effective Use Case》一书中关于用例的描述:

 

A use case captures a contract between the stakeholders of a system about its behavior. The use case describes the system’s behavior under various conditions as it responds to a request from one of the stakeholders, called the primary actor. The primary actor initiates an interaction with the system to accomplish some goal. The system responds, protecting the interests of all the stakeholders. Different sequences of behavior, or scenarios, can unfold, depending on the particular requests made and conditions surrounding the requests. The use case collects together those different scenarios.

 

通俗的说,“用例” 是系统行为的黑盒描述,其阐述的是参与者(可能是用户,也可能是其他系统)的意图或对系统行为的期望,从参与者的角度对系统应该具备的行为进行建模。

 

用例表达方式?

用例可以采用基于模型和基于文本的方式进行表达。文本方式是传统的但广泛应用的方式,用户可以采用特定格式的文本段落或表格对用例进行详细描述。模型方式是未来的主要趋势,例如用户可以通过UML/SysML的模型图如用例图、活动图、时序图等对用例进行描述和细化。

不管基于哪种方式,用例的名称典型地会采用动词短语进行描述,例如 “存钱”、“取钱”、“发布文档”、“创建用户”等,这种概要性描述能够 “大致” 说明参与者的意图或者参与者希望系统执行的行为,虽然传递的信息非常关键但是有限,设计者不可能单从这些动词短语获取完备的信息。作为一种补充,一般会采用 用例说明书 (对于模型来说,可能是时序图、活动图等模型)对用例进行说明。典型地,我们可以采用基于文字的方式表达用例说明书。

《Writing Effective Use Case》一书中提供了示例形式,可以参考下图:

 

不同的文字表述形式的样式可能不太相同,具体选择哪种样式取决于用户。

 

初识SysML用例图

我们说,用例图传递了一系列的用例,那么在SysML中用例图如何表述呢?下面先睹为快。如下图所示,这是一个 “Security System” 系统的SysML用题图。图头部是SysML通用的头部结构,其中图类型为 “uc”,即用题图。用例图的内容区域部分展示了四种模型元素:

系统边界框:矩形框表示,用于定义系统的范围。

参与者:人形图标或带有<<actor>>关键字的矩形图标都可以表示参与者,一般习惯于使用人形图标。参与者可能是用户,也可能是其他系统,本用例图包含四个参与者。

用例:椭圆形图标,并带有用例名称。本用例图包含 2 个用例。

参与者与用例间的关系:无箭头实线。

 

用例间的关系之泛化(generalization)

用例间的泛化关系表示一种继承,是从抽象到具体的一种演化。子类型的用例继承父用例的内容,并在此基础上进行重新定义或添加新的父用例不具备的关系或行为。在SysML中,泛化关系采用带空三角箭头的实线表示。如下图:

 

 

用例间的关系之包含(include)

包含(include)关系在SysML中的标识法是带有箭头的虚线,并注有<<include>>关键字。“被包含” 的用例位于关系的尾端,即箭头端。

 

 

用例间的包含关系表示的是:当某用例被触发时,其包含的用例也会执行。被包含的用例作为其他用例的一个组成部分存在。

注意: 包含关系虽然表达了用例间的组成关系,但用户切记不要急于包含关系对系统做功能分解。这是用户在使用用例建模时经常出现错误。用例不是功能,用例使用功能而已。因此基于用例实现功能分解是不合适的。另外,到底什么时候定义包含用例?包含用例的定义不是必然的。创建包含用例的原则是当多个用例具有一些公共的子行为时,一般会将这些公共行为创建为包含用例。而且,这些往往不是在系统设计的初始迭代就做的事情,而是系统建模开始时,仅构建基础用例,并对用例进行详细的说明(例如,定义用例说明书),随着用例的不断明确,公共子行为自然显现出来,此时再定义包含用例时合理的。

 

用例间的关系之扩展(extend)

SysML中用例扩展(extend)关系的标识法是带箭头的虚线,并注有<<extend>>关键字。扩展用例位于扩展关系的尾端(非箭头端)。扩展关系表述的是一种可选的公共行为。当用例触发时,它的扩展用例是可选的执行(与包含用例不同)。

 

 

 

扩展关系表述的是对可选行为的建模。当多个用例具备通用的可选行为时,可以将这些通用行为重构为扩展用例。

 

参与者间的关系

SysML还支持参与者间的泛化关系,表示方式带有空三角箭头的实线,父类型位于箭头端。同样,泛化关系所表达的含义同样适用于参与者间的泛化关系。泛化意味着继承,泛化意味着抽象,子类型会继承父类型的上下文。

 

用例与场景的关系

场景是用例执行的路径,用例从开始执行到结束可以定义为一个 “场景”。由此,用例和场景间是 “一对多” 的关系。场景有很多,不仅仅局限于用例执行成功的场景,当然也包括用例执行过程中出现的各种异常场景。

当描述用例的场景时,发现某个用例的成功的场景太多,则这要引起注意,可能是用例定义的粒度太大,导致成功场景(执行路径)太多。因此,要适当拆分,尽量保证单个用例有一个主要的成功场景。

 

用例图设计原则

  • 首先构建基础用例,并细化用例说明书;

  • 切记禁止使用用例实现功能分解(用例不是功能,用例调用功能);

  • 使用包含用例重构多用例的公共行为(必然执行);

  • 使用扩展用例重构多用例的可选的公共行为(可选的执行);

  • 大型系统的顶层基础用例典型的为 10 ~ 15 个,单个用例的用例场景数为 5 ~ 25 (来自IBM Harmoney SE)。

  • 非成功场景超过 5 个,则重构为 “Exception use case”,并与主用例链接(来自IBM Harmoney SE)。

  • 用例一般不包含系统性能以及UI;

 

小结

用例图是一种黑盒视图,表征系统对外部参与者的可见行为或服务。用例间具有泛化、扩展、包含三种关系。通过包含和扩展关系可以对系统通用行为进行重构。

 

更多系统工程知识请关注 “系统工程实验室” 微信公众号

SysML实例——盖浇饭 阅读详情

相关推荐

38、SysML 图表与概念详解

本博客详细解析了SysML中的核心图表与概念,包括用例图、需求图、分配关系和构造型的符号与应用方法。此外,还介绍了活动、参与者和块等关键建模元素,帮助读者全面理解SysML在系统建模中的应用,从而提高系统开发的效率与质量。

xx56789的博客 106

第五章:Sysml之用例图

(1)用例图的介绍用例图(Use Case Diagram)的一些特点如下:(2)什么是用例在《统一建fe语言参考手册(第二版)》中,用例定义为:​在《编写有效用例》中,用例定义为:​以下是用例的关键点:(3)用例说明书用例说明书在传统上是文字文档。Alistair Cockburn在他的书籍《编写有效用例》中提供了一种很好的用例说明书格式:注意:也可以使用SysML活动图创建图形化的用例说明书。用例图的类别缩写是uc。图的外框代表的模型元素类型可能是以下中的一种:包、模型、模型库、视图。模型有很多种组织方

m0_56878426的博客 2111

SysML精粹-用例图

对于系统工程师团队来说,指定系统用例是一种常见的设计活动。SysML用例图可以为这种活动提供支持。用例图可以显示各种类型的元素和关系,以说明系统提供 的服务信息,以及需要服务的利益相关者的信息。用例图会简洁地传递一系列用例一系统提供的外部可见服务——以及触发和参与用例的执行者。用例图是系统的一种黑盒视图,因此也很适合作为系统的情境图。用例图是一种分析工具,一般会在系统生命周期的早期创建。系统分析师可能会枚举各种用例,然后在系统概念和操作(ConOps)的开发阶段创建用例图。在某些方

03 系统建模语言SysML——用例图

秋水伊的专栏 1981

三菱PLC通信库大比拼:手把手教你用C#实现最高效的McProtocol数据读写

本文深入比较了三菱PLC通信库的性能,重点介绍了如何使用C#高效实现McProtocol数据读写。通过实测数据对比HslCommunication、McProtocol-next和自定义方案的优劣,提供优化技巧和代码示例,帮助开发者在工业自动化场景中提升通信效率。

m0n1o2p的博客 258

总结所有的池化(Pooling)方法

为什么池化? 池化(Pooling)层和卷积层、全连接层一样,都是卷积神经网络的组成部分。 卷积神经网络中的卷积层会将卷积Filter应用于输入图像,以便创建特征映射来总结输入中这些特征的存在。 卷积层被证明是非常有效的,在深层模型中叠加卷积层可以让接近输入的层学习低层特征(如线条),在模型中更深(高)的层用于学习高阶或者更抽象的特征,如形状或特定对象。 卷积层特征映射输入的一个局限性是它们只能精确记录特征在输入层的位置。这意味着在输入图像中特征位置的小幅移动将导致不同的特征映射。这可以随着重新裁剪

大脸猫的博客 1万+

(自用)如何从SysML用例图到需求?

通过以上步骤,用例图从 “需求捕获工具” 转化为 “系统设计与验证的驱动源”,真正实现 MBSE“需求→设计→验证” 的闭环,确保功能与性能精准匹配任务场景。

weixin_49570978的博客 1672

10BASE-T1S协议中的PLCA机制:实现无碰撞网络传输的关键

本文深入解析了10BASE-T1S协议中的PLCA(物理层冲突避免)机制。作为IEEE 802.3cg标准的关键部分,PLCA通过循环调度与机会传递,从根源上避免了网络碰撞,为工业与汽车等场景提供了确定性的低延迟传输保障,是实现可靠实时通信的核心技术。

weixin_29250403的博客 210

Sysml七个关系是什么,需求图与用例图的定义与区别是什么

用例图是一种描述系统功能和用户交互的动态视图,通过参与者(Actor)、用例(Use Case)以及它们之间的关系来描述系统的功能。需求图是SysML中用于描述需求之间关系,以及需求与其他涉及元素(如模块、用例、测试案例等)之间关系的图形表示。核心目的 描述需求之间的关系,以及需求与其他元素之间的关联,构建需求的逻辑框架。元素组成 需求、包、元类型,以及七种需求关系(包含、跟踪、继承需求等)。SysML(系统建模语言)中的需求图定义了七种主要关系,用于描述需求之间的关联,构建需求的逻辑框架。

slty_123的博客 665

html一号店项目代码,项目一号店素材(html模板)

【实例简介】【实例截图】【核心代码】oneShop├── css│ ├── ShopShow.css│ ├── base.css│ ├── load.css│ ├── logo.css│ ├── register.css│ └── style.css├── detail.html├── images│ ├── Thumbs.db│ ├── a_close.png│...

weixin_35390150的博客 4990

Unity集成抖音小游戏:从IL2CPP配置到SDK接入全流程解析

本文详细解析了使用Unity开发抖音小游戏的完整流程。从关键的IL2CPP编译后端配置、PlayerSettings设置,到StarkSDK的接入与资源优化(如AutoStreaming),再到激励视频广告、录屏分享等核心功能的代码实现,提供了从环境准备到打包上传的全方位实战指南,帮助开发者高效完成技术适配。

weixin_27943395的博客 692

[图解]SysML和EA建模住宅安全系统-08-安全企业用例图

因为主辅只是针对某个用例而言

rolt的专栏 851

【高级-RAG-优化方法】

本文介绍了两种优化RAG(检索增强生成)系统的高级方法。第一部分介绍KnowFlow项目,它采用父子分块技术,将文档分为父分块(800-1500字符)和子分块(200-400字符),通过精确匹配子分块再返回父分块内容来保证搜索精确性和上下文完整性。第二部分探讨Milvus的多种增强技术,包括查询增强(如假设问题生成、回溯提示)、索引增强(自动合并块、分层索引)、检索器增强(句子窗口检索、元数据过滤)、生成器增强(提示压缩、块排序)以及管道增强(自我反省、代理查询路由)。这些方法共同提升了RAG系统的检索效率

weixin_48585108的博客 960

SysML实践指南第二版(中文翻译:刘亚龙)第12章 用例图

建模概念使用用例图 本章描述如何来建模一个系统的高层功能使用用例。 概述 用例描述一个系统的功能,它如何被使用来达到它的多种用户目标。系统的用户被描述通过参与者(actors),其可以表示与系统进行交互的外部系统或人员。 参与者可以使用归纳分类。用例也可使用归纳分类,但是另外一个用例可以包括或扩展其它用例。参与者必须被关联到用例,在这个用例中它们是参与者。正在考虑的系统与参与者之间的关...

1782

基于LLaMA-action模型的文档摘要任务微调

文档摘要是指从长文档中提取关键信息,生成简短而准确的总结。抽取式摘要:从原文中直接抽取关键句子或短语组成摘要。生成式摘要:通过生成新的句子来表达原文的核心内容。混合式摘要:结合抽取式和生成式方法,既保留原文的关键句子,又生成新的内容。新闻网站:自动生成新闻摘要,帮助用户快速了解新闻要点。社交媒体:为用户提供新闻摘要,便于分享和传播。学术搜索引擎:为用户提供学术文献的摘要,帮助用户快速筛选相关文献。学术写作辅助:帮助研究人员快速生成文献综述部分。企业内部文档管理:自动生成文档摘要,便于员工快速了解文档内容。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1432

如何在 DevOps 管道中实现 AI?

AI与DevOps的融合(AIOps)正在重塑软件开发生命周期。本文系统阐述了AI在DevOps中的五大应用场景:智能监控、自动化测试、安全防护、CI/CD优化和事件管理,并提出了六步实施框架:痛点识别、工具选型、流程集成、智能监控、MLOps和治理合规。通过Netflix、Google等企业的实践案例,验证了AI在提升部署效率(降低40%故障率)、缩短问题解决时间(MTTR减少60%)方面的显著价值,同时指出数据质量、模型偏差等实施挑战。研究表明,战略性地

介绍AWS Azure GCP devops Terraform 等技术 497

用EA和SysML一步步建模(07)蒸馏器系统上下文图01

为什么作者要这样画,原因也是现在很多MBSE方法学普遍存在的问题,缺少业务建模工作流的推导过程,一上来就是这个系统怎么样怎么样,作者想表达“照料热源”、“照料水源”都没有地方放,

rolt的专栏 882

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

基于模型的系统工程MBSE-SysML

描述系统的静态结构、说明系统有什么组成、有哪些接口、参数。

m0_67247641的博客 1239

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【SysML精粹】系统建模语言概览

1系统建模语言概览 SysML是一种应用广泛,表意丰富的图形建模语言,可以使系统设计的重要方法(11——结构,行为、需求和参数(数学模型)——可视化,便于就设计内容进行沟通。 如第1 G所讨论的,SysML可以作为MBSE的第一支柱使用。 本章提供了对SysML的高层次概览:SysML的总体目的、9种SysML图和各自的目的,以及对它们全部适用的普遍概念。这些讨论会为后续章节深人探讨毎种图提供必要...

qq_40921298的博客 5509

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

《SysML精粹》学习记录--第二章

对于模型元素类型及模型元素名称,需要了解SysML图概念的另一个关键方面:图所代表的模型元素会为图中所显示的其他元素定义命名空间,也就是模型层级关系中的容器元素。只要简单放置,图的头部显示的模型元素类型和模型元素名称就会指出图中的元素在模型中的位置。图能够代表的模型元素的类型取决于你所创建的图的种类。其中图的类型以SysML定义的缩写显示:bdd=模块定义图,ibd=内部模块图,uc=用例图,act =活动图,sd=序列图,stm=状态机图,par =参数图,req=需求图,pkg=包图。

很多时候犯错都是在不知情的情况下发生的 369

SysML教程

SysML是一种支持复杂系统分析、规范、设计、验证和确认的通用图形化建模语言。这些系统可能包括硬件设备、软件数据、人员、规程、设施,以及其他人造和自然系统元素。SysML能够帮助实现系统的规范定义和架构设计,并定义组件的规范。这些组件可以使用其他领域语言进行设计,比如UML进行软件设计,VHDL进行电气设计,3维几何建模进行机械设计。提供的最全SysML系列教程,系统化地介绍了SysML的概念和理论。关于SysML介绍,网上有很一些资料,但都很零散,不成系统,下面是。

qq_41854911的博客 1823
下一篇: 【Harmony】概述
系统工程实验室
博客等级 码龄10年 258粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值