惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
I
Intezer
T
Tenable Blog
S
Schneier on Security
Project Zero
Project Zero
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
Know Your Adversary
Know Your Adversary
博客园 - 司徒正美
The Cloudflare Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
博客园 - 叶小钗
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题
aimingoo的专栏
aimingoo的专栏
S
Secure Thoughts
Forbes - Security
Forbes - Security
T
The Exploit Database - CXSecurity.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
罗磊的独立博客
IT之家
IT之家
H
Hacker News: Front Page
I
InfoQ
云风的 BLOG
云风的 BLOG
S
Security Affairs
M
MIT News - Artificial intelligence
GbyAI
GbyAI
Jina AI
Jina AI
Help Net Security
Help Net Security
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
Attack and Defense Labs
Attack and Defense Labs
The Register - Security
The Register - Security
V
V2EX
G
Google Developers Blog
D
DataBreaches.Net
Apple Machine Learning Research
Apple Machine Learning Research
C
Cybersecurity and Infrastructure Security Agency CISA
J
Java Code Geeks
W
WeLiveSecurity
Cloudbric
Cloudbric
T
Tor Project blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
UML入门使用指南
没汤圆啦 · 2023-09-11 · via 人人都是产品经理

UML可以理解为一种标准化建模语言,主要用于系统描述与业务建模,那么,如何使用UML?这篇文章里,作者就进行了拆解分析,并对类图、用例图等类型进行详解,一起来看看吧。

一、WHAT?

什么是UML?

从网上了解到的UML的定义:UML(Unified Modeling Language)是统一建模语言的缩写,是一种标准化建模语言,由一组集成图组成,旨在帮助系统和软件开发人员指定、可视化、构建和记录软件系统的工件,以及用于业务建模和其他非软件系统。

从定义中了解到的关键字为UML是一种标准化建模语言,包含各种可视化集成图,主要用于系统描述和业务建模。

二、WHY?

为什么需要UML?

在需求沟通方面,系统研发过程中包含了各类参与者,包含项目经理、产品经理、研发和测试,使用UML在于信息交互时的标准化,标准化的信息可以最大限度的降低沟通成本和减少沟通漏斗。

在系统设计方面,在使用UML时,可对现实中的业务需求,通过建模,将现实生活中的业务活动真实映射到对应的图形中,最大程度还原业务需求。

在系统描述方面,通过UML的静态和动态图形(语言),可以让阅读者最快速、最全面的了解到整个系统是如何构成和运行的。

三、HOW?

如何使用UML?

UML是开发面向对象软件和软件开发过程中非常重要的一部分,分为结构型和行为型的图。

1. 结构型

结构型(structure diagram):结构型的图描述是某种结构,这种结构在某段时间内应该是稳定的、“静态”的。

结构型图包含类图(class diagram)、对象图(object diagram)、结构图(component diagram)、部署图(deployment diagram)和包图(package diagram)。

类图为必须会的结构型图,主用作分析业务概念。

结构图、部署图主用作分析IT基础架构、软件架构。

对象图、包图则很少使用。

2. 行为型

行为型(behavior diagram)的图描述的是某种行为,是“动态”的。

行为型图包含活动图(activity diagram)、状态机图(state diagram)、时序图(sequence diagram)、通信图(communication diagram)和用例图(use case diagram)。

活动图、状态机图、时序图为必须会的行为型图,主用作分析业务流程,大部分情况下至少会用到其中两种图。

用例图也为必须会的行为型图。

通信图则很少使用。

由此可见,掌握UML中的20%,就能解决需求分析中的80%的问题。

不同图形的使用,没有规定的先后顺序,但一定会交叉使用,不断迭代对应的图形,最终得到终版。

3.1 类图

类图是锻炼面向对象分析和面向对象设计思想的重要工具,是业务结构建模的重要工具,也是其他图形的基础。

类图是用来展示系统中类的静态结构和类之间的关系,类图中的基础元素包含类和接口。

1)结构

类图分为三层去表示,第一层为类名称、第二层为类属性、第三层为类的方法。

在需求分析过程中,均使用中文即可,类的属性值和方法值类型可根据自己的要求去补充。

值类型为字符串(string)、日期(date)、整数(int)、小数(double)和布尔(boolean)类型。

2)关系

类图包含3类5种关系,包含泛化 (Generalization) 、实现(Realization)和关联(Association)三大类,关联关系又包含聚合 (Aggregation)、组合(Composition)和依赖(Dependency)。

a)泛化

关系说明:类的泛化是将具体抽象成抽象类,抽象类表示这种类是提炼出来的一种概念,不是具体存在的,具体类具有抽象类的属性和方法,可用‘is a’理解。

表示方法:由继承类(具体类)实线空心箭头指向被继承类(抽象类)。

举例说明:学生 is 用户。

b)关联

关系说明:关联是一种拥有关系,关联可以是单向的也可以是双向的,单向关联只会有一个箭头,双向关联可以两个箭头或者没有箭头。

表示方法:由拥有者实线实心箭头指向被拥有者。

多重性:多重性表达在连线末端,表示两个类之间的数量关系。

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个
  • 1..*:表示1到多个

举例说明:老师拥有学生,老师可以拥有很多学生,学生也可以有很多老师,所以二者是双向关联。

c)聚合

关系说明:聚合是整体和部分的一种关系,部分可以脱离整体而存在,整体和部分各自有自己的生命周期,可用‘has a’理解。

表示方法:由部分实线空心棱形箭头指向整体。

多重性:多重性表达在连线末端,表示两个类之间的数量关系。

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个
  • 1..*:表示1到多个

举例说明:部门和员工的关系,部门可以有多名员工,员工也可属于多个部门,部门的撤销并不会导致员工的消失。

d)组合

关系说明:聚合是整体和部分的一种关系,部分不可脱离整体而存在,部分依托于整体,可用‘contains a’理解。

表示方法:由部分实线实心棱形箭头指向整体。

多重性:多重性表达在连线末端,表示两个类之间的数量关系。

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个
  • 1..*:表示1到多个

举例说明:员工和员工卡的关系,员工可以没有或者一张员工卡,员工卡也只可属于某一个员工,不可属于多名员工。

e)依赖

关系说明:依赖是两个类的弱关联关系,是偶发性的,可用‘use a’理解。

表示方法:由使用方虚线箭头指向被使用方。

举例说明:员工和笔的关系,在某些需要书写的场景员工会使用笔。

f)实现

关系说明:实现为接口和类的关系,需求分析时用的较少。

表示方法:由类虚线空心三角箭头指向接口。

举例说明:登录接口实现员工的登录。

3)类图的使用

类图分析需求基本步骤:

  1. 识别出类
  2. 识别出类的基本属性
  3. 描绘出类之间的关系
  4. 对各类进行分析、抽象、整理

在使用类图的过程中,类之间的关系是因实际不同的业务形态,关系也会有所不同。

例如,针对车和轮胎这两类。

在二手车场景中,二者就是聚合关系。轮胎是车辆的组成部分,但是车也可以替换轮胎,替换下来的轮胎也可给其他车辆使用。

在车辆运行场景中,二者就是组合关系,车脱离轮胎后将无法运行。

因此,在类图的使用过程中,一定要注重业务形态。

3.2 用例图

用例图是旨在描述系统使用用户眼中系统的功能行为。

用例图需包含参与者(actor)、用例(use case)和用例之间的关系(association)。

1)参与者

参与者表示参与和使用系统的一类角色。例如,用户就是商城系统的参与者。

要精准把握参与者,需要注意以下几点:

  1. 参与者位于系统之外,自身不属于系统结构之中;
  2. 参与者是抽象的一类角色,而不是具体的对象。例如,即用户是参与者,但是具体的用户‘张三’不是参与者;
  3. 参与者不一定是人,也可是外部系统。例如,wms系统也可能是商城系统的参与者。

UML中用一个人表示参与者,可对不同的参与者进行命名。

2)用例

每一个椭圆表示一个用例,每个用例表示系统提供的一类功能。

3)关系

用例之间的关系包含三种,分别是包含、继承和拓展。

a)包含

关系说明:包含关系表示主用例包含子用例。

表示方法:由主用例虚线实心箭头指向子用例,虚线上标注《include》。

举例说明:用户在账密登录的时候,包含输入账号、输入密码、确认登陆这三个子用例。

b)继承

继承分为用例的继承和角色的继承。

① 用例的继承

关系说明:继承关系的两个例子所处不同抽象层,被继承的用例是继承用例更抽象的用例。

表示方法:由继承用例(具体用例)实线空心箭头指向被继承用例(抽象用例),实线线上不标注内容。

举例说明:用户在登录系统的时候,可以有账密登录、微信扫码登录这两种方式。

② 角色的继承

关系说明:继承者是对被继承者的更具体的角色,继承者拥有被继承者的所有用例,且继承者具备特有用例。

表示方法:由继承者实线空心箭头指向被继承者,实线线上不标注内容。

举例说明:普通用户只有查看数据的权限,高级用户还会有管理数据的权限。

c)拓展

关系说明:拓展关系是在基础用例上在特定场景下功能拓展,拓展用例是对基础用例的补充。

表示方法:由拓展用例实线实心箭头指向基础用例,实线线上标注《extend》。

举例说明:用户在登录系统的时候,在忘记密码的情况下可以有忘记密码这个操作。

3.3 活动图

1)元素

活动图也就是平常我们所说的流程图,具体元素包含以下:

  • 开始节点:实心圆,表示活动图的开始,一个活动图中仅有一个
  • 结束节点:圆圈内加个实心圆,表示活动图的结束,一个活动图中可以有多个
  • 活动:圆角矩形,表示活动
  • 转换:实线箭头,两个活动上一活动指向下一活动
  • 分支和监护条件:棱形表示分支,分支连接的转换上标注监护条件
  • 分叉/汇合:分叉表示两个或者多个并发运行的分支,每个分支都是相互独立;汇合表示两个或者多个分支全部完成之后,才可进入下一节点

2)活动图的使用

例如:比如在申请加盟商入驻的场景,文字版描述如下:

  1. 加盟商需申请入驻平台
  2. 入驻平台前需先完成个人资料维护、公司资料的维护
  3. 后台人员需对资料进行审核,审核通过则入驻完成,审核不通过则需重新维护资料

3.4 状态机图

状态机图描述了一个的对象在生命周期内的各种状态和对应的转换条件,配合活动图能简洁扼要的描述对应的业务流程。

1)元素

状态机图包含元素如下:

  • 开始状态:实心圆,表示状态机图的开始,一个状态机图中仅有一个
  • 结束状态:圆圈内加个实心圆,表示状态机图的结束,一个状态机图中可以有多个
  • 状态:圆角矩形,表示状态
  • 转换:实线箭头,表示两个状态之间的关系,当满足事件时,由上一个状态指向下一个状态
  • 事件:标注在实线箭头之上,表示特定的动作或行为

2)状态机图的使用

上例在申请加盟商入驻的场景中状态机图如下:

3.5 时序图

也就是顺序图,强调时间维度下不同对象的消息交互。

1)元素

时序图的元素包含如下:

  • 对象/生命线:表示参与交互的对象。每个对象下方都连接着一条生命线(虚线),时序图中可以包含多个对象/生命线
  • 会话:对象被激活时,生命线上会出现一个长条,即会话,表示一次交互。
  • 消息:表示对象间的消息通信,由一个对象的生命线指向另一个对象的生命线,包含调用消息和返回消息,其中返回消息分为同步消息和异步消息:

2)时序图的使用

在用户登录的场景,文字版描述如下:

  1. 用户在系统登录页「输入账密」
  2. 用户「点击登录」按钮
  3. 登录模块「发送登录数据」到权限验证模块
  4. 用户模块对登录数据进行「权限验证」
  5. 验证成功,则系统「进入主页面」;验证失败,则「清空密码」并且「提示密码错误」

四、总结

本文从WHAT、WHY和HOW三个维度介绍了UML,从这三方面读者能对UML有个粗略的认识。

类图、用例图、活动图、状态机图和时序图这五种使用频率较高的图熟练使用后,应该算是基础入门了,对于需求分析也许会有较大的帮助,也许没有,这些都因人而异。

UML终究是一种思考方式,了解了基础使用之后,还是要多实践。

这篇文章于我而言算是阶段性的总结,希望对你也有用。

本文由@没汤圆啦 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。提供信息存储空间服务。