【转】[完全免费] 在线UML Class Diagram 类图工具 - 教程第1部分

在线Visual Paradigm - UML编辑器

使用在线UML编辑器轻松绘制UML图,其中包含功能强大的UML编辑工具,即时UML语法检查和整洁的用户界面。Visual Paradigm在线UML 图,如类,用例,序列,活动,部署,组件,状态机和包图。(一键即时打开使用)

 

类图示例:汽车

 

什么是UML中的类图?

类图通过显示该系统中的类和类之间的关系来描述面向对象系统的结构。类图也显示了约束和类的属性。

类图示例

 

类图表示法

一个类的UML表示是一个包含三个垂直堆叠的隔间的矩形,如图所示:

UML类图示例

属性

类的属性部分在单独的行上列出每个类的属性。属性部分是可选的,但使用时它包含以列表格式显示的类的每个属性。该行使用以下格式:name:属性类型(例如cardNumber:Integer)。

手术

这些操作记录在类图矩形的底部隔间中,这也是可选的。与属性一样,类的操作以列表格式显示,每个操作都在自己的行上。操作记录使用这种表示法:名称(参数列表):返回值的类型(例如calculateTax(Country,State):Currency)。

尝试一下!

寻找在线活动图工具?只需点击下面的绘图按钮即可在线创建活动图。Visual Paradigm Online是免费*且直观的。在开始之前,您还可以通过此活动图教程了解活动图。

现在画

关系

协会

有些物体由其他物体组成。关联指定两个类之间的“有-a”或“全部/部分”关系。在关联关系中,整个类的对象具有部分类的对象作为实例数据。

在类图中,关联关系呈现为有向实线。

单向关联 - 在单向关联中,两个类是相关的,但只有一个类知道关系存在。

单向关联被描绘成一条带有指向已知类的开放箭头的实线。

无向关联示例

双向(标准)关联 - 关联是两个类之间的关联。关联总是被假定为双向的; 这意味着除非您将协会限定为某种其他类型,否则这两个班级都会意识到彼此及其关系。

双向关联由两个类别之间的实线表示。

双向关联示例

多重

将多样性符号放置在关联的末尾附近。这些符号表示链接到另一个类的一个实例的一个类的实例的数量。例如,一个公司将有一个或多个员工,但每个员工只为一个公司工作。

多重性示例

能见度

可见性用于表示谁可以访问类中包含的信息,用+, - ,#和〜表示,如图所示:

Visibilitiy示例(属性)

概括

泛化是一般事物(称为超类)和更具体的那种(称为子类)之间的关系。泛化有时被称为“是一种”关系,是通过继承过程建立的。

在类图中,泛化关系呈现为带有指向父类的大型开放箭头的固定定向线。

UML泛化图示例

抽象类和方法

在继承层次结构中,子类实现特定的细节,而父类将框架定义为其子类。父类还提供一个模板,用于将由其子类实现的常用方法。

抽象类和方法示例

抽象类 的名称通常以斜体显示; 或者,可以使用文本注释来显示抽象类,在其名称后面或下面也可以称为stereotype {abstract}。

一个抽象的方法是没有实现的方法。为了创建一个抽象方法,创建一个操作并使其斜体。

实现

实现是两件事之间的关系,一件事(一个接口)指定另一件事(一个类)通过实施该合同中指定的操作而保证执行的合同。

在类图中,实现关系呈现为带虚线的指向线,并带有指向界面的开放箭头。

UML实现示例

依赖

依赖关系表示两个类之间的“使用”关系。在类图中,依赖关系呈现为虚线。

如果A类“使用”B类,则以下一个或多个语句通常适用:

  1. B类被用作A类的一个或多个方法中的局部变量的类型。
  2. B类用作A类一种或多种方法的参数类型。
  3. B类用作A类的一种或多种方法的返回类型。
  4. A类的一个或多个方法调用B类的一个或多个方法。

UML依赖性示例


何时绘制类图?

除了类图之外,大多数UML图不能直接与任何面向对象的编程语言进行映射。换句话说,类图理想情况下可以有一对一映射到UML类图。此外,类图在以下情况下很有用:

  1. 描述系统的静态视图。
  2. 建模静态视图元素之间的协作。
  3. 描述系统执行的功能。
  4. 使用面向对象的语言构建软件应用程序。
  5. 为目标系统执行代码正向工程
  6. 将类或组件作为库进行分类以备未来重用

如何绘制类图?

  1. 识别问题域中的对象,并为它们中的每一个创建类。(例如教师,学生,注册系统课程)
  2. 为这些类添加属性(例如姓名,地址,学生类的电话)
  3. 为这些类添加操作(例如课程类的addStudent(student))
  4. 将课程连接到适当的关系(例如,将教师与课程关联起来)
  5. 可选地为关联连接器的结尾指定多重性(例如,连接教师和课程的关联的课程侧的输入0..3,用于表示一个教师可以教导多达三个课程)

你也可以:

  1. 为类的逻辑分类绘制包 
    封装在类图中

类图示例

下面的类图示例显示了销售订单系统中涉及的类。注意在类模型中使用<<枚举>>类。

类图示例 - 销售订单系统

下面的类图示例显示了一组与飞行管理相关的类。这些类被分组在一个包中。

类图示例 - 飞行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 定时器_python 线程之四:定时器(Timer),非阻塞

线程之一讲了线程&#xff0c;如果不熟悉&#xff0c;可以点击【线程之一&#xff1a;线程的创建、启动及运行方式】1、定时器实质&#xff1a;Timer 定时器源码实现&#xff0c;和我们自定义一个线程方式一样&#xff0c;都是继承了 Thread 类&#xff0c;重写了 run() 方法&a…

人如何认知事物?

自然界是连续的&#xff0c;人类将自然界离散化成一个个独立的概念&#xff0c;独立的概念相互关联&#xff0c;形成模型&#xff0c;随着模型的完善&#xff0c;模型会不断逼近真实事物。 比如人类创造了各种学科&#xff0c;就是从不同的方面深入研究世界的结果。 所以&…

域内定位个人PC的三种方式(1)

会话搜集 在cmd下调用query session命令可以获得当前环境下的windows会话 NetSessionEnum 这个函数不允许直接查询是谁登陆&#xff0c;但是它允许查询是谁在访问此工作站的网络资源时所创建的网络会话&#xff0c;从而知道来自何处&#xff0c;此函数不需要高权限即可查询 第…

02.Teams组成概述及使用分享

在上一篇博客中介绍了Teams的前世今生&#xff0c;大家对Teams已经有了一个初步的认识&#xff0c;但是如上一篇文章中所说Teams是一个集成度很高的云协作平台&#xff0c;具体应该怎么去有效的利用起来呢&#xff1f;接下来这篇博客给大家全方位的分享一下Teams的组成部分以及…

【Qt】解决GDAL直接读取数据到QImage导致图像歪斜的问题

QRect intersect_rect; .... QImage img(intersect_rect.size(), QImage::Format_RGB888); uchar *pImageData (unsigned char *)img.constBits(); int img_width intersect_rect.width(); int img_height intersect_rect.height();// QImage每行是按照sizeof(int)对齐的&am…

高斯课堂数电讲义笔记_【法考经验贴】40岁三战主观题127分!他的笔记学习法助他逆袭!...

这位学员在考证界算是“高龄学员”&#xff0c;高分过关依赖于他的努力和正确的学习方法&#xff1b;本文中他有重点介绍自己是如何做笔记的&#xff0c;非常值得大家学习借鉴&#xff01;一、个人概况&#xff1a;三战法考我正值不惑之年&#xff0c;是一名在职基层人民警察&a…

【转】持续交付和DevOps的前世今生

作者/分享人&#xff1a;乔梁&#xff0c;20年IT老兵&#xff0c;腾讯公司高级管理顾问&#xff0c;敏捷和精益开发专家&#xff0c;持续交付领域先行者。曾就职于百度&#xff0c;国内多个知名互联网公司的企业教练。 历年QCon技术大会的讲师和专题出品人。 这是一个新概念风起…

关联规则挖掘算法_基于Apriori关联规则的协同过滤算法

Apriori 算法apriori关联规则算法的原理设计较为简单&#xff0c;著名的“啤酒和尿布”说的就是Apriori算法&#xff0c;通俗来讲apriori旨在寻找频繁项集&#xff0c;以帮助商家将消费者有可能一起搭配购买的物品放置在同一个地方&#xff0c;提高消费者的购物效率和良好的购物…

【转】RabbitMQ六种队列模式-1.简单队列模式

前言 RabbitMQ六种队列模式-简单队列 [本文]RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 在官网的教程中&#xff0c;描述了如上六类工作队列模式&#xff1a; 简单队列模式&#xff1a;最简单的…

【转】RabbitMQ六种队列模式-2.工作队列模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列 [本文]RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 上文我们了解了 RabbitMQ 六种队列模式中的简单队列&#xff0c;代码也是非常的简单&#xff0c;比较容易…

redis 哨兵模式 cluster模式区别_Redis哨兵(Sentinel)模式快速入门

当主服务器宕机后&#xff0c;需要手动把一台从服务器切换为主服务器&#xff0c;这就需要人工干预&#xff0c;费事费力&#xff0c;还会造成一段时间内服务不可用。 所以更多时候&#xff0c;我们优先考虑哨兵(sentinel) 模式。Redis sentinel是Redis高可用实现方案&#xff…

IOS开发入门笔记

IB&#xff1a;IB是指Interface Builder&#xff0c;如IBAction&#xff0c;IBOutlet。IBOutlet和IBAction是什么&#xff1f;IBOutlet&#xff1a;中文翻译应该是&#xff1a;插座&#xff0c;连接点&#xff08;书上写的是出口&#xff09;。autorelease相当于Qt中的deleteLa…

【转】RabbitMQ六种队列模式-3.发布订阅模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅 [本文]RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 上文的工作队列模式是直接在生产者与消费者里声明好一个队列&#xff0c;这种情况下消息只会对应同类型的…

组建一个局域网一般会用到哪些设备_路由器和交换机的区别是什么?在实际使用中有哪些不同...

电工之家&#xff1a;www.dgzj.com QQ群&#xff1a;2179090关注电工之家官方微信公众号“电工之家”&#xff0c;收获更多经验知识。其实关于路由器和交换机确实有很多人容易混淆&#xff0c;包括猫MOdem&#xff0c;我最初就认为猫就是路由器&#xff0c;现在回想起来真的傻…

【转】RabbitMQ六种队列模式-4.路由模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式 [本文]RabbitMQ六种队列模式-主题模式 本文带大家了解 RabbitMQ 队列模式中的路由模式。 其实只要看过上篇发布模式后&#xff0c;相信路由模式…

百度二年级手工机器人_让父母少弯腰的家务神器——追觅扫拖机器人慧目F9评测...

大家好&#xff0c;我是CC。父母都已过了花甲之年&#xff0c;退休在家本应是享清福的时候&#xff0c;为了照顾双上班族的我&#xff0c;平时承担了接儿子放学和给我蹭晚餐的任务&#xff0c;操劳不少。眼看着他们一点点老去&#xff0c;总想也为他们做点什么&#xff0c;所以…

【转】RabbitMQ六种队列模式-5.主题模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 [本文] 从前面的几篇我们依次经历了 exchange 模式从 fanout > direct 的转变过程&#xff0c;在 fanout 时&a…

javase哪部分最难_高中物理哪部分最难?这里有答案和方法!一定要收藏

高中物理最难的部分是什么?对于大多数同学来说&#xff0c;电粒子在电磁场中的运动、动力学分析以及电学实验比较难搞定&#xff0c;看看下面的方法&#xff0c;希望对你有所帮助。从应试而言&#xff0c;应是带电粒子在电磁场中的运动(力&#xff0c;运动轨迹&#xff0c;几何…

【转】分布式websocket服务器

最近在开发一个游戏的客服系统&#xff0c;同一时间咨询问题的玩家多&#xff0c;为了保证服务器高可用&#xff0c;需要利用分布式&#xff0c;另外服务器宕机还需要玩家无感知重连&#xff0c;最关键的一点是如何实现服务器的高扩展性&#xff0c;即性能不足时&#xff0c;如…