UML类图是用来描述一个系统的静态结构。它既能够用于通常概念建模也能够用于细节建模。类包含了数据和行为,是面向对象的重要组成部分,它是具备相同属性、操做、关系的对象集合的总称。html
UML类图也能够用于数据建模。它能够用来描述应用程序内部或和其余用户之间的对象和信息结构。在UML中问题域终要被逐步转化,经过类来建模,经过编程语言构建这些类。类加上他们之间的关系就构成了类图,类图中还能够包含接口、包等元素,也能够包括对象、链等实例。编程
类经过一个矩形表示,被两条直线分隔成3个部分,如图所示:框架
类的属性部分在单独的一行中列出了该类的每一个属性。属性部分是可选的,可是当使用时,它包含以列表格式显示的类的每一个属性。每一行使用格式:名称:属性类型(例如名字:字符型)。编程语言
操做记录在类图矩形的底部区域,这也是可选的。像属性同样,类的操做以列表格式显示,每一个操做都在本身的行上。使用如下符号记录操做:名称(参数列表):返回值的类型工具
(例如设置名称(名称参数) :void)。网站
关联指定了两个类之间的"总体/部分”关系。在关联关系中,整个类的对象将部分类的对象做为实例数据。在类图中,关联关系呈现为有向实线。 spa
单向关联: 设计
在单向关联中,两个类是相关的,可是只有一个类知道这种关系存在。 单向关联被绘制为实线,带有指向已知类的开放箭头。code
双向(标准)关联htm
是两个类之间的连接。关联老是被认为是双向的;这意味着两个类都知道彼此和它们的关系,除非您将关联定义为其余类型。
两个类之间的实线表示双向关联。
多样性
将多重符号放在关联的末尾。这些符号表示一个类与另外一个类的一个实例连接的实例数量。
例如,一家公司将有一名或多名员工,但每一个员工只为一家公司工做。
关系有以下几种:
关系 | 说明 | 图形 |
---|---|---|
1 | 1对1 | |
0..1 | 0个或者1个 |
0..* | 0个或者多个
1..* | 1个或者多个
用于表示谁能够访问由+、-、#和~表示的类中包含的信息,如图所示:
超类和更具体的事物(称为子类)之间的关系。
泛化有时被称为“是一种”关系,是经过继承过程创建起来的。
在类图中,通常化关系呈现为带有指向父类的大开放箭头的实线。
在继承层次结构中,子类实现特定的细节,而父类定义其子类的框架。父类还为将由其子类实现的经常使用方法提供模板。
抽象类的名称一般用斜体显示;或者,可使用文本注释显示抽象类,也称为模板{abstract},位于它的名称以后或之下。
抽象方法是一种没有实现的方法。为了建立一个抽象方法,建立一个操做并使其倾斜。
实现是两件事之间的关系,其中一件事(接口)指定一个契约,另外一件事(类)经过实现该契约中指定的操做来保证执行该契约。
在类图中,实现关系呈现为虚线,带有指向接口的开放箭头。
依赖性表示两个类之间的“使用”关系。
在类图中,依赖关系呈现为虚线。
若是 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...