统一建模语言UML(四):领域模型和类图
领域模型
领域模型是对领域内概念类或现实世界中对象的可视化表示,也称为概念模型。是更为完整的业务模型的一个特例。从UML的表示法角度,领域模型被描述为一组没有定义操作的类图(概念类、关联、属性)。领域模型中的领域类通常只有属性,没有或很少的操作。
领域模型是对真实世界中概念类的表示,而不是软件对象的表示。(划重点!)
为模型建立适当的属性与关联。领域模型表现的是概念类之间的数量关系,对于数量关系的理解可以理解为与ER图中相似。
先上个领域模型图找找感觉:
领域模型中核心部分自然就是概念类的确定,因为领域模型属于分析阶段的产物,还没有进一步的实现,所以很多内容都属于猜想阶段,但是如何尽可能准确地找到系统需要的类,进而找到概念类呢,有以下几个标准:业务对象、真实世界中的对象、事件。
在找到概念类之后,需要确定的剩余内容就是关联关系了,领域模型说起来就是两步走:找到概念类+建立关联(多是数量关联)
最简单的例子:
♦补充:
1.概念类的属性的确定根据需求,还是那句话,从代码角度思考一下,当然属性可以配置一定的类型。
2.确定概念类比找到关联更重要
3.领域模型构建时,主要的时间要花在确定概念类上,而不是找关联上
4.关注那些需要保持一段时间的关联
5.发现概念类比发现关联更重要
6.太多的关联将会使领域模型变得混乱,而找出这些关联需要消耗太多时间,效益却不大
7.避免显示冗余的或者可派生的关联
类图
显示系统中各个类的静态结构,一个类图说实话不可能包含一个系统的所有类,但是可以包含核心类,类图和领域模型差别很大,首先领域模型表现的是概念类的数量关系,然而类图表现的是类的依赖等关系,而且在名称和属性的基础上,类图需要有方法。
类图属于静态建模,类图描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。
类图中可以包含接口,包,关系等建模元素,也可以包含对象,链等实例。