Chapter 9 领域模型
Chapter 9 领域模型
Sample UP Artifact Relationships Sale 1 Sales Modeling quantity the domain ob attributes. and associations some terms in that undergo state changes Use-Case Model Operation: enteritem() 1. Customer arrives Post-conditions. ments 3. Cashier enters names of em ide Operation Contracts classes in Use Case Text the des Register Producte emlD, quanti Design spec=getProductSpec( itemID)+ addLineltem( spec, guar
Process Sale 1. Customer arrives ... 2. ... 3. Cashier enters item identifier. 4.... Use Case Text Operation: enterItem(…) Post-conditions: - . . . Operation Contracts Sale date . . . Sales LineItem quantity 1 1..* . . . . . . the domain objects, attributes, and associations that undergo state changes Domain Model Use-Case Model Design Model : Register enterItem (itemID, quantity) : ProductCatalog spec = getProductSpec( itemID ) addLineItem( spec, quantity ) : Sale . . . conceptual classes in the domain inspire the names of some software classes in the design conceptual classes – terms, concepts attributes, associations Cashier: … Item ID: … ... Glossary elaboration of some terms in the domain model Requirements Business Modeling Design Sample UP Artifact Relationships
目标 口处理当前迭代相关的概念类 口创建初始的领域模型 口为模型建立适当的属性和关联
目标 处理当前迭代相关的概念类 创建初始的领域模型 为模型建立适当的属性和关联
定义:什么是领域模型 口领域模型( Domain model)是对领域内概念类的可视化表 小 为什么要创建领域模型 提高模型的抽象层次,减少我们的思维和软件模型之间的表示差 距。同时促进对领域问题的理解 ¤领域模型也称为概念模型、领域对象模型、分析对象模型 可视化字典。 口通过∪ML表示法,领域模型被描述为一组没有定乂操作的 类图,提供了概念透视图。他可以展示: 领域对象或概念类 ■概念类之间的关联 概念类的属性
定义:什么是领域模型 领域模型(Domain Model)是对领域内概念类的可视化表 示。 ◼ 为什么要创建领域模型 提高模型的抽象层次,减少我们的思维和软件模型之间的表示差 距。同时促进对领域问题的理解 领域模型也称为概念模型、领域对象模型、分析对象模型、 可视化字典。 通过UML表示法,领域模型被描述为一组没有定义操作的 类图,提供了概念透视图。他可以展示: ◼ 领域对象或概念类 ◼ 概念类之间的关联 ◼ 概念类的属性
领域模型不是软件对象的模型 ■比如,在领域模型中,不会有窗口或数据表之类的对 象,也不会有职责或方法 Sales Database software artifact; not p of domain model software class; not pal date of domain model time printo
领域模型不是软件对象的模型 ◼ 比如,在领域模型中,不会有窗口或数据表之类的对 象,也不会有职责或方法
领域模型不是数据模型 口数据模型是针对信息系统的模型,用于表示存储 于某处的持久性数据 □领域模型考虑的是领域中有哪些概念,数据模型 考虑的是这些概念是如何被持久化的。 口将领域模型和数据模型混淆是面向对象的开发人 员最常见的错误
领域模型不是数据模型 数据模型是针对信息系统的模型,用于表示存储 于某处的持久性数据。 领域模型考虑的是领域中有哪些概念,数据模型 考虑的是这些概念是如何被持久化的。 将领域模型和数据模型混淆是面向对象的开发人 员最常见的错误
如何创建领域模型 口寻找概念类 口将其绘制为UML类图中的类 口添加关联和属性
如何创建领域模型 寻找概念类 将其绘制为UML类图中的类 添加关联和属性
概念类 口领域模型中包含多个概念类 口概念可以从其符号,内涵和外延来考虑: 符号:表示概念类的词语或图形 内涵:概念类的定义(意义) 外延:概念类的一组示例
概念类 领域模型中包含多个概念类 概念可以从其符号,内涵和外延来考虑: ◼ 符号:表示概念类的词语或图形 ◼ 内涵:概念类的定义(意义) ◼ 外延:概念类的一组示例
概念类的表示法 visualization of a re world concept in th Sale domain of interest date it is anota picture of ftware class
概念类的表示法
如何寻找概念类 口找到概念类的三条策略 ■重用和修改现有的模型 口 Martin Fowler的分析模型 使用分类列表 ■确定名词短语
如何寻找概念类 找到概念类的三条策略 ◼ 重用和修改现有的模型 Martin Fowler的分析模型 ◼ 使用分类列表 ◼ 确定名词短语