微信号:imooc-com

介绍:慕课网是一个超酷的互联网、IT技术免费学习平台,创新的网络一站式学习、实践体验;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!

我心中的后台管理系统

2018-01-31 20:50 Rosen_Gao

 


后台管理系统

先说后台管理系统。一个企业的产品,我们通常能看到的都是用户端的产品,而在用户端产品的背后,是更多的后台管理系统来支撑的。就拿电商来说,我们普通用户能看到的,就是搜索商品,加购物车,下单,结账,等快递这些内容,最多再有个优惠券和活动之类的,看起来好像也没有什么。但在这一个用户端产品的背后,是体量更大的后台管理系统,比如商品有发布的系统,有处理订单的系统,有客服系统,还有财务、优惠券管理、物流系统等等,各种各样的支撑系统,才能让用户把购买商品的这一整套流程跑起来。

 

后台管理系统最大的作用就是对用户业务的支撑,一个电商如果没有上传商品的地方,没有处理订单的地方,那么用户那边什么都执行不下去;而它第二重要的地方,是对效率的提高,这部分主要是对内容的管理,比如有些功能我们要修改一下首页的Banner图片和链接,通过发布代码的形式也可以做到,但是每次改动都需要走一遍修改代码到提交测试再到线上发布的过程,尤其是做活动的时候,这些Banner经常会改动,这些看起来不算大的小活其实消耗掉了很多战斗力,如果把这些经常改动的内容都通过后台管理系统来管理的话,那么只需要每次修改的时候打开系统上发布一个新的Banner就可以了,这样不需要开发人员介入,这个事就能很快的完成了。

 

后台管理系统的模式也比较固定,基本都会有一个功能菜单,然后每个菜单对应着一个功能模块,这个模式很固定。后台管理系统的功能归根结底也是对后端数据进行操作,也就是增删改查,所以在后端管理系统里的功能会相对简单,即使复杂也是在规模上的复杂,而逻辑上一般不会特别麻烦。



系统特点


刚才也说了,企业里的后台管理系统是一些在企业内部使用,对外部业务提供支持的系统。根据这一点,我们就能知道这些后台管理系统的用户都是谁以及有什么特点了。

 

先来说下系统的用户特点。后台管理系统的用户一般就是公司内部员工,他们在使用这些系统的时候,最根本的诉求是完成功能和提高效率,而对于兼容程度和美观度上的要求并不是特别高,假如我们做了一个系统只兼容高级版本的浏览器,那么对于内部人员也是可以接受的,毕竟换一个浏览器的成本相对管理系统提供的便利来说,成本太小了。还有个问题是企业里,通常这些管理系统是不希望外部用户能看到的,所以也不存在SEO的需求,甚至大部分公司都会把这种管理系统部署在内网上,对外网不可见。

 

接下来说一下对管理系统的要求。在企业里,管理系统存在的意义就是提高内部人员的工作效率,所以考量一个管理系统必要性的最大的特征就是性价比。如果一个功能是支持业务必不可少的,那没什么说的,花的精力再多也没有办法。但是更多情况下,一些功能还是可以通过人工或者其他方法解决的,不一定要通过开发系统来搞定。这个时候就需要我们去考虑几个事了,一个是这个功能的使用频率,也就是多久用一次;然后是这个功能做出来需要多长时间,可以节省工作人员多少时间;最后还要考虑一下,有了这个功能可以减少多少系统风险,比如在没有这个系统前是要开发人员或DBA手动操作数据库的,如果用系统来代替人工操作,这个风险可以降低到什么程度。


结合这三个问题,我们就可以评价一个系统是不是有必要了。而对管理系统比较次要的要求,才是美观程度。虽然这不是第一要求,但在力所能及的情况下,把系统做的好看一些,是没毛病的。况且市面上已经有很多成型的UI框架,很简单的引用就能让系统在外观上过得去。


最后来说一下做这种系统时候的技术选型。对于工程师来说,一般会觉得后台管理都是增删改查,没有太多的技术含量。但通过前几个特点我们会发现,后台管理系统里的用户对系统的宽容度比较大,兼容性不好可以用高版本,有些复杂逻辑用技术不好处理,在不影响效率的情况下也可以换一种操作方式。这样宽容度比较大的系统,就非常适合作为一些新技术的试验场,把一些不敢用在用户系统里面技术都可以先用管理系统里来尝试。当然也有的开发人员也会觉得这么简单的系统,随便找些现成的代码拼凑一下就出来了,这样的方式可能很快,但对工程师的来说,技术提升并不大。拿前端来说,少了兼容性和SEO两座大山的压制,很多新技术都可以上了,比如React,ES6,Sass以及各种打包工具都可以被引入。如果有一个管理系统的需求不去用这些东西,那么再去尝试的机会就更少了。

 


后台管理系统也可以很复杂


刚才一直在说后台管理系统一般是增删改查,比较简单。但是后台管理里面有几个点,还是比较复杂的。

首先说权限管理,如果一个小型的管理系统,那么权限管理就分为两类,就是有权限和无权限,这种情况通过登录信息管理就够了。但是当系统复杂起来,各种分工的人员一起使用这一个系统的时候,那么非黑即白的权限方式就不合适了。当系统复杂到一定程度后,我们就要引入权限管理,甚至再大一些就是权限系统。在权限系统里,要有角色和权限的划分,每一个用户都被划分到某一个或者几个角色里,再把这些角色赋予指定的权限。另外权限系统可能还会针对不同的后台管理系统做统一的权限管理,这就又增加了权限管理的复杂性。如果对权限系统感兴趣的话,这里推荐去学习Jimin老师的权限系统。

 

下一个要说的比较复杂的,就是流程的管理,在简单的管理系统里,直接操作就可以完成某些功能。但如果整个企业达到一定规模以后,一个人去操作就变得风险不可控了,加入真有人误操作或者做了错误的操作,直接会造成业务的损失,尤其对于财务相关的这种敏感操作,就更需要引入流程来加以管理了。流程里会有一条审批线,从开始到结束要经过几个人的审批,这样多次检查,相对会更安全一些。而在流程中,最复杂的不是流程往前进行,而是当发现有不合适的操作以后,能完整的退回到上一个状态。

 

还有一个我觉得比较复杂的地方,可能是在业务模板的管理了。这个问题还是会出现在比较大型的管理系统上。当我们有成百上千的内容需要管理的时候,开发这些管理页面本身就造成了效率问题,这个时候就需要再向上抽象出一层,把能够通用的管理业务抽离出一个模板,再需要新的管理功能的时候,就可以使用模板来建立管理页面了,又进一步的解放了开发人员。但是这个模板本身的设计确是一个比较复杂的问题,现在很少有能做到完全脱离开发的模板管理,做的比较好的可能是一些企业里用的OA系统。

 

最后


希望这篇文章能让同学们了解到后台管理系统的特性,能够利用好开发这些系统时的机会,多尝试一些新的技术,不要得过且过。


最后的最后,祝大家新年快乐,2018一切顺利!



作者介绍


 


推荐教程学习

点击作者下方图片即可阅读




 
慕课网 更多文章 图说架构系列 - 架构师的坎坷成长路 数据那些概念(数据、信息、分析、挖掘、机器学习、大数据、AI等) 区块链入门-概念原理篇 Google资深工程师深度讲解Go语言
猜您喜欢 今日返回地球的“天宫一号”,哪些信息值得了解? Android中热修复框架Robust原理解析并将框架代码从"闭源"变成" 技术的异己文化 主流分布式架构的风流韵事... 2017年你不能错过的Java类库