大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】

大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】

ID:479595

大小:2.51 MB

页数:41页

时间:2017-08-09

上传者:U-944
大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第1页
大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第2页
大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第3页
大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第4页
大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第5页
资源描述:

《大学选课系统的分析、设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(20届)本科毕业论文大学选课系统的分析、设计与实现I 摘要:随着高校教学体制的改革和教务管理的信息化,通过网络进行选课是现代高校教务管理应实现的一项工作。本系统采用B/S体系结构,Win7作为服务器操作系统,TOMCAT作为Web服务器,MicrosoftSQLServer2000作为数据库服务器,用JSP开发动态网页,中间组件用Java语言开发,通过JDBC实现对数据库的操作。网上选课系统按用户的使用功能划分为三大模块:管理员模块、教师模块和学生模块。管理员通过该模块实现对教师和学生的信息管理,以及学生选课管理;教师通过该模块可以查看自己任教的课程的选课情况,录入学生成绩以及修改个人信息;学生通过该模块可以查询课程、选课、退课、修改密码等。通过本课题的研究,提高了教务管理工作的质量与效率,对计算机应用技术尤其是网络技术在教务管理工作中的应用与研究起到了积极的推动作用,从而全面提高选修课的管理质量,使教务管理工作更加科学化、规范化。关键词:教务管理;网络选课;B/S结构I TheAnalysis,DesignandImplementationofCollegeCoursesSelectionSystemABSTRACT:Withthestructuralreformofteachingandacademicmanagementofinformationtechnology,throughanetworkofmodernEducationalAdministrationCourseisatasktobeachieved.ThesystemusesB/Sarchitecture,Win7astheserveroperatingsystems,TOMCATasaWebserver,MicrosoftSQLServer2000asthedatabaseserver,usingJSPtodevelopdynamicwebpages,themiddlecomponentwiththeJavalanguagedevelopment,throughJDBCtothedatabaseoperation.OnlineCourseSelectionbytheuser'sfunctionisdividedintothreemodules:theadministratormodule,teachermoduleandstudentmodule.Administratorsthroughthemoduleforteachersandstudentsininformationmanagement,andstudentenrollmentmanagement;teachersintheteachingofthemodulecanviewtheirownsituationelectivecourses,studentperformanceandmodifyinputpersonalinformation;studentsthroughthecourseofthemodulecanbequeried,courseselection,coursewithdrawal,changepassword.Throughthisresearchprojecttoimprovethequalityofeducationaladministrationandefficiencyofapplicationofcomputertechnology,especiallynetworktechnologyineducationaladministrationandresearchintheapplicationhasplayedapositiveroleinpromoting,therebyimprovingtheoverallqualityofmanagementelectivecourses,sothateducationalmanagementmorescientificandstandardized.Keywords:SenateAdministration;OnlineCoursesSelection;B/S 目录1引言11.1开发背景11.2国内外研究现状和发展趋势11.3系统预期达到的目标12系统开发工具及主要技术22.1开发工具22.1.1MyEclipse简介22.1.2数据库的选择22.1.3JDK版本的选择32.1.4容器32.2J2EE概述42.3采用JSP技术43需求分析63.1功能需求63.1.1管理员登录(功能基本实现)63.1.2学生登陆63.1.3教师登录73.2功能概图84数据库概念结构设计94.1数据库表如下:94.1.1登录表(User):94.1.2管理员表(Admin):94.1.3教师表(Teacher):94.1.4学生表(Student):94.1.5课程表(Course):94.1.6选课表(SelectCourse):94.1.7评教表(JudgeTeacher):104.2登录用到的触发器105数据库逻辑结构设计115.1E-R模型116数据流图及程序结构框图126.1核心模块数据流图126.2程序结构图127程序源代码及其说明157.1登录模块核心代码:157.2网上选课系统选课模块中能否选课时间的核心代码177.3其他模块图:218结束语268.1系统的特点与局限性268.1.1特点268.1.2局限性268.2实施过程中的一些体会26 致谢28参考文献29 1引言1.1开发背景目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,因此国家教育部面向各级各类学校开展了全面学分制改革。因此,各院校迫切学要对自己的现有教务管理系统进行改进和提高,根据国内大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台。提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分。1.2国内外研究现状和发展趋势我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。1.3系统预期达到的目标在信息技术高度发达的今天,互联网技术已经深入人们的日常生活,鉴于选课系统的安全性,网上选课将不仅仅局限于校园局域网,在互联网上运行则基于J2EE的网上选课系统的研究与实现是必然,这样学生无论身在何处,只要有可以上因特网的地方,就随时可以登录到选课系统进行选课。既增强了网上选课的灵活性,也减轻了服务器负载数据的负担。利用移动通信技术的无线选课系统还是一个比较新的课题,这种通用WAP选课系统,能够在不改动原有选课系统的基础上,增加一种新的业务功能模块,这种WAP选课系统比基于Web的选课系统最大的特点就是更加便捷,让学生随时随地都能用上选课系统。这将是我们下一步要努力实现的目标。3636 2系统开发工具及主要技术2.1开发工具本系统使用的开发工具,后台Java代码编写使用MyEclipseEuropaworkbench6.5,前台页面编辑使用DreamWaver8。2.1.1MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。2.1.2数据库的选择本系统采用SQLServer2000版本。SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase则较专注于SQLServer在UNIX操作系统上的应用。在本书中介绍的是MicrosoftSQLServer以后简称为SQLServer或MSSQLServer。[1]SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。[2],[3]SQLServer2000的特性包括:(1)Internet集成。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。(2)可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。3636 (3)企业级数据库功能。SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。(4)易于安装、部署和使用。SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。2.1.3JDK版本的选择JavaDevelopmentKit(JDK)是Sun公司针对Java开发员的软件开发工具包。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。本系统采用JDK1.6.0版本。[4],[5]2.1.4容器本系统页面采用JSP,所以对应的容器采用ApacheTomcat6.0。既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境当中,它才能发挥它的作用。这个环境就是我们讲的"容器"。容器也是java程序,它的主要功能除了为Servlet提供运行环境,还有更重要的,就是提供网络传输协议与java程序实体的相互转换。客户端向服务器发送数据,遵循的是HTTP协议的数据格式,服务器向客户端发送数据也是遵循HTTP协议的。在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C++等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些javaobject,这样才能使用java的方法进行数据处理。同理,当这些处理完成,又需要将这些javaobject转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在与服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色。Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和ApacheWeb服务器混淆,ApacheWebServer是一个用C语言实现的HTTPwebserver;这两个HTTPwebserver不是捆绑在一起的。ApacheTomcat3636 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。[6],[7],[8]2.2J2EE概述J2EE(Java2PlatformEnterpriseEdition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范,与传统的互联网应用程序模型相比有着不可比拟的优势。J2EE技术是一个开放的、基于标准的开发和部署的平台,用于构建N层、基于Web、以服务端计算为核心、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性,同时还提供了对EJ(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。[9],[10],[11]2.3采用JSP技术JSP(全称JavaServerPages)是由SunMicrosystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。3636 JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。JSP被JSP编译器编译成JavaServlets。一个JSP编译器可以把JSP编译成Java代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。[12],[13],[14]3636 3需求分析3.1功能需求本系统是一个网络版的管理系统,主要针对高效学生教务流程开发设计,系统提供了较好的功能扩充接口。下面简要分析系统大致的功能需求。3.1.1管理员登录(功能基本实现)在管理员进入系统前,首先要求管理员进行登录,防止非法用户对系统进行操作,登录时要验证用户名和密码是否匹配,验证通过后允许管理员进入本系统操作。(1)学生信息管理提供包括学生学籍的管理,基本信息的查询,成绩查询,选课查询。(a)填写学生信息(b)查询学生信息(c)修改学生信息(d)删除学生信息(e)实现选课,退课(2)教师管理教师进行学生信息的查询,任教科目查询,成绩录入,教师基本信息查询。(a)填写教师信息(b)添加教师信息(c)修改教师信息(d)删除教师信息(3)选课管理提供学生每学期的公选课的选择。(a)设定选课时间、人数(b)选上课的学生名单3.1.2学生登陆学生通过该模块,可以查询课程、选课、退课、修改密码等。(1)网上选课(a)实现选课和退课(2)个人信息(a)查看个人信息(b)修改个人信息备注(3)查询(a)查询开课信息3636 (b)查询所选课程(4)个性服务(a)查看系统通知信息(b)修改密码3.1.3教师登录查看自己任教的课程的选课情况,录入学生成绩以及修改个人信息。(1)个人信息(a)查看个人信息(b)修改个人信息备注(2)成绩录入(a)教师根据课程录入每个学生成绩(b)教师根据学生录入每个课程的成绩(3)个性服务(a)可以发给学生系统通知(b)修改密码(4)查询(a)老师根据课程查看学生选课名单(b)老师根据具体学号查看学生选课情况3636 3.2功能概图3636 4数据库概念结构设计4.1数据库表如下:4.1.1登录表(User):属性类型主键/外键是否为空注释idchar(12)主键否用户IDpasswordchar(12)否密码namechar(8)否用户名4.1.2管理员表(Admin):属性类型主键/外键是否为空注释aidchar(12)外键(user)否管理员IDpasswordchar(12)否密码namechar(8)否用户名4.1.3教师表(Teacher):属性类型主键/外键是否为空注释tidchar(12)外键(user)否教师IDpasswordchar(12)否密码namechar(8)否用户名4.1.4学生表(Student):属性类型主键/外键是否为空注释sidchar(12)外键(user)否学生IDpasswordchar(12)否密码namechar(8)否用户名classchar(4)班级departmentnchar(20)系科majornchar(20)专业4.1.5课程表(Course):属性类型主键/外键是否为空注释cidchar(12)外键(user)否课程IDnamechar(8)否课程名capcitysmallint课程容量remainsmallint剩余容量classTimesmalldate上课时间classAdressnchar(20)上课地点startSCTimesmalldate开始选课时间endSCTimesmalldate结束选课时间4.1.6选课表(SelectCourse):属性类型主键/外键是否为空注释3636 sidchar(12)外键(student)否学生IDcidchar(12)外键(course)否课程IDnamefloat否成绩4.1.7评教表(JudgeTeacher):属性类型主键/外键是否为空注释tidchar(12)外键(teacher)否教师IDcidchar(12)外键(course)否课程IDnamefloat否成绩4.2登录用到的触发器--当插入学生时,自动的在用户(admin)表中插入相应的学生编号且级别为1、密码为默认值createtriggerinsert_studentonstudentforinsertasbegindeclare@idchar(20),@namechar(20)select@id=inserted.studentId,@name=inserted.studentNamefrominserted;ifnotexists(selectuserIdfromadminwhereuserId=@id)insertintoadmin(userId,userJiBie,userName)values(@id,1,@name);endGO--当插入教师时,自动的在用户(admin)表中插入相应的教师编号且级别为3、密码为默认值createtriggerinsert_teacheronteacherforinsertasbegindeclare@idchar(20),@namechar(20)select@id=inserted.teacherId,@name=inserted.teacherNamefrominserted;ifnotexists(selectuserIdfromadminwhereuserId=@id)insertintoadmin(userId,userJiBie,userName)values(@id,3,@name);endGO--当插入管理员时,自动的在用户(admin)表中插入相应的管理员编号且级别为5、密码为默认值createtriggerinsert_administratoronadministratorforinsertasbegindeclare@idchar(20),@namechar(20)select@id=inserted.adminId,@name=inserted.adminNamefrominserted;ifnotexists(selectuserIdfromadminwhereuserId=@id)insertintoadmin(userId,userJiBie,userName)values(@id,5,@name);endGO3636 5数据库逻辑结构设计5.1E-R模型3636 6数据流图及程序结构框图6.1核心模块数据流图选课通知学生评教表教师管理员课程表选课处理评教处理生成网上选课名单选课成功选课时间未到或选课失败选课表设置选课时间选课成功评教成绩处理录入成绩成绩录入设置评教时间评教通知6.2程序结构图系统采用MVC设计模式,M(Model)模型层用javabean表示业务逻辑连接操作数据库等,V(View)视图层用jsp表示各用户界面,C(Control)控制层用Servlet快速的控制反转功能调用M业务逻辑层。[15]因此,系统程序结构为(由于空间有限只列出了部分类的属性和方法,其他都隐藏了):(1)用户登录及其处理类图:(2)接数据库类:3636 (3)个性服务信息及其处理类图:(4)管理员及其处理类图:(5)课程及其处理类:(6)学生及其处理类图:3636 (7)教师及其处理类图:(8)评教及其处理类图:(9)选课及其处理类:3636 7程序源代码及其说明7.1登录模块核心代码:说明:a)网上选课系统中系统安全性方面非常重要,防止数据库注入漏洞,用户名、密码、级别分开判断。b)创建系统失效时间,进一步增强安全性。可在刚登录进系统时为每个用户创建一个Session,并设置失效时间。代码如:HttpSessionhs=request.getSession();hs.setMaxInactiveInterval(600);//600秒即10分钟然后在每个页面判断Session是否为空,若为空则回到登录界面重新登录。/***数据库连接类*@author张成昆09/05/01**/publicclassConnectDB{privateConnectionct=null;/***数据库连接方法*@author张成昆09/05/01*@return连接Connection*/publicConnectiongetConnection(){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1500;DatabaseName=EMS","zck","583");}catch(Exceptione){System.err.println("----------ConnectDB.getConnection()--------------");e.printStackTrace();}returnct;}}/***function:完成用户登录验证*@author张成昆*@paramuser:用户ID*@parampassword:用户密码*@paramgrade:用户级别*@return用户级别*/publicintcheckUser(Stringuser,Stringpassword,Stringgrade){intb=-1;//用户级别try{ct=newConnectDB().getConnection();//单写的ConnectDB类,其中getConnection()用于与数据库连接,以增加系统扩展性ps=ct.prepareStatement("selectrtrim(userPassword),"+"rtrim(userJiBie)"+"fromadminwhereuserId=?");ps.setString(1,user);rs=ps.executeQuery();3636 if(rs.next()){if(rs.getString(1).equals(password)){if(rs.getString(2).equals(""+grade)){b=Integer.parseInt(grade);//单独判断以防止注入数据库漏洞}}}}catch(Exceptione){System.err.println("----------checkUser出错-------------");e.printStackTrace();}finally{this.close();//单写的一个方法专用于关闭数据库连接}returnb;}/***fuction:用户关闭数据库连接*@author张成昆*/publicvoidclose(){try{if(rs!=null){rs.close();rs=null;}if(ps!=null){ps.close();rs=null;}if(ct!=null){ct.close();ct=null;}}catch(SQLExceptione){System.err.println("----------close()出错-------------");e.printStackTrace();}}如果用户非法登陆,界面如下:3636 7.2网上选课系统选课模块中能否选课时间的核心代码说明:a)因为数据库中设定日期时间格式为xxxx-xx-xx形式而Date类能转换的形式是xxxx/xx/xx所以要将其转换,然后再比较。b)将此方法写在单独的日期处理类里,以便用的此方法时,直接调用即可,从而增加复用性。/***选课时间处理方法:用于判断是否能选课以及能否评教*@author张成昆*@parambeginDate开始选课时间*@paramendDate结束选课时间*@return是否能选课*/publicbooleandateJudge(StringbeginDate,StringendDate){booleanb=false;DatenowTime=newDate();//取得服务器当前时间beginDate=beginDate.replace('-','/');//选课开始时间中"-"替换为"/"便于将字符串转换成时间类endDate=endDate.replace('-','/');Datebegindate=newDate(beginDate);//将字符型转换成特定时间类Dateenddate=newDate(endDate);if(nowTime.getTime()>=begindate.getTime()&&nowTime.getTime()<=enddate.getTime()){3636 //比较是否能够选课及评教,其中getTime()返回自1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数b=true;}returnb;}(1)没到选课时间时,提示界面:说明:核心代码如下:StudentBeanClsbc=newStudentBeanCl();StringcourseId=request.getParameter("courseId");StringbeginSelectCourseTime=scbc.getBeginSelectCourseTime(courseId).trim();StringendSelectCourseTime=scbc.getEndSelectCourseTime(courseId).trim();DateFunctiondf=newDateFunction();if(df.dateJudge(beginSelectCourseTime,endSelectCourseTime)){StringstudentId=request.getParameter("studentId");SelectCourseBeanClscbl=newSelectCourseBeanCl();ArrayListal=scbl.getAllOnlineCourse();ArrayListhaveSelectCourseBeanList=scbl.getAllSelectCourse(studentId);request.setAttribute("haveSelectCourseBeanList",haveSelectCourseBeanList);request.setAttribute("allCourse",al);request.getRequestDispatcher("student/student_selectCourse.jsp").forward(request,response);}else{out.println("");}(2)管理员设置选课时间顺序错误时:3636 说明:相应的javascript代码:functioncheckTime(){varstart=selectCourseForm.beginSelectDay.value;varend=selectCourseForm.endSelectDay.value;varstartDate=newDate(start.replace("-",",")).getTime();varendDate=newDate(end.replace("-",",")).getTime();if(startDate>endDate){alert("结束选课时间小于开始选课时间,请重新设置!");selectCourseForm.beginSelectDay.focus();returnfalse;}returntrue;}3636 (3)选课成功时,在当前页面显示选课结果:当学生选课成功时,下方显示出学生选课的课程,开课的时间,上课的地点。如果学生操作失误,可以退选。3636 7.3其他模块图:(1)添加学生图:管理员可以根据自己的权限添加学生。(2)添加学生成功时,自动关闭窗口,并刷新父窗口:说明:相应的javascript核心代码:functionclosewindow(){if(window.opener){window.opener.location.reload(true);window.close();}}functionclock(){i=i-1;if(document.getElementById("info")){document.getElementById("info").innerHTML="本窗口将在"+i+"秒后自动关闭";}if(i>0)setTimeout("clock();",1000);elseclosewindow();}vari=6;clock();3636 本窗口将在5秒后自动关闭

(3)学生,教师,管理员可修改登录密码:为了防止别人登陆自己的帐号,管理员,学生,教师可以修改自己的密码。3636 (4)教师录入成绩:每学期末,教师可以根据学生成绩依次把成绩输入到每个学生中。(5)学生可查询成绩,教师也可查询成绩,管理员可以查询所有信息:学期结束后,学生可以自己登陆网站查询自己的成绩。3636 管理员可以查询所有信息:核心代码:<%=sb.getStudentId()%><%=sb.getStudentName()%><%=sb.getSex()%><%=sb.getDepartment()%><%=sb.getMajor()%><%=sb.getRegisterTime()%><%=sb.getTelephone()%><%=sb.getEmail()%><%}}%><%=sb.getStudentId()%><%=sb.getStudentName()%><%=sb.getSex()%><%=sb.getDepartment()%><%=sb.getMajor()%><%=sb.getRegisterTime()%><%=sb.getTelephone()%><%=sb.getEmail()%><%=tb.getTeacherId()%><%=tb.getTeacherName()%><%=tb.getSex()%><%=tb.getDepartment()%><%=tb.getZhiCheng()%><%=tb.getTelephone()%><%=tb.getEmail()%>3636 3636 8结束语8.1系统的特点与局限性8.1.1特点该系统的应将为学校管理部门提供一个全新的工作环境,为促进学校教育教学管理的科学化、规范化、信息化提供了有力的支持,提升了学校教学管理信息化的水平,从而使该系统成为学校日常管理工作中离不开的关键应用,同时为日后的软件维护提供了良好和完备的接口。8.1.2局限性设计刚开始是没有很好分析系统功能、数据库设计也存在问题。比如数据库表设计不够完善,在编码阶段,当想到表中缺少某字段时才添加,此时程序也必须做相应的修改,这样很耽误时间,有可能有没考虑到的细节导致程序出错。以此,编程启动阶段,系统功能图、E-R模型、数据库表及其属性须考虑全面仔细。开发方法还采用面前结构化的开发方法;同时由于时间关系,框架使用还不成熟,所以采用jsp+javabean+servlet技术而没有用struts+hibernate+spring当前比较流行的框架来做,无论在开发效率、可移植性、可维护性还是面向市场性都不太适合当前企业需求。希望毕业设计时,再用框架。8.2实施过程中的一些体会为期多月的毕业设计已经接近尾声了,本系统的整个实施过程中,遇到了很多很多的困难。看着自己的设计从无到有,从最初的雏形到如今的完整系统,虽说算不上完善,但也基本符合需求,这不仅仅是自己这几个月来辛勤劳动的结晶,更是对自己学习成果的一个检验。在最初选择MyEclipse和SQLServer2000作为开发工具的时候,我考虑到MyEclipse具有强大性和适应性的特点,以至于Web应用软件开发者的几乎全部的平台它都可以运行。另外,JSP.NET还具有简单性和易学性。在我开发的整个过程中我在不断的学习,一边学一边做,很多时候在一个问题上要花好几个小时甚至一两天,当我好不容易将这个问题解决时才发现其实这是个很小的问题,也许只是由于不了解它的一个对象或者时一个函数的功能。但是,每当我费尽心思解决了一个关键问题时,那种成功的喜悦和茅塞顿开的感觉是没有办法来形容的,它不仅让我感受到自己知识的浅薄也会激励我更加努力的去学习更多的东西,好把我的设计做的更完善更好,因为我根本就不会知道自己在接下来的设计中又会遇到怎样的挫折。从我的毕业设计上很容易看出来这个系统的稚嫩,很多地方的需求没有考虑到,很多功能实现的也很不完善,这可能跟我平时很少上网逛论坛有很大的关系。虽说在老师的指导下已经改进了很多,一些我觉得不必要而实际上很必要的功能虽然增加进去了,但是这个系统已经少了一种一气呵成的感觉,很多地方都能够看出需求变更的影子。这也让我更加体会到了一个良好的软件需求对一个软件系统来说是多么的重要了。3636 毕业设计将我学习的知识进行了一次综合,我必须将以前所学融会贯通,且灵活运用并且更加深入地研究学习之后才能完成我的设计,这也正是学习的真谛,希望我能够成功地通过这次检验,成为一个优秀的毕业生。3636 参考文献[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.7.[2]张俊玲,王秀英,籍淑丽,郭凤英.数据库原理与应用[M].北京:清华大学出版社,2005.[3]MySQL5.1参考文档.http://dev.mysql.com/doc/refman/5.1/zh/index.html.[4][美]布鲁斯·埃克尔(Eckel,B.).Java编程思想(第4版)[M].陈昊鹏译.北京:机械工业出版社,2007.6.[5](美)Y.DanielLiang著.Java语言程序设计进阶篇[M].万波,郑海红,海蓉,李娜等译.机械工业出版社,2008.[6]ApacheTocatDocumentation.http://tomcat.apache.org/tomcat-6.0-doc/index.html.[7]樊月华,刘雪涛,刘洪发.Web技术应用基础[M].北京:清华大学出版社,2009.[8]孙伟琴.Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.5.[9]李芝兴,杨瑞龙.JavaEEWeb编程(Eclipse平台)[M].机械工业出版社,2007.[10][美]拉佛(Lafore,R.).Java数据结构和算法(第二版)[M].计晓云赵研曾希狄小菡译.北京:中国电力出版社,2003.[11](美)Y.DanielLiang著.IntroductiontoJavaProgramming[M].机械工业出版社,2009.[12][美]鲍格斯坦(Bergsten,H.)JSP设计(第三版)[M].林琪,朱涛江译.北京:中国电力出版社,2004.[13]林信良.Spring2.0技术手册[M].北京:电子工业出版社,2007.4.[14]HibernateAPIDocumentation.http://docs.jboss.org/hibernate/stable/core/reference/en/html.[15]李刚.Struts2权威指南:基于WebWork核心的MVC开发[M].北京:电子工业出版社,2007.7.[16]ExtJsAPIDocumentation.http://www.extjs.com/deploy/dev/docs.3636 文献综述大学选课系统的分析、设计与实现一、前言部分1.目的随着计算机及互联网的普及,网络选课系统作为高校信息化的一个重要组成部分,正逐渐改变着传统的人工教务管理选课模式,逐步提高着教务管理人员以及师生的工作效率。应用此系统,学生可以通过网络在任意地点、指定的时间进行选课。网络选课系统具有无可比拟的优势,如大量数据的存储与查询,信息的完全公开,而且通过计算机系统的设计可以做到公平公正,尽量减少错误。在此背景下,充分利用现有网络资源,建立网上选课系统势在必行。目前的选课系统的实现方式有很多种,既有C/S结构的,也有B/S结构的,总体来说,基于Web的B/S结构的选课系统是最适合当前高校教务管理需要的,因此是目前的发展主流。2.有关概念(1)数据库数据库是“按照数据结构来组织存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样"仓库",并根据管理的需要进行相应的处理,这些仓库就是数据库。(2)数据库管理系统处理数据的建立、查询、更新等工作的程序就叫数据库管理系统DBMS。对数据库的所有操作,包括创建各种数据库的数据类型、关联图、列表、视图、存储过程,以及其他数据库应用程序对于数据库中数据的读取和修改,都是由数据库管理系统完成的。[2](3)J2EE概述J2EE(Java2PlatformEnterpriseEdition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范,与传统的互联网应用程序模型相比有着不可比拟的优势。J2EE技术是一个开放的、基于标准的开发和部署的平台,用于构建N层、基于Web、以服务端计算为核心、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性,同时还提供了对EJ(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServer3636 Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。(4)MySQL简介MySQL是一个开放源码的关系数据库管理系统,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统来说,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL主要目标是快速、健壮和易用。关键的是它是免费的。(5)DreamWaver简介Dreamwaver是美国MACROMEDIA公司(现为Adobe收购)开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具。(6)MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。(7)采用JSP技术JSP(全称JavaServerPages)是由SunMicrosystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。JSP被JSP编译器编译成JavaServlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。3.主题争论焦点3636 近年来,不少高校均在推进学分制、改进选课处理手段方面进行了很多有益的尝试,推出了一些简单的计算机辅助网上选课管理系统。但是,这些网上选课管理系统均存在两大致命的缺陷:一是选课系统本身在总体设计上没有构成一个完整、科学、严密的体系,根本无法为学生提供公平、合理的选课平台;二是选课系统与排课系统在具体实现上相互独立、严重脱节,不可能合理地编排出高质量的课表。而这些系统基本都是基于Client/Server结构。一般都建立在局域网的基础上的,更注重流程,而对系统运行速度考虑较少,并且需要安装相应的客户端程序后才能使用。二、主题部分1.历史背景目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,因此国家教育部面向各级各类学校开展了全面学分制改革。因此,各院校迫切学要对自己的现有教务管理系统进行改进和提高,根据国内大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台。提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分。2.现状随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。网上选课系统针对在校学生和教师使用。从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式。传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学模式,如果仍然通过纸上的方式选课,一方面浪费了大量的人力、物力资源,另一方面浪费时间以及会在人为的统计汇总过程中出现可避免的差错等情况。随着高校人数的增多,上述弊端会越来越多的暴露出来。如果利用网络进行选课,学生只要在计算机前输入自己的个人选课信息即可完成教务部门原来几倍的作业量。从教师的角度来说,教师提出代课申请完成课程发布的工作更加容易,得到教学的信息更加快捷,因此通过网上选课系统可以大幅度的减少教师的工作量,方便了教学工作。[13]3.发展趋势我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程3636 表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。    国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。三、总结部分本文主要探讨了基于J2EE的网络选课系统的开发。并且全面分析、设计、实施一套符合高校要求的选课系统。在设计过程中,采用了MVC模式下的Struts2框架进行功能实现。持久层选用Hibernate将实体Bean映射至数据库表。在表示层中以Web页面作为主要客户端。由于框架本身的优势,使得该系统易于维护,可扩展性强。容器采用ApacheTomcat,解决了线程问题,使得可以在同一时间容纳多个用户。该系统的应将为学校管理部门提供一个全新的工作环境,为促进学校教育教学管理的科学化、规范化、信息化提供了有力的支持,提升了学校教学管理信息化的水平,从而使该系统成为学校日常管理工作中离不开的关键应用,同时为日后的软件维护提供了良好和完备的接口。然而,系统仍然存在很大的改进空间,可以通过进一步的设计提高性能和实用性。由于条件限制,并非采取部署到专业的服务器上,所以系统不够稳定。在实际应用中,在处理海量数据方面,网页的数据容量及网络的安全保障则会成为系统的瓶颈。由于本人的水平有限,对其中的某些问题未能进行深入的分析和研究,还需要在今后的工作中努力学习和探讨。文中的不足之处,敬请各位老师和读者指正。展望:在信息技术高度发达的今天,互联网技术已经深入人们的日常生活,鉴于选课系统的安全性,网上选课将不仅仅局限于校园局域网,在互联网上运行则基于J2EE的网上选课系统的研究与实现是必然,这样学生无论身在何处,只要有可以上因特网的地方,就随时可以登录到选课系统进行选课。既增强了网上选课的灵活性,也减轻了服务器负载数据的负担。利用移动通信技术的无线选课系统还是一个比较新的课题,这种通用WAP选课系统,能够在不改动原有选课系统的基础上,增加一种新的业务功能模块,这种WAP选课系统比基于Web的选课系统最大的特点就是更加便捷,让学生随时随地都能用上选课系统。这将是我们下一步要努力实现的目标。3636 四、参考文献[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.7[2][美]布鲁斯·埃克尔(Eckel,B.).陈昊鹏译.Java编程思想(第4版)[M].北京:机械工业出版社,2007.6[3][美]鲍格斯坦(Bergsten,H.).林琪,朱涛江译.JSP设计(第三版)[M].北京:中国电力出版社,2004[4]李刚编著.Struts2权威指南:基于WebWork核心的MVC开发[M].北京:电子工业出版社,2007.7[5]孙伟琴编著.Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.5[6]林信良.Spring2.0技术手册[M].北京:电子工业出版社,2007.4[7]HibernateAPIDocumentation.http://docs.jboss.org/hibernate/stable/core/reference/en/html/[8]ExtJsAPIDocumentation.http://www.extjs.com/deploy/dev/docs/[9]MySQL5.1参考文档.http://dev.mysql.com/doc/refman/5.1/zh/index.html[10]ApacheTocatDocumentation.http://tomcat.apache.org/tomcat-6.0-doc/index.html[11][美]拉佛(Lafore,R.).计晓云赵研曾希狄小菡译.Java数据结构和算法(第二版)[M].北京:中国电力出版社,2003[12](美)Y.DanielLiang著万波,郑海红,海蓉,李娜等译.Java语言程序设计进阶篇[M].机械工业出版社,2008[13]李芝兴,杨瑞龙.JavaEEWeb编程(Eclipse平台)[M].机械工业出版社,2007[14]张俊玲,王秀英,籍淑丽,郭凤英.数据库原理与应用[M].北京:清华大学出版社,2005[15]樊月华,刘雪涛,刘洪发.Web技术应用基础[M].北京:清华大学出版社,2009[16](美)Y.DanielLiang著.IntroductiontoJavaProgramming[M].机械工业出版社,20093636 开题报告大学选课系统的分析、设计与实现  一、选题的背景、意义历史背景:随着计算机及互联网的普及,传统的教务人工管理已经很难适应新环境。传统的选课方式是随堂报名,无法预见上课人数,浪费教学资源。以现代网络技术环境为依托,将传统选课模式转换为利用现代网络技术进行选课操作和管理的网上选课系统已经成为一项重要的改革。应用此系统,学生可以通过网络在任意地点、指定的时间进行选课。网络选课系统具有无可比拟的优势,如大量数据的存储与查询,信息的完全公开,而且通过计算机系统的设计可以做到公平公正,尽量减少错误。在此背景下,充分利用现有网络资源,建立网上选课系统势在必行。国内外研究现状和发展趋势:我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。二、研究的基本内容与拟解决的主要问题研究的基本内容:(1)系统管理员设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。录入教学楼教室信息:通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。(2)教师用户显示和修改个人信息:教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。开设课程:教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修3636 课程,可以设置该课程的最大人数。教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点。给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若及格,给予学生学分。(3)学生用户显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。查看必修课程:学生登录后,可以查看所有的必修课程。查看该课程的信息,上课时间地点,开课教师信息等。选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。锁定选课信息:学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或者自己不小心修改。查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。查看学分和成绩:课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。拟解决的主要问题:(1)系统运行不够稳定选课系统时常无法登陆,这显然是网络服务器的不稳定造成的。应在发布前进行充分的性能测试。(2)操作复杂,不够人性化网上选课应满足操作简单方便,但现有系统忽略了操作的简单性,从而导致选课要经过多个步骤。系统界面不友好,不够人性化。(3)系统性能差没有进行充分的优化,导致在选课高峰期的时候,大量学生同时选课时经常出现登陆和选课速度极慢,甚至出现服务器死机瘫痪现象,导致某些学生不能选课。三、研究的方法与技术路线、研究难点,预期达到的目标研究方法和技术路线:本课题所开发的系统拟在WindowsXP系统和VS.NET平台下开发完成,使用Java作为JSP.NET的开发语言,SQLServer2000作为数据库。系统要有较高的安全性和较好的性能。最终根据系统开发的成果撰写毕业设计论文。研究难点:(1)如何在教师,教室,学生找到一个关系,画出流程图。(2)如何使问路哦服务器更加的稳定。(3)如何让系统更容易操作,让系统更加人性化。(4)当大量学生登录网站时,使系统速度极慢,如何使学生完成选课。预期达到的目标:本课题设计并实现了一个基于网络平台的选课系统,具体的实现目标是:3636 (1)教务管理模块教务管理员通过该模块,可以发布教学公告、发布选课信息、发布课程信息、制定系统开放时间、发放学生及教师密码等。(2)学生选课模块学生通过该模块,可以查询开课信息、查看公告、选课、退课、修改密码、修改个人信息等。通过自己所学的知识基本完成系统的功能实现,在完成系统的过程中对使用JSP.NET+SQLSERVER完成项目有了进一步的了解。四、论文详细工作进度和安排第七学期第17周至期末:熟悉设计任务相关知识,软件环境和开发工具;第八学期第01周至第03周:总体设计,撰写论文(设计)提纲;第八学期第04周至第11周:详细设计;第八学期第12周至第13周:完成应用软件系统的设计,完成毕业论文(设计)文档;第八学期第14周:完善毕业论文(设计)文档,完成答辩准备工作;第八学期第15周:毕业论文(设计)答辩。五、主要参考文献[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.7[2][美]布鲁斯·埃克尔(Eckel,B.).陈昊鹏译.Java编程思想(第4版)[M].北京:机械工业出版社,2007.6[3][美]鲍格斯坦(Bergsten,H.).林琪,朱涛江译.JSP设计(第三版)[M].北京:中国电力出版社,2004[4]李刚编著.Struts2权威指南:基于WebWork核心的MVC开发[M].北京:电子工业出版社,2007.7[5]孙伟琴编著.Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.5[6]林信良.Spring2.0技术手册[M].北京:电子工业出版社,2007.4[7]HibernateAPIDocumentation.http://docs.jboss.org/hibernate/stable/core/reference/en/html/[8]ExtJsAPIDocumentation.http://www.extjs.com/deploy/dev/docs/[9]MySQL5.1参考文档.http://dev.mysql.com/doc/refman/5.1/zh/index.html[10]ApacheTocatDocumentation.http://tomcat.apache.org/tomcat-6.0-doc/index.html[11][美]拉佛(Lafore,R.).计晓云赵研曾希狄小菡译.Java数据结构和算法(第二版)[M].北京:中国电力出版社,2003[12](美)Y.DanielLiang著万波,郑海红,海蓉,李娜等译.Java语言程序设计进阶篇[M].机械工业出版社,2008[13]李芝兴,杨瑞龙.JavaEEWeb编程(Eclipse平台)[M].机械工业出版社,2007[14]张俊玲,王秀英,籍淑丽,郭凤英.数据库原理与应用[M].北京:清华大学出版社,2005[15]樊月华,刘雪涛,刘洪发.Web技术应用基础[M].北京:清华大学出版社,2009[16](美)Y.DanielLiang著.IntroductiontoJavaProgramming[M].机械工业出版社,20093636

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭