- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关联是描述链集合的一种结构关系,是与对象间连接相关的两个或多个类之间的语义关系。 *人-人群 *——原型划角色 杨扬:分大小 朝鲜,美国:流氓国家 革命;共产党和国民党 ------- 红军与共匪 例题 系统管理员 0..* 计算机 服务器 客户机 用 户 0..1 1..* 1 操作 使用 人 学生 0..1 0..1 婚姻 人 学生 教授 导师 指导 0..* 0..* 人 学生 教授 导师 指导 0..* 人 学生 教授 导师 指导 0..* 0..* 0..* 0..* 0..* 导师 指导 0..* 0..* 指导 3 对象层、特征层的增补及关联说明 在建立关联的过程中可能增加一些新的对象类,要把这些新增的类补充到类图的对象层中,并建立它们的类描述模板。 一种说法:对于每一个关联,可在它某一端所连接的对象类中增加相应的属性;在这个类的描述模板中,给出这个属性的详细说明。——不建议! 习题 1、用关联类为公司和雇员之间的薪水关系建模。 2、为人们之间的婚姻关系建模。 公司 雇员 1..* 1..* 雇主 职工 工作 公司工龄 薪水 人 0..1 0..1 婚姻 性别 聚合又称整体-部分结构,用于描述系统中各类对象之间的组成关系,通过它可以看出某个类的对象,以另外一些类的对象作为其组成部分。 1、概念与表示法 聚合(aggregation)是关联的一种特殊形式,表示整体和部分之间的“整体-部分”关系。 聚集 (aggregate)是聚合关系中作为“整体”的类,而把作为“部分”的类称为 成分或部分。 类与类之间的聚合关系指的是,一个类的对象实例,以另一个类的对象实例作为其组成部分, 是种“a part of”或“has a” ;也可理解为,一个类定义引用另一个类定义。 组合是聚合的一种形式,其部分和整体之间具有很强的“属于”关系,整体类的对象管理部分类的对象, 决定部分类的对象何时属于它,何时不属于它。部分可以先于整体消亡。 这种聚集末端的多重性不能超过1。 组合对象是组合类的实例。 4.3.3 聚合 C++: 整体类中的属性用部分类作为基类型,为组合; JAVA: 整体类中的属性用部分类作为基类型,为聚合。对于C++中的属性为指针(基类型为一个类)也是如此。 聚合的性质 1)结构性质 部分必须与它们所构建的整体有某些结构上或功能上的关系。 2)数学性质 a.非对称性 如果对象A是对象B的一部分,那么对象B就不能是对象A的一部分。 b传递性 如果对象A是对象B的一部分,对象B是对象C的一部分,那么对象A是对象C的一部分*。 整体对象类 部分对象类 1..* 1..* 连接符: 表示法 汽 车 发动机 车 轮 1 4,6 0..1 0..1 例子: 多重性: 一对一 一对多 多对多 多重性表示: 固定的数目或范围——例如:1 或 1..3 不定的数目或范围——例如: * 或 0..* 学院 大学 大学 学院 构成 聚合上一般不标名称。 异同? 1 1 ..* 1..* 1 2 识别聚合 (1)物理上的整体事物和它的组成部分 例:机器、设备和它的零部件 (2)组织机构和它的下级组织及部门 例:公司与子公司、部门 (3)团体(组织)与成员 例:公司与职员 (4)一种事物在空间上包容其它事物 例:生产车间与机器 (5)抽象事物的整体与部分 例:学科与分支学科、法律与法律条款 (6)具体事物和它的某个抽象方面 例:人员与身份、履历 (7)在材料上的组成关系 例如,面包由面粉、糖和酵母组成,汽车是由钢、塑料和玻璃组成。 3 、审查与筛选 (1)是否属于问题域? 例:公司职员与家庭* (2)是不是系统责任的需要? 例:公司与工会* (3)部分对象是否有一个以上的属性? 例:汽车与轮胎(规格) * (4)是否有明显的整体-部分关系? 例:学生与课程,谁是整体?部分? 4、调整对象层和属性层 定义整体-部分结构的活动可能发现一些新的对象类,或者从整体对象的类定义中分割出一些部分对象的类定义,应把它们加入到对象层中,并给出它们的详细说明。 ? 4.4.4 依赖 一个依赖规约了两个或多个模型元素(或两个模型元素集合)之间的一种语义关系,对目标元素的改变可能需要改变该依赖中的源元素。 下面种类的依赖是预定义的: access -- 访问 ;derive -- 派生;import -- 移入;refine-- 精化 trace-- 跟踪 ;use-- 使用 include –包含; extend—扩展,等等 仅当被建模的关
文档评论(0)