收藏 分销(赏)

学生信息管理系统的设计与制作.doc

上传人:精**** 文档编号:9710783 上传时间:2025-04-04 格式:DOC 页数:30 大小:613.54KB 下载积分:12 金币
下载 相关 举报
学生信息管理系统的设计与制作.doc_第1页
第1页 / 共30页
学生信息管理系统的设计与制作.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
学生信息管理系统的设计与制作 【摘要】本文主要介绍了学生信息管理系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S结构,使用JSP编程、利用SQL Server 2005建立数据库、采用HTML,JavaScript等编程技术。 本系统是采用B/S模式进行开发的,系统的用户权限有两种:学生和系统管理员,不同权限用户登入到不同的操作界面。该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。 【关键字】 学生信息管理;B/S;JSP;Script;SQLServer 2005 Based on JSP student information management system 【Abstract】 This article mainly introduced the student information management system primary mission, elaborated develops essential technology which this system uses, like uses the B/S structure, uses the JSP programming, using the SQLServer2000 establishment database, uses HTML and JavaScript, and so on programming technology. This system uses the B/S pattern to carry on the development; the system user jurisdiction has two kinds: The student and the system manager, the different jurisdiction user records to the different operation contact surface. This system mainly by the school register maintenance, chooses function module and so on class management, result inquiry to be composed, this article specifically introduced various functions module contains the small module function, the school register maintenance module mainly is carries on the increase, the inquiry, the revision, and the deletion to student's basic information; Chooses the class administration module mainly is to the curriculum which takes as an elective carries on the increase, the deletion, the statistics takes as an elective the population, as well as the student carries on chooses the class and re-elects the class; The result inquiry module mainly carries on the increase, the deletion, the input result to the required course, as well as the student carries on function and inquiry result and so on. 【Keywords】 Students B/S JSP Script SQLServer 2005 目 录 引 言 1 第一章 概述 1 1.1 选题的背景和意义 1 1.2 研究内容 2 1.3 研究的目标及主要特点 2 第二章 系统分析 2 2.1 可行性分析 2 2.2 需求分析 3 2.2.1 业务流程分析 3 第三章 系统设计 4 3.1 系统功能模块设计 4 3.2数据库设计 5 3.2.1 总体表设计 5 3.2.2 数据库表的结构 6 3.3 实体及ER图 8 3.3.1实体介绍 8 3.3.2实体的ER图 8 3.4 数据库表的关系图 10 3.5 数据库连接 11 第四章 系统实现 11 4.1 登入界面 12 4.2 学生界面 14 4.3 学生界面功能实现 14 4.3.1 学生修改密码页面 14 4.3.2 学生学籍维护页面 15 4.3.3 成绩查询 17 4.4 管理员界面 18 4.5 管理员界面功能实现 18 4.5.1 修改学生信息 18 4.5.2 添加新学生和选修课 19 4.5.3 查看学生选课情况 20 4.5.4 添加必修课表和学生成绩 21 第五章 系统调试与测试 21 5.1 程序调试 21 5.2 程序的测试 21 5.2.1 测试的重要性及目的 21 5.2.2 测试的步骤 22 5.2.3 测试的主要内容 23 第六章 总结与展望 24 参考文献 25 致 谢 26 引 言 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。 因此,开发一套采用B/S结构的学生信息管理系统就成为必要的事情。本系统正是采用B/S结构开发的,该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,实现学生基本信息管理、学生选修课程管理以及学生成绩查询管理等。 第一章 概述 1.1 选题的背景和意义 随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件基础,还要有一整套完善的教学管理软件管理系统。而要实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。 随着国家对于教育的重视逐渐加大,学校正向着大型化、规模化发展,而对于大中型学校,跟学生信息管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。该系统就是设计一个学生信息数据库管理系统,由计算机代替人工执行一系列诸如增加新学生,删除旧学生,学生信息修改,查询,维护及打印等操作。这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。 1.2 研究内容 本系统研究内容为学生信息管理系统,信息管理系统提供了强大的学生档案管理管理功能,方便管理员对学生信息的添加、修改、删除、查询等操作。本系统开发的总体任务是实现学生信息管理的系统化、规范化、自动化、达到提高学生信息管理效率的目的。 系统分为以下几个方向: (1)用户管理。实现对不同用户分配不同的权限。 (2)数据库连接。使程序能访问数据库,并能对其中的数据进行操作。 (3)数据录入。通过程序能实现往数据库中增加记录。 (4)数据查询。通过各种查询组合实现对数据的精确选取。 (5)数据维护。包括对数据的修改及删除操作。 1.3 研究的目标及主要特点 (1)研究目标:建立一个B/S层结构的学生信息管理系统,实现管理员对学生信息的获取、统计等各环节的计算机管理。 (2)主要特点: ① 实现学生信息管理的基本要求,对学生学习进行完善管理。 ② 界面友好,简单易用。 ③ 系统操作简单,功能强大,易于维护。 第二章 系统分析 2.1 可行性分析 (1)经济上的可行性 软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套管理系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。 本系统的开发在经济上是完全可行的。开发此软件不需要大量经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。 (2)技术的可行性 根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。 在软件方面,由于MyEclipse和SQL server 2005是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件技术方面是可行的。 (3)运行上的可能性 随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。 本系统操作简单易行,所以使用前的培训也比较容易,此系统网站的管理人员对开发此应用项目的态度确定而且管理方面的条件都比较成熟。经过以上分析,运行方面是可行的。 2.2 需求分析 2.2.1 业务流程分析 系统主页 选定登入模块 管理员操作 学生操作 查看成绩 选修课程 学籍维护 修改密码 成绩管理 选课管理 学生管理 图2-1流程分析图 第三章 系统设计 3.1 系统功能模块设计 本系统功能主要包过三大块:学籍维护(管理员添加、删除学生基本信息;学生查看、修改个人附加信息);选课管理(添加、删除选修课表,查看单个学生选课情况以及单门课程被学生选修情况;学生查看、选修课程并可对所选课程进行修改);成绩查询(管理员添加、删除成绩课表,添加学生分数以及查询单人或单课分数情况;学生查看自己所学基础课成绩)。 系统功能图如图3-1所示: 学生信息管理系统 学籍维护 选课管理 成绩管理 管理员 学生 修改密码 查看信息 修改学籍 添加学生 删除学生 修改信息 添加课程 删除课程 修改课程 选课情况 查看选课 选修课程 修改选课 添加课程 删除课程 查看成绩 添加分数 查看成绩 管理员 学生 管理员 学生 图3-1 系统功能图 3.2数据库设计 在本系统中使用的是SQL Server 2005数据库管理系统。本系统使用的数据库名为yuqingpeng,下面具体讲解数据库中各数据表的创建和逻辑结构. 3.2.1 总体表设计 本系统中共用到了6个数据表,如下: (1)admin表:记录管理员信息; (2)student表:记录学生学籍信息; (3)kechengbiao表:记录选修课信息; (4)chegnji表:记录学生基础课信息; (5)成绩关联表:记录学生基础课成绩信息; (6) 选课关联表:记录学生选课信息。 3.2.2 数据库表的结构 表3-1 admin(管理员表) 字段名 字段描述 是否主键 数据类型 长度 约束 说明 admin_id 管理员ID 是 varchar 20 Not null 唯一标识 password 密码 否 varchar 20 Not null 表3-2 Student(学生表) 字段名 字段描述 是否主键 数据类型 长度 约束 说明 name 学生姓名 否 varchar 20 Not null stu_id 学号 是 varchar 20 Not null 唯一标识 password 密码 否 varchar 20 Not null sex 性别 否 varchar 20 Not null zy 专业 否 varchar 20 Not null mz 民族 否 char 10 Not null zzmm 政治面貌 否 varchan 20 Not null cym 曾用名 否 varchar 20 sfz 身份证 否 varchar 20 csrq 出生日期 否 varchar 20 jg 籍贯 否 varchar 20 jkzk 健康状况 否 varchar 20 rxnf 入学年份 否 varchar 20 jtdz 家庭地址 否 varchar 50 jtdh 家庭电话 否 varchar 20 yzbm 邮政编码 否 varchar 10 brlxfs 联系方式 否 varchar 20 email 邮件 否 varchar 20 qtlxfs 其他联系 否 varchar 20 bz 备注 否 varchar 20 表3-3 Chengji(成绩表) 字段名 字段描述 是否主键 数据类型 长度 约束 说明 学期号 学期号 否 varchar 20 课程号 课程号 是 varchar 20 Not null 唯一标识 课程名 课程名 否 varchar 20 Not null 学分 学分 否 varchar 20 主讲教师 主讲教师 否 varchar 20 表3-4 Kechengbiao(课程表) 字段名 字段描述 是否主键 数据类型 长度 约束 说明 课程号 课程号 是 varchar 20 Not null 唯一标识 课程名 课程名 否 varchar 20 Not null 任课教师 任课教师 否 varchar 20 星期几 星期几 否 varchar 20 时间 时间 否 varchar 20 上课教室 上课教室 否 varchar 20 表3-5 成绩关联表 字段名 字段描述 是否主键 数据类型 长度 约束 说明 id 自动标识 是 int 4 Not null 唯一标识 stu_id 学号 否 varchar 20 Not null 课程号 课程号 否 varchar 20 Not null 成绩 成绩 否 varchar 20 Not null 重修成绩 重修成绩 否 varchar 20 Not null 表3-6 选课关联 字段名 字段描述 是否主键 数据类型 长度 约束 说明 id 自动标识 是 int 4 Not null 唯一标识 stu_id 学号 否 varchar 20 Not null 课程号 课程号 否 varchar 20 Not null 3.3 实体及ER图 3.3.1实体介绍 本系统中的实体共有4 个,分别为: 实体1: 学生(姓名name,学号stu_id,密码password,性别sex,专业zy,民族mz,政治面貌,曾用名cym,身份证sfz,出身日期csrq,籍贯jg,健康状况jkzk,入学年份rxnf,家庭地址jtdz,家庭电话jtdh,邮政编码yzbm,联系方式lxfs,Email email,备注bz); 关键字为:学号 实体2:选修课(课程号,课程名,任课教师,星期几,时间,上课教室); 关键字为:课程号 实体3:基础课(学期号,课程号,课程名,学分,主讲教师) 关键字为:课程号 实体4:成绩(id,学号,课程号,成绩,重修成绩); 3.3.2实体的ER图 实体1的ER图: 学生 姓名 学号 密码 性别 专业 民族 政治面貌 曾用名 身份证 出生日期 健康状况 籍贯 入学年份 家庭地址 联系方式 图3-2 实体1 实体2的ER图 选修课 课程号 任课教师 星期几 时间 上课教室 课程名 图3-3 实体2 实体3的ER图 必修课 课程号 课程名 主讲教师 学分 学期号 图3-4 实体3 实体4的ER图: 成绩 学号 课程号 成绩 重修成绩 ID 图3-5 实体4 3.4 数据库表的关系图 在本系统中共有6个表,其中有些表之间存在着联系,并建立起了关系: 图 3-6 表之间联系图 3.5 数据库连接 JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称。 本系统正是利用JDBC-ODBC Bridge驱动程序来连接数据库的,连接数据库用 JavaBean技术,代码为: package yu; import java.io.*; import java.sql.*; public class dbconn { String Sd="sun.jdbc.odbc.JdbcOdbcDriver"; //建立一个联接机 String Sc="jdbc:odbc:yqp"; //建立一个Odbc源 Connection con=null; //Connection对象 ResultSet rs=null; //建立一个记录集 PreparedStatement prepstmt = null; String userName = "sa"; String password = "sa"; public dbconn(){ try{ Class.forName(Sd); //用classforname方法加载驱动程序类 }catch(java.lang.ClassNotFoundException e){ //当没有发现这个加载这个类的时候抛出的异常 System.err.println(e); //执行系统的错误打印 } } 第四章 系统实现 系统使用B/S结构,运用JSP语言,MyEclipse开发工具以及Tomcat服务器,后台数据库采用SQL Server。 4.1 登入界面 由于系统设置了两个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面。 输入用户名和密码 系统验证通过 选择权限 当用户或密码错误 判断用户名和密码 判断权限 学生界面 管理员界面 图 4-1 页面流程图 登入系统界面如下: 图4-2 登陆界面图 当用户输入ID和密码后会根据选择的权限对ID和密码进行验证验证成功时进入下一页面,判断用户权限及密码正确与否的代码如下: Login.jsp页面代码: <%@ page contentType="text/html; charset=GB2312" %> <%@ page import="java.sql.*" %> <%@ page language="java" %> <%@ page import="java.util.*" %> <%@ page import="yu.*" %> <jsp:useBean id="a" scope="page" class="yu.dbconn"/> <html> <head> <title> 身份验证 </title> </head> <body bgcolor="#ffffff"> <% request.setCharacterEncoding("GBK"); if(sel.equals("student")){ sql = "SELECT * FROM student where stu_id='"+user+"' and password='"+pwd+"'"; URL="student.jsp"; ResultSet rs = stmt.executeQuery(sql); if(rs.next()){ String a=rs.getString("name"); request.getSession(true); session.setAttribute("name",a); session.setAttribute("id",user); response.sendRedirect(URL) ;} else response.sendRedirect("error.jsp") ; } else if(sel.equals("admin")){ sql = "SELECT * FROM admin where admin_id='"+user+"' and password='"+pwd+"'"; URL="admin.jsp"; ResultSet rs = stmt.executeQuery(sql); if(rs.next()){ request.getSession(true); session.setAttribute("id",user); response.sendRedirect(URL) ;} else response.sendRedirect("error.jsp") ; }//使用executeQuery执行SQL查询语句 %> </body> </html> 4.2 学生界面 当验证用户名和密码正确后进入学生界面: 图4-3 管理系统界面 4.3 学生界面功能实现 4.3.1 学生修改密码页面 图4-4 密码修改界面 修改密码代码: Change.Jsp页面: <body bgcolor="#ffffff"> <% request.setCharacterEncoding("GBK"); String pwd=""; String number=(String)session.getAttribute("id"); String sql=""; sql="SELECT * FROM student where stu_id='"+number+"'"; ResultSet rs = a.executeQuery(sql); if(rs.next()){ pwd=rs.getString("password"); } %> <SCRIPT LANGUAGE="javascript" > function b(){ if(form2.pwd1.value!="<%=pwd%>"||form2.pwd1.value=="") { alert("输入的原始密码不正确,请重新输入"); form2.pwd1.focus(); return false; } if(form2.pwd2.value=="") { alert("请输入新密码"); form2.pwd2.focus(); return false; } else if(form2.pwd2.value!=form2.pwd3.value) { alert("两次输入的新密码不同,请重新输入"); form2.pwd3.focus(); return false; } else { alert("密码修改成功"); return true; } return true; } </SCRIPT> 以输入一个密码修改框的table已删,下面是修改后把新密码导入数据库: Change_pwd.jsp 页面代码: <body bgcolor="#ffffff"> <% request.setCharacterEncoding("GBK"); String sql=""; String password=request.getParameter("pwd2"); String number=(String)session.getAttribute("id"); sql="update student set password ='"+password+"' where stu_id ='"+number+"'"; a.executeUpdate(sql); response.sendRedirect("welcome.jsp") ; %> </body> 4.3.2 学生学籍维护页面 学生可以查看自己的信息以及修改自己的学籍信息。 图 4-5 学籍信息1 图 4-6 学籍信息2 change_xueji.jsp页面用来把学生新提交信息保存到数据库中: Change_xueji.jsp页面代码: <% request.setCharacterEncoding("GBK"); String sql=""; String xuehao=(String)session.getAttribute("id"); String cym=request.getParameter("cym"); String sfz=request.getParameter("sfz"); String csrq=request.getParameter("csrq"); String jg=request.getParameter("jg"); String jkzk=request.getParameter("jkzk"); String rxnf=request.getParameter("rxnf"); String jtdz=request.getParameter("jtdz"); String jtdh=request.getParameter("jtdh"); String yzbm=request.getParameter("yzbm"); String brlxfs=request.getParameter("brlxfs"); String email=request.getParameter("email"); String qtlxfs=request.getParameter("qtlxfs"); String bz=request.getParameter("bz"); sql="update student set cym='"+cym+"',sfz='"+sfz+"', csrq='"+csrq+"',jg='"+jg+"',jkzk='"+ jkzk+"',rxnf='"+rxnf+"',jtdz='"+jtdz+"',jtdh='"+jtdh+"',yzbm='"+yzbm+"',brlxfs='"+ brlxfs+"',email='"+email+"',qtlxfs='"+qtlxfs+"',bz='"+bz+"' where stu_id='"+xuehao+"'" ; a.executeUpdate(sql); response.sendRedirect("xueji.jsp") ; %> 4.3.3 成绩查询 学生可以查看自己以前学期所学课程的成绩,该功能主要是跟数据连接。 图 4-7 学生成绩图 4.4 管理员界面 图4-8 管理员界面 该界面是管理员通过验证后进入的页面,管理员可以今选择进行自己所需要的操作。 4.5 管理员界面功能实现 4.5.1 修改学生信息 修改学生基本信息页面: 图 4-9 修改学生信息图 4.5.2 添加新学生和选修课 该页面主要是用来添加新的学生及其基本信息。代码主要有add1.jsp和add1_stu.jsp完成。 图 4-10添加学生信息 Add1_stu.jsp部分代码如下: <% request.setCharacterEncoding("GBK"); String name=request.getParameter("name"); String stu_id=request.getParameter("stu_id"); String password=request.getParameter("password"); String sex=request.getParameter("sex"); String zy=request.getParameter("zy"); String mz=request.getParameter("mz"); String zzmm=request.getParameter("zzmm"); String sql=""; String sql2=""; sql="SELECT * FROM student where stu_id='"+stu_id+"'"; ResultSet rs=a.executeQuery(sql); if(rs.next()) {%> <script language="javascript"> alert("你已添加了该学生信息,请添加其他学生"); history.go(-1); history.go(0); </script> <% } else { sql2="INSERT INTO student(name,stu_id,password,sex,zy,mz,zzmm) values('"+name+"','"+stu_id+"','"+password+"','"+sex+"','"+zy+"','"+mz+"','"+zzmm+"')"; a.executeUpdate(sql2); %> <script language="javascript"> alert("添加成功,请继续添加"); history.go(-1); history.go(0); </script> <% } %> 4.5.3 查看学生选课情况 图4-11 查看选修课 4.5.4 添加必修课表和学生成绩 图 4-12 添加必修课 第五章 系统调试与测试 5.1 程序调试 在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服