B端系统的底层功能建设知多少

本文的目的主要是反思系统底层功能的建设到底要不要做,以及该怎么样做。

B端系统的底层功能建设知多少

一个完整系统的功能层级大致可以分为3层:

  • 最底层的功能是系统设置层,相当于整个系统的基石,因为整个系统都离不开底层信息的支撑;
  • 中间层的功能是用户操作层,日常业务流程就是在这一层进行操作;
  • 最顶层是数据层,提供一些业务数据报表,跟业务流程不挂钩,不用用户操作;

一个B端系统从0开始规划的时候,很多产品经理会优先做一些亮点功能用来招商吸引客户,这些亮点功能一般都是在用户操作层,由于更加贴近客户的日常业务流程,宣传的时候介绍这些功能,客户也容易理解。

而底层的系统设置,一般都属于基础型通用功能,偏向于信息的维护和配置,跟业务流程没有太大的关联,因此大部分产品经理会忽略系统的底层规划,或者只是做一些简单的规划,这些都相当于是变相的在挖坑。

最近一年接手的2个系统,在系统底层功能规划上都存在非常严重的问题。最后都追悔莫及开始完善,结果发现改起来真是比重新做一遍还要困难。

第一个系统组织架构设计不合理,必须要新增3级组织,且每一级节点有固定的组织类型;角色权限配置写在代码里,修改删除都要改代码等等;没有任何操作记录留痕;

第二个系统一是没有组织架构的概念,二是没有角色权限的区分,三是没有审批流的功能,四是没有操作记录的信息;系统的功能都堆积在中间操作层和数据层;

底层能力薄弱的系统,一开始用的时候可能不会觉得有太大问题,因为至少业务功能是全的,流程能跑通;但是到后期,随着客户的深入使用,就会发现系统的管理能力跟不上,从而管理需求就要开始提高优先级。

这个时候用户已经在系统上产生了大量数据,我们再去考虑完善修改底层功能,实际上是非常困难的,工作量简直会增加好几倍。因为底层功能的影响范围是非常广的,有的时候甚至会改变业务流程。

在这里我要大声地说出我的呼声:

一定要重视系统的底层功能设计!底层功能虽然跟业务关联不深,但是它却是会影响整个系统的功能!因此不但要重视!还要好好想清楚该怎么做!否则:简化一时爽,优化悔断肠。

下面讲讲我对系统的底层功能上的总结。

系统的底层功能建设主要包括以下5个方面:组织架构、权限、审批流、操作记录、消息通知;

一、组织架构

组织架构一般是用来管理系统里面的“用户信息”数据的,常见的组织架构分类方式主要是按部门分类;

组织架构的设计:

组织架构的设计一般是采用“树状结构”,包括父节点和子节点,节点下挂数据。

关键点:

  1. 组织架构的层级限制:固定层级/不限层级;
  2. 是否允许多个根节点存在;
  3. 父子节点下挂数据的方式,参见例1;

例1

节点下挂数据的方式有2种:

一是父、子节点下均可以添加数据,如图1;

B端系统的底层功能建设知多少

图1.父节点下可以添加数据

二是父节点下不可以添加数据,仅最末级子节点可以添加数据,如图2;

B端系统的底层功能建设知多少

图2.父节点下不可以添加数据

相对而言,方式一更加符合大部分大公司的管理习惯,组织层级比较多,确定组织层级的同时也确定了用户的层级,高层级用户是低层级用户的上级,但是最末层级中若有上下级关系是不好区分的;

同时方式一存在一个问题:选中父节点的时候是仅选中父节点下的数据呢?还是选中父节点下的数据以及其子节点下的数据?

  • 如果是仅选中父节点下的数据,那要是想选中所有子节点的数据,就得一个一个手动选中节点;
  • 如果是选中父节点下的数据以及其子节点下的数据?那要是想仅选中父节点下的数据,就得一个一个手动选中需要选中的数据;

方式二适用于一些比较扁平的小公司,比如一个公司就只有一个一级部门,那就直接把每个部门的人拉到该部门就好了,用户的上下级关系不在组织架构上进行体现,可以另外引入字段进行区分。

组织架构的优点

1.对“用户信息”根据某个维度进行分类,方便查找和批量处理用户数据。比如当系统其它地方需要用到选择“用户”时,不至于直接出现无分类的“用户信息”列表,一个一个查找选中需要的用户,如果“用户信息”上万,这就..不仅会导致系统性能问题,还会造成严重的用户体验问题。

2.方便一些需要根据组织架构进行隔离的功能。

此外,比较智能化的系统一般也会提供API接口供用户直接对接到其公司内部的EHR系统,避免用户重复维护员工数据;

组织架构影响的范围:

  1. 数据权限根据组织架构做隔离;
  2. 报表按组织架构进行汇总统计;
  3. 审核流程根据组织架构做隔离;
  4. 只要用到“用户信息”的地方基本都会跟组织架构有需求;

二、权限

对一个功能完善的B端系统来说权限分级是必不可少的,权限控制着能进入系统的每个账号所能查看和操作的范围。

权限分为功能权限和数据权限,功能权限控制用户能不能看到这个功能或信息,数据权限控制用户能看到的数据信息的范围。

如果不做权限控制,所有只要能进入系统的用户都能查看和操作所有的数据,其实是有很大的信息泄露风险的;其次一个系统既然有业务流程,就必然会存在操作流程节点的对应用户,如果说所有用户都能操作所有流程节点,那其实设置1个节点就够了,反正一个用户操作都能操作所有节点;所以流程上的不同节点需要有对应的用户来操作流转,这个时候也需要控制用户的查看和操作权限。

如果系统一开始没有设计权限控制功能,后面在优化的时候就需要对整个系统进行权限节点梳理和权限校验,测试的时候也是需要整个系统全局测,这工作量…

权限的设计

①功能权限的设计方式比较多:

  • 最常用的设计方式是RBAC,是一种“用户-角色-权限节点”的功能权限设计,之前写过,不再赘述;
  • 还有一种比较简单的功能权限设计方式是“用户-权限节点”,即对用户直接分配权限节点,这种方式适用于一些功能比较少的小型系统以及用户量很少的系统,直接对用户分配权限即可,如果用户量较大 ,就慎用此种设计方式。

②数据权限一般会通过组织架构做隔离,比如给某个角色 A分配了一个数据列表的功能权限:

  • 若数据权限控制角色A只能查看“本人” 的数据,那拥有角色A的用户就只能看到他本人的数据信息;
  • 若数据权限控制角色A只能查看“本部门” 的数据,那拥有角色A的用户就只能看到他所在部门的数据信息;
  • 若数据权限控制角色A能查看“全公司” 的数据,那拥有角色A的用户就只能看到他所在公司的全部数据信息;

关键点:

  1. 功能权限节点细化颗粒度的确认:如页面,有些特殊的按钮也需要单独配置权限;
  2. 数据权限范围的确认:如个人、本部门、全公司;
  3. 功能权限节点的梳理,举个栗子如图3;

B端系统的底层功能建设知多少

图3 精斗云系统角色权限配置

权限的优点

  1. 细化控制每个用户的数据查看范围,防止信息泄露;
  2. 每个人都只能操作自己权限内的功能,防止误操作,即操作到本不该自己操作的功能;
  3. 便于管理,各司其职;

权限功能影响的范围

  1. 全部页面以及一些操作按钮都需要单独做功能权限节点;
  2. 针对数据列表页面,如果需要限制用户查看数据的范围则需要梳理数据权限;

三、审批流

审批功能在OA系统中使用的比较多,其他系统根据业务需求而定,但是审批功能依然是一个非常高频的操作,比如涉及到一些数据的新增、修改、删除、生效等等都会存在审批;如果系统在一开始没有规划审批功能,后面想再插入审批流程,可能整个流程都会受到影响。

审批流的设计

包含的要素有:审批流程、审批类型、审批角色、审批人;

关键点:

  1. 审批方式:串行审批(如图4)、并行审批(如图5)
  2. B端系统的底层功能建设知多少

    图4.串行审批

    B端系统的底层功能建设知多少

    图5.并行审批

  3. 审批流程一定要闭环;
  4. 审批人的确定:按角色、按人;注意区分是否按组织做隔离;
  5. 特殊条件校验:审批流程中可能会涉及到不能按不同条件分不同的审批路径,比如费用报销流程,费用金额小于等于10万,仅需要财务助理审批,若费用金额大于10万,则需要财务总监审批;
  6. 加签:加签是在当前审批人审批之前加另外的审批人,还是当前审批人之后加另外的审批人;
  7. 抄送:选择抄送用户的范围是不限还是只能选择某个固定群体中的人;
  8. 转签:选择转签用户的范围是不限还是只能选择某个固定群体中的人;
  9. 驳回:审批节点被驳回是整个流程终止还是返回到某一节点重新开始;
  10. 如果当前审批人离职了怎么办?

审批流的优点

  1. 能限制用户的权限;
  2. 通知、知会所有相关人员;
  3. 减小误操作的影响;

审批流影响的范围

1.系统中涉及到关键数据的新增、修改、删除等功能;

四、操作记录

操作记录的设计
操作记录这个功能很多产品经理都不重视,在规划产品的时候也不会考虑,可是到需要用到这些信息的时候只能让开发查数据库,如果数据库数据存储不完整就…没办法了。

如果系统一开始没有规划操作记录的模块,之后在优化的时候对于历史操作记录数据很难处理,而且整个系统统一梳理操作记录,这工作量也不是一般的大…

关键点:

操作类型、操作时间、操作人、操作内容、变更前、变更后

操作记录的优点

  1. 便于追溯信息的变更记录;
  2. 便于对每个用户的操作进行跟踪;
  3. 便于产生问题后查找原因;

操作记录影响的范围

整个个系统涉及到有操作按钮的页面都可以有操作记录;

五、消息通知

消息通知主要是针对系统中一些重要的信息需要及时通知到用户。

消息通知的设计

在规划消息通知功能的时候一定要先统一消息模板,其次定义清楚什么消息需要发,该用哪种形式发,万不可所有信息都发,也不能一条消息全部途径都发送。不然消息过多的话,会对用户造成信息骚扰,其次也会把重要消息淹没掉。

关键点:

  • 消息通知的方式:短信、邮件、app
  • 模板设计:比如要不要加签名、logo等
  • 邮件内容:主题+详情+附件+签名
  • 短信内容:【主题】+详情+【发送方】

消息通知的优点

  • 对一些重要信息及时传达给用户;
  • 主动向用户推送信息;

消息通知影响的范围

对现有功能逻辑影响不大,主要是影响用户体验。

业界动态

“高龄”设计师面临的3大问题

2019-10-29 8:47:04

业界动态

三步教你做B端产品需求分析

2019-10-29 9:11:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索