领域建模问题之领域模型中的四步建模是什么

简介: 领域建模问题之领域模型中的四步建模是什么

问题一:领域建模中的四步建模是什么

领域建模中的四步建模是什么


参考回答:

四步建模包括以下四个步骤:

1. 选名词:这一步是从需求用例中选出所有名词,并通过一定原则去伪存真,选出符合要求的名词作为领域模型中的实体。

2. 找动词:在此步骤中,需要找出所有动词,并判断这些动词是否属于上一步选出的名词(实体)所具有的行为。

3. 加属性:找出所有属性,并判断这些属性是否属于之前选出的名词(实体)所具有的特征。

4. 连关系:最后一步是确定实体和实体之间的协作关系,以建立起完整的领域模型。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618300



问题二:以下用户购买商品案例中,建模步骤第一步选名词可以选出哪些?

以下用户购买商品案例中,建模步骤第一步选名词可以选出哪些?


参考回答:

从用例上选的名词如下:用户、购物app、商品、用户档案、用户名称、地址、商家、订单、子订单、支付方式、银行卡、支付宝、微信。通过这种方式可以很轻松的识别领域中的相关概念,但选取的名词并不一定都是领域相关的,所以接下来还需要进一步的提炼。提炼过程

• 删除"购物app":购物app只是一个功能的载体,并不属于购买商品流量里的一个领域概念,所以删掉

• 删除"用户名称" :用户名称只是用户的一个属性,并不是领域概念

• 删除"地址" :地址只是用户档案的一个属性,并不是领域概念

• 删除"银行卡、支付宝、微信、支付方式":银行卡、支付宝、微信属于支付方式的一种具体形式,而支付方式可以归属为订单的一个属性,并不是独立的领域概念

所以最终提取的领域实体是:用户、商品、用户档案、子订单、订单、商家


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618301



问题三:以下用户购买商品案例中,建模步骤第二步选动词可以选出哪些?

以下用户购买商品案例中,建模步骤第二步选动词可以选出哪些?


参考回答:

从用例上选的动词如下:选取、汇总、下单、保存、支付、取消

找动词的目的是反向检查是否有遗漏的实体没有提炼出来,因为有些隐含的概念并不一定能在用例里找到,且一个动作必归属于一个实体。如果有发现动作没有归属实体只有2种情况,一是这个动作不属于这个领域,二是有遗漏的实体没有提取出来。经过分析 "选取" 是用户主观的一种行为,并不属于这个领域所以删掉,"下单、汇总、保存、支付、取消" 都属于订单的动作。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618302



问题四:以下用户购买商品案例中,建模步骤第三步加属性怎么做?

以下用户购买商品案例中,建模步骤第三步加属性怎么做?


参考回答:

理论上产品同学要在用例上把模型的所有属性全部列出来,但现实情况不一定能做到,这时除了用例还需要当面和产品对焦清楚各个模型的属性。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618303



问题五:以下用户购买商品案例中,建模步骤第四步连关系应该怎么做?

以下用户购买商品案例中,建模步骤第四步连关系应该怎么做?


参考回答:

关系主要表达模型和模型之间怎样协作

关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/618304

相关文章
|
SQL 设计模式 数据库
领域模型:贫血模型与充血模型的深度解析
领域模型:贫血模型与充血模型的深度解析
|
3月前
|
uml
建模底层逻辑问题之在建模时,对现实进行抽象该如何操作
建模底层逻辑问题之在建模时,对现实进行抽象该如何操作
|
4月前
|
NoSQL Redis UED
业务架构问题之在流程建模中,“定职责”的重要性是什么,流程建模中的交互设计原则是什么
业务架构问题之在流程建模中,“定职责”的重要性是什么,流程建模中的交互设计原则是什么
|
6月前
|
敏捷开发 监控 架构师
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(构建领域知识)
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(构建领域知识)
185 0
「数据架构」TOGAF建模:概念数据模型图
「数据架构」TOGAF建模:概念数据模型图
|
人机交互
领域驱动设计总结——如何运用模型
本文为领域驱动设计系列总结的第二篇,主要对领域驱动设计概念做个介绍,本系列领域驱动设计总结主要是在Eric Evans 所编写的《领域驱动设计》 一书的基础上进行归纳和总结。本文主要介绍在领域驱动设计中如何运用模型
122 0
|
编译器 领域建模 Scala
代数数据类型与领域建模
代数数据类型与领域建模
|
Java 领域建模 数据库
为什么我们需要正确地领域建模
为什么我们需要正确地领域建模
|
前端开发 Oracle 关系型数据库
【代码分层结构设计】思想学习
本文主要摘录个人写代码的心得体会。
159 0