什么是领域建模,盘点领域建模的思想和方法

领域建模刍议(一):
区分问题领域和问题解决领域
【什么是领域建模,盘点领域建模的思想和方法】域和域模型
俗话说 , 每个人心中都有一个哈姆雷特 , 每个人心中都有一个定义域模型的定义 。
常见的有:
声明:我理解的领域是对业务工作进行分类和划分 。分类的方式是业务工作有相关知识 , 构成一个领域 。这些知识是业务工作的背景 。通过对领域的分析 , 可以帮助我们挖掘、分析和理解业务工作的本质 。换句话说 , 领域是为需求分析工作服务的 , 其目的是挖掘、分析和理解业务工作的本质 。
2:领域模型是领域中概念类和现实世界中对象的可视化表示 。
声明:企业应用架构模式中明确提出了三种领域逻辑组织模式:事务脚本、领域模型、表模块 。领域模型将行为和数据作为领域逻辑的核心 。
从以上三种说法 , 可以看出不同语境下的不同观点 , 甚至可能不是同一个表达对象 。企业架构模式下的领域模型是一个从设计到实现的概念 , 而语句1和语句2的领域是一个业务层面和分析阶段的概念 。因此 , 本文专门从业务角度将【领域模型】称为模型 , 引用定义如下:
场:相对于制度 , 是制度不得不解决的实际问题 。
领域模型是领域中概念类或现实世界中对象的可视化表示(百度)
领域是特定问题所有相关方面的抽象模型(维基百科) 。
思考 , 如何对上图中的元素进行建模?
领域建模的好处
领域建模的好处是什么?
不同的角色统一了语言和认知
如上图所示 , 客户的需求已经变得面目全非 , 每个加工制造环节都认为自己在做正确的事情 。你不会一次又一次地看到这样生动的情景:
产品经理宣讲prd , 产品经理需要把名词翻译到业务端和开发者端 , 分别是一个业务语言和一个技术语言 。
几个建筑师在黑屋子里争论了很久 , 争论一个术语的定义 。比如什么是支付?百度的解释:社会经济活动引起的货币债权转移过程 。包括:交易、清算和结算 。
那么以下几种情况是否属于给付的范畴 , 可以根据其内涵进行比较 。
用户A转账给B 。用户通过某某网站还信用卡 。用户在天猫购买了一个东西 , 使用花呗付款 。可见 , 明确的统一语言是很重要的 , 让利益相关者明白正在讨论的是一回事 。
描述业务的本质并抓住要点
比如在支付宝的发展中 , 我们先后使用了红包、实时优惠、商家优惠券等产品 。这是烟囱建筑发展的产物 。
业内还有其他类似优惠券的东西 , 如下图所示:
让我们来看看这三款产品:
1.对于商家或者组织来说 , 这些产品能不能叫 , 能不能卖给商家包括收费 。
2.用户需要明白这三样东西是不一样的吗?这些认知对营销、交易便利、品牌有什么好处?
3.对于支付宝平台 , 他们的管理模式有什么区别?
4.对于技术团队来说 , 可以抽象吗?
后来 , 我们对产品形成了如下定义:
凭证定义:
它是票据的一种 , 作为签发人和所有人之间的凭证 , 具有一定的价值和法律效力 。
相关利益攸关方:
凭证的发行人[提供利息]
凭证的所有者[享有权益]
优惠券的发行工具【是优惠券发行人向持有人发放优惠券凭证的工具】
凭证表单:
按媒介分类:纸质凭证和电子凭证 。
按用途分类:入场券、礼券、送券、代金券、红包、优惠卡、满减卡等 。
代金券可以作为基础产品 , 在商业形式上可以包装成用户感知的【产品】或【营销工具】 , 比如打折卡、满减卡等 。
域模型=ER?
领域模型是ER模型吗?答案是否定的 , 领域模型是特定业务领域中业务实体关系的自然出现 , er是设计阶段数据库实现关系的产物 。
如下图所示 , 特定业务领域的自然人有两种 , 一种是客户 , 一种是员工 。
但就其实现而言 , 数据库设计有很多种形式 。
领域建模=DDD?
当谈到领域建模时 , 提到DDD是每个人的自然反应 。因为DDD(著名建模专家EricEvans在2004年出版了他最有影响力的书:领域驱动设计——在软件的核心解决复杂性)是众所周知的 。我的观点是 , 领域模型的生成是分析阶段的产物 , 分析是对需求和需求背后相关内容的挖掘 , 而不是创造内容 。DDD , 顾名思义 , 就是模型驱动设计 , 是一种从需求开放到设计阶段的方法 。


推荐阅读