loading

CRM系统的权限管理与流程设计

发布时间:2020-02-23

本文╪介绍CRM系统的项◘目权限管理和用户报名流۞程的设计。

CRM(Customer Relationship Management)–☆客户关系管理系统,是指利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析和利用的信息系统。以客户数据的管理为核心,记录企业在市场营销和销售过程中和∏客户发生的各种交◙互行为,以及各类有关活动的状态,提ρ供各类数据模型▧,为后期的分析和决策提供支持。

简而言之,CRM系统是主流高效▲的客户管理系统,在维护客户,挖掘新客户,规避客户流失及企业内部恶意竞争,降低营销成本上有非常重要的作用。

项目背景

笔者本次服务的甲方,在培训行业深耕多年,由于成立时间较早,所以在信息化管理较为薄弱。目前管理用户的方式还是通过excel录入管理,并且通过邮件进行传输。这样的管理方式,不仅效率低下,而且一定程度上,容易出现数据泄露。

于是甲方希望能够有一套CRM,能够覆盖培训的招生,报名,学生管〆理等流程。由于较高的保密需求,所以需要进行研发团队开发完成后,在公司内网部署。

在征得甲方同意后,本文仅介绍项目权限管理和用户报名流程的设计。

基于RBAC(Role-Based A╭╮ccess Control)的权限管理

RBAC模型

一个完善的管理系统底层逻辑,权限管理,往往是系统架构的第一步。权限管理中,通常4个元素是无法回避的,∈分别为:

用户(User);角色(Role);权限(Per∮missio〖n);资源(Resourcesↁ)

在数据◎库表结构设计中,我们通常使用一对多(OneToMany)或多σ对多(ManyToMany)管理用户(User);角色(Role);权限(PeⅥrmission)。

用户;角色;权限关系示意图

在完成了以上基础逻辑确⿵定以后,我们能够很轻易搭建起一套基本的权↹限体▀系:即创建用户⺌(Create Us★er);⿸分配角色(Assign Role);赋予╱╲权限(Grant)。

流程分析

管理员(Admin)流程:

︵创建菜单及功能,开发人员路由配置菜单对应URL 创建角色,分配角色可访问菜单(可访问URL) 创建用户,为用户配置对应的角色(Role)

用户操作流程

CКRM系统左侧为菜单栏,用户登陆后,系统根据分配给用户的角色,以及角色对应的权♂限对菜单进行展∏示。

在用户进入菜单后,我们还需要二次判断当前用户的读写权限,对部分页面的内容或者操作进行屏蔽。

原型设计如下:

以上是简化版的RBAC权限管理设计方案,在现实生活中△,还需要根据实际的情况,权限管理中,是否需要包含字段权限,以及字段权限的规则(只读,读写,不可见)。

报名流程设计

需求分析

培训机构在进行±招生时,通常的流程是:·

用户咨询–销售记录用户咨询内容–销售跟进用户̵○1;用户填写报名信息–销售审核–用户付款–创建学员信息。

报名流程图

以下是对应流程中,关于方案设计的主要信息:

主要对象:销售,用户; 操作设备:PC端为主,可能出现移动设备; 支付△需求:是;(需要用户申请对应的账号及API) 网络需求:是; 其他:部分字段脱敏处理 操作人员:销售

原型设计

新建用户∞/用户详情

在此,我们Θ简化了部分字段,给读者展示了一个简单的新建用户/查看详情页。由Ю▽于B端系统的非标性,在某些情况下,需要我们调整其中的功能权限和展示字段。这就需要我们联系前期设计的权限管理,实现功能与需求的高度适配。

方案总结

由于本次定制程度较高,且开发周期时๑·ิ.·ั๑间不长,所以在底层架构设计中,我们多采用比较成熟的方案,如RBAC权限方案,高复々用度的前端页面√,基于角色权限的二层级菜单。减少了开发量和部分未知风险,在规定Ъ的时间内完成了开发⊥任务。

发布本文,只为抛转引玉,希望能够与各位B端优秀的产品经理有更多的交流机会。如文中出现纰漏,也欢迎大家指正ζ。

 

本文由 @Dφave Fu ▊原创发布于人人都是产品经理。未│┃经许可,禁止转载。

题图来自 unsplash,基于 CC0 协议