领域建模的过程更多是自底向上,先绘制出领域类的片段,然后再抽象、提炼、汇聚成全局领域模型。也就是先绘制出每个业务事件中涉及的类模型片段,然后利用Rose等建模工具将各个片段中的类抽象成一个类模型。
针对每一个业务事件主要的步骤包括三个:识别出业务实体,确定实体之间的关系(语义关系和数量关系),定义实体的关键属性。
输出图形主要有类图,ER图两种形式。ER图主要与数据库密切相关
进行领域建模时,其工作主要就是“标识类、明确类之间的逻辑关系和数量关系,添加重要的结构规则”
标识类:可借鉴“名词动词法”,其主要规则是从名词与名词短语中提取对象与属性;从动词与动词短语中提取操作与关系
明确类间关系:确定关联关系,多重性分析。
确定类的主要职责:包括以下两个主要内容:类所维护的知识;类能够执行的行为
补充类之间的结构规则:根据情况添加一些如约束的限定
领域建模的常见误区
立即给关联指定多重性,确保每个关联都有明确的数量关系,尤其是给出非常具体,如1..3等数量关系
对名词和动词做过度的分析,而背离初衷
不对用例和时序图进行研究,就将操作分配给类:领域建模时应暂时不考虑成员方法
过度在领域模型中对类进行抽象
就使用聚合还是组合表示而争论不休
未对问题空间进行建模之前,就考虑具体的程序实现,而这应在设计阶段考虑。
将类命名为难以理解的名称,如中文环境下使用英文。
领域建模时应遵循“拒绝实现细节、大类不分拆、子类不合并、同类不抽象”的原则。
*类图
*ER图