基于Web的毕业论文双向选题系统设计与实现
2012-11-22傅雷扬安徽农业大学信息与计算机学院安徽合肥230036
朱 军,饶 元,傅雷扬 (安徽农业大学信息与计算机学院,安徽 合肥 230036)
杨春节 (安徽农业大学网络中心,安徽 合肥 230036)
基于Web的毕业论文双向选题系统设计与实现
朱 军,饶 元,傅雷扬 (安徽农业大学信息与计算机学院,安徽 合肥 230036)
杨春节 (安徽农业大学网络中心,安徽 合肥 230036)
针对高校毕业论文选题中手工选题过程繁琐、信息滞后导致选题失误等问题,设计了毕业论文双向选题系统。具体阐述了系统总体功能结构,介绍了系统流程设计和关键模块功能的实现过程。实际应用表明,该系统具有良好的实用性。
Web;毕业论文双向选题系统;设计
毕业论文选题是高校学生毕业设计(论文)最初的环节,选题是否得当会直接影响毕业论文的质量。目前的毕业论文选题大多采用教师填表申报课题、学生填写志愿、教学管理人员进行统计和分配等流程,上述处理方式存在如下缺陷[1]:将教师的课题和学生的志愿进行手工匹配不仅工作量大,而且过程繁琐;学生在没有充分了解课题内容的情况下容易导致选题失误。针对上述情况,笔者设计了基于Web的毕业论文双向选题系统。
1 系统总体架构
系统总体架构如图1所示。
图1 系统总体架构
2 系统流程设计
2.1系统总体流程
系统总体流程包括9个阶段,每个阶段流程的参与人员、工作内容和所需时间的安排如表1所示。
2.2毕业论文双向选题流程
毕业论文双向选题流程的具体内容如下:教师申报课题,经过系管理员审核后,学生可以选择系统设定的相关课题并等待教师审核,若审核通过,则学生可以将选题确定下来;如果学生选择的课题没有通过教师审核,则需要重新进行选题,直到最终确定课题(见图2)。
表1 系统总体流程安排表
3 关键模块功能的实现
3.1课题信息状态管理
图2 毕业论文双向选题流程图
在毕业论文双向选题的实际操作过程中,课题是所有用户的操作对象,某个课题在师生双方最终确定选题之前,其信息状态是动态变化的。系统对课题的信息状态定义如下[2]:教师申报的课题经系管理员审核通过后的课题信息状态为“系审核通过”(定义值为1);学生已经选题但教师还未确定选择该学生的课题信息状态为“学生提交”(定义值为2);学生已经选题且教师已审核确认选择该学生的课题信息状态为“教师审核通过”(定义值为3);学生已经选题且教师没有选择该学生或选择其他学生的课题信息状态为“审核不通过”(定义值为0)。课题信息状态管理如图3所示。
图3 课题信息状态管理
当教师确定某个学生的选题后,该课题信息状态的修改通过以下代码实现:
1)修改XTXXB中的该学生的所有选题状态为“0”
tablename=“xtxxb”
dim a(1),b(1)
n=1
a(1)=“SFSH”
b(1)="0'"
cond="where xh='"&xh&"' and LWKTXXBID<>'"&id&"'"
college_up=updatedata(tablename,n,a,b,cond)
2)修改XTXXB中的该学生的选题状态为“3”
tablename=“xtxxb”
n=1
a(1)=“SFSH”
b(1)="'"&session("adminjb")&"'"
cond="where xh='"&xh&"' and LWKTXXBID='"&id&"'"
college_up=updatedata(tablename,n,a,b,cond)
3)修改XTXXB中的非该学生的选题状态为“0”
tablename=“xtxxb”
a(1)=“SFSH”
b(1)="'0'"
cond="where xh<>'"&xh&"' and LWKTXXBID='"&id&"'"
college_up=updatedata(tablename,n,a,b,cond)
3.2用户权限管理
用户权限管理是整个系统安全的保证。首先通过用户登录完成系统用户身份认证,并通过内置对象Session向其他模块传递用户信息。在Web应用系统中,Session提供了一种连续访问网站时通过变量传递信息的方法[3]。以系管理员为例,使用Session并结合数据库的关键字段关联来说明用户权限管理的实现方法,具体代码如下:
<%
if session(“adminjb”)=“1” or session(“adminjb”)=“2” then
id=request.QueryString(“id”)
sfsh=request.QueryString(“sfsh”)
if session(“adminjb”)=“2” then '如果是系管理员,则判断对该ID是否有操作权限
set rs=server.CreateObject(“adodb.recordset”)
sql="select count(*) as gs from lwktxxb where id in (select lwktxxb.id from lwktxxb where lwktxxb.yxsh='"&session(”yxsh“)&"') and lwktxxb.id="&id
rs.open sql,conn,3,2
if rs(“gs”)<=0 then
Response.write ""
response.end
end if
end if
……
end if
%>
3.3流程控制与参数定制
根据系统总体流程和毕业论文双向选题流程可知,教师、学生的登录时间和学生开始选题的时间有一定的先后顺序,控制好这些时机对系统正常有序运行至关重要[4]。另外,每个课题最多允许几个学生预选,每个学生最多可以预选几个课题,这要根据实际情况进行调整。因此,设计了系统参数定制功能,具体实现代码如下:
<%
set rs_config=server.CreateObject(“adodb.recordset”)
rs_config_sql=“select * from config”
rs_config.open rs_config_sql,conn,3,2
if rs_config.recordcount<=0 then
rs_config.close
set rs_config=nothing
Response.write “”
response.end
else
end if
%>
4 应用效果
该系统使用Windows 2003 Server操作系统平台,采用IIS6.0作为Web服务器应用程序,利用Microsoft SQL 2000 Server作为后台数据库,是典型的B/S(浏览器/服务器)模式。该系统服务器部署在学校网络中心,用户只需通过Web浏览器即可在线申报、浏览课题,从而实现师生对毕业论文选题的双向选择。该系统自2008年正式上线运行以来,明显提高了毕业论文的选题效率和选题质量,得到师生的充分肯定。今后,应根据实际情况加强该系统的研究,使其进一步完善。
[1]王文,马秀峰.基于Web的毕业论文选题系统的设计与应用[J].计算机教育,2010(4):104-107.
[2]杨胜超,张瑞军.基于二分图最优匹配算法的毕业论文选题系统[J].计算机系统应用,2008(7):14-17.
[3]王晓莉,孟凡荣.毕业论文“双向选题”的实现[J].办公自动化,2008(22):62-64.
[4]王攀,王晶. 基于Web的毕业论文选题系统的设计与实现[J].现代教育技术,2007,17(11):75-78.
10.3969/j.issn.1673-1409(N).2012.09.030
TP391
A
1673-1409(2012)09-N083-04
2012-06-30
国家自然科学基金项目(61203217);安徽省高校省级自然科学研究项目(KJ2007B248)。
朱军(1972-),男,1995年大学毕业,讲师,博士生,现主要从事网络工程、农业信息学等方面的教学与研究工作。
[编辑] 李启栋