产品经理必学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.图书管理系统动态设计状态图20230712061929.pptx图书管理系统动态设计状态图.pptx,图书管理系统动态设计状态图;第2页/共33页;即将开始的任务——图书管理系统设计阶段;今天的工作任务;工作任务1:完成系统状态建模 交付的工作产品:系统状态图;1 状态图(Statechart Diagram);1.1状态机(State Machine);状态图的概念和https://max.book118.com/html/2023/0712/8020042045005110.shtm
2.联系图,UML状态图。学院图书管理系统的总体实体联系图文章浏览阅读3.2k次,点赞5次,收藏49次。_学院图书管理系统的总体实体联系图https://blog.csdn.net/2201_76000961/article/details/133873038
3.图书管理系统状态图为PG1打call图书管理系统状态图 为PG1打call 博客园 首页 新随笔 联系 管理 订阅 随笔- 57 文章- 15 评论- 1 阅读-35391 分类:软件工程导论 好文要顶关注我收藏该文微信分享 为PG1打call 粉丝-1关注 -1 +加关注 0 0 升级成为会员 ?上一篇:页面自动刷新程序示例https://www.cnblogs.com/pgone/p/7637149.html
4.整理一份详细的图书管理系统课设报告(含用例图通信图顺序图学校图书馆希望设计一个图书管理系统,管理读者的登记、图书的购入、借出、归还以及注销等。管理人员还可以查询某位读者、某本图书的当前借阅情况、历史借阅记录,并可按照读者角度、图书角度、借阅角度分别进行统计,给出统计报表,以全面掌握图书的流通情况。 https://www.pianshen.com/article/96321395145/
5.图书管理系统状态转换图流程图模板图书管理系统状态转换图 状态图 作者其他创作 大纲/内容 退出系统 查询、修改、注销 图书管理 开始 管理读者 管理员界面 返回 添加、删除、查询、修改 个人信息管理 管理管理员 还书 读者界面 登录 登录成功 结束 操作失败 完成返回 借书 查询、借阅 预约图书 查询、预约 收藏 立即使用 图书管理系统状态转换图 https://www.processon.com/view/6208fcdb7d9c085d1625e5d8
6.实现简易的图书管理系统本次我们要提出的问题是设计一个简易的图书管理系统可以使图书管理变得不再那么困难。 2方法 先建造一个Book的类,包含了书名、作者、价格、类型和是否被借的属性,且设置为private类型,提供了get和set方法。还有就是用户端的实现,同样使用get和set的方法。 https://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA==&mid=2247504918&idx=1&sn=ae283bcbd47f424d7c218836e2ef6ac4&chksm=edf6d09ea467219ffcf31856a550730061d7f020544f5e23a28ce324c3d65f0f2673775aa068&scene=27
7.试题三某单位资料室需要建立一个图书管理系统,初步的需求分析结果(1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书月信息并输入系统,然后编写并输入图书信息;否则,修改该书目的册数,然后编写并输入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。 https://www.cnitpm.com/st/245388453.html
8.用用例图描述图书管理。该系统主要包括三类用户:读者图书管理员系问答题用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是一个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书http://www.ppkao.com/tiku/shiti/8972953.html
9.ASP.NET实现图书管理系统的步骤详解实用技巧这篇文章主要介绍了ASP.NET图书管理系统简单实现步骤,本文通过实例截图展示的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 一、数据库添加 1.用户信息 2.图书信息表 3.图书借阅信息表 https://www.jb51.net/article/176736.htm
10.2018级降管理专业人才培养方案掌握计算机操作系统的使用方法以及计算机基础知识; 具有本专业必须的文化基础知识,具备一定的口头阐述及流利的文字表达能力。 (二)能力要求 具有应用健康管理的基本知识和原理解决人们遇到的健康问题的能力。 具有采集和管理个人或群体的健康信息的能力。 具有进行个人或群体的健康咨询与指导、健康教育和推广的能力。 具备https://jwc.wfhlxy.com/info/1023/1356.htm
11.自己做“图书馆借还系统”(免写程序/能管会员/查书况/自动算逾期金)数据管理上最大的用处,就是用来简化手动输入的流程(关于条形码的运作机制,可以参阅这篇文章的详细解说),以柜台结帐、借还书的运用来说,最大的功用是让操作信息系统的人在拿到商品/书本之后,不用麻烦地找到代表那个商品/书本的独一无二的身份编号来输入进信息系统,只需要刷一下保存着这组“身份编号”的条形码图就https://www.ragic.com.cn/intl/zh-CN/blog/331/no-code-library-management-setup
12.成都文理学院20162017学年度本科教学质量报告2.图书资料 图书馆覆盖两个校区,馆舍面积3.21万平方米,阅览座位3000多个。图书馆印本馆藏共229.31万册,新增图书9.17万册,生均图书103册,生均年进书量4.1册。图书馆硬件设备设施建设施行总体规划,力求读者使用安全、便捷,在金堂新馆增加LED显示屏、触摸屏查询台和红外线扫描等科技设备。升级“金盘图书馆集成管理系统”http://www.scnucas.com/info/1261/14000.htm
13.个人实习报告(通用15篇)实习的目的在于通过在网络和通信公司、电子产品厂等实习基地的生产实践,使学生能将所学的理论和实践相结合,巩固消化所学的知识,培养实践操作技能,建立电子网络、信息系统集成等概念,并为后继课教学及毕业环节打下基础。1、训练学生从事专业技术工作及管理工作所必须的各种基本技能和实践动手能力。2、让学生了解本专业https://www.yjbys.com/shixi/shixibaogaofanwen/1516810.html
14.超市管理系统小型超市管理系统用例建模,小型超市管理系统交互图建模, 小型超市管理系统类图建模,小型超市管理系统活动图、状态图建模 一、摘要 通过本实验掌握小型应用系统类模型的建立,具体包含如下内容: 1、在用例建模的基础上通过用例分析法和名词分析法寻找类; 2、确定类之间的关系; 3、掌握类图建模的基本步骤; 4、学会使用Rathttps://www.iteye.com/resource/h471507602-10876041
15.2020年本科教学基本状态数据填报指南任职状态:选择“在职”或“当年离职”。其中,在职:指统计时点时在本校人事系统中登记在册的教职工;当年离职:指在上年的9月1日至本年的8月31日内办理离职手续的教职工。 单位号:教职工所属单位的管理编号。 学历:博士研究生、硕士研究生、大学本科、专科及以下。 https://jwc.gdufe.edu.cn/2021/1008/c6498a140021/page.htm
16.可行性分析研究报告(精选10篇)以前我们曾在学C语言时触过一个与之类似的项目,那时做的是一个图书管理系统,虽然我们并未参加代码的编写,但是对其中的一些思想有所了解。但那时由于没有数据库的知识,所以系统还不算复杂。此项目中我们考虑到由于会有很多用户的资料需要管理,而且我们又添加了许多其他的功能,所以会复杂一些。而且那时完全是为了练手https://www.ruiwen.com/gongwen/baogao/829650.html
17.图书馆使用及管理5篇(全文)(2) 图书著录。图书编目加工的第二道工序是图书著录。本系统主要在“图书编目”子系统———“图书编目”模块中进行。图书著录操作步骤如下: 1) 通过导航图打开“图书编目”———点击“图书编目”或单击“图书编目”菜单下的“图书编目”弹出操作窗口。进入图书编目模块, 即图书著录模块。本模块一共有四个选项卡https://www.99xueshu.com/w/ikeyyhujvejf.html