资源描述
计算机与通信学院
春季学期
题 目:学生成绩管理系统
专业班级:软件工程基地班
姓 名:陶婷婷
学 号: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、 在教师录入成绩时不但可以对成绩和学分录入、改动还能修改学号、课程号和课程,这些是不应当有改动。
展开阅读全文