ch05类图和对象图.ppt
上传人:sy****28 上传时间:2024-09-12 格式:PPT 页数:64 大小:1.8MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

ch05类图和对象图.ppt

ch05类图和对象图.ppt

预览

免费试读已结束,剩余 54 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Case工具-UMLwithRationalRose5.1类的定义----面向对象思想5.1类的定义----面向对象思想5.1类的定义----类名5.1类的定义----属性类型初始值保护系统的完整性为用户提供易用性多重性:表示该属性可能的取值。特性:{onlyread}说明该属性的值不能被修改。例:属性声明+size:Area=(100,100)#visibility:Boolean=falsename:String[0..1]point:Point[2..*ordered]5.1类的定----操作关联是模型元素间的一种语义联系。如:一个人为一家公司工作,一家公司有许多办公室。我们就认为人和公司、公司和办公室之间存在某种语义上的联系。注意:链和关联关联端:关联的任何一个连接点都叫做关联端,一个关联可以有两个或多个关联端,每个关联端连接到一个类。关联名:用来描述关联的性质和作用。关联名是一个动词或动词短语。类Company和Person之间的关联:不使用关联名:多种解释,如客户、雇员或所有者。加上Employs关联名:表示是雇佣关系。在类图中,并不需要给每个关联都加上关联名。只有在需要明确的给关联提供角色名,或一个模型存在多个关联且要查阅、区别这些关联时才给出关联名。角色是关联关系中一个类对另一个类所表现出来的职责。角色的名称是名词或名词短语。类Company以employer的角色,Person类以employee的角色参与关联。Employer和employee称为角色名。相同类可以在其他的关联中扮演相同或不同的角色。多重性multiplicity:又叫重数,用来说明关联的两个类之间的数量关系;是指有多少对象可以参与该关联。格式为:n..m,其中整数n定义所连接的最少对象的数目,m则是最多对象数(当不知道确切的最大数时,UML中用*表示最大数,Rose中则用n来表示)。多重性是用非负整数的一个子集来表示。导航性:关联也可以有方向,即导航性,在关联关系上加上导航箭头表明可以从源类的任何对象到目标类的一个或多个对象。箭头指向的是目标类,另外一边则是源类。单向关联;双向关联关联本身也可以有特性。Contract类中的属性Salary和dateHired,描述的是company类和person类之间的关联关系,而非描述的company类或和person类的属性。关联类可以进一步描述关联关系的属性、操作以及其他信息。关联类是一种具有关联特性和类特性的建模元素,可以把它看成是具有类特征的关联或是具有关联特征的类。关联的约束约束:{xor}。约束可以是自由文本和OCL两种形式表示。在关联上加上约束,可以加强关联的含义。例子显示的是两个关联之间存在异或约束,表示Account类要么与Person类有关联,要么与company类有关联,但不能同时与company类和person类都有关联。限定符一般在关联端,紧靠源类图标。存在限定符的关联称为限定关联或受限关联,用来表示某种限定关系。限定符的作用就是在给定关联一端的个对象和限定符值以后,可以确定另一端的一个对象或对象集。注意:限定符是关联关系的属性,而不是类的属性。引入限定符的一个目的就是把多重性从n降为1或0..1,这样如果做查询操作,那么返回的对象最多是一个,而不是一个对象集。根据关联所连接的类的数量划分自返关联(reflexiveassociation)又称递归关联,是一个类与它本身相关联,也就是同一个类的两个对象间的关联。自返关联虽然只有一个关联类,但有两个关联端,每个关联端的角色不同。二元关联:指在两个类之间进行关联。N元关联:是在3个或3个以上类之间的关联。N元关联中多重性:在其他N-1个实例值确定的情况下,关联实例元组的个数。聚集(聚合)聚集是一种特殊形式的关联,聚集表示类之间的关系是整体与部分的关系。“部分”可以独立于“整体”而存在。Circle类和Style类之间是聚集关系。如果circle这个对象不存在了,并不意味着Style这个对象也消失了。5.2类之间的关系----聚集组合组合也表示类之间的整体与部分的关系,又被称为强聚合。在组合中,部分与整体具有相同的生命周期,“部分”完全依赖于“整体“类。5.2类之间的关系----组合判断聚合还是组合,要根据应用场景来判断部分类和整体类之间的关系。例1:电脑是一个整体类,主板、Cpu等是相对于它的部分类。在一个固定资产管理系统中:组合在线DIY系统:聚合例2:订单和订单项之间的关系:组合关系。判断是聚合还是组合关系,关键在于要放到具体的应用场景中讨论。概念上的区别:P56–5