标签:文本 没有 OLE 状态 图片 别名 父节点 inter 分析
一.领域建模Domain Modeling定义
领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也成为概念模型、领域对象模型和分析对象模型。
二.业务领域建模原因
三.模型(Model)通常由2部分组成:
1.对象(Object)
2.对象间的关系(Relationship)
四.领域建模(Domain Modeling)/业务分析的主要就是:
1.寻找业务对象(Business Object)
2.恰当建立这些对象间的关系
3.添加关联和属性
五.领域模型设计的步骤(如何进行领域建模):
用例分析法是进行领域建模最简单可行的方式。其步骤如下:
既然我们的领域模型指的是问题域模型,那么建模也一定要从问题域入手。那么问题域的知识如何表现出来呢,一个最常见的方式就是通过用例,也可以通过场景Scenario来分析——总之就是一段格式化的需求文字描述。
寻找概念类就是对获取的用例描述进行语言分析,识别名词和名词短语,将其作为候选的概念类。
当然,需求描述中的名词不可能完全等价于概念类,自然语言中的同义词、多义词都需要在此处进行区分。还有很多名词可能只是概念类的属性,不过没关系,在这一步骤可以都提取出来,在第四步再区分出概念类和属性。
关联意味着两个模型之间存在语义联系,在用例中的表现通常为两个名词被动词连接起来
对于上文抽取到的名词列表,我们需要区分概念类和属性(当然名词列表也会有无用的词语)。
模型精化是可选的步骤,有时我们希望在领域模型中表达更多的信息,这时会利用一些新的手段来表达领域模型:包括泛化、组合、子域划分等
领域模型可以使用UML的泛化和组合表达模型间的关系,他们表达的是概念类的”is-a”和”has-a”的关系,并不是实现的软件类的关系。然而,也一些方法论中并不建议使用这种方式来表达领域模型,因为这种精化的领域模型不利于和需求方沟通。
子领域划分是常见的拆解领域的方式,通常来说我们会将更内聚的一组模型划分为一个子领域,形成更高一层的抽象。利于系统的表达和分工。
DDD本身是一套完整、详尽的方法论,从如何需求沟通(构建领域知识),到高层设计(战略建模)、详细设计(战术建模),细致到代码的实现风格都给出了示例。本文无意也无力来详述DDD的所有知识,但是关于如何建模,DDD给出了很多思想可以借鉴。
需要再次强调的是,DDD的模型本质上是solution space的模型,然而DDD强调模型与实现绑定,因此这里指的“模型”,可以说是领域模型,也可以是系统模型。下面就是DDD建模的一般步骤:
5.3四色建模法
六.以工程实践为基础,进行领域建模
我的工程实践为基于ESP32开发板建立Mesh网络,实现数据采集。以我的工程实践为基础,进行领域建模的步骤如下:
(1)发现类及其属性,在我的项目中需要多块ESP32开发板建立MESH网络,并连接网络进行数据采集,因此有STATION,Smartconfig,sensor,MESH。
(2)建立类之间的关联,通过手机使用ESP32的smartconfig功能来设置开发板的wifi参数连接网络,连接网络 后开发板通过wifi模块来实现MESH自组网络,最后通过连接传感器来获取数据,进行数据的采集发送。
(3)添加类的重要属性,网络连接station属性包括ssid,密码,加密验证方式,协议等方法;Smartconfig配置属性包括模式设置,协议,发送信息,启动等;MESH包括根节点选取,父节点选取,叶节点选取,通讯等,sensor负责数据采集等。
最后类图如下:
标签:文本 没有 OLE 状态 图片 别名 父节点 inter 分析
原文地址:https://www.cnblogs.com/liqinimmanuel/p/11921649.html