领域模型(概念类图)

上传人:自*** 文档编号:48381746 上传时间:2018-07-14 格式:PPT 页数:49 大小:1.17MB
返回 下载 相关 举报
领域模型(概念类图)_第1页
第1页 / 共49页
领域模型(概念类图)_第2页
第2页 / 共49页
领域模型(概念类图)_第3页
第3页 / 共49页
领域模型(概念类图)_第4页
第4页 / 共49页
领域模型(概念类图)_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《领域模型(概念类图)》由会员分享,可在线阅读,更多相关《领域模型(概念类图)(49页珍藏版)》请在金锄头文库上搜索。

1、领域模型领域模型软件学院 代飞 2013秋1、概念模型的简介2、建立概念模型的基本步骤内容内容领域模型:显示最重要的业务概念和它们 之间的关系的类图。领域模型用:类表示业务概念,但类通常只包含重要属性 ,不包含操作关联和泛化显示了这些概念之间的关系。1 1、领域模型简介、领域模型简介它是真实世界中各个事物的表示,而不是软 件中各构件的表示。领域模型是现实世界的一个可视化抽象字典它可视化了领域中的单词或概念类,并为这些单词 或概念类建立了关联领域模型是没有方法的类图的集合,并且在领 域模型中不会出现软件工件SalesDatabaseSale date time Print()storeregis

2、tersaleSale date time关键思想关键思想根据用例模型建立领域模型根据用例模型建立领域模型用例模型领域模型关闭ATM系统管理员启动ATM系统用户查询存钱取钱转账银行信息系统身份验证2 2、建立概念模型的基本步骤、建立概念模型的基本步骤1、发现类和对象2、建立类之间的关联3、添加类的重要属性2.12.1发现类和对象发现类和对象识别概念的方法a、使用概念类分类列表来找出概念;b、根据名词性短语识别出概念类;领域模型中的概念类越多越好从用例中识别概念从用例中识别概念1、用例描述中出现了哪些实体?2、用例执行过程中会产生并存储哪些信息?3、用例要求与之关联的每个角色的输入是什么?输入可

3、能是角色的属性,也有可能是单独的一个类。4、用例反馈与之关联的每个角色的输出是什么?首先确定该输出的责任实体,然后进一步确认输出是否需 要识别为类。5、用例需要操作哪些设备?分类列表法分类列表法人事物地点组织概念事件规则抽象名词交易项目角色设备组织结构概念类分类示例物理或具体对象注册 飞机事务的设计、描述和规范产品说明飞机说明位置商店飞机场交易项目销售项人的角色收银员飞行员其他事务的容器商店箱柜容器包含的元素商品乘客在该系统之外的其他计算机 或电子机械系统授权支付系 统飞行事务控 制系统抽象名词的概念购买欲恐高症名词分析法名词分析法识别问题域和用例描述中的名 词和名词短语,然后将它们作 为候选

4、的概念类或属性超市收银台超市收银台主要的成功场景: 1.顾客携带购买的商品到达POS机收费口 2.收银员开始一次新的销售 3.收银员输入商品标识 4.系统记录销售的商品项列表,并显示该 商品的描述、价格和累加值。价格可以 根据一套定价规格来计算 收银员重复3-4步,直到结束主要的成功场景(续): 5.系统显示最后的总价 6.收银员请顾客付款 7.顾客支付,系统处理支付 8.系统记录完整的销售信息,并将销售和 付款信息发送到外部的记账系统(进行 记账)和库存系统 9.系统打印收据 10.顾客带着商品和收据离开顾客,购买的商品,POS,收银员 ,新的销售,商品标识,商品项列 表,描述,价格,累加值

5、,总价, 支付,销售信息,付款信息,记账 系统,库存系统,收据 确定对象:顾客 ,商品,POS,收 银员,新的销售, 商品项列表,支付 ,销售信息,付款 信息,记账系统, 库存系统,收据摒弃对象:商品 标识,描述,价格 ,累计值,总价有时很难决定是应该将一个特 殊的信息作为一个类还是作为 一个属性包含在领域模型中。类:标识、状态和行为属性还是概念?属性还是概念?2.2 2.2 建立类之间的关联建立类之间的关联类之间有三种关系:关联(包括聚合和组合)继承(一般与特殊的关系)依赖关联关联类之间的某种语义关系。这种语义关系体现了事物之间的联系。进一步说,联系又可以分为长久的、稳定的联系和短暂的、不稳

6、定的联系。接待员顾客?顾客预订?识别关联识别关联的方法的方法关联列表关联列表A在物理上或逻辑上是B的一部分;A是对B的描述A是交易或项目B中的一项A为B所知/为B所记录/录入B中/为B所捕获A是B的一个成员A是B的一个组织子单元A使用或管理BA与B通信A与一个交易B有关A是一个与另一个交易B有关的事务A与B相邻A为B所拥有A是一个与B有关的事件关联的关联的UMLUML表示法表示法用一条写着关联名称的线段来表示两个类之间的关联。关联自然具有双向性,这意味着从关联两端的任何一个类的实例出发在逻辑上都是可以达到另一端。关联的每一端都可以包含一个多重性的表达式,它表示两个类的实例之间的数量关系.规定关

7、联的重数,每个预定是由一个顾客 进行的,这个人的姓名和电话由系统记录, 但是每个顾客可以进行多个预定CustomerReservationMakes1*name phoneNumber顾客和预定建模导读箭头关联名多重性建立关联的原则建立关联的原则1)注意力集中在那些需要将概念之间的关 系信息记忆一段时间的关联上(“需要记 住”型关联)。2)识别出概念类比识别出关联更为重要。3)关联太多不仅不能有效展示概念模型, 反而会使概念模型变得混乱。4)要避免关联之间的信息冗余以及减少派 生关联。花费在领域模型创建的大部分时间 应该被用于识别概念类,而非关联建立关联的原则建立关联的原则5)概念模型概念间的

8、关联是从纯分析角 度声明有意义的概念间的联系,不需要 考虑如何实现关联。6)分析阶段得到的关联可能在设计阶段 发现是无用的;设计阶段有可能发现分 析阶段遗漏了有些概念间的关联。关联的命名关联的命名采用动词短语来为关联命名;关联的名称应该以大写字母开头。动词 短语由几个单词组成时需用连字符“” 将单词连接在一起。基于类型名-动词短语-类型名的格式来 为一个关联命名:Paid-byPaidBy商店-包含-收银台关联类关联类关联类和其他类相似。只不过一般类描述的 是实体,而关联类描述的是关系。当你见到多对多关联,则需要考虑使用关 联类继承继承1.顾客携带购买的商品到达POS机收费口 2.收银员开始一

9、次新的销售 3.收银员输入商品标识 4.系统记录销售的商品项列表,并显示该商品的描述、价格和累加值。价格可以根据一套定价规格来计算 收银员重复3-4步,直到结束 5.系统显示最后的总价 6.收银员请顾客付款 7.顾客支付,系统处理支付 8.系统记录完整的销售信息,并将销售和付款信息发送到外部的记账系统(进行记账)和库存系统 9.系统打印收据 10.顾客带着商品和收据离开销售领域的候选概念类销售领域的候选概念类收银台商品 商店 一次销售 支付产品目录 产品规格说明书销售明细项 收银员客户POSPOS领域模型中的关联领域模型中的关联收银台 记录 销售顾客支付 销售 产品目录 记录 产品说明书系统

10、记录 销售商店 存储 商品系统记录销售的商品项列表顾客支付,系统处理支付系统记录单件商品,并显示该商品的描述、价格和累加值。并将销售和付款信息发送到外部的记账系统 (进行记账)和库存系统系统记录完整的销售信息?理解型关联理解型关联 1. 需要记住型关联:概念之间的 关联需要在数据库中保存一段时间 ,可以形成一个最小的信息模型; 2. 理解型关联:概念之间的关 联不是必须的,但是加上之后可以 更好的理解问题域关键概念。3 3、添加类的重要属性添加类的重要属性属性及其UML表示(1)定义:属性是某个对象的数据值。(2)在一个概念模型中包括如下属性:在需求说明(例如用例)中提示或暗示我们要记 住的那

11、些信息。(3)属性的UML表示SaleDatetime属性表示法属性表示法属性的完整语法是:可见性 属性名:类型 多重性=默认值特性表SaleDatetime/total:MoneySale-DateTime:Date-/total:MoneyPerson-firstName-middleName:0.1-lastName属性的识别属性的识别1)首先从类的语义完整性角度列 举出类的候选属性;2)针对系统目标和类在系统中的 作用以及问题域相关特性对类的 候选属性进行一次筛选;属性的识别属性的识别属性的识别要根据具体的问题域, 同一实体在不同的系统中识别出来 的属性会不一样图书馆系统:不关注头发颜

12、色、眼 睛颜色;公安局侦察管理系统:头发颜色、 眼睛颜色、指纹等导出属性导出属性在属性名称前加以”/”符号SaleLineItemItemRecords-sale-of0.11SaleLineItemItemRecords-sale-of0.11.*SaleLineItem /quantityItemRecords-sale-of0.11.*SaleLineIt em(销售 明细项) 的 quantity 信息可以 从多重性 的实际值 导出从多重性值 导出的属性选择有效的属性类型选择有效的属性类型属性应该是简单的数据类型。复杂的问题域 概念应该被识别为概念。收银员 姓名 收银台非“简单”属性收

13、银员 姓名收银台 编号Uses11更好选择有效的属性类型选择有效的属性类型保持简单的数据类型属性常见的简单数据类型包括:布尔 、日期、数字、字符串或文本、时间其他如:地址、颜色、几何元素、电 话号码、身份证号、通用商品代码、邮 政编码等选择有效的属性类型选择有效的属性类型保持简单的数据类型飞机目的地复杂概念较差较好飞机机场Flies-to11定义新的数据类型定义新的数据类型 数据类型原始数据类型:数字、字符串、布 尔、日期或时间把它当作属性来看待非原始的数据类型:把它表示成一个单独的概念类定义新的数据类型定义新的数据类型 Product Specification Id:ItemIDStore

14、address:AddressProduct SpecificationItemID id manufactureCode countryCode11StoreAddress street1 street2 cityName11避免设计潜行:任何属性都不表示外健避免设计潜行:任何属性都不表示外健在领域模型里,不应该使用属性来联系概念 类.这个原则最常见的反例是添加一种外键 属性(foreign key attribute),这是关系数据库 设计中为了连接两种类型的典型做法.Cashier name currentRegisterNumber这是一个“简单 ”属性,但它是被用 作与另一个对象相 关联的外健11Cashier nameRegister numberUses应该使用关联而不是属性来将类型关联起来 POSPOS的领域模型中的属性的领域模型中的属性概念address ,namedatetimeamountTendereditemID, description,pricequantityname思考思考关闭ATM系统管理员启动ATM系统用户查询存钱取钱转账银行信息系统身份验证

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号