.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前言

2UML用例图中的元素

2.1用例

2.2参与者

2.3系统

2.4子系统

3UML用例图中的关系

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的更多相关文章

  1. 【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 ...

  2. UML建模——用例图(Use Case Diagram)

    用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...

  3. 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)

    时序图 用例图

  4. 机房收费系统——UML用例图

    用例图(Use Case Diagram)是由软件需求分析到终于实现的第一步,说明的是谁要使用系统,以及他们使用该系统能够做些什么,是九种图里面最为基础且很重要的一张图.     用例图包含3方面内容 ...

  5. UML用例图中泛化、扩展、包括

    在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...

  6. UML用例图之间的关系

    在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...

  7. 【UML】用例图Use Case diagram(转)

    http://blog.csdn.net/sds15732622190/article/details/48858219 前言 总结完UML概述,就该说道UML中的九种图了,这九种图中,最先要说的,就 ...

  8. UML系列01之 UML用例图

    UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言. UML是在开发阶段,说明,可视化,构建和书写一个面 ...

  9. [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图

    [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图  1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...

  10. [转载]UML用例图总结

    前言 用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示一个外部用户能够观察到的系统功能模型图.用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系 ...

随机推荐

  1. 关于动态使用keepAlive不生效的问题

    首先,我想实现在返回页面时,页面不进行刷新,比如我原先选择的第四页,返回后显示了第一页 想到使用keepAlive缓存组件,大部分推荐的方法为这样,但是不生效 <keep-alive v-if= ...

  2. selenium等待的三种方式(详细)

    1.强制等待 time.sleep(3) 这种方式会是操作强行等待3s才会进行下一步操作,但是这种放法,可能会延长测试的时间,如果元素在1s中出现,就会浪费2s的时间,并且这种放法单次有效,每次需要等 ...

  3. 包装类(Wrapper) 的使用

    package com.ch.java2; import org.junit.Test; /* * 包装类的使用: * 1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特 ...

  4. 记录在本地电脑部署自己的DeepSeek 大模型AI

    大家新年好呀,年初二给各位拜年啦,祝各位新年身体健康,工作顺利,万事如意,开心快乐每一天! 前言: 这几天看到很多DeepSeek的热点新闻(火的不行呀),去了解下这个AI,然后自己试了下本地部署,发 ...

  5. SPICE协议浅析

    本文分享自天翼云开发者社区<SPICE协议浅析>,作者:王****均 云环境中根据使用场景不同,有多种远程控制台传输协议,如SPICE.VNC.RDP等. SPICE是Simple Pro ...

  6. 再次使用layui遇见问题

    Layui似乎只接收data里的数据,所以只能使用这个方式把原有数据放入dataparseData: function (res) { //res 即为原始返回的数据 return { "c ...

  7. 硬件设计:逻辑电平--LVDS

    参考资料:关于LVDS电平 LVDS电平 PECL.LVDS和CML电平 高速数字逻辑电平(8)之LVDS LVDS自学笔记 LVDS用户手册 LVDS和M-LVDS电路实施指南 LVDS(Low-V ...

  8. 降阶公式/ARC173F

    ARC173F 题意 给定 \(n,A,B\),初始有一个集合 \(S=\{1,2,\dots,A,A +1,A+2,\dots,A+B\}\).进行如下操作 \(n-1\) 次使得剩下 \(n\) ...

  9. Doris BloomFilter原理

    1.Bloom Filter的核心是一个[m]位的bitset和[k]个hash函数. 初始时bitset中所有位的值都设置为0,假设取[m = 10],[k = 3],用蓝色表示某位为0,红色表示为 ...

  10. DeepSeek本地部署

    一.ollama ollama是一个管理和运行所有大模型.开源大模型的平台.在官网的Models中可以看到deepseek-r1的AI模型 1.在官网中下载对应系统的ollama,下载时需要开墙,或者 ...