UML用例图-UML Use Case Diagram
.wj_nav { display: inline-block; width: 100%; margin-top: 0; margin-bottom: 0.375rem }
.wj_nav_1 { padding-left: 1rem }
.wj_nav_2 { padding-left: 2rem }
.wj_nav span { display: inline-block; margin-right: 0.375rem; color: rgba(102, 102, 102, 1) }
.wj_nav a, .wj_nav a:link, .wj_nav a:visited { color: rgba(51, 51, 51, 1); text-decoration: underline }
.wj_nav a:hover { color: rgba(255, 102, 0, 1); text-decoration: none }
.wj_title_1 { display: inline-block; width: 100%; margin-bottom: 1rem; border-left: 0.375rem solid rgba(255, 102, 0, 1); background-color: rgba(232, 232, 232, 1); font-size: 1.5rem; padding: 0.3125rem 0.625rem }
.wj_title_2 { display: inline-block; width: 100%; font-size: 1.25rem; font-weight: bold; margin-bottom: 1rem }
.wj_title_3 { display: inline-block; width: 100%; font-size: 1rem; font-weight: bold; margin-bottom: 1rem }
.wj_cont { line-height: 180%; margin-bottom: 1rem; font-size: 1rem }
.wj_img { display: inline-block; width: 100%; margin-bottom: 1rem }
.wj_code { margin-top: 0 !important; margin-bottom: 1rem !important; font-size: 0.875rem !important }
.wj_table { border: 1px solid rgba(255, 136, 56, 1); border-collapse: collapse; margin-bottom: 1rem }
.wj_table tr { display: table-row; vertical-align: inherit }
.wj_table tr th { display: table-cell; vertical-align: inherit; font-weight: normal; border: 1px solid rgba(255, 136, 56, 1); padding: 5px 10px; background-color: rgba(255, 102, 0, 1); color: rgba(255, 255, 255, 1); text-align: left }
.wj_table tr td { display: table-cell; vertical-align: inherit; border: 1px solid rgba(255, 136, 56, 1); padding: 0.3125rem 0.625rem; background-color: rgba(255, 255, 255, 1); text-align: left }
.wj_link, .wj_link:link, .wj_link:visited { color: rgba(51, 51, 51, 1); text-decoration: underline }
.wj_link:hover, .wj_link:active { color: rgba(255, 102, 0, 1) }
.wj_watermark, .wj_watermark :link, .wj_watermark :visited, .wj_watermark :hover, .wj_link:active { color: rgba(255, 255, 255, 1) !important; cursor: default !important }
.wj_important { font-weight: bold; color: rgba(255, 102, 0, 1) }
导航
1前言
2.1用例
2.2参与者
2.3系统
2.4子系统
3.1关联关系
3.2包含关系
3.3扩展关系
3.4泛化关系
3.5依赖关系
1 前言
在建筑行业,大到百层的摩天大楼,小到两层的乡间别墅,在施工之前都需要设计。地基挖多深,使用什么样的主体框架,承重多少,客厅与卧室如何连通,厨房的排烟管在什么位置......建筑行业先设计后施工已经成为标准范式,即使盖一间公园的厕所,如果没有设计图纸,也会让人觉得不可思议,工人们更不知道如何动手。
反观软件行业,我们离传统的建筑设计,差的就不是一星半点了。以我自己的亲身经历为例,从业二十年间,从十来人的创业公司,到上万人的上市公司,真正把软件设计规划好的,少之又少,其中主要原因是管理决策者们很难提前意识到软件架构设计的重要性,另外在中国,一部分开发人员经历了项目的磨砺刚具备了设计经验,但35岁年龄已到,他们被迫转去了其它岗位......
建筑设计有上千年的历史了,而软件诞生不过区区几十年,虽然软件设计的思想、方法、工具无法媲美建筑领域的千年沉淀,但在软件设计中,UML无疑是最闪亮的那颗星。 我们知道图的表达能力远大于文字,在软件设计中,UML是图形表达的唯一通用标准,意味着使用不同技术的开发者之间,比如Python与C++开发者,不同的软件岗位之间,比如产品与开发,开发与测试,UML都是大家的通用沟通语言,并且以图形化的方式传递信息。
用例图是UML中最简单,使用最高频的图之一,它通常用于诠释“这个软件做了什么”。用例图的的表达非常简单并且通俗易懂,不论研发、产品、测试,还是完全不懂软件的外行,用例图基本都能被看懂。来源:https://www.wubayue.com
2 UML用例图中的元素
2.1 用例

用例(Use Case)为椭圆形,可表示功能、动作、行为、过程等。
2.2 参与者

参与者(Actor)为人形,表示参与交互的角色,可为人、事物、外部系统等。
2.3 系统

系统也称为系统边界(System Boundary),其中集合了一系列相关的功能,有助于明确系统的功能范围。
2.4 子系统

子系统(Subsystem)用于在系统中划分更小颗粒度功能的集合。来源:https://www.wubayue.com
3 UML用例图中的关系
3.1 关联关系

关联(Association)表示两个元素之间发生信息交互/协作,关联可带有方向性。
3.2 包含关系

包含(Include)表示整体与部分之间的关系,使用由整体到部分的虚线。
3.3 扩展关系

扩展(Extend)表示一个用例对另一个用例行为的增强。注意箭头方向为扩展用例到基用例,这也表明扩展用例占据主导权,什么时候扩展如何扩展均取决于扩展用例。
3.4 泛化关系

泛化(Generalization)可视为面向对象编程中的继承/实现关系,通常用于表示抽象与具体。
3.5 依赖关系

依赖(Dependency)即使用关系,为单方向的虚线。来源:https://www.wubayue.com
<全文完>
UML用例图-UML Use Case Diagram的更多相关文章
- 【UML】NO.46.EBook.5.UML.1.006-【UML 大战需求分析】- 用例图(Use Case Diagram)
1.0.0 Summary Tittle:[UML]NO.46.EBook.1.UML.1.006-[UML 大战需求分析]- 用例图(Use Case Diagram) Style:DesignPa ...
- UML建模——用例图(Use Case Diagram)
用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...
- 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
时序图 用例图
- 机房收费系统——UML用例图
用例图(Use Case Diagram)是由软件需求分析到终于实现的第一步,说明的是谁要使用系统,以及他们使用该系统能够做些什么,是九种图里面最为基础且很重要的一张图. 用例图包含3方面内容 ...
- UML用例图中泛化、扩展、包括
在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...
- UML用例图之间的关系
在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...
- 【UML】用例图Use Case diagram(转)
http://blog.csdn.net/sds15732622190/article/details/48858219 前言 总结完UML概述,就该说道UML中的九种图了,这九种图中,最先要说的,就 ...
- UML系列01之 UML用例图
UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言. UML是在开发阶段,说明,可视化,构建和书写一个面 ...
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [转载]UML用例图总结
前言 用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示一个外部用户能够观察到的系统功能模型图.用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系 ...
随机推荐
- GeoServer简介
GeoServer简介 GeoServer的地图服务主要通过以下几个层次进行组织 工作区(Workspace):工作区是GeoServer中的顶级组织单位,通常用于区分不同的项目或用户.每个工作区可以 ...
- AI对开发过程的替代性
在过去一年投入人工智能辅助开发之后,虽然大家说使用了人工智能之后工作效率显着提高,但我们日常使用的实际软件似乎并没有明显改善.所以问题出现在哪里? 使用场景 目前团队AI使用主要在以下方面: 代码补全 ...
- 支付宝分布式事务服务-DTS
分布式事务服务简介 注意:为向用户提供更加优质的服务,蚂蚁金融云已对中间件产品完成进一步升级改造,并计划于 2018 年 3 月 31 日下线本产品. 分布式事务服务(Distributed Tran ...
- rabbitmq部署及配置与验证-copy
1. 场景描述 朋友项目需要弄个测试环境,稍微帮忙了下,系统不复杂,但是需要自己安装mysql.Reids.Es.RabbitMq等,Mq主要用在同步用户信息与发送站内消息和短信上,RabbitMq以 ...
- biancheng-HBase
目录http://c.biancheng.net/view/6509.html 1HBase是什么?2HBase的优势有哪些?3Hadoop与HBase的关系4HDFS5HDFS的特点与使用场景6HB ...
- ctfshow--红包题第二弹 临时文件命令执行
上来先代码审计 点击查看代码 <?php if(isset($_GET['cmd'])){ $cmd=$_GET['cmd']; highlight_file(__FILE__); if(pre ...
- 「TC SRM625 D1L3」Seatfriends
思路 首先,对于计数题,不是 \(\text{dp}\) 就是排列组合,这题多思考一会儿就发现单纯 \(\text{dp}\) 和排列组合是做不出来的.然后激动人心地发现,这题是 \(\text{dp ...
- 使用SOUI播放视频
播放视频是一个常规需求. 如果将每一个视频帧转换成rgb格式,再使用gdi贴图,效率会很低,只能适合分辨率很低的视频,1080P全屏软渲染一般的电脑都撑不住. 因此渲染视频通常需要启用硬件渲染.开启硬 ...
- 一个 .NET 开源、免费、功能强大的Windows应用卸载神器
前言 今天大姚给大家分享一个基于 .NET 开源(Apache License).免费.功能强大的Windows应用卸载神器:Bulk Crap Uninstaller. 项目介绍 Bulk Crap ...
- 从DNS配置到Pacemaker部署:一步步教你在Linux平台上实现AlwaysOn集群
从DNS配置到Pacemaker部署:一步步教你在Linux平台上实现AlwaysOn集群 AlwaysOn集群是SQL Server里唯一推荐的高可用性架构, 在AlwaysOn高可用性架构中,有非 ...