UML(UnifiedModeling Language,统一建模语言) 是一种在软件设计时提供给分析师、设计师和工程师之间的通用语言。UML在软件需求分析及整个产品生命周期中起着重要作用:一是有助于捕获系统结构或行为;二是有助于定义软件构架,保持设计和实现的一致性;三是有助于管理复业务,方便团队沟通。

UML不仅支持面向对象的分析与设计,还支持产品从0到1的全过程。比如借助UML来与用户进行需求沟通,或指导程序员进行软件开发。UML被应用到面向对象的问题解决上,但面向对象最关键的是建模问题,建模可以把许多复杂业务的重要细节给抽象出。

UML分为结构图和行为图。结构是静态的,它描绘结构元素构成的系统或函数,显示结构或运行时体系结构的静态关系。比如类图、对象图、构件图、部署图。行为是动态的,它描绘一个系统或业务过程的行为特征,显示动态模型的视图。比如活动图、状态图、序列图、用例图。每种图形都是从需求或设计的不同层面来描述模型,通过模型描述系统的类、对象、关联、职责、行为、接口、用例、包、顺序、协作及状态。产品经理可以通过图形化的方式,从各个角度了解产品,以便更好的表达思想与交流问题。

UML建模常用的工具有:ProcessOn、EnterpriseArchitect 、Visio、StarUML、OmniGraffle、ArgoUML。UML建模常见的模型有:业务模型、需求模型、设计模型、实现模型、数据库模型。UML建模的重点不在于如何画UML,而是如何运用UML去管理好一个产品。UML建模适用于不同的场景设计,可从不同角度诠释产品。因侧重从产品经理的角度谈UML建模,所以只介绍用例图、状态图、活动图、时序图与类图。

用例图(UseCase Diagram)

用例图从外部观察者的角度描述系统的作用。用例图描述了系统的功能要求,强调从用户自身角度,分析其功能范围,但不关心具体实现。

1.参与者就是与应用程序或系统进行交互的用户或系统;

2.用例就是外部可见的系统功能,对系统提供的服务进行描述;

3.子系统用来展示系统的一部分功能,这部分功能联系紧密。

以某共享出行系统的乘客为例,在设计用例的时候,一般是按用户角度从Uc级描述统功能,并指向各功能的操作者。比如乘客主要负责的功能有登录平台、微信授权、扫码设备、选择套餐、支付订单与查看订单等。我们可以用一种可视化的方式,来设计系统的功能需求,本质还是扩展功能的增删改查。

状态图(State Diagram)

状态图由状态、转换、事件和活动组成,描述对象所有可能的状态以及事件发生转移的条件。状态图一般为那些有多个状态的、行为随外界环境而改变的类画状态图。根本就是阐明其在生命周期的时间和状态图是用于此目的的一个对象,将满足某些条件、执行某些活动、等待某些事件。

1.研究类、角色、子系统、或组件的复杂行为;

2.在进入和退出状态时所执行的操作;

3.在不使状态发生变更的情况下进行的转移。

以某共享出行出行系统为例,客户完成扫码按摩的订单对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作。从扫码充电订单状态从待支付,已完成、已退款到交易关闭都是一个完整的业务闭环。实际应用中并不是所有的类都需要画状态图,有三个及以上状态,且在不同状态下行为有所不同的类才需要画状态图。

活动图(Activity Diagram)

活动图是一种表述业务过程以及工作流的流程图,直白点就是使工作流和业务过程可视化的图。它描述活动的顺序,展现从一个活动到另一个活动的控制流,有利于识别并行活动,能够快速分析业务流程、理解系统功能、挖掘潜在的业务需求。

1.动作状态就是指不可中断的动作,并在此动作完成后,通过完成转换转向另一个状态;

2.动作流就是动作之间的转换过程;

3.节点主要有开始节点、终止节点、分支节点与合并节点,本质都是对流程的约束。

以某跨境电商平台为例,客户完成商品结算的这一活动过程中,分别是查看商品、购买商品、商品结算这三方面完成流程的转换。其实就是从行为动作描述具体业务与工作流程,以及各项业务之间的约束关系。

时序图(Sequence Diagram)

时序图是一种强调时间顺序的交互图,它通过描述对象之间请求和响应消息的时间顺序,来显示多个对象之间的动态协作。时序图具备了时间顺序的概念,提供了控制流随着时间推移的可视化轨迹,从而可以清晰地表示出对象在某一个时刻的动态行为。

1.生命线是一条垂直的虚线,从对象底部延伸出来的,表示对象存在的时间;

2.控制焦点是时序图中表示时间段的符号,在这个时间段内,对象可执行相应的操作;

3.消息显示为箭头,消息可以完成传输,可是同步的,也可是异步的,即可以是请求,也可以是响应。

以某车生活平台为例,车主通过服务劵可以进行线上车服务相关的预约,门店确认预约订单后,车主可以凭劵码到门店进行服务的流程。车主预约中参与交互的所有对象之间消息传递的时间顺序,可以清晰的梳理业务流程及对象关系,保证产品需求的准确性、可实现性。

类图(ClassDiagram)

类图是一种静态模型,通过显示系统的类,以及类之间的关系来表示系统。类图是静态的,可以展现软件系统中的类、接口以及它们之间的架构。类之间关系主要有泛化,实现,关联,聚合,组合与依赖。

1.类是对象类型的表现形式,反映出这类对象在系统内的的结构和行为;

2.接口是实施者需要满足的行为规范;

3.包是一个命名空间,也是一个元素。

以某共享出行系统为例,我们可以直观的看出公司、司机、车辆、设备、业务员之间的对应关系。比如一个公司对应多个车辆,一个车辆又对应多个按摩设备,理清他们之前的结构关系,就可以快速了解业务逻辑和完成表结构设计。

UML在整个软件开发过程中,解决了“一盘散沙”的问题,在国内不少地方获得了应用。作为产品经理,学习UML必须从模型的建造开始,一个萝卜一个坑的去将UML建模实践到产品中,不断历练自己,才能学有所成。当我们对UML建模的各图形都有所了解后,就可以全面的、深入的从各个角度表达产品,让表达变得更丰富、更形象。

对于产品经理而言,掌握UML有助于梳理业务流程和传达产品需求。我们不仅要深挖前端业务流程,还要理解看不见的后端实现逻辑。很多产品在版本迭代阶段,产品经理很容易忽视产品的隐性特性,对产品的核心功能无法深挖或理解,导致实施中还在讨论需求或需求变更,或上线后功能不符合需求,主要原因是缺少对后端整体功能的统筹与把控。而UML的出现,让产品经理拥有一套与技术人员沟通的共同语言,在工作中需求对称会变得更顺畅。

-END-

uml活动图 各个功能的操作流程和分支_UML建模更好的表达产品逻辑相关推荐

  1. uml活动图 各个功能的操作流程和分支_UML建模之活动图介绍(Activity Diagram)

    一.活动图的组成元素 Activity Diagram Element 1.活动状态图(Activity) 2.动作状态(Actions) 3.动作状态约束(Action Constraints) 4 ...

  2. uml活动图 各个功能的操作流程和分支_UML活动图介绍和用法图解

    本文概述 在UML中, 活动图用于演示系统内而不是实现内的控制流.它对并发和顺序活动进行建模. 活动图有助于设想从一个活动到另一个活动的工作流程.它强调了流动的条件和流动的顺序.流可以是顺序的, 分支 ...

  3. uml活动图 各个功能的操作流程和分支_UML学习系列教程08------九大基本图05---活动图(Activity Diagram)(重点理解和流程图的区别)...

    @活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流. 活动图在本质上是一种流程图. 活动图与状态图都是状态机的表现形式,但是两 ...

  4. uml活动图 各个功能的操作流程和分支_解析UML活动图的七大组成元素

    本文和大家重点讨论一下UML活动图的概念,UML活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.UML活动图在本质上是一种流程图. UML ...

  5. uml活动图 各个功能的操作流程和分支_软件工程专题:UML活动图

    关注BeTester,学习更多知识 让碎片成体系,让测试更专业 1.概述 活动图(Activity Diagram),描述了活动的顺序,展现从一个活动到另一个活动的控制流,即活动图是一种流程图.活动图 ...

  6. uml活动图 各个功能的操作流程和分支_做软件架构设计,你不得不知道这些图...

    作为一名架构师,你设计的架构其实是要给很多人看的,包括公司领导.产品.开发.测试和运维,那么你该如何把你设计的架构展示给别人呢? 这就是Relax今天想跟大家聊的内容.大家还是不妨先花个两三分钟好好想 ...

  7. UML活动图分析及用例生成实例

    1 背景 UML活动图(Activity Diagram)用于描述系统.软件工作流程,能够表达并发.循环.分支等结构,是一种常见的设计输出. 相比基于自然语言的设计文档,活动图具有更好的结构化程度.这 ...

  8. UML活动图画法详细解析

    活动图基本概念 活动图是UML中一种重要的用于表达系统动态特性的图. 活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间转移的控制流,并且它采用一种着重逻辑过程的方式来叙述. 例如起床 ...

  9. Thinking in UML 学习笔记(四)——UML活动图来看核心

    在UML活动图的性质是一个流程图,它需要描述为完成活动的特定目标的描述来完成,这些交互运行顺序. UML有两个级别的活动图,的用例场景的叙述性描述,还有的对象用来描述交互的描述. 工具.它不是我们的分 ...

最新文章

  1. 实战绕过宝塔PHP disable_function 限制getshell
  2. SVN四部曲之SVN简单使用教程入门
  3. easyexcel 无模板写入_关于EasyExcel 的一些生成模板,导入导出的使用心得(优化版)...
  4. 初步了解react-babel-虚拟DOM-JSX-类组件-函数式组件
  5. 一个关于文件中位运算的的处理函数。
  6. tomcat memory setting
  7. jQuery 学习-样式篇(六):jQuery 获取和设置表单元素的值
  8. 视频播放的时候不拦截OK键
  9. 报错 Missing number, treated as zero. \begin{subfigure}{0.24\linewidth}?怎么解决
  10. 把精力专注在“一件事”上的林曦老师,太容易让人着迷了!
  11. php敏感字符串过滤_PHP实现敏感词过滤
  12. bam文件读取_把bam文件读入R,并且转为grange对象
  13. css网站样式表是什么,什么是css样式表
  14. SQL求和一个表之后和另一个表数据进行关联
  15. linux下使用 xset 设置屏保
  16. Lammps之结冰构建
  17. PHILIPS 无线键鼠配对说明
  18. js之省市区(县)三级联动效果
  19. 中级软件设计师考试(软考中级)网络与信息安全基础
  20. WorkNC合作普达盛加工生产压铸模具

热门文章

  1. 探究.NET的bin引用程序集运行机制看.NET程序集部署原理
  2. 一个简单的调用动态库的实例
  3. 第 10 章 数组和指针
  4. ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
  5. js,同意后,才可已点击注册按钮
  6. 01.MVC5安装Ext.Net
  7. iOS 打包上传AppStore
  8. 【转】win7与ubuntu双系统,删除ubuntu后,启动错误error:no such partition grub rescue的修复--不错...
  9. [洛谷P1908] 逆序对|归并排序|树状数组
  10. 第11章 享元模式(Flyweight Pattern)