当前位置:文档之家› 高校毕业设计管理系统的设计与实现

高校毕业设计管理系统的设计与实现

第23卷第3期V o.l 23N o .3荆门职业技术学院学报Journal o f Ji ng m en T echn i ca l Co lleg e 2008年3月M a r .2008[收稿日期]2007-12-05[作者简介]吴 琦(1969-),男,湖北浠水人,长江工程职业技术学院副教授。

研究方向:计算机应用技术。

E -m ai:l wq5577@163.co m 。

高校毕业设计管理系统的设计与实现吴 琦(长江工程职业技术学院信息工程系,湖北赤壁 427202)[摘 要] 以高校毕业设计管理系统开发为背景,详细论述了基于A SP 技术和B /S 结构的中小型信息系统的设计和实现。

[关键词] 毕业设计;ASP;动态网页技术;B /S[中图分类号] T P315 [文献标识码] A [文章编号] 1008-4657(2008)03-0066-04毕业设计管理是高校教学管理工作的一项重要内容,工作流程相当复杂,工作量也非常大。

随着网络技术的发展,实现毕业设计的网络化管理,学生和教师可以进行课题双向选择,在网络上提交开题报告,毕业论文等,实现电子化、网络化、规范化作业流程,减少因距离、时间等产生的交流不畅等问题。

因此为方便指导老师和教务管理人员对毕业设计(论文)工作进行全程的监控和管理,设计一个科学合理的毕业设计管理系统,有其重要的意义。

1 功能分析毕业设计管理系统主要由三个关键模块组成,它们分别是学生使用的网页模块、教师使用的网页模块和管理人员的后台管理的模块,对于每个模块都有基于数据库的用户登录系统。

1.1 学生模块的功能1)学生进行选题,选题中包括课题信息、指导教师信息、学生申报记录等。

2)学生论文上传,教师评阅,学生查询论文成绩。

3)网上答疑,学生在毕业设计过程中遇到问题时进行提问。

1.2 教师模块的功能1)教师在线课题申报,包括课题要划分的具体模块、课题性质和类型、限报人数、选题背景等。

2)课题审批,包括院系审批、教研室审批。

3)相关报表,对已确定课题信息汇总(可打印)。

4)网上答疑,学生对课题等有疑问,就可以发出帖子。

教师根据学生的提问做出相应的答复。

5)教师网上对学生论文进行评阅。

1.3 后台管理系统模块的主要功能1)管理员登录系统。

2)信息管理模块,包括信息的添加和删除、bbs 删除、课题删除、评价项目修改。

3)用户管理模块,包括用户添加、删除和管理员密码管理。

4)数据库管理模块,主要是数据库的初始化、数据库的备份和还原。

5)退出后台模块,页面跳转到登陆后台的界面。

三个模块既有自己的功能,同时相互之间也并非完全孤立,而是相辅相成的有机组合体。

系统总体设计流程如图1所示,图中箭头指向表示了各个模块之间的数据交互方向。

图1 系统流程图2 技术开发工具和环境本系统的开发环境为ASP+IIS6.0+SQL Server2000,采用ASP三层架构开发方法,基本上可实现毕业设计管理系统的主要功能。

II S(I nterne t I nfor m ation Serv ices,最新版为6.0)为W indo w s NT/2000/ 2003系列操作系统中的内置组件,W eb客户端和应用程序之间的联系是通过II S来进行的。

SQL Server2000数据库系统与W indo w s操作系统及ASP之间具有良好的兼容性。

因此采用SQL Server 2000来完成底层数据库的开发。

目前,基于W eb的系统开发技术主要有4种:CG I、PHP、JSP和ASP。

ASP全名A cti v e Server Pages,是一个W eb服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的W eb服务应用程序。

ASP采用VBscri p t、Jscri p t等简单易懂的脚本语言,结合HT M L代码,即可快速地完成网站的应用程序。

无须编译,容易编写,可在服务器端直接执行。

与浏览器无关(Bro w ser I ndependence),客户端只要使用可执行HT M L码的浏览器,即可浏览A cti v e Server Pages所设计的网页内容。

Acti v e Server Pages所使用的脚本语言(VBscri p t、Jscript)均在W eb服务器端执行,客户端的浏览器不需要执行这些脚本语言[1]。

目前,国内普通用户所用的操作系统都是W i n do w s,还有数据库系统SQL Server2000,这些都是微软的产品,在系统的兼容与稳定性上,都采用同一个公司的产品当然效果会更好。

因此选择ASP技术开发基于W eb的毕业设计管理系统。

3 体系结构目前,基于W eb的信息系统构架方式通常是采用3层B/S(Bro w er/Ser ver)方式构架[2]。

整个系统由用户层、业务逻辑层和数据层3层组成,其中业务逻辑层和数据层在服务器端,客户端只需要浏览器即可,最大程度的减少了客户端的维护,实现了真正的 瘦客户 。

客户机上不需要安装任何特定的应用程序,也不以任何方式直接和数据库交互,一切操作通过客户机上的浏览器来完成。

WWW服务器上存放表现为网页形式的应用程序,它承担对外发布和接收信息的功能,具体来说就是接收客户端的请求,然后将用户请求转换为数据库操作与数据库服务器进行交互,再将从数据库服务器得到的结果传送给客户机。

数据库服务器提供数据的存储、访问和管理功能,它根据WWW服务器提交的应用请求,进行数据操作,并将处理结果传送给WWW服务器。

数据库只与WWW服务器连接,减少连接次数,提高数据库服务器的性能。

同时,用户与数据库服务器连接隔离,任何用户无法跨过WWW服务器直接对数据库进行操作。

通过数据库和WWW服务器中的应用程序共同提供验证、授权、加密等机制,保证了数据库的安全性[3]。

4 主要实现技术4.1 分页显示技术对于毕业设计选题页面,由于内容比较多,如果都在一个页面上显示,势必会使网页很长,为此采用了分页显示技术[2],部分代码如下:set rs=Se rver.CreateOb j ec t("ADODB.R eco rdSet")rs.O pen str1,conn,1如果记录集不是空的,就执行分页显示。

if not rs.bof and no t rs.eof t henall count=rs.R ecord Coun trs.M oveF irst下面一段判断当前显示第几页,如果是第一次打开,为1;否则由传回参数决定。

if request.Q ueryStr i ng("page_no")=""t henpage_no=1elsepage_no=cint(request.Q ue ryStr i ng("page_no"))end ifnex t通过分页技术,设置每页显示10个记录,使问题呈现页面不再冗长,用户只要点击要浏览的页面号码就可以跳转到相应的页面。

与不采用分页显示技术相比较,不仅方便了用户浏览,而且界面也更加美观了。

4.2 用户端的检测技术由于ASP文件是在服务器端执行的,当用户提交信息时,难免会有出错信息,这时若将ASP文件直接提交给服务器,服务器在执行过程中发现错误,再以HTML文件传送给客户端,这样一个来回传送的过程会浪费很多时间。

因此,有必要在客户端对用户提交的信息进行检查,确认没有错误之后再传送到服务器端解释执行。

只需要用VBScript编写一个函数,即可以实现用户端检测技术[3]。

下面以用户登录页面为例,给出实现该技术的部分核心代码。

Sub check()下面一段判断用户呢称和密码是否为空if for erna m e.value=empty thenm sgbox"用户呢称不能为空!"focusto(0)ex it subend ifif for m1.pass wo rd.va l ue=e m pty thenm sgbox"用户密码不能为空!"focusto(1)ex it subend ifEnd Sub然后再把待检测的表单属性设置为<i n pu t type="button"na m e="subm it1"va l u e="提交"onclick ="check()">,当填写完表单提交时,若有必填项未填或有错误,都会弹出提示出错的窗口。

这样就在用户端完成了对提交表单信息的检查。

5 系统的特点1)系统功能更加完善。

本系统在对毕业设计环节进行分析的基础上,实现了为学生、教师、管理员等所有人员服务的安全、易用、完善的管理功能,解决了目前一般管理系统中存在的各种弊端,提高了工作效率。

2)复杂统计的效率提高。

在做数据统计时,因为某些统计较为复杂,为提高运行效率,我们在SQL Server中定义了几个存储过程和临时表,每次统计时,首先调用存储过程读取数据放入临时表中,然后再进行加工处理,反馈到客户端。

使用存储过程明显提高了复杂统计的效率。

3)实现了批量数据更新。

因为教师的课题数量不定,则指导的学生数量不定,在填报成绩一类的操作的时候,逐个学生填写的方式很不可取。

这里可以先将若干学生都读出来,每个成绩文本框名字相同(并且对应一个学号),成绩与学号在服务器端存储在两个数组中,再利用循环就可以根据学号分别保存成绩。

4)避免了学生重复选题。

对于学生的选题模块,我们采用读取数据库开放时间的方式。

然后在vbscr i p t中分别用dated iff()函数开始时间和结束时间与当前时间相比较,如果不符合要求,则自动离开本选题页面;如果符合时间要求,则根据专业字段和课题的状态属性,显示出符合该学生专业的、还没有被其他学生选择的课题供其选择;如果学生确认选择某一个题目,则及时更新数据表中该课题的状态为被选,conn.execute("update ktxxb set sfbx= 1 where i d="&i d&"and sfbx= 0 "),为了防止有并发执行存在,再次执行Set rs=conn.execute("se lect@@ro w count as sl")以便读取上条语句影响的记录数,只有当rs("sl")=1时,才可以继续向下执行,更新学生的选题状态,以防止重复选题。

5)实现了结果的重新排序。

本系统中还在统计结果中实现了点击表格标题列而将结果重新排序的功能。

关键方法是将查询语句存储在Session中,每次都更改排序字段。

相关主题