领域模型一概念的可视化 徐迎晓 xuyingxiao@126.com 复旦大学软件学院
领域模型——概念的可视化 徐迎晓 xuyingxiao@126.com 复旦大学软件学院
out line 什么是领域模型 概念类 识别和提取概念类 创建领域模型步骤 几个问题 ●命名 °概念类or属性? ●属性与外键 数量和单位 添加 Specification/ description 相似概念问题 Modeling the Unreal World ●不同视角的模型
outline 什么是领域模型 概念类 识别和提取概念类 创建领域模型步骤 几个问题 ⚫ 命名 ⚫ 概念类or属性? ⚫ 属性与外键 ⚫ 数量和单位 ⚫ 添加Specification/ description ⚫ 相似概念问题 ⚫ Modeling the Unreal World 不同视角的模型 Process
Discipline Artifact Incep. Elab. Const.I Trans Iteration-** ll ELEn CL Cn T1T2 Business Modeling Domain Model Requirements Use-Case Model Vision Supplementary pecification ssss Glossary Desig Design model SW Architecture Document Data model Implementation Implementation model Project Management Sw Development Plan srrrrssssrsr rrrr r r Testing Test model Environment Development Case Table 2. 1 Sample Development Case of UP artifacts, s-start; r-refine
Records-sale-of Described-b Product Product Specification Catalog Contains description price iteml 0 Used-by Describe: Sales Lineltem Store Item Stocks quantity 1 address 1 name Contained-In Houses completed 1 Sale Register Started-by Manager date Captured-on time Paid-by/7/1 Initiated-by Records-sales-on Payment Customer Cashier amount Figure 12.9 a partial domain model
Sample UP Artifact Relationships Domain model Business Sale Sales Modeling Lineltem quantity conceptual classes the domain objects. elaboration of attributes and associations some terms in attributes, associations that undergo state changes the domain mode Use-Case Model Process sale Operation: enterltem( conceptua classes in 1. Customer arrives Post-conditions Item ID: Require- domain ments 2 inspire the 3. Cashier enters item identifier Operation Contracts Glossary some classes in Use Case Text the design Design Model Register Productcatalog Sale entente Design.(itemID, quantity) spec getProductSpec( itemID addLineltem( spec, quantity
是领域模型 ●概念类 识别和提取概念类 创建领域模型步骤 几个问题 ●命名 °概念类or属性? ●属性与外键 数量和单位 添加 Specification/ description 相似概念问题 Modeling the Unreal World ●不同视角的模型
什么是领域模型 概念类 识别和提取概念类 创建领域模型步骤 几个问题 ⚫ 命名 ⚫ 概念类or属性? ⚫ 属性与外键 ⚫ 数量和单位 ⚫ 添加Specification/ description ⚫ 相似概念问题 ⚫ Modeling the Unreal World 不同视角的模型 Process
Use cases o important requirements analysis artifact, but are not object-oriented o emphasize a process view of the domain e Domain model The most important artifact to create in OOA
Use cases: ⚫ important requirements analysis artifact, but are not object-oriented. ⚫ emphasize a process view of the domain. Domain model ⚫ The most important artifact to create in OOA
●领域模型 domain model是概念类或 问题领域中实际对象的可视化表达,又 称为: 概念模型 conceptual models ●领域对象模型 domain object models ●分析对象模型 analysis object models
领域模型domain model是概念类或 问题领域中实际对象的可视化表达,又 称为: ⚫ 概念模型conceptual models ⚫ 领域对象模型domain object models ⚫ 分析对象模型analysis object models
什么是领域模型 ●念类 识别和提取概念类 创建领域模型步骤 几个问题 ●命名 °概念类or属性? ●属性与外键 数量和单位 添加 Specification/ description 相似概念问题 Modeling the Unreal World ●不同视角的模型
什么是领域模型 概念类 识别和提取概念类 创建领域模型步骤 几个问题 ⚫ 命名 ⚫ 概念类or属性? ⚫ 属性与外键 ⚫ 数量和单位 ⚫ 添加Specification/ description ⚫ 相似概念问题 ⚫ Modeling the Unreal World 不同视角的模型 Process
穊念模型 领域模型显示问题领域中对建模者有意义的 概念类 ●OOA中创建的最重要的制品 ●识别大量对象或概念类— heart of ooa 领域模型表达的是现实世界中的概念类,而 不是软件构件(不是软件类或带有职责的软 件对象) 别概念类是问题域调查的一部分 ●UML中的类图可以显示领域模型
概念模型 ⚫ 领域模型显示问题领域中对建模者有意义的 概念类 ⚫ OOA中创建的最重要的制品 ⚫ 识别大量对象或概念类—heart of OOA ⚫ 领域模型表达的是现实世界中的概念类,而 不是软件构件(不是软件类或带有职责的软 件对象) ⚫ 识别概念类是问题域调查的一部分 ⚫ UML中的类图可以显示领域模型