高校毕业论文过程化管理系统的设计与实现

2016-05-30 10:48李景炤谭建中孙宇锋谢垂益
教育教学论坛 2016年29期
关键词:设计与实现毕业论文管理系统

李景炤 谭建中 孙宇锋 谢垂益

摘要:本科院校毕业论文的写作和管理一直是教育界探讨的热点。写作毕业论文是学生毕业前的重要环节,除了学生专业知识和水平因素外,各个学院对毕业论文的管理也至关重要。本文尝试将高校的毕业论文从申请论文题目,申报任务书,撰写开题报告、毕业论文、考核评议书等环节进行计算机过程化管理,使得指导教师与学生之间实现及时交流,从而达到毕业论文实践教学的有效性与规范化,也为高等教育提供一些有意义的经验。

关键词:毕业论文;过程化;管理系统;设计与实现

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)29-0015-02

目前,我校的本科生毕业论文(设计)仍采用手工方式管理,毕业论文(设计)管理中的许多环节,例如选题、开题、过程管理、审阅评议、结果统计分析等工作还没有被纳入校园信息管理系统中。

每年我校的本科毕业生有6000余人,由于整个毕业论文(设计)的工作过程持续时间长、涉及人数多(包括学生、指导教师和教学管理人员),传统的以手工为主的管理方式存在很多缺点和不足:学生在选导师、选题目等方面缺乏较好的公开性、公平性;师生之间信息交流不畅;论文(设计)工作进度难以及时了解并进行控制;在成绩评定方面存在较大的片面性和随意性;文档收集整理、成绩统计分析等方面重复劳动量大、工作效率低下等等[1]。

在这样的背景下,如何加强毕业论文的管理工作,实现无纸化和网络化办公,是一个极具应用价值的研究课题。研发毕业论文(设计)系统可以大大减少工作量,节约打印纸张等办公经费,提高教务人员的工作效率和管理水平,还可以方便学生上传下载和师生间共享论文资源。

为此,我们申请了大学生创新创业训练计划项目,根据数学与统计学院(简称“数统学院”)的实际情况,开发出了适用于数统学院的毕业论文管理系统[2]。

一、毕业论文过程化管理系统的功能设计

毕业论文管理系统的主要功能有:教师出题、学生选题、学生自命题、教学管理员审核、学生上传相关文档、数据汇总、系统设置。其中,系统分三个模块,分别是教师模块、学生模块和管理员模块[3]。

1.管理系统的基本操作流程如下:

①教师登录系统,输入自己想要指导的课题,并申报;②教务管理员登录系统审核课题;③学生登录系统选择课题或者自命题;④学生登录系统查看自己的课题状况,并根据课题要求完成毕业论文教学进程的各项任务,按时上传相应的文档。同时,教师可以在登录系统查看自己指导的学生的信息,下载学生上传的文档。⑤待学生在规定时间全部完成和上传文档后,教务管理员可对整个教务进程进行总结和整理,完成整个毕业论文线上办公的过程。

以下时序图1阐述了系统的基本流程:

2.管理系统开发所需要的技术条件:

①Visual Studio 2013 IDE工具作为系统开发环境;②ASP.NET MVC4 (C#)作为开发语言和开发框架;③FTP工具上传部署代码;④Git版本管理工具进行版本管理;⑤Windows Server 2008 RC2作为服务器系统;⑥IIS服务器作为运行服务器;⑦SQL Server 2008作为数据库服务器。

目前项目系统的开发工作已经顺利完成,并且已经过教务管理人员和学生的测试,根据他们的建议对系统功能进行完善,可以正式投入使用。

二、毕业论文过程化管理系统的常见问题和解决方案

1.多个学生选同一个课题多并发问题。在学生选择课题的时候,由于某个课题比较受欢迎,可能会有比较多得学生优先考虑,但课题只有一个。这时候,如果有多个学生同时选的话,很可能会出现冲突问题,导致系统出错。图2展示了Topic(论题的表)的结构。

其中Student_UserId为学生的用户唯一标识,当学生选择某个课题的时候,属于这个课题的一行记录中的这个字段就会填上学生的标识。在多并发的问题中,如果多个学生请求选择这个课题,就会同时更新这个字段。那么,在更新的一瞬间,根据服务器处理的先后顺序,往往是最后被处理的被写上这个字段。这是因为服务器接收到多个选题请求后,会同时地执行逻辑处理。首先将相关的这一行的资源从数据库里面取出来,在逻辑处理的过程中,服务器会根据这个资源在内存中生成对应的对象或者数组,而修改数据就通过修改这个对象或者数组来实现。而最后保存操作就把这个对象或者数组再生成SQL语句更新数据库。那么根据这图2 Topic结构个流程,各个请求都生成了属于自己的SQL语句,当然是最后执行SQL的那个请求会被最终保留在字段里了,这样就是“后者先得”,不符合实际的要求,同时也会造成后续逻辑的错误。

解决方案:

通过为Topic表加上一个16进制的字段RowVersion(见图2箭头所指)和乐观锁的方法。相应的处理逻辑改为:读取某一行的时候,也顺便把RowVersion的值读出来作为这一行的版本判断,当更新行的时候,首先判断数据库中的这一行的这个字段是否还是原来的值,如果是的话表示期间没有被修改过,那么就将RowVersion的值加1,再存进数据库;如果不等于原来的值,就表示已经被修改过,不能再执行更新,而要做出相应的处理。乐观锁保证了对某行记录进行更新操作时,会对这一行加锁,若有另外的进程需要操作同一行,必须等前面的进程操作完成。这就保证了数据不会有冲突,解决“后者先得”的这个问题[4]。

2.师生用户体验优化问题。系统对用户体验做出了比较多的优化,总结为如下几点:①采用当前较为新的HTML5 UI作为界面元素,无论是界面风格、字体还是图标设计看上去都令人舒服。②系统的大部分操作都使用Ajax(Asynchronous Javascript And XML)异步处理的技术,通过弹出层来进行各种操作,不需要刷新页面就能看到修改后的效果,让用户感觉方便和友好[5]。

3.桌上电脑和移动端同时兼容的问题。为了同时兼容桌上个人电脑端和移动端,能让教师或者学生出门在外或者不在电脑旁都能登录系统完成自己需要的操作,本系统实现了PC和移动端的兼容。系统的页面可以根据屏幕的宽度来调节相应的样式。本文只讨论了项目软件开发过程中遇到的几个问题和解决方案,借此与专家或有相关经验的开发者分享,项目中其他功能的具体实现过程不再一一列出,敬请批评和指正。

三、总结

毕业论文管理是学院教学管理与评价的一个重要组成部分。从在校大学生的角度看,只有认真对待论文写作,才能顺利完成学业,取得学士学位;从教育管理的角度看,毕业论文工作不仅能提高学生的专业知识水平,更能言传身教给学生科学研究的严谨态度和扎实的研究作风,并且可以使学生走向工作岗位后,能够掌握分析解决问题的基本原则,培养学生持之以恒、继续学习的良好思维品质。这才是大学教育中毕业论文工作的真正内涵。

参考文献:

[1]李海燕,俞金梅,等.高校本科毕业论文(设计)中存在的问题及解决途径[J].实验技术与管理,2012,29(12):141-144.

[2]李景炤,呙文承等.基于MVC框架的系统重构方法研究与实践[J].电脑知识与技术,2015,11(22):63-66.

[3]王玉.基于ASP的应用型院校毕业论文评分系统构建[J].职业技术教育,2012,33(35):75-77.

[4]梁国军,谢垂益等.UCT算法在不围棋博弈中的实现[J].韶关学院学报,2015,36(8):17-21.

[5]吴胜,刘建波等.ASP.NET MVC框架下内容管理系统的探索与实现[J].微计算机信息,2010,26(12):30-32.

猜你喜欢
设计与实现毕业论文管理系统
基于James的院内邮件管理系统的实现
基于LED联动显示的违停管理系统
海盾压载水管理系统
基于RFID的仓储管理系统实现
本科毕业论文:取消还是改革