郑浩;刘建芳
【摘 要】毕业设计是高等学校人才培养过程中不可或缺的重要环节,为了解决毕业设计环节中存在的不足,减少时间、空间上的限制,减轻教务管理人员、指导老师以及学生的负担,本课题以平顶山学院软件学院的毕业设计教学管理工作为依据,设计并实现了基于SSH框架的毕业设计管理系统。系统采用MVC设计模式,将表示层,业务逻辑层和控制逻辑层清晰地分离出来,各层次之间接口清晰,耦合度低,易于扩展。使用Struts框架、Spring框架和Hibernate框架方便地构建Web应用,提高系统设计与实现的效率。%Diploma-project is an indispensable part of the ability training of undergraduate education.This work is very useful to train the students to analyze and solve practical problems with basic knowledge,and improve the operation ability of students.According to the diploma-project work of software academy of Pingdingshan University,This thesis designs and implements diploma-project management system based on SSH framework.This system uses the MVC design pattern to separate the system into three layers,including the presentation layer,business logic layer and control layer.This design pattern makes the interface clearly between each administrative level,has low degree of coupling,and easy to expand and so on.The using of Struts framework,Spring framework and Hibernate framework makes the development of Web applications easily,and also improves the efficiency of system design and implementation.
【期刊名称】《电子设计工程》 【年(卷),期】2012(020)020 【总页数】4页(P58-61)
【关键词】SSH;毕业设计;选题管理 【作 者】郑浩;刘建芳
【作者单位】平顸山学院,河南平顶山467000;平顸山学院,河南平顶山467000 【正文语种】中 文 【中图分类】TP311.5
随着高等教育教学改革的不断深入,对于高校毕业设计管理的规范化、系统化、信息化已成为目前面临的重要课题[1]。目前,很多高校的毕业设计管理还存在一些问题。例如:通常学生在大学最后一年需要在外地进行实习,此时又面临着毕业设计选题问题。毕业设计完成时,论文的上交也存在困难[2]。本课题的目的旨在应用现代的信息网络化管理技术解决毕业设计(论文)环节中存在的问题,减少时间、空间上的限制,增加毕业设计(论文)的过程监控,减轻指导老师和教务管理人员的工作负担。 1 系统开发的技术
系统开发需要特定的环境和技术,要选择好系统需要的硬件环境以及相应的开发工具才能够开发系统。 1.1 Struts框架
Struts是Apache基金会Jakarta项目组的一个Open Source项目,它采用
MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用[3]。和其他的java架构一样,Struts也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。Structs框架的核心是一个弹性struts的控制层, 基于如 Java Servlets,JavaBeans,ResourceBundles 与XML等标准技术,以及 Jakarta Commons的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsp tag lib组成。
本系统采用Struts框架,编写各个模块对应的Action Form类和Action实现类。ActionForm类是一个具有getXXX()和setXXX()方法的类,用于获取或设置HTML表单数据。同时该类也可以实现验证表单数据的功能。Action类实现类是本系统中控制组件的重要组成部分,是用户请求和业务逻辑之间沟通的媒介。 1.2 Spring技术
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的[4]。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Web应用的中间部分为业务逻辑层,在该系统中该部分将采用Spring框架,由于其框架本身提供的IoC和AOP等方面的技术能更好的满足应用系统的应用层的需要。其负责的工作为:管理事物;提供与表示层和持久层相互作用的接口;管理业务层级别的对象的依赖;管理从业务层到持久层的程序执行等。 1.3 Hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库[5]。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以
在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[6]。 Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query 和 Configuration。 这 5 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这5个核心接口分别加以介绍。 2 毕业设计管理的总体业务描述
我院于2007年开始软件工程专业本科生的招生工作,目前的两届本科毕业生的毕业设计管理工作均采用手工管理模式。管理工作难度大,各种报表重复制作,沟通难效率低等问题日益突出。传统的管理方法难以适应现代工学结合背景下的毕业设计管理要求。结合我院的毕业设计工作的特点,实现毕业设计过程的网络化管理,势在必行。在设计过程中,对毕业设计管理过程的充分调研是必不可少的。 我院在毕业设计管理的整个过程中,主要分为以下几个阶段:
1)选题申报阶段 在此阶段,指导教师或学生均可以根据自身情况申报课题。此过程序要提交选题名称,选题意义,选题拟完成的相关功能。
2)选题审核阶段 申报课题完成后,院系组织相关人员对所申报的课题经过两次审核,先是由选题委员会教师进行选题内容的审核,审核通过后则可作为毕业设计的课题,否则,这些课题不能作为毕业设计的课题。
3)选题阶段 此阶段由学生针对审核通过的选题进行选报。然后按照院系毕业设计指导任务对指导教师和学生进行组合。并由教师根据申报的选题拟定毕业设计任务书,并给相应的学生进行任务下达。
4)开题阶段 此阶段学生针对指导教师下达的任务书,查阅相关资料完成开题报告,并提交给指导教师,指导教师对学生的开题报告进行审核,审核通过,在开题报告上签字,学生可进入下一阶段;若审核不通过,则学生继续修改开题报告,指导审核通过为止。
5)毕业设计阶段 学生根据开题报告中的基本思路和内容,逐步完成毕业设计,包括毕业设计阶段的系统开发和论文撰写。在此过程中若有疑问可以与指导老师进行交流,此过程要求有毕业设计指导纪录和修改意见表作为指导过程的支撑材料。 6)申请答辩阶段 当学生完成毕业设计的系统开发和论文撰写后,可以申请答辩。申请答辩先由指导教师检验系统是否能够满足要求,论文撰写是否合格,如果同意答辩则给出评语表,然后交给答辩委员会进行审核(此部分审核由两位教师同时进行,分别给出评语表和分数),根据指导教师和评阅教师的意见,确定是否可以参加答辩。
7)答辩阶段 学生向答辩委员会教师演示系统并进行15分钟以内的陈述,每个答辩小组有5位教师组成。教师根据学生的展示情况及回答问题情况给出评分,答辩秘书完成答辩过程的记录。答辩通过后,由答辩委员会成员进行答辩打分,结合指导老师评分,然后计算出毕业设计总成绩。
8)优秀论文申报 根据各方面综合考虑,由学生完成优秀论文申报表,交给院系审核并填写推荐意见,完成推优工作。 其业务流程图如图1所示。
通过对毕业设计过程整体业务流程的分析,本文拟开发的毕业设计管理系统主要包括用户选题申报、选题分配、任务下达、开题报告管理、过程指导、论文管理及答辩成绩处理等功能。
3 毕业设计管理系统的总体框架设计
本系统采用MVC设计模式,使用Struts框架和Hibernate框架做支持,其中使用Struts作为系统的整体基础架构,负责MVC的分离,在 Struts框架的模型部分,利用Hibernate框架对持久层提供支持[7]。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后 Struts根据配置文件
(struts-config.xml)将 Action Servlet接收到的Request委派给相应的Action处理。DAO层执行对数据库的操作语句。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果[8]。 4 系统功能设计与实现
系统功能设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,经过这个阶段的设计工作,应该得出对目标系统的精确描述。本系统主要包括选题管理模块、开题管理模块、文档管理模块、成绩管理模块、新闻通知模块和系统管理模块。下面以选题管理模块为例说明基于SSH框架的系统功能详细设计与实现。
选题管理主要涵盖毕业设计的选题申报阶段,选题审核阶段和选题阶段。依据需求分析中对毕业设计管理业务的分析,此模块的参与者有学生,教师,院系管理员。 图1 毕业设计业务流程图Fig.1 Diploma-project business process diagram 1)学生 根据要求申报选题,查看选题具体信息,修改或删除个人申报选题的信息,选择自己的毕业设计题目,下载选题任务书。
2)指导教师 根据要求申报选题,查看选题具体信息,修改或删除个人申报选题的信息,选择学生,根据选题和学生信息下达课题任务书。
3)院系管理员 监督选题过程,审核选题,辅助发布新选题,查看已发布选题的信息,查询学生选题信息,查看指导教师指导选题信息,并协调指导情况。 课题管理包含设置课题申报时间、设置选题时间、审批调整毕业设计任务、维护课题基本信息和选题委员会管理五个功能。
对于设置课题申报时间和设置选题时间功能,以设置课题申报时间为例,管理员设置课题申报时间成功后,会提示设置成功的信息。之后,教师和学生只有在管理员设置的时间范围内,才可以申报课题,否则,教师和学生无法进入申报课题界面,系统会给出相应的提示。同时,与此相类似的功能还有设置开题时间和设置论文答辩时间等,这些功能体现了管理员对整个毕业设计管理过程的过程监控。
对于审批调整毕业设计任务的功能,包括审批任务和选题调整两个功能。其中审批任务功能,在教师或学生申报课题时,会上传与其所申报的课题相关的课题资源。管理员可以下载每个课题的课题资源,查看后对所申报的课题进行审批。若管理员审批通过,学生就可选报这些课题,若管理员审批未通过,这些课题不能被学生选报。其中选题调整功能,包括未报上课题学生的调整及已报上课题学生的调整两个功能。若在管理员所设置的选题时间范围内,一些学生尚未报上课题,则可找管理员申请调整,即未报上课题学生调整功能。若一些学生出于其他原因需要对自己选报的课题进行调整,则可以找管理员申请调整,即已报上课题学生调整功能。 对于维护课题基本信息的功能,管理员可以查看和删除已通过审批的课题。对于选题委员会管理的功能,管理员可以确定选题委员会的成员,还可以对这些选题委员会成员进行分组以及确定是否为该小组的负责人。课题管理流程图如图2所示。 图2 课题管理流程图Fig.2 Subject management process diagram
课题管理的实现中,管理员可以设置课题申报时间和选题时间、审批调整毕业设计任务、维护课题基本信息以及进行选题委员会管理。这里仅以设置课题申报时间和审批任务为例进行说明。下面依据Struts工作流程对这两个功能的实现做详细介绍。
1)设置课题申报时间功能的实现
首先,管理员进入设置课题申报时间界面后,可以选择两个日期,若结束日期小于开始日期,则会给出相应的提示信息。点击提交后,Struts的核心ActionServlet根据path路径(sureSelectTaskDate.do)到 struts-config.xml中寻找相匹配的路径。接着,执行DateAction中的insertSelectTask()方法。最后,调用DateDao中的update()方法更新数据库中date表中的日期。设置课题申报时间功能的界面图如图3所示。
图3 设置课题申报时间界面Fig.3 Interface of Task declaration time setting
2)审批任务功能的实现
审批任务功能中包括下载课题资源和审批任务两个功能。对于下载课题资源:首先,管理员进入审批任务界面后,可以看到所有已申报的课题的详细信息。点击某课题名称后,Struts的核心 ActionServlet根据 path路径 (load.do)到struts-config.xml中寻找相匹配的路径。接着,执行Examine TaskAction中的load()方法。最后,调用 ExamineTaskDao中的queryExamineTaskByid2()方法查询出数据库中该课题的url,按照此url下载该课题资源。
对于审批任务:管理员查看下载到的课题资源进行审核,点击审批,进入审批页面。审批完成后,点击提交,Struts的核心 ActionServlet根据 path路径
(ShowExamineTask.do)到struts-config.xml中寻找相匹配的路径。接着,执行Examine TaskAction中的 update()方法。 最后,调用 ExamineTaskDao中的update()方法更新数据库中该课题的pass属性。审批任务功能界面图如图4所示。
图4 审批任务界面Fig.4 Interface of task approval 5 结束语
文中结合高校教务工作中毕业设计管理的实际需要,论述了开发毕业设计管理系统的必要性,结合理论技术分析,提出了基于SSH框架的毕业设计管理系统的实现方法,并对毕业设计管理系统的总体设计、详细设计方案进行了阐述。系统具有良好的扩展性和平台无关性,易于操作。
【相关文献】
[1]王传江.基于WEB毕业设计信息平台的设计与实现[D].辽宁:大连理工大学,2008. [2]赵小航.高校毕业设计(论文)管理系统的设计与实现[D].北京:北京工业大学,2009.
[3]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2009. [4]杨少波,顾益军.J2EE项目实训—Spring框架技术[M].北京:清华大学出版社,2009. [5]李刚.整合Struts+Hibernate+Spring应用开发详解 [M].浙江:浙江大学出版社,2008. [6]刘斌.精通Java Web整合开发[M].3版.北京:电子工业出版社,2008. [7]高红岩.基于MVC+MyEclipse的Java Web应用开发[M].科学出版社,2007. [8]Langdon C S.The State of Web Services[J].Computer,2003,36(7):93-94.
因篇幅问题不能全部显示,请点此查看更多更全内容