(一)
想了好久,现在系统中权限部分的设计与实现已经严重不适合今后的发展,特做出此课题.
文字这种不能直观表现系统界面的形式在现在这个图形高速发展的社会已渐渐被淘汰,权限的控制方面却一直停留在这个阶段没有前行的迹象,直接体现在操作与数据权限不能很好的结合在一起.
"我现在接触到的权限设置全是对于文字性的表格或者树形结构进行加加减减的操作 "这是一个开发人员说的话.
但我想说:"这种操作是具有片面性的,如果想要把操作权限和数据权限都做到一起,更好的结合,除了对图形界面进行设置外别无它法!"
改变用户的操作习惯,让操作变得更加直观,让系统为更多不是很懂电脑的人使用才是未来的卖点.
功能操作流程现今与未来对比:
用树形:可以快速设置系统大部分操作方面的权限,需要操作人员有一定的专业知识,提前需要做相关的培训.对于操作权限操作有着绝对的优势,但在数据权限方面却有着先天的不足.
用图形:可以实现操作与数据两种权限的结合,可以达到所见即所得的效果,不需要操作人员有专业知识,可以直接把表现形式带到对应的用户ID上,对系统以后的发展和功能的扩展起着非常大的作用,不需要开发人员对用户设置的数据进行维护,系统的部署更加容易.
如此得出,用图形所能带来的好处是显而易见的,只是在扩展性上就可以做到留有很大的余地:多语言,多界面,多皮肤,非教科书的可定制界面......让我们一起来期待.
(二)
通过“蓝图(一)”的介绍,想必大家已经很想尽快的看到具体的实现了吧,但我却不是这样想的,我则认为一个好的设计胜过快速的编码,我先要把整个功能的蓝图构思表现出来,然后再进行设计,最后再进行代码的编写。
上期提到的树形权限控制与图形权限控制,回过头来再去分析,其实图形的前期还是要建立在树形结构的基础上,直接操作图形在某些方面还是不能很好的实现,至少到目前为止我还没有想到更好的方法去实现在图形的情况下如何去响应用户权限操作与业务操作的分离,因为需要对界面实例后再去模显,头疼啊。
继续分析图形所能带来的好处:
1,在所见即所得上就可以达到很出色的效果,不需要切换用户便可以预览权限所带来的界面改变,受到此权限控制的用户会在下一次刷新此功能时看到改变,而不需要退出系统。
2,在权限的设置上就跟控件属性设置一下简单,权限的内容会随着系统外挂的更新来扩展,而不需要改动系统内部接口,给了开发人员更大的空间。
3,用这种模块进行系统的控制,在不断开发的中期可以达到多语言的集中控制,可以说这个模块就不再是简单的权限控制,而是界面元素的集中控制,以适合今后更深一步的发展需要。
4......
引用上期朋友留言中的一条
“# re: 图形化权限的设计与实现[蓝图篇](一) 2007-08-10 17:11 | cipchk
图形化权限的想法非常好,从站在用户的角度来想对于图形化权限比树型化权限更加直观。我遇到一个K2项目从每个页面的权限点总合大约1000个左右,虽然我们采用字母加数字的形式进行组合排序从某种角度上来讲用户还可以接受(已经默认分配好对于用户来讲很少会去改动),如果是图形化权限分配可以感受到这是一件非常美妙的事情(当然这只是我的想像),同时如果可以直观的列出各种不同角色所对应的权限点统计图表的话。。。。。当然我只是想一想,我并不认同我所说的这些想法对于大部分用户来讲很有用.”
在权限点统计图表这一点上,我感觉非常有创意,是啊,像权限这种数据最终也是需要打印出一个系统BOM进行分析的,并不是每一次开会或者讨论都要拿着电脑,打开系统逐一的进行分析,其实,有序的表格更可以直观的对整个公司,整个管理层、操作层合理的做出划分进行分析。谢谢这位朋友的建议,这将做为很重要的一环纳入到模块的设计中来。
下面,我会对构想进行更细一步的分析和介绍:
大家从这个原型中可以用体会一下我想要最终完成的效果,本来这个窗体中的选项,按钮等控件都有业务实现的,在权限这个模块里,这些业务不再会响应用户操作,这一切的操作将会变成对窗体中元素的属性的设置,也就是权限的设置,将原来抽象的树形文字变成所见即所得的图形操作,让权限控制变得更加可爱.
粗略的设计,大体的构想已经在我的大脑中呈现,我将会考虑的更多,在一些更细节的方面,希望有这方面经验的朋友给我提出好的建议,也可以少走许多弯路,中国的软件业全靠我们了,呵呵~
(三)
其实也是需要给这个《蓝图篇》做一个结束篇的,把我未来要做的事跟关注这部分的朋友们做一个交待。
其实这两天也不是完全没有顾上这一块,晚上躺在床上空想,其中会遇到的困难很多,比如如何去“屏蔽”那些响应用户动作控制下的业务流,这一功能的实现是为了下一步设置关键信息做铺垫;比如如何在设置完权限后利用升级的方式与操作人员互动并立即反映到对方的界面上。这些比如还有很多很多,现在最主要的问题就是如何去设计这一块儿功能让我很头疼,如果要做的适用于大多数系统,那需要考虑的事真的太多了,在扩展性这方面,我还是准备用XML+数据库备份的形式,在XML方面,需要以加/解密字符串的方式去设置与读取,以避免不必要的麻烦(不知道还有没有更好的方法,我是为了脱机与连机两种用途考虑)。
说了这么多~其实我就想表达一个想法,那就是路很难走,但还是有尽头,我会把GPC的进程一路跟大家汇报的,希望大家支持我~
| 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。 |