UML-需求分析的利器
Posted 人称产品汪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML-需求分析的利器相关的知识,希望对你有一定的参考价值。
方案不完整,忽略了某些关键的业务场景、解决方案仍然浮在业务表象;
只解决了某一个具体的问题,却没有办法解决某类具有共性的问题;
由于初期考虑的不周全,业务理解的前瞻性不够,造成系统延展性差,新增的功能对原有框架造成重大影响...
什么是UML?
UML的作用?
UML图形总体介绍
产品经理需要重点掌握的几种UM图形
一、什么是UML?
UML(UnifiedModelingLanguage)统一建模语言,是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,它是一种标准的图形化建模语言,为开发团队提供统一的建模符号来推进软件的需求分析、设计以及程序开发环节。
你可能会对“语言”这个词汇有疑惑?语言,本质上是一种沟通的标准,可以是文字,也可以是图形,肢体行为等。而UML就是图形化的建模语言,它通过图形帮助开发团队实现沟通与协作。
需要注意的是,UML不是一种可视化的程序设计语言,切勿把两者混为一谈。
二、UML有什么作用?
直观表达:当产品开发规模比较复杂时,可以帮助我们用图形抽象地表达复杂概念,增强设计的方案的可读性和可理解性;
增强逻辑:UML可以帮助产品经理更加全面、严谨的分析业务需求,提升产品设计方案的质量;
便利沟通:通过统一图形语言和符号体系描述组织的业务流程和软件需求,可以促进团队成员之间一致、高效地交流。
三、UML图形总体介绍
UML2.0一共包括13种图形,大体可以分为两类:结构型的图和行为型的图。
结构型,描述的是组成情况与联系,这种结构可视为“静态”的;
行为型,往往描述的是业务之间的流程、动作,这些内容可视为“动态”。
上图简单列出了这13种图形的中文以及英文名称,其中有两个细节需要特别说明:
通信图(Communication Diagram),在UML1.1版本中的英文名为Collaboration Diagram ,可译为中文“协作图”,而在UML2.X版本中,英文名为Communication Diagram,所以被译为“通信图”,本思维导图直接采用了最新的名称。
Sequence Diagram,在书籍《火球UML大战需求分析》中的叫法为“顺序图”,但是根据笔者的实践经验,大家在实操中更加习惯称之为“时序图”,这种图在支付领域的应用比较广泛,微信支付的开发文档也多次提到时序图,所以本思维导图将Sequence Diagram称为“时序图”。
UML常用的建模工具有ProcessOn、Visio等,工具只是我们表达思维的一种手段,对产品经理来说,怎么画出好看的UML图不是关键,利用UML帮助我们理清思维、管理产品才是目的。不同的UML,其应用场景也有差异。
四、产品经理需要掌握的UML图形详解
UML图一共13种,但是产品经理只需要重点掌握几种常用的图形即可,其他非重点的UML图,可稍作了解。
产品经理常用的UML图包括:类图、活动图、状态机图、用例图、时序图。
(一)类图
类图(Class Diagram)显示了模型的静态结构,表现出模型中存在的类、类的内部结构以及类之间的关系等。用类图表现模型结构的大致步骤如下:
1.识别出类:这是一个抽象的过程,从个性到共性。类的抽象并不是随意的,而要结合具体的业务场景。
例如:当我们需要做一个培训管理系统时,正确的做法是把培训课室里面的人抽象为两个类,“学员”以及“教师”。相反,如果你得到的类是“男人”与“女人”,就失去了类的意义,因为这无法帮助我们建设系统。
2.识别出类的主要属性:属性是记录类的性质和状态的变量,比如“学生”的关键属性有知识水平、接受能力。“讲师”的关键属性有知识水平、表达能力、讲课经验。
3.描绘出类之间的关系。类之间关系主要有泛化,实现,关联,聚合,组合与依赖。不同的类关系,画法都不同。
对产品经理来说,类图比较多应用于实体关系(ER建模)的分析,主要作用在于帮助我们抽象出系统的核心实体以及实体之间的关系。这是B端产品必须要掌握的一个能力。
以某公司的培训管理系统为例,该公司自主开发了一个员工的培训管理系统,各个讲师按照公司需求上线课程,员工可制定课程学习计划、参加课程,公司会根据实际需要为员工安排考试。综上,该系统的核心实体关系可能如下:
(二)活动图
活动图(Activity Diagram)是进行行为建模最为常用的一种UML图,它表达的是实现某个业务目标的具体过程。
活动图与流程图很类似,我们经常使用到的流程图,并不属于UML图,但是核心思维是一致的,就是清晰的表现出实现某个业务目标的具体过程与步骤。
以某公司的工时审批系统为例,员工需要填写工时并提交上级审核,如果是项目工时,则需要项目经理-部门经理审核,否则只需要项目经理审核即可,具体的活动图如下:
(三)状态机图
状态机图,也称有限状态机图,是描述有限个状态以及这些状态之间流转情况的图形。
状态机图主要由状态以及转换事件组成。简单来说,状态机图表达的是A状态如何通过某个事件转换成B状态。
状态机图都有一个开始状态、一个或者多个结束状态。
状态与状态之间的箭头叫转换,箭头上的文字表明了状态发生转化的前提事件。
比如企业要求员工通过考勤软件提交请假申请,那么员工提交的请假申请大致有以下几个状态,审批中、审批通过、审批拒绝、审批撤回。
(四)用例图
用例图(Use Case Diagram),描述的什么角色通过某某系统能够做什么事情,用例图主要帮助我们从对象的角度出发,去思考具体的功能。
以ATM机为例,储户能够使用的功能有查询余额、存款、取款、转账。
(五)时序图
时序图(Sequence Diagram),时序图是一种强调时间顺序的交互图,它通过描述对象之间请求和响应消息的时间顺序,来显示多个对象之间的动态协作。
时序图在支付领域的应用十分广泛,可以清晰的描述支付信息在各个系统之间的流转。下图是微信H5网页支付的时序图:
五、写在最后
UML所传达的面向对象的思维,对产品经理进行需求分析与产品设计均有重要的意义,特别是从事B端的产品经理。
本文只是简单的介绍了UML的相关知识,希望能够起到启发性的作用。如果想更加深入的了解UML图的标准、画法等,建议大家阅读《火球UML大战需求分析》这本书。
学习的UML的过程可能有比较多的困扰,因为这确实是一门精深的学问,虽不求准确掌握每个标准的画法,但是UML传达的思维是我们始终需要培养的。
另外,学习了相关的理论之后,建议还是要在日常的工作中有意识的去应用,久而久之,你会发现,感觉上来了,思维也慢慢有了。
点个“在看”再走呗~
以上是关于UML-需求分析的利器的主要内容,如果未能解决你的问题,请参考以下文章