学生信息管理系统的设计与制作_第1页
学生信息管理系统的设计与制作_第2页
学生信息管理系统的设计与制作_第3页
学生信息管理系统的设计与制作_第4页
学生信息管理系统的设计与制作_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学生信息管理系统的设计与制作【摘要】本文主要介绍了学生信息管理系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S 结构,使用 JSP编程、利用 SQL Server 2005建立数据库、采用 HTML , JavaScript等编程技术。本系统是采用 B/S 模式进行开发的,系统的用户权限有两种:学生和系统管理员,不同权限用户登入到不同的操作界面。该系统主要由学籍维护、 选课管理、成绩查询等功能模块组成, 本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数, 以及学生进

2、行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。【关键字】学生信息管理; B/S;JSP;Script;SQLServer 2005Based on JSP student information management system【 Abstract】 This article mainly introduced the student information managementsystem primary mission, elaborated develops essential technology which this system

3、uses, likeuses theB/Sstructure,uses theJSPprogramming,usingtheSQLServer2000 establishment database, uses HTMLand JavaScript, and so onprogramming technology.This system uses the B/S pattern to carry on the development; the system userjurisdictionhas two kinds: The student and the system manager, the

4、 differentjurisdiction user records to the different operation contact surface. This system mainlyby the school register maintenance, chooses functionmodule and so on classmanagement, result inquiry to be composed, this article specificallyintroducedvarious functions module contains the small module

5、 function, the school registermaintenance module mainly is carries on the increase, the inquiry, the revision, andthe deletion to student's basic information; Chooses the class administration modulemainly is to the curriculum which takes as an elective carries on the increase, thedeletion, the s

6、tatistics takes as an elective the population, as well as the student carrieson chooses the class and re-elects the class; The result inquiry module mainly carrieson the increase, the deletion, the input result to the required course, as well as thestudent carries on function and inquiry result and

7、so on.【Keywords】 StudentsB/SJSPScriptSQLServer 2005目录引 言 .1第一章概述 .11.1选题的背景和意义 .11.2研究内容 .21.3研究的目标及主要特点 .2第二章系统分析 .22.1可行性分析 .22.2需求分析 .32.2.1业务流程分析 .3第三章系统设计 .43.1系统功能模块设计 .43.2数据库设计 .53.2.1总体表设计 .53.2.2数据库表的结构 .63.3实体及 ER图 .83.3.1实体介绍 .83.3.2实体的 ER图. .83.4数据库表的关系图 .103.5数据库连接 .11第四章系统实现 .114.1登入界

8、面 .124.2学生界面 .144.3学生界面功能实现 .144.3.1学生修改密码页面 .144.3.2学生学籍维护页面 .164.3.3成绩查询 .174.4管理员界面 .184.5管理员界面功能实现 .184.5.1修改学生信息 .184.5.2添加新学生和选修课 .194.5.3查看学生选课情况 .204.5.4添加必修课表和学生成绩 .21第五章 系统调试与测试 .215.1程序调试 .215.2程序的测试 .215.2.1测试的重要性及目的 .215.2.2测试的步骤 .225.2.3测试的主要内容 .23第六章总结与展望 .24参考文献 .25致 谢 .26引 言随着科学技术的不

9、断提高 , 计算机科学日渐成熟 , 其强大的功能已为人们深刻认识 , 它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分 , 使用计算机对学生信息进行管理 , 具有手工管理所无法比拟的优点。例如 : 检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率 , 也是进行科学化、正规化管理,与世界接轨的重要条件。因此,开发一套采用 B/S 结构的学生信息管理系统就成为必要的事情。 本系统正是采用 B/S 结构开发的,该系统主要由学籍维护、 选课管理、 成绩查询等功能模块组成,实现学生基本信息管理、 学生选修课程管理以及学

10、生成绩查询管理等。第一章概述1.1选题的背景和意义随着我国教育产业化的飞速发展, 社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件基础,还要有一整套完善的教学管理软件管理系统。而要实现这一功能, 就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务, 为他们提供一个高效、便捷的环境。学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、 科研与管理的基础环境, 在一定程度

11、上反映出学校管理现代化的水平。随着国家对于教育的重视逐渐加大, 学校正向着大型化、 规模化发展, 而对于大中型学校, 跟学生信息管理有关的信息随之急剧增加。 在这种情况下单靠人工来处理员工的工资不但显得力不从心, 而且极容易出错。 该系统就是设计一个学生信息数据库管理系统, 由计算机代替人工执行一系列诸如增加新学生,删除旧学生,学生信息修改,查询,维护及打印等操作。这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。1.2研究内容本系统研究内容为学生信息管理系统,信息管理系统提供了强大的学生档案管理管理功能,方便管理员对学生信息的添加、修改、删除、查询等操作。本系统开发的总体任务是实

12、现学生信息管理的系统化、规范化、自动化、达到提高学生信息管理效率的目的。系统分为以下几个方向:( 1)用户管理。实现对不同用户分配不同的权限。( 2)数据库连接。使程序能访问数据库,并能对其中的数据进行操作。( 3)数据录入。通过程序能实现往数据库中增加记录。( 4)数据查询。通过各种查询组合实现对数据的精确选取。( 5)数据维护。包括对数据的修改及删除操作。1.3研究的目标及主要特点( 1)研究目标: 建立一个 B/S 层结构的学生信息管理系统, 实现管理员对学生信息的获取、统计等各环节的计算机管理。( 2)主要特点: 实现学生信息管理的基本要求,对学生学习进行完善管理。 界面友好,简单易用

13、。 系统操作简单,功能强大,易于维护。第二章系统分析2.1可行性分析( 1) 经济上的可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜, 同时还要看此软件能否真正给用户带来足够的经济效益, 我们开发的这套管理系统可以做到信息的规范管理、 科学统计和快速查询, 从而减少管理方面的工作量。本系统的开发在经济上是完全可行的。开发此软件不需要大量经费, 而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。(2)技术的可行性根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。在软件方面,

14、由于MyEclipse 和 SQL server 2005 是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件技术方面是可行的。(3)运行上的可能性随着学校规模的不断扩大, 学生数量急剧增加, 有关学生的各种信息也成倍增长。面对如此庞大的信息量, 开发学生信息管理系统来提高学生管理工作的效率就成为必然。本系统操作简单易行, 所以使用前的培训也比较容易,此系统网站的管理人员对开发此应用项目的态度确定而且管理方面的条件都比较成熟。经过以上分析,运行方面是可行的。2.2需求分析业务流程分析系统主页选定登入模块学生操作管理员操作修改密码学籍维护选修课程查看成绩学生管理选课管

15、理成绩管理图 2-1 流程分析图第三章系统设计3.1系统功能模块设计本系统功能主要包过三大块:学籍维护(管理员添加、删除学生基本信息;学生查看、修改个人附加信息) ;选课管理(添加、删除选修课表,查看单个学生选课情况以及单门课程被学生选修情况;学生查看、选修课程并可对所选课程进行修改);成绩查询(管理员添加、删除成绩课表,添加学生分数以及查询单人或单课分数情况;学生查看自己所学基础课成绩)。系统功能图如图3-1 所示:学生信息管理系统学选成课绩籍管管维理理护管学管学管学理生理生理生员员员添 删 修修 查 修添删修选查 选 修添删查添查加 除 改改 看 改加除改课看 修 改加除看加看学 学 信密

16、 信 学课课课情选 课 选课课成分成生 生 息码 息 籍程程程况课 程 课程程绩数绩图 3-1系统功能图3.2 数据库设计在本系统中使用的是SQL Server 2005数据库管理系统。本系统使用的数据库名为 yuqingpeng ,下面具体讲解数据库中各数据表的创建和逻辑结构.总体表设计本系统中共用到了6 个数据表,如下:(1)admin 表:记录管理员信息;(2)student表:记录学生学籍信息;(3)kechengbiao 表:记录选修课信息;(4)chegnji表:记录学生基础课信息;(5)成绩关联表:记录学生基础课成绩信息;(6) 选课关联表:记录学生选课信息。数据库表的结构表 3

17、-1 admin( 管理员表 )字段名字段描述是否主键数据类型长度约束说明admin_id管理员 ID是varchar20Not null唯一标识password密码否varchar20Not null表 3-2 Student(学生表 )字段名字段描述是否主键数据类型长度约束说明name学生姓名否varchar20Not nullstu_id学号是varchar20Not null唯一标识password密码否varchar20Not nullsex性别否varchar20Not nullzy专业否varchar20Not nullmz民族否char10Not nullzzmm政治面貌否va

18、rchan20Not nullcym曾用名否varchar20sfz身份证否varchar20csrq出生日期否varchar20jg籍贯否varchar20jkzk健康状况否varchar20rxnf入学年份否varchar20jtdz家庭地址否varchar50jtdh家庭电话否varchar20yzbm邮政编码否varchar10brlxfs联系方式否varchar20email邮件否varchar20qtlxfs其他联系否varchar20bz备注否varchar20表 3-3 Chengji(成绩表 )字段名字段描述是否主键数据类型长度约束说明学期号学期号否varchar20课程号课

19、程号是varchar20Not null唯一标识课程名课程名否varchar20Not null学分学分否varchar20主讲教师主讲教师否varchar20表 3-4 Kechengbiao( 课程表 )字段名字段描述是否主键数据类型长度约束说明课程号课程号是varchar20Not null唯一标识课程名课程名否varchar20Not null任课教师任课教师否varchar20星期几星期几否varchar20时间时间否varchar20上课教室上课教室否varchar20表 3-5 成绩关联表字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Not null唯一标识st

20、u_id学号否varchar20Not null课程号课程号否varchar20Not null成绩成绩否varchar20Not null重修成绩重修成绩否varchar20Not null表 3-6 选课关联字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Not null唯一标识stu_id学号否varchar20Not null课程号课程号否varchar20Not null3.3实体及 ER图实体介绍本系统中的实体共有4 个,分别为:实体 1:学生 ( 姓名 name,学号 stu_id ,密码 password,性别 sex,专业 zy,民族 mz,政治面貌,曾用名

21、cym,身份证 sfz ,出身日期 csrq ,籍贯 jg ,健康状况 jkzk ,入学年份 rxnf ,家庭地址 jtdz ,家庭电话 jtdh ,邮政编码 yzbm,联系方式 lxfs ,Email email ,备注 bz) ;关键字为:学号实体 2:选修课(课程号,课程名,任课教师,星期几,时间,上课教室); 关键字为:课程号实体 3:基础课(学期号,课程号,课程名,学分,主讲教师)关键字为:课程号实体 4:成绩( id ,学号,课程号,成绩,重修成绩) ;实体的 ER图实体 1 的 ER图:姓名学号密码专业性别籍贯政治面貌民族学生出生日期曾用名健康状况身份证入学年份家庭地址联系方式图

22、3-2 实体1实体 2的 ER图课程号课程名任课教师选修课星期几上课教室时间图3-3实体2实体 3的 ER图课程号课程名学期号必修课学分主讲教师图3-4 实体3实体 4 的 ER图:学号ID课程号成绩成绩重修成绩图3-5 实体43.4数据库表的关系图在本系统中共有 6 个表,其中有些表之间存在着联系,并建立起了关系:图 3-6表之间联系图3.5数据库连接JDBC 是 Java数据库连接 ( Java Data Base Connectivity) 技术的简称。本系统正是利用 JDBC-ODBC Bridge 驱动程序来连接数据库的,连接数据库用JavaBean技术,代码为:package yu

23、;public class dbconn /建立一个联接机String Sc="jdbc:odbc:yqp"/建立一个 Odbc源Connection/Connection对象ResultSet rs=null;/PreparedStatement prepstmt = null;String userName = "sa"String password = "sa"public dbconn()try建立一个记录集con=null;Class.forName(Sd);/ 用 classforname 方法加载驱动程序类e) / 当没

24、有发现这个加载这个类的时候抛出的异常/执行系统的错误打印第四章系统实现系统使用 B/S 结构,运用 JSP 语言, MyEclipse 开发工具以及Tomcat 服务器,后台数据库采用SQL Server。4.1登入界面由于系统设置了两个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面。当用户或密码错误输入用户名和密码选择权限判断用户名和密码学生界面管理员界面系统验证判断权限通过图 4-1页面流程图登入系统界面如下:图 4-2 登陆界面图当用户输入 ID 和密码后会根据选择的权限对ID 和密码进行验证验证成功时进入下一页面,

25、判断用户权限及密码正确与否的代码如下:Login.jsp页面代码:<% page language="java" %><% page import="yu.*" %><jsp:useBean id="a" scope="page" class="yu.dbconn"/> <html><head><title>身份验证</title></head><body bgcolor="#ffff

26、ff"><% 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()Str

27、ing a=rs.getString("name");request.getSession(true);session.setAttribute("name",a);session.setAttribute("id",user);response.sendRedirect(URL) ;elseresponse.sendRedirect("error.jsp") ;else if(sel.equals("admin")sql= "SELECT * FROM admin where adm

28、in_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) ;elseresponse.sendRedirect("error.jsp")

29、;/使用 executeQuery 执行 SQL查询语句%></body></html>4.2学生界面当验证用户名和密码正确后进入学生界面:图 4-3管理系统界面4.3学生界面功能实现学生修改密码页面图 4-4密码修改界面修改密码代码:Change.Jsp 页面:<body bgcolor="#ffffff"><% request.setCharacterEncoding("GBK");String pwd=""String number=(String)session.getAttri

30、bute("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()alert(" 输入的原始密码不正确,

31、请重新输入return false;alert("请输入新密码 ");return false; alert(" 两次输入的新密码不同,请重新输入 "); return false;elsealert("密码修改成功 ");return true;return true;</SCRIPT>以输入一个密码修改框的table已删,下面是修改后把新密码导入数据库:Change_pwd.jsp 页面代码:<body bgcolor="#ffffff"><% request.setCharact

32、erEncoding("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.executeUpda

33、te(sql);response.sendRedirect("welcome.jsp") ;%></body>学生学籍维护页面学生可以查看自己的信息以及修改自己的学籍信息。图 4-5学籍信息1图 4-6学籍信息2change_xueji.jsp页面用来把学生新提交信息保存到数据库中:Change_xueji.jsp页面代码:<% request.setCharacterEncoding("GBK");String sql=""String xuehao=(String)session.getAttribute(

34、"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(&quo

35、t;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.get

36、Parameter("qtlxfs");String bz=request.getParameter("bz");sql="updatestudentsetcym='"+cym+"',sfz='"+sfz+"',csrq='"+csrq+"',jg='"+jg+"',jkzk='"+jkzk+"',rxnf='"+rxnf+"',j

37、tdz='"+jtdz+"',jtdh='"+jtdh+"',yzbm='"+yzbm+"',brlxfs='"+brlxfs+"',email='"+email+"',qtlxfs='"+qtlxfs+"',bz='"+bz+"' where stu_id='"+xuehao+"'" ;a.exec

38、uteUpdate(sql);response.sendRedirect("xueji.jsp") ;%>成绩查询学生可以查看自己以前学期所学课程的成绩, 该功能主要是跟数据连接。图 4-7学生成绩图4.4管理员界面图 4-8 管理员界面该界面是管理员通过验证后进入的页面,管理员可以今选择进行自己所需要的操作。4.5管理员界面功能实现修改学生信息修改学生基本信息页面:图 4-9修改学生信息图添加新学生和选修课该页面主要是用来添加新的学生及其基本信息。代码主要有add1.jsp和add1_stu.jsp完成。图 4-10添加学生信息Add1_stu.jsp部分代码如下:

39、<% 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(&qu

40、ot;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

41、 language="javascript">alert(" 你已添加了该学生信息,请添加其他学生 "); history.go(-1);history.go(0);</script><% elsesql2="INSERT INTO student(name,stu_id,password,sex,zy,mz,zzmm) values('"+name+"','"+stu_id+"','"+password+"',&

42、#39;"+sex+"','"+zy+"','"+m z+"','"+zzmm+"')"a.executeUpdate(sql2);%><script language="javascript">alert("添加成功,请继续添加 ");history.go(-1);history.go(0);</script><% %>查看学生选课情况图 4-11查看选修课添加必修课

43、表和学生成绩图 4-12添加必修课第五章系统调试与测试5.1程序调试在设计系统的过程中, 存在一些错误是必然的。 对于语句的语法错误, 在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2程序的测试测试的重要性及目的(1)测试的重要性在实践中,软件测试的困难常常使人望而却步或敷衍了事, 这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括 : 认为测试工作不如设计和编码那样容易取得进

44、展难以给测试人员某种成就感 ; 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定 ; 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作; 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不利的, 必须澄清认识、 端正态度, 才可能提高软件产品的质量。(2)测试的目的如果测试的目的是为了尽可能多地找出错误, 那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论