资源描述
毕业论文(设计) 题 目 基于J2EE的高校毕业论文管理系统 学生姓名 学 号 学 院 专 业 指导教师 5学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月日目 录1.引言62. 概述62.1 系统的开发背景62.3 系统的开发目的72.4 国内外研究现状73.技术工具简介83.1Tomcat服务器83.2 MySQL数据库83.3 JAVA语言83.4 JSP技术83.5 Struts2框架84.系统的总体分析94.1系统的需求性分析94.2 系统功能概述94.2.3学生角色94.2.4老师角色104.2.5院系管理员角色104.2.6系统管理员角色104.3业务流图104.4 数据流程图125.系统的总体设计165.1 模块分析与整体设计165.2 数据库设计和构建196. 系统的详细设计227.系统功能的具体实现237.1 登录部分的设计237.2 学生个人信息管理部分的设计247.2.1学生登录后的界面如图257.2.2查看个人资料257.2.3论文选课的实现267.2.5在线答疑287.2.6论文成绩的公布297.3 导师信息管理部分的设计297.3.1导师管理部分的设计297.3.2教师申请提交论文题目297.3.3 查看申报结果317.3.4上传资料界面327.3.5老师查看学生的留言信息337.3.6查看答辩小组界面337.4院系管理员部分的设计347.4.1管理员登陆后的界面347.4.2查看老师上传的论文题目的申请347.4.3查看院系中所有论文申请的情况357.4.4分配选题357.4.5查看最后的选题结果367.4.6 院系管理员下载功能实现367.4.7查看答辩小组信息界面367.4.8新增答辩小组367.4.9.查看答辩组的分组情况377.4.10管理员发布学生成绩377.5 系统管理员部分的设计378.网站测试的过程388.1登录测试388.2商品数据测试388.3其它测试38 8.4网站的测试结果38 8.5 网站的不足之处389.总结与展望38参考文献39基于J2EE的高校毕业论文管理系统 摘要:高校毕业设计( 论文) 设计是一个复杂的多层次的综合管理的系统工程。以往的的毕业设计(论文)指导是导师和毕业生面对面沟通,没有一个合适的交流平台,导致效率低下。本系统基于jSP平台开发平台,采用的是B/S设计模式,使用mysql数据库,它的出现为毕业生,导师,院系管理员,系统管理员这四者之间提供稳定的在线交流的平台,同时也能充分利用计算机网络完成毕业论文的管理、指导和写作等工作提供了便利。系统分为四个用户:学生用户、教师用户、管理员,院系管理员,本文详细介绍了系统实现的过程和相关技术,并且提出了详细的实现方法,本系统希望将导师和毕业生,院系管理员从现有的效率低下的论文管理工作中释放出来,具有较强的实用性和科学性,为现有的教务管理系统平台完善了部分功能。但该系统仍须继续整合和升级,在投入使用后,必须我校的具体实际情况,进行改变和修改,真正的给我校的毕业教学管理带来便利。关键词:毕业论文;信息系统;数据库;MySQL;JAVA;Struts21.引言 伴随着网络科技的快速发展,社会各领域正渐渐的把计算机网络技术带入日常工作中。现在把网络技术应用于高等教育教学的工作中已已经成为高等学校办学的不可逆转的趋势。作为学校公共服务体系的主要组成部分,校园网络已成为学校最重要的基础设施。毕业生的信息管理是高等教育中的一个不可缺少的环节,是一项复杂的系统,其中涉及多学科知识,需要多部门协调工作。其中毕业生论文信息管理工作是一个庞大的工程,事实上随着毕业生数量上逐年增加,它的管理难度也在不断的加大,如何有效的提高毕业生论文的管理就成了一个没办法回避的问题。毕业设计及毕业论文的答辩一直是我校重要的教学环节,但目前大部分主体功能仍不能通过网络技术实现,很多情况下使用的是手工方式管理。同时由于我校学生最后一学期很多在校外实习工作,在进行论文的选题、设计、写作等环节中,学生与指导教师在时间、空间上很难协调,时常出现找不到人的情况。所以,尽快使用一个b/s开放式的毕业论文管理系统就显得特别重要。我校作为一所全国重点的高等大学,随着学校的发展,毕业生日趋增多,教学任务愈渐严峻,同时对于论文的管理要求也变得越来越严格。现在使用的手工管理论文的方式己经没办法提供给我校高效的工作环境,此系统的投入使用不仅方便了我校对在校毕业生论文的管理而且为校外实习的学生提供了极大的便利。希望通过开发这个系统,运用B/S结构和jSP技术,涉及学生用户的登录、查询、上传论文、中期检查 ,论文答辩,下载资料;教师用户的出题、选毕业生,处理文档、上传资料,解答疑惑;系统管理员用户对于论文题目的审核与发布、增加或者删除系统用户权限、答辩成绩管理;院系管理员用户的发布消息,查看学生论文进度情况,删除不合格的论文等各个功能,可以实现对学生毕业论文相关资料的集中管理,同时,希望通过本系统实现对于学校的信息化设计工作的帮助,真正做到理论运用实践中2. 概述2.1 系统的开发背景由于信息技术的快速发展,每一个行业都在逐渐放弃传统的手工管理模式转而将自己的管理逐步实现网络化和现代化的管理。网络信息技术已经使得人们在日常生活的各个方面得到便利,同时深刻的影响着社会经济,文化,教育和人们的工作,生活,甚至思维方式。可以看见的是,我国在教育信息化的建设投入越来越巨大和迅速,尤其是在带动教育现代化、促进共享优质资源、创新培养人才培养模式等方面。近几年,中国高校教育信息化建设成果明显:中国教育和科研计算机网的建立、中国教育卫星宽带传输网系统完善。开发优质教育资源和高校远程教育试点工作逐步推进。因此,积极研究网络信息技术使之与中国独有的高等教育情况相结合,充分发挥网络技术的优势,深化高等教育教学改革,提高高等教育教学质量,增加高等教育的特色化,已成为当下的一个重要的研究课题。毕业设计(论文)是本科教学的一个重要组成的环节,是一种对学生的四年本科知识和课外自主学习能力的综合调查的方式。系统管理是一项复杂的工程,不仅涉及的部门众多,不仅包括老师、学生、系统管理员,院系管理员,还涉及教师学位评定委员会等相关机构;此外,影响毕业设计(论文)的存在因素有很多,如系统,时间安排,选择,教师管理,仅靠现有的管理文件和规定是不能远远满足要求的,我们必须采取科学的有效的管理手段,和一套比较完整的,合理的评价体系实现对于系统的管理。2.2 系统的现状目前,论文系统中实现导师和学生的相互选择以及论文过程中的动态跟踪交流是毕业设计管理工作中的重要的实现内容。英国的诺丁汉大学开发专门的管理系统成功实现了毕业设计的网上双向选择,方便了本校的师生。在国内,南昌航空工业学院设计的毕业设计的双向选题管理系统,重点关注的是选题管理,顺利的实现题目申报、审核题目以及毕业生选题的功能,辅助个人资料管理、发布公告通知功能,北京科技大学发明的毕业设计管理系统,增加了该校独有的专业和项目管理特色,实现对于每一个毕业生设计的文档、图片、多媒体的存档以及添加展示优秀毕业设计的环节,实现了了自己本校的特点;电子科技大学管理学院的本科毕业论文提交系统主要创新了提交毕业生的论文以及及时反馈论文审核鉴定结果的功能,创新了导师和学生之间的实时互动的这一功能,在该系统中学生可以通过系统查询自己论文的审核情况并且可以和老师进行实时的网上交流,在指导教师的指示下进行对论文的修改,并完成论文提交,实现网上论文的录入和存档。从以上对国内外部分毕业论文(设计)管理系统的分析可以看出,)网络化、系统化的管理毕业论文(设计)已经成为一种方向。一些国内高校开始寻找符合自己的毕业论文(设计)管理系统平台,希望通过毕业论文管理系统的信息化和网络化来加强对自己学校毕业设计工作的管理和调控,使毕业论文(设计)工作能更好更快的实现。由此可见,完善的毕业论文(设计)管理系统在高等学校的日常教学中具有很深刻的实际价值。但与此同时我们必须看到,目前的毕业论文(设计)管理系统没有成熟的体系,很多系统只是针对于毕业论文的某个方面进行操作。虽然一般的毕业论文系统通用性较强可以实现一般的通用功能,但其可操作性较差,功能性比较单一,同时国内的毕业论文(设计)工作流程的现状是比较较为复杂,缺少便捷性,不同学校有不同的流程所以通过使用别的高校的论文信息管理系统实现自己本校的功能是不切实际的。可行的方法是由学校自己独立开发管理系统,这样做的优势在于不同的学校可以从自己的实际情况出发进行功能建设(不同学校的侧重点不同,有的学校注重的是论文的提交,有的学校注重的是毕业设计选题的管理),但是这样做的劣势在于毕业论文系统的整体性进一步被削弱,如果毕业论文没办法实现整体的全方面的设计,那么该系统对于学生、指导教师以及院系管理部门的帮助没有办法达到想象中的地步。从以上分析中可以看出,设计出一款流程适合南京信息工程大学的特点鲜明并且可操作性强的毕业论文管理系统是具有现实意义的3.技术工具简介3.1Tomcat服务器Tomcat是联合了Apache、Sun 和一些其他的公司及个人共同开发的一款Jakarta 项目中的核心项目。Tomcat 中体现的是最新的Servlet 和JSP 种种规范是sun公司擅长和领导的。Tomcat 作为轻量级应用服务器中的代表,非常适用于当并发访问用户不是很多的情况,同时它还具有很多优势:先进的技术,稳定的性能,尽可能的占用少的资源,良好的扩展性都使得他成为目前最炙手可热的服务器,所以开发人员经常把tomact作为开发和调试JSP 程序的首选服务器。3.2 MySQL数据库MySQL是一个小型关系型数据库管理系统,该数据库特点鲜明:体积小,速度快,成本小代码开源,由于以上特点,很多小型的网站为了降低网站的运行成本总是Internet上的首先选择MySQL数据库。3.3 JAVA语言Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。其相关技术JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。3.4 JSP技术JSP(Java Server Pages)是一种动态网页技术标准。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。3.5 Struts2框架Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts 2是Struts的下一代产品,在 struts 和WebWork的技术基础上进行了合并。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开。4.系统的总体分析4.1系统的需求性分析我校的教学教务系统已有相应的毕业论文管理功能,但是这些管理流程注重论文的提交缺少的是学生,导师,院系管理员之间的交流和信息的传递,没办法实现完全的信息化,无法为广大师生提供更高效率的毕业论文管理服务。毕业论文管理项目时间跨度长,环节层次复杂的环节,主要步奏有:教师申报选题,学生和老师之间的相互选择,学生毕业论文的上传和下载,毕业设计答辩组的安排以及毕业设计成绩录入和公布,在其中的每一个环节都需要信息化管理的专业指导。毕业论文工作本身的性质要求毕业论文的管理信息系统必须存在两大特点,第一是过程可视性,即每一个环节信息都必须要验收、实现网络化审批与网络在线监督控制;第二是易管理性,即教师、学生、教务管理人员可在不同时间和不同地点登陆系统,但都可以遵循统一的业务逻辑和时间进度进行论文管理。本文将过程质量管理的理念引入到毕业论文管理系统的研发过程中,为提升毕业论文管理系统的实用性提供理论支撑。本系统采用B/S架构,登录用户没有时间和空间的局限,只要拥有联网的计算机便可以通过自己的账号密码登录系统,导师实现了远程指导学生工作,极大地提高了各项毕业论文指导和论文评阅的效率。而且系统还实现了各种答辩分组功能以及成绩公布功能,只要指导老师手边有打印机就可以熟练操作把需要的材料录入系统,实现远程的下载和上传。4.2 系统功能概述对本系统功能的定义:该系统的用户角色是学生、导师、各院系管理员和系统管理员。4.2.3学生角色个人信息的编辑和密码的修改,查看自己毕业论文的选择结果及院系管理员发布的毕业论文相关信息和公告,在毕业设计过程中如果遇到疑难问题时候通过在线传递消息寻求老师的帮助;实时关注老师发布的动态课题,碰到自己喜欢的课题时候进行选择;上传已经完成的论文,包括开题报告,中期报告 查看自己的答辩分组情况,查看自己最后的得分情况等;。论文选题:浏览所有导师已经发布成功的课题,并按照自己的意愿选择相应老师的论文课题;a) 任务相关:浏览公告,注意论文基本格式样张及下载相关的资料,在线疑难提问;b) 论文管理:开题相关文档的管理、论文相关文档的管理、设计相关文档的管理;c) 论文提交:提交毕业论文管理;d) 成绩管理:查看最后成绩考核4.2.4老师角色编辑个人信息,查看院系管理员和学生的消息,及时回复学生的信息以进行毕业设计的指导;展现已经获得院系管理员通过的课题;下载学生上传的资料;查看答辩分组情况a) 论文出题:教师上传论文题目,课题的简介等相关信息; b) 论文选题:针对选择自己的学生进行退选或者是确认选择,实现双向选择;c) 任务相关:公告浏览,论文基本格式样张的下载,相关参考资料的上传,解答学生 疑难;d) 表格提交:中期检查管理,下载学生的报告进行审核 ,对于不合格的进行发回重新修改,上传不同类型的资料,以便学生进行下载和查阅;e) 学生文档管理:对于学生提交的文档进行查阅和管理f) 成绩管理:对进行指导的学生进行论文成绩的评定。4.2.5院系管理员角色查看本院系的教师和学生的信息,对其进行修改;修改个人的信息;查看教师发布的课题以及学生选题的情况;论文中期检查的管理就是对学生上传的论文进行不定期的抽查、对于抽到的学生进行查看以及对非常不合格要求的论文进行删除操作,还有对某种论文形式上传时间开放的控制;论文选题:对教师论文出题进行审核然后再管理平台上发布,论文选题时间设置;a) 任务相关:上传论文基本格式样张,操作时间的开放控制;查看评阅各种论文形式;b) 中期检查:中期检查表审阅;c) 答辩管理:安排答辩教师分组;d) 成绩管理:汇总成绩4.2.6系统管理员角色管理员是系统的最高权限,可以不受限制的用系统提供的所有的功能。管理员功能如下:对于学校的基本信息进行维护、增删改学生和老师的基本的信息、修改自己的个人信息、查看和删除老师发布的论文题目,查看学生的选择论文情况。开放或关闭系统,初始化系统,导入相关用户注册信息;a) 日常管理:发布和删除日常的通知和发布消息,增删改学生的上传的资料,审查老师上交的论文题目;b) 后期管理:统计每个学生的论文进度,查看老师的上传文档的情况,统计和发布学 生的成绩;c) 论文加工:针对每一年的论文进行排版工作,以便以后可以进行查阅和抽查系统维 护:d) 系统维护:系统功能的扩充、删减与修改;4.3业务流图业务流程图是一种描述某个系统内各单位、各人员之间的业务关系并将其细化充分同时使用图形和箭头将作业顺序和管理信息流向表示的图表,流图利用它创造的物理模型可以利用帮助分析人员找出业务流程中的不合理流向。业务流程图描述的是完整的业务流程,缺点是一般没有数据的概念。简单来说,它就是一本用图形方式来反映实际业务处理过程的“流水账”。管理层指导教师学生发布开始消息建立毕业设计课题管理员发布教师的选题学生选择课题审核并安排使学生选题平衡发布学生选题分配结果学生查看分配结果教师查看分配结果图4.1 业务流程图-1教学秘书安排答辩教师分组学生查看答辩分组情况教师查看答辩分组情况提交毕业论文成绩上传外文译文参加正式答辩汇总毕业论文成绩发布毕业论文成绩学生毕业论文成绩查看教师毕业论文成绩查看结束,关闭系统管理层指导教师学生正式论文的查看教师正式论文的查看正式完整的论文提交过程文件提交定义学生过程文件提交学生过程文件评阅评阅结果查看教师过程文件提交系主任、教学院长不定期查看查看图4.2 业务流程图-2学生疑难提问疑难解答查看疑难解答发布任务书签订任务书撰写开题报告中期检查记录发布毕业设计参考文件教师查看参考文件学生查看参考文件4.4 数据流程图数据流程分析是把在组织内部的数据的流动情况独立地抽象表示。通过提取整个系统的集体组织机构、信息载体、处理工具、物资、材料等资源来考察实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等操作。数据流图(Data Flow Diagram,简称DFD)是一种图形化技术,描绘的是信息流和数据从输入移动到输出的过程在这过程中,其既提供了功能建模机制也提供了信息建模机制。 数据流程图是全面地描述信息系统逻辑模型的主要工具,它的特点是用少数几种符号就可以综合地反映出信息的流动、处理和存储情况顶层:各院系管理员P1初始化系统D1 用户信息表Excel导入数据库图 3.1 顶层数据流图第二层:P2登录系统P2.1个人信息P2.2选题管理P2.3过程管理P2.4答辩管理D1 用户信息表图3.2 第二层数据流图导师院系管理员毕业生 第三层:P2.1.1增、删、改D1 用户信息表图3.3 个人信息管理层数据流图教师院系管理员学生 第三层:老师P2.2.1建立选题P2.2.4上传任务书P2.2.7查阅开题报告D2 候选课题表P2.2.2审核、发布、设置时间院系管理员D3 选题表D4 教师文件表P2.2.3选题学生P2.2.5下载签订任务书P2.2.6上传开题报告D5 学生文件表图3.4 选题管理层数据流图任 务 书开题报告教师P2.3.2查看并解答P2.3.5评阅修改P2.3.8查看D6 交流信息表学生P2.3.1疑难提问P2.3.3查看解答P2.3.4上传中期论文D5 学生文件表P2.3.6参考修改P2.3.7上传正式论文D4 教师文件表院系管理员中期论文修改后中期论文正式论文P2.3.9中期检查D7 检查记录表P2.3.10审查上传上传图3.5 过程管理层数据流图老师师P2.4.2查看P2.4.3提交成绩院系管理员P2.4.1安排答辩小组P2.4.4汇总发布D8 答辩分组表学生D7 成绩表分组提交图3.6 答辩管理层数据流图5.系统的总体设计5.1 模块分析与整体设计毕业设毕业设计(论文)管理系统是为了实现普通高校的学生、指导老师和管理者的要求,实现管理的信息化和网络化。因此根据现实中的情况本系统设定四种用户角色分别是学生管理员模式、教师管理员模式,院系管理员模式、系统管理员模式,所以可以得到如图4.1所示的本系统的功能模块图。毕业设计(论文)管理系统学 生 管 理 员教 师 管 理 员院 系 管 理 员 系 统 管 理 员 图4.1 系统功能模块划分学生平台:学生根据自己已知的名字登陆系统,可以进行个人基础信息的维护;查看公告;还可以根据不同的阶段,进行相应的任务操作。l 选题阶段,学生进行一下操作:查询选课,选题操作,查看选题结果,下载选题相关的参考资料、下载任务书、上传开题报告。l 过程阶段,可操作的有:提出问题,查看留言,上传论文,查看过程文件的评阅结果,上传正式完整的论文。l 答辩阶段,可进行的操作有:查看答辩分组情况,上传外文译文,查看毕业论文成绩学生平台选题阶段过程阶段答辩阶段个人信息选 题 操 作查 看 选 题 结 果疑 难 解 答上 传 中 期 过 程 文 件上 传 完 整 正 式 论 文查 看 答 辩 分 组 情 况查 看 论 文 成 绩上 传 论 文 译文下 载 相 资 料图5.2 学生平台功能模块 图4.2 学生平台功能模块教师平台:指导教师根据已知的信息编号登陆系统,可以进行个人基础信息的维护;查看公告;还可以在论文的不同阶段,进行相应的任务操作。l 选题阶段,教师可以进行的操作有:上传拟定的课题,查看课题的审核结果,查看选题分配结果,上传选题相关的参考资料,发布任务书。l 过程阶段,教师可以进行的操作有: 查看疑难提问,疑难解答,评阅学生论文过程文件,中期检查记录,查看学生正式完整论文。答辩阶段,教师可以进行的操作有:查看答辩分组情况,提交学生毕业论文成绩。院系管理员平台:院系管理员根据已知的注册信息登陆系统,可以进行个人基础信息的维护;查看新闻公告;查看老师和学生的信息;还可以在不同的阶段,进行相应的任务操作。l 选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。l 过程阶段,院系管理员可以进行的操作有:查阅指导教师的中期检查记录,设置完整正式论文的提交期限,查阅学生完整正式论文。l 答辩阶段,院系管理员可以进行的操作有:安排设置答辩教师分组,汇总学生论文成绩并发布院系管理员平台选题阶段过程阶段答辩阶段个人信息正 式 发 布 选 题设 置 学 生 的 选 题 时 间查 阅 中 期 过 程 文 件查 阅 中 期 检 查 记 录设 置 正 式 论 文 提 交 期 限查 看 完 整 正 式 论 文汇 总 发 布 论 文 成 绩安 排 答 辩 教 师 分 组审 核 教 师 建 立 的 课 题解 决 双 向 选 择 的 冲 突图4.4 院系管理员平台功能模块系统管理员平台:是对系统所有信息进行维护,其权限具有的功能模块是:系统运行和系统维护。l 系统运行:初始化系统,更新每年老师和学生的相关角色信息;根据每年学校里对毕业论文安排的时间,开放或关闭该系统平台。l 系统维护:此模块又分为2 个子模块,菜单维护和权限分配,菜单维护是为了系统增加功能时使用,即功能扩展;权限分配是对管理员进行权限分配使用。院校维护:对学院、专业、年级等信息进行添加、修改和删除。教师维护:增删改老师的信息,实时的对于老师信息进行更新。学生维护:对学生的信息和学生类别进行维护,能够进行添加、修改和删除学生信息和学生类别信息。系统管理员平台系统运行系统维护初 始 化 系 统开 放 或 关 闭 系 统菜单维护功能扩删权限分配日 常 新 闻 公 告 的 管 理导 出 相 关 表 格 编 制 论 文 索 引院 校 信 息 的 维 护教 师 信 息 的 维 护学 生 信 息 的 维 护图4.5 系统管理员平台功能模块5.2 数据库设计和构建在本系统中所需要设计的数据库表如下表5.1所示。各表详细信息如表5.25.12所示。 表5.1 数据库表清单序号数据表数据库表存储内容1student存储学生信息2teacher存储教师信息3departments存储院系信息4sysadmin存储系统管理员信息5acadmin存储院系管理员信息6papers存储候选课题信息7paperSelection存储选题结果信息8defenseGroup存储答辩分组信息9defenseGroupDetails存储答辩分组细节信息10message存储疑难解答信息11document_student存储学生上传文件信息12document_teacher存储教师上传文件信息表5.2 学生基本信息表student字段名称字段定义数据类型是否主键是否外键studentNo学号int是studentName学生姓名varchar(20)否否password密码varchar(20)否否sex性别int否否mp手机号码char(11)否否paperID选题代号int否是departmentID院系编号int否是gradYear当前届别char(4)否否grade分数tinyint否否表5.3 教师基本信息表teacher字段名称字段定义数据类型是否主键是否外键teacherID教师代号int是否teacherName教师姓名varchar(20)否否password密码varchar(20)否否sex性别int否否mp手机号码char(11)否否maxStudentQty最多指导人数tinyint否否表5.4 院系信息表departments字段名称字段定义数据类型是否主键是否外键departmentID院系编号int是否departmentName院系名称varchar(100)否否departmentBrief院系简称varchar(20)否否acadminUserID院系管理员帐号varchar(20)否是Groups答辩组数tinyint否否表5.5 系统管理员基本信息表sysadmin字段名称字段定义数据类型是否主键是否外键sysadminUserID管理员代号int是否sysadminUserName管理员姓名varchar(20)否否password密码varchar(20)否否表5.6 院系管理员基本信息表acadmin字段名称字段定义数据类型是否主键是否外键acadminUserID管理员代号int是否acadminUserName管理员姓名varchar(20)否否password密码varchar(20)否否表5.7 候选课题信息表papers字段名称字段定义数据类型是否主键是否外键paperID题目标示(流水号)int是否teacherID出题教师代号int否是paperName题目varchar(100)否否content题目的主要内容varchar(5000)否否insertTime出题时间Date否否approved是否经过审核批准int否否表5.8 选题结果信息表paperSelection字段名称字段定义数据类型是否主键是否外键selectionID选题流水号int否否paperID题目标示(流水号)int是是studentNo学号varchar(20)是是selectTime选题时间Date否否reason选题原因varchar(500) 否否approved是否通过审核int 否否表5.9 答辩分组情况表defenseGroup字段名称字段定义数据类型是否主键是否外键groupID组号intgradYear毕业生届别char(4)teacherID组长代号int是departmentID院系int是secretaryID秘书代号int是表5.10 答辩分组细节信息表defenseGroupDetails字段名称字段定义数据类型是否主键是否外键id流水号int是groupID组号int是studentNo学号int是表5.11 疑难解答信息表message字段名称字段定义数据类型是否主键是否外键id流水号int是Content反馈内容varchar(20)studentNo学号varchar(20)是teacherID教师代号varchar(20)是Type1.老师to学生2.学生to老师intAddtime发表时间date表5.12 学生上传文件信息表document_student字段名称字段定义数据类型是否主键是否外键idInt是titleVarchar(20)docTypeIntaddressVarchar(100)studentNoVarchar(20)addtimedate表5.13 教师上传文件信息表document_teacher字段名称字段定义数据类型是否主键是否外键idInt是titleVarchar(20)docTypeIntaddressVarchar(100)teacharIDVarchar(20)addtimedate6. 系统的详细设计通过对本系统用户的综合分析,现将系统分为四个模块:学生用户模块、教师用户模块,院系管理员用户模块,系统管理员模块。本系统要实现的功能是帮助学校各部门与个用户间建立一个多功能的管理和被管理的平台,通过本系统的管理员模块来实现满足各用户的需求的功能并能随时随地做出相应的决策。本系统是以管理毕业论文相关信息为目的开展的,用户登录后要求系统提供一套完整的机制与用户保持紧密的联系。因此本系统采用可视化的方式便于用户操作,而大部分的操作又具有独立性,这样既为管理论文的相关信息提供了一个互连网络的平台又使部分教学管理变得可视、简单、快捷。系统确定的用户类型和权限如下: 1)学生角色查看自己的指导教师及院领导发送的毕业论文相关信息,给自己的指导教师发送消息以解决设计过程中的疑难问题;在线选择教师发布的自己感兴趣的课题;上传论文,包括开题报告,中期报告等;还有个人信息的编辑和密码的修改。 2)导师查看院系管理员和学生的消息,及时回复学生的信息帮助学生进行毕业设计,实时的指出学生的不足;发布已经通过审核的课题;下载学生上传的论文查阅;编辑个人信息,改变密码和个人信息。 3)院系管理员对本学院的师生发布实时消息;查看教师发布的课题以及学生选题的情况;不定时的对于学生上传的论文进行查看、下载以及对不满足要求的论文步骤进行删除操作、增删改本院系的教师和学生;个人信息的修改。 4)系统管理员拥有本系统的最高使用权限,可以不受限制的用系统提供的所有的功能。管理员利用自己的信息登录后可以对本系统的基础信息进行修改和更新,其中包括修改自己所在院系的论文题目的审核通过,对于学生论文进度的不定期查看,对于对于论文答辩小组的合理安排,对于本院系学生成绩的发布。系统管理员还可以对新闻进行发布、修改、删除,及时向其他角色进行消息的发布。7.系统功能的具体实现7.1 登录部分的设计当四种类型用户使用用户名与密码进行登录时,系统首先进行判定是不是有一项没有填写,然后进行连接数据库调用该对象的各种属性,并将用户输入的信息与该对象的属性相比较,若用户输入的信息与数据库里的信息相符则能够成功登录本系统;若数据库中不存在该用户名或密码不正确则无法登录系统。用户打开浏览器,在地址栏输入http:/localhost:8080/paperManager/login 即可出现用户登界面如下图7.1。图7.1 用户登陆界面图在该界面中首先对于界面实现js校验 ,判定是不是有名字或者密码没有填写,如果是直接提示弹出对话框,如果两个均存在,进行进一步校验,进行连接数据库,传入用户名,首先遍历所有用户名,如果用户名不存在,则弹出对话框,如果用户名存在数据库中,则利用用户名获取数据库中相同的用户信息进行密码的比对。如果成功就进入学生界面,如果不成功则弹出对话框显示用户名不正确首先识别用户名和密码:while (!selall.isEmpty() if (a.getPassword().equals(null) this.addActionError(用户名不存在!);re = false; else if (a.getPassword().equals(this.password) re = true; else this.addActionError(密码错误,请重新输入密码!);re = false; selall.remove(0);然后识别用户角色,页面跳转:if (2.equals(r_logintype) a = dao.selectAll_acadmin();if (compare(a) System.out.println(right!);returnUrl = login_acadmin;else this.addActionError(用户名或密码不匹配!);returnUrl = login;7.2 学生个人信息管理部分的设计学生使用学号及密码登录后可实现以下功能:1) 显示自己信息:学生在本页面中可查看到本人信息,因学生用户信息是直接导入的数据表,可能会与实际情况稍有出入,如有不符可联系管理员进行修改。2)浏览论文题目:在此页面中,学生用户可查看到所有经管理员审核通过后发布的毕业论文题目,题目后均有该题目的简要说明。3)查询论文题目:在此页面中,提供了模糊查询的方式 输入老师的姓名就会出现该老师所有的论文题目,方便学生选题。4)选题:在此页面中,学生可对自己感兴趣的论文题目进行选择,每位学生在一定的时限内可以修改所选的论文题目。每位指导教师所带的学生不能超过五个。5)提交文档:学生可在此页面中向教师提交自己定稿的开题报告及毕业论文文档,供教师初审。初审合格后由教师上传给管理员,否则教师将修改信息反馈给学生,学生可在查看提交的论文情况页面中查看到教师的反馈信息。6)留言答疑::学生在此页面中,可以留下自己的难点和不懂之处,告诉老师,通过老师进行解答,7)查看成绩:在此页面中,学生可查看到自己的毕业论文成绩和答辩成绩7.2.1学生登录后的界面如图图7.2 成功登陆的学生首页7.2.2查看个人资料图7.3 学生管理员信息显示在该页面中,用户可以根据自己的实际情况进行对于已经改变的信息进行操作,但是由于学生用户的学号具有单一性无法重复同时学生的学号具有一定的规律性,这个规律是由不同的院系管理员根据某个时间规律规定,比如2011级学生的学号是201113250*,普通的学生没有权利进行改变,所以在学生修改信息的选项中没有学校的选项具体实现的代码如下:public void studentInfo() StudentEntity student = new StudentEntity();student.setStudentNo(this.loginUser);StudentDao dao = new StudentDao(student);try dao.initConn();student = (StudentEntity) dao.select();this.setStudentNo(student.getStudentNo();this.setStudentName(student.getStudentName();this.setPassword(student.getPassword();this.setSex(student.getSex();this.setMp(student.getMp();this.setDepartmentID(student.getDepartmentID();this.setGradYear(student.getGradYear();mit();dao.closeConn(); catch (Exception e) e.printStackTrace();7.2.3论文选课的实现 图7.3 学生管理员选课信息显示在该界面中学生用户可以看见不同老师的论文的题目,这些都是经过院系管理员删选后的合格的题目,在这些题目中,学生可以通过自己的兴趣进行选择 因为在本系统中是老师和学生之间相互选择,为了提高自己在首轮选择中被老师选中的几率,本系统增加了简述自己在选该论文题目中的优势,为了增加学生的选择多样性,有些学生在最初选择时候会选择犹豫,本系统特别增加了多项选择的功能,一个学生可以选择多个老师的多个论文题目,当老师对于学生的选择做出判定以后,如果学生仍有多个选择,可以通过退选功能保证自己论文的唯一性具体实现的代码如下:public String save() throws Exception System.out.println(PaperSelectAction EXECUTE);getloginUser();System.out.println(selPaper save + selpaper0);if (selpaper = null) System.out.println(请选择你要选择的论文题目); else for (int i = 0; i selpaper.length; i+) Calendar cal = Calendar.getInstance();SimpleDateFormat formatter = new SimpleDateFormat(yyMMddHHmmss);selectionID = formatter.format(cal.getTime();System.out.println(PaperSelectSave run! + selpaperi);PaperSelectEntity ent = new PaperSelectEntity();System.out.println(this.reason1i);ent.setSelectionID(this.selectionID);ent.setStudentNo(this.getStudentNo();ent.setPaperID(this.selpaperi);ent.setReason(this.reason1i);ent.setSelectTime(null);ent.setApproved(0);PaperSelectDao dao = new PaperSelectDao(ent);try dao.initConn();int count = dao.insertSelected();mit();dao.closeConn();System.out.println(count); catch (Exception e) e.printStackTrace();this.addActionError(您已经选过该课题!);return PaperInfo;7.2.4上传文件的实现图7.4 学生管理员文件上传在该页面中学生和老师之间进行网上的资料的传递,同学将自己已经完成的资料上传给老师,由老师进行修改和评价,该资料包括开题报告,论文文档,论文所需要的附件材料具体实现的代码如下:public void studentInfo() StudentEntity student = new StudentEntity();student.setStudentNo(this.loginUser);StudentDao dao = new StudentDao(student);/设置学生的id是try dao.initConn();student = (StudentEntity) dao.select();/找到数据库的学生的信息通过的是 idthis.setStudentNo(student.getStudentNo();this.setStudentName(student.getStudentName();this.setPassword(student.getPassword();this.setSex(student.getSex();this.setMp(student.getMp();this.setDepartmentID(student.getDepartmentID();this.setGradYear(student.getGradYear();mit();dao.closeConn(); catch (Exception e) e.printStackTrace();7.2.5在线答疑图7.5 学生管理员在线留言界面在该界面中,学生可以和老师进行网上留言 ,学生可以针对论文中不懂的问题在该界面中和老师进行交流,由老师提出意见和指导,这样就可以使得老师和学生之间的交流变得更加的频繁,有效的解决了了因为老师和学生因为地域和时间的不同导致的论文进度拖拉的问题,实现论文的最优化服务,同时本页面还显示老师和学生的聊天记录,这样更加方便学生对于问题的加深了解和解决7.2.6论文成绩的公布图7.6 学生管理员成绩公布界面在该界面中,学生可以查看自己在论文中的总成绩,该成绩是由系统管理进行统一发布7.3 导师信息管理部分的设计7.3.1导师管理部分的设计教师用户使用教工号及密码登陆后可实现以下功能:1)提出论文题目:教师在本页面中,可将准备的毕业论文题目上传至管理员处审核,提出论文题目的同时要具有该题目的简介。2)查看选择论文情况:教师用户在本页面中,可查看有哪些学生选择了自己的论文
展开阅读全文