毕业设计论文管理系统.docx
《毕业设计论文管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计论文管理系统.docx(54页珍藏版)》请在冰豆网上搜索。
毕业设计论文管理系统
摘要
在当今社会,信息化浪潮强烈冲击着传统教育模式,信息技术和教育相结合成为了当今世界教育改革和发展的有效形式和推动力量,信息化建设的进程在教育行业中被不断推进。
教育技术的信息化已经扩展到了行业中的各个领域,其中就包括各高校对毕业设计的管理。
毕业设计论文管理系统的最终设计目的在于实现毕业设计标准流程的在线管理,更改了传统的毕业论文管理方式,通过网络实现毕业设计管理的相关功能,包括网上选题、提交开题报告、提交论文、论文的指导、与老师在线交流等功能。
本系统采用B/S架构,后台为Java语言编写,使用Struts2+Spring+Hibernate框架开发。
以MySQL作为数据库系统。
本系统采用面向对象的方法进行设计。
本论文选择的模块包括选题及基础数据模块,并且对需求的分析、系统的设计和实现的过程进行了描述。
选题模块主要实现毕业设计的在线出题与选题,基础数据模块是本系统运行所需的模块,包括登录、用户管理、参数设置、发布通知、站内信、邮件提醒等功能。
本系统实现了所需的功能,基础数据模块均能正常运行,达到了预期的目的。
关键词:
毕业设计管理;SSH框架开发;JavaWeb开发;毕业设计论文管理
Abstract
Intoday'ssociety,informatizationtidestronglyimpactsonthetraditionalmodeofeducation.TheCombinationofinformationtechnologyandeducationhasbecometheeffectiveformanddrivingforceoftoday'sworldeducationreformanddevelopment,andtheprocessofinformatizationconstructionisadvancingcontinuouslyintheeducationindustry.Theinformatizationofeducationaltechnologyhasexpandedtoallareasoftheindustry,whichincludesthemanagementofgraduationdesignincollegesanduniversities.ThefinaldesignobjectivemanagementsystemofLawSchoolofdesignistorealizeonlinemanagementsystemstandardprocess,changethetraditionalwayofgraduationthesismanagement,realizethefunctionofgraduatedesignmanagementthroughnetwork,includingtheInternettopic,submittedproposal,submittedpapers,thesisguidance,communicatingwithteacheronlineandsoon.ThesystembasedonMySQLasadatabasesystemadoptstheB/SarchitectureaswellasbackgroundfortheJavalanguage,andusesStruts2+Spring+Hibernatetodevelopframework.Thissystemusesthemethodofobjectorienteddesign.Thisthesischoosesthemodulewhichincludestopicsandbasicdatamodule.Meanwhile,analysisanddesign,systemdemandandtherealizationoftheprocessarepresentedaswell.Themodulemainlyrealizestheonlinesettingandselectingtopicsofgraduationdesign,whichisintuitiveandeasytooperate.Thebasicdatamoduleisanimportantmodulewhichisrequiredfortherunningofthesystemmodules,includingthelogin,useradministration,parametersetting,issuinganotice,letterandemailremindingandotherfunctions.Thissystemrealizestherequiredfunctions,andthebasicdatamodulecanrunnormally,whichachievestheexpectedobjective.
KeyWords:
GraduateDesignManagementSystem,DevelopingwithSSHframework,JavaWebDevelopment
前言
毕业设计论文管理系统通过计算机网络来进行毕业生论文指导的过程,是学生和教师交流与指导论文的平台。
本系统按照毕业设计的流程进行管理,将以往师生之间分散的毕业设计论文交流整合到一个统一的平台,在此平台上老师可以提交论文题目、对论文的撰写过程进行指导和打分;学生可以进行选题、提交开题报告、最终提交论文;而教务管理人员可以方便的获悉毕业论文的整个进度情况。
该系统的实现,有利于毕业设计管理的网络化,从以往繁琐的人工管理里解放出来,对于教师而言,各个阶段的流程把控可以更加的清晰和明确,对学生而言,即使在外面实习的时候,也能够及时地将自己毕业论文的进展和问题,在网络上和老师沟通。
同时,电子化的应用也带来了纸张使用的减少,符合低碳环保的概念。
系统开发语言为使用最广泛的Java语言,系统架构为B/S模式,只需通过浏览器即可直接访问系统,无需安装特定的软件。
本论文选取了其中的选题与基础数据模块。
本部分重点实现了系统的选题功能。
选题是毕业设计流程的起始部分,以往是学院先统计教师出题发布给学生,再统计学生选择的题目。
应用此系统可以直接在线完成选题,省去了统计选题的过程,减少了学院和同学的工作量。
本论文还包含系统的基础部分,包含登录及用户管理、参数设置、邮件提醒、通知发布和站内信等功能。
此部分是支持系统正常运行所需要的。
从第一章起,我们会简单介绍系统开发所涉及的技术和框架,包括我们最常见的Struts2、Spring及hibernate框架。
第二章介绍系统的需求分析和系统设计,第三章介绍了系统中部分功能的实现。
第四章将对系统进行测试。
第1章开发关键技术介绍
本系统使用了JSP和Servlet技术,数据库系统则是开源的MySQL数据库,采用了最常见的Web开源框架SSH(Struts2+Spring+Hibernate)开发。
1.1Struts2框架介绍
“Struts2是一个用于JavaEEWeb应用的MVC框架。
”[1]
它是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的框架。
其全新的体系结构与Struts1的体系结构差别巨大。
它以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以也可将其理解为WebWork的更新产品。
虽然相对于Struts1有着太大的变化,但是相对于WebWork变化却很小。
Struts2的处理流程图:
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过Otherfilters(SiteMesh,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(InterceptorN)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个ResultResult会调用一些模版(JSP)
来呈现页面,之后拦截器(InterceptorN)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在中配置的那些过滤器和(核心控制器)(FilterDispatcher)。
1.2MVC架构介绍
“MVC架构(Model-View-Controller)是软件工程中的一种软件架构模式,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
把软件系统分为三个基本部分:
模型(Model)、视图(View)、控制器(Controller)。
”
模型(Model):
是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
视图(View):
是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
。
控制器(Controller):
是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC架构将业务逻辑、数据、显示三部分分开,数据层、业务逻辑层和表示层独立完成任务。
使程序的耦合性变低,重用性变高,程序的灵活性得到提升。
某一层发生改变不会影响另外两层,减少了成本。
1.3Spring框架介绍
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
本项目主要使用了控制反转技术。
使用了该技术之后,对于后台对象的创建和管理,将不需要程序员处理,而是全部由Spring容器完成。
1.4对象关系映射(ORM)
对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。
本质上就是将数据从一种形式转换到另外一种形式。
这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。
更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
1.5Hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
本系统对数据库的访问大部分都通过Hibernate来完成。
图1.1Hibernate在系统中的层次
第2章系统分析与设计
需求分析
需求分析即是了解和确定新系统的目的和用户所需要的功能。
需求分析是开发一个系统时的首要步骤。
在系统的开发之前,和我校的教务工作的老师以及同学进行多次交流,确定了用户所需要实现的主要功能。
在线选题
为本系统的主要功能模块。
该模块主要提供给教师和学生使用,教师在系统中出题,学生在里面进行选题,同时提供管理员的巡视功能,由管理员登陆用于查看所有课题的选择情况。
(1)教师出题
教师可以在“教师出题”页面中,上传学生可选的课题,上传课题的同时,也可以上传课题设计的资料,以便于学生的选择,如果当老师出的课题还未被学生选择,则可以删除已出的课题。
(2)学生选题
学生在规定的时间内,可以查看并选择老师出的课题,但是每个学生只能选择一个老师的一个课题,如果选择完之后,想换题,则在选题期间内,可以删除已选的课题,再选择新的题目。
但是超过选题时间后,则不可重新选择。
(3)管理员查看
管理员的功能包括:
查看教师出题情况,查看学生选题情况,,查看教师指导学生情况。
(4)选题模块用例分析
模块涉及的用户包括:
教师(Teacher)、学生(Student)、管理员(Admin)。
模块涉及的对象包括:
可选课题、已选课题、学生的信息、教师的信息、学生的专业、所属院系。
可选课题(Topic)用于存储毕业设计选题的信息,包括:
出题的教师ID(tid)、毕业设计的题目(Title)、是否已选择(Selected)、学生的届数(Year)、参考资料的文件组ID(FileGroupID)。
已选课题(SelectedTopic):
用于存储学生选题的信息,包括学生的ID(stuid)、出题教师的ID(tid)、毕业设计的题目ID(TopicID)、选题届(selYear)、学生最终确定题目(FinalTitle)、教师的评分(TScore)和答辩小组的评分(GScore)。
学生的专业(Major):
用于存储学生的专业信息,包括专业的ID、专业的名称(Name)、和对应的院系ID(DeptID)。
院系的ID需要关联院系信息。
所属院系(Department):
用于存储院系信息,需要关联专业信息。
包括院系的ID和院系的名称。
一个院系可以对应多个专业,一个专业只能对应一个院系。
用户所需功能:
教师出题:
添加或删除题目、查看所出题目。
学生选题:
查看自己可选的题目,删除已经选择的题目。
管理员:
查看所有选题信息。
选题模块用例图如图所示。
图2.1选题功能用例图
基础模块
系统的主要模块包括用户登录、参数设置、邮件的提醒、用户的管理、发布通知、使用站内信交流等功能。
用户登录
用户在主页输入用户名和密码,在后台对输入的用户名和密码进行验证,验证成功后,获取用户的基本信息返回前台并且显示。
参数设置
用于对系统运行时基本参数的设置,如当前的学生届数,每个老师允许的出题数量,可以指导的学生数量,学生选题的起止时间等。
邮件的提醒
用于教师与选题学生的交流,当学生选题后,教师就会收到系统的提示邮件,提醒教师需要在接下来的时间里对学生进行指导。
同时,学生也能收到教师对学生的指导意见。
用户管理
此为管理员所使用的模块。
包括学生管理与教师管理。
管理员可以添加、删除用户、更改用户的信息、重置用户的密码等等。
本模块涉及的用户:
学生、教师、管理员。
本模块涉及的对象:
学生信息(Student)、用户(User)、教师信息(Teacher)。
用户对象用于存储用户相关的基本信息,包括用户名(Username)、用户的密码(Password)、性别、年龄、邮件地址、用户的类型(Type)等等。
用户表中的数据通过用户类型来判断是学生数据还是教师数据。
新建用户时,ID、姓名、专业、班级为必填的KEY值。
其他个人信息可由用户自行修改完善,如:
手机号、邮箱地址等。
用户凭借初始密码登陆后,可以进行密码修改操作。
用户所需功能:
教师和学生:
修改密码、修改个人信息。
管理员:
创建用户、重置用户信息。
用户管理功能用例图如图所示。
图2.2用户管理功能用例图
通知的发布
通知发布为管理员的功能模块。
当有重要的通知需要全体用户查看时,管理员可以使用该系统发布。
所有用户都可以在主页上看到发布的通知,以获取最新的消息。
本模块涉及的用户:
所有的用户、管理员。
本模块涉及的对象:
通知(Bulletin)。
公告存储的信息包括公告的标题(BulletinTitle)、公告的内容(BulletinContent)、公告发布的时间(Data)、公告的点击量(ClickNum)和公告的文件组ID(FileGroupID)。
通知发布功能用例图如图所示。
站内信
站内信是用于教师和学生进行交流的模块。
出题的教师和选题的学生之间可以给对方发送站内信进行交流和讨论,用户登录系统之后即可查看站内信信息。
图2.3通知发布功能用例图
2.2系统设计
在了解和获取了用户的需求之后,我们根据采用的开发框架和技术。
为用户设计出符合要求的解决方案。
系统总设计
主要描述本系统采用的技术架构和所需要实现的功能。
(1)系统结构
本系统采用了最便于维护的B/S架构,用户只需通过浏览器就可访问和使用系统,而无需安装多余的软件。
既方便了用户的使用,也有利于后期的维护。
为了保证数据的安全,我们将数据库和系统分别部署在两台服务器中。
为了使系统更灵活,我们采用MVC的三层结构设计思路,将界面、业务和数据相互分离,降低了系统的耦合性。
同时,在C即controller中,又将代码分为三层,即如下图所示的:
DAO层(访问数据库)、Service层(业务逻辑)、Action层(处理web数据)。
用户在页面上的操作传到服务器上,由Struts2的过滤器截获并解析,查询到对应的处理Action,在Action中,调用对应的业务逻辑处理,即由Service层提供处理的业务。
当需要数据库操作时,则调用DAO层,以此获得数据库操作。
系统结构如图所示。
图2.4系统的层次结构
(2)系统功能
本系统主要包含以下功能模块:
选题、站内通信、管理功能、邮件提醒等。
系统功能如图所示。
论文选题
出题教师的题目管理:
添加题目:
添加题目、添加参考资料(可选)。
查看题目:
查看自己所出的所以题目及学生的选题情况。
删除题目:
删除自己所出的题目。
图2.5系统主要功能
学生浏览题目:
学生在页面中查看所有本专业老师的已出题目。
学生选题和取消:
学生可以选择自己需要的题目。
学生可以删除自己已选择的题目。
管理员查看选题情况:
查看教师的出题情况,包括:
已出题的数量
已出题教师
未出题教师
学生选题的情况,包括:
已经选题的学生的详情
还未选题的学生的详情
判断题目是否可选的标准:
判断题目是否为当届的;
判断题目是否已经被选;
判断题目专业是否符合自己的专业;
判断用户是否已经选过题目且未删除已选题目;
判断该出题教师的学生人数是否已经超标。
只有全部符合,才可进行接下来的操作:
添加新的选题记录;
更改题目的被选择状态;
添加开题报告
发送邮件。
论文选题过程如图所示。
图2.6选题过程
站内通信
发送消息:
站内信用于教师和学生之间互相沟通,在用户登陆之后,老师和学生可以看见对方发过来的站内信。
教师和学生之间必须为被选题者和选题者的关系。
管理功能
更改个人信息:
登录用户可以更改自己的性别、手机号、邮箱和用户密码。
用户管理:
管理员可以进行添加、删除用户,更改用户的信息,重置用户的密码的操作。
系统通知
发布通知:
管理员可以发布新通知,在通知管理页面。
管理员输入新通知的标题、内容和附件(可选)点击添加即可添加新的通知。
查看通知:
用户无需登录可以看到通知的列表。
邮件提醒
发送邮件:
系统可以自动发送邮件给用户。
系统的界面设计
(1)未登录时主页面:
系统主要分为三个区域。
上方是系统的标题区域,左方当未登录时是友情链接,登陆之后是功能列表,右方是系统的主要操作区域。
系统界面如图所示。
图2.7系统界面
(2)登陆后主页面:
登陆后主页面在左上角显示登录的用户,在左边树形目录,根据权限的不同显示不同的数据。
教师在“题目管理”模块可以进行“添加题目”、查看“我的题目”、“预置学生”的操作;学生在“题目管理”模块可以进行“选择题目”和查看“已选题目”操作;教务员拥有“教务员专区”模块,可以进行系统参数配置,教师及学生信息维护管理,通知的发布等。
下图为教师登录效果图:
图2.8系统界面
下图为学生登录效果图:
图2.9系统界面
下图为教务员登陆效果图:
图2.10系统界面
(3)详细操作界面:
学生选题操作界面:
图2.11选题界面
学生在该页面中可以根据“专业”、“指导教师”、“题目关键字”、“只看可选”四个检索条件对题目进行模糊检索,如果不勾选“只看可选”按钮,则列出所有题目,包括应经被选的题目。
点击参考资料的下载链接,可以下载该题目的参考资料。
该参考资料为指导老师在出题时上传的。
学生选题时,点击“选中”标志,再点击“选题”按钮,进行选题操作。
已经被选择的题目不可再选,只可以浏览。
分页栏可以动态设置每一页显示的数据条数。
学生取消已选题目界面:
图2.12取消选题界面
点击“取消我的选题”按钮,在允许取消选题的时间范围内,将已选题目取消。
教师出题界面:
图2.13教师出题界面
教师登录后,可以在出题时间段内进行出题操作,出题时可以同时上传题目的参考文档,为保证系统效率,文档大小必须小于5M,如果文件过多,则必须打成压缩包上传。
出题的时间开始和截止范围在右边的提示框中出现。
此日期范围由教务员修改。
教师查看题目界面:
图2.14教师出题界面
教师在此页面对已出的题目进行操作,包括:
点击“删除”链接,删除该条题目;
点击“参考资料”链接,对上传的资料进行修改,同时也可以上传新的资料;
点击“继续添加”按钮,进入出题界面,继续出题。
教师查看开题报告界面:
图2.15教师出题界面
出题教师可以在此页面点击“开题报告”对选题学生的开题报告进行浏览,并提出整改意见。
教务员查看通知列表页面:
图2.16教务员通知列表
该界面主要用于教务员对通知的操作,包括:
通过起始、截止时间、关键字对