为了熟悉具体的业务,之前在国网运维部轮岗工作了一段时间,深入到客户现场去捕捉需求我认为非常高效,通过通讯工具沟通经常会有理解偏差和词不达意的情况,面对面交流可好太多了。这其间与甲方工作人员多有接触,从他们身上学习到了一些平时接触不到的东西。
用户、角色、权限
我参与项目以来比较大的感受就是不同用户的着眼点是不同的,这听起来像是一句正确的废话,但是以前在书上看到的知识真正在实际中得到印证之后,还是想发出这样的感慨。为了使每个用户可以各司其职,我们必须对他们赋予不同的权限,提供授权的功能页面并使这个过程可配置、管理,形成标准化流程。
初到用户现场,对于他们复杂的组织结构关系我是比较头疼的,部门林立,里面人员组成也比较复杂,工作之间也有交叉的部分。我的策略是问他们部门的工作人员要到了一份组织结构的表格,自己以树状图的形式整理了一下,但实际上没有把岗位和具体的职能对应起来,还是一头雾水,所以只能采用比较简单粗暴的办法询问相关人员具体工作涉及哪些方面。
在收集完毕相关信息之后,就想先粗略做一个权限管理的模型。彼时对这方面了解不是很深刻,认为权限管理只需要设定好菜单权限,相关用户权限不足对其隐藏即可。后来慢慢才发现想的太简单了,权限仅到菜单级粒度太粗,最好做到页面按钮级,保证人员职务可以抽象成最小权限集合。其次除了功能权限以外,还有数据权限,通俗来说江苏区域与上海区域的业务人员可以进入同一个功能,但里面显示的台账必然是不同的,管理人员与业务人员也可以使用同一个功能,但后者可获取的数据量是前者的子集。
我意识到我缺少科学的方法论指导,才会晕头转向,我需要利用现有的成熟的体系解决问题。经过查阅资料,我学习了RBAC权限模型,以下是部分简介:
RBAC的组成
在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限。
RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离(区别于ACL模型),极大地方便了权限的管理。

RBAC的原则
RBAC支持三个著名的安全原则:最小权限原则、责任分离原则和数据抽象原则。
- 最小权限原则:RBAC可以将角色配置成其完成任务所需的最小权限集合。
- 责任分离原则:可以通过调用相互独立互斥的角色来共同完成敏感的任务,例如要求一个计账员和财务管理员共同参与统一过账操作。
- 数据抽象原则:可以通过权限的抽象来体现,例如财务操作用借款、存款等抽象权限,而不是使用典型的读、写、执行权限。
内容比较多,就不详细记录了,我倒是想起来关于权限设计比较有意思的一件事。我设计某个功能只有管理员可以使用,而业务员要使用会有提示框“抱歉,您不具备此权限”,在给经理看原型的时候,经理和我说最好在业务员界面把这个功能隐藏掉,考虑我们服务对象的政企性质,假如某中层领导不具备此权限,看到这样的提示框或许不太舒服。我觉得经理说的很有道理,这给我的启示是功能完备并不是结束,这只是通往人性化的起点。
领导想的是什么
国网给了一个需求,系统要设计一个Dashboard,以仪表盘的形式展示客户关心的重要数据,未来投放在公司走廊的大屏上。我的思路是,以饼图、折线图、柱状图作为基础元素,直观展示运维指标,考虑到要在大屏投放,所以在外观上也要大气、上档次,我在这里也下了一番功夫。
我带着做好的原型图参与了国网的项目会议,领导看完之后表示这并不是他想要的,他需要一个抓手,可以总览全局的驾驶舱,他的关心重点不是运维中出现的告警数量、趋势变化。我感觉百思不得其解,对于运维系统,还有比这类信息更重要的吗?可是在会议上也深挖不出客户的具体需求,我逐渐明白客户有的时候并不明确他的需求,或者他提出的可能只是表层需求,但客户一定知道他不想要什么,而我们能做的只能是深挖他的真实需求,带着方案让他去选择。毕竟选择题一般是比问答题要好做的。
那么领导究竟想要什么呢?我思考了蛮久,忽然想起来以前看的职场鸡汤,领导不关心员工遇到了什么困难,领导只关心你克服了哪些困难。或许,领导更想看到运维人员解决了多少告警,而不是产生了多少告警,于是我添加了告警处理进度的展示模块,展示各个时间段内运维人员告警处理数。不出所料,下一次会议领导看了感觉很满意,方案也顺利通过了。
我总结了这样的规律:对于政府、政企类项目,系统实际使用者是业务人员,而拍板的人是领导,而我们要做的就是斡旋于他们之间,找寻平衡点,设计出兼顾两者需求的系统。这样的经验不仅适用于互联网行业,其他与政府、国企打交道的行业也同样适用。另外做产品也要培养领导思维,这对于理解领导提出的需求是非常有帮助的。
电梯与门
在客户现场轮岗的时间里,除工作之外,我还乐于关注一些日常生活中的小细节。去现场的第一天,与我们对接的客户经理带我们去办公地点,在上电梯的时候,他第一个上了电梯并用手扶住了电梯门,等我们都上了电梯之后才收回了手。我敏锐地捕捉到了这个细节,我在生活中遇到来不及上电梯的人,我会按住里面的按钮等待人全部上了电梯才松手,但并不会手扶门,因为那个位置比较脏而且容易夹到手。客户经理的小举动让我这个初来乍到的人感觉到了尊重,让我的记忆很深刻。
客户现场出于安全性的考虑,许多场所的门会加装密码锁,我们有时借他们的会议室,需要请求工作人员的帮助。他们工作人员开门流程是,一手握住门把手,双脚保持在原地不动,身体前倾以一种稍显夸张的姿态为我们打开门。作为甲方人员,态度稍微强势一点完全可以理解,但如果表现的态度很礼貌,这种反差感是比较容易让人产生好感的,这或许是政企部门的某种特色。
从这两件事,我总结的经验是工作中我们需要保持必要的礼仪,这是个人素养的体现。在某些特定的场景下,我们也有特意让别人看到所展现出的礼貌的需要。
评论 (0)