UML之对象图和包图

2024-08-26 06:08
文章标签 对象 uml 包图

本文主要是介绍UML之对象图和包图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         UML的九种图基本都已经介绍完了,那么我们回过头再来研究一下对象图和包图。

         一、对象图

        谈到对象,我们不得不说一下对象,对象(Object)是对象类的实例(Instance),用于模型化特定的实体。对象是唯一的,可以标识的,比如我和你就是两个对象,我们有自己的名字。

        对象的图标与对象类一样是用实线矩形框表示的,矩形框中含有若干分隔框,分别表示对象的名字、属性以及其他成分等。对象名分隔框中包含一个对象的名字,置于框的中央。对象名的格式为:对象名:类列表[状态列表]。

        对象图(Object Diagram)表示一组对象和它们之间的联系。对象图是一个系统的详细状态在某一时刻的快照。对象图实质上是对象类图的实例,或者是交互图的静态部分的实例,对象图有时也称为实例图。对象图的表示方法与类图没有什么不同,对象图同样是由节点和弧组成。

        二、包图

       了解包图之前应先学习包的概念。包(Package)是一种对模型元素进行成组组织的通用机制。包用于定义一个名字空间(Namespace)或容器(Container),它本身是UML的一种模型元素。运用包可以把语义上相近的可能一起变更的模型元素组织在同一个包里,将包中的元素作为一个整体对待,并且控制它们的可视性和存取。

       包的图标是一个大矩形(内容框),左上角带一个小矩形(名字框)。包与包之间的联系主要有两种:依赖(尤其是输入依赖)和泛化。

       1)依赖


       包的依赖联系同样是用一条虚箭线表示,虚箭线从依赖包(源)指向独立包(目标)。输入依赖(Import Dependency)是包与包之间的一种存取依赖关系。输入是指允许一个包中的元素存取另一个包中的元素。输入依赖是单向的,它的表示方法是在虚箭线上标有构造型《Import》,箭头从输入方的包指向输出方的包

       包之间的合并联系也是一种依赖关系,它用一条带有构造型《merge》的虚箭线表示,从接受合并包(Receiving Package)指向被合并包(Merged Package)。

       2)泛化

       包之间的泛化联系与对象类之间的泛化联系十分类似,对象类之间泛化的概念和表示法在此大多可以使用,泛化联系表达事物的一般与特殊的关系。

       包图由包和包之间的联系构成,是维护和控制系统总体结构的重要建模工具。包在很多方面与对象类相似,但是在建立系统模型时特别要注意区别包和类。对象类是问题领域或解决方案中的事物的抽象,包是把这些事物组织成模型的一种机制。包可以没有标识,因为它没有实例i,在运行系统中不可见;类必须有标识,它有实例,类的实例(对象)是运行系统的组成元素。

      三、实战演练

      下面分别是我关于机房收费系统的对象图和包图。



         四、总结

         画对像图和包图的时候要注意,对象图是类图的实例化,把类图具体化就可以了。包图和类图类似,但它没有实例,所以可以没有实例。

        

      

       

      

这篇关于UML之对象图和包图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107755

相关文章

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添