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

下载本文档

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

文档简介

学生信息管理系统的设计与制作作者蔺孟陶指导教师陈刚【摘要】本文主要介绍了学生信息管理系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S结构,使用JSP编程、利用SQLServer2005建立数据库、采用HTML,JavaScript等编程技术。本系统是采用B/S模式进行开发的,系统的用户权限有两种:学生和系统管理员,不同权限用户登入到不同的操作界面。该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的根本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。【关键字】学生信息管理;B/S;JSP;Script;SQLServer2005BasedonJSPstudentinformationmanagementsystem【Abstract】Thisarticlemainlyintroducedthestudentinformationmanagementsystemprimarymission,elaborateddevelopsessentialtechnologywhichthissystemuses,likeusestheB/Sstructure,usestheJSPprogramming,usingtheSQLServer2000establishmentdatabase,usesHTMLandJavaScript,andsoonprogrammingtechnology.ThissystemusestheB/Spatterntocarryonthedevelopment;thesystemuserjurisdictionhastwokinds:Thestudentandthesystemmanager,thedifferentjurisdictionuserrecordstothedifferentoperationcontactsurface.Thissystemmainlybytheschoolregistermaintenance,choosesfunctionmoduleandsoonclassmanagement,resultinquirytobecomposed,thisarticlespecificallyintroducedvariousfunctionsmodulecontainsthesmallmodulefunction,theschoolregistermaintenancemodulemainlyiscarriesontheincrease,theinquiry,therevision,andthedeletiontostudent'sbasicinformation;Choosestheclassadministrationmodulemainlyistothecurriculumwhichtakesasanelectivecarriesontheincrease,thedeletion,thestatisticstakesasanelectivethepopulation,aswellasthestudentcarriesonchoosestheclassandre-electstheclass;Theresultinquirymodulemainlycarriesontheincrease,thedeletion,theinputresulttotherequiredcourse,aswellasthestudentcarriesonfunctionandinquiryresultandsoon.【Keywords】StudentsB/SJSPScriptSQLServer2005目录引言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图8实体介绍8实体的ER图83.4数据库表的关系图103.5数据库连接11第四章系统实现114.1登入界面124.2学生界面144.3学生界面功能实现144.3.1学生修改密码页面144.3.2学生学籍维护页面154.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引言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对学生信息进行管理,具有手工管理所无法比较的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。因此,开发一套采用B/S结构的学生信息管理系统就成为必要的事情。本系统正是采用B/S结构开发的,该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,实现学生根本信息管理、学生选修课程管理以及学生成绩查询管理等。第一章概述1.1选题的背景和意义随着我国教育产业化的飞速开展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件根底,还要有一整套完善的教学管理软件管理系统。而要实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供效劳,为他们提供一个高效、便捷的环境。学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、科研与管理的根底环境,在一定程度上反映出学校管理现代化的水平。随着国家对于教育的重视逐渐加大,学校正向着大型化、规模化开展,而对于大中型学校,跟学生信息管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。该系统就是设计一个学生信息数据库管理系统,由计算机代替人工执行一系列诸如增加新学生,删除旧学生,学生信息修改,查询,维护及打印等操作。这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。1.2研究内容本系统研究内容为学生信息管理系统,信息管理系统提供了强大的学生档案管理管理功能,方便管理员对学生信息的添加、修改、删除、查询等操作。本系统开发的总体任务是实现学生信息管理的系统化、标准化、自动化、到达提高学生信息管理效率的目的。系统分为以下几个方向:〔1〕用户管理。实现对不同用户分配不同的权限。〔2〕数据库连接。使程序能访问数据库,并能对其中的数据进行操作。〔3〕数据录入。通过程序能实现往数据库中增加记录。〔4〕数据查询。通过各种查询组合实现对数据的精确选取。〔5〕数据维护。包括对数据的修改及删除操作。1.3研究的目标及主要特点〔1〕研究目标:建立一个B/S层结构的学生信息管理系统,实现管理员对学生信息的获取、统计等各环节的计算机管理。〔2〕主要特点:①实现学生信息管理的根本要求,对学生学习进行完善管理。②界面友好,简单易用。③系统操作简单,功能强大,易于维护。第二章系统分析2.1可行性分析〔1〕经济上的可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套管理系统可以做到信息的标准管理、科学统计和快速查询,从而减少管理方面的工作量。本系统的开发在经济上是完全可行的。开发此软件不需要大量经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。〔2〕技术的可行性根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。在软件方面,由于MyEclipse和SQLserver2005是两个非常成熟的开发工具,无论在平安性、可用性、可靠性方面都毫无置疑,因此软件技术方面是可行的。〔3〕运行上的可能性随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。本系统操作简单易行,所以使用前的培训也比较容易,此系统网站的管理人员对开发此应用工程的态度确定而且管理方面的条件都比较成熟。经过以上分析,运行方面是可行的。2.2需求分析业务流程分析系统主页系统主页选定登入模块选定登入模块管理员操作学生操作管理员操作学生操作查看成绩选修课程学籍维护修改密码查看成绩选修课程学籍维护修改密码成绩管理选课管理学生管理成绩管理选课管理学生管理图2-1流程分析图第三章系统设计3.1系统功能模块设计本系统功能主要包过三大块:学籍维护〔管理员添加、删除学生根本信息;学生查看、修改个人附加信息〕;选课管理〔添加、删除选修课表,查看单个学生选课情况以及单门课程被学生选修情况;学生查看、选修课程并可对所选课程进行修改〕;成绩查询〔管理员添加、删除成绩课表,添加学生分数以及查询单人或单课分数情况;学生查看自己所学根底课成绩〕。系统功能图如图3-1所示:学生信息管理系统学籍维护选课管理成绩管理管理员学生学生信息管理系统学籍维护选课管理成绩管理管理员学生修改密码查看信息修改学籍添加学生删除学生修改信息添加课程删除课程修改课程选课情况查看选课选修课程修改选课添加课程删除课程查看成绩添加分数查看成绩管理员学生管理员学生3.2数据库设计在本系统中使用的是SQLServer2005数据库管理系统。本系统使用的数据库名为yuqingpeng,下面具体讲解数据库中各数据表的创立和逻辑结构.3.2.1总体表设计本系统中共用到了6个数据表,如下:〔1〕admin表:记录管理员信息;〔2〕student表:记录学生学籍信息;〔3〕kechengbiao表:记录选修课信息;〔4〕chegnji表:记录学生根底课信息;〔5〕成绩关联表:记录学生根底课成绩信息;〔6〕选课关联表:记录学生选课信息。3.2.2数据库表的结构表3-1admin(管理员表)字段名字段描述是否主键数据类型长度约束说明admin_id管理员ID是varchar20Notnull唯一标识password密码否varchar20Notnull表3-2Student(学生表)字段名字段描述是否主键数据类型长度约束说明name学生姓名否varchar20Notnullstu_id学号是varchar20Notnull唯一标识password密码否varchar20Notnullsex性别否varchar20Notnullzy专业否varchar20Notnullmz民族否char10Notnullzzmm政治面貌否varchan20Notnullcym曾用名否varchar20sfz身份证否varchar20csrq出生日期否varchar20jg籍贯否varchar20jkzk健康状况否varchar20rxnf入学年份否varchar20jtdz家庭地址否varchar50jtdh家庭否varchar20yzbm邮政编码否varchar10brlxfs联系方式否varchar20email邮件否varchar20qtlxfs其他联系否varchar20bz备注否varchar20表3-3Chengji(成绩表)字段名字段描述是否主键数据类型长度约束说明学期号学期号否varchar20课程号课程号是varchar20Notnull唯一标识课程名课程名否varchar20Notnull学分学分否varchar20主讲教师主讲教师否varchar20表3-4Kechengbiao(课程表)字段名字段描述是否主键数据类型长度约束说明课程号课程号是varchar20Notnull唯一标识课程名课程名否varchar20Notnull任课教师任课教师否varchar20星期几星期几否varchar20时间时间否varchar20上课教室上课教室否varchar20表3-5成绩关联表字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Notnull唯一标识stu_id学号否varchar20Notnull课程号课程号否varchar20Notnull成绩成绩否varchar20Notnull重修成绩重修成绩否varchar20Notnull表3-6选课关联字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Notnull唯一标识stu_id学号否varchar20Notnull课程号课程号否varchar20Notnull3.3实体及ER图实体介绍本系统中的实体共有4个,分别为:实体1:学生(姓名name,学号stu_id,密码password,性别sex,专业zy,民族mz,政治面貌,曾用名cym,身份证sfz,出身日期csrq,籍贯jg,健康状况jkzk,入学年份rxnf,家庭地址jtdz,家庭jtdh,邮政编码yzbm,联系方式lxfs,Emailemail,备注bz);关键字为:学号实体2:选修课〔课程号,课程名,任课教师,星期几,时间,上课教室〕;关键字为:课程号实体3:根底课〔学期号,课程号,课程名,学分,主讲教师〕关键字为:课程号实体4:成绩〔id,学号,课程号,成绩,重修成绩〕;实体的ER图实体1的ER图:学生学生姓名学号密码性别专业民族政治面貌曾用名身份证出生日期健康状况籍贯入学年份家庭地址联系方式图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数据库连接(JavaDataBaseConnectivity)技术的简称。本系统正是利用JDBC-ODBCBridge驱动程序来连接数据库的,连接数据库用JavaBean技术,代码为:packageyu;importjava.io.*;importjava.sql.*;publicclassdbconn{StringSd="sun.jdbc.odbc.JdbcOdbcDriver";//建立一个联接机StringSc="jdbc:odbc:yqp";//建立一个Odbc源Connectioncon=null;//Connection对象ResultSetrs=null;//建立一个记录集PreparedStatementprepstmt=null;StringuserName="sa";Stringpassword="sa";publicdbconn(){try{Class.forName(Sd);//用classforname方法加载驱动程序类}catch(java.lang.ClassNotFoundExceptione){//当没有发现这个加载这个类的时候抛出的异常System.err.println(e);//执行系统的错误打印}}第四章系统实现系统使用B/S结构,运用JSP语言,MyEclipse开发工具以及Tomcat效劳器,后台数据库采用SQLServer。4.1登入界面由于系统设置了两个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面。输入用户名和密码输入用户名和密码系统验证通过选择权限当用户或密码错误判断用户名和密码判断权限学生界面管理员界面图4-1页面流程图登入系统界面如下:图4-2登陆界面图当用户输入ID和密码后会根据选择的权限对ID和密码进行验证验证成功时进入下一页面,判断用户权限及密码正确与否的代码如下:Login.jsp页面代码:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><%@pagelanguage="java"%><%@pageimport="java.util.*"%><%@pageimport="yu.*"%><jsp:useBeanid="a"scope="page"class="yu.dbconn"/><html><head><title>身份验证</title></head><bodybgcolor="#ffffff"><%request.setCharacterEncoding("GBK");if(sel.equals("student")){ sql="SELECT*FROMstudentwherestu_id='"+user+"'andpassword='"+pwd+"'";URL="student.jsp";ResultSetrs=stmt.executeQuery(sql);if(rs.next()){Stringa=rs.getString("name");request.getSession(true);session.setAttribute("name",a);session.setAttribute("id",user);response.sendRedirect(URL);}elseresponse.sendRedirect("error.jsp");}elseif(sel.equals("admin")){sql="SELECT*FROMadminwhereadmin_id='"+user+"'andpassword='"+pwd+"'";URL="admin.jsp";ResultSetrs=stmt.executeQuery(sql);if(rs.next()){request.getSession(true);session.setAttribute("id",user);response.sendRedirect(URL);}elseresponse.sendRedirect("error.jsp");}//使用executeQuery执行SQL查询语句%></body></html>4.2学生界面当验证用户名和密码正确后进入学生界面:图4-3管理系统界面4.3学生界面功能实现4.3.1学生修改密码页面图4-4密码修改界面修改密码代码:Change.Jsp页面:<bodybgcolor="#ffffff"><%request.setCharacterEncoding("GBK");Stringpwd="";Stringnumber=(String)session.getAttribute("id");Stringsql="";sql="SELECT*FROMstudentwherestu_id='"+number+"'";ResultSetrs=a.executeQuery(sql);if(rs.next()){pwd=rs.getString("password");}%><SCRIPTLANGUAGE="javascript">functionb(){if(form2.pwd1.value!="<%=pwd%>"||form2.pwd1.value==""){alert("输入的原始密码不正确,请重新输入");form2.pwd1.focus();returnfalse;}if(form2.pwd2.value==""){alert("请输入新密码");form2.pwd2.focus();returnfalse;}elseif(form2.pwd2.value!=form2.pwd3.value){alert("两次输入的新密码不同,请重新输入");form2.pwd3.focus();returnfalse;}else{alert("密码修改成功");returntrue;}returntrue;}</SCRIPT>以输入一个密码修改框的table已删,下面是修改后把新密码导入数据库:Change_pwd.jsp页面代码:<bodybgcolor="#ffffff"><%request.setCharacterEncoding("GBK");Stringsql="";Stringpassword=request.getParameter("pwd2");Stringnumber=(String)session.getAttribute("id");sql="updatestudentsetpassword='"+password+"'wherestu_id='"+number+"'";a.executeUpdate(sql);response.sendRedirect("welcome.jsp");%></body>4.3.2学生学籍维护页面学生可以查看自己的信息以及修改自己的学籍信息。图4-5学籍信息1图4-6学籍信息2change_xueji.jsp页面用来把学生新提交信息保存到数据库中:Change_xueji.jsp页面代码:<%request.setCharacterEncoding("GBK");Stringsql="";Stringxuehao=(String)session.getAttribute("id");Stringcym=request.getParameter("cym");Stringsfz=request.getParameter("sfz");Stringcsrq=request.getParameter("csrq");Stringjg=request.getParameter("jg");Stringjkzk=request.getParameter("jkzk");Stringrxnf=request.getParameter("rxnf");Stringjtdz=request.getParameter("jtdz");Stringjtdh=request.getParameter("jtdh");Stringyzbm=request.getParameter("yzbm");Stringbrlxfs=request.getParameter("brlxfs");Stringemail=request.getParameter("email");Stringqtlxfs=request.getParameter("qtlxfs");Stringbz=request.getParameter("bz");sql="updatestudentsetcym='"+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+"'wherestu_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");Stringname=request.getParameter("name");Stringstu_id=request.getParameter("stu_id");Stringpassword=request.getParameter("password");Stringsex=request.getParameter("sex");Stringzy=request.getParameter("zy");Stringmz=request.getParameter("mz");Stringzzmm=request.getParameter("zzmm");Stringsql="";Stringsql2="";sql="SELECT*FROMstudentwherestu_id='"+stu_id+"'";ResultSetrs=a.executeQuery(sql);if(rs.next()){%><scriptlanguage="javascript">alert("你已添加了该学生信息,请添加其他学生");history.go(-1);history.go(0);</script><%}else{sql2="INSERTINTOstudent(name,stu_id,password,sex,zy,mz,zzmm)values('"+name+"','"+stu_id+"','"+password+"','"+sex+"','"+zy+"','"+mz+"','"+zzmm+"')";a.executeUpdate(sql2);%><scriptlanguage="javascript">alert("添加成功,请继续添加");history.go(-1);history.go(0);</script><%}%>4.5.3查看学生选课情况图4-11查看选修课4.5.4添加必修课表和学生成绩图4-12添加必修课第五章系统调试与测试5.1程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2程序的测试测试的重要性及目的〔1〕测试的重要性在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:①认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;②以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否认;③测试工作枯燥无味,不能引起人们的兴趣;④测试工作是艰苦而细致的工作;⑤对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。〔2〕测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的局部或是以前出错比较多的位置。①软件测试是为了发现错误而执行程序的过程;②测试是为了证明程序有错,而不是证明程序无错误;③一个好的测试用例是在于它能发现至今未发现的错误;④一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助工程管理者发现当前所采用的软件过程的缺陷,以便改良。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由假设干个子系统组成,每个子系统又由假设干个模块组成。因此,大型软件系统的测试根本上由下述几个步骤组成:〔1〕模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。〔2〕系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。〔3〕验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。5.2.3测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。〔1〕单元测试单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。〔2〕集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个

温馨提示

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

评论

0/150

提交评论