系统分析与设计学习笔记(四)领域模型
来源:互联网 发布:什么牌子的网络电视好 编辑:程序博客网 时间:2024/05/16 17:09
领域模型的概念
领域模型Domain Model 又叫做业务对象模型,是用于描述用例实现的对象模型,是对业务角色与业务实体之间应该如何联系和协作以执行业务的一种抽象。领域模型是面向对象分析的重要一环,也是在一个领域内若干概念类的可视化表述。
混淆点
- 领域模型是对概念类进行建模,是在特定场景下有实际含义的类,而不是在编程层面上的具体类。
- 不需要在概念建模中过度追求精确,只需要正确表示出概念类以及概念类间的抽象关系。
- 不需要过度建模,过分的细化反而会增加系统的复杂程度,所花费的时间与回报不成正比。
- 不需要涉及实际的系统架构,如具体的数据库对象等不应该出现在领域模型中。
构造领域模型的基本步骤
寻找概念类
一般来说,可以从已有的模型入手,如用例文本等,着眼于其中的名词,如思想、事物或对象。在这之后,可以对这些名词进行适当的拓展或筛选,如某些事物过于复杂,其子成员/属性不是简单的数字或文本,我们就应当提取出这些属性,独立称概念类。如商店下的商品。而那些不在当前考虑范围内,或者不需要在系统实现中涉及的名词或对象,我们就不需要在领域模型中考虑,如对银行系统建模,利润这一名词不需要建立概念类。将概念类用UML中的类图进行表述
- 一个简单的类以一个矩形加类名表示
- 类名下增加一条横线,往下可以增加属性
- 抽象类以斜体表示
- 一个简单的类以一个矩形加类名表示
在概念类之间增加必要的联系association
- 确保这些联系是有意义的
- 不需要增加过多的联系,尽可能地保持简洁
- 概念类之间的联系,未必就是编程层面的具体联系,它只是表示一种意义上的在实体领域中的抽象联系。
- 名称需要首字母大写,一般以类名-动词短语-类名的格式来命名。
如Paid-by Is-on 关于多重性Multiplicity
用于描述两个类之间的数量关系若一个关联涉及具体的方向,可以添加黑色小三角表明方向
在概念类内增添必要的属性attributes
- 只需要记录那些需要被保存的信息。
- 可以只包含属性,不包含类型(不是完整的类图)
阅读全文
0 0
- 系统分析与设计学习笔记(四)领域模型
- 系统分析与设计学习笔记(二)用例模型
- 系统分析与设计——领域模型画法
- 系统分析与设计--学习笔记3(用例建模)
- 系统分析与设计--学习笔记4(建模应用)
- 系统分析与设计学习笔记(一)UML概述
- 系统分析与设计学习笔记(六)包图
- 系统分析与设计--学习笔记1
- 系统分析与设计--学习笔记2
- 系统分析与设计笔记
- 系统分析与设计关键笔记
- 系统分析与设计期末笔记
- 系统分析与设计学习笔记之一: Introduction of SE & OOAD
- 系统分析与设计学习笔记(三)活动图与状态图
- 系统分析与设计学习笔记(五)顺序图vs系统顺序图
- 领域驱动设计学习笔记(2)
- 《系统分析与设计方法》笔记与体会
- ThinkPHP学习笔记(四)模型与数据库
- Apache中的poi包中的XSSFWorkbook与HSSFWorkbook的区别
- 23.按字节数截取字符串
- imgproc模块—腐蚀和膨胀
- Python机器学习探索(一)——计算机学习数据的能力
- Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding
- 系统分析与设计学习笔记(四)领域模型
- Multimodal Compact Bilinear Pooling for Multimodal Neural Machine Translation
- 图形分析之Nsight的使用
- 棘修CADfix 7.1+Grapyuoft Crchicbd 2017
- 协程resume()传入的参数
- 20170611 用JS while循环实现斐波那契数列求兔子总数
- 第8章 不相交集类
- angularJs中$sce服务安全显示html文本
- C++析构函数为什么要为虚函数