基于角色权限的企业级在线报名系统设计与实现

2016-09-09 03:36
中国管理信息化 2016年16期
关键词:管理员文档机构

马 维

(云南开放大学 云南省干部在线学习学院,昆明 650223)

基于角色权限的企业级在线报名系统设计与实现

马 维

(云南开放大学 云南省干部在线学习学院,昆明 650223)

本文主要讲述了基于ASP技术开发的以权限为核心的企业级网上报名系统的设计和实现,该系统采用了3个层次,模块化并且可扩展的系统架构。另外,整个系统以细粒度的角色和权限控制提供安全性和高可靠性。本文对系统的需求,设计和各个功能模块的实现作了详细的介绍,并且详细描述了各个模块和系统管理角色之间的映射关系。此外,系统中采用了数据库访问对象(DAO)技术对数据库模块进行封装,以简化整个系统的数据库访问操作。该系统的整体设计和实现有效提高了报名的工作效率,减少了各级角色管理员的工作量,降低了出错率,具有较高的推广价值。

角色权限;企业级;在线报名系统;设计

依据云南省委组织部每年对干部要进行专题研修培训的要求,云南省干部在线学习学院作为培训报名工作的承办方,依照组织部的报名要求,要保证全省参训干部报名个人信息及参训信息能够准确无误地传送到培训机构,还要在培训机构培训结束后录入的成绩,方便以后参训单位随时查看和留档。普通的纸质报名是无法完成解决这些功能要求的,必须设计一个针对参训单位和培训机构统一管理的智能系统,这个系统能够衔接和统一管理整个报名流程的每一个关键步骤,第一时间同步发布、接收报名情况,最终保证培训机构能够顺利开班培训。

1 企业级在线报名系统需求

干部专题研修工作在线报名系统的基本目标是提供高效、稳定、可扩展的在线报名及培训服务,并且能够对突发型用户访问(例如,报名截止前可能产生的用户访问峰值)进行响应和处理。

1.1系统角色

整个系统的角色包括:培训用户、参培单位管理员、培训机构管理员及系统超级管理员。对应的系统需要提供的基本功能包括以下几个方面。

1.1.1对于培训用户

①需要能够注册和认证身份;②查看培训机构及培训课程相关文档;③申请专题研修菜单报名。

1.1.2对于参培单位管理员

①查看本单位人员报名信息、处理学员报名请求,并对本单位报名学员进行审核;②导出本单位报名表;③培训结束后,查看学员对应的课程学习成绩;④导出本单位学员成绩总表。

1.1.3对于培训机构管理员

①发布专题研修课程、培训事项相关文档;②培训结束后录入学员成绩;③导出参学人员成绩详细表。

1.1.4对于超级管理员

①需要能够添加和管理各类用户角色(包括超级管理员、参培单位管理员和培训机构管理员)及相关权限;②需要能够管理查看和修改系统报名流程进度关键节点及资源的状态;③用户数据管理及批量导出数据表格。

为了实现上述基本系统需求,需要一个以权限管理为核心,高度模块化并且易于维护的系统架构。

1.2报名系统流程

培训机构管理员把培训资料上传到平台,学员登录报名网址,依据自己的兴趣和自我修养发展查看选择专题菜单。在线学习用户已有账号,可以直接填写用户名和密码,报名系统会自动识别并弹出个人信息。如果非在线用户填写相关个人信息进行报名。报名成功后,参培单位管理员对本单位的学员进行报名审核,审核通过的人员详细报名信息会在培训机构端显现。培训机构依据最终报名审核通过人数安排教室地点,策划开班。学习结束后,培训机构管理员登录后台管理,录入成绩,导出成绩,分发到参培单位组织人事处。同时,参培单位管理员也能查询本单位学员的成绩,见图1。

图1 报名系统流程图

2 企业级在线报名系统架构

如图2所示,考虑到系统的安全性、模块化性、扩展性及可维护性,整个报名系统架构解决方案被划分成3个层:界面交互/可视化层、逻辑业务层和数据库层。

图2 企业级在线报名系统架构图

2.1可视化层

负责提供交互接口及界面,提供方便清晰的用户交互及数据可视化功能。

2.2逻辑业务层

实现系统功能的各个模块及模块间的交互功能;根据功能划分的业务逻辑层又包含10个基本模块:权限管理、系统应用管理、用户管理、文档管理、菜单管理、报名管理、成绩管理、培训机构管理、报表管理和监控及日志模块。业务逻辑层是整个系统的核心,笔者将在下文详细介绍各个模块的功能和设计。

2.3数据库层

提供整个系统的数据持久化并对上层系统模块提供简单可靠的数据访问及管理接口。

3 企业级在线报名系统核心模块的设计与实现

整个系统中,前端界面展现层及页面交互采用ASP.NET框架进行实现;核心业务层采用C#进行模块实现;数据层采用SQL Server 2008进行数据库实现并封装成数据访问对象(DAO)接口。笔者将着重介绍系统核心层:业务逻辑层的各个系统模块的功能设计及实现。

3.1权限管理

系统的权限管理模块包含了用户权限管理和模块权限管理的基本功能。

3.1.1用户权限管理

通过权限管理模块的接口,超级管理员能够创建和修改用户、参培单位管理员及培训机构管理员等3种不同的用户角色,并赋予相对应的数据和模块访问权限。例如:一个普通用户具有访问文档模块下相对应的培训课程相关的所有文档的“可读”权限;参训单位还拥有用户管理模块下自己用户信息的“读/写”权限;培训机构角色具有该培训机构所属所有文档的“读/写”权限。

3.1.2模块权限管理

由于后台管理系统可能涉及很多私有和高敏感度的个人及机构信息,为了系统安全考虑,在系统中添加了模块访问权限管理,模块与模块之间同样具备类似于用户的读/写权限映射关系。例如:用户模块只对文档和报表管理具有“读”权限;培训机构模块具有对文档和报表模块的“读/写”权限;监控及日志模块具有对所有模块“读”权限;权限管理和应用管理模块对于所有模块具有“读/写”权限。

权限管理模块提供的权限隔离和划分可以有效地减少和避免非正常用户对系统核心模块的错误和恶意访问,从而大幅提高了系统的安全性和可靠性。

3.2系统应用管理

系统应用管理模块负责创建和修改各个模块的运行状态。系统的核心业务层中,除权限管理模块以外的所有模块都由系统应用管理模块创建并管理。在系统应用管理中,开发人员可以创建新的模块并激活/关闭其运行状态。默认情况下所有的模块都是被激活的。系统模块的激活和关闭主要用于系统的部署、扩展、更新、调试,以及特殊突发情况的应对(如安全攻击)。权限管理模块是唯一独立于系统应用管理的模块,因为系统应用管理模块依赖于权限管理模块来判断一个用户或者操作是否具有相对应的权限。默认情况下只有系统的超级管理员拥有使用系统应用管理模块的权限。

3.3用户管理

用户管理模块负责修改和验证平台普通用户信息。普通用户报名成功后,参培单位管理员通过管理后台可以对相关的本单位用户信息进行验证以判断用户信息的可靠性以及是否符合特定的培训资格。超级管理员可以在用户管理界面中的用户列表中查看和管理(添加、修改、验证及废弃)所有的用户记录。培训机构管理员只能进行查看请求了该机构培训资源的用户数据,并且只能进行验证操作。

3.4文档管理

文档管理模块基本上是一个小型的发布订阅模块,培训机构可以自由创建和发布培训文档或者培训课程资源。这些文档和资源一旦审核通过便会自动被推送到前端界面可视化模块,普通用户可以在网页上自由浏览各个培训机构发布的文档及课程资源。文档或者课程资源在发布后培训机构可以在有效期内(报名开始前)自由修改文档或者课程资源的信息,这些修改在验证成功后会自动被推送和更新到前端界面方便用户及时掌握最新的信息。

3.5菜单管理

菜单管理模块承载了整个报名过程关键时间点的逻辑管理,并且只有超级管理员才能对报名关键事件点进行管理。具体表现在以下3个关键时间点。

(1)报名开始之前,培训机构登录后台上传菜单培训信息,上传完成后可以修改。等报名正式开始,超级管理关闭“菜单按钮”。培训机构就不能再进行上传和修改菜单。这样保证报名过程菜单的完整统一性。

(2)报名时间结束,按照报名培训计划里留出一段时间给参培单位管理员审核本单位的学员报名情况。审核时间结束,超级管理员在后台关闭“审核按钮”,这时培训机构才能看到详细的学员报名信息。“审核按钮”打开的状态默认培训机构只能看到报名人数和审核通过人数。

(3)培训时间结束后,培训机构登录后台对学员进行成绩录入。成绩录入必须等到培训时间结束,否则无法完成录入工作。录入完毕后,超级管理员关闭“成绩按钮”,培训机构才能导出成绩详细表分发至各参培单位。与此同时,参培单位管理员可以登录后台查看学员的成绩。“成绩按钮”打开状态默认参培单位看不到成绩。

3.6报名管理

报名管理模块主要用于参培单位管理员对本单位报名成功的学员进行培训资格审核。与此同时,超级管理员可以在此模块帮助已报名成功学员调整菜单。由于每个培训菜单开班时间不一样,有时学员因为突发客观情况无法按照报名的菜单培训时间学习,只要还在规定的审核时间段内,学员就能重新另选一个适合自己的时间安排菜单,以不耽误每年一次的培训。

3.7成绩管理

成绩管理模块主要用于培训时间结束,培训机构为参学人员录入成绩、核实成绩、导出成绩详细表。成绩详细表的模板已在后台系统中创建,严格按照培训机构毕业证书格式要求,具有严谨统一性。培训机构只需导出详细表,加盖培训机构公章,就可以分发到各参培单位。与此同时,参培单位也可以在此模块查看了解本单位人员的成绩汇总表。

3.8培训机构管理

系统应用管理模块负责创建、修改和验证相关的培训机构记录ID,只有超级管理员可以在用户权限管理模块创建培训机构角色。当培训机构ID和角色创建成功后,培训机构管理员可以登录后台发布和管理自己培训机构下的文档资源及课程供用户访问和报名。

3.9报表管理

报表管理模块主要提供了批量的数据访问、查询和数据报表生成功能。通过对数据库进行批量查询生成对应的报表数据。各角色管理员可以查询和导出报表任务产生的数据,并进行分析和进一步处理,比如:基于菜单查询的报名汇总表、基于参培单位查询的报名汇总表、基于培训机构查询的报名汇总表等,成绩汇总表也同理可以依据不同的查询条件生成相对应的报表。

报表管理模块在当前数据为中心的大趋势下,可以作为数据分析和管理的核心模块进行进一步扩展和开发。

3.10监控及日志模块

监控及日志模块负责监控和记录所有业务核心模块中的系统(模块开/关、更新、创建等)、用户操作(创建、访问、修改任意数据记录)以及产生的影响(成功或者失败)。所有的监控数据以日志记录的方式呈现并支持输出打印。

日志记录主要包括两部分:①监控模块产生的核心监控日志;②各个模块内部的系统完整日志。核心监控日志和模块内部日志分别采用不同的日志路径进行存储,方便错误的排查和维护。

4 数据库的设计与实现

4.1数据库表的设计

基于系统需求和系统模块设计,数据库层主要包括7种数据对象,分别为:用户、培训机构、模块/资源、文档、课程、成绩和权限映射。对应的系统数据库包含6张核心表。其中用户表及权限表的主要设计,见表1、表2。

用户表(见表1)主要保存了用户的类型、状态、所属单位以及其他个人相关信息,由于个人信息字段较多,未在表1中一一列举。

权限映射表(见表2)提供了整个系统用户/模块对各类资源(用户、模块、文档以及数据)的权限映射关系。管理员通过权限管理结构对该表进行增、删、改、查操作来实现灵活全面的权限配置。

4.2数据库接口设计

整个系统的数据层采用了SQL Server 2008进行实现。为了方便上层业务模块对数据层的访问和管理,所有的数据表操作都被封装成为“数据访问对象”(DAO)接口的方式被业务层的模块调用。通过利用DAO的接口设计,每个数据库表中的数据被具体化为标准的C#集合对象来进行操作,并且提供方便快捷的增、删、改、查方法作为接口。部分常用表格更提供一系列的高级查询接口以支持复杂的查询操作。整个数据库层的DAO设计和实现很大程度减少了业务层模块访问访问数据库的操作的复杂度,从而有效提高了开发效率。

表2 权限映射表

5 结 语

干部专题研修报名系统已投入运行了5年,针对每年学员报名的各种突发情况都能够快速、高效、安全地顺利解决,取得了良好的应用效果,达到了系统设计的目的。学员报名—审核—成绩管理这个流程所需要付出的工作量对于各级管理员都是一个复杂而且耗费精力的事情。该报名系统设计和实现有效地转变了传统的报名模式,提供了可靠的权限管理和安全性,减少信息在登记过程中的出错率,提升了工作效率。系统的另一核心是智能衔接报名流程逻辑时间关键点,对于每个时间关键点都瞬时完成,第一时间对各级角色传递正确信息,已达到信息发布传递瞬时性、完整性和安全性,这是传统报名无法比拟的。并且,企业级在线报名系统设计有效提高了报名管理服务质量和服务水平,实现了报名工作的制度化、程序化、规范化及信息化。该系统功能还在不断的完善中,将在以后报名系统更新和升级中提供更好、更优的服务。

主要参考文献

[1]陈祥章,韩永印,刘耿龙.计算机等级考试网上报名系统的设计与实现[J].实验技术与管理,2010(9).

10.3969/j.issn.1673 - 0194.2016.16.028

TP393.08

A

1673-0194(2016)16-0045-03

2016-07-02

猜你喜欢
管理员文档机构
浅谈Matlab与Word文档的应用接口
我是小小午餐管理员
有人一声不吭向你扔了个文档
我是图书管理员
我是图书管理员
可疑的管理员
一周机构净增(减)仓股前20名
基于RI码计算的Word复制文档鉴别
一周机构净增(减)仓股前20名
一周机构净增仓股前20名