基于 JSF 的毕业设计管理系统
1
引言
毕业设计管理需要经过前期的选题和选导师,中期的导师指导和论文进度的监
督,后期的论文的修改和整理这三个环节。随着高校的扩张,手工毕业设计管理
已经难以应付当前毕业设计管理的需求,再则这种手工式的管理,长期以来都不
能满足导师与学生之间实时的交流,而在这段时间里,找工作和实习的学生相对
来说比较多,导师找不到学生的现象普遍存在,导师与学生之间的沟通方式只有
通过电话与 E-mail,这种相互间的沟通,无法真正地满足导师对学生的毕业设
计完成的进度进行必要的监督,和导师对自己所带的所有学生的一种监管,导师
与学生之间无法进行集体交流,无形中加大了导师的工作量,降低了教学效率。
因此,如何通过信息技术提高毕业设计管理的质量,提高导师与学生之间的交流,
优化管理流程成为现阶段研究的首要目标。
2
毕业设计管理存在的主要问题及原因
随着高校的扩张,学生人数的增多,毕业生人群逐渐庞大,老式的毕业
设计管理方式,渐渐地不能满足现状,在时间与效率方面不能很好地控制,毕业
设计工作延时的情况难以避免,学生与导师之间的选择也是一个“黑盒”的选择
过程,导师与学生之间都不能很好地了解对方的情况,导师也难以掌握学生的优
点,不能因材施教,在毕业设计过程,导师和学生之间的沟通和熟悉必须经过见
面和谈话,而学生又因就业因素流动频繁,与导师之间进行信息的交流就更加的
困难了,时常都会出现导师找不到学生的现象。再则,传统的毕业设计管理方式,
缺少毕业设计题目的管理库,由于以往毕业设计题目没有一个完整的题目保留机
制,往年的有些毕业设计题目没有被保存下来,没有一个可供导师和学生参考的
题目库,难以避免有些题目多次被撰写,有些好的题目却不能继续延传下去。
传统的管理方式不是建立在信息化运作模式基础之上,高校信息管理活
动缺少完善、全面、严谨的信息模型的支持。新的技术在高校管理流程中得不到
充分的体现,高校的信息管理系统中,很少可能会出现新的技术和新的思想,用
的系统往往都是经过考验的系统,这种系统的技术含量要当时或许是最新的,但
是这种高校管理系统,一用就会用上几年,在技术上很难会有新的突破,致使高
校信息管理系统技术的落后,无法跟上时代的步伐。目前高校的信息化,电子化,
网络化所需的计算机软件需要突破传统的“就事论事”的作法,提高系统设计的
重用性、完整性和技术更新。
3
提高毕业设计管理质量的主要措施
随着信息时代的到来,一切大小事务的管理都渐渐地融入到信息管理之
中,使用信息管理系统来提高现实生活的操作,充分利用信息管理技术简化毕业
设计的教务流程,发挥信息管理技术的优点,节省教学资源,利用信息技术提供
一个合理化的管理过程,确定信息技术在管理中的作用,通过信息技术进行人力
的分配,合理的划分资源,削弱人为的操作过程,尽量做到用最少的资源做最多
的事务。信息管理方式必须建立在网络资源的基础之上,利用现有的网络资源,
搭建一个信息交流平台,以供学生与导师之间进行信息交流,利用其电子信息化
的管理方式为教务人员提供一个更好的教学教务管理平台和题库存储平台,促进
教学建设的发展,减轻教导人员的工作量,更好地保证教学质量。
网络化的信息管理,使得导师与学生之间可以在家里进行沟通,教务人
员也可以在家进行办公,利用这种信息化辅助人为的管理,可以节省大量的人力
物力,利用信息技术也可以集中管理毕业设计题目,提高选题的效率,使得教学
质量能进一步提高。
4 分析与实现
为解决以上提出的问题和措施,验证能否解决一系列的管理问题,本文采用
MyEclipse 作为开发工具,SQLServer2000 作为后台数据库,进行系统的设计与
实现。在系统中,分别采用了以下技术:JSF[1],JDBC,AJAX,DIV+CSS 等。JSF
(Java Server Faces),它是一种 Web 应用程序框架[1],是首个 Web 应用程序
开发的标准框架。JSF 提供了一个基于组件的架构(框架)用于管理和构建 Web
应用程序接口,它也提供了丰富的功能集包含事件处理机制(Event Handling
Mechanism)、页面导航(Page Navigation)、验证客户端数据(Input Validation)
和数据转换(Conversion)等等[2]。它同样也提供了基于组件的插件化体系来
开发和展现用户界面组件,开发者可随时开发他们的自定义 UI 组件并很容易地
将其应用到框架之中。JSF 框架最主要的特色之一就是它并不仅针对于一种类型
的客户端,意味着除了用于桌面的 Html 浏览器客户端外,它甚至还可能支持用
于移动电话的 Wml 浏览器客户端。它是新一代的框架技术。而在 B/S 模式中,每
次向服务器请求数据时,就必须得刷新整个页面,在刷新的过程中,用户将会进
入一个等待的过程,有时页面的返回信息的时间会比较的长,在这段时间里,用
户不能做任何事情,唯一就是等待请求数据的返回,而不能在等待的同时,做另
一件事情,为了弥补这一点的不足,充分地结合 C/S 的优点,因此采用 AJAX 技
术。
在此系统中除了解决技术上的问题,在实现和设计上需要解决重点与难点是如何
让学生进行选择导师;如何让导师选择学生;学生是如何进行选择题目;题目是
由谁来管理的;教务教导人员有哪些功能;学生与导师之间的交流是如何实现的。
在提出解决这些方法时,分析本校的毕业设计管理流程,在学生选择导师的时候,
教务处总会发一张志愿表给学生填写,教导人员也会相应地介绍参加了该系该专
业的导师的资料,以供学生进行选择,学生一般都会有八个志愿可以填写,填完
之后,上交给教导人员,再由教导人员随机分配志愿表给参加了毕业设计的导师,
导师再根据学生填写好的志愿表,选择自己的学生;然后导师通知自己的学生进
行题目的填写,由导师审核通过后,学生开始论文的撰写;在毕业设计期间,导
师需要与学生进行交流时,导师通过电话召集学生到办公室开一次会议,布置任
务和解决学生所遇到的问题,监督学生毕业设计的进度。教务人员在整个毕业设
计管理过程中,负责选派导师,发放志愿表,收集志愿表,和监督导师工作等[3]。
综合上述分析,解决以上提出的问题,学生选择导师时,系统提供一个志愿管理
窗口和筛选出来的学生所在系别、专业的导师信息表,在导师信息表中,学生可
以看到各个导师的详细信息,学生可以根据这些选择自己喜欢的导师进行填写志
愿表,同时学生在填写完志愿时,可以重新进行志愿的填写,在还未被导师选择
之前该学生可以进行多次的志愿的重新填写;参加毕业设计的导师,系统提供了
一个学生选择导师的信息列表,导师挑选选中自己的学生,系统还提供了计数的
功能,以防导师多选,并提供一个确认的功能,以供导师在还没确认学生之前进
行修改自己所选的学生;学生选择题目可以和填写志愿同步进行的,学生的题目
信息表可以实时更新的,可以不断地检测导师录入的题目信息,和被选的题目,
有效地防止同一题目的出现,同时系统还提供了一个允许导师修改学生题目的权
限;导师拥有对毕业设计题目进行管理的权限,导师可以添加,删除毕业设计题
目,同时学生也可以录入自己喜欢的题目,整个题库由导师和学生共同维护的;
教务教导人员在系统中处于管理者的身份,管理学生导师的信息,包括学号,帐
号,密码,联系电话,联系地址等信息,分配导师进行毕业设计教务活动,对学
生进行毕业设计成绩的管理等工作;此系统的信息交流功能,导师与学生是一对
N 的交流,导师交流的权限,限于本组的学生,导师以发贴的形式与学生进行交
流,学生也可以通过发贴的形式来询问一些毕业设计上的相关问题,导师和学生
都有回复主题的功能,导师和学生都可以上传文件进行交流,学生也可以通过此
种方式提交毕业设计。
提出解决方法后,进一步研究如何将技术融入到这些流程中,如怎么样
来实现题目列表的实时刷新,这里就需要用到 AJAX,在一定的时间内使用局部
刷新的方法向后台服务器获取更新数据,使用这种数据更新的方法,可以减少一
定的带宽,且让人感觉不到页面在刷新。再则就是如何来克服 JSF 中的 DataTable
不能进行服务器刷新的弱点,DataTable 若不使用 On-demand loading 这种方式,
它将会把服务器里的数据全部下载至客户端,导致客户端要使用大量的内存存储
数据,那么什么叫 On-demand loading 呢?其实这个原理是:根据 JSF 的
DataTable 的实现原理,JSF 中 dataTable 中绑定的数据实际上被包装成了一个
DataModel,以消除各种不同数据源和数据类型的复杂性。它提供了一个,自主
在后台进行数据封装的平台,因此只需要在页面请求时将需要的页面的信息封装
起来,再通过服务器发送给客户端,在整个过程中,是一个客户端对服务器进行
数据请求,和服务器接受请求返回数据的过程。
实际好用的管理系统,总是需要将现实的管理流程和最新的技术完美结合起来,
通过新的技术来提高系统的性能和易用性,减化管理的复杂度,更好地提高系统
的效率,为现实的管理带来再好的辅助作用。
5 总结
由于毕业生的增加,毕业生越来越不好管理的现状难以解决,但是经过
学校、教师和学生的共同努力之下,相信毕业设计会有一个更好的平台,毕业设
计的一些问题将得以解决。
参 考 文 献:
[1] 罗会波著. JSF 第一步[M]. 北京:清华大学出版社,2007.10.
[2] Budi Kurniawan 著,刘克科等译.JavaServer Faces 编程[M].北京:北京清
华大学出版社,2005.01.
[3] 张桂荣. 毕业设计成绩评定刍议[J]成都大学学报(教育科学版),
2007(11):52-56.