7领域建模课件

上传人:风*** 文档编号:240742624 上传时间:2024-05-04 格式:PPT 页数:52 大小:2.55MB
返回 下载 相关 举报
7领域建模课件_第1页
第1页 / 共52页
7领域建模课件_第2页
第2页 / 共52页
7领域建模课件_第3页
第3页 / 共52页
点击查看更多>>
资源描述
面向对象分析与设计面向对象分析与设计领域模型领域模型1OO主要步骤主要步骤2领域模型领域模型领域模型使得分析自然过渡到类图建模领域模型使得分析自然过渡到类图建模领域建模的领域建模的工作工作是:发现那些表示与问题领是:发现那些表示与问题领域相关的事物和概念的对象,并用图形表示域相关的事物和概念的对象,并用图形表示出问题域里对象静态模型出问题域里对象静态模型主要描述:主要描述:领域对象或概念类领域对象或概念类概念类之间的关联概念类之间的关联概念类的主要属性概念类的主要属性CRC建模方法适用于领域建模建模方法适用于领域建模3POS部分领域模型部分领域模型请考虑某一销售场景请考虑某一销售场景!4什么是领域模型什么是领域模型领域模型对领域内的概念或对象的可视化表领域模型对领域内的概念或对象的可视化表示示应用应用UML的类图表示的类图表示用于表示领域的重要抽象、领域词汇和领域用于表示领域的重要抽象、领域词汇和领域的内容信息的内容信息重点:关注的是现实世界领域中事物的可视重点:关注的是现实世界领域中事物的可视化化5画家写生画家写生建筑模型建筑模型6领域模型定义领域模型定义领域模型领域模型是对领域内的概念类或现实世界中对象的是对领域内的概念类或现实世界中对象的可视化表示可视化表示用用图形图形方式表示领域模型更容易理解方式表示领域模型更容易理解领域模型不是数据模型,含义更广领域模型不是数据模型,含义更广领域模型不是软件业务对象图领域模型不是软件业务对象图7领域模型不是软件业务对象图领域模型不是软件业务对象图下面元素不适合领域模型下面元素不适合领域模型软件制品软件制品 职责或方法职责或方法8领域模型中的概念类领域模型中的概念类领域模型描述问题域里领域模型描述问题域里的概念类及其关系的概念类及其关系概念类包含三方面内容概念类包含三方面内容符号符号内涵内涵外延外延9为什么需要领域模型为什么需要领域模型理解业务领域的关键概念和词汇理解业务领域的关键概念和词汇减小现实世界系统与减小现实世界系统与OO软件模型表示差异软件模型表示差异10创建领域模型的步骤创建领域模型的步骤从用例文本中寻找从用例文本中寻找1.寻找概念类寻找概念类重用和修改现有的模型重用和修改现有的模型使用分类列表使用分类列表确定名词短语确定名词短语2.用用UML中的类图表示中的类图表示3.为类添加关联和属性为类添加关联和属性111、寻找概念类、寻找概念类三种方法三种方法重用和修改现有的模型重用和修改现有的模型使用分类列表使用分类列表确定名词短语确定名词短语方法方法1:重用和修改现有的模型:重用和修改现有的模型许多领域已经存在领域模型和数据模型,可供参许多领域已经存在领域模型和数据模型,可供参考考Matin Fowler的的分析模式分析模式中的一些分析模式中的一些分析模式12分析模式:组织的内部结构分析模式:组织的内部结构 一般情况一般情况存在部门直接上下级关系以及区域附属管理存在部门直接上下级关系以及区域附属管理方式方式 分析模式分析模式 Martin Fowler 组织(组织(Organization)结构)结构13方法方法2:使用分类列表:使用分类列表预先制作概念类候选列表,供创建领域模型参考预先制作概念类候选列表,供创建领域模型参考P104方法方法3:确定名词短语(最主要手段):确定名词短语(最主要手段)其他需求文档(词汇表),领域专家其他需求文档(词汇表),领域专家用例是最主要的来源之一用例是最主要的来源之一从用例文本出发,检索出所有名词或名词短语,从用例文本出发,检索出所有名词或名词短语,分析筛选。分析筛选。14注意:注意:自然对象自然对象概念实体概念实体同样概念有多种名词表示,依据系统原意选择一同样概念有多种名词表示,依据系统原意选择一个最有意义的词个最有意义的词物理对象建模为系统对外部硬件设备接口物理对象建模为系统对外部硬件设备接口名词可能建模为属性或类,需要区分名词可能建模为属性或类,需要区分POS销售系统销售系统-销售处理用例销售处理用例 P10615POS处理销售名词筛选处理销售名词筛选帐簿帐簿16Monopoly领域领域P71用例文本用例文本17一些问题一些问题 POS模型是否包括模型是否包括“票据票据”票据信息是否源于其他对象,本身有没有保存持票据信息是否源于其他对象,本身有没有保存持久的用处久的用处非现实世界建模非现实世界建模认真听取领域专家所使用的核心词汇和概念认真听取领域专家所使用的核心词汇和概念属性与类的错误属性与类的错误不要错把类当属性,看是否在领域中起到作用不要错把类当属性,看是否在领域中起到作用使用使用“描述描述”类建模类建模需要额外的对象描述,独立于对象现有实例需要额外的对象描述,独立于对象现有实例181920ATM说明说明ATM是一台机器是一台机器,银行顾客通过它完成大量普通的金融事务。由显示屏、银行顾客通过它完成大量普通的金融事务。由显示屏、读卡器、数字输入键和特殊功能键、现金取款口和收据打印机组成。读卡器、数字输入键和特殊功能键、现金取款口和收据打印机组成。当机器空闲时,显示屏显示一条问候语。当机器空闲时,显示屏显示一条问候语。当插入一张银行卡时,读卡器尝试读卡。如果不能读,就通知用户,并当插入一张银行卡时,读卡器尝试读卡。如果不能读,就通知用户,并弹出卡。弹出卡。如果这张卡能读,要求用户输入身份密码。如果密码正确,就显示主菜如果这张卡能读,要求用户输入身份密码。如果密码正确,就显示主菜单。否则再给两次尝试机会。如果第三次尝试失败,则保留银行卡。单。否则再给两次尝试机会。如果第三次尝试失败,则保留银行卡。主菜单包含一系列可能要执行的事务:主菜单包含一系列可能要执行的事务:从一个账户上提取现金从一个账户上提取现金从一个账户上转账到另一个账户从一个账户上转账到另一个账户查询账户余额查询账户余额用户可以选择一个事务,并确定相关信息,当完成这个事务时,回到主用户可以选择一个事务,并确定相关信息,当完成这个事务时,回到主菜单。在完成一个事务之前,用户随时都可以按取消键,取消所有事务,菜单。在完成一个事务之前,用户随时都可以按取消键,取消所有事务,系统返回用户卡,打印所有事务的收据,机器变成空闲。系统返回用户卡,打印所有事务的收据,机器变成空闲。维护人员负责日常对维护人员负责日常对ATM机器的维护和管理机器的维护和管理ATM每天定时统计进行金融事务操作的次数及金额,把数据传回银行每天定时统计进行金融事务操作的次数及金额,把数据传回银行后台服务器后台服务器21用相同意义的短语替代用相同意义的短语替代自动柜员机(自动柜员机(ATM)现金取款口(现金分配器)现金取款口(现金分配器)卡片(银行卡)普通键盘(数字键盘)卡片(银行卡)普通键盘(数字键盘)存款(存款事务)个人身份号码()存款(存款事务)个人身份号码()存款抽屉(存款口)打印机(收据打印机)存款抽屉(存款口)打印机(收据打印机)数字(数字键)足够的资金(金额)数字(数字键)足够的资金(金额)金融事务(事务)系统(金融事务(事务)系统()资金(余额)转账(资金转账)资金(余额)转账(资金转账)机器(机器(ATM)取款(取款事务)取款(取款事务)22用相同意义的短语替代用相同意义的短语替代自动柜员机(自动柜员机(ATM)现金取款口(现金分配器)现金取款口(现金分配器)卡片(银行卡)普通键盘(数字键盘)卡片(银行卡)普通键盘(数字键盘)存款(存款事务)个人身份号码()存款(存款事务)个人身份号码()存款抽屉(存款口)打印机(收据打印机)存款抽屉(存款口)打印机(收据打印机)数字(数字键)足够的资金(金额)数字(数字键)足够的资金(金额)金融事务(事务)系统(金融事务(事务)系统()资金(余额)转账(资金转账)资金(余额)转账(资金转账)机器(机器(ATM)取款(取款事务)取款(取款事务)23淘汰系统之外的事物淘汰系统之外的事物存款纸袋存款纸袋银行卡收据银行卡收据银行顾客用户银行顾客用户 可用作动词的名词也可以淘汰可用作动词的名词也可以淘汰机会失败反馈第三次尝试机会失败反馈第三次尝试24物理对象作为对外部设备接口建模物理对象作为对外部设备接口建模ATM收据打印机收据打印机银行卡读卡器银行卡读卡器现金取款机现金取款机存款口存款口问候语和主菜单问候语和主菜单25ATM名词短语初始列表名词短语初始列表筛选名词原则:筛选名词原则:淘汰相同意义的,保留表达更好的名词。淘汰相同意义的,保留表达更好的名词。淘汰描述系统这外事物的名词淘汰描述系统这外事物的名词淘汰时间名词淘汰时间名词对于系统内的物理设备,需要使用设备接口对象对于系统内的物理设备,需要使用设备接口对象建模建模ATM金融事务读卡器 现金取款口收据打印机问候语 银行卡主菜单 事务现金账户26最终的候选类最终的候选类ATM读卡器现金取款口收据打印机问候语 银行卡 主菜单 账户金融事务 存款事务 查询事务 转账事务主要的类:ATM读卡器收据打印机存款事务查询事务转账事务账户现金取款口272、关联、关联关联描述类之间的关联关联描述类之间的关联,表示有意义和值得关注的,表示有意义和值得关注的连接连接关联表示需要持续一段时间的关系关联表示需要持续一段时间的关系基于现实世界的需要,分析模型中的关联基于现实世界的需要,分析模型中的关联如如SalesLineItem和和Sale实例间的是否有关联?实例间的是否有关联?应避免加入大量关联应避免加入大量关联28关联是实例连接的抽象关联是实例连接的抽象一个关联连接同一个类的多个对象一个关联连接同一个类的多个对象例:不同的证券的所有者例:不同的证券的所有者类图:关联对象图:链接29关联表示法关联表示法关联表示为类间连线,冠以关联名称关联表示为类间连线,冠以关联名称关联命名准则是:类名关联命名准则是:类名-动词短语动词短语-类名类名关联末端包含多重性,用于指明类的实例之间数量关联末端包含多重性,用于指明类的实例之间数量关系关系关联本质上是双向的,可选有阅读方向关联本质上是双向的,可选有阅读方向30两个类之间存在多种关联两个类之间存在多种关联注意:两个类可能会有多种关联。注意:两个类可能会有多种关联。如飞机和机场的关系,飞往与飞自关联截然不同如飞机和机场的关系,飞往与飞自关联截然不同必须为关联取名,明确关联意义必须为关联取名,明确关联意义31关联角色关联角色关联的一每端称为角色(关联的一每端称为角色(Role)角色有如下选项:角色有如下选项:多重性表达式多重性表达式名称名称导航导航32多重性多重性多重性定义了某个时刻类多重性定义了某个时刻类A有有多少个实例可以和类多少个实例可以和类B的一个的一个实例关联实例关联多重性的值和建模者及软件开多重性的值和建模者及软件开发者的关注角度有关发者的关注角度有关如如Person和和Company之间有关之间有关Works for关联,关联,Person实例为实例为一个还是多个一个还是多个Company工作取决工作取决于语境于语境33关联终端角色名关联终端角色名使用动词为关联命名,加上类在此关联上的角色使用动词为关联命名,加上类在此关联上的角色名,可以更为明确二者间的关联关系名,可以更为明确二者间的关联关系对于同一类的两个对象之间的关联,终端名是必须对于同一类的两个对象之间的关联,终端名是必须的的34利用关联列表寻找关联利用关联列表寻找关联常见关联列表常见关联列表 P115A是交易是交易B的交易的交易A是交易是交易B相关的角色相关的角色.35示例:示例:POS部分领域模型部分领域模型36Monopoly37最终的候选类最终的候选类ATM读卡器现金取款口收据打印机问候语 银行卡 主菜单 账户金融事务 存款事务 查询事务 转账事务主要的类:ATM读卡器收据打印机存款事务查询事务转账事务账户现金取款口38ATM主要类的关联主要类的关联393、属性、属性确定概念类的属性是有助于分析确定概念类的属性是有助于分析记录的属性必须是满足当前场景的信息需求记录的属性必须是满足当前场景的信息需求如处理销售用例中,票据通常有日期,店名和地址,及如处理销售用例中,票据通常有日期,店名和地址,及收银员收银员ID等等40导出属性表示导出属性表示有些属性,是重要必须的,但可由其他信息导出有些属性,是重要必须的,但可由其他信息导出在属性名称前加在属性名称前加“/”符号符号41关注领域模型属性的数据类型关注领域模型属性的数据类型大部分属性类型应该是大部分属性类型应该是“简单简单”的数据类型的数据类型不应该是复杂的领域概念不应该是复杂的领域概念42定义新的数据类型类(定义新的数据类型类(Value Object)有些属性相对复杂,但也只是用于记录信息,不有些属性相对复杂,但也只是用于记录信息,不承担领域责任承担领域责任开始往往建模为数字或字符串开始往往建模为数字或字符串准则准则由不同的小节组成:电话号码、地址、人名由不同的小节组成:电话号码、地址、人名具有与相关的操作,数据需要解析或校验:具有与相关的操作,数据需要解析或校验:具有其他属性:促销价格具有其他属性:促销价格单位的数量:单位的数量:具有以上性质的一个或多个类型的抽象具有以上性质的一个或多个类型的抽象4344避免数据库建模概念避免数据库建模概念引入外键引入外键!45对数量和单位建模对数量和单位建模考虑数量的价格或重量单位考虑数量的价格或重量单位如果软件是面向国际市场的,则需要对这些数量进行处理。如果软件是面向国际市场的,则需要对这些数量进行处理。46POS系统中的属性系统中的属性47Monopoly48ATM类的属性类的属性49没有唯一正确的领域模型没有唯一正确的领域模型所有模型都是对试图要理解的领域近似所有模型都是对试图要理解的领域近似利用对象图,使用场景验证模型的正确利用对象图,使用场景验证模型的正确迭代和演化式开发领域模型迭代和演化式开发领域模型通过若干迭代对领域模型进行增量式演进通过若干迭代对领域模型进行增量式演进,不必不必过早的试图捕获所有可能的概念类和联系过早的试图捕获所有可能的概念类和联系50写在最后写在最后成功的基成功的基础在于好的学在于好的学习习惯The foundation of success lies in good habits51谢谢大家荣幸这一路,与你同行ItS An Honor To Walk With You All The Way讲师:XXXXXX XX年XX月XX日
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!