UML基础与应用之类图

简介: UML基础与应用之类图

什么是类图?


类图是描述类、接口、协作以及他们之间关系的图,用来显示系统中各个类的静态结构。类图是面向对象系统建模中最常用的图,他是定义其他图的基础。


类的用途:


1、对系统懂得词汇建模:用UML构建系统通常是从构造系统的基本词汇开始的,用于描述系统的边界,即用来决定哪些抽象是要建模系统中的一部分。


2、对简单协作建模:构造的软件系统中的类很少由孤立存在的,他们总是和其他类协同工作,以实现强于单个类的语义。


3、对逻辑数据库模式建模:数据库模式建模是数据库概念设计的蓝本,可以使用类图对这些数据库的模式建模。


类图包含的元素:类、接口、协作、依赖关系、泛化关系、实现关系以及关联关系。


428406a4a553c1876d6bb9fd6dc3e396_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


类:类是面向对象系统组织结构的核心。是对一组据偶相同属性、操作、关系和语义的对象描述。一个类可以实现一个或多个接口。


类的符号


4287d283c33859d87493681e478f5c7a_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


类的名称是一个文本串,可分为简单名称和路径名称。单独的名称即不包含冒号的字符串叫做简单名。用类所在的包的名称作为前缀的类名叫做路径名。


c30102d16e689e22aed45428c0896bc8_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


类中操作的可见性主要包括公有(public)、私有(private)、受保护(protected)、包内公有(package),分别用符号:+、-、#、~表示。


接口:接口是没  有给出对象的实现和状态的情况下对对象行为的描述。


当一个接口是在某个特定类中实现时,使用该接口的类通过一个依赖关系(一个带箭头的虚线)与该接口相连接。所有接口都有构造型<<interface>>


893581aa641e129d05b84aa68b472ccf_20200627094301426.png


关系:


依赖关系:依赖表示两个或多个模型元素直接按语义上的关系。


3351e86fe6fa18f66afd2678cdbff8b2_20200627100341353.png


4种依赖型:使用依赖、抽象依赖、授权依赖、绑定依赖


泛化关系


泛化关系时一种存在于一般元素和特殊元素之间的分类关系。在UML中泛化关系从一条子类指向父类的空心三角箭头。多个泛化关系可以用箭头线组成的树形来表示,每一个分支指向一个子类。


4ab3871905c6682bc6604aaf0f7d0fae_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


关联关系:是描述一组具有共同特征、行为特征、关系和语义的链接。在UML中,关联关系用一条连接两个类的实线表示。


c2ace72d22b8bf2000efd7eb9db533f9_20200627101600665.png


除了关联的基本形式之外,还有6种应用于关联的修饰,分别是:名称、角色、多重性、聚合、组合和导航性。


名称:关联关系可以有一个名称,用来描述关系的性质,一般情况下,用一个动词或一个动词短语来命名关联。方向指示符用一个实心三角表示。


c12d9d5665778f861f30754c83ca549c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


角色:当一个类处于关联的某一端时,该类就在这个关系中扮演一个特定的角色。即:角色就是关联关系中一个类对另一个类所表现的职责。角色名称应该时名词或名词短语。


fba8aca5185216397528177ee329e2b4_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


多重性:约束时UML三大扩展机制之一,多重性时其中的一种约束,也是使用最广泛的一种,关联的多重性是指有多少对象可以参与该关联,多重性可以用来表示一个取值范围、特定值、无限的范围或一组离散值。多重性可以被表示为“..”分隔开的区间,格式为“minimum..maximum”,min 和max 都是int整型。


6d0bb895877fa958661cf05170c0d7af_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


聚合:聚合关系是一种特殊类型的关联,表示整体与部分关系的关联。聚合关系用空心菱形头的实现表示,头部指向整体。


316d6dc69e48c71fc811e1b3ecbb0e9d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


组合关系:组合关系是聚合关系种的一种特殊情况,是更强形式的聚合,又称强聚合。组合关系用带实心菱形头的实现表示,头部指向整体。


b7563a1df76bfa1149e79616d56919f0_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


导航性:一个对象通过链(关联的实例)进行导航访问另一个对象,即对一个关联端点设置导航属性意味着本端的对象恶意被另一端的对象访问。


1cbed4bc38df91544f6838d03cee883e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


实现关系:泛化和实现关系都可以将一般描述与具体描述联系起来。实现关系用一条带指向接口的空心三角箭头的虚线表示。


5022a73fbf6421458171ad3018002d0a_20200630103425768.png


相关文章
|
6月前
|
uml
UML之类图
UML之类图
96 1
|
6月前
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
291 1
|
3月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
3月前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
5月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
566 1
|
3月前
|
数据可视化 Java uml
精通UML:从类图到序列图的实战指南
【8月更文第23天】统一建模语言(Unified Modeling Language, UML)是一种用于软件工程的标准图形化语言,它提供了一套工具来帮助开发团队可视化、构造和文档化软件系统。在UML中,类图和序列图是最常用也是最重要的两种图。类图用于描述系统的静态结构,而序列图则用于表示对象之间的交互和系统的动态行为。
150 5
|
3月前
|
敏捷开发 测试技术 uml
UML 在敏捷开发中的应用与实践
【8月更文第23天】统一建模语言 (UML) 是一种广泛使用的图形化语言,用于描述软件系统的设计。它通过各种图表和符号来帮助开发团队理解系统的架构、行为和交互。而敏捷开发则是一种强调快速迭代、客户反馈和持续改进的软件开发方法论。这两种看似风格迥异的方法实际上可以很好地协同工作,以提高软件项目的效率和质量。
115 4
|
3月前
|
测试技术 uml
UML 建模语言的基础概念与应用
【8月更文第23天】UML (Unified Modeling Language) 是一种用于系统架构设计的标准建模语言。
132 1
|
3月前
|
设计模式 uml
设计模式常用的UML图------类图
这篇文章介绍了UML中类图的基本概念和用途,详细解释了类与接口、类之间的关系,包括继承、实现、组合、聚合、关联和依赖等六种关系,并展示了它们在类图中的表示方法。
设计模式常用的UML图------类图
|
3月前
|
数据可视化 架构师 测试技术
【计算机三级数据库技术】第5章 UML与数据库应用系统--附思维导图
本文提供了UML在数据库应用系统设计中的应用概览,包括UML建模框架、视图、四大图的介绍,以及如何使用活动图、用例图、类图、顺序图等UML图来表达业务流程、系统需求和内部结构,最后还涉及了系统微观和宏观设计的UML表达方式。
114 4