领域模型(概念类图).ppt

上传人:牧羊曲112 文档编号:6233549 上传时间:2023-10-08 格式:PPT 页数:49 大小:711.50KB
返回 下载 相关 举报
领域模型(概念类图).ppt_第1页
第1页 / 共49页
领域模型(概念类图).ppt_第2页
第2页 / 共49页
领域模型(概念类图).ppt_第3页
第3页 / 共49页
领域模型(概念类图).ppt_第4页
第4页 / 共49页
领域模型(概念类图).ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《领域模型(概念类图).ppt》由会员分享,可在线阅读,更多相关《领域模型(概念类图).ppt(49页珍藏版)》请在三一办公上搜索。

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

2、联3、添加类的重要属性,2.1发现类和对象,识别概念的方法 a、使用概念类分类列表来找出概念;b、根据名词性短语识别出概念类;,领域模型中的概念类越多越好,从用例中识别概念,1、用例描述中出现了哪些实体?2、用例执行过程中会产生并存储哪些信息?3、用例要求与之关联的每个角色的输入是什么?输入可能是角色的属性,也有可能是单独的一个类。4、用例反馈与之关联的每个角色的输出是什么?首先确定该输出的责任实体,然后进一步确认输出是否需要识别为类。5、用例需要操作哪些设备?,分类列表法,人,事物,地点,组织,概念,事件,规则,抽象名词,交易项目,角色,设备,组织结构,名词分析法,识别问题域和用例描述中的名

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

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

5、用一条写着关联名称的线段来表示两个类之间的关联。关联自然具有双向性,这意味着从关联两端的任何一个类的实例出发在逻辑上都是可以达到另一端。关联的每一端都可以包含一个多重性的表达式,它表示两个类的实例之间的数量关系.,规定关联的重数,每个预定是由一个顾客进行的,这个人的姓名和电话由系统记录,但是每个顾客可以进行多个预定,Customer,Reservation,Makes,1,*,name,phoneNumber,顾客和预定建模,导读箭头,关联名,多重性,建立关联的原则,1)注意力集中在那些需要将概念之间的关系信息记忆一段时间的关联上(“需要记住”型关联)。2)识别出概念类比识别出关联更为重要。3

6、)关联太多不仅不能有效展示概念模型,反而会使概念模型变得混乱。4)要避免关联之间的信息冗余以及减少派生关联。,花费在领域模型创建的大部分时间应该被用于识别概念类,而非关联,建立关联的原则,5)概念模型概念间的关联是从纯分析角度声明有意义的概念间的联系,不需要考虑如何实现关联。6)分析阶段得到的关联可能在设计阶段发现是无用的;设计阶段有可能发现分析阶段遗漏了有些概念间的关联。,关联的命名,采用动词短语来为关联命名;关联的名称应该以大写字母开头。动词短语由几个单词组成时需用连字符“”将单词连接在一起。基于类型名-动词短语-类型名的格式来为一个关联命名:,Paid-by,PaidBy,商店-包含-收

7、银台,关联类,关联类和其他类相似。只不过一般类描述的是实体,而关联类描述的是关系。当你见到多对多关联,则需要考虑使用关联类,继承,销售领域的候选概念类,收银台商品 商店 一次销售 支付,产品目录 产品规格说明书销售明细项 收银员客户,POS领域模型中的关联,收银台 记录 销售顾客支付 销售 产品目录 记录 产品说明书系统 记录 销售商店 存储 商品,系统记录销售的商品项列表,顾客支付,系统处理支付,系统记录单件商品,并显示该商品的描述、价格和累加值。,并将销售和付款信息发送到外部的记账系统(进行记账)和库存系统,系统记录完整的销售信息?,理解型关联,1.需要记住型关联:概念之间的关联需要在数据

8、库中保存一段时间,可以形成一个最小的信息模型;2.理解型关联:概念之间的关联不是必须的,但是加上之后可以更好的理解问题域关键概念。,3、添加类的重要属性,属性及其UML表示(1)定义:属性是某个对象的数据值。(2)在一个概念模型中包括如下属性:在需求说明(例如用例)中提示或暗示我们要记住的那些信息。(3)属性的UML表示,SaleDatetime,属性表示法,属性的完整语法是:可见性 属性名:类型 多重性=默认值特性表,SaleDatetime/total:Money,属性的识别,1)首先从类的语义完整性角度列举出类的候选属性;2)针对系统目标和类在系统中的作用以及问题域相关特性对类的候选属性

9、进行一次筛选;,属性的识别,属性的识别要根据具体的问题域,同一实体在不同的系统中识别出来的属性会不一样图书馆系统:不关注头发颜色、眼睛颜色;公安局侦察管理系统:头发颜色、眼睛颜色、指纹等,导出属性,在属性名称前加以”/”符号,SaleLineItem,Item,Records-sale-of,0.1,1,SaleLineItem(销售明细项)的quantity信息可以 从多重性的实际值导出,从多重性值导出的属性,选择有效的属性类型,属性应该是简单的数据类型。复杂的问题域概念应该被识别为概念。,收银员姓名收银台,非“简单”属性,收银员姓名,收银台编号,Uses,1,1,更好,选择有效的属性类型,

10、保持简单的数据类型,属性常见的简单数据类型包括:布尔、日期、数字、字符串或文本、时间 其他如:地址、颜色、几何元素、电话号码、身份证号、通用商品代码、邮政编码等,选择有效的属性类型,保持简单的数据类型,较差,较好,定义新的数据类型,数据类型原始数据类型:数字、字符串、布尔、日期或时间把它当作属性来看待非原始的数据类型:把它表示成一个单独的概念类,定义新的数据类型,Product SpecificationId:ItemID,Storeaddress:Address,避免设计潜行:任何属性都不表示外健,在领域模型里,不应该使用属性来联系概念类.这个原则最常见的反例是添加一种外键属性(foreign key attribute),这是关系数据库设计中为了连接两种类型的典型做法.,CashiernamecurrentRegisterNumber,1,1,Cashiername,Registernumber,Uses,应该使用关联而不是属性来将类型关联起来,POS的领域模型中的属性,概念,思考,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号