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

相关文章

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

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

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

PHP7扩展开发之对象方式使用lib库

前言 上一篇文章,我们使用的是函数方式调用lib库。这篇文章我们将使用对象的方式调用lib库。调用代码如下: <?php $hello = new hello(); $result = $hello->get(); var_dump($result); ?> 我们将在扩展中实现hello类。hello类中将依赖lib库。 代码 基础代码 这个扩展,我们将在say扩展上增加相关代码。sa

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图