首页 > 其他分享 >学习笔记443—UML设计:类图说明及一步一步制作UML类图

学习笔记443—UML设计:类图说明及一步一步制作UML类图

时间:2024-03-17 23:33:46浏览次数:34  
标签:关系 一步 类图 关联 freedgo UML com

UML设计:类图说明及一步一步制作UML类图

什么是类图

UML类图是用来描述一个系统的静态结构。它既可以用于一般概念建模也可以用于细节建模。类包含了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。

UML类图也可以用于数据建模。它可以用来描述应用程序内部或和其他用户之间的对象和信息结构。在UML中问题域终要被逐步转化,通过类来建模,通过编程语言构建这些类。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。

类图中的符号

class

类通过一个矩形表示,被两条直线分隔成3个部分,如图所示:

在线制图 UML类图

Attribute(属性)

类的属性部分在单独的一行中列出了该类的每个属性。属性部分是可选的,但是当使用时,它包含以列表格式显示的类的每个属性。每一行使用格式:名称:属性类型(例如名字:字符型)。

操作(Operation)

操作记录在类图矩形的底部区域,这也是可选的。像属性一样,类的操作以列表格式显示,每个操作都在自己的行上。使用以下符号记录操作:名称(参数列表):返回值的类型

(例如设置名称(名称参数) :void)。

关系(relationship)

关联

关联指定了两个类之间的"整体/部分”关系。在关联关系中,整个类的对象将部分类的对象作为实例数据。在类图中,关联关系呈现为有向实线。

单向关联:

在单向关联中,两个类是相关的,但是只有一个类知道这种关系存在。 单向关联被绘制为实线,带有指向已知类的开放箭头。

双向(标准)关联

是两个类之间的链接。关联总是被认为是双向的;这意味着两个类都知道彼此和它们的关系,除非您将关联定义为其他类型。
两个类之间的实线表示双向关联。

多样性

将多重符号放在关联的末尾。这些符号表示一个类与另一个类的一个实例链接的实例数量。

例如,一家公司将有一名或多名员工,但每个员工只为一家公司工作。

关系有如下几种:

可见性

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

超类

超类和更具体的事物(称为子类)之间的关系。
泛化有时被称为“是一种”关系,是通过继承过程建立起来的。
在类图中,一般化关系呈现为带有指向父类的大开放箭头的实线。

抽象类和方法

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

抽象类的名称通常用斜体显示;或者,可以使用文本注释显示抽象类,也称为模板{abstract},位于它的名称之后或之下。
抽象方法是一种没有实现的方法。为了创建一个抽象方法,创建一个操作并使其倾斜。

实现

实现是两件事之间的关系,其中一件事(接口)指定一个契约,另一件事(类)通过实现该契约中指定的操作来保证执行该契约。
在类图中,实现关系呈现为虚线,带有指向接口的开放箭头。

依赖

依赖性表示两个类之间的“使用”关系。
在类图中,依赖关系呈现为虚线。
如果 A类 “使用” B类,则下列一项或多项陈述通常成立:

    • 在类A的一个或多个方法中,类B被用作局部变量的类型
    • B类用作A类一个或多个方法的参数类型
    • 类B用作 类A 的一个或多个方法的返回类型
    • 一个或多个A类方法调用一个或多个B类方

类图图的制作

创建类图方式有很多,若选择在线绘制类图图,可以使用visio 或者 使用在线制图网站: freedgo Design。 freedgo Design 其访问地址为: https://www.freedgo.com 。freedgo design 在线制图网站是一款多类型的图形图表设计软件,软件内容自带丰富的几何图形模板,UML 用例图、状态图、类图、活动图、序列图、协作图等等。

在具体的类图图中需要把业务逻辑分解成更小、更具体的步骤。 然后,考虑类图中任何可能的异常,如果是,为备选路径添加决策节点。
继续重复这个过程,直到你达到了每个人都能完全理解的简单步骤。

现在,一起开看如何使用Freedgo Design制好看的类图。

步骤一:

访问 https://www.freedgo.com ,先注册一个用户,注册成功后,登录到 首页

步骤二:

访问 https://www.freedgo.com/draw_... ,进入制图页面,或者从 首页 页面 顶部菜单点击开始制作

进入制图页面后 点击 文件 -> 从类型中新建 -> 软件设计 -> 类图

或者点击图例,在图例中找到 软件设计 -> 类图,选择一个类似的图例进行改动

步骤三:

从左侧符号栏拖拽合适的几何图形至画布,松手后,图形就被固定画布上,双击几何图形,还可输入文字。当鼠标放置在图形上时,
图形四周会显示“小三角形”,是为了方便用户点击后能够快速生成新的图形。

步骤四:

软件提供多种连接样式,在该类图中,可以选择关联连接线。在连接线上,还可以输入文字做进一步的说明。

步骤五:

类图图制作工具拥有一套功能丰富的样式,用户可以对封闭图形进行单色填充、渐变填充、文本大小位置颜色调整。经过图案填充的类图图,颜值提升了不少。

步骤六:

按照绘图要求,一步一步的地完成类图绘制。最终完成了整幅的绘制任务。

更多基本类图的例子 请参考 [图例] (https://www.freedgo.com/showc... 或者直接访问 : https://www.freedgo.com/showc...

参考链接:https://segmentfault.com/a/1190000019333050

 

标签:关系,一步,类图,关联,freedgo,UML,com
From: https://www.cnblogs.com/hechangchun/p/18079428

相关文章

  • 用python写网络爬虫:3.urllib库进一步的使用方法
    文章目录异常处理URLErrorHTTPError设置超时时间链接的解析、构造、合并urlparse方法urlsplit方法urljoin方法urlencode方法parse_qs方法quote方法Robots协议Robots协议的结构解析协议参考书籍在上一篇文章:用python写网络爬虫:2.urllib库的基本用法已经介绍了如......
  • Discourse 分类图片
    我们可以在Discourse上为分类添加图片。   进入分类编辑界面,然后选择Image标签。在Images标签下,上传分类需要的图片。   图片大小图片的大小是Discourse进行控制的,高度为150PX像素。   如果上传的图片大于150px的高度像素,那么Dis......
  • 基于深度学习算法的垃圾分类图像识别研究
    概要  在科技发达、智能时代中,深度学习、机器学习以及人工智能成为了高频词。它们看似深不可测,但是又离不开我们的生活。深度学习和机器学习是一种技术、而人工智能一种是一种体现。使用深度学习和机器技术,使机器拥有人的某种大脑结构从而来实现人的某种行为,它不仅解决了......
  • iOS端创建ReactNative容器第一步:打出jsbundle和资源包
    react-native的打包流程是通过执行react-nativebundle指令进行的。 添加构建指令修改RN项目中的package.json文件,先其中添加构建命令build-release-ios和build-debug-ios"scripts":{"android":"react-nativerun-android","ios":"react-nativerun-ios"......
  • 自学Python第一步,记住这7大编码规范
    一、缩进每一级缩进4个空格。续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐。当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。对齐缩进(左右括号对齐)deflong_function_name(var_......
  • UML类图
    UML类图是统一建模语言(UML)中用于描述系统中的类、对象以及它们之间的关系的一种图表。它是面向对象分析和设计的重要工具,用于可视化系统的静态结构。UML类图的主要元素包括:1.类(Class):类是UML类图中最基本的元素,用于表示系统中的对象。类通常用矩形表示,其中包含类的名称、......
  • 软件设计规范——UML(后端软件开发,同样要设计先行!)
    什么是UML?统一建模语言(UnifiedModelingLanguage,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。前端开发,要先用axure设计页面。但是涉及到代码的层面往往......
  • IDEA - .puml文件是什么?PlantUML基础使用教程
    .puml文件是什么?是根据PlantUML插件生成的一个类图格式。如果需要查看,也必须在插件的帮助下,查看类图 PlantUML基础使用教程一、下载idea插件idea从FIle-->Settings-->Plugins-->Marketplace进入到插件下载界面,搜索PlantUML,点击"install"下载最上面的两个插件PlantUMLInte......
  • 权限概念、权限提升概念以及权限提升的分类和目的 Windows 提权的基础原理是了解操作
    关于权限概念、权限提升概念以及权限提升的分类和目的,以下是一些基本信息供您参考:权限概念:权限是指系统或应用程序授予用户或进程执行某些操作或访问资源的能力。权限通常按照用户的身份、角色或组织结构来管理,以确保系统安全和数据保护。权限提升概念:权限提升是指用......
  • 仅需10秒!ChatGPT轻松画出UML用例图,我却苦战10分钟。
    当我们写技术文档时,一张系统用例图,平时要花费10分钟才完成,而ChatGPT绘图过程只用了10秒钟,基本可以达到同样的水平,通过ChatGPT可以显著提高画流程图的效率。什么是用例图用例图是统一建模语言(UML)的一部分,用于描述系统的功能以及与之交互的外部实体(如人、系统或设备)。它是一种图......