基于web的课程管理系统.docx
- 文档编号:16265915
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:51
- 大小:4.22MB
基于web的课程管理系统.docx
《基于web的课程管理系统.docx》由会员分享,可在线阅读,更多相关《基于web的课程管理系统.docx(51页珍藏版)》请在冰点文库上搜索。
基于web的课程管理系统
摘要
本论文主要介绍基于Web的课程设计管理系统的研究和设计,以及系统设计中所涉及的技术。
进行了模块划分,而后分析了各个模块和流程的具体划分和最后的编程实现,从问题的提出到最后逐步的实现。
都一步一步作了系统的介绍,在实际开发阶段,本文将比较有代表性的代码给出,并作了相关注释,便于理解和对照。
本系统在当前流行的web开发平台上进行课程管理系统的设计与开发。
系统使用XML、JAVA等当前流行的技术进行系统实现。
他给学生带来了很多的方便,学生可以在线选择自己想要选的课题。
老师也可以在线添加课题、给学生打分等。
管理员可以在线对老师、学生、课程进行管理。
总体上实现了预期的目的。
在实现方面,该毕业设计最大的特点是使用JSP+JavaBean+Servlet开发模式,将系统中的表示层和业务逻辑层分开。
这种开发模式在一定程度上体现了MVC的思想,又减少的常规MVC模式的复杂性,在中小型Web应用的软件开发中具有一定的应用价值。
而且采用MVC开发模式进行该系统的具体实现,为日后程序的修改和扩展提供了很好的可扩展性。
关键词:
JSP,Servlet,JavaBean,iReport,JavaMail
目录
摘要1
1.1基于web的课程设计管理系统发展特点。
5
1.2主要功能6
2.1Java语言简介6
2.2Java语言在网络上的应用7
2.3JSP技术简介7
1.4Servlet技术简介8
1.5JavaBean技术简介9
1.6Tomcat简介9
1.7B/S与C/S模式10
第二章需求分析11
2.1设计目标11
2.2功能概图12
2.3性能需求12
2.4数据需求13
第三章系统概要设计14
3.1系统运行平台设置14
3.2运行环境14
3.3开发工具及技术简介14
3.3.1开发工具简介14
3.3.2技术简介15
第四章数据库概念结构设计16
4.1数据库表如下:
16
4.1.1.登录表(user)16
4.1.2.管理员表(admin)16
4.1.3.教师表(teacher)16
4.1.4.学生表(student)17
4.1.5.课程表(course)17
4.1.6.选课表(selectCourse)17
4.1.7.评教表(judgeTeacher)17
4.2数据库的完整性和安全性18
4.2.1数据库的完整性18
4.2.2数据库的安全性18
4.3登录用到的触发器18
第五章数据库逻辑结构设计20
5.1数据库的需求分析20
5.2数据库的逻辑设计20
5.2.1实体与属性之间的关系20
5.2.2E-R模型20
第六章数据流图及程序结构框图21
6.1、核心模块数据流图21
6.2、程序结构图22
6.2.1.用户登录及其处理类图:
22
6.2.2.接数据库类:
23
6.2.3.个性服务信息及其处理类图:
23
6.2.4.管理员及其处理类图:
23
6.2.5.课程及其处理类:
23
6.2.6.学生及其处理类图:
24
6.2.7.教师及其处理类图:
24
6.2.8.评教及其处理类图:
24
6.2.9.选课及其处理类:
24
第七章程序源代码及其说明25
7.1、登录模块核心代码:
25
7.1.1.非法登录时的界面:
28
7.2、课程管理系统选课模块中能否选课时间的核心代码28
7.2.1.没到选课时间时,提示界面:
29
7.2.2.管理员设置选课时间顺序错误时:
30
7.2.3.选课成功时,在当前页面显示选课结果:
31
7.2.4.学生可以对相应的授课老师进行评教:
32
7.3、发送邮件模块核心代码:
32
7.3.2、发送给34
7.3.3、发送给35
7.3.4、发送邮件给未选上课的学生:
35
7.3.5、张月月s000003收到的选课信息:
36
7.4、报表打印模块核心代码:
36
7.4.1、未选上课的学生报表:
37
7.4.2、学生报表生成页面如下37
7.5、其他模块图:
38
7.5.1添加学生图(带校验):
38
7.5.2添加学生成功时,自动关闭窗口,并刷新父窗口:
39
7.5.3、学生,教师,管理员可修改登录密码:
40
7.5.4、教师录入成绩:
41
7.5.5、学生可查询成绩,教师也可查询成绩,管理员可以查询所有信息:
41
7.5.5.1、学生精确查询成绩:
41
7.5.5.2、管理员可以查询所有信息:
42
7.5.5.3、管理员可以设置系统通知信息:
42
7.5.5.3、相应的学生都可以查看系统通知信息:
43
第八章系统测试分析43
8.1系统测试目的和原则43
8.2JSP的中文乱码问题44
8.3测试环境45
8.4功能测试45
8.5测试结果45
结论45
参考文献46
致谢46
第一章绪论
1.1基于web的课程设计管理系统发展特点。
基于web的课程设计管理系统,根据高校课程管理的基本流程,实现课程信息管理的电子化,减轻管理人员的负担。
管理人员能够很好对课程进行管理。
长期以来,学校基本都是使用传统人工的方式管理学生课程信息,效率低、保密性差,随着计算机和网络技术的发展,使用计算机来管理课程信息已经成为发展趋势。
这样可以提高学生选课和成绩管理工作的效率,围绕此管理所需要的学生个人信息、课程和任课教师信息、所选课程信息进行管理及维护。
随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,他已经进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分,使用计算机对高校课程进行管理,有着手工管理所无法比拟的优点。
例如:
检索迅速,查找方便,可靠性高存储量大成本低等。
这些有点都能够极大的提高高校课程管理的效率也是企业的科学化正规化管理,与世界接轨的重要条件。
所以说,程管理系统是高校不可缺少的一部分,他的内容对于学校的决策者和管理者来说都至关重要
1.2主要功能
开发课程管理系统的总体任务是实现学生网上选课功能,将学生选择的课程和学生成绩通过网络进行管理等。
本系统的主要功能如下:
管理员登录:
管理学生、教师、课程和班级信息。
学生:
学生学籍的管理,基本信息的查询,成绩查询,选课查询
教师:
选择学生、任教科目查询、成绩录入、师基本信息查询
第二章开发语言及相关技术概述
2.1Java语言简介
Java语言是当今流行的网络编程语言,它的面向对象、跨平台、分布应用等特点给编程人员带来了一种崭新的概念,使WWW从最初的单纯提供静态信息发展到现在的能够提供各种的动态服务。
Java不仅能通过编写小应用程序实现嵌入网页的声音和动画功能,而且还哪个应用与独立的大中型应用程序中,其强大的网络功能可以把整个Internet最为一个统一的运行平台。
Java的诞生从根本上解决了Internet的异构、代码交换以及网络程序的安全性等诸多问题。
Java语言且有平台无关性,程序经过编译后,生成字节代码并运行在Java虚拟机上,随着JavaServlet的推出,Java的应用更加广泛,目前Java技术已成为项目开发的主要选择。
2.2Java语言在网络上的应用
Java程序可以获取网络上结点的图像、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。
例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。
在编程处理上,一般先生成一URL类型的对象,然后用Java中相应的方法(method)获取该对象所代表的资源。
2.3JSP技术简介
JSP(JavaServerPages)是一种基于Java的脚本技术,这种技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序哪个与各种Web服务器、应用服务器、浏览器和开发工具共同工作。
在JSP的众多优点之中,其中之一是它能将HTML编码从Web页面的业务逻辑中有效地分离出来。
用JSP访问可重用的组件,如Servlet、JavaBean和基于Java的Web应用程序。
JSP还支持在Web页面中直接嵌入Java代码。
可用两种方法访问JSP文件:
浏览器发送JSP文件请求、发送至Servlet的请求。
1.JSP文件访问Bean或其它能将生成的动态内容发送到浏览器的组件。
图1.1说明了该JSP访问模型。
当Web服务器接收到一个JSP文件请求时,服务器将请求发送至WebSphere应用服务器。
WebSphere应用服务器对JSP文件进行语法分析并生成Java源文件(被编译和执行为Servlet)。
Java源文件的生成和编译仅在初次调用Servlet时发生,除非已经更新了原始的JSP文件。
在这种情况下,WebSphere应用服务器将检测所做的更新,并在执行它之前重新生成和编译Servlet。
图1.1:
浏览器发送JSP文件请求
2.发送至Servlet的请求生成动态内容,并调用JSP文件将内容发送到浏览器。
图1.2说明了该访问模型。
该访问模型使得将内容生成从内容显示中分离出来更为方便。
WebSphere应用服务器支持HttpServiceRequest对象和HttpServiceResponse对象的一套新方法。
这些方法允许调用的Servlet将一个对象放入(通常是一个Bean)请求对象中,并将该请求传递到另一个页面(通常是一个JSP文件)以供显示。
调用的页面从请求对象中检索Bean,并用JSP来生成客户机端的HTML。
图1.2:
发送至Servlet的请求
1.4Servlet技术简介
Servlet是用Java书写的一种协议,是与平台无关的服务器端的构件。
它可以在支持Servlet的Web服务器或应用服务器上运行。
Servlet被装载到Web服务器或应用服务器后,在Java虚拟机上执行,所以不需要呗装载到Web客户端的JVM上执行是同样的方式。
由于Servlet在服务器上执行,所以不需要任何图形用户界面。
从这个意义上讲,Servlet是一个“无面”对象。
Servlet为客户端和服务器端的信息处理提供了一种“请求/回答”机制。
Java的ServletAPI为处理客户端和服务器端之间的请求和回答信息定义了标准接口。
JavaServlet处理技术与传统的CGI和许多其他类似CGI的技术相比,具有许多优点。
高效
在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销反而超过实际执行时间。
而在Servlet中,每个请求由一个轻量级的Java线程而不是重量级的操作系统进程来处理。
方便
Servlet提供了大量的实用工程,例如自动解析和解码HTML表单数据、读取、和设置HTTP头、处理Cookie、跟踪会话状态等。
功能强大
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。
可移植性好
Servlet用Java编写,ServletAPI具有完善的标准。
因此,为某个EnterpriseServer写的Servlet无须任何实质上的改动即可移植到Apache、MicrosoftIIS或者WebStar上。
节省投资
不仅有很多廉价甚至免费的Web服务器供供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet,那么要加上这部分功能也往往是免费的或是只需要极少的投资。
1.5JavaBean技术简介
JavaBean是一种基于Java的软件组件。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持。
这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。
JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
1.6Tomcat简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat6支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
选课工作是学校课程管理的重要组成部分,为老师和学生提供一个课程管理的平台,长期以来,学校基本都是使用传统人工的方式管理学生课程信息,效率低、保密性差,但随着某高等学院教学体制的不断改革,信息化的不断发展,特别是学分制、选课制等展开和深入,各大院校教务日常管理工作日趋繁重、复杂,迫切需要研制开发一套基于Internet网络的计算机课程管理软件,从而减轻教务管理的压力,更好的为师生服务。
本系统正是为适应这种需求而研发的。
本文从课程管理系统的开发背景、相关技术、需求分析、详细设计、系统测试与维护等方面详细阐述了整个系统的开发过程。
1.7B/S与C/S模式
随着网络的发展,在web应用程序中,程序的部署简单、开发高效、平台兼容、程序的维护是越来越重要。
由于编程语言越来越多,以至于程序员的通信和维护更加的困难,因此需要一个统一的平台和架构来解决编程语言和平台的兼容问题。
当前流行的架构有B/S和C/S模式,B/S的市场规模每年都在快速增长,越来越成为当今开发的主流模式。
然而当前的技术有微软的.net平台提供的web应用架构和SUN公司开发的java。
按照系统终端情况的不同,可将高职院校辅助教学平台系统的开发结构分为C/S(客户端/服务器)和B/S(浏览器/服务器)两种模式,它们各具特色,是当前高职院校辅助教学平台系统开发的主流。
C/S是一种client客户端和serves服务器的架构,其中客户端负责接受用户的请求,然后发给服务器,由服务器处理然后在返回给客户端。
B/S作为如今最为流行的体系结构模式,也是受到了广大开发人员以及客户的认同,其开发模式也在不断的发展着,九江职业技术学院辅助教学平台采用的是B/S的体系结构模式。
客户器/服务器系统的主要优点为能最大体现客户和服务器或客户间的交互性。
作为本基于B/S模式的教学管理系统主要特点表现为:
学生和老师的交互,学生几乎可以随时和老师进行互动,学生学习中问题的提出,老师对相应问题进行回答;老师通过该系统平台发布有关通知,布置作业题目、家庭学习任务等,学生既可及时地通过该系统平台得到相关信息,并可通过该系统提交自己完成的任务或作业等;老师对重点难点课件或教授视频的上传,学生通过该系统加强对相应重点难点内容的学习;学生并可以通过该系统及时查看自己的某次考试的分数,并及时与相应老师进行交流.
(1)系统易于扩展和维护。
该平台系统可随时根据需要上传任何格式的文件(只要服务器的空间足够),对过期的资料进行相应的处理。
学生成绩查询子系统采用数据库存放个学生相应信息,可随时根据具体的考试情况对数据库进行维护和管理。
并且系统的各个模块之间相对独立但又相互关联,易于对相应模块单独进行调整与完善。
(2)大大降低对网络带宽的要求。
采用客户端/服务器系统可避免点对点网络传输所产生的过分的网络阻塞与延迟。
可以说,只要服务器端的带宽足够,并具备大规模服务的能力,对于客户端的网络带宽要求是非常低的
第3章需求分析
3.1设计目标
本系统是一个网络版的管理系统,主要针对高效学生教务流程开发设计,系统提供了较好的功能扩充接口。
下面简要分析系统大致的功能需求。
1)管理员登录
在管理员进入系统前,首先要求管理员进行登录,防止非法用户对系统进行操作,登录时要验证用户名和密码是否匹配,验证通过后允许管理员进入本系统操作。
同时特别注意sql系统注入漏洞问题。
2)学生信息管理
提供包括学生学籍的管理,基本信息的查询,成绩查询,选课查询。
(a)填写学生信息
(b)查询学生信息
(c)修改学生信息
(d)删除学生信息
3)教师管理
教师对学生信息的查询,任教科目查询,成绩录入,教师基本信息查询。
(a)填写教师信息
(b)添加教师信息
(c)修改教师信息
(d)删除教师信息
4)选课管理
提供学生每学期的公选课的选择。
a)设定选课时间、人数
b)选上课的学生名单
c)未选上课的学生名单并用邮件通知
d)选课成绩信息可用邮件通知其一门课或学期所有课的成绩
3.2功能概图
本系统的流程主要描述的是学生选择课程后,教师为学生录入成绩。
该系统的适用对象包括学生、教师和管理员,如果3.1所示:
图3.1系统模块结构图
3.3性能需求
可靠性
系统7×24小时持续可用,可在每日特定时间段内对系统进行维护。
传输数据服务要求准确,不能丢失数据。
系统应有分级权限和逐级授权管理功能。
可维护性
软件采用面向对象技术开发,较之过程化技术,更容易维护。
软件严格和规范文档化,给系统的维护带来方便。
软件规范模块化,尽量做到低耦合,便于软件的更新修改,增强可维护性
性能,效率
本软件安全保护优良,可提供备份,工作有较好的稳定性,响应时间短,系统可以在1小时内实现恢复。
如果硬件损坏,应提供应急和替代方案。
可扩展性
系统功能扩充或使用单位增加时应不影响现有系统功能和结构。
系统建设要求能够保护投资,当系统数据量和访问量增大而导致系统配置不能满足要求时,可以通过仅增加服务器等硬件进行解决,而不是在软件上做修改。
安全性
硬件设备的安全性。
操作系统及支持软件的安全性(必须进行安全配置)。
应用及数据的安全性。
易用性
要求管理用户具有一定的计算机知识和操作能力,按照数据流程进行操作
兼容性
本软件在windows系列操作系统上都可以正常运行。
对硬件的要求也不高,一般PC机上均可。
可移植性
本系统可以移植到windows系统的计算机上,也可以移植到Linux系统的计算机上。
3.4数据需求
(1)数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
(2)数据的安全性
本系统为企业人事管理部门设计,因此只有特定的人事管理者才能对数据实现增,删,改,查等操作。
未获授权人员不能进入系统。
(3)数据的备份
要定期对数据库中的数据进行全部或新增部分的备份工作,以保证在硬件出现故障或人为原因导致无法运行时是可以快速及时的还原到原来的正常状态。
本章小结:
本章主要介绍了本系统的设计目的已经系统的功能和数据需求
第4章系统概要设计
4.1系统运行平台设置
本系统的运行平台设置分为硬件环境和软件环境。
4.2运行环境
1.硬件环境
系统的硬件环境配置为处理器PentiumIII800,内存1G,硬盘1G。
2.软件环境
系统的软件环境配置为WindowsXP操作系统,SQLServer2005数据库,JDK1.5、MyEclipse5.1开发工具包和Tomcat6.0服务器。
4.3开发工具及技术简介
以下内容是对本系统所采用的开发工具和技术进行的简单介绍。
4.3.1开发工具简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以分为7类:
(1)J2EE模型;
(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
SQLServer2005是一种采用T-SQL语言,基于C/S模式的关系型数据库管理系统。
SQLServer2005存储和管理数据有以下优点
(1)每个数据项都存储在中央位置,所有用户都可在这个位置使用它们;
(2)各个客户端上不单独存储数据项复本,从而消除了因用户不得不确保使用的信息相同所带来的麻烦。
系统不需要确保使用当前值更新所有数据复本,因为中央位置仅有一个复本;
(3)可以在服务器上一次性定义业务和安全规则,并对所有的用户平等执行;
(4)可以在数据库内通过使用约束、存储过程和触发器来强制执行规则。
还可在服务器应用程序中执行规则,因为这些应用程序也是许多客户端访问的中央资源;
(5)关系数据库服务器只返回应用程序所需要的数据,优化了网络流量;
(6)最大程度地降低硬件的成本,由于数据不是存储在每个客户端上,客户端不必耗费磁盘空间来存储数据。
客户端无需在本地增加管理数据的功能,同时,服务器不需将处理能力耗费在显示数据上;
(7)可以配置服务器以优化检索数据所需的磁盘输入/输出容量,配置客户端以优化从服务器检索数据的格式;
(8)可以将服务器存储在一个相对安全的位置,并配备如不间断电源供应系统这样的设备,这比完全保护每个客户端更经济;
(9)维护任务(例如备份和恢复数据)得到简化,因为这些任务都可以集中在中央服务器上执行。
4.3.2技术简介
本系统采用MVC框架,MVC(Model-View-Controller)是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。
MVC把应用程序分成3个核心:
模型层、视图层和控制层,它们分别担负不同的任务。
其中视图层向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。
模型层表示业务数据和业务逻辑。
控制层接收用户输入并调用模型和视图去完成用户的需求。
本系统需要用到的Java相关技术有jsp技术、servlet技术、jdbc技术、SSH框架。
其中,关键的技术难点在于Struts技术的运用。
Struts技术是基于MVC的Web应用框架。
在Struts框架中,模型层由实现业务逻辑的JavaBean组件构成,控制层由ActionServlet和Action来实现,视图层由一组JSP文件构成。
4.4数据库概念结构设计
数据库表如下:
4.4.1.登录表(user)
属性
类型
主键/外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 课程 管理 系统