鸟瞰uml(中)

2024-01-01 06:52
文章标签 uml 鸟瞰

本文主要是介绍鸟瞰uml(中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

21.依赖和关联之间的区别

依赖(Dependency):

依赖关系是一种较弱的关系,它表示一个类在某些条件下使用了另一个类。一个类的变化可以影响到依赖它的类,但不必须反过来,即依赖关系是一个单向的。依赖关系通常是一种短期的或临时的关系,表示在特定的情况下需要使用另一个类的功能或服务。在UML类图中,依赖关系用一个虚线箭头表示,箭头指向被依赖的类。

关联(Association):

关联关系是一种较强的关系,它表示一个类的对象与另一个类的对象之间存在关联。关联关系可以是双向的,也可以是单向的,它表示两个类之间的关联或连接。一个类的变化可能会影响到与它关联的其他类。在UML类图中,关联关系用一条实线连接两个类,实线两端通常有一个箭头指向被关联的类。可以使用导航箭头来表示关联方向,箭头指向被关联的类表示单向关联,箭头同时指向两个类表示双向关联。还可以使用多重性(Multiplicity)来表示关联的数量和约束。

总结来说,依赖关系表示一个类对另一个类的临时使用或依赖,而关联关系表示两个类之间的较强的连接和关联。依赖关系是一种短期的、临时的关系,而关联关系是一种持久的、更加稳定的关系。

22.泛化与类的继承有区别吗

泛化(Generalization)和类的继承是相互关联的概念,它们描述了类与类之间的层次关系。

泛化(Generalization):

泛化是面向对象编程中的一种机制,用于描述类与类之间的一般与特殊关系。它表示一个更一般的类(父类、超类),和一个或多个更具体的类(子类、派生类)之间的关系。父类通常具有通用的特征和行为,而子类则通过继承父类的特征和行为,并可以添加自己特有的特征和行为。在UML类图中,泛化关系用一条带空心箭头的实线表示,箭头指向父类。

继承(Inheritance):

继承是面向对象编程中的一种实现泛化关系的机制。它允许子类可以继承父类的属性和方法,并且可以在子类中添加额外的属性和方法。通过继承,子类可以重用父类的代码,并且可以通过覆盖(Override)父类的方法来实现多态性。继承是一种代码重用和扩展的机制,它使得类与类之间形成了层次结构。子类可以访问和使用父类的公共成员,而不需要重新实现相同的功能。

综上所述,泛化和继承是相关联的概念,泛化描述了一般与特殊之间的关系,而继承是实现泛化关系的一种具体机制。泛化是面向对象的术语,而继承是面向对象编程中的实现机制。

23.聚合和组合的异同

聚合(Aggregation)和组合(Composition)都描述了对象之间的关联关系,但它们在关联程度和关系强度上存在一些区别。

聚合(Aggregation):

聚合表示一种“包含”关系,其中一个对象包含另一个对象。它表示了一个弱关联,两个对象可以分别存在,即使一个对象不存在,另一个对象仍然可以单独存在。实例之间的聚合关系在生命周期上是相对独立的。聚合关系中的对象之间可以共享资源,但它们的生命周期可以独立控制。例如,一个班级对象(容器)和多个学生对象(成员),即使班级不存在,学生仍然可以存在。

聚合关系用一个带空心菱形的实线来表示,菱形指向被包含的对象。

组合(Composition):组合表示一种更强的“整体-部分”关系,一个对象是另一个对象的一部分。它表示了一个强关联,两个对象之间的生命周期是紧密相关的。一个对象的存在依赖于另一个对象的存在。在组合关系中,整体对象控制着其部分对象的生命周期。当整体对象被销毁时,它包含的部分对象也会被销毁。例如,一个汽车对象(整体)包含多个轮胎对象(部分),当汽车被废弃时,轮胎也被废弃。

组合关系使用一个实线带实心菱形来表示,菱形指向被包含的对象。

在总结上述区别时,可以用以下的规则:如果两个对象之间的关系符合“整体-部分”关系,其中一个对象是另一个对象的一部分,且整体的销毁会影响到部分,那么它们之间的关系应该被定义为组合。如果两个对象之间的关系是“容器-成员”关系,其中一个对象是另一个对象的容器,但成员的生命周期不依赖于容器,那么它们之间的关系应该被定义为聚合。

需要注意的是,聚合和组合只是关系的一种描述方式,并不是语言本身的特性。在许多编程语言中,没有明确的语法来表示聚合和组合关系,只有通过注释或者代码中的命名来描述这种关系。

24.顺序图的元素

角色,对象,生命线,激活期,消息

25.顺序图的消息

同步消息,异步消息,返回消息

26.返回消息是必须的吗,顺序图中消息顺序号是必须的吗

不是,但为了阅读方便一般每个消息都有返回消息

不是,在顺序图中,消息序列号并不是必需的,但它可以提供有关消息发送和接收顺序的信息,并帮助阐明系统中的顺序和交互过程。尽管消息序列号具有很多好处,但在简单的顺序图或交互中,可以省略它们以简化图形,并使用直观的方式描述消息之间的顺序关系。因此,是否使用消息序列号取决于需求和图形的复杂性。对于复杂的顺序图或需要清晰表示消息次序的场景,推荐使用消息序列号。

27.通信图的元素

活动者,对象,链接,消息

28.通信图和顺序图的关联

同:都表示出了对象间的交互作用相互转换

异:顺序图强调消息的时间顺序,图像是一张表;通信图强调对象间的关系(发送和接收消息的对象之间的组织结构),图像是定点和弧的结合

        顺序图可以反映对象的创建、激活、销毁等生命周期;通信图没有

        通信图能反映动作路径,消息必须有顺序号;顺序图没有

        顺序图常用于表示方案,通信图用于过程的详细设计

29.顺序图和通信图中分别怎么表示循环

在顺序图中,可以使用循环图标来表示循环。通常使用两种类型的循环图标:

带有条件的循环(Loop with Condition):这种循环表示在满足条件的情况下重复执行一系列操作。它的表示形式是一个小矩形框,框内部有条件语句,通常以方框与直线相连。

"condition" 表示循环的条件,"Actions" 表示循环内要执行的操作。如果条件为真,循环将继续执行。否则,循环结束。

简单循环(Simple Loop):这种循环表示简单地重复执行一系列操作一定的次数。它的表示形式是一个框内有一个 "Loop" 标签,通常以方框与直线相连。

"Loop" 表示循环的次数。这种循环通常用于表示固定的迭代次数。

在通信图中,可以使用箭头来表示循环。可以在箭头的路径上指定循环条件或表示循环的次数。

箭头表示从 A 到 B 的消息传递。如果需要循环执行该消息传递,可以将箭头连接回自身,以表示循环。你还可以在箭头的路径上添加循环条件或表示循环次数的注释。

注意,通信图通常用于显示消息的传递和顺序关系,而不会详细说明循环的逻辑或具体操作。因此,在通信图中表示循环时应尽量保持简洁清晰。

30.通信图并不是顺序图的一个特例

31.消息交互在面向对象语言中即方法调用

32.状态机图不是静态图

33.泳道技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动

34.活动图和状态机图是对一个对象的生命周期进行建模,描述对象随时间变化的行为

35.对反应型对象进行建模一般使用状态机图

 

 

这篇关于鸟瞰uml(中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

第三章 UML类图简介(设计模式笔记)

第三章 UML类图简介 3.1类 3.2接口 名字层必须有<> 3.3 泛化(继承)关系 箭头终点端指向父类(空心三角形) 3.4 关联(组合1)关系 B类是A类的成员变量 ,称A关联B。 箭头终点端指向B 3.5 依赖(组合2)关系 B类是A类的某个方法的参数 ,称A依赖B。 箭头终点端指向B(虚线) 3.6 实现关系 箭头终点端指向接口(虚线,空心

设计模式反模式UML图示常见误用案例分析

1. 过度复杂化图示 反模式: 在UML图示中加入过多的细节,导致难以理解。 案例分析: 案例背景: 某软件开发团队在为一个社交媒体平台设计架构时,决定使用观察者模式来处理用户之间的通知功能。在创建UML图示时,团队将所有可能的通知类型和相关的属性、方法都包含在内,导致图示非常复杂和混乱。整个团队在讨论设计时,发现很难从图示中快速理解系统的核心结构。 问题分析: 这种做法导致了UML图示过

软考-软件设计师(UML习题)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨   前言 小郑正在备考2024年下半年的中级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备

UML的图及其他图补充

一、UML图 1.类图 ‌类图‌是统一建模语言(UML)中的一种静态结构图,主要用于描述软件系统的静态结构。它显示了模型中的类、类的内部结构以及它们与其他类的关系。类图是面向对象建模的主要组成部分,用于对系统的词汇进行建模、对简单的协作进行建模以及对逻辑数据库模式进行建模。类图的基本元素包括类、接口以及它们之间的关系,这些元素共同构成了系统的静态结构模型。 总结: 1.静态图、

五星级可视化页面(06):城市鸟瞰页面,居高临下,高屋建瓴。

本期分享城市鸟瞰图的可视化大屏幕,这类场景一般在智慧城市和城市治理可视化中常用。

关于UML的思维导图

UML的构造块、规则、公共机制、5种视图、关系、图 综合如下: UML的构造块: UML的规则: UML的公共机制: UML的5种视图: UML的关系: UML图:

设计模式中类的关系 UML

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1. 依赖(Dependence)          依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比

【UML建模】时序图的那点事

【UML建模】时序图的那点事 开篇词:干货篇:1.概述2.时序图的组成元素2.1角色(Actor):2.2生命线(Lifeline):2.3消息(Message):2.4激活条(Activation Bar):2.5时间标线(Time Axis):2.6组合片段(Combined Fragment):2.7注释(Note): 3.绘制步骤‌4. ‌注意事项‌:5.总结 我是杰叔叔,一名沪漂

VSCode 中画 UML 图(备忘)

vscode-drawio vscode-drawio 是一款 vscode 插件,支持在 vscode 中画流程图、思维导图、 UML 图 github 地址: https://github.com/hediet/vscode-drawio 安装 在 vscode 插件窗口内,搜索 vscode-drawio ,安装即可 使用 在 vscode 中打开 .drawio 扩展名的文件,