毕业设计(论文)-课程安排管理系统的设计与实现_第1页
毕业设计(论文)-课程安排管理系统的设计与实现_第2页
毕业设计(论文)-课程安排管理系统的设计与实现_第3页
毕业设计(论文)-课程安排管理系统的设计与实现_第4页
毕业设计(论文)-课程安排管理系统的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、常州信息职业技术学院 毕业设计(论文)报告常州信息职业技术学院学生毕业设计(论文)报告全套设计加扣 3012250582系 别: 软件学院 专 业: 软件技术 班 级: 中软131 学 生 姓 名: 学 生 学 号: 设计(论文)题目: 课程安排管理系统的设计与实现 指 导 教 师: 设 计 地 点: 起 迄 日 期: 2015.06.182015.07.30 毕业设计(论文)任务书专业 软件技术 班级 中软131 姓名 一、课题名称: 课程安排管理系统的设计与实现 二、主要技术指标(或基本要求): 1.资料要求:在网上搜寻课程安排管理系统的模板,访问本学校的教务处,了解到此项目需要的操作步骤

2、,网上了解此项目开发的目的,需要应用的技术了解。 2.开发环境:MyEclipse10,Tomcat, 数据库MySql。 3.技术要求:该项目是B/S架构,开发技术是在Struts2、Hibernate两大框架,JQuery,Ajax,JavaScript的基础上,作用于数据库与控制台的连接、访问、操作;页面的具体操作与底层控制台的实现。 3、 工作内容和要求: 1.项目需求分析,分析项目功能,制作分析结果的流程图;项目设计,小组功能分工,数据库设计,项目实施。 2.管理员管理:分两种类型,普通管理员和超级管理员。其中普通管理员只可以查看信息,以及能修改密码信息。超级管理员可以对普通管理员的

3、添加、删除操作,还可以修改自己的密码。 3.查询功能:对教师信息可以根据限制条件的查询、删除已经不存在的教师,判断是否同意教师的申请选课。 4.教学计划管理:根据选择的限制条件对教学计划中的课程进行安排课程。 四、主要参考文献: 1都志辉.精通CSS+DIV网页样式与布局M.清华大学出版社, 2002.9 2 Eric.Java编程思想M.第4版.机械工业出版社, 2005.5 3 Karl Avedal.三大框架知识M.北京电子工业出版社, 2001.4 4 陈刚.MyEclipse讲解M. 北京清华大学出版社, 2005.4 学 生(签名) 年 月 日指 导 教师(签名) 年 月 日 教研

4、室主任(签名) 年 月 日 系 主 任(签名) 年 月 日毕业设计(论文)开题报告设计(论文)题目课程安排管理系统的设计与实现一、选题的背景和意义:课程安排是学校日常教务管理中的一项重要工作,主要包括:根据不同的条件对于多种不重复的自动分配,如果是人工排课,就会浪费大量的时间。如果使用课程安排管理系统,可以减轻教务安排工作者的负担,可以减少上课重复等问题的事件发生,这样不仅可以提交教学管理治理,还可以提高教务的工作效率,是有限资源利用最大化。随着信息技术的不断发展和普及,使教育面临新的课题和挑战。在排课途中,会遇到各种问题:在时间上安排,老师调课,教室是否空闲,班级上课时间是否会与其他时间冲突

5、等一系列问题。所以在网上,也有人在研讨关于排课的方法与软件:遗传算法、模拟退火算法等,都很合理的解释了排课算法的各种可能性造成了数据量过大,有一定的难度实现。传统的人为手动排课存在很多问题,例如:多重复的劳动力严重,生产效率很低,而且最后得到的结果可能也不是很令人满意。而且在排课当中,产生的大数据与超多文件,对于后期的查找,修改以及更新等都带来了很多的困难。最令人苦恼的就是教室,教师与班级等出现上课冲突的现象。所以,本项目的主要目的是解决课程安排管理,尽量完善教务系统满足高校教务的现实要求。二、 课题研究的主要内容:基于学校教务处的研究,前台是老师的注册与基本信息的修改,以及根据自身条件申请课

6、程,查看学校当前的排课情况以及打印出详细信息。后台是超级管理员和普通管理员,普通管理员只能查询和修改自己的密码,超级管理员主要是同意老师选课并根据条件查询排课的操作。超级管理员权限最大,可以对后台进行任何操作,细分如下:1、管理员:新增、更新、删除、查看。2、教师信息的管理:删除、查看、同意开课。3、根据选择的限制条件对教学计划中的课程进行排课。三、主要研究(设计)方法论述:首先,根据项目给予的需求,通过访问学校教务处,网上搜索关于本项目相关的课题,了解到项目需要实现的功能,比较完善的分析出研究此项目的原因,以及在设计课程安排管理系统的时候,需要运用到的技术的关键点。其次,对于项目的可用性,进

7、行系统性的分析,确定项目的核心以及使用图画分析出项目的整个框架的主要流程,根据实际情况给项目更完善、更符合实际的功能。最后,对项目的数据库字段确定、页面布局的设计、整体框架设计的详细操作。四、设计(论文)进度安排:时间(迄止日期)工 作 内 容2015.06.232015.06.24联系指导老师、确定选题2015.06.252015. 06.26和指导老师建立联系通道,完成开题报告2015.06.262015.06.28提交开题报告,任务书由指导老师进行审核并修改2015.06.282015.07.03收集资料,分析项目,书写项目需求说明书2015.07.032015.07.8搭建开发环境,根

8、据项目需求完成相关页面设计2015.07.82015.07.14完成各个功能模块的代码2015.07.142015.07.17测试程序,完成论文的书写,提交项目2015.07.172015.07.30完善相关项目,准备答辩5、 指导教师意见: 指导教师签名: 年 月 日六、系部意见:系主任签名: 年 月 日 目录摘 要IAbstractII第一章 绪论11.1 课题研究背景11.2 研究的意义11.3 课题研究的内容21.4 论文的组织2第二章 开发技术32.1 Struts2技术32.2 Hibernate技术42.3 JQuery技术4第三章 需求分析53.1 需求说明53.2 业务流程5

9、3.2.1 前台功能63.2.2 后台功能63.3 系统用户的功能73.3.1 老师用户73.3.2 管理员用户83.4 系统功能用例图93.4.1 管理员管理93.4.2 管理员管理93.5模块描述93.5.1 主操作界面(系统后台首页)93.5.2 人员管理103.5.3 教务管理11第四章 系统设计124.1 系统架构设计124.2 数据库设计134.3 详细业务流程描述15第五章 系统实现175.1 程序结构175.2 系统实现175.2.1 管理员登录功能设计与实现175.2.2 普通管理员功能设计与实现215.2.3 超级管理员功能设计与实现215.2.4教师选课管理功能设计与实现

10、255.2.5教学计划查询功能设计与实现27第六章 总结与展望296.1总结296.2展望29摘 要各大高校教务信息管理系统中的课程安排管理系统就是数字化校园的一个重要组成,主要包括:根据不同的条件对于多种不重复的自动分配,如果是人工排课,就会浪费大量的时间。如果使用此项目,可以减轻教务安排工作者的负担,减少上课重复等问题的事件发生等。这样不仅可以提交教学管理治理,还可以提高教务的工作效率。在排课途中,会遇到各种问题:在时间上的安排、老师的调课、教室是否空闲、班级上课时间是否会与其他时间冲突等一系列问题。所以在网上,也有人在研讨关于排课的方法与软件:遗传算法、模拟退火算法等,都很合理的解释了排

11、课算法的各种可能性造成了数据量过大,有一定的难度实现。传统的人为手动排课存在很多问题:重复的劳动力,生产效率低下等。而且在排课当中,产生的大数据对于后期的查找、修改、更新等都带来了很多的困难。所以,本项目的主要目的是解决课程安排管理,尽量完善教务系统,设计满足高校教务要。在实现此项目方面,主要是运用了Struts2+Hibenate(sh)两大框架和MVC两种开发模式,使得项目的界面与逻辑层巧妙的融合。除此之外,还使用ajax的异步刷新,利用了js进行简单的效验,采用框架开发模式,为日后的程序的更改与扩展都提供了很多的可扩展性。关键词:Java ,Struts2 ,Hibernate, Jqu

12、ery, 课程管理系统;数据库 ,Web应用程序。Abstract struts2 + hibenate The educational management information system in the course arrangement is a vital component of digital campus is the management system, mainly including: according to the different conditions for automatic assignment of a variety of repetition, i

13、f it is artificial course arrangement, it will be a waste of a lot of time. If you use this project, you can reduce the burden of the educational administration to reduce the repetition of the class and other issues such as the occurrence of events, etc. This not only can be submitted to the teachin

14、g management, but also can improve the work efficiency of the senate. So on the Internet, there are people in the study methods and software in course of expulsion: genetic algorithm and simulated annealing algorithm, very reasonable explains exhaust the possibilities of the algorithm resulting in a

15、 large amount of data, to achieve a certain degree of difficulty. The traditional manual scheduling problems: repetitive labor, low production efficiency. And in the course of the course, the big data generated by the late period of search, modification, update, etc. have brought a lot of difficulti

16、es. Therefore, the main purpose of this project is to solve the curriculum management, try to improve the educational administration system, designed to meet the educational administration.在实现此项目方面,主要是运用了Struts2+Hibenate(sh)两大框架和MVC两种开发模式,使得项目的界面与逻辑层巧妙的融合。除此之外,还使用ajax的异步刷新,利用了js进行简单的效验,采用框架开发模式,为日后的

17、程序的更改与扩展都提供了很多的可扩展性。In the implementation of this project, the main use of the Struts2+Hibenate (SH) two and MVC two development model, making the projects interface and the logic layer of the integration of clever. In addition, AJAX asynchronous refresh, use js simple validation, using the framewor

18、k of development mode, program for future changes and expansion provides a lot of scalability.Keywords:Java, Struts2, Hibernate, Query, Course schedule management system database Web application.II第一章 绪论1.1 课题研究背景当今信息技术的优越的发展和计算机的普及,计算机越来越深入到了我们的生活领域当中。随着人类发展及教师的工作日益增加后,且信息量也逐渐的增加。教师完全用手工或半手工管理的模式,学

19、生的日常课程效率将会有所较低、可靠性也很差。在计算机网络的持续发展模式下,工作、学习以及生活的节奏都将会不断的加快,因此我们就需求快捷准确的信息来源。当前在工作只中已经给每个教师都配备了个人电脑,但在实际工作时效率并不高,如果我们将采用计算机来进行管理学生的课程的各类信息,必将会对工作效率有很大的提高,对学生信息管理起到了极大的高效作用,所以无论是从当前的现状来看还是面向未来,一个完整高效的课程信息管理系统的开发是非常有必要的,这将会对学校老师学生都将是一个非常方便使用的,从而降低了人为的错误,大大减轻了人为排课的压力。学生课程信息管理系统将是一个教育单位中必不可缺的一部分,学生课程管理系统将

20、能够为用户所提供大量的信息和简洁的查询手段。一直以来人们 都利用传统人工的方式来进行管理文件档案,这种管理模式会存在着许多的缺点,譬如:效率较低、保密性较差,另外随着时间一长,将会产生大量的文件与数据,这将对于查找、维护和更新都将会带来不少地困难。随着技术快速的提高,计算机科学日益成熟,其强大的应用领域,进入人类社会中的各个领域,发挥着越来越重要的作用,达到人们无法完成的工作。作为计算机应用中的一个部分,使用计算机对学生的课程信息进行管理来说,拥有着手工管理所不能够比拟的优点.例如:检索快速、查找方便简洁、存储量大可靠性高、保密性安全、寿命时间长、降低成本等等。这些优点能够极大地对学生课程管理

21、的效率高的依赖。1.2 研究的意义 课程安排管理系统是当前在教务管理中的一项非常重要的工作之一,从一般意义上来讲,它的实质是对学校的每个学期将会开设的每门课程都要进行合理地分配时间和教师资源以及教室资源的所有过程。这当中涉及了每个教师、教室、课程等多种连接的复杂因素,人为对其要求也是比较多的,随着学生人数的不断增多导致教师的资源分配出现了紧张,课程的设置不断向深度和广度的发展,课程管理安排的过程是需要考虑很多因素,比如考虑课程、教室、老师、班级等等,这之间存在的要求等多方面的约束条件越来越多,再加上授课中安排表在执行过程当中:教室,老师,教室的流动性是比较大的,会发生大量的调整。诸多的复杂繁琐

22、因素就加大了课程在安排工作时的难度和复杂度。如果这将完全由人工来进行安排课程表的话,就会费时费力,其科学性、方便性、准确性都将是不会保证的。计算机的运算速度快,处理逻辑能力强与人类等特点,自然而然地都发展到这一领域来。能够运用计算机进行课程安排管理可以快速地得到满足更多的约束条件的可行结果,时间短,省人力和质量高的跟多优点。不但能够使教学管理人员可以从繁杂繁琐的课程安排管理任务中解决出来,真正的做到了教务管理科学化、正规化、现代化。1.3 课题研究的内容基于学校教务处的研究,前台是老师的注册与基本信息的修改,以及根据自身条件申请课程,查看学校当前的排课情况以及打印出详细信息。后台是超级管理员和

23、普通管理员,普通管理员只能查询和修改自己的密码,超级管理员主要是同意老师选课并根据条件查询排课的操作。超级管理员权限最大,可以对后台进行任何操作,细分如下:1、管理员:新增、更新、删除、查看;2、教师信息的管理:删除、查看、同意开课;3、根据选择的限制条件对教学计划中的课程进行排课。1.4 论文的组织第一章 绪论,首先介绍了课程安排管理系统的开发的背景,意义及主要的研究项目的内容;第二章 项目开发技术,介绍了在本项目的开发过程中用到的所有基本技术;第三章 项目需求分析,详细介绍了本项目需要的业务需求以及业务流程;第四章 项目系统设计,详细描述了本项目的系统管理;第五章 项目系统实现,详细的介绍

24、了课程系统管理和项目的具体设计;第六章 项目总结与展望,总结了本次系统的研发以及对未来的美好展望。第二章 开发技术本小章主要介绍了课程安排管理系统在研发过程中运用到的相关的开发技术,主要有Struts2、 Hibernate、JQuery技术。下面详细的跟大家阐述下。2.1 Struts2技术Struts2的定义:Struts2是建立在MVC开发模式的基础之上的,通过拦截器等配置,严格控制页面的跳转的一种框架技术。Struts2的原理:通过页面表单、超链接等的请求,指定不同的控制后台进入Struts2进行请求的配对处理,在控制台中,需要定义出其名字,返回值,在处理后Struts2才知道下一步的

25、操作。Struts2联合JDBC的数据库操作,MVC的模式下,进行控制台与数据库的连接,完成相应的操作。图2-1是很经典的诠释了Struts2工作原理:图2-1 Struts2工作原理具体流程如下:首先需要在工作环境下新建一个动态web项目,然后把Struts2需要的jar包导入到WEB-INF下的lib包里;然后在web.xml里配置相应的拦截器;在官方找一个struts.xml的模板,复制到与src平行的项目中;新建一个src包,然后新建一个java实体类,继承ActionSupport,重写exec方法;在struts.xml环境下配置Action,新建一个jsp页面进行测试即可。2.2

26、 Hibernate技术Hibernate的定义:Hibernate是三大框架之一,运用实体类与数据库的合并,利用配置文件与数据库的连接,Hibernate的映射文件hibernate.cfg.xml的配置就可以实现数据库实体化。有效的替换了以前原始的JDBC操作,利用sessionFactory获取session,进行前台与数据库的连接操作。是对JDBC的封装使用,方便开发者对数据的操作。对Hibernate的工作原理,通过网上查阅,大体是从以下几点进行操作实现:首先要有一个实体类,然后需要对应的映射文件;然后在配置文件中指定数据库和方言,配置连接池,表的操作等,以及添加映射文件;接着创建一

27、个Hibernate工厂,获取sessionFactory,得到session开启事务,进行数据库的操作(添加、更新、查询、删除),主要是利用sql语句发出相应语句执行操作,提交事务;最后实例化对象调用方法进行测试。对Hibernate的使用步骤,通过网上查阅,主要是从以下几点进行操作实现:新建一个项目,导入Hibernate需要的jar包;引入配置文件hibernate.cfg.xml,进行相应工具的配置添加;创建需要的实体类、设计关联的映射文件;添加到配置文件中;根据需求实现项目的增删改查。2.3 JQuery技术JQuery的定义:JQuery是建立在JavaScript的基础之上的一种

28、轻量级的JavaScript库。对于浏览器的兼容性很适用,而且联合了ajax,将其包装到一个函数中直接使用。在获取html文本框时也不需要使用js冗长的代码,只需要利用$符就可以得到同样的效果。JQuery的使用,方便数据的效验,页面的请求,开发者可以很方便的开发出功能强大的项目。JQuery的优势有下列几点:轻量级,兼容性;链式操作方式;DOM操作封装;事件的处理机制;完善Ajax。第三章 需求分析本章节主要对课程安排管理系统的需求说明进行了详细的描述,对业务的流程,系统的结构,框架以及每个模块的各个功能进行了详细的分析,对非功能需求的一个具体的说明。3.1 需求说明课程安排管理系统前台界面

29、主要内容包括:课程安排管理系统前台教师的登录、注册;教师基本信息的修改、密码的修改;选课信息的展示与申请;选课的公告的展示;教学计划的展示与打印课程计划表。关键字查询搜索:选课信息的根据课程名查询、选课公告的根据课程名查询。后台界面主要内容包括:人员管理的教师管理模块与管理员密码修改模块;教务管理的班级管理模块、课程管理模块、教室管理模块;各项计划的教学计划模块与课程计划模块。 3.2 业务流程该系统前台的主要流程是老师通过用户名账户通过登录模块进入到首页,然后可以浏览公选课信息,搜索选课信息,如果有自己喜欢的课程,可以申请选课,但是如果已经有课了,就提示不能在申请上课了。这是根据数据库进行匹

30、配。如果老师没有账号,可以进行注册,必须要输入正确的信息才可以注册成功并进行相应的操作。该系统后台的主要流程是系统管理员通过登录模块进入课程安排管理系统后台的主页,然后可以对教师、班级、课程、教室等进行管理操作。在登录方面,只有一个界面,是根据角色的选择进入不同的界面,前提是输入的用户名与密码在选中的角色表中是可以相互匹配的。如果匹配不到,是不可以进入主页面的,登录是失败的。图3-1为整个课程安排管理的结构示意图:图3-1 课程安排管理系统整体结构示意图3.2.1 前台功能1.登录。2.老师注册:如果当前老师没有登录的账号,可以进行相应的注册,注册途中,需要输入自己的信息,进行了效验提示输入信

31、息是否可用。3.选课信息:老师可以通过查看选课信息,使用分页大概浏览,或者使用根据课程名查询,查看是否有自己心仪的课程,如果有,可以申请选课担任,前提是现在没有担任课程,如果担任了课程是不可以担任其他课程的。4.选课公告:老师可以通过此平台查看其他老师担任的什么课程,对学校老师的熟悉,也方便后期的交流。5.教学计划:老师可以查看针对老师的教学计划,大概知道学校后期是如何的安排的,需要的话,可以打印教学计划以及课程计划表。 3.2.2 后台功能1.管理员登录:管理员根据输入自己的用户名以及密码,输入验证码,进行效验,成功登录。2.人员管理:管理员对老师的基本信息进行有效操作(不可随意修改),查询

32、和删除,对管理员自身是对密码的修改。3.教务管理:对班级的基本信息的添加、更新、移除;对课程的基本信息的添加、更新、移除;对教室的基本信息的添加、更新、移除。4.各项计划:对教学计划的基本信息的添加、更新、移除;对课程计划的添加、更新、移除。3.3 系统用户的功能 3.3.1 老师用户老师用户为本系统的前台人员,也就是User,老师可以在前台查看到现在没有被选课的课程信息,可以对课程的分页查询,可以通过对课程名的查询得到课程的基本信息,如果老师对没有被选课信息的课程感兴趣,可以申请选课,而且只能选择一门,体现出学校的专一深入一门,老师可以有更好的教学水平。在申请选择课程时,如果已经是身负重任,

33、已经担任一门课程以后,系统会温馨提示老师已经选课了,不能再选课。老师也可以对自己的用户名的修改,查看自己所属院系,还有修改自己的密码,如果密码输入三次错误,就不能进行密码修改。老师还可以查看学校当前的教学进度,查看教学计划,了解到现在教学计划的情况,有必要的话,可以打印教学计划和课程计划表。图3-2 老师用户的功能示意图3.3.2 管理员用户1.管理员登录:管理员根据输入自己的用户名以及密码,输入验证码,进行效验,成功登录。2.人员管理:管理员对老师的基本信息进行有效操作(不可随意修改),查询和删除,对管理员自身是对密码的修改。3.教务管理:对班级的基本信息的添加、更新、移除;对课程的基本信息

34、的添加、更新、移除;对教室的基本信息的添加、更新、移除。4.各项计划:对教学计划的基本信息的添加、更新、移除;对课程计划的添加、更新、移除。图3-3 管理员功能示意图3.4 系统功能用例图3.4.1 管理员管理用例名:管理员管理简述:管理员进行登录才可进行管理参与者:超级管理员前置条件:已登录后台管理员账户详细描述:1 对普通管理员的查询、添加、删除。2 对自己密码的更新。3 对老师的查询,同意开课。4 对教学计划的条件查询。3.4.2 管理员管理用例名:管理员管理简述:管理员进行登录才可进行管理参与者:普通管理员前置条件:已登录后台管理员账户详细描述:1 修改密码。2 对其他模块只能查询。3

35、.5模块描述3.5.1 主操作界面(系统后台首页)超级管理员成功登录后台以后,可以对人员管理、各项计划两大模块的数据操作,普通管理员只能对模块的简单查询,不能操作数据(下面以超级管理员为例):图3-4 主操作界面功能示意图3.5.2 人员管理超级管理员进入主界面以后可以对普通管理员根据限制条件查询,多个选择删除以及添加,如果添加的用户名已经存在于数据库,会提示已存在此用户,请重新命名的提示并清空表单方便管理员重新填写;每个登录成功的管理员都可以修改自己的密码,修改密码需要重新输入当前密码,如果输入三次错误,就会提示输错三次退出当前页面,新密码确认失败也需要重新输入新密码的效验;对教师管理主要是

36、根据限制条件查询基本信息,查看最新申请上课的老师,同意或者拒绝;也可以删除已经离职或者退休的老师:图3-5 人员管理功能示意图3.5.3 教务管理教学计划是根据老师、班级、教室、课程的随机不重复组合形成的,主要显示编号、一周课时、任课老师、上课场所、任课班级、上课时间;对教学计划主要进行班级、上课时间模糊查询、任课老师的查询。采用分页的形式显示数据:图3-6 教学计划功能示意图第4章 系统设计本章节主要详述课程管理系统的架构设计,对应的是数据库表的设计,多表之间的联系,表外键之间的关系以及相对的模块详细的设计分析。4.1 系统架构设计本课程管理系统应用稳定的SH框架技术。通过第二章研发技术的详

37、细介绍,简单性、方便性和松耦合的角度来解释,可以构建一个强健、高效、容易于扩展和易维护的业务应用系统。典型的J2EE模型结构,分为表现层次、中间层(即业务逻辑层次)和数据服务层次。三层体系将业务之间的规则、数据的访问以及合法性校验等工作放置于中间层次处理。客户端不直接与数据库交互,而是通过组件操作与中间层建立连接,然后由中间层与数据库交互的方式获取到数据。图4-1为底层系统架构设计流程:图4-1 底层系统架构设计流程图4.2 数据库设计数据库主要是用Mysql数据库进行系统设计的,以下的表均是为项目所需的数据库表而制作的。根据上述的课程管理系统的需求分析,数据库的设计如下列所示:前台老师表主要

38、用于前台登录:表4-1 老师表列名数据类型长度允许空主键外键描述t_idint255NY主键自增t_realnamevarchar255N真实名字t_usernamevarchar255N用户名t_passwordvarchar255N密码t_deptvarchar255N所属院系courseint11YY课程科目前台课程表主要用于显示选课信息:表4-2 课程表列名数据类型长度允许空主键外键描述c_idint11NY课程编号c_namevarchar255N课程名称c_discriptvarchar255N课程描述c_scoreint11N课程学分c_alltimeint11N课程总课时后台班

39、级表主要用于老师上课的班级以及课程计划编排:表4-3 班级表列名数据类型长度允许空主键外键描述b_idint11NY主键自增b_namevarchar255N班级名b_deptvarchar255N专业b_gradevarchar255N年级b_yearint11N学制teacherint11NY班主任后台教师表主要用于课程计划编排:表4-4 教室表列名数据类型长度允许空主键外键描述r_idnumber11NY主键自增r_namevarchar2255N教室名称r_addressvarchar2255N教室地址r_typefreeint11N是否启用后台课程计划表主要用于编排课表:表4-5 课

40、程计划表列名数据类型长度允许空主键外键描述cp_idint11YY主键自增timevarchar255Y课时banjiint11YY班级classroomint r11YY教室teacherint11YY老师后台教学计划表主要是基于课程计划排课基础上:表4-6 教学计划表列名数据类型长度允许空主键外键描述p_idint11NY主键自增p_timesint11Y课时courseplanint11YY课程计划管理员表用于存储后台管理员的信息:表4-7 管理员表列名数据类型长度允许空主键外键描述a_idint11NY唯一约束a_namevarchar255N用户名a_passwordvarchar2

41、55N密码在设计数据表时,根据需求,建立了表与表之间的联系,其中课程计划表的字段除了主键,其它字段都是外键,在操作数据的时候给项目增加了相应的难度。下图是数据库表与表之间的相互关系:图4-2 底层数据库设计关系图4.3 详细业务流程描述首先管理员要先到登录界面进行登录,登录的时候要先判断数据库是否存在此用户,如果不存在需要重新登录,如果存在就可以进入到主界面。进入到主页面以后,可以对自己的密码进行修改,如果新旧密码不符合,是不可以密码修改成功的。还可以根据限制条件查询数据库的教师信息,根据教务实际情况,如果此教师已经离职,需要从数据库里删除该老师的信息。对于已经存在的教学计划,可以进行相应的条

42、件查询。图4-3总业务系统流程图第5章 系统实现5.1 程序结构CoursePro是项目名称,也是项目的根目录。WebRoot为Web目录,包括图片目录images,js,和前台front和后台back的JSP文件以及JS文件、CSS样式文件。其中WEB-INF目录和lib目录以及web.xml文件依然为固定的目录和文件,并且需要配置关于Struts2的filter。其中Src目录包含如下几个部分:包:图5-1 项目内部包名分类示意图配置文件包括:图5-2 项目主要配置文件图5.2 系统实现5.2.1 管理员登录功能设计与实现首先管理员进入登录页面,在登录过程中,需要输入数据库已存在的用户名和

43、密码,以及要输入正确的验证码。并且根据自己的身份选择(老师和管理员),管理员只有一个用户,不能注册,老师是可以注册的。登录首页利用了js特效,进行页面背景图片的自动切换,显示的是学校的风景图:图5-3登录首页-开始登录如果验证码输入错误,会提示需要重新输入,直到验证码输入正确才可以登录成功进入到首页中:图5-4 登录首页-登录失败通过登录成功后进入到后台主界面,可以看到当前的管理员用户名以及显示当前的时间,时间是通过js刷新的。还可以看到后台主要实现的功能,使用树状的下拉菜单,合理的排版,使得管理员可以清楚地找打自己需要的模块,下图是后台主界面:图5-5 后台界面-首页5.2.2 普通管理员功

44、能设计与实现管理员进入到首页后,可以操作自己的基本信息,管理员分为两种状态:超级管理员和普通管理员。其中普通管理员只能进行查询操作,对于自己,只能修改密码。超级管理员是可以进行所有的操作,包括删除普通用户以及添加用户:图5-6 后台管理普通管理员图5-7 后台管理超级管理员5.2.3 超级管理员功能设计与实现超级管理员可以对后台数据做任何操作,包括数据的添加、修改、删除和查询。添加普通管理员的时候,如果添加时用户名是数据库已经存在的,就会提示已经存在,不能再重复:图5-8 后台管理添加普通管理员管理员还可以对自己的密码进行修改,为了防止不是本人修改,所以在修改密码的时候都需要先输入旧密码,如果

45、密码3次输入错误,提示不能修改密码,跳到主界面,重新进入修改界面才可以继续修改。如果没有输入任何信息就会系统提示需要完善信息才可以密码修改成功:图5-9 后台管理确认旧密码如果旧密码输入与原密码不符合,就会提示旧密码确认不正确,就会清空旧密码,重新输入,如果连续输入三次都是有误,就会提示密码输入三次有误,就会跳到主界面,需要重新进入进行密码的修改:图5-10 后台管理修改密码如果旧密码正确,但是新密码和确认密码不符合,就会提示两次密码输入不同,需要重新输入:图5-11 后台管理确认新密码5.2.4教师选课管理功能设计与实现这是管理员对前台老师的管理,数据是每一个老师注册以后得到的,有的老师有课

46、程,有的老师没有课程。其中,没有课程的老师可以在前台选课信息中申请选课,如果提出了申请。后台管理员是可以的得到提示的,然后根据实际情况判断老师是否有资格担任此课程,如果有,就申请成功,如果没有,就不能上课:图5-12 后台管理教师显示(只能查询,不能操作其他的信息)图5-13 后台管理课程申请(可以对数据进行任何操作)在对老师的操作中,可以根据姓名,所在系别等查询,这里做的是3个查询,然后就是在删除教师时,可以进行全选删除或者选择几个删除操作:图5-14 后台管理教师查询及删除5.2.5教学计划查询功能设计与实现这是对课程计划成功后设计出的教学计划表,教学计划是通过课程计划生成的。而课程计划又

47、是通过老师表、班级表、教室表以及课程计划表四张表的随机不重复组合形成的一张表。教学计划是显示当前教学计划的信息,以及根据限制条件排课,采用分页的形式对数据的合理显示:图5-15 后台管理教学计划的分页显示第6章 总结与展望6.1总结本论文详细介绍了课程管理系统的基本体系结构的设计以及主要功能的实现,基于Web框架技术和JQuery等技术的有效结合,成功设计并实现了一个教务处课程管理系统,项目的这些技术的有效实现, 解决了教务处课程管理系统在实现中所遇到的关于数据库与页面的连接、根据指定字段名查询基本信息、信息修改等相关操作问题;目前该教务处课程管理系统处于测试运行阶段,所以还是存在许多bug与

48、不足,还需要继续完善与研发。通过对这次的毕业设计,我发现自己在java基础还是可以的,只是在技术上不是很熟练地掌握,在操作数据时,总是遇到一些没有遇到的问题,导致项目的进度相对其他人比较缓慢,不过,还好在最后的时间,通过各种手段解决了遇到的问题。总而言之,本次项目开发还算比较成功,完成了老师给的需求,也实现了当初自己想要需求功能,但是依然存在一些不足以及问题。在以后进入到公司后,我一定会更加的努力的增加自己的实战经验,更加的拓展自己的视野以及脑力。6.2展望随着当今Internet网络以及数据库的飞速发展,校园的课程安排管理也不再是传统的纯手工模式,不需要再花大量时间来对课程的安排,已经转向网

49、络。同时随着网络的兴起,科技化时代的崛起,大家都慢慢适应了现在快节奏的生活,以及数字化的生活,校园数字教务一体化的潮流也越来越多的人在模仿以及改进。通过对这次毕业设计的研发与实现,可以清楚的感觉到随着Internet网络迅速的发展和网络的应用广泛,让我们的生活是处处存在网络,更是离不开网络。学校教务处的工作也变得轻松加自由,更便捷化,个性化,在这样的情况下会把网络簇拥推向一个当今时间高潮。使用一个方便的课程排课系统是非常重要的。我相信在这样的发展下,现在21世纪网上课程排课系统肯定会在全中国乃至全世界掀起一次革命性的改革,现在课程排课已经在网上开课了,相信以后会更有作用的。而且在这次的毕业设计中,我收获了很多技术上的知识,程序编写也采用了不同的写法。相信在以后的努力下,我可以做出更加完善的可使用系统。参考文献1 张新曼.精通JSPWeb开发技术与典型应用M

温馨提示

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

评论

0/150

提交评论