`

4-对象图

    博客分类:
  • UML
阅读更多

本节和大家一起学习一下UML对象图方面的知识,主要包括如何阅读UML对象图,如何绘制以及UML对象图应用说明等内容,相信通过的介绍大家对UML对象图有一定的理解。下面是具体介绍。

UML对象图

对象与类的关系

对象的概念与特性

◆对象代表一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边界非常清楚的任何事物

◆状态(属性):对象的状态包括对象的所有属性(通常是静态的)和这些属性的当前值(通常是动态的)

◆行为(方法,事件):没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象。而行为就是一个对象根据它的状态改变和消息传送所采取的行动和所做出的反应

◆标识(名字):为了将一个对象与其它所有对象区分开来,我们通常会给它起一个“标识”

对象与类

◆对象是一个存在于时间和空间中的具体实体,而类仅代表一个抽象,抽象出对象的“本质”。

◆类是共享一个公用结构和一个公共行为对象集合

◆类是静态的,对象是动态的;类是一般化,对象是个性化;类是定义,对象是实例;类是抽象、对象是具体
 

如何阅读UML对象图

对象图的表示法

◆对象名:由于对象是一个类的实例,因此其名称的格式是“对象名:类名”,这两个部分是可选的,但如果是包含了类名,则必须加上“:”,另外为了和类名区分,还必须加上下划线。

◆属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。

阅读UML对象图

◆首先找出所有的类,即在“:”之后的名称

◆整理完之后,就可以通过对象的名字来了解其含义

◆按类来归纳属性,然后再通过关联来确定含义

如何绘制UML对象图

绘制对象图的过程

◆先找出类和对象,通常类在“class”、“new”、“implements”等关键字之后的,而对象名则通常是在类名之后的

◆然后对其进行细化的关联分析,绘制出相应的对象图

UML对象图应用说明

绘制对象图的过程

◆论证类模型的设计:当设计了类模型时,你可以通过对象图来模拟出一个运行时的状态,这样就可以研究在运行时设计的合理性。同时,也可以作为开发人员讨论的一个基础。

◆分析和说明源代码:由于类图只是展示了程序的静态类结构,因此通过类图看懂代码的意图是很困难的。因此在分析源代码时,可以通过对象图来细化分析。而对于开发人员,对于逻辑较复杂的类交互时,可以考虑画出一些UML对象图来做补充说明

本章小结

◆首先从现实世界的“对象”概念中引申出软件系统中“对象”的概念,并阐述了对象的三大特性:结构、行为、标识,从而阐释了对象和类之间的辩证关系

◆并在此基础上,解释对象的表示法和对象图的阅读方法

◆通过一个实际的例子说明了对象图的绘制技巧,并总结了对象图的适用场景

分享到:
评论

相关推荐

    06-python-标签-对象-各种绘图实例-默认设置

    例如,`figure`对象代表整个图表,`subplots`用于创建多个子图,`axes`对象代表每个绘图区域,而`ticks`则管理轴上的刻度和标签。下面是如何创建并自定义这些对象的例子: ```python fig, axs = plt.subplots(2, 1)...

    用PowerDesigner反向工程生成E-R图

    ### 步骤4:生成E-R图 点击“反向工程”按钮,PowerDesigner将从数据库中提取schema信息,并生成相应的E-R图。 ### 步骤5:调整E-R图 可以根据需要调整生成的E-R图,例如调整实体名称、属性名称、关系名称等。 ...

    UML样例图 对象图 状态图 活动图

    **UML样例图、对象图、状态图和活动图详解** UML(统一建模语言)是一种标准化的图形建模语言,用于软件工程和其他领域,以可视化系统的设计和架构。以下是UML中几种关键图的详细介绍: 1. **用例图**: - 用例图...

    图书馆管理系统E-R图

    E-R图,全称为实体-关系图,用于描述现实世界中对象之间的关系,是数据库设计的可视化表示,由实体、属性和关系三个基本元素组成。实体代表现实世界的对象,如人、物或事件;属性描述实体的特性;关系则定义了不同...

    Java设计-对象UML与过程

    2. 对象图:对象图展示了类的具体实例和它们之间的关系,与类图类似,但对象图更侧重于描述系统的具体状态。 3. 顺序图:顺序图(或序列图)描述对象之间交互的时间顺序,显示消息的传递路径,是理解系统动态行为的...

    网上选课系统数据流图、E-R图、序列图汇总

    网上选课系统的序列图将有助于理解系统中各对象如何按时间顺序进行交互,完成特定功能,如学生选课、教师录入成绩、教务处管理课程等操作的流程。 总结而言,网上选课系统通过精心设计的数据流图、E-R图和序列图,...

    E-R图制作工具(中文)

    4. **绘制图形**:使用E-R图工具,将实体以矩形表示,属性以椭圆形表示,关系以线段连接,并在关系线上标注联系类型(一对一、一对多、多对多等)。 5. **完善细节**:添加必要的注释,如实体和属性的描述,以及关系...

    4__单项练习之对象图1

    在“4__单项练习之对象图1”中,我们主要探讨了对象图的基本概念、用途以及如何通过实例来理解和绘制对象图。 首先,对象图的核心在于捕获实例和连接。实例是指类的实体化,而连接则揭示了这些实例之间的关联。例如...

    VTK User's Guide(中文完整版)

    第4章 基础 4.1 创建1个简单的模型-------------------------------------------------------------------------24 程序化源对象------------------------------------------------------------------------------...

    0原生js-面向对象-无缝轮播图.zip

    本项目"0原生js-面向对象-无缝轮播图.zip"旨在通过原生JavaScript和面向对象编程思想,创建一个无缝轮播图特效。无缝轮播图是一种常见的网页元素,它为用户提供了一种优雅的方式来展示多张图片或内容,让它们看起来...

    uml基础教程第七章--活动图.ppt

    4. 活动图与状态图的区别: - 活动图强调活动间的控制流,而状态图侧重状态变迁。 - 活动图的状态转换无需事件触发,状态图则需要。 - 活动图可包含并发行为,状态图通常不包括。 - 活动图的活动形状更椭圆,...

    E-R图实例及问答.rar

    1. **实体**:在E-R图中,实体通常用矩形表示,它代表现实世界中的对象或概念,如用户、产品、订单等。在“e-r.doc”中,可能会包含一些具体的实体示例,如图书馆系统中的图书、读者和借阅记录。 2. **属性**:属性...

    4-EXCEL VBA漂亮的统计图表-条形图16.zip

    在这个“4-EXCEL VBA漂亮的统计图表-条形图16.zip”文件中,我们很可能是学习如何使用VBA编程来创建和美化条形图。 1. **VBA基础** 在Excel VBA中,你可以通过编写宏来自动化各种任务,包括图表的创建和修改。VBA...

    画-E-R-图工具(1)

    E-R图通常包含实体(Entities)、属性(Attributes)和联系(Relationships),用于描绘现实世界中的对象及其相互作用。在数据库设计中,E-R图有助于识别数据实体、定义其属性并确定实体间的关联。 压缩包内的文件...

    统一建模语言UML基础专题之类图和对象图

    ### 统一建模语言UML基础专题之类图和对象图 #### 1. 引言 统一建模语言(Unified Modeling Language, UML)是一种标准化的图形化语言,广泛应用于软件工程领域,用于描述软件系统的结构和行为。UML支持多种模型...

    毕业设计项目-基于图神经网络与多任务学习的图像分类器

    2. 利用图神经网络捕捉图像中对象之间的复杂关系。 3. 应用多任务学习框架来提高模型在多个相关任务上的性能。 4. 评估模型在不同数据集上的准确性和效率。 ### 技术栈 1. **编程语言**:Python 2. **深度学习框架**...

    面向对象方法教学大纲

    - 类图与对象图的建模。 - 用例图、顺序图、状态图、活动图和协作图的建模。 - 综合实验。 - **实验目的**: - 深入理解面向对象方法的原理。 - 熟练掌握UML建模工具的使用。 - 学习应用程序的分析方法和过程。...

    UML-时序图总结.doc

    **时序图**(Sequence Diagram)是UML(Unified Modeling Language,统一建模语言)中的一种交互图,主要用于展示系统中对象之间的交互关系及其发生的顺序。通过时序图,可以清晰地描述系统的行为逻辑和消息传递过程...

    PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe下载

    在开发过程中,开发者可以利用PyQt4提供的信号和槽机制来实现对象间的通信,这是一种事件驱动的编程模式,使得当一个对象的状态发生改变时,可以自动通知其他对象。此外,PyQt4还支持QThread类,可以方便地实现多...

Global site tag (gtag.js) - Google Analytics