资源描述
计算机和通信学院
春季学期
题 目:学生成绩管理系统
专业班级:软件工程基地班
姓 名:陶婷婷
学 号:10240541
目录
一.系统分析和设计 1
1.1摘要 1
1.2需求分析 1
1.3系统功效分析 2
1.4系统功效模块设计 2
二.具体设计 4
2.1数据库设计和实现 4
2.2设计登录窗口 6
2.3设计“学生成绩查询系统”模块 8
2.4管理员窗口模块制作 11
三.优缺点分析 13
3.1优点 13
3.2缺点 13
一.系统分析和设计
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( "<P>无法连接到数据库.</P>" );exit();}
mysql_select_db("zhcp");
if (!@mysql_select_db("zhcp"))
{echo( "<P>没有找到对应数据库</P>" );exit();}
mysql_query('set names utf8');
?>
//数据库关闭"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
<TD>用户名:</TD>
<TD>
<INPUT class=textbox id=txtUserName name=txtUserName>
</TD>
<TD width=120> </TD>
</TR>
<TR height=40>
<TD>密 码:</TD>
<TD>
<INPUT class=textbox id=txtUserPassword type=password
name=txtUserPassword>
</TD>
2.3设计“学生成绩查询系统”模块
1、系统主窗口图2.3.1
图 2.3.1
2、其对应选单为图2.3.2
图2.3.2
(1)“密码修改”对应代码为open(w_mmxiugai)
<td>密码</td>
<td><input type="text" name="password" value='<?php echo ($row['password']);?>'/></td>“关闭” 对应代码为
int ret
ret=MessageBox("提醒","确定退出?",exclamation!,YesNo!,2)
if ret=1 then
close(parentwindow)
else
return
end if
(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="insertinto t_user(id,password,name,Email)values('$id','$password','$name','$Email')";
mysql_query("SET NAMES GBK");
if(mysql_query($query)){
echo "<script>url='main.php';window.location.href=url;</script> ";
}else{
echo "保留失败";
}
【删除】按钮代码为
$query = "delete from t_user where id='$id'";
mysql_query("SET NAMES GBK");
if(mysql_query($query)){
echo "<script>url='main.php';window.location.href=url;</script> ";
}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、 在老师录入成绩时不仅能够对成绩和学分录入、改动还能修改学号、课程号和课程,这些是不应该有改动。
展开阅读全文