业务领域建模Domain Modeling
1.相关概念
1.1 应用程序域
一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)。应用程序域有助于将在一个应用程序中创建的对象与在其他应用程序中创建的对象隔离,以使运行时行为可以预知。在一个单独的进程中可以存在多个应用程序域。
1.2 领域建模意义
领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。
首先我们需要明白建模的目的是什么?如果仅仅是为了描画问题,那么并没有什么对错之分——仅仅是立场和角度的差别;而如果是为了企业业务系统而进行建模,在开始分析和建模之前,我们需要知道企业业务系统的目的是什么;而企业业务系统的目的往往跟决策者或者管理的诉求相关。我们现在需要移情到一位管理者身上,看看他的诉求到底是什么。我们对于事件的追溯可以通过对数据的追溯来完成。你无法回到从前去看看到底发生了什么,但是却可以在单据的基础上,一定程度的还原当时事情发生的场景。当我们把这些数据的足迹按照时间顺序排列起来,我们几乎可以清晰的推测出这个在过往的一段时间内到底发生了哪些事情。
1.3 领域建模的方法
这里举例两种方法:用例分析法、DDD的方法
1.3.1 用例分析法
基本步骤为:
1.获取用例描述
2.寻找概念类
3.添加关联
4.添加属性
5.模型精化
1.3.2 DDD的方法
基本步骤为:
1.构建领域知识
2.创建通用语言
3.团队在进行所有方式的沟通时都需要采用这种一致的语言。
4.创建实体
5.创建值对象
6.创建聚合根
2.以工程实践项目为例进行业务领域建模
我的工程实践题目为风格迁移应用开发和移植,以下将以多功能风格迁移网站实现为基础,以用例分析法为例,进行领域建模。
2.1 用例分析过程
现阶段我们基于tensorflow实现图像风格迁移,并将其效果拓展到快速风格迁移、融合风格迁移、视频风格迁移以及实时风格迁移,并分别在tkinter和网站前端上实现了可视化效果展示。
用例分析图如下:
后端管理员用例图:
服务器管理员用例图:
普通用户用例图:
2.2 领域建模过程
2.2.1 UML模型图如下: