回顾我之前所设计的系统,我最大的感受就是产品经理需要不断地对复杂业务进行抽象建模,从而让复杂非理性的事物(需求)变得有非常明确的规则,各个业务之间有清晰的划分。
那么很多新手朋友经常会听到一个词叫抽象建模,那么这个抽象建模到底是什么意思呢?本篇文章我们就来为大家来解释一下这个词。
1. 业务组件提取(抽象建模)
其实抽象建模是产品设计中的一个很重要思路,它能帮助我们将一些看似没有任何规律的业务进行一个标准化,就拿我们产品经理来说,现在相信大家都知道产品经理的工作流程是如下的这几步:
用户访谈、分析用户场景、梳理需求优先级、需求版本规划、需求设计、需求评审。
但是大家有没有想过是谁当初第一个提出这样的标准工作流程?这样的人就很厉害了。
那么说了这么多,到底抽象建模的本质是什么?这里我可以用一句话来进行概括:业务组件提取。
所谓业务组件提取,就是指我们在进行业务分析过程中,不断将业务划分成若干个小的组件与模块。例如我们可以将电商系统划分为商品中心、订单、支付、物流、会员这五大组件,通过这五大组件共组建起了一个完整的电商系统。
那么在这过程中我们将一个完整的在网上下单购物的流程拆分成这五大部分就是一个业务组件的提取,当然,这里的又组建提取并不是只是在系统层面的划分,我们很多时候在产品内部设计的时候也会遇到很多业务组件的提取。
2. 一个案例
下面我用一个案例来给大家示范一下如何进行业务组件提取。
假设我们要设计一个在线教育平台APP,首先分析这个教育平台的系统框架,我们会发现在这里本质上就是要对三个对象进行管理,如下图所示:
-
课程资讯:实时推送最新资讯;
-
课程电商:显示出售的课程;
-
学生题库:供学生选择适合自己的习题册进行练习。
面对这样的一个需求,我们想一想平时我们会怎么样去进行产品设计?
我相信绝大多数的产品经理都会按照将这三个对象视为三个完全不同的模块进行独立的信息架构与页面结构进行产品设计,例如设计资讯中心时的思考路径如下:
那么如果用组件化的思维来进行思考的话,我们其实可以完全去将这三个对象视为三组数据,那么站在数据视角上来看,此时我们需要设计的产品实际上就是为这些数据去寻找可以承载的组件。
那么这个时候,我们就可以得出这些数据都有如下三类承载需求:
-
信息分类选择的需求:划分不同功能入口;
-
集合类展示的需求:列表展示多个对象个体以供选择;
-
个体类展示的需求:展示详情。
这样我们就将看似毫无关联的三个对象抽取出了一个标准的页面组织架构,也就是:
按照这样的设计结构,我们就可以将这三个数据对象。定义为如下的数据组织:
集合类数据:
对象实例数据:
-
本条记录的数据摘要;
-
本条记录的数据属性;
-
本条记录的数据详情;
根据这样的数据结构,我们就能得出最终的产出:
我们可以看到通过这样的设计,我们成功的将这三类对象合并到了一套程序组件载体中,此时如果我们需要进行迭代,只需要调整一次三个数据对象都会发生改变,大大节省了开发人力。此外这样的设计也让后台系统在某种意义上只需要进行数据源格式的不同管理即可,而数据接口等都可以高度复用。
那么我们再设想一下,如果没有按照这样的页面组织架构进行产品设计会遇到什么样的问题?
首先我们对这三个对象需要定义完全不同的跳转路径,需要维护各自相互独立的页面结构与路径,导致我们需要对这三类数据在前台维护三组不同的页面代码。
在后台则对于这三组对象我们还需要有不同的表结构、数据接口以及数据消息体格式,因此很多时候开发的工作量就是因为很多产品经理在设计功能模块的时候没有按组件进行规划,导致增加了整个系统的开发成本。
3. 最后
我们在日常的产品设计过程中一定要学会使用组件化的思考方式对每一个业务单元进行抽象建模,从而使我们抽象出的组件变的标准且统一,从而降低整个系统的开发成本。
将“佩琪同学在南通渡课IT教育1811班3教室上崔老师的JAVA课程”实际
场景
进行
业务
类的
抽象
。
分析提取题目中的类,
抽象
出学校、班级、老师、学生、课程五个类,并在eclipse 中创建出来。如下所示:
public class School {
//成员变量
String name;
String classroom;
//投诉学校外面的噪音太大
void noise(){
System.ou...
产品
设计
进阶
思维:怎样进行
业务
的
抽象
建模
抽象
建模
是
产品
设计
中的一个很重要
思路
,它能帮助我们将一些看似没有任何规律的
业务
进行一个标准化。
我们需要不断地对复杂
业务
进行
抽象
建模
,从而让复杂非理性的事物(需求)变得有非常明确的规则,各个
业务
之间有清晰的划分。
抽象
建模
的本质是什么?这里我可以用一句...
上一篇,架构
设计
的UML图形思考 ,简单介绍了图形思考
设计
,表达
设计
对于架构师的重要意义,以及简单介绍了使用统一
建模
语言UML描述类以及类之间的继承关系,这种描述还停留在写
代码
,表达的可是说是如何写出类
代码
来,接下来我们要学习用UML表示
业务
的内涵,分析
业务
的内涵,加以
抽象
,将细节隐藏起来,用UML图象表现出来。
一、系统分析
什么是系统分析?
首先声明,本人所有博客均为原创,谢绝转载!
在我们的工作中,需求的具体实现逻辑往往是不明确的,一般都是老板或者
产品
甩过来一个页面或者要求,剩下的就要靠我们自己去思考了,而建立
业务
模型,往往就是开发中最难也是最烧脑的一步.很多人可能想许久都不知道一个
业务
该怎么实现,或者是先想清楚了,但做着做着就发现之前的逻辑是错的,又只好重新改.
但是,这个过程对我来说则并不是很困难,因为我掌握了较为正确的数据...
业务
建模
又称
业务
领域
建模
。
业务
模型能够帮助人们理解现行
业务
,也有助于改进现行
业务
,
业务
建模
也是需求
建模
和分析
建模
的基础。
业务
模型是对
业务
领域的
抽象
描述,包括
业务
愿景模型、涉众模型、
业务
过程模型、
业务
对象模型、
业务
规则模型等。
本章主要知识点:
业务
模型的概念、
业务
愿景模型、涉众模型、
业务
过程模型、
业务
对象模型、
业务
规则模型
要成功开发一个软件,首先需要认证分析软件所服务的
业务
领域,只有弄清楚了期
业务
背景、
业务
过程、
业务
资源和
业务
规则等问题,才能开发出符合
业务
规则、满足
业务
需求的软件。在
业务
分析 (bu