首页 > 其他分享 >UML知识点

UML知识点

时间:2023-12-07 18:45:07浏览次数:30  
标签:关系 知识点 对象 类图 UML 交互 描述

Unified Modeling Language (UML)包含不同类型的类图,用于描述系统中的类、对象和它们之间的关系。以下是几种常见的类图类型及其介绍:

类图 (Class Diagrams): 类图是描述系统中类及其之间关系的静态结构图。它展示了类的属性、方法、关联、继承、接口等信息。主要元素包括类、接口、关联、继承、依赖、聚合和组合等。

对象图 (Object Diagrams): 对象图是类图的实例化表示,它展示了系统中特定时间点的对象及其之间的关系。它描述了类的实例或对象及其属性值、连接和相互作用。

包图 (Package Diagrams): 包图展示了系统的物理和逻辑组织结构,用于组织和管理类、对象、组件和其他结构化元素。它显示包、子包和其中包含的元素。

部署图 (Deployment Diagrams): 部署图描述了系统的物理部署,展示了软件组件如何部署在硬件节点上。它显示了节点、组件、连接以及节点上的部署关系。

组件图 (Component Diagrams): 组件图描述了系统中组件及其关系,强调了系统的物理和逻辑组成。它显示了组件、接口、依赖关系等。

交互图 (Interaction Diagrams): 交互图包括序列图和协作图,用于展示对象之间的交互和消息传递。序列图描述了对象之间的交互顺序,而协作图描述了对象之间的协作关系。

状态图 (State Diagrams): 状态图描述了对象在其生命周期中状态的变化以及导致状态转换的事件。它展示了对象状态之间的转移和行为。

 

依赖关系(只要A用到了B,A和B就存在依赖关系)
依赖的范围比较广,类与类之间是肯定存在依赖关系的,如果不存在那么就没必要研究,因此解耦只能说尽可能的解耦,如果解耦到两个类完全没有关系那么就没有必要研究。

关联关系(1对多等关系就是关联)
关联关系和后面的聚合关系有点像,关联关系一般体现在A和B相互关联,例如A有成员变量B,同时B有成员变量A

public class A {
    private B b;// 相互关联

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;
    }
}
class B {
    private A a;// 相互关联

    public A getA() {
        return a;
    }

    public void setA(A a) {
        this.a = a;
    }
}

泛化关系(等同于父子类的继承关系)
泛化就是继承

实现关系(等同于接口的实现)
实现关系很简单就是接口的实现,就不解释了。

聚合关系(可以单一存在的两个类)
如下代码创建A不一定需要创建B(A和B可以拆分)

public class A {
    private B b;// 聚合,通过set方式进行聚合,这个b不一定是B可以是B的子类

    public B getB() {
        return b;
    }

    public void setB(B b) {
        this.b = b;
    }
}
class B {
}

组合关系(不可拆分的两个类)
如下代码是属于组合关系,当我们创建A的时候B也会一起伴随着创建(好像不可拆分一样)。

public class A {
    private B b=new B();// 组合
}
class B {
}

 

UML 的结构

UML的结构包括构造块、规则和公共机制三个部分。

(1)构造块。UML 有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。

(2)公共机制。公共机制是指达到特定目标的公共UML 方法,主要包括规格说明(详细说)、修饰、公共分类(通用划分)和扩展机制四种。规格说明是事物语义的细节描述,它是模型真正的核心;UML 为每个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;UML 包括两组公共分类,分别是类与对象(类表示概念,而对象表示具体的实体)、接口与实现(接口用来定义契约,而实现就是具体的内容);扩展机制包括约束(扩展了UML 构造块的语义,允许增加新的规则或修改现有的规则)、构造型(扩展UML 的词汇,用于定义新的构造块)和标记值(扩展了UML 构造块的特性,允许创建新的特殊信息来扩展事物的规格说明)。

(3)规则。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。

特点

(1)UML统一了Booch、OMT和OOSE等方法中和基本概念和符号。

(2)UML吸取了全面对象领域中各种优秀的思想,其中也包括非OO方法的影响。

UML符号表示考虑了各种方法的图形表示,删掉了很多容易引起混乱的、多余的和极少使用的符号,同时添加了一些新符号。因此,在UML中凝聚了面向对象领域中很多人的思想。这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的OO方法和丰富的计算机科学实践应验综合提炼而形成的。

(3)在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibility Mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activity Diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)概念。

UML14个图例

1、类图(class diagram)【结构型】

类图是UML面向对象中最常用的一种图,类图描述一组类、接口、协作和它们之间的关系。类图可以帮助人们更直观地了解一个系统的体系结构。通过关系和类表示的类图,可以图形化地描述一个系统的设计部分。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图

考试点:必用来分析业务概念

 

2、对象图(object diagram)【结构型】

对象图描述一组对象及它们之间的关系。UML面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。

 

考试点:很多应用、重点

3、构件图(component diagram)【结构型】

构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。也称为组件图。构件图描述代码部件的物理结构及各部件之间的依赖关系,构件图有助于分析和理解部件之间的相互影响程度。从构件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译机器和运行时依赖关系。使用构件图可以将系统划分为内聚组件并显示代码自身的结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。

 

考试点:必用来分析IT基础架构、软件架构等方面需求

4、组合结构图(composite structure diagram)

组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

5、用例图(use case diagram)【行为型】

用例图是从用户角度描述系统功能,并指出各功能的操作者。用例图是UML中最简单也是最复杂的一种图。用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。

说它简单是因为它采用了面向对象的思想,基于用户角度来描述系统,绘制非常容易,图形表示直观并且容易理解。说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。用例图展示了一组用例、参与者以及它们之间的关系。

 

考试点:必考

6、顺序图(sequence diagram,序列图)【行为型】

顺序图是一种交互图(interaction diagram),顺序图描述了对象之间动态的交互关系,主要体现对象之间进行消息传递的时间顺序。顺序图由一组对象构成,每个对象分别带有一条竖线,称做生命线,它代表时间轴,时间沿竖线向下延伸。交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。UML面向对象中顺序图描述了这些对象随着时间的推移项目之间交换消息的过程。消息用从一个对象的生命线指向另一个对象的生命线的水平箭头表示。

 

考试点:必会使用一种图来分析业务流程图,大部分情况下至少会用到其中两种图

7、通信图(communication diagram)【行为型】

通信图也是一种交互图,UML面向对象中通信图用于显示组件及其交互关系的空间组织结构,它不侧重于交互的顺序。通信图显示了交互中哥哥对象之间的组织交互关系以及对象彼此之间的链接。与顺序同不同,通信图显示的是对象之间的关系。它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X 版本中,通信图称为协作图(collaboration diagram)。

另外,通信图没有将时间作为一个单独的维度,因此序列号就决定了信息及并发线程的顺序。它用带标号的箭头来描述特定的方案,以显示在整个方案过程中信息的移动情况。通信图主要用于描绘对象之间消息的移动情况来反映更具体的方案,显示对象及其交互关系的空间组织结构,而非交互的顺序。

 

考试点:基本不考

8、定时图(timing diagram,计时图)

定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。

考试点:必用来分析IT基础架构、软件架构等方面需求

9、状态图(state diagram)【行为型】

状态图描述一个状态机,它由状态、转移、事件和活动组成。描述一个实体基于事件反应的动态行为,显示了该实体是如何根据当前所处的状态对不同的事件作出反应。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。

 

考试点:必会使用一种图来分析业务流程图,大部分情况下至少会用到其中两种图

10、活动图(activity diagram)【行为型】

UML面向对象中活动图记录了单个操作或方法的逻辑,或者单个业务流程的逻辑。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。描述系统中各种活动的执行顺序,通常用于描述一个操作所要进行的各项活动的流程执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。

 

考试点:必会使用一种图来分析业务流程图,大部分情况下至少会用到其中两种图

11、部署图(deployment diagram)【结构型】

部署图,也称为配置图。UML面向对象中配置图描述系统中硬件和软件的物理配置情况和系统体系结构。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。

在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里面,说明分配给该结点上运行的可执行件或对象,从而说哪些软件单元被分配在哪些结点上运行。

 

标签:关系,知识点,对象,类图,UML,交互,描述
From: https://www.cnblogs.com/syhxx/p/17883678.html

相关文章

  • UML图
    UML是一种常用的软件建模语言,其中类图是最常用的一类图。类图描述了系统中的类、接口、对象和它们之间的关系。除了类图,UML还包括其他八种类型的图,包括用例图、活动图、时序图、状态图、组件图、部署图、对象图和通信图。以下是UML中九种不同的类图的简单介绍:类图(ClassDi......
  • UML学习详解
    一、用例图:描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。1.用例图的含义由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的......
  • uml
    九种常见UML图1.类图概述类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程......
  • 12.7UML图总结
    今天老师布置了UML的类图,用例图,活动图,时序图等,总结了以下内容。类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型,是唯一的可以直接映射到面向对象语言的图。类图的绘制......
  • UML
    1、类图泛化(也就是我们传统意义上的继承关系)子类继承父类,关系用extend关键字标识;关联可以说是一种属于关系,图中即说的是PhoneNumber类属于Master类,同时,除了一对一的关系之外,还可以用一对多、多对一、多对多的关联关系,除了单向关联之外,双向关联也是存在的;需要注意的是,在关......
  • 2023-12-07:UML中的各种图形与关系
    1.类图类图描述系统静态结构。在系统的逻辑视图中,类图用于表示类和它们之间的关系。我们利用类图来说明实体共同的角色和责任,这些实体提供了系统的行为。类关系:类的基本联系包括关联、泛化、聚合和组合。关联:用不带箭头的实线表示关联连接了两个类,体现了一种语义......
  • 常见UML图总结
    写这篇博客的原因呢,是因为上课并未完成老师关于UML类图的解释。所以写下这篇博客加强理解。其中用到最多的就是时序图和活动图。常见的UML图一共有九种,分别是用例图、类图、对象图、序列图(时序图)、协作图、状态图、活动图、构件图和部署图。1.用例图:用于描述系统与其外部环境之......
  • uml设计模式语言
    UML(UnifiedModelingLanguage)是一种广泛应用于软件开发和系统设计的建模语言。在软件工程中,UML图用于可视化、规划和共享系统设计的概念,其中类图是其中最核心、最常用的一种图示。本文将简述UML模型设计的基本概念,重点关注类图及其关系的详细解释。1.UML概述:UML作为一种标准化......
  • UML知识1500字
    参考:UML建模课程相关课件一、用例图(1)参与者参与者可以表现为以下三种形式   参与者之间可以有泛化关系,参与者是一个类,代表一种角色,而不是具体某个人参与者可以通过泛化关系来定义,在这种泛化关系中,一个参与者的抽象描述可以被一个或多个具体的参与......
  • uml
    UML——UnifiedmodelinglanguageUML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化......