产品经理必学UML:类图

UML(UnifiedModelingLanguage)又称统一建模语言或标准建模语言,可以看做用于系统设计阶段给开发做参考的一种方式,其中很多图需要用到面向对象程序的思维。

上图为产品经理经常用到的UML图,包括静态视图(类图)和动态视图(用例图、状态图、顺序图、活动图),其中静态视图主要用来分析业务概念,描述静态场景;动态视图描述业务行为,分析动态场景。

本文主要介绍类图。

一、概念

类图(ClassDiagrame)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。

类图包含7个元素:类、接口、协作、依赖关系、泛化关系、实现关系以及关联关系。

二、用途三、类图元素

在类图中,类用矩形来表示,分为3个部分:名称部分(Name)、属性部分(Attribute)和操作部分(Operation,也可称作方法)。

1.类名称(ClassName)

类的名称是一个文本串,分为简单名称和路径名称。简单名(singlename)即单独的名称不含冒号;路径名(pathname)即用类所在的包的名称作为前缀。

简单名、路径名

2.属性(Attribute)

描述类在软件系统中代表的事物所具备的特性。UML中类属性的语法:[可见性]属性名[:类型][=初始值][{属性字符串}],如【-姓名:string】,其中[]中的部分是可选的。

(1)可见性

包括共有(Public)、私有(Private)和受保护(Protected)3种。

共有类型可以被外部查看和使用,用“+”表示;私有类型即不可以从其他类中访问该属性,用“-”表示;

受保护类型常与泛化和特化一起使用,用“#”表示。如果没有符号,表示没有定义该属性的可见性

(2)属性名

由描述所属类的特性的名词或名词短语组成。按约定,单字属性名小写,多个单词的话需要合并,且除第一个单词之外的其余单词首字母大写,比如className。当然,若为中文就不必如此。

(3)类型

典型的属性类型有:整数(int)、布尔型、实型和枚举类型。当一个类的属性被完整定义后,任何一个对象的状态都由这些属性的特定值所决定。

(4)初始值

保证系统的完整性;为用户提供易用性。

(5)属性字符串

关于属性的其他信息。

3.操作(Operation)

类的操作是对类的对象所能做的事务的抽象,相当于服务的实现。UML中类操作的语法:[可见性]操作名[(参数表)][:返回类型][{属性字符串}],如【+查询():歌曲】,其中[]中的部分是可选的。

包括共有(Public)、私有(Private)、受保护(Proteted)和包内公有(Package)4种。

其中公有类型即只要调用对象能访问操作所在的包,就可调用该操作,用“+”表示;私有类型即只有属于同一个类的对象才可以调用,用“-”表示;

受保护类型即只有子类的对象才可以调动父类,用“#”表示;

包内公有类型即只有在同一个包里的对象才可以调用,用“~”表示。

(2)操作名

描述所属类的行为的动词或动词短语。约定同属性名。

(3)参数表

指一些按顺序排列的属性定义了操作的输入。定义方式采取“名称:类型”,多个参数用逗号隔开。

(4)返回类型

绝大部分编程语言只支持一个返回值,即返回类型至多一个。

4.接口(Interface)

接口是指类或组件所提供的、可以完成特定功能的一组操作的集合。接口描述了类或组件的对外的、可见的动作,通常一个类实现一个或多个接口。

定义看起来比较枯燥,通俗点说接口就像螺丝和螺帽的关系,是为类制定了一种规范,是类与类之间的一种约束和协定。

对于一些小程序,一般不需要接口,因为功能的改动对整体的影响不大;但对于大的程序,一旦用户需求对功能进行变动,而功能之间的耦合度高的话就会对整个程序造成影响,而如果使用接口的话,就能在使用之前就想好它要实现的全部功能,即功能的封装。之后需求变化只需要重新写实现类,同样其他人只需要调用接口,不需要知道类的消息。

5.关系(Ralationship)

(1)依赖(Dependency)关系

表示某一类元以某种形式依赖于其他类元,它表现了这样一种场景,如下图,对于一个元素(提供者)的某些更改会影响或提供消息给其他元素(客户),即客户以某种形式依赖于提供者。

(2)泛化(Generalization)关系

表示一种存在于一般元素和特殊元素之间的分级关系,描述了“isakindof”(是……的一种)的关系,如汽车是交通工具的一种。在类中一般元素称为超类或父类,特殊元素称为子类。

(3)关联(Association)关系

表示一组具有共同结构特征、行为特征、关系和语义的链接,是一种结构关系,指明一个事物的对象与另一个事物的对象间的关系。如学生和大学的关系,学生在大学里学习,大学又包括了很多学生,所以可以在学生和大学之间建立关联关系。

(4)聚合(Aggregation)关系

是一种特殊形式的关联关系。表示整体与部分关系的关联,简单来说,就是关联关系中的一组元素组成了一个更大、更复杂的单元。描述了“hasa”的关系。如大学和学院,大学是由很多个学院组成的,因此两者之间是聚合关系。

(5)实现(Realization)关系

表示规格说明和其实现之间的关系,将一种模型元素和另一种模型元素连接起来,比如类和接口。如打字员和键盘,键盘保证自己的部分行为可以实现打字员的行为。

四、连接关系图形小结

由于连接关系之间使用的图形较为相似,基本由箭头和直线组成,容易混淆,在此进行总结,以便查看。

五、小练习——简易听歌系统类图

本文由@AugTalk原创发布于人人都是产品经理,未经许可,禁止转载。

THE END
1.UML类图学习一、UML类图简介 UML类图是UML中最常用的图之一,主要用于描述系统中的类、接口、协作和它们之间的关系,如继承、聚合、组合、依赖和实现。它以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法。类图用来描述系统中有意义的概念,包括具体的概念、抽象的概念、实现方面的https://blog.csdn.net/qq_44924694/article/details/144386086
2.产品经理需要使用的UML绘图流程图是什么?其中UML活动图,UML状态机图,UML顺序图,UML顺序图,UML用例图1,UML活动图:一个字符通过多个动作完成一项工作,例如:水果的活动图中的一个圆边矩形放入冰箱,表示流程中的活动,若干活动之间的箭头线表示活动的活动顺序..图只是一个积极的过程,理解一个新事物,建议首先简单地开始,首先移除所有的判断条件,在生命中采取共http://baijiahao.baidu.com/s?id=1651888882814276515&wfr=spider&for=pc
3.uml顺序图是什么?怎么画uml顺序图顺序图也叫时序图、序列图,指用uml符号绘制的图示,是一种uml交互图,表示用例中对象的行为顺序,用于描述参与者对象之间如何以一系列顺序的动作关系进行交互的,强调消息在对象之间发送和接收情况.https://www.liuchengtu.com/tutorial/umlshunxutu.html
4.UML基础之顺序图1. 顺序图 (Sequence Diagram) 顺序图是一种强调对象间消息传递次序的交互图,又称为时序图或序列图 image.png 2. 组成元素 时序图描述对象之间消息的发送顺序,强调时间顺序 时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,按照时间顺序纵向排列 https://www.jianshu.com/p/106dfff23b0a
5.解析UML动态建模中消息状态图和顺序图你对UML动态建模机制是否熟悉,本文就向大家介绍一下,对象间的交互是通过对象间消息的传递来完成的,而在UML的四个动态模型中均用到消息这个概念。 本文和大家 重点讨论一下UML动态建模机制问题,主要包括消息,状态图和顺序图等内容,希望通过本文的学习你对UML动态建模机制有一定的认识。首先看一下消息的概念。 https://www.51cto.com/article/210609.html
6.UML时序图(顺序图序列图循序图)技术标签:UMLuml时序图 一、 概述 顺序图(Sequence Diagram):是一种强调对象间消息传递次序的交互图,又称为时序图或序列图。描述了在一个用例或操作的执行过程中对象如何通过消息相互交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。 二、特点 - 顺序图用来表示用例中的行为顺序。当执行一个用例行为时,https://www.pianshen.com/article/69652532929/
7.VisualParadigm使用技巧:绘制UML顺序图当你想要对某个系统或者应用程序的结构进行建模时,你会使用到类图。当你想要对运行时对象之间的交互进行建模时,你会使用到顺序图。类图和顺序图彼此之间也可以产生联系。当类图中的类代表数据的蓝图时,顺序图中的生命线(lifeline)就代表了这个蓝图的实例。在本教程中,https://www.evget.com/doclib/s/10/10442
8.基于UML的新闻管理系统设计(例图类图顺序图).doc基于UML的新闻管理系统设计(例图、类图、顺序图).doc,基于UML的新闻管理系统设计(例图、类图、顺序图) 摘要:随着信息技术的发展,现代大学的网站在整个学校的管理中起到了越来越重要的作用,为了便于对学校网站新闻进行有效的管理,非常有必要开发一个网站新闻管理系统https://max.book118.com/html/2017/0830/130830247.shtm
9.还看不懂UML时序图?看完这些符号介绍就明白了!UML时序图,又叫序列图或者顺序图,是一种用来描述对象之间传送消息的时间顺序,是用来表示用例中的行为顺序。 UML时序图基本的符号即含义: 1、对象:表示系统的参与者或者任何有效的系统对象。 2、生命线:相当于一个时间线,表示对象在一段时间内的存在时间,而且从时序图的顶部一直延伸至底部,长度取决于交互的时间。 https://www.edrawsoft.cn/uml-sequence-symbols/
10.5分钟学会UML时序图(顺序图序列图)还皓有泥还皓有泥创建的收藏夹默认收藏夹内容:5 分钟学会 UML 时序图(顺序图、序列图),如果您对当前收藏夹内容感兴趣点击“收藏”可转入个人收藏夹方便浏览https://www.bilibili.com/list/ml1643182174
11.UML建模(4)UML建模之时序图腾讯云开发者社区时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图。 在UML中,时序图将交互关系表示为一张二维图。其中,纵向标示时间轴,时间沿竖线从上向下进行,按照时间依次列出各个对象所发出和接受的消息,横坐标标示了交互中的各个对象。 https://cloud.tencent.com/developer/article/1970048