- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 类图的概念 定义:描述类、接口、协作及它们之间关系的图。用来显示系统中各个类的静态结构。 类图主要作用: 类图(Class diagram)提供了对类及其关系进行建模的一种图形化的 表示法。 类图可以可以表示应用程序的结构。 5.1.1 类的概念 1. 类的定义 类(class): 具有相似结构、行为和关系的一组对象。 2.类的表示 3.类的其他几种表示形式 4.类名 5.1.2 类的属性 1. 属性的含义(attribute): 描述类所表示事物的静态性质。 2.属性的格式 5.1.2 类的属性 5.1.2 类的属性 5.1.2 类的属性 5.1.2 类的属性 5.1.2 类的属性 5.1.2 类的属性 5.1.3 类的操作 1. 操作的含义 操作(operation): 描述类所表示事物的动态性质。 2.操作的格式 5.1.3 类的操作 5.1.3 类的操作 5.1.3 类的操作 5.1.3 类的操作 5.1.4 概述 类图的元素: 类(Class) 接口(Interface) 协作(Collaboration) 依赖关系(Dependency) 泛化关系(Generalization) 关联关系(Association) 实现关系(Realization) 5.1.4 类之间的关系 (重点) 1 依赖关系 2 泛化关系 3 关联关系 4 实现关系 依赖的含义 回顾:依赖(dependency): 表示两个元素X、Y,如果X的变化必然导致Y的变化,则称Y依赖X。 注意:依赖关系不仅限于类,用例、包、构件之间都可以存在依赖关系。 回顾:在UML中,依赖用一个从客户指向提供者的虚箭头表示。 依赖的表示 依赖的分类 1. 使用依赖(Usage) 2. 抽象依赖(Abstraction) 3. 授权依赖(Permission) 4. 绑定依赖(Binding) 1. 使用依赖 表示客户使用提供者提供的服务以实现它的行为,包括: 使用(《use》) 调用(《call》) 参数(《parameter》) 发送(《send》) 实例化(《instantiate》) 2. 抽象依赖 表示客户与提供者之间的关系,依赖于在不同抽象层次上的事物,包括: 跟踪(《trace》) 精化(《refine》) 派生(《derive》) 3. 授权依赖 表达一个事物访问另一个事物的能力,包括: 访问(《access》) 导入(《import》) 友元(《friend》) 4. 绑定依赖 较高级的依赖类型,用于绑定模板以创建新的模型元素,包括: 绑定(《bind》) 泛化的含义 回顾:泛化(generalization): 表示事物之间的一般与特殊的关系。也可以称为继承关系。 注意:泛化关系除了表示类与类之间的关系之外,还可以表示参与者、用例、包、构件、接口等建模元素之间的关系。 回顾:描述了一种“is a” 的关系。 泛化的表示 泛化的用途 泛化主要用途: 多态 继承 单继承 多重继承 关联的定义 回顾:关联(association): 模型元素之间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义的链的描述。 回顾:在UML中,关联关系用一条连结两个类的实线表示。 关联的特性 1. 名称(Name) 2. 角色(Role) 3. 多重性(Multiplicity) 4. 聚合关系(Aggregation) 5. 组合关系(Composition) 6. 导航性(Navigation) (1) 名称 可以前缀或后缀一个指引阅读方向的方向指示符,以消除歧义。 (2) 角色 解释对象是如何参与关系的。 (3) 多重性 关联的多重性指有多少对象可以参与该关联。 (4)聚合关系 表示整体与部分关系的关联 描述了“has a”的关系 (5) 组合关系(Composition) 聚合关系中的一种特殊情况,是更强形式的聚合,又称强聚合。 聚合与组合的区别 (6) 导航性 导航性描述一个对象通过链进行导航访问另一个对象。 使用导航性可以降低类间的耦合度。 包括:单向关联和双向关联。 实现关系 (Realization) 泛化和实现都可以将一般描述与具体描述联系起来: 泛化将同一语义层上的元素连接起来,并且通常在同一模型内。 实现将不同语义层内的元素连接起来,并且通常建立在不同的模型内。 5.2 类图建模技术 5.2.1 类图的抽象层次 5.2.2 类图建立步骤 5.2.3 正向工程和逆向
文档评论(0)