任何应用系统都离不开权限的管理,有一个好的系统管理模块,不仅使我们的系统操作自如,管理方便,也为系统添加亮点。同时在这次系统管理概要设计时,充分考虑了移植性。为以后公司或个人的类似项目提高开发效率提供了帮助。

系统管理分析:

l         不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。

l         可以对进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。具体到界面就是对岗位,部门进行权限分配。

l         权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。

l           满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。本文档针对功能权限管理进行分析设计。

l           系统管理包括了:组织机构、员工管理、岗位管理、密码修改、角色管理和菜单管理。其中组织机构中的部门可以作为公司存在。角色权限可以赋予岗位、部门、人员。

 

权限说明: 

权限

    在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。

权限组

    为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。

角色

   权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。

用户组

    将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、部门或其它来实现。用户可以属于某一个组或多个组。

 

    本系统管理基于角色——权限管理。通过给某人赋予角色权限,角色与角色没有上下级关系,他们是平行的。通过角色赋予权限,是指没办法按职位或项目的分类来赋予权限的另一种方式,如:系统管理员,部门经理,资料备份员

 

用户管理

    用户可以属于某一个或多个用户组,可以通过对用户组授权,来对组中的所有用户进行权限的授予。一个用户可以属于多个项目组,或担任多个职位。

授权管理

    将一个基本权限或角色授予用户或用户组,使用户或用户组拥有授予权限的字符串,如果角色、职位、中存在相同的基本权限,则取其中的一个;如脱离角色、职位、项目组,只是取消用户或用户组的中此角色、职位、项目组所授予的权限。用户所拥有的权限是所有途径授予权限的集合。管理员用户可以查看每个用户的最终权限列表。

权限管理

    基本操作权限与权限组(基本操作权限的集合)的管理。

ITSM系统管理简略的UML活动图如下:

数据库表有:
登录日志信息表tsm_user_log_info
操作日志信息表tsm_system_option_log
组织机构基本信息表tsm_department

岗位基本信息表tsm_station
公司基本信息表tsm_company
员工基本信息表tsm_staff

用户表tsm_user
模块(菜单)基本信息表tsm_object
角色基本信息表tsm_role
用户角色关系表tsm_assignment[type1]
模块角色关系表tsm_assignment[type7]

岗位角色关系表tsm_assignment[type3]

      本系统管理使用Spring+Hibernate+JSFJ2EE框架。每张表都通过Hibernate进行O/R映射,生成了四个文件:分别是po(一个xml文件和一个java),vo,dao.

 

以下是系统管理模块的子模块的详细设计(注:系统管理UML静态图请看《系统管理UML》):

一、登录

    登录信息包括公司,用户名和密码,为了保证系统的安全性,密码进行了加密。登录成功后,将登录信息写入登录日志,并写入session,以便其他模块调用。

使用LoginBean类进行登录控制。

注:不同公司可以定义不同的菜单。一个用户可以属于多个公司。

二、组织机构

    组织机构是一个公司的部门的组成,其中有上、下级关系的组成。准确的说,组织机构是一棵树结构。在数据库表中是:tsm_department,使用Hibernate进行持久化映射。两个po文件:TsmDepartment.hbm.xmlTsmDepartment.java,一个vo文件:TsmDepartmentVO.java,一个dao文件:TsmDepartmentDAO.java

    组织机构的信息管理通过类TsmDepartmentBean.java实现。

    需要说明的是:当一个部门作为公司时,将为这个公司生成一个管理员,管理员为 admin,初始密码为”111111”.另外这个部门下所有的数据(如员工等将属于多个公司。

三、员工管理

    员工信息必须填写员工编号,员工姓名,员工所属部门。在数据库表中是:tsm_staff,使用Hibernate进行持久化映射。两个po文件:TsmStaff.hbm.xmlTsmStaff.java,一个vo文件:TsmStaffVO.java,一个dao文件:TsmStaffDAO.java

    员工的信息管理通过类TsmStaffBean.java实现。类中包括了员工信息的添加、修改、删除等。需要说明的是:添加一个员工,则此员工的对应的用户信息将对应添加,用户名为员工姓名简拼。如员工吴东海拼音是:wdh,则生成的用户是wdh.当此用户激活后,此用户的密码默认是:111111.权限则可以由管理员分配。

四、岗位管理

    岗位信息。不同的公司有不同的岗位。在数据库表中是:tsm_station,使用Hibernate进行持久化映射。两个po文件:TsmStation.hbm.xmlTsmStation.java,一个vo文件:TsmStationVO.java,一个dao文件:TsmStationDAO.java

    岗位信息管理通过类TsmStationBean.java实现。

五、密码修改

    密码修改用于当前登录用户的密码修改。在数据库表中是:tsm_user,使用Hibernate进行持久化映射。两个po文件:TsmUser.hbm.xmlTsmUser.java,一个vo文件:TsmUserVO.java,一个dao文件:TsmUserDAO.java

    密码修改通过类TsmUserBean.java实现。

 

六、角色管理

    本系统管理是基于角色管理的。在数据库表中是:tsm_role,使用Hibernate进行持久化映射。两个po文件:TsmRole.hbm.xmlTsmRole.java,一个vo文件:TsmRoleVO.java,一个dao文件:TsmRoleDAO.java

    角色的增加、删除、更新通过类TsmRoleBean.java实现。

 

七、菜单管理

    菜单管理实现了对系统所有菜单管理。在数据库表中是:tsm_object,使用Hibernate进行持久化映射。两个po文件:TsmObject.hbm.xmlTsmObject.java,一个vo文件:TsmObjectVO.java,一个dao文件:TsmObjectDAO.java

posted on 2007-06-12 14:34  wdhSoftware  阅读(6659)  评论(6编辑  收藏  举报