摘 要:提出了构建本科毕业设计网络化管理系统的解决方案,并提出了应对并发访问、提升系统安全性的方法。采用ASP.Net技术在SQL Server上实现了一个本科毕业设计管理系统。系统分为管理员、教师和学生三个主要模块,每类用户拥有不同的权限和功能。实验结果表明系统可规范毕业设计选题和管理过程,还可综合提升教师、学生、管理者的工作效率。
关键词:毕业设计管理系统;信息管理系统;ASP.Net;SQL Server
随着校园信息化建设的推进,各项工作的网络化将逐渐取代传统办公方式。毕业设计作为本科阶段的关键环节,非常有必要对其施行网络化管理。当前国内已有很多高校建立了毕业设计管理系统[1-4],提升了管理的效率,方便了教师和学生。然而,部分毕业设计管理系统在设计时存在一些问题,主要表现在:(1)功能存在缺陷,部分系统只关注选题管理,对毕业设计过程没有管理措施[5];(2)采用的技术较为落后,有很多系统采用ASP技术结合Access数据库设计而成,在执行效率、可维护性、安全性等方面已不能满足新的要求[5-6];(3)缺少针对多用户并发访问和系统安全问题的解决方案[7-8]。因此,采用新技术和更完善的解决方案来设计毕业管理系统显得很有必要。
1 系统设计
本系统涵盖了毕业设计工作的全过程,实现了课题申报、双向选择、毕业设计相关文档提交与管理等功能。下面介绍系统的需求分析、功能划分及数据库设计方法。
1.1 系统需求分析
学生进入系统后可查看毕业设计相关公告和导师指导意见,向导师发送咨询信息;修改个人密码,完善个人信息;查看课题,选择课题,查看选题情况,提交毕业设计相关文档,完成操作后退出系统。教师进入系统后也可查看毕业设计相关公告,发送指导意见并答复学生咨询;修改个人密码,完善个人信息;同时对课题进行添加、修改、删除等操作,查看选题情况,调整选题情况,确定选题;审核管理学生所提交毕业设计相关文档,完成操作后退出系统。管理者进入系统后可以进行毕业设计相关公告管理(包括对公告的添加、修改与删除)、用户个人信息管理(包括对学生、老师用户个人信息的添加、修改与删除)、课题信息管理(包括对课题的审核、修改与删除;查看选题的总体情况,调整选题情况)、毕业设计相关文档管理和系统关键参数设置管理等操作,结束后退出系统。
1.2 系统功能结构
本系统可分为管理员、教师、学生三大模块,且模块之间互相关联:管理员的公告信息可传递给所有教师和学生;教师申报的课题需管理员审核,且课题的类型、针对的专业等参数均由管理员设置;教师和学生的个人信息既可由本人提交也可由管理员统一管理;教师可选择学生,反过来,学生也可选择教师。
1.3 数据库设计
本系统一共需要15张数据表,分别是:教师信息表(Teacher)、学生信息表(Student)、管理员信息表(Admin)、等待审核通过的课题信息表(WaitForPass)、已经通过审核的课题信息表(Subject)、课题选择状态表(SelectState)、课题类型表(Type,算法设计或系统开发等)、毕业设计相关文档表(GraduateFile)、专业信息表(Speciality,记录各种本科专业的信息)、用户角色信息表(Role,记录用户类型信息)、课题所用编程语言表(Language,针对信息专业的课题)、系别信息表(Department)、班级信息表(Class)、毕业设计公告信息表(Affiche)及教师附件信息表(Accessory)。数据库E-R关系如图1所示。
2 系统实现
本系统采用C#作为开发语言,SQL Server作为后台数据库,I2S作为Web服务器,采用B/S方案构建服务器体系结构。系统可分为管理员、教师、学生三大模块。下面介绍实现系统的若干关键技术。
2.1 抽取公共功能和全局变量
公共功能模块主要用于处理数据库操作,包括建立数据库连接,执行数据库的查询、增、删、改操作,还包括数据库的批量处理等。在实现时,建立了公共功能类,使用标准SQL语句处理数据库操作。此外,还将系统中各模块的公共变量抽取出来构成一个类。
2.2 用户管理功能
本系统中所有用户的信息都由管理员添加。本模块实现管理员、教师、学生的信息添加、搜索、修改及删除功能。其功能如下:
(1)添加用户信息:管理员添加用户相关消息;
(2)修改消息:管理员对用户信息进行修改;
(3)删除消息:管理员对用户信息进行删除。
2.3 课题申报与管理功能
只有审核通过的课题,学生才可选择。其功能如下:
(1)添加课题:教师申报新课题;
(2)修改课题:教师对课题信息进行修改;
(3)删除消息:教师对课题信息进行删除;
(4)审核状态查询:教师查看课题是否被管理员审核通过。
2.4 毕业设计相关文档提交与管理功能
本模块实现毕业设计相关文档(包括开题报告、文献综述、外文翻译和毕业论文)的提交与管理功能。学生按进度安排及时提交文档,并等待指导老师审核,若审核未获通过需要进一步修改后再次提交。教师或管理员对所带学生上传的文档进行审核和管理。文档通过审核表明学生的相关工作获得认可,内容不达标的文档将审核失败。
对于学生,其功能如下:
(1)文档提交:提交文档给指导老师;
(2)文档审核状态显示。
对于教师或管理员,其功能如下:
(1)文档审核:审核文档;
(2)修改文档:对文档信息进行修改;
(3)删除文档:对文档信息进行删除。
2.5 系统实现中的两个关键问题
2.5.1 并发访问问题
大量的访问会导致记录锁死,当网站面对成千上万的用户访问以及高并发请求时,解决这些问题的方法集中在几个环节:使用高性能的服务器、高性能的数据库和高效率的编程语言[4-6]。但是上述解决方法在某些程度上需要更大的投入,而且这样的解决方法会遇到瓶颈问题且可扩展性差。
在本系统开发过程中,主要使用了HTML静态化以及附件与服务器分离两种方案来解决并发访问问题。
(1)HTML静态化:在系统中,有些更新内容小、使用率高的数据查询可用静态化的HTML来实现。对于某些大量被前台程序调用但是更新小的信息,可以在后台更新时使其静态化,从而减少数据库的访问请求。
(2)附件服务器分离
对于I2S的Web服务器来说,附件是非常消耗资源的。所以将附件和页面进行分离,甚至采用独立的附件服务器,在页面访问时可减少服务器的压力、防止因附件问题导致系统崩溃。
2.5.2 安全性问题
本系统在处理网站安全性问题方面采用了以下两个方法:
(1)采用随机登录验证码机制防止黑客利用软件自动登录测试。
(2)使用32位MD5加密保护用户密码:MD5是一种散列函数被广泛用于计算机安全领域,主要实现对消息完整性的保护[7-8]。用户密码是不可见的,即便是管理员也看不到。管理员可以为用户设定新密码,但无法得知老密码,主要是因为老密码是用MD5加密过的,从而可以保证用户密码的安全性。
论文介绍了基于ASP.Net技术和SQL Server的本科毕业设计管理系统的构建方案,还介绍了应对并发访问问题和提升系统安全性的方法。采用ASP.Net技术相比ASP技术提升了系统的运行效率,并因界面和代码分离使得系统维护更加简单。本系统将有助于综合提高教师、学生、教务人员的工作效率,还有助于提高本科毕业设计的管理水平,甚至提高毕业设计质量。所提出的系统构建方法对于设计其他基于Web的信息系统具有良好的借鉴作用。
参考文献
[1] 戴芊.毕业设计管理信息系统中存在的缺陷及解决路径[J].南京航空航天大学学报(社会科学版),2009,11(1):98-100.
[2] 郭秀娟,王春光.基于B/S模式的毕业设计管理系统开发与实现[J].计算机技术与发展,2010,20(3):240-349.
[3] 邓志宏,荣秋生,张智,等.基于Web的毕业论文管理系统的设计[J].福建电脑,2010(6):9-14.
[4] 王建林,汪雪琴,王雅英,等.本科毕业设计管理信息系统[J].电气电子教学学报,2008,30(6):103-104.
[5] 汤颖.毕业设计立项与选题管理及其支持系统[J].合肥工业大学学报,2006,29(5):613-616.
[6] 覃发兵,葛玉辉.基于Java Web组件技术的毕业设计管理系统[J].计算机应用,2010,30(6):322-323.
[7] YI X S,WANG Y, LIU J H,et al.Enterprise information system architecture based on Web 2.0[J].Wuhan University Journal of Natural Sciences,2006,11(5):1398-1402.
[8] LI Z B,LIU J X,ZHAO Y J,et al.Design and implementation of a total quality management system for Graduation Project[C].Proc.of ICEIT 2010,Chongqing,China,2010,3:499-503.