1、什么是Domain Modeling
业务对象模型(也叫领域模型 domain model)是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。业务对象模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象(“业务类和对象”)之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象组合在一起可以执行所有的业务用例。
2、为什么要进行Domain Modeling
降低与OO建模之间的表示差异。
领域层软件类的名称要源于领域模型中的名称,以使对象具有源于领域的信息和职责。
打个比方,你可以用一长串0和1来表示“薪水册”,可是这种软件表示与我们脑中的薪水册领域模型之间存在巨大的差异,这将影响我们对软件的理解和修改。而OO建模则可以减小这一差异
3、如何创建领域模型
可以通过以下三个步骤:
1、寻找概念类,将其绘制为UML类图中的类
2 、添加关联
3、 添加属性
如何找到概念类
1、重用和修改现有的模型。
这是首要、最佳且最简单的办法。可以从已发布的领域模型和书籍中获得。
2、使用分类列表
3、确定名词列表
在对领域的文本性描述中识别名词和名词短语,将其作为候选的概念类或属性。
缺点:自然语言的不精确性,不同名词短语可能表示同一概念类或属性,此外可能还有歧义。建议与概念类分类列表一同使用。
4、工程实践的业务领域建模
1) 收集应用程序域信息,关注功能需求,同时考虑其他需求和文档
(1)软件打包
(2)软件分发到各个渠道
(3)软件发布到网站,用户下载安装包
2)列出重要的应用程序域概念
开发人员是一个实体对象
用户是一个实体对象
软件包是一个领域对象,开发人员打包发布软件包,用户进行下载
3)将领域概念分为:类–属性/属性值–关系
类 | 属性 | 方法 |
Developer | Company,name | 打包软件,分发软件 |
SoftwarePackage | size,function,label | 软件运行,软件更新 |
User | Id | 下载软件包 |