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用例图总结
前言 用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示一个外部用户能够观察到的系统功能模型图.用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系 ...
随机推荐
- docker和主机之间文件传输
docker和主机之间文件传输 1.从docker内部向主机传输文件 语法: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- 示例:将容器96f7 ...
- Ubuntu Jack-server报错解决方案
报错关键部分如下: Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log 究其原因 ...
- Github配置SSH避免远程提交重复输入用户名密码
一. 前言 Logon failed, use ctrl+c to cancel basic credential prompt. 是不是提交会遇到上述错误,每次远程提交至Github需要重新输入用户 ...
- 第十章 Executors源码解析
1.Executors与ThreadPoolExecutor ThreadPoolExecutor 可以灵活的自定义的创建线程池,可定制性很高 想创建好一个合适的线程池比较难 使用稍微麻烦一些 实际中 ...
- biancheng-Spring Cloud教程
目录http://c.biancheng.net/springcloud/ 1微服务是什么2Spring Cloud是什么3Spring Cloud Eureka4Spring Cloud Ribbo ...
- 插入dp学习笔记
定义 插入 \(\text{dp}\) 适用于计数.求最优解且具有选择.排列元素过程等题目. 插入 \(\text{dp}\) 大致分为两类: 乱搞型:状态定义天马行空,但始终围绕着将新元素插入到旧元 ...
- oracle下批量增加序列值
感谢renjixinchina分享 原文链接http://blog.itpub.net/15747463/viewspace-751593/ oracle下批量增加序列值.批量滚动序列 declare ...
- 0511-Properties集合
package A10_IOStream; import java.io.*; import java.util.Properties; import java.util.Set; /* java.u ...
- DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
前言 最近 DeepSeek 狠狠刷了一波屏,国产大模型真的越来越厉害了,官方的服务器已经爆满了,以至于频繁出现反应迟缓甚至宕机的情况,和两年多之前 ChatGPT 的遭遇颇为相似. 我已经好久没有本 ...
- hashmap为什么要引入红黑树?
在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依 ...