MODELING GENERALIZATION & REFINING THE DOMAIN MODEL

Slides:



Advertisements
Similar presentations
1 門市服務丙級技術士 技能檢定介紹 門市服務丙級技術士報告注意事項 證照名稱:門市服務丙級技術士 發照單位:行政院勞工委員會 有效期限:終生有效 考照時間:每年一次,皆為第一梯次 1. 簡章與報名書表發售時間:每年 1 月 2. 報名時間:每年 1 月。 3. 學科考試時間:每年 3.
Advertisements

生源地助学贷款系统还款功能优化说明 评审三局 2015年5月.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
二、信用工具和外汇.
为您扬帆,助您远航! 徽商银行特色新产品介绍. 为您扬帆,助您远航! 徽商银行特色新产品介绍.
高等教育創新轉型方案 教育部
新建本科院校 应用型人才培养若干问题探析 张德江.
Ch02物件導向程式設計 物件導向系統分析與設計.
第10章 領域、概念與分析模型 10-1 再談物件導向分析 10-2 找出類別建立領域模型 10-3 指定責任建立概念模型
校园信息管理系统 河北科技大学网络中心 2000/4/10.
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
METAEDGE Corporation Taiwan
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
第六章 結構化分析與設計 ─資料塑模.
电子支付与安全 主讲教师:梁娟娟.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
1. 理想的路由算法 有关路由选择协议的几个基本概念 算法必须是正确的和完整的。 算法在计算上应简单。
為有特殊教育需要學生 提供特別評估安排 教育局 2011年12月2日.
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
数据库技术及应用 华中科技大学管理学院 课程网址:
定期定額該積極還是穩健 積極型獲利高,穩健型風險低 財富想倍增,就要選擇波動愈大的積極型基金,愈
第15章 繼承與多重繼承 15-1 繼承的基礎 15-2 覆寫與隱藏父類別的成員 15-3 子類別的建構與解構子 15-4 多重繼承
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
五大產業創新研發計畫 智慧機械產業推動方案
Homework 4 an innovative design process model TEAM 7
徐迎晓 复旦大学软件学院 领域模型——概念的可视化 徐迎晓 复旦大学软件学院.
抽象描述(abstract descriptions)那些需求被分析的系統
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
資料庫系統 Database Systems
Chapter Four The Customer Experience and Value Creation
北京饭店 Tell them that 我是服务员, 我是北京饭店的服务员, 欢迎,欢迎您们来中国。欢欢迎您们来北京饭店吃饭。
Chapter 3 Case Studies.
第10章 使用個案塑模.
物件導向系統分析與設計與UML.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第4章 關聯式資料庫模型 4-1 關聯式資料庫模型的基礎 4-2 關聯式資料庫模型的資料結構 4-3 關聯式資料庫模型的完整性限制條件
创建型设计模式.
软件建模精要 面向对象软件建模技术.
Java软件设计基础 5. 继承与多态.
JUDE教學 Jude安裝教學篇 Jude初步介紹篇 Jude繪圖介紹篇 介紹jude的安裝和下戴 介紹jude的初基本功能
CHAPTER 2 ELEMENTS OF UML
第9章 類別圖與物件圖 9-1 類別圖與物件圖的基礎 9-2 類別圖的符號 9-3 類別關係 9-4 物件圖 9-5 繪製類別圖與物件圖
資訊系統文件化工具 東吳大學會計學系 謝 永 明.
Programmable Logic Architecture Verilog HDL FPGA Design
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
客户服务 询盘惯例.
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
第二章 實體關係模式:基本概念 目的 何謂實體關係模式和實體關係圖(ERD) 實體型態 關係型態 二元關係型態 弱實體型態 遞迴關係型態
Abstract Data Types 抽象数据类型 Institute of Computer Software 2019/2/24
緯創軟體法人說明會 股票代碼: /4/17 客尊,誠信,創新 是緯創軟體的核心價值(Core value)
第6章 資料庫設計與實體關聯模型 6-1 資料庫設計的基礎 6-2 實體關聯模型 6-3 建立實體關聯圖 6-4 實體關聯圖的常見錯誤
Mailto: 9 eB 中的金流問題 國立中央大學.資訊管理系 范錚強 Tel: (03) mailto: Updated
從 ER 到 Logical Schema ──兼談Schema Integration
高等教育創新轉型方案 教育部
微信商城系统操作说明 色卡会智能门店.
知識管理 第二章 本體論為基礎的知識.
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
UML ISKM Lab.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
面向对象建模 对象(object) 对象具有的含义: 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 在现实世界中:
2014Fall 資訊模式 資料庫和資料模型 國立中央大學 資訊管理系 范錚強 updated 中央大學。范錚強.
辅导课程二.
UML建模语言及工具.
Presentation transcript:

MODELING GENERALIZATION & REFINING THE DOMAIN MODEL 徐迎晓 xuyingxiao@126.com 复旦大学软件学院

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

根据本次迭代的需求,从用例描述以及Concept Category List中提取新的概念类: CreditCard, CashPayment, CreditPayrnent, CreditAuthorizationService,…

对泛化建模 将相似的概念提取出公共性,以更概括、更抽象的方式理解术语 Domain model不提及继承,继承是软件机制,使superclass的属性和操作可在subclass中使用

另一种画法

Class hierarchy with separate and shared arrow notations. 两种画法 Class hierarchy with separate and shared arrow notations.

100% Rule Superclass的定义应该100%适用于 subclass. Subclass必须100%符合superclass的: attributes associations 属性: Amount继承下来 关联: Pays-for

Is-a Rule Subclass is a Superclass CreditPayment is a Payment

何时定义子类和父类 Credit Payment与CreditCard关联 Credit Payment在如何验证方面处理不同 =======TEMP 何时定义父类 类似的概念,相同的关联,相同的属性,符合is-a and 100% rule 何时定义子类 LoanableResource-Book 有新的属性 Payments — Credit Payment Credit Payment与CreditCard关联 Credit Payment在如何验证方面处理不同 Human——MaleHuman MaleHuman和FemaleHuman购物习惯不同 Table 26.2 当子类有新的属性、关联, 或与父类或其他子类有不同的操作、处理、响应, 或代表会动的事物,具有不同的行为 都是要看和用例需求是否有关,如MaleCustomer and FemaleCustomer在我们的用例需求中不需要区分

左上:定义父类----有共同的属性或关联 左下:定义子类—--按照不同方式处理(Credit Payment, Check Payment等在如何验证方面处理不同) 右: 定义子类----有新的关联

左: 定义父类----有共同的属性或关联 右: 定义子类----有新的关联 此外:定义子类可 出于具有新的属性,如LoanableResource-Book 代表会动的事物,具有不同的行为,如Human——MaleHuman MaleHuman和FemaleHuman购物习惯不同 都是要看和用例需求是否有关,如MaleCustomer and FemaleCustomer在我们的用例需求中不需要区分 Figure 26.9, 26.10粒度问题跳过 ,

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

Abstract conceptual classes. 椭圆代表实例的集合 下图中payment是抽象的:payment实例不能独立存在,只能是CashPayment、CreditPayment等之一

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

关联类association class 需求 Store发出验证请求时需要提供ID以表明身份 验证服务为每个store分配一个merchant ID 同一个store针对每个服务具有不同的ID merchant ID(零售商ID)

错,同一个Store可能有多个针对不同AuthorizationService有多个merchantID 同一个AuthorizationService针对不同Store也提供不同的merchantID

一个属性若和关联有关,或两个概念之间存在多对多的关联,考虑关联类 关联类的实例的生命周期依赖于关联 association class is a class that is connected to an association. There is an instance of the association class for every instance of the relationship (e.g., for every link).

many-to-many association 上到这里

PrimaryScheduleOfferingfInfo Java实现

PrimaryScheduleOfferingfInfo C++实现

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

Aggregation and Composition

Consider showing aggregation when: “部分”的生命周期界定在“整体”的生命周期之内 整体和部分之间存在create-delete依赖 整体和部分之间存在明显的物理和逻辑上的组装关系 复合体的某些属性(如位置)可传递给部分 复合体上的操作(如copy, delete, destruction, movement, recording)可传递给部分.

Aggregation in the POS Domain Model 同时具有 Part of 关系和create-delete dependency (Sale删除,则SaleLineItem生命周期也结束) 标出聚合,使用GASP模式时有助于识别Creator。 澄清领域中的约束, 应用于整体的操作,如copy and delete,常传递到部分

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

考虑时间问题 Product-Specification区分历史价格和当前价格 若SalesLineItem总是从ProductSpecification中提取当前Price,则若价格已经更新过,旧的Sale将使用新价格,不正确

上图:以前没有考虑聚合和时间的domain model

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

DERIVED ELEMENTS 避免显示,但若在术语中比较突出,且避开它会削弱可理解性,则显示 Quantity ? Sale total可以由SalesLineItem 和Product-Specification导出 SalesLineItem quantity可以由相关联的SalesLineItem的对象数量导出 =======E======= Sale total can be derived from SalesLineItem and Product-Specification information SalesLineItem quantity is actually derivable from the number of instances of Items associated with the line item

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

Qualified Associations 减少多重性

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

Ordered Elements

泛化 抽象概念类 考虑关联类 考虑聚合 考虑时间 导出元素 限定符 Ordered Elements 包的表示及如何分区

Package 包中绘出元素时,包的名字写在上方,否则写在中间

A referenced class in a package. 右图,引用其他包中的元素

package dependency

How to Partition the Domain Model same subject area 紧密相关的概念或同一目的的 同一个类的层次 参与同一个用例 strongly associated domain model所有元素可定义一个包Domain, 公共的、核心的概念可定义在 Core Elements or Common Concepts包中

紧密相关的概念或同一目的的 同一个类的层次 参与同一个用例 strongly associated

没有新的概念

和第一次迭代一样,主要是need-to-know关系 增加DriversLicense Identifies Customer,以便于理解 在美国,多数商家需要至少两份证件才允许你把私人支票兑现。除学生身份证外,州颁发的汽车驾驶执照(state driver’s license)也可用作证件 (http://abroad.9c9c.com.cn/studyabroad/America/shenghuo/topic_1670.html) PaymentAuthorizationReply is expressed as an association class.

没有新的概念

没有新的概念

一般需要给关联起个有意义的名字,但此处payments and their transactions.省略了关联的名字,因为阅读者可以理解