网站首页  词典首页

请输入您要查询的论文:

 

标题 基于Java的学生选课系统的设计与实现
范文 雷文礼等
摘 要: 教务管理系统已经完全替代了之前全手工和文件记载的方式进行教务的管理,学生选课系统作为其一个不可或缺的子系统,受到各大高校的青睐,已经成为各高校的主流选课方式,淘汰了以往比较落后的全人工的方式。在此设计了一种基于Java的学生选课系统,该系统采用Java的SSH三大框架、B/S架构开发而成,通过学生在线的浏览器操作,使得选课管理工作变得规范化、系统化,提高了信息处理的有效性和准确性,同时大大提高了在学校日常工作中学生的参与性。
关键字: Java; 选课; B/S; 浏览器
中图分类号: TN915.4?34 文献标识码: A 文章编号: 1004?373X(2015)05?0103?03
Design and implementation of student course selection system based on Java
LEI Wen?li, REN Xin?cheng, ZHANG Dong, GAO Ying
(College of Physic and Electronic Information, Yanan University, Yanan 716000, China)
Abstract: The educational administration system has completely replaced the previous hand and documented way of tea?ching management. The course selection system as an indispensable subsystem, which makes a favorable impression on many universities, has become the mainstream choice of universities. Meanwhile, the backward full manual mode was eliminated. A student course selection system based on Java is designed in this paper. It was developed by means of three frameworks in Java and B/S architecture. The system makes the course management work more standardized and systematic through the online browser operation of students. It improved the effectiveness and accuracy of information processing, at the same time, greatly stimulated the students with participation to school daily work.
Keywords: Java; course selection; B/S; browser
0 引 言
我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,既能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶[1]。
1 Java技术
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface,API)构成[2?3]。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,在硬件或操作系统平台上安装一个Java平台之后,Java应用程序即可运行。
2 需求分析
根据前期的调研,结合目前延安大学的学生选课系统的现状,确定了本系统的需求分析,具体情况如下:
(1) 按角色功能划分为三个模块:管理员模块、教师模块、学生模块。
(2) 管理员模块:系统管理员拥有管理员权限,可以进行教师信息的增删改查、学生信息的增删改查、教师开设课程的查看以及课程已选学生的查看。
(3) 教师模块:教师拥有系统的教师权限,可以进行课程的开设和删除、对已选学生的信息查看以及给学生打分和修改学生该门课程的成绩。其所有的操作都是针对自己已开设的课程,并且每个教师最多只能开设两门课。
(4) 学生模块:学生拥有系统的最低的学生权限,可以进行课程选择和退选,已选课程的成绩查询以及已累积学分的查看。学生只能选择人数未满的课程、与已选课程时间不冲突的课程,每个学生最多只能选择两门课程。
(5) 所有角色提供密码修改功能。
(6) 以上的操作所涉及的数据处理,均需要维护到数据库表中。
(7) 有较好的可维护性、可靠性、可理解性和较高效率。易于用户理解和操作。
3 设计实现
3.1 数据库设计
数据库设计的任务是确定系统所需的数据库[4?5]。数据库是表的集合,通常一个系统只需一个数据库。本文使用MySql数据库管理软件。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,从而增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言[6?7]。本文建立了course数据库以及admin、student、teacher、course、stuCourse五个表。
(1) 教师信息表
teacher 字段如下:
主键:编号id
包括教师的工号username、姓名name、所在学院academy、办公室office、联系电话phone、邮箱email、登录密码password。
(2) 课程信息表
course 字段如下:
主键:编号id
名称name、上课星期day、上课时间time、起始周start_week、结束周end_week、上课地点cour_place、人数number、已选人数:cour_alrealy、任课教师工号teacher、学分score。
(3) 学生信息表
student 字段如下:
主键:编号id
学号username、姓名name、所在学院academy、专业subject、所在班级class、登录密码password。
(4) 学生选课表
stuCourse 字段如下:
学号stu_id、课程编号cour_id、成绩progress、学分score。
(5) 管理员信息表
Admin三个字段:
主键:编号id
管理员用户名username、管理员密码password。
其中,由于教师对课程是一对多的映射,课程对教师是多对一的映射,根据数据库设计原则,将teaID存入课程信息表中。由于学生和课程是多对多的映射,根据数据看设计原则,建立新的选课表stuCourse。以上所有的主键在数据表中以uuid的形式进行保存。powerDesiner中的设计图如图1所示。
3.2 模块设计
按照系统需求分析进行,按模块进行设计,将系统分为3个模块:管理员模块、教师模块和学生模块。管理员模块下划分为4个功能模块;教师模块划分为4个模块;学生模块划分为3个功能模块。模块设计图如图2所示。
3.3 功能划分
在模块划分完成之后,进行如下的功能划分:
(1) 学生通过身份验证后进入主界面,在主界面为学生提供三个功能选择,选择课程,查看成绩和修改个人密码。在点击已选课程的名称链接后还可以查看该门课程的成绩,每个学生最多只能选择两门课程。
(2) 教师通过身份验证后进入教师主页,提供开课、修改课程信息、给学生课程打分及修改分数、修改个人密码功能。在点击课程名称的链接后可以查看当前已选择该门课程的学生。
(3) 管理员通过身份验证进入管理员主页,提供添加学生、添加教师、学生及教师信息修改,浏览课程开设及已选学生信息。
3.4 系统框架流程
系统所使用SSH三大框架技术[8],由用户在客户机的浏览器上进行操作,发送请求到网络服务器,网络服务器根据客户端的请求在网络应用中找到相应的JSP页面,并且创建Servlet和Javabean实例,Servlet实例调用Hibernate中的方法访问数据库,并且将数据库操作结果返回到服务器,由服务器以JSP的形式返回给客户,呈现在浏览器上。系统流程控制图如图3所示。
用户操作后,发送请求到服务器,服务器根据web.xml中的fiter进行拦截。通过与struts.xml中的Action名称进行匹配,找到applicationContext.xml的对应的Action类,匹配到后在对应的Action类中执行对应的方法,获取返回值。通过返回值匹配并且控制页面进行跳转,中间的所有的信息储存在session中,在页面上对session中的信息进行解析,并且列表显示。
各角色用户进行登录,登录界面如图4所示(系统登录页面login.jsp)。
用户输入用户名和密码以及验证码后,点击登录按钮,发送Login请求到服务器,调用LoginAction中的Login方法,进行用户名和密码的验证,如果用户名和密码不正确,返回参数到页面,提示用户用户名或密码不正确;验证码不正确,返回页面提示验证码不正确。如果用户名、密码和验证码都正确,则根据权限进入相关权限的主页。
图5中左侧提供导航,查看已开设课程和修改个人密码。右侧列表分为两部分,上半部分列表展示所有教师的已开设课程,下半部分列表展示该学生已选课程。已开设课程提供选课功能,自动过滤掉与已选课程上课时间冲突的课程和已选课程,每个学生只能选择两门课程,过度选择提示选课已达上限,将已选课程维护到学生课程表中。已选课程提供退选功能,如果已获得该门课程学分,则不能退选。在列表的最下边提供学生的当前已累积的学分。点击已选课程名称可以查看该门课程的得分情况和学分获得情况。
4 系统测试
系统开发完成后进行系统的测试:
首先,搭建测试环境,测试环境如下:
(1) 硬件环境:Dell凌越N5110笔记本电脑,64位WIN7操作系统,Core i3处理器,6 GB RAM。
(2) 软件环境:火狐浏览器、MySQL数据库、Myeclipse 6.0、tomcat 6服务器。Mozilla Firefox,非正式中文名称火狐,是一个开源网页浏览器,使用Gecko引擎(即非IE内核),由Mozilla基金会与数百个志愿者所开发。原名“Phoenix”(凤凰),之后改名“MozillaFirebird”(火鸟),再改为的名字Firefox,其完美支持W3C的特性受到了所有Web程序员的青睐。
(3) 测试过程及结果:
① 安装好jdk并且配置好环境变量,在myeclipse中选中本次的项目,点击右键,选择export,选择war file,选好路径,点击finish;
② 将导出来的war包复制到tomcat目录下的webapp文件夹下;
③ 在tomcat目录下的bin文件夹下找到startup.bat文件,双击启动tomcat服务器;
④ 打开火狐浏览器,在地址栏输入http://localhost:8080/cour,回车,出现登录页面;若输入错误的用户名或密码,结果如图6所示。
测试结果表明该设计方案运行良好,可以满足现实学生选课的需求。
参考文献
[1] 张剑平.学校管理信息系统[M].北京:中国铁道出版社,1997.
[2] 肖杰,谭庆平.基于J2EE的Web构件平台的设计[J].长沙大学学报,2005,19(3):43?47.
[3] 赵增敏.ASP动态网页设计[M].北京:电子工业出版社,2003.
[4] 田小波,陈蜀宇.MVC设计模式在Java EE架构下的研究与应用[J].西华大学学报,2007(2):33?35.
[5] 刘乃丽.精通Java EE项目案例[M].北京:人民邮电出版社,2008.
[6] 叶达峰.eclipse编程技术与实例[M].北京:人民邮电出版社,2006.
[7] 高振东.基于J2EE平台的EJB技术研究与应用[J].航空计算技术,2003,33(1):28?32.
[8] 姜利群.Java网络编程实例教程[M].北京:清华大学出版社,2003.
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/21 14:03:20