我们知道erp系统是由多个功能模块组合在一起,加上一些业务流程的一个综合系统。一个好的erp系统可以把一个公司的业务流程都涵盖,可以提高整个公司的运作效率,节约运营成本,是公司信息化的必经之路。
作为专业的绅士狗,我们积累了很多的相关经验,在帮客户解决问题的同时,我们也跟着一起成长,对应一些软件开发相关的积累,我们愿意分享出来,供大家参考或学习。
我们在设计软件的时候,必然会涉及到用户权限的设计,因为系统会划分多个角色,而不同的角色对应的权限是不同的,比如采购的功能 包含供应商维护,菜单物品管理,采购单管理,采购报表,库存查看等。那么如何设计这个权限模块呢?
之前的文章我们大概谈了软件开发之模块化开发,模块化开发不仅可以提高开发效率,相对于的就是节约开发成本。
我们一般的设计架构是:用户-角色-权限。这是基本的权限架构,当然不是每个erp系统都是这么设计,有些时候客户的业务需求比较简单,那么我们可以简化这个设计,比如:用户-角色,就可以了。同时也有更复杂的业务需求,比如:用户组-用户-角色-权限。具体我们要根据实际情况定,这里我用最基础的架构举例。
用户对象,这个很好理解,就是系统的使用者,可以是客服,采购员,库管员,管理员等。从系统的严谨性来说,每个用户应该只能属于自己的那部分数据。这个就是系统的基本对象之一:用户对象。
角色对象,这个可以这么理解,比如一个公司,有个总经理,有财务,有主管,有销售。系统的给他们分配的账号则应该和他们的身份符合,只能查看自己有权限的那部分数据。这是概念,那么如何体现到系统里呢?我们软件架构设计的时候,设计的角色是一个权限的集合,这些权限开发时预先定义好的,由管理员分配。那么什么是权限呢?
权限对象,权限可以理解为一个个的操作,比如新增供应商,编辑供应商信息,删除供应商信息,查询供应商信息,导出报表等等。在开发的时候,我们会根据操作的对象不同,定义搜不同的权限名称,一般是字符串的方式,这个可以是操作功能的英文单词的简写也可以是全称,只有定义好了权限才能实现我们对权限的判断定义。
下文将介绍如何进行数据表的设计以及如何进行模块开发。