JSP学生课程管理系统毕业设计.docx
《JSP学生课程管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《JSP学生课程管理系统毕业设计.docx(48页珍藏版)》请在冰豆网上搜索。
JSP学生课程管理系统毕业设计
摘要
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
课程管理系统是一个不断发展的新型学科,任何一个学校要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的学生课程管理信息系统。
作为计算机应用的一部分,使用计算机对学生课程进行管理,.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生课程管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
本文介绍了在JSP+Mysql环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个学生课程信息管理系统的过程。
通过分析一个学校学生课程管理的需要,创建了一个行之有效的计算机管理学生课程的方案。
文章介绍了学生课程信息管理系统的系统分析部分,包括可行性分析、数据流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。
关键字:
学生课程信息管理系统,Java,tomcat,Mysql,Eclipse
ABSTRACT
Withmoreandmorewidespreadandprofoundapplicationofstudentinformationtechnologyinmanagement,theimplementofmanagementcourseinformationsystemhasbecomematureintechnologystepbystep.Studentmanagingcourseinformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresource(staff,finance,property,etc.)internaltheenterprise,andalsoestablishingastudentmanagementinformationsystemfittinginwithitsowncharacteristics.
Thisarticleintroducesthedetailedprocessofexploringastudentmanagementinformationsystemundertheenvironmentofactiveservicepage,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforbuildingsmanagementbycomputer,throughanalyzingdisadvantagesofbuildingsstudentmanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionofstudentmanagementinformationincludesfeasibleanalysis,managementfunctionanalysis.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesignanddatanumberdesign.Andthesystemrealizationsectionhasprovidedseveralmajorfunction,togetherwiththemainwindowsandprograms.
Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.
KEYWORDS:
studentmanagementsystem,Java,tomcat,Mysql,Eclipse
第一章引言
学生课程信息管理系统是采用JSP+JavaBean的模式实现一个在线办公平台,系统采用界面与业务逻辑分离的三层架构设计,将业务逻辑封装在JavaBean中,使得系统的安全性,可维护性,重用性和可扩展性都大大提高。
1.1系统及需求分析
1.1.1系统需求
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。
使原本的旧的管理方法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
为了适应现代社会人们高度强烈的时间观念,课程管理系统软件为学校办公室带来了极大的方便。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生课程信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
通过调查,要求系统需要有以下功能:
1)由于操作人员的计算机知识普遍较差,要求有操作简单的人机界面
2)由于该系统的使用对象多,要求有较好的权限管理
3)原始数据修改简单方便,支持多条件修改
4)方便的数据查询,支持多条件查询
5)在相应的权限下,删除数据方便简单,数据稳定性好
6)数据计算自动完成,尽量减少人工干预
1.1.2可行性分析
可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。
由于本系统管理的对象都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂,因此比较适合于采用数据库管理。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生课程信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
当前学校用于学生管理的微机,在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,参考其它程序的功能,因此完全可以实现。
从经济上讲,目前计算机的价格已经十分低廉,性能却有了长足的进步。
而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高学校的工作效率;
第四,本系统可以使敏感文档更加安全,等等;
本系统为一个小型的学生课程信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。
因此,本系统在法律上是可行的[1]。
本系统的设计是在WindowsXP中文版操作系统环境下,使用JSP开发成功的。
选择开发语言是一个重要的问题,目前开发语言较多,每种产品都具有各自的特点和适用范围,因此,在选择开发语言和工具时,应考虑其应用的特点及适用范围,本系统选用的开发语言和工具介绍如下:
JAVA总的来说,具有以下特点:
Java语言有下面一些特点:
简单、面向对象、分布式、解释执行、安全、体系结构中立、可移植、高性能、多线程以及动态性。
1.简单性
Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。
Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。
另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。
库和线程的支持也只有215KB左右。
2.面向对象
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。
对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的法,实现了代码的复用。
3.分布性
Java是面向网络的语言。
通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。
4.鲁棒性
Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。
它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。
通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。
另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。
5.安全性
用于网络、分布环境下的Java必须要防止病毒的入侵。
Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用"特洛伊"木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生错误。
6.体系结构中立
Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时统,Java程序就可在任意的处理器上运行。
这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
7.可移植性
与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。
同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。
另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。
8.解释执行
Java解释器直接对Java字节码进行解释执行。
字节码本身携带了许多编译时信息,使得连接过程更加简单。
9.高性能
和其它解释执行的语言如BASIC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
10.多线程
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。
通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
11.动态性
Java的设计使它适合于一个不断发展的环境。
在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。
并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性[2]。
1.2系统的功能介绍
本系统主要可以实现以下的模块的管理功能:
教师操作(包括个人信息,课程管理,在线资源管理,帮助功能),学生操作(包括个人信息,课程管理,在线资源浏览下载,帮助功能),管理员操作(用户管理,课程管理,课程帮助)。
1.2.1项目规划
学生课程信息管理系统是一个典型的数据库应用程序,由个人信息、学生课程管理、在线资源等模块组成。
1.2.2系统管理模块
该模块的主要任务是维护系统的正常运行和安全性设置,包括修改密码、重新登录等等。
1.2.3课程管理模块:
该模块的主要功能是:
教师查看选修自己所担任课程的全部学生,发布课程公告等。
学生能查看到自己所选修的课程,该课程的上课时间地点等。
管理员实现对全校在校学生的课程管理工作,包括:
添加课程信息、修改课程信息、查询课程信息等等。
从而方便学生对学校课程的基本情况的快速查询和了解,以及管理者对课程的修改大大方便了学校教材管理部门和教务处的教学管理人员的工作。
1.2.4在线资源管理模块:
教师能发布和管理自己课程的教学课件,例如word文档,PPT幻灯片,影音课件等。
学生能浏览自己所选课程所发布的word,PPT,影音课件或者下载其他格式的教学资源。
1.3系统开发的目标
出于本系统是在校学生课程管理的一个专一性的系统,本系统的设计目标将最终定位于完成以上所述的课程管理业务的基本模型上。
该项目开发的系统为学校学生课程信息管理系统,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生课程管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且简单易于操作。
第二章系统分析
2.1业务流程分析
本系统使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
学校工作总体规划由教务人员在学生课程信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。
教师模块:
个人信息,通过该模块教师能查看到自己所承担的课程。
课程管理,通过该模块,教师能查看选修自己所担任课程的全部学生,发布课程公布。
在线资源管理,通过该模块,教师能发布和管理自己课程的教学,例如word文档,PPT幻灯片,影音课件等。
输出
输入计算机
教务处
公告
课程
公告
教务处
教师
图2-1教师课程管理流程图
输出
输入计算机
教务处
教学
资源
资源
教务处
教师
图2-2教师在线资源管理流程图
学生模块:
个人信息,通过该模块学生能查看到自己的信息。
课程管理,通过该模块,学生能查看选修自己所担任课程,该课程上课的时间地点等。
在线资源浏览,通过该模块,学生能浏览自己所选修课程发布的Word,PPT,影音课件或者下载其他格式的教学资源,例如word文档,PPT幻灯片,影音课件等。
输出
输入计算机
教务处
选课
信息
选课
教务处
学生
图
图2-3学生课程管理业务流程
输出
输入计算机
教务处
教学
资源
资源
教务处
学生
图2-4学生在线资源管理业务流程
管理员模块:
用户管理:
该功能模块,管理员能查询所有的学生和教师的详细信息,添加学生和教师,添加选课记录。
课程管理:
通过该模快,管理员能查看课程信息,添加新课程。
输出
输入计算机
教务处
学生
教师
教师
教务处
管理员
学生
图2-5管理员用户管理业务流程
输入计算机
教务处
课程
课程
教务处
管理员
2-6管理员课程管理业务流程
2.2数据流程分析:
2.2.1数据流程图:
学生课程信息管理系统
管理员
用户
查询
课程
管理员
学生
教师
教师
统计分析
课程
教师
课程
学生
图2-7学生课程信息管理系统1层数据流程
课程
学生
1.0
学籍管理
教务处
D1
2.0
用户管理
管理员
D2
查询者
3.0
课程管理
教师
D3
管理者
4.0
统计分析
图2-8学生课程信息管理系统2层数据流程图
2.3数据存储分析:
实体联系图
1、数据模型设计。
首先来做出学生课程信息管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2、再分析三个实体之间的联系。
首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。
而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。
这个E-R图可画成下图。
n
图2-9学生成绩管理系统中学生与课程的E-R联系
教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。
其E-R图,如下所示。
l
n
图2-10学生管理系统中教师与课程的E-R联系
教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图[3]。
数据库
l
n
m
学习
图2-11学生课程信息管理系统中数据模型图
2.4功能分析:
功能层次图
作业管理
资源管理
课程公告
选课信息
个人信息
下载资源
作业管理
课程公告
选课信息
个人信息
查看用户信息
添加新课程
查看课程信息
添加选课记录
添加
新用户
个人信息
图2-12学生课程信息管理系统的功能层
第三章系统设计
3.1软件模块结构设计
系统开发的总体任务是实现信息关系的系统化、规范化和自动化。
.系统的结构关系图如下:
见图3-1
.结构关系图描述
系统的结构关系图是系统的总体功能分析,是在系统开发的总体任务的基础上完成的。
本项目中的学生信息系统需要完成的功能主要有:
教师模块:
个人信息,通过该模块教师能查看到自己所承担的课程。
课程管理,通过该模块,教师能查看选修自己所担任课程的全部学生,发布课程公布。
在线资源管理,通过该模块,教师能发布和管理自己课程的教学,例如word文档,PPT幻灯片,影音课件等。
学生模块:
个人信息,通过该模块学生能查看到自己的信息。
课程管理,通过该模块,学生能查看选修自己所担任课程,该课程上课的时间地点等。
在线资源浏览,通过该模块,学生能浏览自己所选修课程发布的Word,PPT,影音课件或者下载其他格式的教学资源,例如word文档,PPT幻灯片,影音课件等。
管理员模块:
用户管理:
该功能模块,管理员能查询所有的学生和教师的详细信息,添加学生和教师,添加选课记录。
课程管理:
通过该模快,管理员能查看课程信息,添加新课程。
查看用户信息
添加选课记录
下载资源
作业管理
课程公告
选课信息
个人信息
作业管理
资源管理
个人信息
选课信息
课程公告
查看课程信息
添加
新用户
-
个人信息
作业Bean
用户bean
课程Bean
公告Bean
c
教师界面
数据库
图3-1系统结构关系图
3.1.1系统方案确定
通过对系统的研究与分析,系统主要应完成的功能有:
课程管理、学生课程管理、在线资源管理、系统管理等功能。
3.1.2数据库描述
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.本系统的实体有用户信息实体,公告实体,教学资源实体,作业实体,选课记录实体,课程实体.实体之间的描述E-R图如下:
所在院系
图3-4用户信息实体E-R图
选课日期
图3-5选课记录实体E-R图
上课时间
图3-6课程实体E-R图
1:
n
图3-7实体之间关系E-R图
3.1.3软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
.数据流条目--数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。
3.2数据库设计
数据库是一个应用系统的核心,数据库设计的好坏直接关系到应用系统的执行效率,数据的一致性和完整性,设计数据库系统时应该首先充分了解用户的各个方面的需求,包括现有的以及将来可能增加的需求,数据库设计一般包括几个步骤。
数据库需求分析。
数据库概念结构设计。
数据库逻辑结构设计。
3.2.1数据库需求分析:
数据库需求分析就是要了解在这个应用系统中,用户需求查询,更新,删除和保存一些数据,收集基本数据,数据具结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通过系统功能分析,针对学生课程信息管理系统的需求,总结出如下的需求信息。
用户分教师,学生和管理员,
教师担任一门或多门课程。
学生选修一门或多门课程,学生选择的课程要有选课记录。
每门课程可能有公告。
每门课程可能有课程资源。
每门课程可能有课程作业。
经过系统功能分析和需求总结,考虑到将来功能上的拓展,设计如下数据项和数据结构。
用户,包括数据项:
用户id,用户名,密码,用户类型(教师,学生,管理员)等。
课程,包括数据项:
课程编号,课程名称,任课教师等。
公告,包括数据项:
公告编号,公告标题,公告内容。
教学资源,包括数据项:
资源编号,资源类型,资源大小,所属课程编号等。
作业,包括数据项:
作业编号,作业类型(教师发布作业,还是学生提交的答案)等。
选课记录,包括数据项:
记录编号,教师编号,学生编号,课程编号[4]。
3.3性能需求
3.3.1数据精确度:
由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
3.3.2运行速度:
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。
而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
3.3.3适应性:
该系统是使用JSP,该系统可以正确地运行,有较好的适应能力与兼容性。
而且应用户的特殊需求系统在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
3.4运行需求
3.4.1用户界面
系统运行时的主界面大致要求为浏览器的网页,程序更加美观,整齐有序。
3.4.2硬件接口
软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与磁带机和光盘刻录机的接口,这点较易实现。
3.4.3软件接口
在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办