




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类与类图,薛建民xjm87818127,回顾,用例规约:用例的文字描述,用例的核心进行用例阐述成功场景(正常事件流的描述)扩展场景(备选事件流)约束等需要解决的问题,类的设计与类图,类图类的定义与表示类之间的关系类图建模对象与对象图,类图示例,类图,类图描述的是对象之间的结构静态关系,用于软件系统的静态建模。类图是显示一组类、接口、协作以及它们之间关系的图。用于对系统静态设计视图建模。类图通常包含下述内容:类接口协作关联关系依赖泛化,类(Class)的定义1,类是面向对象系统组织结构的核心对象表示被建模的应用领域中的离散概念物理实体飞机、商业事物(如一份订单)、逻辑事物(如广播计划)、应用事物(如取消键)、计算机领域的事物(如哈希表)或行为事物(如一项任务),类的定义2,类是具有相似结构、行为和关系的一组对象的描述符。类描述了一组对象的公共的结构和行为。类为对象规定了它们的结构和所能提供的服务.类的组成属性操作,类名,属性,操作,类的职责,类的职责:是类或者其他元素的契约或义务。类的职责是自由形式的文本,他可以写成一个短语或是一段短文。,职责,类的职责,对类建模的一个好的开始点是详述词汇表中的事物的职责。虽然实际上每个结构良好的类都最少有一个职责,最多也是可数的,但类可以有任何数目的职责。当精化模型时,要把这些职责转换成能很好地完成这些职责的一组属性和操作。职责是自由形式的文本。可以把单一的职责写成一个短语、一个句子或(最多)一段短文,写在类的描述栏中。,不同阶段的类,类的划分A、概念层(需求分析阶段)描述了问题领域的概念。很少考虑或不考虑实现问题.应独立于具体的程序设计语言。B、说明层(设计阶段)描述软件的接口部分,而不是软件的实现部分。C、实现层(实现阶段)只有在实现层才真正考虑类的实现问题,提供类的实现细节。,接口与抽象类抽象类是一种不能够被直接实例化的类,也就是说不能够创建一个属于抽象类的对象。接口则是一种类似于抽象类的机制,它是一个没有具体实现的类。,类的种类,抽象类和抽象方法用斜体表示,类的种类2,关联类关联类既是关联也是类,它不仅像关联那样连接两个类,而且还可以定义一组属于关系本身的特性。,类的种类3,模板类可以根据占位符或参数来定义类,而不用说明属性、方法返回值和方法参数的实际类型。,类的种类:主动类与嵌套类,主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控制活动;它不在别的线程、堆栈或状态机内运行,具有独立的控制期。从某种意义上说,它就是一个线程。在诸如Java的语言中,允许你将一个类的定义放在另一个类定义的内部,这就是嵌套类,在Java中也称为内层类。嵌套类是声明在它的外层类中的,因此只能够通过外层类或外层类的对象对它进行访问,类的版型(Stereotype),UML的三种扩充机制(taggedvalue,constraint,stereotype)之一。Stereotype也有翻译为构造型,衍型。建模人员在已有的构造块上派生出新的构造块,这些新的构造块适合于特定问题。版型与父类/子类不一样如:接口是类的版型,Actor是版型化的类。,边界类、控制类和实体类的划分,UML中有三种主要的类版型:Boundary,Entity,Control。边界类(Boundaryclass)位于系统与外界的交界处,处理系统环境和系统内部间的通信,包括所有窗体(form)、报表(report)、与外部设备的接口(interface),以及与其它系统的接口等。UML中边界类的表示:,边界类、控制类和实体类的划分,实体类(Entityclass)保存要持久存储的信息。UML中实体类的表示:,实体类可以通过事件流和交互图发现。实体类通常用领域术语命名。,边界类、控制类和实体类的划分,控制类(Controlclass)用于描述一个UseCase所特有的事件流控制行为。多个用例可以共用一个控制类。控制类将UseCase所特有的行为进行封装,具有良好的隔离作用。概念上,拟建系统的其他部分(边界类和实体类)将与useCase具体执行逻辑形成松散耦合。UML中实体类的表示:,确定类之间的关系,识别类之间的关系建立关联创建角色确定重数聚合、组合、自反、限定识别接口和抽象类,类的关系,依赖泛化关联实现,依赖,“使用”关系。意味着一个元素使用另一个元素来完成任务,依赖分类,依赖关系示例,泛化关系泛化-定义,超类和子类的关系组成,一般与具体的概念是“isakindof”关系:玫瑰是一种花,泛化关系,泛化示例-1,泛化示例-2,泛化示例-多重继承1,泛化示例-多重继承2,关联关系,一般的关联关系,关联关系连接两个类并指示它们之间的结构关系。关联关系可能有一个表示两个类之间关联的名称。,一般的关联关系,当一个类参与到一个关联关系中时,它在该关系中扮演一个特定的角色。,关联角色的多重性,0.10.*1.*3.57,8,12,聚合关系1,关联关系的扩展,也称整体部分关系,“hasa”两种关系简单聚合组合,简单聚合1,简单聚合2,整体和部分的生命周期互不相关,组合关系1,整体部分关系,强关系,组合关系2,事例一个房间有两个门大楼有房间公司有部门书有章节,关联示例-自身关联,限制性关联,关联类,关联本身可以有自己的属性和操作关联类,关联类使用,关联类与普通类,实现-定义,将一种模型元素(如类)与另一种模型元素(如接口)连接起来接口只是行为的说明而不是结构或者实现,实现示例-1,实现示例-2,建立类图的步骤,研究分析问题领域,确定系统的需求。发现对象与类,明确它们的含义和责任,确定属性和操作。发现类之间的关系。把类之间的关系用关联、泛化、聚集、组合、依赖等关系表达出来。设计类与关系。调整和细化已得到的类和类之间的关系,解决诸如命名冲突、功能重复等问题。绘制类图并编制相应的说明。,类的识别,识别原型中的类名词法:搜索用例并找出所有名词,组成候选类CRC技术应用筛选规则,应用筛选规则1,删除具有如下特征的候选类冗余:商品-货物,税-税金,款额-销售款不相关:错误、利益操作:税额计算、金额合计事件:描述特定时间频率的名词,每日产生一个报表,应用筛选规则2,删除具有如下特征的候选类属性:描述了另一个类的结构的名词,如商品标识码、信用卡号注意:在不同的应用中可能会不同邮政编码:通常是属性,但对邮政服务,可能包含(地理位置、统计、费率结构、运送信息)属性和(投送线路、日期)行为,应用筛选规则3,删除具有如下特征的候选类角色:描述一个特定实体的状态或其分类的名次多半不是类,他是一个角色,顾客最佳顾客实现结构:描述硬件元件(打印机)或算法(复利计算),POS销售用例规约,顾客带着商品到POS终端出准备购买。出纳员开始一次新的销售。出纳员输入商品标识码。系统记录销售的商品并给出商品的描述、单价和折扣,并根据某些价格规则计算所应付的款额。出纳员重复步骤3和步骤4,一直到处理完所有商品为止。系统给出所应支付的总款额并计算税金。出纳员告诉顾客总价并请求付款。顾客付款,系统处理支付。系统记录下已完成的销售,并将销售和支付信息发送给外部的账目系统以及存货清单系统。系统打印收据。顾客带着收据和商品离开。,POS销售类分析,边界类用户界面类(POS机界面)条型码扫描器打印机接口与信用卡付款系统连接,POS销售类分析,控制类pos销售,POS销售类分析,实体类类的识别方法识别原型中的类名词法:搜索需求或者用例并找出所有名词,组成候选类CRC技术应用筛选规则(去除不相关的、去除冗余、去除模糊的、去除不适宜的对象),筛选候选类:名词法,顾客带着商品到POS终端出准备购买出纳员开始一次新的销售出纳员输入商品标识码系统记录销售的商品并给出商品的描述、单价和折扣,并根据某些价格规则计算所应付的款额。出纳员重复步骤3和步骤4,一直到处理完所有商品为止。系统给出所应支付的总款额并计算税金出纳员告诉顾客总价并请求付款顾客付款,系统处理支付系统记录下已完成的销售,并将销售和支付信息发送给外部的账目系统以及存货清单系统系统打印收据顾客带着收据和商品离开,筛选候选类,“系统”是指将要开发的系统,即系统本身,无须对其进行建模;“POS终端”是一个界面类,已经在界面类中建模;“顾客”、“出纳员”是否建模要看系统边界;此处只将“顾客”、“出纳员”都作为候选类建模;很明显“商品”是一个很重要的类,而“商品标识码”、“描述”、“单价”、“折扣”则都是用来描述商品的基本信息的,因此应该作为“商品”类的属性处理,而“规则”是指价格的生成规则,而价格则是商品的一个属性,因此“价格规则”可以作为编写“商品”类构造函数的指南;“总款额”、“款额”、“总价”都是相同的意思,代表一次销售应该支付的总款额,所以建模一个“销售单”候选类。“总款额”作为“销售单”的一个属性。,筛选候选类,“账目”是记录每次销售明细及总额的,应该成为一个候选类;“存货清单”是指库存情况,每次销售后都要更新库存,所以也该成为一个候选类;“收据”是顾客购买凭证,可以退货,所以也该成为一个候选类;隐含的候选类:“销售单列表”,获得的候选类,实体类商品、账目、存货清单、收据、销售单、销售单列表等其他外部顾客、出纳员,关联分析,建模,多对多,细化,细化后的类图,识别类之间的关系,类图,对象(Object)定义,对象是类的实例是完全描述它的类的直接实例和那个类的祖先的间接实例(如果允许多重分类,则对象可能是多个类的直接实例),对象(Object)定义,对象对于它的类的每个属性有一个数据值每个属性值必须与属性的数据类型相匹配如果属性有可选的或多重的多重性,那么属性可以有零个或多个值,对象(Object)表示,除对象名下面加下划线外,表示方法与类图相同,对象图-ObjectDiagram,它用来表示类图中类的对象在系统运行过程中某一时刻的状态它是软件系统中逻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025前期物业服务管理合同
- 2025房屋中介服务合同模板
- 2025年vet考试题及答案
- 起重机防撞装置施工方案
- 东阳三星级宾馆施工方案
- 广州市黄埔区卫生健康系统事业单位招聘考试真题2024
- 2025年衢州市属事业单位考试试卷
- 水库拆除爆破方案范本
- 仓库衣服清仓方案范本
- 2025智能设备分销代理的合同协议
- 2025年学校少先队知识应知应会题库(含答案)
- 核桃肽粉生产技术规程(征求意见稿)编制说明
- 《储能技术》课件-3.各种类型的蓄能技术
- (2025)企业首席质量官培训考核试题(附含答案)
- 工业厂区场地平整建设方案
- 2024年丽水市莲都区事业单位招聘真题
- 锂电池pack工厂安全培训课件
- (2025秋新版)青岛版科学三年级上册全册教案
- 跨境电商合规管理操作手册
- DB31∕T 1545-2025 卫生健康数据分类分级要求
- 智能电网-课件
评论
0/150
提交评论