《学生选课管理系统的开发毕业论文.doc》由会员分享,可在线阅读,更多相关《学生选课管理系统的开发毕业论文.doc(36页珍藏版)》请在三一办公上搜索。
1、摘 要本系统是一个使用JSP技术和SQL数据库开发的一个网上选课管理系统。此选课系统有机的调整分配教学资源,采取各种直观的手段,显示学生的选课情况及教学资源的科学分配,方便教学资源最大效率地利用,能够为广大的师生、教务人员节约大量的时间,从而提高了学校的办学效率,对于这个计算机普及的年代而言,这样一个系统的开发在各大学校都是很有必要的。此系统设计上具有良好的稳定性、可扩充性。系统设计按标准化、规范化,分层设计,构件化实现。采用软件构件化的开发方式,使系统结构分层,业务与实现分离,逻辑与数据分离;以统一的服务接口规范为核心,使用开放标准。系统在功能上比较完善,以Web界面与用户交互,友好的界面使
2、得该软件操作起来简单易懂,普遍适用于广大的师生。同时通过数据库管理系统来存储信息数据,能够将各种选课信息毫不丢失的保存于数据库中,并且SQL数据库在维护方面比较简单,适合作为小型管理系统的后台数据库。系统实现了对信息数据的增加、删除、修改、查询等基本数据操作,采用了模块化设计方法,将各个功能独立成相应的模块,使得系统在维护方面简单、快捷,对于系统的拓展也十分方便。关键词:JSP; 数据库;SQL2000Abstract This system is for the convenience of the school course selection and design of an onlin
3、e online course selection system, this system uses the JSP + SQL2000 mode of electronic service platform. This course selection system organic adjusting allocation of teaching resources, take all kinds of intuitive means, according to the students course selection conditions and scientific allocatio
4、n of teaching resources, teaching resource maximum efficiency and convenient to use, can for the general teachers and students, the educational administration personnel to save a lot of time, so as to improve the efficiency of the school, for this era of computer popularization, the development of s
5、uch a system is necessary in each big school.This system design has a good stability and scalability. System design according to the standardization and normalization, hierarchical design, component implementation. Using software component-based development mode, the hierarchical system structure, t
6、he business and achieve separation, the separation of logic and data; In a unified service interface specification as the core, the use of open standards. System is more perfect, on the function as a Web interface and userinteraction, friendly interface that allows the software to operate simple, ge
7、nerally applicable to the general teachers and students. At the same time through a database management system to store information data, to all sorts of course without loss of information stored in the database, and the SQL database is easy in maintenance, for a small background database management
8、 system. System implementation of information data add, delete, modify, query and other basic data manipulation, adopted the modular design method, each function into the corresponding independent module, makes the system in the maintenance of simple, quick, for system development is also very conve
9、nient.Key Words:JSP; Database; SQL 2000目 录摘 要IAbstractII引 言1第一章 可行性分析21.1经济可行性21.2技术可行性21.3操作可行性31.4法律可行性3第二章 需求分析42.1 任务概述42.2 业务流分析42.3 数据流分析5第三章 系统功能模块划分93.1管理员模块设计93.2教师模块设计103.3学生模块设计11第四章 数据库设计124.1 数据库需求分析124.2 数据库概念结构设计124.3 数据库逻辑结构设计15第五章 系统模块界面设计235.1 系统登陆界面235.2 管理员操作界面255.3 教师登入界面285.4 学
10、生登入界面30第六章 系统测试326.1软件测试326.2 测试用例326.2.1管理员登入测试326.2.2管理员权限测试336.2.3用户权限测试34结 论37致 谢38参 考 文 献39引 言随着时代的发展,科技的进步,各式各样的电子产品不断的出现,人类已经进入了电子化的时代。人们的生产生活已经离不开计算机,在学校中学生选课已经不再像以往一样用纸张一个个登记,然后在一个个录入到EXCEL中,然后在经过一系列复杂的人工操作过程,学生才能被得知自己的选课具体信息,这样造成人力、时间上的严重浪费。现在开发一款学生选课管理系统在很大程度上减少了教师的工作量,使得教育资源的调配得当。同时也能够更合
11、理的进行课程设置,从而提高学校的教学质量。一个好的选课管理系统,一方面可以加快学生的选课时间,一方面也可以更加方便的对学生的课程进行很好的掌握。能够帮助学校提高的人才的教育把握,这对于现在这样一个时间就是金钱,人才就是财富的时代而言。学校对于管理系统的开发是必不可少的。因此,对于选课管理系统的开发迫在眉睫!第一章 可行性分析随着计算机技术的发展和网络人口的增加,网络信息的复杂度和分析深度也越来越大。当今时代下用户获取信息的方式都是通过网络,没有网络世界人类就会停止进步,所以对于开发的软件要求也在不断的提高,他需要能够满足、方便用户的需要,可行性研究的目的,就是用最小的代价在尽可能短的时间内确定
12、问题是否能够解决。系统的可行性分析主要包括经济可行性,技术可行性,法律可行性等。本系统的可行性分析如下:1.1经济可行性开发此网上选课系统所需的硬件就是计算机及相关硬件,计算机的配置无需太高,只需能够在电脑上安装一个SQL2000及Eclipes和Tomcat后能够正常运行即可。本系统对软件环境即上述所说的三个软件以及相关的插件补丁即可,市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担。打破了传统的繁琐选课模式,极大限度的方便了用户,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本
13、管理系统的开发成本。因此从经济方面讲开发此系统是可行的。1.2技术可行性此网上选课系统的开发是基于B/S模式,主要包括前台界面开发以及后台数据库是支持。对于前台界面要求要有完整的功能界面,并且界面要友好以方便用户使用,对于数据库可以使用SQL2000来创建。本系统拟采用JSP和SQL2000分别作为前端和后端的开发工具。JSP是微软公司推出的开发环境。是目前最尖端的 Windows 平台应用程序开发环境之一。Microsoft JSP Team System 提供支持整个软件开发团队的工具。JSP使用Java作为基础语言,由于Java语言具有跨平台的优势,相对于使用其他语言编写的软件而言,具有
14、很好的移植性。并且Java是开源的,可以使得开发之后的软件可以得到来自各方面的建议,对于软件的完善起到了重要的作用。另外,SQL Server数据库学习和使用上简单,及时系统出现问题,在维护上SQL数据库相比其他数据库而言简单,在程序设计的过程中,可以很好的与目标语言相融合。因此从技术方面讲开发此系统是可行的。1.3操作可行性本系统是一个基于Web的网上选课系统,使教师、学生无论身处何地,都能在浏览器中直接对信息进行录入、浏览、修改、删除、查阅等。在操作使用上十分方便,只需要有局域网就能够实现操作。空见人性化如:链接、按钮、文本框等等。相信只要是有使用过电脑上网的人都会很轻松的学会这个软件的操
15、作。因此,在操作使用上,本系统简单、方便,易于使学生教师接受。因此从操作方面讲开发此系统是可行的。1.4法律可行性毕业设计是自己使用大学四年所学知识设计完成的,没有侵犯他人的知识产权。并且由于Java语言开源的优势,在在法律上是可行的。此软件的开发是为了方便教育行业的工作,软件的开发并无涉及违法犯罪,没有将其使用于非法的行为之中,且此软件并没有侵犯到任何人的个人权益。因此从法律角度讲开发此系统是可行的。第二章 需求分析2.1 任务概述网上选课管理系统的主要目的是为了方便学生进行网上选课,方便教师进行选课管理,方便学校进行课程编排而设计的一套软件,此软件的主要功能要求有不同的用户可以使用不同的身
16、份进入系统,比如管理员使用管理员身份进入系统可以进行用户权限、用户信息管理,还可以对一些选课信息进行增删改查等;如果使用教师权限登入可以进行选课公告的管理及课程的编排以及查看学生选课结果等;如果使用学生的身份进入系统则可以进行查看选课方案并且进行网上选课。从操作角度上看,使用该软件的人员均为拥有一定计算机基础知识但不一定是计算机专业相关的人士,所以系统在设计上需要拥有友好的界面,各项操作前台只需要按提示输入相应的信息,并单击相应的控件就能够完成对于的业务操作。对于此系统具体要求如下:(1)友好的界面:页面的友好使得使用人员使用时简单易用,友好的交互界面使得前后台数据库搭配和谐,对于工作效率的提
17、高起到很大的作用。(2)简单的操作:系统中的布局需要很清晰明了,用户的操作使用单击来完成,对应的输入信息需要有必要的提示框。按钮控件的放置人性化。系统易学易用。(3)完整的功能:网上选课系统的主要目的是完成学生的选课,所以系统中学生必须可以进行选课。在此之前教师可以对课程信息、教师信息、选课信息进行管理,再者,学生、教师都是系统的使用人员之一,他们的身份需要由管理员添加并赋予权限,因此管理员必须拥有对人员的管理权限。管理员的权限应该是最高的。对应系统的功能的基本增删改查操作都必须具备。 (4)实现简单:一个好的系统需要编码实现,如果没有使用后台数据库,那么对于系统前台的业务处理就会变得负担过重
18、,代码会有很大的多余,因此系统应该使用后台数据库,将数据与业务处理相分离,提高代码的利用率。2.2 业务流分析 网上选课系统工作流程为:系统启动之后,不同的用户根据自己不同的权限进入系统。学生用户可以进行参与选课等操作。教师用户可以进行查看本人所负责课程的选课结果。管理员则可以进行学生、教师信息的管理及所有评选结果的查看操作。本系统的整体业务流程图如图2.1所示: 图2.1 2.3 数据流分析网上选课系统的数据流程:对本系统操作的有学生用户和教师用户和管理员用户三种,首先由教师用户将各个选课公告选课方案保存到数据库中,然后再进行发布。所有用户均可以进行信息查询。学生用户进入系统选择自己要上课的
19、课程,选择完成后教师用户可以进入系统查看学生用户的选课结果并根据结果来调整上课地点等各种信息,整个系统的顶层数据流程图如2.2:图2.2在顶层数据流图的基础上将业务细分,得到如下各个用户的数据流图:管理员模块数据流图如图2.3 图2.3系统中的管理员拥有对各种用户管理的权限,因此管理员再进入系统之后可以通过用户管理模块对系统中其他的管理员、教师、学生进行增删改查,进行操作后会连接后台数据库,相应得更改对应的数据库库表。管理员除了对人员的管理之外,对于网上选课系统而言管理员同时能够对于选课方案、选课公告进行管理,管理员同样可以进行选课方案、选课公告的增删改查。同时,选课系统中涉及到的学校可用班级
20、供学生使用,管理员可以在系统中设置可用班级,以供教师进行排课。教师模块数据流图如图2.4图2.4 教师模块在网上选课管理系统中的作用是对课程信息进行管理,教师将自己的课程添加到系统中,然后由学生进行选课,选课完毕之后教师可以再根据学生选课的情况进行排课管理,进行教师调整时间调整等。同时,教师也是较低权限的管理员之一,因此,教师也可以进行选课方案、选课公告的发布、修改、查询等操作。学生模块数据流图如图2.5图2.5 学生模块也是系统中的重要模块之一,网上选课管理系统的主要目的就是为了方便学生选课,学生可以使用自己的学号及密码登入到系统中,进入系统后学生可以根据自己情况修改个人资料,在查看完选课公
21、告及选课方案后,了解当次网上选课的要求后根据教师上传的相关课程信息,结合自身情况进行网上选课。第三章 系统功能模块划分根据需求分析,大致了解了整个系统的功能需求,在需求分析的基础上进行系统功能分析,从而从学生界面,教师界面及管理员界面分别对功能模块图加以描述。3.1管理员模块设计管理员界面的系统功能模块图如图3.1所示:图3.1管理员模块具体设计要求管理员使用管理员账号登入系统后,可以在用户管理处操作系统用户的信息,即添加系统的管理员,系统管理员分为普通管理员和超级管理员,添加系统用户的权限仅限超级管理员,管理员都可以进行选课公告、选课方案的新闻通知的操作,可以添加修改或者删除等,作为管理员可
22、以添加教师、学生、可用的教室等信息。及管理员模块包含有:系统用户管理、选课公告管理、选课方案管理、教师信息管理、学生信息管理、班级信息管理、教室信息管理等7个小模块。3.2教师模块设计教师界面的系统功能模块图如图3.2:图3.2教师用户模块具体设计要求,教师可以使用自己的工号、密码进入系统,在系统中可以对自己的个人信息进行修改,可以进行选课公告、选课方案的添加、修改、删除,并且可以添加自己任教的课程,让学生在学生界面看到这些课程方便学生选课,在学生选课之后教师可以进入系统查看学生的选课情况。因此教师模块应包含:个人资料管理、选课方案管理、选课公告管理、课程管理、排课管理等5个模块。3.3学生模
23、块设计学生界面的系统功能模块图如图3.3所示:图3.3 学生信息模块的具体设计要求学生可以使用自己的学号、密码进入系统,在系统中能够修改个人信息、可以查看选课公告和选课方案、可以进行网上选课,因此学生信息模块包含有:个人信息管理、选课方案管理、选课公告查看、选课管理等4个模块。第四章 数据库设计4.1 数据库需求分析对于网上选课系统而言,由于使用人员比较多,需要处理的数据也比较多,因此需要有后台数据库的支持,针对这个网上选课管理系统来说由需求分析中对于系统需求的了解,再根据系统模块的划分。本系统的主要需求信息如下:(1)用户分学生用户、教师用户和管理员。(2)学生用户可以参与选课。(3)教师用
24、户可以编辑选课公告、选课方案、进行课程管理、进行网上排课。(4)管理员用户可以进行教师信息、学生信息进行管理,以及选课信息的发布。4.2 数据库概念结构设计根据数据库的需求可以将其转化为相应的实体关系图,系统中可以抽象出来的实体包括:管理员、教师、学生、课程、教室等,每个实体对应其属性,管理员有包括账号、密码、权限等属性;教师拥有工号、密码、姓名、年龄、职称等等属性;学生拥有学号、密码、姓名、班级等等属性;系统的整体E-R图如下图4.1图 4.1他们所对应的各个实体关系图如下。管理员帐号权限密码图4.2管理员信息实体E-R图如图4.2所示:学生实体E-R图如图4.3所示:学生学号姓名密码时间%
25、.图4.3教师实体E-R图如图4.4所示:教师密码姓名工号任教科目S.图4.4课程实体E-R图如图4.5所示:课程任课教师课程名课程号课时S.图4.5选课通告实体E-R图如图4.6所示:.选课通告编号添加人类型内容图4.6班级实体E-R图如图4.7所示:班级班级名班级号班级地点班主任S.图4.74.3 数据库逻辑结构设计 数据库的概念设计的目的是为了让我们清晰的明白软件所需要的数据,但是这种数据必须转变成软件可以识别的设计,那么就是数据库的逻辑结构设计,逻辑结构设计就是将E-R图中的实体和联系抽象出来转化成数据库表。以下是由E-R转换而来的数据库库表。allusers表如下表4.1:序号字段名
26、称字段类型大小允许为空最大长度备注1IDInt 4自增编号102usernameVarChar 50是2553pwdVarChar 50是2554cxVarChar 50是2555addtimeDateTime 8是23表4.1用户表中存放的是系统中的管理员的信息,其中usename表示用户名,pwd表示登入密码,cx表示用户权限有管理员和超级管理员,addtime表示用户注册的时间,改时间由系统自动生成。banjixinxi表如下表4.2:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102banjiVarChar 50是2553banzhurenVarChar 50是
27、2554renshuVarChar 50是2555addtimeDateTime 8是23表4.2班级表中存放的是班级的信息,其中banji表示班级,banzhuren表示该班级的班主任姓名,renshu表示的班级的总学生人数,addtime表示添加的时间由系统自动生成。jiaoshixinxi表如下表4.3:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102gonghaoVarChar 50是2553xingmingVarChar 50是2554mimaVarChar 50是2555chushengnianyueVarChar 50是2556shenfenzhengV
28、arChar 300是2557xingbieVarChar 50是2558zhichengVarChar 50是2559zhaopianVarChar 50是25510zhujiaokechengVarChar 50是25511dianhuaVarChar 50是25512beizhuVarChar 500是25513addtimeDateTime 8是23表4.3 教师表中存放的是教师信息,其中gonghao表示教师的工号,用于教师登入时作为登入名,xingming表示教师姓名,mima用于作为教师登入时使用的密码码,xingbie表示教师的性别,chushengnianyue表示教师的出生
29、年月,shenfenzheng表示教师的省份证号码,zhicheng表示教师的职称,zhujiaokecheng表示教师的任课课程,zhaopin可以用于添加学生的照片,beizhu用于添加其他一些附加的信息,addtime表示添加的时间由系统自动生成。kechengxinxi表如下表4.4:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102bianhaoVarChar 50是2553kechengmingchengVarChar 300是2554kaohefangshiVarChar 50是2555xuefenVarChar 50是2556xueshiVarChar
30、50是2557shuxingVarChar 50是2558kexuanrenshuVarChar 50是2559renkejiaoshiVarChar 50是25510beizhuVarChar 500是25511addtimeDateTime 8是2312yxrsInt 4是10 表4.4课程信息表中存放的是课程信息,其中bianhao表示课程号,kechengmingcheng表示课程名,kaoshifangshi表示的是考查课还是考试课,可供选择。Xuefen表示该课程的学分,xueshi表示课程所需要的上课的学时,kexuanrenshu表示该课程的限选人数上限,renkejiaosh
31、i表示的是课程的任课教师名字,addtime表示添加的时间由系统自动生成,yxrs表示已经选择该课程的人数。paikexinxi表如下表4.5:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102xingqiVarChar 50是2553jieshuVarChar 50是2554banjiVarChar 50是2555kechengVarChar 50是2556jiaoshiVarChar 50是2557zhidaojiaoshiVarChar 50是2558addtimeDateTime 8是23表4.5排课信息表中存放的是排课信息,其中xingqi表示该课程的上课时间
32、,jieshu表示该课程需要的上课节数,banji表示该课程上课班级名,kecheng表示课程的名字,jiaoshi表示上课地点的教室门牌号,zhidaojiaoshi表示任课教师的名字,addtime表示添加的时间由系统自动生成。suoyoujiaoshi表如下表4.6:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102jiaoshiVarChar 50是2553leixingVarChar 50是2554zhuangtaiVarChar 50是2555beizhuVarChar 500是2556addtimeDateTime 8是23表4.6 教室表中存放所有教师的
33、信息,其中教室表示教室的具体地址,一般指门牌号,leixing指教室的所属类型,如多媒体教室,普通班级等。Zhuangtai表示教室是否空闲,beizhu用于添加教室相关的附加信息,addtime表示添加的时间由系统自动生成。xinwentongzhi表如下表4.7:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102biaotiVarChar 300是2553leibieVarChar 50是2554neirongText 16是2555tianjiarenVarChar 50是2556shouyetupianVarChar 50是2557dianjilvVarChar
34、 10是2558addtimeDateTime 8是23表4.7 通告表中保存的是选课方案和选课公告的信息,其中biaoti是指通告的标题,leibie即表示通告的类型是选课方案还是选课公告,neirong即记录了通告的具体内容,tianjiaren指通告的发布者,shouyetupian指的是通告中附带的图片的展示,dianjilv指的是通告被查看的次数,addtime表示添加的时间由系统自动生成。xuankejilu表如下表4.8:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102bianhaoVarChar 50是2553kechengmingchengVarCh
35、ar 300是2554xuefenVarChar 50是2555xueshiVarChar 50是2556shuxingVarChar 50是2557renkejiaoshiVarChar 50是2558xuehaoVarChar 50是2559addtimeDateTime 8是23表4.8 选课记录表中存放的是学生的选课记录,其中编号指的是课程编号与课程信息表中的编号相同,kechengmingcheng即课程名称,xuefen、xueshi、renkejiaoshi、都与课程信息表中的信息相同,xuehao是指选择这门课程所对应的学生的学号,addtime表示添加的时间由系统自动生成。x
36、ueshengxinxi表如下表4.9:序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号102xuehaoVarChar 50是2553xingmingVarChar 50是2554banjiVarChar 50是2555xingbieVarChar 50是2556dianhuaVarChar 50是2557zhaopianVarChar 50是2558shenfenzhengVarChar 300是2559jiatingzhuzhiVarChar 300是25510beizhuVarChar 500是25511mimaVarChar 50是25512addtimeDate
37、Time 8是23表4.9学生信息表中存放的是学生的信息,其中xuehao代表学生的学号,xingming表示学生的姓名,banji表示学生所在的班级,xingbie表示学生的性别,dianhua表示学生的联系方式,zhaopian用于存放学生的个人照片,shenfenzheng表示学生的身份证号,jiatingzhuzhi表示学生的联系地址,beizhu用于添加其他附加的学生信息,mima用于学生登入系统是使用的密码,addtime表示添加的时间由系统自动生成。将以上生成的数据库库表使用SQL数据库建立新的数据库,并设计这些表格,将以上的9个表格转化成为数据库库表,以方便后期作为数据处理的媒
38、介。第五章 系统模块界面设计 网上选课管理系统的开发目的是为了方便学生教师使用,所以友好的界面是从需求分析开始直到最后编码实现过程中反复提出的一个要求,好的模块界面可以让软件更受用户的青睐,可以使软件得到更好的利用。此网上选课系统的界面分为以下几个大模块,相应模块中还包含了一些控件操作跳转的模块界面设计。5.1 系统登陆界面 图5.1 登入界面是一个软件的入口,要对软件进行操作首先必须取得用户的权限才能给进入系统对系统进行操作,所以登入界面的设计除了外观上的设计之外还要注意对登入人员的认证,本系统共分为管理员、教师、学生三种用户角色,不同的用户使用各自的用户名、密码,并选择相应的用户身份登入系
39、统。管理员使用管理员的账号密码并点击管理员的身份进入系统,教师使用自己的工号和密码进入系统,权限选择教师,学生则使用自己的学号最为登入名,权限选择学生。实现本模块的主要代码如下所示:String uid=request.getParameter(username); String pwd=request.getParameter(pwd); String cx=new String(request.getParameter(cx).getBytes(8859_1); String sql=; if(cx.equals(教师) sql=select * from jiaoshixinxi whe
40、re gonghao=+uid+ and mima=+pwd+; if(cx.equals(学生) sql=select * from xueshengxinxi where xuehao=+uid+ and mima=+pwd+; if(cx.equals(管理员) sql=select * from allusers where username=+uid+ and pwd=+pwd+; ResultSet RS_result=connDbBean.executeQuery(sql); if(!RS_result.next()out.print(alert(你输入的用户不存在或密码错误,请
41、重新登录!);window.history.go(-1););else session.setAttribute(username,uid);if(cx.equals(管理员) session.setAttribute(cx,RS_result.getString(cx); else session.setAttribute(cx,cx); response.sendRedirect(main.jsp); RS_result.close();从代码中可以看出,主要是设置String类型的变量来获取用户输入的用户名及密码,并且获得用户选择的权限,并通过SQL语句调用相应用户表、教师表、学生表中的用户名、工号、学号以及密码,然后与String类型变量进行比较,两者相同则认证通过进入系统,否则系统将会提示相应的错误信息。5.2 管理员操作界面 当管理员输入用户名、密码与数据库中的用户名密码相同,并核对正确后,系统自动跳转到管理员界面如图5.2图5.2 在该页面中,管理员可以进行学生基本信息管理、教师基本信息管理、选课公告的发布管理,超级管理员还可以进行管理员的添加操作。所有功能以列表的形式展
链接地址:https://www.31ppt.com/p-3941753.html