首页 > 范文大全 > 正文

海南大学博士研究生网上招录系统的研发

开篇:润墨网以专业的文秘视角,为您筛选了一篇海南大学博士研究生网上招录系统的研发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

1 引言(Introduction)

目前,我校研究生处博士招生信息管理基本以简单的计算机办公软件辅助,并未实现无纸化招录,这种方法劳动强度大、工作效率低、容易出差错,不便于、查询、汇总和校对,但招生信息管理却一直是博士研究生工作中重要的组成部分,是一项十分细致而复杂的工作,为了对招生信息进行后期分析,迫切需要一套基于网络、基于整体校园数字信息化的博士研究生招生信息管理系统[1]。因此,根据工作的需要,着手开发网络版的海南大学博士研究生招生管理系统。

2 总体设计(System design)

2.1 系统架构

网络招录系统采用B/S结构模式(Browser/Server,浏览器/服务器模式),使用这种结构统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

2.2 开发工具及技术

系统应用程序服务器端采用了 MVC3框架,基于.NET4.0的C#语言进行开发,在WEB端采用div+css进行数据的布局与排版,采用JQuery+AJAX技术实现数据的同步或异步读取,开发工具主要使用Visual Studio 2010开发。[2]

3 系统角色设计(System role and permissions

control design)

主要分为系统管理员角色、学校审核角色、考生角色、导师角色四种,如图1所示。

图1 角色功能图

Fig.1 System role

3.1 系统管理员角色

用于对用户的授权,并设置或上传公共代码(如学科代码、专业代码、学院代码),个人信息的维护、系统的设置(如报名时间、系统报名开关、报名年度)等。

3.2 考生用户角色

(1)注册功能:包含了用户的注册、个人信息的管理密码的找回、邮箱的认证。(2)报名过程:各项资料的填写,如基本信息、学历学位信息等等。

(3)查询与打印过程:个人信息表核对与打印、准考证打印、成绩查询。

(4)导师选择:学生选择导师、在导师同意的情况下再奖确认。

3.3 学校审查角色

(1)报名信息的核查、审核学生的相片、纸质资料并于系统中确认等。

(2)准考证考生号的编制、考场编排、准考证的生成等。

(3)成绩的导入与录入。

(4)录取名单的导出与上报

3.4 导师角色

考生在录取过程与导师进行双向选择。

4 系统数据结构设计(Data structure design)

系统数据库采用的是当前比较流行的ORACLE数据库,数据表格结构在数据冗余和处理速度之间找到合适的平衡点,如涉及到视图能解决的在不影响速度前提下使用视图等等,并尽可能的参照数据范式进行设计,表结构如图2所示。

图2 数据结构图

Fig.2 Data structure

5 主要数据流程及模块功能实现(The function

flow and module design)

(1)系统主要数据流程,如图3所示。

图3 系统数据流程图

Fig.3 The system data flow

(2)用户报名功能:此功能为考生模块的核心功能。用户必须先填写报考信息和个人信息,如果报考信息未填写,系统将不能进行下一点的填写。之后填写各类信息,学位学历信息, 填写和专著情况等等。

(3)系统基础数据管理:如院系所代码、研究方向码、专业代码、考试科目、操作日志、系统用户、系统设置、模块管理。

(4)审核及考生管理: 考生信息、考生成绩、初试编号排考、准考证打印、复试编号排考、初试座位标签 、初试手持较验表、复试座位标签、复试手持较验表。

(5)导师管理: 导师年度方向、导师选择情况 、导师信息。

(6)数据管理: 数据导入、数据导出、数据备份。

6 部分技术代码(Part of the technical code)

6.1 用户权限模块判断

根据用户的角色权限,判断用户是否具体该模块的权限,如果有此权限则显示,否则不显示。

@{

if (Session["UserSession"] != null)

{ string dz= Request.RawUrl;

Models.t_yhb yhb= (Models.t_yhb)Session["UserSession"];

if (!inc.getQx(yhb.jsid, dz)){

location.href="/exit"}

IEnumerablejcdmb= inc.getModel((Models.t_yhb)Session["UserSession"], "xtzx");

foreach (var item in jcdmb.Where(m => m.fdm == "xtzx"))

{ @item.mc

{@subitem.mc

}