本体建模,应该面向实体还是面向业务?
来源:互联网
时间:2026-06-27 13:35:46
做本体建模时,到底是先想“有什么”(实体/对象),还是先想“做什么”(业务/过程)?换句话说,该面向实体(对象)建模,还是面向业务(过程)建模?
在传统面向对象分析和系统设计中,大家习惯先识别对象——客户、订单、产品、仓库,再定义它们之间的关系和属性。这种“对象优先”的思路根深蒂固,以至于很多人认为这是不证自明的:本体建模,不就是把业务中的核心实体(对象)抽象出来吗?
但事情没那么简单。
两种思路,两种世界观
“面向实体”的建模思路,本质上是
静态世界观
“面向业务(过程)”的建模思路则截然不同。它认为
业务是动词驱动的
OPL国家标准:过程是第一性的
正在制定的国家标准《自动化系统与集成 对象过程语言(OPL)》给出了一个清晰的答案。标准明确将“对象、过程和关系”定义为
事物的三种特征
过程不能用动宾短语命名
为什么?因为“烧水”把过程绑定在了“水”这个对象上,导致这个“加热”过程无法复用于“加热油”或“加热空气”。
过程是独立于对象的第一性存在,不应沦为对象的附属品。
标准第4.7节(角色概念模型)进一步揭示了一个重要原则:当你定义好一个“运输”过程后,再去问——“谁负责(主体)?用什么(手段)?影响了谁(客体)?消耗了什么(资源)?”
此时,对象才作为过程的“角色”被识别出来
这就像拍电影:
过程是剧本,对象是演员
为什么“面向业务”更符合认知规律?
人类认识世界,从来不是通过“静态快照”。我们观察到水烧开了(过程),才知道“水”和“火”的存在;观察到货物被运输了(过程),才知道“卡车”和“道路”的价值。
没有过程,对象就失去了被关注的意义。
更重要的是,
业务的“开放性”决定了面向过程建模的优越性
OPM(对象过程方法论)的核心机制正是“
过程改变对象状态
结论:过程作骨架,对象作血肉
本体建模应该
面向业务(过程)
- :
顶层架构
。先定义系统的核心任务和功能,这些过程构成模型的主干,且可以无限扩展。绝对面向过程
- :
底层实现
。按照OPL的角色概念模型,去问主体、手段、客体、资源分别是什么。为过程配置角色
本体建模的本质,是在模拟
“世界的流变”
最后一个建议
如果你准备动手建模,不妨先用
疑问句式
毕竟,世界不是静止的陈列馆,而是一场永不停息的演出。