php学生成绩管理系统模板.docx
《php学生成绩管理系统模板.docx》由会员分享,可在线阅读,更多相关《php学生成绩管理系统模板.docx(14页珍藏版)》请在冰豆网上搜索。
php学生成绩管理系统模板
计算机与通信学院
2013年春季学期
题目:
学生成绩管理系统
专业班级:
软件工程基地班
姓名:
陶婷婷
学号:
10240541
一.系统分析与设计
1.1摘要
在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效。
信息化,电子化已经成为节约运营成本,提高工作效率的首选。
考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。
因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
PHP安装它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
本系统是以PHP设计语言和MySQL数据库为工具的综合测评系统,其开发步骤主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
主要实现的功能是实现对学期班级综合测评的一整套电子化操作;主要实现的操作有:
班级管理员注册,班级成员互评操作,班级管理员登录管理成绩,综合测评结果查询,账户密码修改。
1.2需求分析
近年来,随着中学的办学规模越来越大,在校学生数也日益增多,随之而来的是教务管理工作日趋复杂繁重,要耗费大量人力、物力,已愈来愈成为学校日常管理工作的一个瓶颈。
学生成绩管理是教务、教学管理中一个重要组成部分,也是比较烦琐的工作。
在学生成绩管理事务中,一般有成绩输入:
对各年级各班各学期学生的各科成绩进行输入;成绩统计:
需要对每个学生的成绩进行处理,例如排名次,成绩汇总,成绩升降;成绩报表:
将学生成绩以报表形式输出等等。
每次考试都需要大量的人力、物力,为了减轻中学生成绩管理工作量和实现现代化的科学管理,特设计这个系统。
并根据中学的实际情况,制定以下数据和功能需求。
1.3系统功能分析
本阶段就是分析该系统的主要功能以及它所解决的用户面临的问题,最后由用户确认该系统的功能和用处。
(1)、学生信息的输入和存储,包括学号、姓名、专业名、性别、出生日期、总学分和备注等。
(2)、课程信息的输入和存储,包括课程号、课程名、开课时间、学时和学分等。
(3)、对学生信息的修改、增加、删除、修改以及定向的查询等。
(4)、对课程信息的修改、增加、删除、修改以及定向的查询等。
(5)、可以进行用户的添加和存储,包括用户名、密码、用户权限。
(6)、用户输入用户名和密码后系统根据其在用户表注册的权限进入不同的应用系统。
(7)、学生登录时系统根据其用户名(即学号)进入对应的学生成绩查询系统,可以进行本人的所选课程成绩的查询、打印以及所选课程的信息,不同的学生用户进入各自的成绩查询系统避免了能查询其他学生成绩的问题。
(8)、教师登录时系统根据用户名(这里用户名与课程号对应即一名教师任教一门课)进入对应的教师管理系统,可以进行该课程学生成绩的录入、修改及置零。
(9)、学生、教师和管理员的登录密码都可以进行修改
(10)、本系统界面色彩跳动不大布局简单整洁。
1.4系统功能模块设计
根据上述的分析以及模块化程序设计要求得如图所示的功能模块图。
图1.4.1系统功能模块
二.详细设计
2.1数据库设计与实现
数据库结构的好坏直接影响到系统的实现效果和数据操作效率以及能否保证数据的一致性、完整性和安全。
所以数据库在一个信息系统中占有非常重要的地位。
1.数据库设计
根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存储和操纵的数据信息,得到如图2.1所示的系统E-R图。
根据系统E-R图得到以下关系模式。
学生基本信息(学号,姓名,专业名,性别,出生日期,总学分,备注)。
课程(课程号,课程名,开课学期,学时,学分)。
成绩(学号,课程号,成绩,学分)。
教师(教师号,课程号,课程名,姓名,性别,出生日期)
为了系统的使用安全,要建立用户管理,而用户使用权限分为学生、教师和管理员三类,因此需要建立一个存储用户信息的关系。
用户(姓名,密码,权限)
2.创建数据库
在php开发环境中打开数据库画板,然后依次建立以下各表。
1)“学生”表
表名:
xs
主键:
xh
各列表属性见表2-1。
表2-1“学生”表的属性
列名
数据类型
宽度
空值
标识
Xh
char
6
no
学号
Xm
char
8
no
姓名
Zym
char
10
yes
专业名
Xb
bit
no
性别
Date
date
no
出生日期
Total
tinyint
yes
总学分
Bz
char
20
yes
备注
2)“课程”表
表名:
kc
主键:
kch
各列表属性见表2-2
表2-2“课程”表的属性
列名
数据类型
宽度
空值
标识
Kch
char
3
no
课程号
Kcm
char
16
no
课程名
Kkdate
tinyint
no
开课学期
Xsdate
tinyint
no
学时
Xf
tinyint
yes
学分
3)“成绩”表
表名:
xs_cj
主键:
xh和kch
各列表属性见表2-3
表2-3“成绩”表的属性
列名
数据类型
宽度
空值
标识
Xh
char
6
no
学号
kch
char
3
no
课程号
kcm
char
10
yes
课程名
cj
tinyint
yes
成绩
xf
tinyint
yes
学分
4)“教师”表
表名:
jiaoshi
主键:
jsh
各列表属性见表2-4
表2-4“教师”表的属性
列名
数据类型
宽度
空值
标识
jsh
char
3
no
教师号
kch
char
3
no
课程号
kcm
char
16
no
课程名
xm
char
8
no
姓名
xb
bit
no
性别
rq
date
no
出生日期
5)“用户”表
表名:
dl
主键:
yhm
各列表属性见表2-5
表2-5“用户”表的属性
列名
数据类型
宽度
空值
标识
yhm
char
6
no
用户名
mm
char
6
no
密码
qx
char
10
no
权限
6)“选课”表
表名:
xskc
主键:
xh和kch
各列表属性见表2-6
表2-6“选课”表的属性
列名
数据类型
宽度
空值
标识
Xh
Char
6
No
学号
Kch
Char
3
N0
课程号
kcm
char
10
yes
课程名
各个表之间通过外键形成如图2.3所示的关联关系。
图2.1.1关联关系
2.2设计登录窗口
1.连接数据库
数据库链接模块主代码:
//数据库链接"conn.php"
php
$dbcnx=@mysql_connect("localhost","root","aaa");
//连接MYSQL数据库,使用PHP函数方式,数据库用户名和密码正确
if(!
$dbcnx)
{echo("
无法连接到数据库.
");exit();}
mysql_select_db("zhcp");
if(!
@mysql_select_db("zhcp"))
{echo("
没有找到对应的数据库
");exit();}
mysql_query('setnamesutf8');
?
>
//数据库关闭"clconn.php"
php
mysql_close();//记得关闭数据库连接
?
>
2.登录窗口设计
创建登录窗口w_dl,调节大小,在窗口上放置1个图片(p_1)
、3个静态文本(st_1、st_2、st_3)、2个单行编辑器(sle_1、sle_2)、3个单选钮(rb_1、rb_2、rb_3)、2个命令按钮(cb_1、cb_2)。
各个控件大小位置按照图4.1调整
图2.2.1
用户名: |
|
密 码: | name=txtUserPassword>
| 2.3设计“学生成绩查询系统”模块
1、系统主窗口如图2.3.1
图2.3.1
2、其对应的选单为图2.3.2
图2.3.2
(1)“密码修改”对应的代码为open(w_mmxiugai)
密码 | phpecho($row['password']);? >'/> | “关闭”对应的代码为
intret
ret=MessageBox("提示","确定退出?
",exclamation!
YesNo!
2)
ifret=1then
close(parentwindow)
else
return
endif
(2)“所修课程”对应的代码为open(w_kc)
close(parentwindow)
w_kc.dw_1.settransobject(sqlca)
w_kc.dw_1.retrieve(yh)
(3)“课程成绩”对应的代码为open(w_xscj)
close(parentwindow)
w_xscj.dw_1.settransobject(sqlca)
w_xscj.dw_1.retrieve(yh)
(4)“关于”对应的代码为open(w_zz)
注意:
这里的w_mmxiugai、w_kc、cw_xscj、w_zz窗口是后面待建的
3、密码修改窗口如图2.3.3
该窗口被命名为w_mmxiugai
(1)【关闭】按钮的为
close(parent)
图2.3.3
4、学生所选课程查询窗口如图2.3.4
该窗口被命名为w_kc
【返回】按钮的clicked事件脚本为
open(w_x1)
close(parent)
图2.3.4
该窗口里的数据窗口控件的对象如图2.3.5
图2.3.5
5、学生所选课程成绩查询窗口为图2.3.6
图2.3.6
该窗口被命名为w_xscj
【返回】按钮为
open(w_x1)
close(parent)
其中的数据窗口对象如图2.3.7
图2.3.7
2.4管理员窗口模块的制作
该模块采用选项卡的模式进行制作
1、选项卡默认界面为密码修改
2、课程管理窗口如图2.4.2
数据窗口对象如图2.4.1
图2.4.1
图2.4.2
【增加】按钮的代码为
$query="insertintot_user(id,password,name,Email)values('$id','$password','$name','$Email')";
mysql_query("SETNAMESGBK");
if(mysql_query($query)){
echo"";
}else{
echo"保存失败";
}
【删除】按钮代码为
$query="deletefromt_userwhereid='$id'";
mysql_query("SETNAMESGBK");
if(mysql_query($query)){
echo"";
}else{
echo"删除失败";
}
【保存】按钮的代码为dw_1.update()
Messagebox(“提示”,”已存入数据库”)
3、用户管理窗口如图2.4.4
数据窗口对象如图2.4.3
图2.4.3
图2.4.4
三.优缺点分析
3.1优点
1、该系统最大的优点就是一对一效应不管学生还是教师用自己的帐号和密码登录后只会进入与自己信息相关的窗口,学生只能查看自己的课程和成绩,教师只能看选自己所教授课程的学生的信息以及对其成绩进行相关操作,
2、用户登录以及密码修改时如果有操作错误系统会自动提醒用户,比如修改密码时两次新密码输入不一致系统就会提醒。
当不小心关闭某个窗口时系统也会有温馨提示看是不是真的要关闭,再做进一步选择。
3.2缺点
1、该系统缺点之一是功能不够强大,虽然可以进行学生、教师、课程信息的录入但只是更新了相应的表,比如单击“全部置零”后不会马上把效果显现出来必须重新打开才能看到效果。
2、在教师录入成绩时不仅可以对成绩和学分的录入、改动还能修改学号、课程号和课程,这些是不应该有改动的。