中学学生成绩管理系统的设计与实现——年级成绩管理模块与年级总分、及格率的实现毕业_第1页
中学学生成绩管理系统的设计与实现——年级成绩管理模块与年级总分、及格率的实现毕业_第2页
中学学生成绩管理系统的设计与实现——年级成绩管理模块与年级总分、及格率的实现毕业_第3页
中学学生成绩管理系统的设计与实现——年级成绩管理模块与年级总分、及格率的实现毕业_第4页
中学学生成绩管理系统的设计与实现——年级成绩管理模块与年级总分、及格率的实现毕业_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。中学学生成绩管理系统的设计与实现年级成绩管理模块与年级总分、及格率的实现毕业中学学生成绩管理系统的设计与实现毕业设计论文目录1引言22年级成绩管理模块概述22.1 开发环境32.2年级成绩管理模块功能33模块总体设计43.1、数据库的设计43.2年级成绩管理结构图64 年级成绩管理的设计与实现64.1对已有的年级成绩信息添加64.1对已有的年级成绩信息修改94.1对已有的年级成绩信息删除125总分、及格率的设计与实现125.1总分的实现135.2及格率的实现156 结束语18中学学生成绩管理系统的设计与

2、实现年级成绩管理模块与年级总分、及格率的实现计算机信息与工程学院 2001级5班 吴力峰 200118948指导教师 赵希武 教授摘要 本文针对中学的年级成绩管理的基本要求,从理论和应用的角度论述了中学生年级管理模块的特点、功能、设计思路,并给出关键技术的实现步骤。本年级成绩模块是结合学校年级学生成绩管理的实际情况,经过相应的需求分析,使用功能强大的ASP编程技术,利用完善的SQL语句,并选择了Microsoft Access作为后台数据库的驱动,从而开发出来的学生年级成绩管理模块。关键字 中学生年级成绩管理模块;年级成绩管理;及格率;总分1引言学校的年级成绩管理在学校成绩管理系统中是一个相当

3、重要的问题,它是与学校大整体相关的一个小的整体,虽然说小,但作用非常大,意义非常明显。通过年级管理这一块,我们可以很好的将零散的学生成绩信息组织起来,方便按班级分类的学生成绩信息的查询、统计;从而获得第一手的教学情况分析与教学效果的评价;进而,更进一步的为学校的领导,年级组长或班主任等,提供方便的统计年级中学生整体或个人的当前信息以及更好的掌握学生的整体状况的方法和手段。学生年级成绩管理模块实现了由低级的、复杂的、重复性的、低效率的手工操作向智能化的、可以方便地进行人机交流、操作简单易学的计算机应用软件的转化。它运用计算机来完成与年级成绩管理相关的数据收集,并可以完成年级成绩信息的修改、查询、

4、删除以及统计等工作,提高了学生成绩管理人员的工作效率,并在一定程度上避免了繁重的业务量造成的人为错误,而且还可以运用信息共享加快信息的传达。对于管理人员来说,减少不必要的操作环节,降低大量的重复劳动是提高工作效率的有效途径;而通过使用包含了本学校年级成绩管理模块的本学生成绩管理系统,就可以让使用者达到:既实现了节省人力、物力、财力,又保证了不必保管、整理数据文件,却又能将一切信息转变为数字化,进而达到提高经济效益。2年级成绩管理模块概述学校年级成绩管理是学校成绩管理的一个重要组成部分,能实现有效的组织、实施相对于个别学生或班级、年级的教学策略,帮助学校,老师快捷的掌握学生的近期考试情况;或者通

5、过对以前某一年级考试成绩数据的分析,掌握该年级学生的学习状况。而本年级成绩管理模块仅针对学校年级成绩的管理,以及对年级学生的成绩信息进行查询、统计;因此仅实现了与分数相关的数据整理的功能。本模块开发的总体任务是实现学校年级成绩管理的系统化、规范化、自动化,年级学习成绩管理的清晰化、简单化,从而达到提高学校年级成绩管理效率的目的。本年级管理模块的设计思想与本学生成绩管理系统的设计思想基本保持了一致,即本着实用性、通用、开放和安全的原则。“实用性”即只要数据库中存在相应的数据信息,只须要简单的鼠标操作,就可以获得你所需要的学生成绩信息;“通用性”即本模块的相关代码只要经过简单的修改,可以用来实现其

6、它的类似功能,例如:在其它的应用中查询商品的种类,查询汽车的型号等;“开放性”主要是从asp源代码自身的角度考虑,它不向.exe文件(可执行文件)那样一经编译,就无法获得生成它的源代码;而是通过相应的“编辑器工具”,如:Macromedia Dreamweaver,Microsoft word甚至可以使用系统自带的记事本程序,不过使用后两种方法要求对代码编辑较为熟练,而且容易出错。“安全性”是从asp的web运行机制出发解释的,即当web服务器收到来自客户端浏览器的.asp文件请求时,就开始运行asp脚本。然后,web服务器将调用asp解释器,全面读取请求的文件,执行所有的服务器端脚本命令后将

7、命令结果和文本、HTML代码等一起发给浏览器。浏览器对其中的HTML和客户端代码进行解释后,把它们和文本、图像等无须解释的信息一起显示在页面中,供用户浏览;这样就保证了asp代码的不会显示在用户的浏览器中,也就实现了安全运行的功能。本模块的服务端使用了Microsoft Access2000数据库和ASP编程技术,是在Macromedia Dreamweaver MX 2004环境下开发制作而成的。本模块的核心技术是ASP(Active Server Pages 动态网页),它提供了位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式的动态网页

8、,包括使用HTML表单收集和处理信息,上传与下载等等,ASP还有一个好处,就是可利用ADO(Active Data Object)方便地访问数据库,从而能够开发出基于的应用系统。另外,这种语言相对简单、易于实现,应用范围比较广泛。数据库我们采用Microsoft Access2000,这种数据库比其它的数据库容易实现,在对于信息容量不太大时,使用这种数据库有方便快捷的特点。本学生年级成绩模块实现了学校年级信息的添加、修改、删除,等管理功能。该设计方法易于实现,便于操作,基本符合学校的的年级成绩管理的简易特点,没有复杂的数据库管理,只有简洁的用户界面与简明的用户操作方法。2.1 开发环境操作系统

9、:Windows 2000 数据库:Microsoft Access 2000软件开发技术:ASP开发环境:Macromedia Dreamweaver MX 2004辅助工具:Photoshop 7.02.2年级成绩管理模块功能结合学校年级成绩管理的实际情况,从符合操作简便、界面友好、灵活、实用、安全的要求出发, 本模块分成以下几个部分,分别是:年级的添加、年级的查询、还有年级的删除三个部分。功能模块如下图所示:查询年级删除年级年级管理模块添加年级3模块总体设计3.1、数据库的设计 跳转其它页面时终止存储数据数据记录与数据库建立连接显示表中的记录已更新的数据记录添加记录删除记录修改记录是否添

10、加记录是否修改记录是否删除记录显示表中的记录年级成绩管理流程图学生基本情况表st_info该表用来列出学生的一些基本信息。如学号,姓名,性别等。字段名类型字段含义user_number文本学号user_name文本姓名user_sex 文本性别grade_number文本年级号class_number文本班级号年级信息表grade字段名类型字段含义grade_number文本年级号grade_name文本年级名称user_classnum数字班级数班级信息表class字段名类型字段含义class_number文本班级号stclass文本班级名称课程信息表subject字段名类型字段含义Subj

11、ect_num文本课程号subject文本课程名考试信息表testno字段名类型字段含义testno文本考试场次 单科成绩信息表ach字段名类型字段含义user_number文本学号user_testnumber文本准考证号testno文本考试场次subject文本考试科目ach数字考试成绩学生总成绩信息表total_ach字段名类型字段含义user_number文本学号testno文本考试场次total_ach数字考试总成绩管理员信息表admin字段名类型字段含义admin_name文本用户名admin_pwd文本用户口令3.2年级成绩管理结构图查询年级删除年级年级管理模块添加年级4 年级成

12、绩管理的设计与实现该模块能够实现对已有的年级信息进行修改或删除,对新增的年级信息进行添加。基本设计思想是:在增加年级信息的管理页add_grade.asp中先打开本成绩管理软件的ach.mdb数据库中的年级表grade,则会在用户的界面呈现该表中已有的数据记录,并且可以在本页进行添加相应新的年级信息的操作,另外在用户浏览器界面还增加了两个字段即修改和删除字段。且为grade表中所有记录的修改和删除字段添加上了超链接,若用户单击任一条记录的修改或删除链接,服务器将跳转到相应的修改页mod_grade.asp或删除页del_grade.asp。4.1对已有的年级成绩信息添加添加页add_grade

13、.asp的核心代码如下:<!-#include file="conn.asp"-><% if session("user")="" thenresponse.write "您无此权限"response.endend if %><% set rs=server.createobject("adodb.recordset")sql="select * from grade"rs.open sql,conn,1,1 %><html>&

14、lt;head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>添加年级</title>

15、;<link rel="stylesheet" href="style.css"></head><body topmargin="0"><!-#include file="top.asp"-><div align="center"> <center> <table> <table border="1" width="500" bordercolorlight=&quo

16、t;#000000" cellspacing="0" cellpadding="4" bordercolordark="#FFFFFF"> <tr> <td width="99" align="center">序号</td> <td width="99" align="center">年级</td> <td width="99" align="c

17、enter">班级数</td> <td width="100" align="center">修改</td> <td width="100" align="center">删除</td> </tr> <%if not rs.eof then%> <%do while not rs.eof%> <tr> <td width="99" align="center

18、"><%=rs("id")%></td> <td width="99" align="center"><%=rs("user_grade")%></td> <td width="99" align="center"><%=rs("user_classnum")%></td> <td width="100" align=&

19、quot;center"><a href="mod_grade.asp?id=<%=rs("id")%>">修改</a></td> <td width="100" align="center"><a href="del_grade.asp?id=<%=rs("id")%>">删除</a></td> </tr> <%rs.movenext

20、%> <%loop%> <%else%> <tr> <td width="388" colspan="4"><marquee>暂无年级添加</marquee></td> </tr><%end if%> </table> </center><div align="center"> <table border="0" width="400" bo

21、rdercolorlight="#000000" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF"> <tr> <td width="100%"> <form method="POST" action="add_grade1.asp"> <table border="1" width="100%" bor

22、dercolorlight="#000000" cellspacing="0" cellpadding="5" bordercolordark="#FFFFFF"> <tr> <td width="33%"> <p align="right">添加年级:</td> <center> <td width="33%"><input type="text" n

23、ame="user_grade" size="20"></td> <td width="34%"><input type="submit" value="提交" name="B1"></td> </tr> </table> </form> </td> </tr> </table> </center></div><!-#in

24、clude file="down.asp"-></body>4.1对已有的年级成绩信息修改修改页mod_grade.asp核心代码如下:<!-#include file="conn.asp"-><% if session("user")="" thenresponse.write "您无此权限"response.endend if %><% dim idid=trim(request("id")set rs=server.cre

25、ateobject("adodb.recordset")sql="select * from grade where id="& idrs.open sql,conn,1,1 %><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft Front

26、Page 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>修改年级</title><link rel="stylesheet" href="style.css"></head><body><div align="center"> <table border="0" width=&quo

27、t;400"> <tr> <td width="100%"> <form method="POST" action="mod_grade1.asp"> <input type="hidden" value="<%=id%>" name="id"> <table border="1" width="100%" cellspacing="0"

28、; cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="28%"> <p align="right">修改年级:</p> </td> <center> <td width="24%"><input type="text" name="

29、user_grade" size="20" value="<%=rs("user_grade")%>"></td> <td width="24%"><input type="text" name="user_grade" size="20" value="<%=rs("user_classnum")%>"></td> <td

30、 width="24%"><input type="submit" value="提交" name="B1"></td> </tr> </table> </form> <p></td> </tr> </table></div></body></html>当用户单击任意一条记录的“修改“超链接,服务器转相应的修改程序mod_testno.asp执行。服务器的执行过程是首

31、先打开数据库当中的表testno找到用户要修改的记录,通过用户在界面输入考试场次实现修改。在这里注意的一点是,在mod_testno.asp中提交给服务器进行修改后必须要更新数据库表testno的内容,它的实现是通过服务器执行另一个程序mod_testno1.asp来实现的。其具体实现过程是:同理首先打开数据库找到要修改记录的ID号,若存在,则通过rs.update语句来更新数据库,然后返回到add_test.asp程序。否则给出提示ID号不存在,再返回到add_test.asp程序。程序mod_testno.asp核心代码如下:dim idid=trim(request("id&q

32、uot;)set rs=server.createobject("adodb.recordset")sql="select * from testno where id="& idrs.open sql,conn,1,1<form method="POST" action="mod_testno1.asp"> <input type="hidden" value="<%=id%>" name="id"> <

33、table border="1" width="100%" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="33%"> <p align="right">修改考次:</p> </td> <center> &

34、lt;td width="33%"><input type="text" name="testno" size="20" value="<%=rs("testno")%>"></td> <td width="34%"><input type="submit" value="提交" name="B1"></td> <

35、/tr> </table> </form>程序mod_testno1.asp核心代码如下:<% dim testnotestno=trim(request("testno")id=trim(request("id")set rs=server.createobject("adodb.recordset")sql="select * from testno where id="& idrs.open sql,conn,1,3 %><% if not rs.eof

36、 thenrs("testno")=testnors.updaters.closeset rs=nothingresponse.redirect "add_test.asp"elseresponse.write "ID号不存在"response.endend if %>4.1对已有的年级成绩信息删除删除页del_grade.asp的核心代码<!-#include file="conn.asp"-><% if session("user")="" the

37、nresponse.write "您无此权限"response.endend if %><% dim idid=trim(request("id")set rs=server.createobject("adodb.recordset")sql="select * from grade where id="& idrs.open sql,conn,1,3 %><% rs.deleters.closeset rs=nothingresponse.redirect "add_g

38、rade.asp" %>5总分、及格率的设计与实现基本设计思想是:在查询总分的管理页total_top.asp中先用SQL语句打开本成绩管理软件的ach.mdb数据库中的年级表grade,班级表class,考试场次表testno,然后点击“提交”按钮,之后浏览器会自动更新为一个根据用户选择的信息得到的查询结果的新页total_top1.asp,该页根据查询得到的记录的个数可以提供分页显示的功能,让用户看的更为清楚。在及格率的统计管理页all.asp中,先建立与数据库ach.mdb的连接,之后将表单的三个文本字段控件分别与该数据库中的科目数据表subject、考试场次数据表tes

39、tno、班级数据表class通过asp脚本命令的形式绑定。当用户选择完毕需要查询的内容后,点击“提交”按钮,之后浏览器会自动更新为一个根据用户选择的信息得到的统计结果的新页all1.asp。5.1总分的实现总分查询total_top.asp的核心代码:<!-#include file="conn.asp"-><% if session("user")="" thenresponse.write "您无此权限"response.endend if %><html><head&

40、gt;<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>查询总分成绩及排名</title>&l

41、t;link rel="stylesheet" href="style.css"></head><body topmargin="0"><!-#include file="top.asp"-><div align="center"> <center> <table border="0" width="500"> <tr> <td width="100%

42、"> <form method="POST" action="total_top_1.asp"> <table border="1" width="100%" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="50%&

43、quot; align="center">年级</td> <td width="50%" align="center">班级</td> <td width="50%" align="center">统考场次</td> </tr> <tr> <td width="50%" align="center"> <% set rs0=server.create

44、object("adodb.recordset") sql0="select * from grade" rs0.open sql0,conn,1,1 %> <select size="1" name="user_grade"> <%do while not rs0.eof%> <option value="<%=rs0("user_grade")%>"><%=rs0("user_grade")%

45、></option> <%rs0.movenext%> <%loop%> <%rs0.close%> </select></td> <td width="50%" align="center"> <% set rs=server.createobject("adodb.recordset") sql="select * from class" rs.open sql,conn,1,1 %> <select s

46、ize="1" name="user_class"> <option value="全部班级">全部班级</option> <%do while not rs.eof%> <option value="<%=rs("stclass")%>"><%=rs("stclass")%></option> <%rs.movenext%> <%loop%> <%rs.c

47、lose%> </select></td> <td width="50%" align="center"> <% set rs2=server.createobject("adodb.recordset") sql2="select * from testno" rs2.open sql2,conn,1,1 %> <select size="1" name="testno"><%do while not

48、rs2.eof%> <option value="<%=rs2("testno")%>"><%=rs2("testno")%></option> <%rs2.movenext%> <%loop%> <%rs2.close%> </select></td> </tr> </table> <p align="right"><input type="subm

49、it" value="提交" name="B1"></p> </form> <center> <p></td> </tr> </table></div><!-#include file="down.asp"-></body></html>5.2及格率的实现统计及格率all.asp的核心代码:<!-#include file="conn.asp"-><%

50、 if session("user")="" thenresponse.write "您无此权限"response.endend if %><html><head><meta http-equiv="Content-Language" content="zh-cn"><meta http-equiv="Content-Type" content="text/html; charset=gb2312">&

51、lt;meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>统考成绩分析</title><link rel="stylesheet" href="style.css"></head><body><div alig

52、n="center"> <center> <table border="0" width="400" cellspacing="0" cellpadding="0"> <tr> <td width="100%">及格率分析</td> </tr> <tr> <td width="100%">全校及格率(按考试考次分)</td> </tr&g

53、t; </center> <tr> <td width="100%"> <form method="POST" action="all_1.asp"> <table border="1" width="500" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFF

54、F"> <tr> <td width="33%"> <p align="right"> <%set rs=createobject("adodb.recordset") sql="select * from testno" rs.open sql,conn,1,1 %> <select size="1" name="testno"> <%do while not rs.eof%> <

55、option value="<%=rs("testno")%>"><%=rs("testno")%></option> <%rs.movenext%> <%loop%> <%rs.close%> </select></td> <center> <td width="33%"> <%set rs1=server.createobject("adodb.recordset&quo

56、t;) sql1="select * from subject" rs1.open sql1,conn,1,1 %> <select size="1" name="subject"> <%do while not rs1.eof%> <option value="<%=rs1("subject")%>"><%=rs1("subject")%></option> <%rs1.movenext%&

57、gt; <%loop%> <%rs1.close%> </select></td> <td width="34%"> <%set rs2=server.createobject("adodb.recordset") sql2="select * from class" rs2.open sql2,conn,1,1 %> <select size="1" name="user_class"> <option

58、value="all">全部</option> <%do while not rs2.eof%> <option value="<%=rs2("stclass")%>"><%=rs2("stclass")%></option> <%rs2.movenext%> <%loop%> <%rs2.close%> </select></td> </tr> <tr>

59、 <td width="100%" colspan="3" align="right"> <input type="submit" value="提交" name="B1"></td> </tr> </table> </form> <center> </center> <tr> <td width="100%">平均分分析</td&

60、gt; </tr> <tr> <td width="100%">全校平均分(按考试考次分)</td> </tr> </center> </td> </tr> <tr> <td width="100%"> <tr> <td width="100%"> <form method="POST" action="all_2.asp"> <tab

61、le border="1" width="500" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="33%"> <p align="right"> <%set rs=createobject("adodb.recordset&

62、quot;) sql="select * from testno" rs.open sql,conn,1,1 %> <select size="1" name="testno"> <%do while not rs.eof%> <option value="<%=rs("testno")%>"><%=rs("testno")%></option> <%rs.movenext%> <

63、%loop%> <%rs.close%> </select></td> <center> <td width="33%"> <% set rs1=server.createobject("adodb.recordset") sql1="select * from subject" rs1.open sql1,conn,1,1 %> <select size="1" name="subject"> <%

64、do while not rs1.eof%> <option value="<%=rs1("subject")%>"><%=rs1("subject")%></option> <%rs1.movenext%> <%loop%> <%rs1.close%> </select></td> <td width="34%"> <%set rs2=server.createobject(&quo

65、t;adodb.recordset") sql2="select * from class" rs2.open sql2,conn,1,1 %> <select size="1" name="user_class"> <option value="all">全部</option> <%do while not rs2.eof%> <option value="<%=rs2("stclass")%>"><%=rs2("stclass")%></option> <%

温馨提示

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

评论

0/150

提交评论