域模型
来源:百度文库 编辑:神马文学网 时间:2024/04/28 08:20:25
我们知道:一个软件从无到有需要经过如下几个阶段:分析、设计、编程、调试、部署和运行。
我们不能只用一个一个单独的类来表达客观世界,因为客观世界存在千丝万缕的各种关系,在计算机领域无疑我们使用类的关系来
表达映射这些关系。这里我们只探讨类在建模方法上的关系,而不是UML中类的通用关系。类在建模上主要有如下几个关系:
类与类关系经常是这样:一个类包含一个类(构造性structural),或者借助另外一个类达到某个功能(功能性),在对需求建模分析中,构造性的这种关系,也称为关联(Association)是我们关注重点,当然这种关系很显然表达的是一种静态的结构,比如电脑包含屏幕,他们之间的关系就是一种关联。
聚合(Aggregation)是一种表格式样的关联,表示一个类包含多项子类,这种关系是一种整体与部分的关系。一个汽车有四个轮子,四个轮子是汽车的部分。
组成(Composition)是一种更强烈的聚合关系,一个对象实际是由其子对象组成,子对象也唯一属于父对象。
继承也是类建模中经常用到的关系,继承可以将一些数据属性抽象到父类中,避免重复,如入库单和出库单有很多属性是差不多的,唯一不动的就是入库和出库的行为,那么我们可以抽象一个库单为父类,使用继承关系分别表达入库单和出库单。
时序图
- 将注意力放在真实世界(问题域)中的实体上
- 用泛化和聚集关系来表示对象之间是怎么样联系在一起的
- 限制你画出你的域模型在12个小时内
- 抽象你的问题域中的类,不包含方法和属性
- 不要把你的域模型弄错成数据模型
- 不要把你的对象和数据表弄混淆了,你的数据表包含一系列东西的集合
- 把你的域模型中的对象当成为项目中的术语表
- 写用例文本前要初始化你的域模型,避免命名上的不明确。
- 不要期望你的最终的类图和域模型一致,但是它们应该很相似
- 不要把你的边界类放在你的域模型中,域模型中只包含问题域中的对象。