业务领域建模Domain Modeling

倾然丶 夕夏残阳落幕 提交于 2019-12-05 12:00:42

1:领域建模

领域建模(Domain Modeling)表示开发团队用来获取知识的过程;

2:为什么进行领域建模

因为软件工程师在不同的项目或者领域里面工作,他们需要不同领域各自的模型知识来开发系统。而且,开发工程师可能来自不同的背景,这可能会影响他们对整个系统的理解。事实上,领域模型最不同于传统模型的地方在于,领域建模下,接触到需求第一步就是考虑领域模型,也就是将需求大致划分为几个大的领域,而不是按照数据和行为对其进行分割。然后数据部分依靠数据库实现,行为操作使用服务实现,最后使得需求界限清晰明了。也就是说,领域建模首先考虑的是业务,而不是行为,不是数据。它强调业务抽象和OO编程,这和传统的面向过程式的编程有明显差别。

3:模型和领域建模

模型由元素和元素之间的关系组成,这些元素自身和关系依靠简单图形图表来描述,是一种更为简单的类图,能清晰表达元素的本质特征和各个元素模块的的之间的主要关系,领域模型下,元素之间的关系大致分为继承(Inheritance)、聚集(Aggregation)和关联(Association)三种联系:

继承(Inheritance):表达概念之间的通用型和专业性关系,在继承关系下,通常是一方比另一方更为通用或者专业,这种关系也会称为IS-A关系;

聚集(Aggregation):表达这样的一个事实:一个对象是另一个对象的一部分。这种关系也称为所属关系。

关联(Association):表达两个概念之间的应用程序特定关系,比较通用和一般,既不是继承,也不是聚集。

4:如何进行领域建模

【1】收集应用程序的领域信息。特别集中在功能需求上,也考虑其他需求和文档。

【2】头脑风暴。列出重要的应用程序领域概念、他们的特点或者属性,以及它们和其他概念之间的关系。

【3】对领域概念进行分类,分类结果如下:类;属性/属性值;关系(关联,继承和聚集)。

【4】使用类图记录分类结果,即使用UML类图对领域信息进行可视化操作。

5:以工程实践,在线竞赛平台的设计与开发为例子,进行领域建模的过程如下:

最终画出业务类图,并说明业务类图中每一个类、属性、方法的来源,对于有关联类Association Class的情况要进一步给出关系数据库的模型。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!