PHP学生成绩管理系统
学 院:计算机工程学院
学 号:2012304030223
学 生 姓 名:朱钟雄
年 级 专 业:12计算机应用技术
班 级:计算机应用技术2班
指 导 教 师:沈成涛
日 期:20##年12月20日
目 录
一 绪论... 3
1.1 课题简介... 3
1.2 系统背景... 3
1.3 系统运行环境... 4
二 可行性分析... 5
2.1 需求分析... 5
2.2 可行性分析... 5
2.2.1经济性... 5
2.2.1管理性... 6
2.2.3技术性... 6
2.3意义... 6
三 系统分析与设计... 7
3.1需求分析... 7
3.2学生模块... 7
3.3管理员模块... 8
3.4 系统功能结构图... 9
3.5 E-R图... 10
四 数据库设计... 11
4.1 管理员表... 11
4.2学科表... 11
4.3成绩表... 12
4.4学生表... 12
4.5学期表... 13
五 系统功能设计与实现... 14
5.1学生登录... 14
5.2管理员登陆... 16
5.3学生成绩查询... 18
六 总结... 21
参考文献... 22
一 绪论
1.1 课题简介
随着时代的发展,成绩管理 成了每个教育部门不可或缺的一部分,它的内容对于学校的有效管理显得尤为重要,作为计算机的一部分,用计算机进行成绩管理无疑会把这个过程变得尤为简单。
学生管理系统为学生提供了简易的操作和方便的查询,以及更好的被管理。
1.2 系统背景
随着社会信息量的与日俱增,学校需要有一个学生成绩管理系统,以方便对学生的成绩进行有效的管理。学生成绩管理系统是一个学校不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该为用户提供充足的信息和快捷的查询手段。当前成教学院没有一个完善的成绩信息管理平台,计算机使用主要基于Microsoft Office,不能发挥有效的作用。而且随着我国教育改革的不断深入以及自学教育的不断扩招,参加考试的人越来越多,考试科目的多样化,使得成教学院对自学考试成绩的管理越趋繁琐、复杂,工作业务繁杂,工作量大,这种传统的学生管理模式已经暴露出种种弊端:难以统一调配和处理,效率极低,缺乏科学性以及合理性。随着计算机应用的普及与深入,利用计算机能够对所有自学考试成绩进行统一管理,并进行分析,大大减少教学秘书的工作量,提高工作效率,为教学办公带来了极大的方便。通过操作手册,使用者可以了解本软件的基本工作原理及使用说明。操作人员只需输入一些简单的汉字、数字,就可以存储、查找、修改、打印学生成绩信息等。本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化、达到提高学生成绩管理效率的目的,本系统本着实用性、通用、开放和安全的原则,使数据库开发软件开发制作,实现了学生信息管理、课程信息管理、学生成绩管理、成绩查询等功能。该设计方法易于推广至其它信息化管理系统的设计,充分利用计算机作为辅助工具,实现学生考试成绩从传统的手工管理到计算机管理,对提高管理效率和节约大量的人力、物力有一定的推动作用。本系统一切从实际出发,充分考虑了成绩的内部管理、信息交流等方面的复杂需求,实现成绩的有效管理,真正为学生成绩管理提供一个电子平台。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。同时,合理的数据库结构也有利于程序的实现。
1.3 系统运行环境
操作系统:windows xp sp2
软件:Dreamweaver8,xampp
二 可行性分析
2.1 需求分析
随着科学技术的不断提高,计算机技术日益成熟,它在人类社会中的各个领域发挥的作用也越来越大了。而我们现在大部分学校的成绩管理还停留在纸上,因此 浪费了很多人力,物力,这种传统的管理方法必然要被取代
2.2 可行性分析
为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
1.提供了成绩查询的平台,可以用来发布成绩
2.任何学生都能上去查看自己的成绩
3.学生可以凭借自己的学号进行查询
4.管理员可以进行数据的添加
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。
2.2.1经济性
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次
2.2.1管理性
学生成绩管理系统是对学生成绩进行管理的一个简单系统,主要又成绩的输入、输出、浏览、打印、数据备份等组合而成,因此可适用于任何学校用作成绩管理。该系统管理方法科学,相应的管理制度成熟,所记录的原始数据准确,且操作简单、快速,对管理人员的计算级应用技术要求不高,可被一般管理人员所接受,所以在管理上具备一定的可行性,便与普遍采用
2.2.3技术性
在开发本应用软件时,我是按照软件周期进行开发的。而我所设计的学生成绩管理系统是一个用php和Mysql开发的应用系统。
2.3意义
在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力.
三 系统分析与设计
3.1需求分析
l 学生登录模块:此模块包括学生登录和检查学生登录信息功能。此模块负责根据学生所输入的学号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
l 学生查分模块:此模块包括学生成绩查询页。学生正常登录该系统后,可以查询出指定学期的所有课程成绩。
l 退出系统模块:此模块包括退出系统页。此模块在该系统中对学生用户/管理员类用户开放,负责结束学生用户/管理员类用户在登录模块所获得的Session变量,退出本系统,返回到系统首页。
3.2学生模块
此模块实现了学生功能区的所有功能,由学生登录模块、学生查分模块和退出系统模块组成。这三个模块的功能如下:
l 学生登录模块:此模块包括学生登录和检查学生登录信息功能。此模块负责根据学生所输入的学号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
l 学生查分模块:此模块包括学生成绩查询页。学生正常登录该系统后,可以查询出指定学期的所有课程成绩。
3.3管理员模块
此模块实现了管理员功能区的所有功能,由管理员登录模块、课程成绩管理模块和退出系统模块组成。这三个模块的功能如下:
l 管理员登录模块:此模块包括管理员登录和检查管理员登录信息功能。此模块负 责根据管理员所输入的账号和密码判断该用户是否合法,以及具有哪些操作权限,并根据不同的权限,返回包含不同模块的页面。
l 课程成绩管理模块:此模块包括管理员添加、修改和删除课程成绩功能。此模块只对管理员类用户开放。系统管理员登录后,进入该模块,在该模块中可以看到操作条件选择页分为课程成绩添加和课程成绩修改,单击它们的链接即可进入相应的页面。
l 退出系统模块:此模块与前台管理模块中的退出系统模块是一样的。
3.4 系统功能结构图
3.5 E-R图
图3-5-1学生功能
图3-5-2管理员功能
四 数据库设计
本系统数据库采用SQLServer2000 数据库,系统数据库名称为“seekscore”,包含5张表。
4.1 管理员表
表4-1 admin表
4.2学科表
表4-2 course表
4.3成绩表
表4-3 sreport表
4.4学生表
表4-4 student表
4.5学期表
表4-5 term表
五 系统功能设计与实现
5.1学生登录
<style type="text/css">
<!--
.STYLE1 {font-size: 24px;
color: #CC0000;
}
.STYLE3 {
font-size: 16px;
color: #cc0000;
}
-->
</style>
<table width="800" height="451" border="0" align="center">
<tr bgcolor="#FFFF66">
<th height="123" colspan="2" scope="col"><div align="center"><span class="STYLE1">学生成绩管理系统</span></div></th>
</tr>
<tr bgcolor="#FFFF99">
<th width="200" height="160" scope="row"><div align="center"><strong><a href="login2.php">学生登陆</a></strong></div></th>
<td width="590" rowspan="2"><form name="form1" method="post" action="login2_deal.php">
<table width="365" height="168" border="0" align="center">
<tr>
<th colspan="2" scope="col"><span class="STYLE3">学生登陆</span></th>
</tr>
<tr>
<th width="104" height="43" scope="row">学号</th>
<td width="251"><label>
<input type="text" name="id">
</label></td>
</tr>
<tr>
<th height="42" scope="row">密码</th>
<td><label>
<input type="password" name="Pass">
</label></td>
</tr>
<tr>
<th colspan="2" scope="row"><label>
<input type="submit" name="Submit" value="登陆">
</label></th>
</tr>
</table>
</form></td>
</tr>
<tr bgcolor="#FFFF99">
<th height="160" scope="row"><div align="center"><strong><a href="Login1.php">管理员登陆</a></strong></div></th>
</tr>
</table>
图5-1 学生登录界面
5.2管理员登陆
<style type="text/css">
<!--
.STYLE1 { font-size: 24px;
color: #CC0000;
}
.STYLE2 {
font-size: 16px;
color: #FF0000;
}
-->
</style>
<table width="800" height="451" border="0" align="center">
<tr bgcolor="#FFFF66">
<th height="123" colspan="2" scope="col"><div align="center"><span class="STYLE1">学生成绩管理系统</span></div></th>
</tr>
<tr bgcolor="#FFFF99">
<th width="200" height="160" scope="row"><div align="center"><strong><a href="login2.php">学生登陆</a></strong></div></th>
<td width="590" rowspan="2"><form name="form1" method="post" action="login1_deal.php">
<table width="365" height="168" border="0" align="center">
<tr>
<th colspan="2" scope="col"><span class="STYLE2">管理员登陆</span></th>
</tr>
<tr>
<th width="104" height="43" scope="row">姓名</th>
<td width="251"><label>
<input type="text" name="user_name">
</label></td>
</tr>
<tr>
<th height="42" scope="row">密码</th>
<td><label>
<input type="password" name="user_pass">
</label></td>
</tr>
<tr>
<th colspan="2" scope="row"><label>
<input type="submit" name="Submit" value="登陆">
</label></th>
</tr>
</table>
</form>
</td>
</tr>
<tr bgcolor="#FFFF99">
<th height="160" scope="row"><div align="center"><strong><a href="Login1.php">管理员登陆</a></strong></div></th>
</tr>
</table>
图5-2 管理员登陆界面
5.3学生成绩查询
<?php
session_start();
$xuehao=$_SESSION['name'];
?>
<style type="text/css">
<!--
.STYLE1 {
font-size: 16px;
font-weight: bold;
}
.STYLE2 {font-size: 24px;
color: #CC0000;
}
#Layer3 { position:absolute;
left:13px;
top:-44px;
width:569px;
height:212px;
z-index:3;
}
.STYLE3 { font-size: 24px;
color: #cc0000;
}
#Layer1 { position:absolute;
left:13px;
top:-147px;
width:569px;
height:37px;
z-index:1;
}
#Layer2 { position:absolute;
left:14px;
top:-104px;
width:568px;
height:44px;
z-index:2;
}
#Layer4 {
position: relative;
}
-->
</style>
<table width="800" height="451" border="0" align="center">
<tr bgcolor="#FFFF66">
<th height="123" colspan="2" scope="col"><div align="center"><span class="STYLE2">学生成绩管理系统</span></div></th>
</tr>
<tr bgcolor="#FFFF99">
<th width="200" height="160" scope="row"><div align="center"><strong><a href="login2.php">学生登陆</a></strong></div></th>
<td width="590" rowspan="2">
<div id="Layer4">
<div id="Layer1">
<div align="center"><span class="STYLE3">学生成绩查询</span></div>
</div>
<form action="seek_deal.php" method="post">
<div id="Layer2">
<table width="570" height="54" border="0" bordercolor="#FFFF99" bgcolor="#FFFF99">
<tr bgcolor="#CCCCCC">
<td width="97" height="50" bgcolor="#FFFF99"><div align="right" class="STYLE1">查询选择:</div></td>
<td width="136" bgcolor="#FFFF99"><select name="select">
<option>请选择学期名称</option>
<option value="08-09-1">08-09-1</option>
<option value="08-09-2">08-09-2</option>
<option value="09-10-1">09-10-1</option>
<option value="09-10-2">09-10-2</option>
<option value="10-11-1">10-11-1</option>
<option value="10-11-2">10-11-2</option>
<option value="11-12-1">11-12-1</option>
<option value="11-12-2">11-12-2</option>
</select></td>
<td width="142" bgcolor="#FFFF99"><label>
<div align="center">
<input type="submit" name="Submit" value="查询" />
<input type="reset" name="Submit2" value="重设" />
</div>
</label></td>
<td width="177" bgcolor="#FFFF99"><div align="center"><a href="exit.php"> 退出登陆<img src="system_log_out.png" alt="1" width="32" height="32" border="0" /></a></div></td>
</tr>
</table>
</div>
<div id="Layer3">
<table width="570" border="1" align="center" >
<tr align="center">
<td width="153" height="26">课程名称</td>
<td width="160">成绩(分)</td>
<td width="172">备注</td>
</tr>
<?php
include('conn.php');
$xueqi=$_POST['select'];
if(empty($xueqi))
die("The xueqi is empty");
$sql="select course.title,sreport.mark,sreport.note from sreport,course where sreport.coid=course.id and sreport.stid='$xuehao' and sreport.term='$xueqi'";
$result=mysql_query($sql);
$row=mysql_fetch_row($result);
while($row){
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
$row=mysql_fetch_row($result);
}
?>
</table>
</div></form>
</div>
</td>
</tr>
<tr bgcolor="#FFFF99">
<th height="160" scope="row"><div align="center"><strong><a href="Login1.php">管理员登陆</a></strong></div></th>
</tr>
</table>
图5-3学生查询页面
六 总结
在此次的学生成绩管理系统程序设计的过程中,我充分认识到了做计划的重要性,只要实现把整体方案规划好,才能保证以后设计的顺利进行,才能应对出现的突发事件,达到系统设计的目标。在开始进行系统设计时,我对管理信息系统的认识比较少,对系统的开发缺乏本质和深入地研究调查,以至与在着手设计的过程中,困难接踵而至。然而又不知道怎样解决,直到后来重新对此次的设计做了认真细致的规划调查,最终才使整个程序的设计工作完成。然而,本次程序设计的收获不仅仅让我了解了Dreamweaver8与xampp,使我对系统开发有了初步的了解,提高了编写程序的兴趣,如果今后有机会的话,我希望能够对编程有更深入的学习。由于水平有限,错误在所难免,设计过程中有许多不敬如人意的地方。我想,这也是在以后的学习和工作中激励我不断学习,不断前进的动力。我会在今后的工作中不断地完善它,充实它,使之能够更方便、更准确、更快捷地在工作中应用到系统开发技术,提高工作效率。以上是我在本次管理信息系统程序设计中的一点体会,由于自己水平有限,难免又许多错误,请老师予以指正,我将继续努力!
参考文献
[1] 施伯乐,丁宝康,汪卫.数据库系统教程.第2版.北京:高等教育出版社,2007
[2] 屈喜龙,朱杰.ASP+SQL Server开发动态网站实例荟萃.机械工业出版社,2006
[3] 闫静,钟斌.动态网页基础与实例.北京:机械工业出版社,2004
[4] 龚宗渝,王茜.Photoshop CS2平面设计.北京:北京希望电子出版社,2006
[5]萨师煊,王珊,数据库系统概论(第三版). 北京:高等教育出版社,2000