毕业设计管理系统的开发_第1页
毕业设计管理系统的开发_第2页
毕业设计管理系统的开发_第3页
毕业设计管理系统的开发_第4页
毕业设计管理系统的开发_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-PAGEI-摘要从目前高校毕业设计管理中存在的问题出发.开发一套基于B/S的网络毕业设计管理系统。通过毕业设计管理过程分析.进行了系统需求研究、系统结构设计和系统用户界面设计,实现了毕业设计管理中的选题、过程管理、资料汇总的各项功能。有着很大的实际意义。毕业设计管理系统对学校加强学生毕业设计管理有着极其重要的作用。由于近几年各个大学学生的数量日益庞大,传统的手工管理不仅工作量大,而且容易出现问题。另外,学生的信息要用到学校教务管理的各个方面,所以一旦学生毕业设计管理出现了错误,后果往往是非常严重的。传统手工的学生毕业设计管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了对学生毕业设计管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。一个完整的科学的毕业设计管理流程需要从导师根据自己的研究领域给出一些自己的课题或熟悉的题目,或学生自己事先跟老师说好的项目,要求导师带。管理员把教师的课题放在系统上,让学生选择自己喜欢的项目,最后导师再确定其要带的学生。如果学生选的课题为能被相应的教师选上,则要进入第二次的选题,直到每位毕业生和教师都有课题为止。确定题目之后就是写开题报告,进行开题答辩。导师进行指导。开始做毕业设计。交毕业设计论文,进行毕业答辩。当然系统还应该有新闻发表,以及导师答辩组分配等一些功能。使用JCreatorPro及mysql数据库作为开发工具,利用面向对象的结构和B/S三层结构的设计方法,基本实现了毕业设计管理。关键字:B/S架构,mysql,面向对象

AbstractCollegegraduatesfromthecurrentdesignmanagementontheproblem,Developinganetworkbasedonthisarchitecturegraduatedesignmanagementsystem.Throughgraduationdesignmanagementprocessanalysis.Thedemandforsystem,Systemarchitecturedesignanduserinterfacedesign.Hadgraduatedfromthedesignandmanagementoftopics,processmanagement,datacompilationofvariousfunctions.Havegreatpracticalsignificance.Graduationmanagementsystemforschoolstoimprovestudentsgraduatedesignmanagementhasanextremelyimportantrole.Duetovariousuniversitiesinrecentyearsthenumberofstudentsincreasing,Traditionalmanualmanagementisnotonlytheheavyworkload,butalsopronetoproblems,Inaddition,studentsusetheinformationtoschoolsteachingmanagementinallaspects,Sooncethestudentsgraduatedesignmanagement,thewrong,theconsequencesareoftenveryserious,Traditionalmanualdesigngraduatesformanagementprocesstediousandcomplicated,lowefficiency,andeaseofmistakes,Throughsuchasystem,wecanstandardizeinformationmanagementandrapidinquiry,Implementationofthestudentsgraduatedesignmanagementsystem,standardizationandautomation,Thiswillnotonlyreducetheworkloadmanagement,andimprovethemanagementefficiencyandreducethecostofmanagement.Acompletescientificprocessdesignandmanagementgraduatefromtheneedforteachersonthebasisoftheirareasofresearcharegivenonsomeofhisownsubjectsfamiliarwiththesubject,orstudenttoldtheteacherpriorgoodproject,requiringatutor.Administratorsputteachersonthesubjectsystem,allowingstudentstochoosetheirownfavoriteprojects,Finallyinstructorstoconfirmitsleadingstudents.Ifstudentschoosetobesubjecttothecorrespondingteacherselected,willhavetoenterthesecondroundoftopics.untileveryonegraduatesandteachershavesubjectposition.Afterasettopicthatthereportwasopened,thatopenedinreply.Instructorguidance.Startedgraduatedesign.GraduationThesispayforgraduationreply.CertainlysystemshouldhavenewsandtrainersreplyGroupdistributionfeatures.JCreatorProandtheusemysqldatabasedevelopmenttool,theuseofobject-orientedstructureandB/Sthree-tierstructureofthesystem,hadgraduatedfrombasicdesignmanagement.Keywords:B/Sstructure,mysql,object-oriented目录目录摘要 IAbstract II第一章引言 1第二章开发环境介绍 32.1开发工具JCreatorPro 32.2运行环境tomcat 32.3J2EE体系结构 4第三章系统分析 53.1问题的提出 53.2分析问题 53.3系统设计目标 63.3.1系统设计的长远目标:实现完善的毕业设计管理系统 63.3.2系统设计近期 7第四章系统总体设计 84.1数据流图 84.2部分数据字典 84.3E-R图 94.4功能模块 94.4.1程序层次 94.4.2模块功能说明 104.5系统数据表 114.5.1教师信息表 114.5.2课题信息表 11第五章系统详细设计 125.1根据选择学生和教师的流程图 125.2学生毕业设计流程图5.2所示: 13第六章编码实现与测试 15第七章程序界面 27第八章总结与展望 318.1总结 318.2心得体会 32致谢 33参考文献 34第一章引言根据指导老师的要求,本次毕业设计的题目是信息学院毕业设计管理系统,要求利用JSP,JAVA语言完成管理平台设计,构造所用的类库;使用mysql数据库存储数据,使用范围是毕业生及其指导老师。学校的毕业设计管理往往是很复杂,繁琐的,由于掌握的信息众多,选题,管理,交开题,答辩。而每个学生做的课题各有差异,指导教师的指导安排和管理方式也不尽相同,各类统计计划填表众多,因此毕业设计管理必须实现计算机化,而且必须根据每个学校的毕业设计流程,具体情况制定以便提高工作效率。根据当前一般高校对毕业设计管理环节的调查,一般毕业设计管理环节,总是先确定导师和课题,有了课题,导师就可以根据学生的课题指定指导计划,学生提交开题报告,进行开题答辩,然后再做毕业设计,上交毕业论文,进行论文答辩。导师根据学生答辩情况给出成绩。所以一个完整的毕业设计管理系统应该包含登陆管理,新闻管理,统计管理,选课管理,教师管理等到模块。其中选课管理是整个毕业设计管理系统的核心。随着科学技术特别是信息工程、计算机技术等高科技技术的飞速发展和普及,当今世界已进入到了信息时代。企业和组织要求信息处理的数量越来越大,速度越来超快。为了让管理者及时掌握准确、可靠的信息,以及执行之后构成真实的反馈,必须建立一个功能齐全和高效率的信息管理系统。信息管理系统采用以电子计算机为主的技术设备,通过自动化通信网络,与各种信息终端相连接,利用完善的通信网,沟通各方面的联系,以保证迅速、准确、及时地收集情况和下达命令。学校在毕业设计环节上现在普遍存在的问题是:信息化不足,计算机使用率低,大量的日常工作皆是手工处理,因此工作效率低落,学校内部沟通不良,包括教师和教师,学生和教师等等问题很难克服。要提学校在毕业设计环节上的效率,学校的内部信息化是不可缺少的一个步骤。实施先进的办公室自动化系统,实现学校内部信息管理、共享及交流,才能让在争创一流高校中取得先机。进入21世纪后,大学毕业生就业压力的不断加大,现在每个家长都关心孩子选择怎样的大学问题,随即而来就是名牌大学与普通大学的区别,所以大学之间的竞争是存在的。我们都知道全国每年都有大学之间的综合排名,如何在大学的竞争中取得先机,大学内的信息化是非常关键的。好的大学其信息化程度一定很高,只要把学校管理的井井有条可,学校的教学质量才会上去,教师的教学质量,学生的素质才能上去,学校的综合水品才能提高。毕业设计管理系统也是提高学校信息化的基本系统,每个大学都应该有这样的系统。针对我们学校现在毕业设计环节上存在的问题,本文设计一个选题,选老师,安排答辩分组为主,具有一定智能特性和网络特性的管理系统。该系统不仅能智能的控制毕业设计的各个环节,而且还具有操作方便、便于纠错的特点。概括起来系统的优点如下:(1)用户基本资料一次性建立,便于规范控制。(2)学生和老师有双向选择的功能,使得更人性更科学。(3)根据教师和学生的差异,选择合理的毕业设计课题,所其能正常的开展工作。(4)新闻发布系统使得学生和教师能在第一时间得到相关信息。(5)教师答辩组能灵活的调节答辩人员,提高效率。本文主要阐述了毕业设计管理系统的设计目标,系统要求、总体设计、详细设计、测试等。最后是本次毕业设计的总结和体会。最初本着尽可能多的对毕业设计各个环节上的处理都很合理的原则,对学生选导师选学生,学生选课题,进行答辩分组,提交毕业开题报告,论文等要求设计了这套管理软件,但在设计的过程中发现许多实际问题非常复杂,软件很难控制,本着能自动化的尽量自动化,不容易实现自动化的则人为操作,由于能力有限和时间的限制,系统的设计难免会存在不足之处,敬请各位同学、老师不吝赐教。

第二章开发环境介绍2.1开发工具JCreatorProJCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编译器,向导功能以及完全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编译或运行我们的JAVA程序。JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适当的工具。在JCreator中,我们可以通过一个批处理同时编译多个项目。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。2.2运行环境tomcattomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。

2.3J2EE体系结构J2EE是一种利用Java2系结构。J2EE技术的基础就的许多优点,例如"编写以及能够在Internet应用中JavaBeans)、JavaServle最终目的就是成为一个能够平台来简化企业解决方案的开发是核心Java平台或Java2平台的次、随处运行"的特性、方便存保护数据的安全模式等等,同时tsAPI、JSP(JavaServerPag使企业开发者大幅缩短投放市场、部署和管理相关的复杂问题的体标准版,J2EE不仅巩固了标准版中取数据库的JDBCAPI、CORBA技术还提供了对EJB(Enterprisees)以及XML技术的全面支持。其时间的体系结构。

第三章系统分析3.1问题的提出现在学校存在的问题是:毕业设计管理的信息化不足,计算机使用率低,大量的日常工作皆是手工处理,因此工作效率低落,学校内部沟通不良等等问题很难克服,毕业设计管理不合理,不能及时的与学生进行沟通。学校希望解决的问题是:缺少一个集成的信息平台和信息系统,使得毕业设计管理环节错综复杂,很多的工作都重复的做,浪费时间和精力,而且做得也不好。第一步确定导师和毕业设计题目,学校这一步做得非常不科学,现在的做法是导师和学生随机的安排在一起,要是教师有自己想带的学生,或则教师做的领域与学生要做的毕业设计不一致,这样的话,无论是教师和学生,对开展以后的工作都是不利的。缺少教师和学生的双向选择功能。第二步是学生选择毕业设计的课题之后,很少有得到教师的精心指导,使得学生遇到苦难的时候没人帮助,常常出现学生找不到导师,导师找不到学生的问题。需要学生和教师的信息表,使得沟通起来较为容易。有了毕业设计的课题,教师对课题应该有明确的要求,不能任学生随心自己的做。答辩的时候需要有一个即时的分组,使得学生清楚自己答辩的时候会面对怎么样的导师。学生对毕业设计的开题报告格式,时间期限等也没有够及时的知,所以需要一个新闻系统,随时更新最新消息。当然了在实际的运用中也难免需要接触到很多表格的填写,我们还需要一个表格的下载功能。这样一来学生随时可以根据学校的要求打印并填写表格提交给学校汇总保存。3.2分析问题毕业设计是每个学校重要的一个教学环节,一般分为,确定导师,确定课题,写开题报告,进行开题答辩,导师指导,学生完成毕业设计,写毕业论文。进行毕业论文的提交。合格之后进行毕业答辩,给定毕业答辩成绩。其具体流程:首先是导师根据自己的擅长领域给出相应的课题,然后学生根据自己的情况选择合适自己的课题和导师,或则导师有预留的学生带,导师再最终定下自己要带的学生和课题,没有被选的学生进入第二次选题。有了导师和课题,学生就可以写开题报告,开题报告的书面资料需要去在网上下载,根据学校要求认真填写,然后再上交指导教师确定是否可以通过。接着就是学生根据自己的课题,收集有关资料完成系统的分析,代码的编写,完成自己系统,再次给指导老师通过批准,上交教务处,通过之后进行毕业答辩。给定成绩。其中的节涉及的问题是。第一,导师和学生之间要完成一个双向的选择,导师可以根据需要预定一些自己想要带的学生。第二有了导师的选择。选课题的时候就要根据自己导师的研究领域选择合适自己的课题,那样导师才可以有效率的对学生的课题进行指导。下载网上学校规定的格式,完成开题报告和毕业设计。需要对导师进行分组答辩,需要有教师管理,还需要有新闻管理。只有完成了对这些环节上处理。才能使系统有效的完成理想的工作。从根本上说,学校就是一个利用资源(人、财、物、时间),为教师和学生提供有效率的服务,学校就是对这些资源进行计划、调度、控制、衡量、改进的管理技术和信息系统。如果一个毕业设计管理系统能真正想要最大限度地提高其办事效率,它必须能够非常融洽地和其他关键性的部门进行交流。3.3系统设计目标3.3.1系统设计的长远目标:实现完善的毕业设计管理系统1.系统运行集成化:这是系统在技术解决方案方面最基本的表现。此系统是对选导师、选课题、分配教师,信息发布进行一体化管理的软件系统,其核心管理思想就是实现对学生毕业设计的管理。软件的应用将跨越多个部门。为了达到预期设定的应用目标,最基本的要求是系统能够运行起来,实现集成化应用,建立完善的数据体系和信息共享机制。一般来说,如果仅在教务处应用,只能实现教务管理规范化、改善教务员对学生毕业设计的管理;仅在学生对象上应用,只能加强和改善学生对毕设的信息管理;仅在教师方面应用,只能帮助其掌握学生的毕设信息。只有集成一体化运行起来,才有可能达到:学生,导师,教务人员三者的和谐。这三个对象才能即时有效的相互沟通。这些目标能否真正达到,还要取决于学校对毕业设计流程重组的实施效果。2.设计流程合理化:这是系统应用成功在改善管理效率方面的体现。毕业设计管理系统应用成功的前提是必须对学校毕业设计流程环节十分熟悉,因此,系统的应用成功也即意味着学校对毕业设计环节上的流程趋于合理化,并实现了系统应用的以下几个最终目标:学生对学校的毕设信息清楚;教师都清楚学生的即时动态;教务员清楚学生的毕设完成情况。3.监控动态化:系统的应用,将为学校提供丰富的管理信息。如何用好这些信息并在学校管理和决策过程中真正起到作用,是衡量系统应用成功的另一个标志。在系统完全投入实际运行后,学校应根据管理需要,利用系统提供的信息资源设计出一套动态监控管理变化的报表体系,以期即时反馈和纠正管理中存在的问题。这项工作,一般是在系统实施完成后由学校设计完成。企业如未能利用系统提供的信息资源建立起自己的绩效监控系统,将意味着系统应用没有完全成功。4.改善持续化:随着系统的应用和学校毕业设计流程的合理化,学校管理水平将会明显提高。为了衡量学校管理水平的改善程度,可以依据管理咨询部门提供的学校管理评价指标体系对学校管理水平进行综合评价。评价过程本身并不是目的,为学校建立一个可以不断进行自我评价和不断改善管理的机制,才是真正目的。这也是系统应用成功的一个经常不被人们重视的标志。3.3.2系统设计近期(1)用户基本资料一次性建立,便于规范控制。(2)学生和老师有双向选择的功能,使得更人性更科学。(3)根据教师和学生的差异,选择合理的毕业设计课题,使其能正常的开展工作。(4)新闻发布系统使得学生和教师能在第一时间得到相关信息。(5)教师答辩组能灵活的调节答辩人员,提高效率。(6)下载打印页面能即时的得到一手的书面资料。第四章系统总体设计4.1数据流图顶层数据流图如图4.1所示图4.1毕业设计管理系统顶层数据流图4.2部分数据字典数据流图描述了系统的分解,但没有对图中各成分进行说明,数据字典就是为了数据流图的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。因篇幅限制,每样仅举例说明教师=教师编号+登陆号+密码+姓名+权限+年龄+职称+所属组+家庭电话+移动电话+EMAIL地址。学生=学生编号+登陆号+密码+姓名+年龄+职称+所属班级+家庭电话+移动电话+EMAIL地址。课题=课题编号+名称+英文名+教师编号+学生编号+进行方式+课题类型+研究方向。新闻=新闻编号+名称+内容+发布时间。预留课题=预留课题编号+名称+英文名+教师编号+学生编号。4.3E-R图图4.1.1是学校各个部门的分布图4.4功能模块4.4.1程序层次程序层次如图4.1所示:图4.1程序层次图4.4.2模块功能说明当用户登陆的时候检查其是否是学生,导师或管理员。如果不是则会提示错误。4.2登陆验证图4.5系统数据表4.5.1教师信息表表4.5.1教师信息表4.5.2课题信息表表4.5.2课题信息表第五章系统详细设计5.1根据选择学生和教师的流程图说明:学生导师的时候分为2种情况,第一种是学生已经被导师预留为自己要到带的学生。具体说是老师已经有项目给学生做,或学生自己有项目而且也于导师说好。第二种情况是没有被任何导师预留。没有预留的学生可以根据就要根据导师给出的那些课题中选择自己喜欢的课题,预留的学生一般来说不会再去选择其他的导师。有了预定的导师和课题,接下去就是导师确定其学生。图5.1选学生和课题设计流程图5.2学生毕业设计流程图5.2所示:图5.2学生毕业设计流程图毕业设计的流程图从毕业生开始做开题报告开始,首先有了课题的学生根据自己的课题去收集有关自己课题的资料。进行分析研究,在经过指导教师的指点,完成毕业设计的开题报告,然后导师在根据学校对毕业设计开题报告的格式要求和内容对学生交上来的开题报告进行评价。看其是否符合要求。如果毕业设计开题报告完成了,下一步就开始做毕业设计。做毕业设计是个不小的任务。首先要收集跟多的资料,然后还要进行不断的导师指导,完成需求分析,和代码的编写。然后再进行功能模块的测试。最后再完成毕业论文,导师首先要根据你做的毕业设计进行综合评价。直到导师认为你已经可以进行毕业答辩阶段。通过了毕业设计的论文,接着就是毕业毕业设计的答辩,答辩会有一个专门的答辩小组对学生进行答辩,按照毕业设计的难易情况,完成程度给分。最后给出一个最后的成绩。

第六章编码实现与测试6.1导师添加课题代码:6.1.1JSP:通过一个表单把页面上的课题信息提交:<formname="form_1"method="post"action="tea_ktsbLogin.jsp?id=<%=id%>">//创建一个表单form_1,通过表单的提交就可以把数据传到下tea_ktsbLogin.jsp页面了<tablewidth="630"height="319"border="0"><tr><tdheight="15"colspan="4"bgcolor="#C8DEDA"><divalign="center"><%=tea_name%>老师您好!以下是您填写要申报的课题信息!</div></td></tr><tr><tdwidth="56"height="15"bgcolor="#D7E6E4">课题*</td><tdcolspan="3"bgcolor="#E8E9B8"><divalign="left"><inputtype="text"name="sub_name"size="60"maxlength="100">(课题中文名,最多50字)</div></td>//创建一个TEXT的文本框,填入要填写课题的中文名字。</tr><tr><tdheight="15"bgcolor="#D7E6E4">SUBJECT*</td><tdcolspan="3"bgcolor="#E8E9B8"><divalign="left"><inputtype="text"name="sub_eng"size="60"maxlength="100">(课题英文名,最多100个字)</div></td>//创建一个TEXT的文本框,填入要填写课题的英文名字。</tr><tr><tdheight="115"rowspan="2"bgcolor="#D7E6E4">课题属性*</td><tdwidth="192"height="20"bgcolor="#E8E9B8"><divalign="left">题目类型<br></div></td><tdwidth="188"bgcolor="#E8E9B8"><divalign="left">进行方式<br></div></td><tdwidth="176"bgcolor="#E8E9B8"><divalign="left">题目来源<br></div></td></tr><tr><tdbgcolor="#E8E9B8"><selectname="style_id"> <optionvalue=""></option><%inta=0; StyleDAOsb1=newStyleDAO(); Vectorvect1=sb1.getStyleInfo();通过方法getStyleInfo()获得该课题的课题属性、 for(a=0;a<vect1.size();a++){ StyleEntityentity1=newStyleEntity(); entity1=(StyleEntity)vect1.get(a); %><optionvalue="<%=entity1.style_id%>"><%=entity1.style_name%></option> <%}%></select></td><tdwidth="188"bgcolor="#E8E9B8"><selectname="mode_id"><optionvalue=""></option> <%intb=0; ModeDAOsb2=newModeDAO(); Vectorvect2=sb2.getModeInfo(); for(b=0;b<vect2.size();b++){通过方法getModeInfo()获得该课题的进行方式、 ModeEntityentity2=newModeEntity(); entity2=(ModeEntity)vect2.get(b); %><optionvalue="<%=entity2.mode_id%>"><%=entity2.mode_name%></option> <%}%></select></td><tdwidth="176"bgcolor="#E8E9B8"><selectname="origin_id"><optionvalue=""></option> <%intc=0; OriginDAOsb3=newOriginDAO(); Vectorvect3=sb3.getOriginInfo(); for(c=0;c<vect3.size();c++){通过方法getOriginInfo();获得该课题的题目来源、 OriginEntityentity3=newOriginEntity(); entity3=(OriginEntity)vect3.get(c); %><optionvalue="<%=entity3.origin_id%>"><%=entity3.origin_name%></option> <%}%></select></td></tr><tr><tdheight="88"bgcolor="#D7E6E4">课题简介*</td><tdcolspan="3"bgcolor="#E8E9B8"><textareaname="sub_intr"rows="4"cols="90"></textarea>//创建一个textarea的文本框,填入要填写课题的简介。</td></tr><tr><tdheight="6"bgcolor="#D7E6E4">对选报课题学生的要求</td><tdcolspan="3"bgcolor="#E8E9B8"> <textareaname="sub_rec"rows="2"cols="90"></textarea> 注:非强制条件!</td>//创建一个textarea的文本框,填入要填写课题的学生的要求。</tr><tr><tdheight="2"bgcolor="#D7E6E4">所带学生专业</td><tdcolspan="3"bgcolor="#E8E9B8"><divalign="left"><selectname="pro_id"> <optionvalue=""></option><%intd=0; ProfessionDAOsb4=newProfessionDAO(); Vectorvect4=sb4.getProfessionInfo();//通过方法getProfessionInfo()从数据库中查找出学院里的所有专业!为了方便你可以选择针对学生专业。只有这些专业的学生才可以选择该课题。当没有选择该专业的的时候,就表明学院里的学生都可以选这个课题。 for(d=0;d<vect4.size();d++){ ProfessionEntityentity4=newProfessionEntity(); entity4=(ProfessionEntity)vect4.get(d); %><optionvalue="<%=_id%>"><%=_name%></option> <%}%></select>注:为空即所有专业的学生皆可选该课题!</div></td></tr></table> <tablewidth="760"align="center"><tralign="center"><tdwidth="100%"><inputname="button"type="button"class="sbutton"onclick="goSubmit()"value="确定"/><inputname="reset"type="reset"class="sbutton"value="重置"/>//给出一个按钮,当写完上面的课题属性的时候,就可以按按钮把表单提交上去了<inputname="button"type="button"class="sbutton"onclick="location.replace('tea_bsgl.jsp')"value="返回"/></td></tr></table></form>6.1.2表单提交后中间处理页面:<%//课题编号不明??????//根据教师id从教师表查询研究所编号Stringid=request.getParameter("id");TeachersDAOsb1=newTeachersDAO();Vectorvect1=sb1.getTeachersInfo(id,"tea_id");TeachersEntityentity1=newTeachersEntity();if(vect1.size()>0)entity1=(TeachersEntity)vect1.get(0);Stringyjs_id=entity1.yjs_id;//根据教师id将教师表中的教师所带学生数加1inttea_stunum=Integer.parseInt(entity1.tea_stunum);tea_stunum++; entity1.tea_stunum=Integer.toString(tea_stunum); booleanflag2=sb1.updateTeachersInfo("1",entity1,"edit");//根据研究所编号从研究所表查询研究所名称YjsDAOsb2=newYjsDAO();Vectorvect2=sb2.getYjsInfo(yjs_id);YjsEntityentity2=newYjsEntity();if(vect2.size()>0)entity2=(YjsEntity)vect2.get(0);//Stringyjs_name=ConvertEncoding.getGB(entity2.yjs_name);//在课题表里插入一项新的记录//ConvertEncodingconvertEncoding=newConvertEncoding();SubjectEntityentity3=newSubjectEntity();entity3.yjs_name=entity2.yjs_name;entity3.sub_name=request.getParameter("sub_name");entity3.sub_name=ConvertEncoding.getGB(entity3.sub_name);entity3.sub_eng=request.getParameter("sub_eng");entity3.sub_eng=ConvertEncoding.getGB(entity3.sub_eng);entity3.style_id=request.getParameter("style_id");//entity3.style_name=ConvertEncoding.getGB(entity3.style_name);entity3.mode_id=request.getParameter("mode_id");//entity3.mode_name=ConvertEncoding.getGB(entity3.mode_name);entity3.origin_id=request.getParameter("origin_id");//entity3.origin_name=ConvertEncoding.getGB(entity3.origin_name);entity3.tea_id=id;_id=request.getParameter("pro_id");//_name=ConvertEncoding.getGB(_name);entity3.sub_rec=request.getParameter("sub_rec");entity3.sub_rec=ConvertEncoding.getGB(entity3.sub_rec);entity3.sub_intr=request.getParameter("sub_intr");entity3.sub_intr=ConvertEncoding.getGB(entity3.sub_intr); SubjectDAOsb3=newSubjectDAO(); booleanflag1=sb3.updateSubjectInfo(entity3,"insert");%>6.1.3Java:更新课题:publicbooleanupdateSubjectInfo(SubjectEntityentity,Stringflag){if(flag==null||flag.equals("")){flag="edit";}if(!flag.equalsIgnoreCase("edit")&&!flag.equalsIgnoreCase("insert")){returnfalse;}//建立数据库连接,把该课题的基本信息显示在课题的相应位置上,如果带课题的属性有缺的,则要进行处理,把他变成“”。DbConnectionconn=newDbConnection();Vectorvect=getSubjectInfo(entity.sub_id,"sub_id");SubjectEntityentity1=newSubjectEntity();if(vect.size()>0){entity1=(SubjectEntity)vect.get(0);}if(entity.sub_id==""){entity.sub_id=entity1.sub_id;}if(entity.sub_name==""){entity.sub_name=entity1.sub_name;}if(entity.sub_eng==""){entity.sub_eng=entity1.sub_eng;}if(entity.style_id==""){entity.style_id=entity1.style_id;}if(entity.mode_id==""){entity.mode_id=entity1.mode_id;}if(entity.origin_id==""){entity.origin_id=entity1.origin_id;}if(entity.tea_id==""){entity.tea_id=entity1.tea_id;}if(entity.stu_id==""){entity.stu_id=entity1.stu_id;//entity.teacher=convertEncoding.getGB(entity.teacher);}if(_id==""){_id=_id;}if(entity.sub_rec==""){entity.sub_rec=entity1.sub_rec;}if(entity.sub_intr==""){entity.sub_intr=entity1.sub_intr;}if(entity.sub_sh==""){entity.sub_sh=entity1.sub_sh;}if(entity.sub_first==""){entity.sub_first=entity1.sub_first;}try{Stringupdate="";if(flag.equalsIgnoreCase("edit")){//当该函数里传入的参数为"edit"的时候,是进行课题属性的更新操作update+="updatesubjectsetsub_id='"+entity.sub_id+"',"+"sub_name='"+entity.sub_name+"',"+"sub_eng='"+entity.sub_eng+"',"+"style_id='"+entity.style_id+"',"+"mode_id='"+entity.mode_id+"',"+"origin_id='"+entity.origin_id+"',"+"tea_id='"+entity.tea_id+"',"+"stu_id='"+entity.stu_id+"',"+"pro_id='"+_id+"',"+"sub_rec='"+entity.sub_rec+"',"+"sub_intr='"+entity.sub_intr+"',"+"sub_sh='"+entity.sub_sh+"'"+"wheresub_id='"+entity.sub_id+"'";}elseif(flag.equalsIgnoreCase("insert")){当该函数里传入的参数为"insert"的时候,是进行课题属性的插入操作update+="insertintosubject(sub_name,sub_eng,style_id,mode_id,origin_id,tea_id,pro_id,sub_rec,sub_intr)"+"values("//+"'"+entity.sub_id+"',"+"'"+entity.sub_name+"',"+"'"+entity.sub_eng+"',"+"'"+entity.style_id+"',"+"'"+entity.mode_id+"',"+"'"+entity.origin_id+"',"+"'"+entity.tea_id+"',"+"'"+_id+"',"+"'"+entity.sub_rec+"',"+"'"+entity.sub_intr+"')";}conn.openConnection();//打开数据库conn.executeUpdate(update);把SQL语句写入到数据库里面}catch(Exceptione){e.printStackTrace();returnfalse;}finally{try{if(conn!=null){conn.close();}}catch(Exceptione){e.printStackTrace();}}returntrue;}6.2移动导师代码6.2.1选教师和选移动到哪组的JSP代码<tablewidth="760"align="center"bgcolor="#E8E9B8"> <% ResultSetsd=ee.getteacher2(cEntity.g_id); inta=0; while(sd.next()){ a++; %> <td><inputname="checkbox2"type="checkbox"value="<%=sd.getString("tea_id")%>"><%=sd.getString("tea_name")%></input></td> <% if(a%8==0)out.println("<tr>");//当显示到8个的时候,进行换行操作 } %> </table> <tablewidth="760"align="center"> <divalign="right">移动到: <selectname="group2"> <% MoveteaDAOzsss=newMoveteaDAO(); ResultSetrss3=zss.getteacher3p(s_id);//通过函数zss.getteacher3p(s_id);把该教研室的所有组显示出来while(rss3.next()){ %> <optionvalue="<%=rss3.getString("g_id")%>"><%=rss3.getString("g_name")%></option> <%}%> </select> <inputtype="hidden"name="s_id"value="<%=s_id%>"> <inputtype="hidden"name="zu_id"value="<%=cEntity.g_id%>"> <inputtype="hidden"name="manager"value="<%=cEntity.manager%>"> <inputtype="button"value="确定"onClick="A<%=c%>()"> <inputtype="button"value="删除组"onClick="B<%=c%>()"> </div> </table>6.2.2移动教师JAVA代码 publicbooleanMoveteacher(String[]tea_id,Stringg_id){ DbConnectionconn=newDbConnection(); try{ Stringupdate=""; Stringupdate1=""; conn.openConnection(); for(inti=0;i<tea_id.length;i++) { update="updateteachersetteacher.g_id='"+g_id+"',teacher.qx=0wheretea_id='"+tea_id[i]+"'";数据库里教师的主体里面有一个组的属性,当改变教师G—ID的时候,就是把教师移动到相应的组了。每个教师都还有一个QX来控制起操作,不同的权限其里面的权利也不一样。权限高的教师,可操作的界面会比一般的教师多一点。 update1="updateorg_groupsetorg_group.manager=0whereorg_group.manager='"+tea_id[i]+"'";当把一个教师从一个组到另一个组的时候,要把该教师的QX变成最低的0,这样一来就不会出现一个组多个组长的问题了。 conn.executeUpdate(update); conn.executeUpdate(update1); } conn.close(); returntrue; }catch(Exceptione){ e.printStackTrace(); returnfalse; } }

第七章程序界面7.1.系统登陆界面如图7.1所示:图7.1系统登陆界面7.2教师题目管理页面如图7.2所示:图7.2系统总管理界面7.3.增加题目界面如图7.3所示图7.3教师作界面7.4.学生选课界面如图7.4所示:图7.4学生选课状态7.5.选题状态页面如图7.5图7.5学生选课状态界面7.6.移动教师如图7.6所示:图7.5移动教师界面7.发布新闻页面如图7.6所示:图7.6发布新闻界面

第八章总结与展望8.1总结进入21世纪后,大学毕业生就业压力的不断加大,只有优秀的毕业生才能跟得住时代步伐。各个大学之间面临着越来越激烈的竞争,改善学校内部以及整个毕业教学环节的管理、调度及资源配置,迅速适应学校的新需求和学生教学需要,是大学赢得竞争胜利的决定性因素,而快速有效地实施毕业设计管理系统是被实践证明了的提高学校竞争力的有效方法之一。从根本上说,学校就是一个利用资源(人、财、物、时间),为社会创造价值的组织,毕业设计系统就是对这些资源进行计划、调度、控制、衡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论