news 2026/7/16 3:08:49

【需求工程】 建模功能和流程(L3)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【需求工程】 建模功能和流程(L3)

EU 3.4.4 建模功能和流程(L3)

动态模型:活动模型(Activity Model) 和 过程模型(Process Model)。

很多初学者会把它们混为一谈,但 IREB 告诉你:两者关注的“粒度”和“视角”完全不同。 我帮你把它拆解为 “两个层次、三个核心要素、两个工具选型”,你就彻底通透了。


一、先搞清楚本质区别:活动模型 vs 过程模型

维度活动模型(Activity Model)过程模型(Process Model)
核心关注点系统内部“怎么做”(算法逻辑)业务/技术领域“怎么走”(协作流程)
目标指定系统功能的内部实现步骤描述现实世界的业务流转或技术工序
典型提问系统接到指令后,内部执行了哪几步计算?一笔订单从创建到发货,经历了哪些部门和系统?
谁负责看程序员、系统架构师(偏向技术实现)业务方、产品经理、流程优化专家(偏向业务沟通)
建模语言通常用UML 活动图可用UML 活动图,但更推荐BPMN(业务流程建模符号)

实战对比案例:

活动模型(系统内):“用户点击支付后,系统内部校验余额、冻结库存、生成流水号”这三步的逻辑顺序和异常回滚。
过程模型(业务间):“客户下单 → 系统扣库存 → 银行扣款 → 仓库备货 → 物流揽收”跨系统、跨部门的整个价值链流转。


二、这类模型要抓牢的“三大核心要素”

无论是活动模型还是过程模型,你在画图时都必须把以下三件事交代清楚(原文的强调点):

1. 行动的顺序(Sequence of Actions)

白话:先迈左脚还是先迈右脚?
实战:必须“冻结库存”成功了,才能“生成支付链接”。顺序错了,就会出现“扣了用户的钱,但库存没锁住”的超卖事故。

2. 控制流与数据流(Control Flow & Data Flow)

白话

  • 控制流:告诉箭头下一步往哪走(是顺序执行、条件分支 [if/else],还是并行分叉 [fork])。
  • 数据流:在步骤之间传递了什么“材料”(比如第一步计算出的“应付金额”,传给第二步的“支付网关”去扣款)。

3. 责任分配(Who is responsible)

白话:这步活到底归谁干?是系统自动干,还是人工干,或是外部系统干?
建模技巧:在 UML 活动图或 BPMN 中,利用“泳道(Swimlane)”来实现。比如:上面一行是“用户”,中间一行是“订单系统”,下面一行是“支付系统”。哪个动作落在哪个泳道,就代表由谁负责。


三、工具选型指南:什么时候用 UML 活动图,什么时候用 BPMN?

这是很多人纠结的点,原文其实已经给了明确的暗示:

  • 用 UML 活动图(UML Activity Diagram)的场景:

    • 面向技术实现:你是在画程序内部的逻辑(如“重试机制”、“递归算法”)。
    • 兼顾控制流与数据流:UML 活动图既能画箭头跳转,又能画“输入/输出”的数据引脚(Pin),非常适合系统设计阶段的详细规格说明。
  • 用 BPMN(或专门的过程建模语言)的场景:

    • 面向业务沟通:你需要跟业务部门开会评审,BPMN 在表示“事件(如消息到达)”、“网关(复杂分支)”和“人工任务”上比 UML 更专业。
    • 跨系统/跨组织流程:涉及多个合作伙伴、外部系统的端到端流程梳理。BPMN 天生就是做这个的,且业务方更容易看懂。

一句话决策公式:

如果你是在做“详细设计,写给程序员看的”,优先 UML 活动图;如果你是在做“业务梳理,准备拉各方大佬开评审会的”,优先 BPMN。


总结一句口诀

“活动模型管‘内功’(系统实现步骤),过程模型管‘外功’(业务流转生态);前者看重数据与跳转,后者看重角色与协作;工具无好坏,BPMN 讲业务,UML 讲实现——看人下菜碟,才是真高手!”😊

BPMN图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 3:06:12

c#值类型和引用类型

引用类型,所以改变其中一个对象值,另一个对象的值也跟着改变:补充:c#参考文档: c# language reference

作者头像 李华
网站建设 2026/7/16 3:05:13

C++部署机器学习模型:从ONNX转换到性能优化的10个实战避坑指南

1. 项目概述:为什么C部署机器学习模型是个“技术深水区”?如果你是一名C工程师,最近被老板或项目要求把一个在Python里跑得好好的机器学习模型,集成到C的生产环境里,那你大概率已经或即将踏入一个充满“惊喜”的领域。…

作者头像 李华
网站建设 2026/7/16 3:04:39

C语言野指针:从入门到“入土”避坑指南

别让指针“野”起来,否则你的程序会“疯”起来什么是野指针?野指针就是指向非法内存地址的指针。它不像NULL指针(空指针)那么“老实”,野指针乱指一通,你不知道它指向哪里,更不知道那里有什么。…

作者头像 李华
网站建设 2026/7/16 3:04:35

C语言解引用操作符(*)一看就懂

指针入门必知:* 不只是乘法,还能“取内容”一. 什么是指针?先记住一句话:指针就是存放地址的变量。int a 10; int *p &a; // p 里存的是变量 a 的地址p 就是个指针变量,它“指向”了 a。二. 解引用操作符 * 是…

作者头像 李华
网站建设 2026/7/16 3:03:21

ChatGPT提示词转应用:从静态模板到动态Web工具的实践指南

如果你还在为每次使用ChatGPT都要重新输入复杂的提示词而烦恼,或者觉得那些精心设计的提示词只能一次性使用太可惜,那么ChatGPT Sites的"提示词转应用"功能可能会改变你的工作方式。这个功能的核心价值在于:将静态的提示词转化为可…

作者头像 李华
网站建设 2026/7/16 3:03:05

PrivaZer深度清理:彻底擦除Windows隐私数据与释放磁盘空间

在 Windows 系统长期使用过程中,C 盘空间不足和隐私数据残留是两个最常见的问题。普通清理工具往往只删除文件索引,而文件内容仍残留在磁盘空闲区域,专业数据恢复软件可以轻易还原这些"已删除"的敏感信息。PrivaZer 作为专业的隐私…

作者头像 李华