数据库学生选课管理课程设计报告书.doc

上传人:仙人指路1688 文档编号:2395476 上传时间:2023-02-17 格式:DOC 页数:32 大小:1.17MB
返回 下载 相关 举报
数据库学生选课管理课程设计报告书.doc_第1页
第1页 / 共32页
数据库学生选课管理课程设计报告书.doc_第2页
第2页 / 共32页
数据库学生选课管理课程设计报告书.doc_第3页
第3页 / 共32页
数据库学生选课管理课程设计报告书.doc_第4页
第4页 / 共32页
数据库学生选课管理课程设计报告书.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《数据库学生选课管理课程设计报告书.doc》由会员分享,可在线阅读,更多相关《数据库学生选课管理课程设计报告书.doc(32页珍藏版)》请在三一办公上搜索。

1、学生选课管理信息系统的设计与实现一、绪论随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点。如:检索迅速、查找方便、可靠性高、存储量大、成本低等,这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套软件成为很有必要的事情。开发学生选课管理信息系统软件,让其能查询学生有关信息,学生能进行选课及退选等,同时可以进行一些简单的查询、修改等操作二、系统需求分析学生选课系统是一个学校不

2、可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多的缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发学生选课管理系统已成为一个学校的迫切需要。本实验实现的学生选课管理系统主要包括以下功能:1完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、课程信息、教师

3、信息以及教室信息等; 2.设计实现学生信息查询,密码修改、成绩查询、选课查询,选课等JSP页面 。 3具备一定的安全性管理功能。包括登录、刷新、退出和注销等功能。三、系统设计3.1系统总体设计 本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用JSP作为开发工具;服务器端则用于提供数据服务,采用SQL Server2000作为数据库管理系统。本系统按照功能划分为以下四个模块:学生管理(包括学生信息录入和查询等)、课程管理(包括课程设置、查询和修改等)和系统管理(包括登录、刷新、退出和操作员管理等)。系统的功能模块图如图1所示:图1 系统的功能模块图3.2

4、数据库设计3.2.1数据库概念结构设计本系统主要有四个实体:1、学生和公共课两个实体集,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,这两个实体集之间是多对多联系,联系上有选课成绩;2、教师和课程两个实体,一个老师可以教授若干门课程,一门课程也可以被多个老师教授,这两个实体集之间也是多对多联系;3、教室和课程两个实体,一个教室可以让若干门课程上课,一门课程也可以在多个教室里上课,这两个实体集之间也是多对多联系,联系上有上课时间。为保证系统的安全性,设置了操作员这一实体集,用来存放合法用户的编号、姓名、密码和权限等。本系统的E-R图如下:图2 系统的E-R图3.2.2数据库逻辑结构设

5、计根据关系模型的转换原则,上面的ER图可转换为如下所示的关系模型:学生信息表:student(学号,姓名,所属院系,密码,性别,年龄,班级)公选课信息表:coursea(编号,课程号,课程名,学分,学时,教师编号) 教师信息表:teacher(教师编号,教师姓名,性别,年龄,学历,职称,毕业院校,所属院系)教室信息表:classroom(教室号,可容纳人数,教室类型)上课时间表:time(编号,上课教室,课程,上课教师,上课时间)选课成绩表:xuanke(课程编号,课程名称,上课教师,选课学生学号,选课成绩,编号)管理元信息表: Guanliyuan(管理员编号,密码)根据上面的E-R图设计及

6、关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:表1 学生信息表student的表结构主码列 名数据类型宽度空否 PK学号char10姓名char10所属院系char20密码char20性别char10年龄int4班级char10表2公选课信息表coursea的表结构主码列 名数据类型宽度空否PK编号char10 课程号char10课程名char10学分int4学时int4 教师编号char10表3 教师信息表teacher的表结构主码列 名数据类型宽度空否 PK教师编号char10教师姓名char10性别char10年龄int4学历char10职称char10毕业院校char2

7、0所属院系char10表4 教室信息表classroom的表结构主码列 名数据类型宽度空否 PK教室号char10可容纳人数int4教室类型char10表5上课时间表time的表结构主码列 名数据类型宽度空否PK编号char10上课教室char10课程char10上课教师char10上课时间char10表6选课成绩表xuanke的表结构主码列 名数据类型宽度空否 课程编号char10课程名称char10上课教师char10 选课学生学号char10学生成绩float8PK编号nvarchar50表7管理员信息表guanliyuan的表结构主码列 名数据类型宽度空否 PK 管理员编号char10

8、密码char20下面在系统实施阶段就可以物理实现数据库了,本系统使用前面实验已经建好的服务器端SQL Server数据库学生选课,具体创建方法见前面实验。四、系统实现本实验是用JSP结合数据库实现的,其中包含了二个主页面,一是学生登录页面,二是管理员登录页面,其中每个页面中都会有菜单进行相应的操作。4.1 JSP文件代表的操作一、主界面操作:start.jsp/登录界面(包含学生、管理员二个选项)denglu.jsp/验证界面(验证用户名和密码)start1.jsp/登录界面(当用户名或密码错误时,提示错误信息并重新登录)二、学生操作界面(student.jsp):1、主界面 a.jsp /选

9、择操作界面(用于选择查询、修改等操作) b.jsp /欢迎界面 c.jsp /选择操作界面(用于选择退出、刷新等操作)2、个人信息界面 studentmess.jsp /显示当前用户信息3、密码修改界面 studentpassword.jsp /用于输入当前用户的新密码 studentpass.jsp /用于修改密码并显示操作是否成功4、成绩查询界面 gradeselect.jsp /显示当前用户所学课程的成绩5、选课界面 choosecourse.jsp /用于显示公选课信息并选择 studentpass.jsp /用于提交选择结果并显示操作是否成功6、退选界面 delcourse.jsp

10、/用于显示用户本学期选择的公选课并选择退选课程 studentpass.jsp /用于提交选择结果并显示操作是否成功 三、管理员界面(admin.jsp): 1、主界面 a.jsp /选择操作界面(用于选择查询、修改等操作) b.jsp /欢迎界面 c.jsp /选择操作界面(用于选择退出、刷新等操作)2、信息查询页面 学生信息查询 student.jsp 教师信息查询 teacher.jsp 教室信息查询 classroom.jsp 课程信息查询 course.jsp 成绩信息查询 score.jsp 教室上课时间查询 classroomtime.jsp3、信息修改页面 学生信息修改 stu

11、dentchange.jsp (1)添加学生信息 studentadd.jsp studentrenewresult.jsp (2)修改学生信息 studentrenew.jsp renew.jsp studentrenewresult.jsp (3)删除学生信息 studentdelete.jsp studentdeleteresult.jsp 教师信息修改 teacherchange.jsp (1)添加教师信息 teacheradd.jsp teacherrenewresult.jsp (2)修改教师信息 teacherrenew.jsp renew.jsp teacherrenewres

12、ult.jsp (3)删除教师信息 teacherdelete.jsp teacherdeleteresult.jsp 教室信息修改 classroomchange.jsp (1)添加教室信息 classroomadd.jsp classroomrenewresult.jsp (2)修改教室信息 classroomrenew.jsp renew.jsp classroomrenewresult.jsp (3)删除教室信息 classroomdelete.jsp classroomdeleteresult.jsp 课程信息修改 coursechange.jsp (1)添加课程信息 coursea

13、dd.jsp courserenewresult.jsp (2)修改课程信息 courserenew.jsp renew.jsp courserenewresult.jsp (3)删除课程信息 coursedelete.jsp coursedeleteresult.jsp 成绩信息修改 scorechange.jsp (1)录入或修改成绩信息 scorerenew.jsp renew.jsp scorerenewresult.jsp 教室上课时间信息修改 classroomtimechange.jsp (1)添加教室上课时间信息 classroomtimeadd.jsp classroomti

14、merenewresult.jsp (2)修改教室上课时间信息 classroomtimerenew.jsp renew.jsp classroomtimerenewresult.jsp (3)删除教室上课时间信息 classroomtimedelete.jsp classroomtimedeleteresult.jsp五、具体操作 (1)学生操作(a)登录页面主要代码:学生选课系统function gclick() var name=start.username.value; var pass=start.userpass.value; if(name=) alert(用户名不能为空); e

15、lse if(pass=) alert(密码不能为空); else start.submit(); 用户名: 密码: 用户类型: 学生 管理员 (b)菜单操作a. jsp 学生选课系统 个人信息 密码修改 成绩查询 选课 退选 b. jsp学生选课系统 欢迎进入学生公共课选课系统! c. jsp 当前用户: 退出 刷新 注销 欢迎进入学生公共课选课系统!(c)个人信息显示学生进入后可以在菜单里进行相应的操作,点击个人信息时,就会出现该学生的信息.如下图所示:主要代码:从数据库中读出相应的信息:%String name=(String)session.getAttribute(name);ses

16、sion.setAttribute(name,name);Connection conn;Statement stmt;ResultSet rs;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(jdbc:odbc:mymoon,sa,);stmt=conn.createStatement();rs=stmt.executeQuery(select * from student where 学号=+name+); out.print(); out.print(); out.print(

17、+学号); out.print(+姓名); out.print(+所属院系); out.print(+密码); out.print(+性别); out.print(+年龄); out.print(+班级); out.print();if(rs.next() out.print(); for(int i=1;i=7;i+) out.println(+ +rs.getString(i)+); out.print(); out.print(); conn.close();catch(Exception e)out.println(e);%(d)密码修改举例:将09261041学号的密码该为:0000

18、其显示如下: 修改提交后个人信息中的结果如下,可见密码已修改 或者在数据库中也可以看到 数据库中修改该学生的密码的代码%String name=(String)session.getAttribute(name);session.setAttribute(name,name);String ypass=(String)request.getParameter(Pass);Connection conn;Statement stmt;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(j

19、dbc:odbc:mymoon,sa,);stmt=conn.createStatement(); String sql=UPDATE student SET 密码=+ypass+ where 学号=+name+; stmt.executeUpdate(sql); out.println(密码修改成功); conn.close();catch(SQLException e)out.println(e);out.print(重新修改密码);%(e)成绩查询根据教授该门课的老师是否提交成绩,学生可以查到自己相应课程的成绩,其查询结果如下:主要代码:%Statement stmt;ResultSet

20、 rs;Connection con;Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,);stmt=con.createStatement();rs=stmt.executeQuery(select * from xuanke where 选课学生学号=+name+);out.println();out.println(+所选课程名称);out.println(+上课教师);out.println(+成绩);while(rs.next()out.pri

21、nt();out.print(+rs.getString(2)+);out.print(+rs.getString(3)+); float a=Float.parseFloat(rs.getString(5);if(a0)out.print(+a+);elseout.print(+成绩未录入+); out.print();out.println();con.close();%(f)选课操作 主要代码:选择课程名学分学时教师编号input type=radio name=choose value= %for(int i=3;i=6;i+)out.print(+rs.getString(i)+);

22、% 选课之后可在成绩查询里看到自己选择的课程: (g)退选操作(2)管理员操作(a)登录页面 (b)主页面 (c)信息查询页面 (1)学生信息查询页面主要代码: %Connection conn;Statement stmt;ResultSet rs;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(jdbc:odbc:mymoon,sa,);stmt=conn.createStatement();rs=stmt.executeQuery(select * from student); out.print(); out.print(); out.print(+学号); out.prin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号