产品经理必学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.图书馆管理系统GUIpython图书馆管理系统类图下面将使用如属官的借阅管理系统做一个图书馆管理系统的UML类图。参考自*Library Domain Model* 最终的绘制结果大致如下: 前期建模 对于图书馆的借阅系统的建模,首先我们把所有需要定义的基础类定义出来。分别是Book(书籍)、Library(图书馆)、Patron(顾客)、Librarian(图书管理员)四个基础的对象。 https://blog.51cto.com/u_12995/8955098
2.图书馆管理系统UML建模嫣雨染秋②图书馆管理员处理借书、还书的用例图 ③系统管理员进行系统维护的用例图 3.用例图 ①借阅者请求服务的用例图 ②图书馆管理员处理借书、还书的用例图 ③系统管理员进行系统维护的用例图 三、 静态建模 1.类图 四、 动态建模 1.顺序图(时序图) 2.状态图 https://www.cnblogs.com/yanyuranqiu/p/4541917.html
3.图书馆管理系统用例图活动图类图时序图工学(13页)图书馆管理系统用例图、活动图、类图、时序图工学.docx 13页内容提供方:资料杂货铺 大小:2.36 MB 字数:约7.47千字 发布时间:2023-10-23发布于四川 浏览人气:476 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)https://m.book118.com/html/2023/1022/7111146146005201.shtm
4.图书馆管理系统UML各种图图书管理系统类图下图为图书馆管理系统的类图: 顺序图: UML顺序图一般用于:确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加https://blog.csdn.net/caoxuecheng001/article/details/78789990
5.图书馆管理系统用例图活动图类图时序图.doc该【图书馆管理系统用例图、活动图、类图、时序图 】是由【艾米】上传分享,文档一共【15】页,该文档可以免费在线阅读,需要了解更多关于【图书馆管理系统用例图、活动图、类图、时序图 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文https://www.taodocs.com/p-857406246.html
6.图书管理系统(用例图类图时序图)4、计实验报告学院:计算机科学与技术学院专业:软件工程学号:*姓名:*实验名称:图书管理系统用例建模时间:一、 实验内容与要求本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图。在使用UML对系统建模时,学会使用UML建模工具,熟悉工具中的功能。二、用例分析1、https://m.renrendoc.com/paper/208464436.html
7.图书管理系统用例图7篇(全文)4、图书馆管理系统的类图 【类图说明】 (1)reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。 https://www.99xueshu.com/w/filesaiudqen.html
8.UML图书管理系统分析:用例类图与流程本文主要探讨了使用UML(统一建模语言)进行软件需求分析,以图书管理系统为例,涵盖了用例图、类图、顺序图、状态图、活动图、组件图和部署图等多个方面,旨在清晰展示系统功能模块及各模块间的关系。在UML软件需求分析中,首先对图书管理系统进行了需求描述,强调了21世纪信息管理的重要性和图书管理系统在提高工作效率和服务https://www.166ai.cn/665.html
9.超市管理系统图书管理系统用例建模报告 用例图 类图 时序图 上传者:u013531807时间:2014-01-21 酒店管理信息系统UML类图 这是一个简单的酒店管理信息系统的UML类图,用VISIO进行绘制,具有概要类图和详细类图,文档仅供大家参考 上传者:Mon_KeY时间:2010-06-02 图书馆管理系统用例图、活动图、类图、时序图.pdf https://www.iteye.com/resource/h471507602-10876041
10.形考作业3:基于UML的大学图书馆图书信息管理系统设计实验形考作业3:基于UML的大学图书馆图书信息管理系统设计实验 、实验内容说明 对实验2的面向对象分析结果进行系统概要设计和详细设计。 设计系统构架,勾画出整个系统的总体结构,这项工作由全组成员参加,包括主要子系统及其接口,主要的设计类和中间件等系统软件,设计时要考虑系统的可维护性,以简单 https://www.xyzlfx.com/5577.html
11.提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并https://www.cnitpm.com/st/38115524.html
12.图书管理系统分析(精选十篇)图书管理系统分析(精选十篇) 图书馆不仅需要管理成千上万的图书, 还要对频繁更替的借还书信息和纷繁复杂的读者信息等进行正确梳理。随着网络技术的普及, 可以实现一种自动化控制的信息管理系统, 它具有智能化、信息化和系统化的特点, 不仅降低图书管理成本, 而且能使管理https://www.360wenmi.com/f/cnkeyrc64zlp.html
13.uml图书借阅管理系统用例图设计几个类,用UML类图说明一个 学生借阅图书 系统 基于UML的图书馆借阅管理系统设计(1)系统分析(包括系统描述(问题域描述)、用例模型、分析类图)。(2)系统设计(包括系统的逻辑模型如设计类图、顺序图、状态图及组件图等)。(3)系统实施(包括信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的https://www.zboao.com/cgal/9422.html
14.某大学拟开发一个用于管理学术出版物(Publication)的数字图书馆某大学拟开发一个用于管理学术出版物(Publication)的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。系统的主要功能如下:1.登录系统。系统的用户(User)仅限于该大学的学生(Student),教师(Faculty)和其它工作人员(Staff)。在访问系统之前,用户必须使用其校园账号和密码登录系统。2.查询某位作者(Authorhttps://www.ruantiku.com/shiti/395678773.html
15.C++实现简易图书馆管理系统C语言本文实例为大家分享了C++实现简易图书馆管理系统的具体代码,供大家参考,具体内容如下 思路 在本程序中共有四个类: book类:此类有书的基本信息:书名,编号,作者,价格等,和基本的get()和set()方法。类图如下: library类:此类中有一个存放的书的数组,并且可以对书进行,查询,借阅,归还,添加,等相关操作。类图如下:https://m.jb51.net/article/240545.htm