美文网首页
UML用例图、类图

UML用例图、类图

作者: supremecsp | 来源:发表于2022-03-29 16:00 被阅读0次

首先需要先了解一下对象之间的关系,以及它们对应的符号

通常对象之间的关系可以分为以下几类:

  • 泛化关系
  • 实现关系
  • 依赖关系
  • 关联关系
  • 聚合关系
  • 组合关系

对于继承(泛化)、实现(实现)这两种关系比较简单,它们体现的是一种类与类、或者类与接口之间的纵向关系。 其他的四种关系则体现的是类与类、或者类与接口之间的引用/横向关系。这四种关系所表现的强弱程度来看,从强到弱依次为:组合>聚合>关联>依赖。


1、泛化/继承(Generalization):实线+三角形空心
相当于类继承,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。


2、关联关系(association) :实线箭头
关联关系:指的是类与类之间的联接,它使一个类知道另一个类的属性和方法(实例变量体现)。A类依赖于B对象,并且把B作为A的一个成员变量, 则A和B存在关联关系.
关联可以是双向的,也可以是单向的。两个类之前是一个层次的,不存在部分跟整体之间的关系。
单向:只能从A通过属性导航到B,B不能导航到A。
双向:A可以通过属性导航到B,B也可以通过属性导航到(双向即为嵌套)

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系
举例:比如老师和学生,老师知道班里的学生信息,学生不知道老师的信息,老师和学生就是一种单向的关联关系.老师知道学生信息,学生知道老师信息,两者之间就是双向关联关系.老师知道同行老师的信息,老师和老师就是自关联关系


3、聚合关系(aggregtion)棱形空心+实线
聚合(aggregation)关系是关联关系的一种,是强关联关系,是整合和部分的关系,是has-a的关系.
聚合关系也是通过成员对象来实现,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象单独存在.(可替换)

表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期。
每一只大雁都属于一个大雁群,一个大雁群可以有多只大雁。当大雁死去后大雁群并不会消失,两个对象生命周期不同。


4、依赖(Dependency) 虚线+箭头
依赖关系:指的是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。
动物依赖氧气和水。调用新陈代谢方法需要氧气类与水类的实例作为参数

一般而言,依赖关系在Java语言中体现为成员变量、局域变量、方法的形参、方法返回值,或者对静态方法的调用。 表示一个A类依赖于B类的定义,如果A对象离开B对象,A对象就不能正常编译,则A对象依赖于B对象(A类中使用到了B对象);


5、实现关系(realization)虚线三角形空心
实现关系:指的是一个class类实现 interface接口(可以实现多个接口)的功能;实现是类与接口之间最常见的关系;
在Java中此关系通过关键字implements明确标识。



6,组合关系(composition)
组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
示例:
鸟和翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。


用例图指哪个参与者参与了哪个用例的执行,一般图形不会很复杂。
Rational Rose中若符号不够用的话,可打开Views→Toolbars→Configure添加新的符号


参与者:用以表示和系统进行交互的参与者角色,不一定是人也可以是物或者系统。并且参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。
用例:外部可见的系统功能,对系统提供的服务进行描述。
边界: 指系统与系统之间的界限。把系统边界以外的同系统相关联的其他部分称为系统环境。
关联:参与者和用例之间的关系用箭头表示,箭头表示在这一关系中哪一方是交互的主动发起者,箭头所指方是交互的被动接受者;

类图:用来显示系统中的类、接口、协作以及他们之间的静态结构和关系的一种静态模型.(主要是展现类与类之间的关系,偏向于实现)
类图的组合关系图标需要先使用聚合图标;选中此关系,右击->open specification->roleA Detail->Containment of schedule中的By value选中即可



接口(Interface)
接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口使用一个带有名称的小圆圈来进行表示。

一张完整的类图:

参考:UML用例图UML类图UML中的类图及常见类图关系

相关文章

  • 终于明白六大类UML类图关系了

    UML,全称Unified Modeling Language,统一建模语言。而UML图分为用例图、类图、对象图、...

  • UML模型图

    官方文档UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图 用例图 用例图 Use case...

  • 2019-04-01 面向对象技术

    考察重点面向对象、UML、设计模式等内容 uml统一建模语言 (1)静态模型(系统结构)——用例图、类图、对象图、...

  • UML用例图、类图

    首先需要先了解一下对象之间的关系,以及它们对应的符号 通常对象之间的关系可以分为以下几类: 泛化关系 实现关系 依...

  • 2018-02-10

    【UML】— 用例图

  • UML建模工具

    1.简介 UMLet是一款简单实用、开源的轻量级UML建模工具,UML中定义了用例图、类图、对象图、状态图、活动图...

  • UML核心视图

    UML核心视图包括两类。 静态视图:用例图、类图、包图 动态视图:活动图、状态图、时序图、协作图 4.1 静态视图...

  • UML序列图

    UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模...

  • UML时序图、协作图

    UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模...

  • UML之另外7种图

    除了单独介绍的类图和时序图,其余7种简单介绍 九大UML图 用例图 用例图主要回答了两个问题:1、是谁用软件。2、...

网友评论

      本文标题:UML用例图、类图

      本文链接:https://www.haomeiwen.com/subject/ugnvjrtx.html