1、 计算机和通信学院 春季学期 题 目:学生成绩管理系统 专业班级:软件工程基地班 姓 名:陶婷婷 学 号: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
2、3.1优点 13 3.2缺点 13 一.系统分析和设计 1.1摘要 在当今社会,互联网空前发展,给大家工作和生活带来了极大便利和高效。信息化,电子化已经成为节省运行成本,提升工作效率首选。考虑到目前大量企业人事管理尚处于手工作业阶段,不仅效率低下,还常常因为管理不慎而出现纰漏。所以依据部分企业提供需求,设计此企业人事管理系统,以帮助企业达成人事管理办公自动化、节省管理成本、提升企业工作效率目标。 PHP 独特语法混合了 C、Java、Perl 和 PHP 自创新语法。 PHP安装它能够比 CGI 或 Perl 愈加快速实施动态网页。用PHP做出动态页面和其它编程语言
3、相比,PHP是将程序嵌入到HTML文档中去实施,实施效率比完全生成HTML标识CGI要高很多;PHP还能够实施编译后代码,编译能够达成加密和优化代码运行,使代码运行愈加快。PHP含有很强大功效,全部CGI功效PHP全部能实现,而且支持几乎全部流行数据库和操作系统。 本系统是以PHP设计语言和MySQL数据库为工具综合测评系统,其开发步骤关键包含后台数据库建立和维护和前端应用程序开发两个方面。关键实现功效是实现对学期班级综合测评一整套电子化操作;关键实现操作有:班级管理员注册,班级组员互评操作,班级管理员登录管理成绩,综合测评结果查询,账户密码修改。 1.2需求分析 多年来,伴随中学办学规
4、模越来越大,在校学生数也日益增多,随之而来是教务管理工作日趋复杂繁重,要花费大量人力、物力,已愈来愈成为学校日常管理工作一个瓶颈。学生成绩管理是教务、教学管理中一个关键组成部分,也是比较烦琐工作。在学生成绩管理事务中,通常有成绩输入:对各年级各班各学期学生各科成绩进行输入;成绩统计:需要对每个学生成绩进行处理,比如排名次,成绩汇总,成绩升降;成绩报表:将学生成绩以报表形式输出等等。每次考试全部需要大量人力、物力,为了减轻中学生成绩管理工作量和实现现代化科学管理,特设计这个系统。并依据中学实际情况,制订以下数据和功效需求。 1.3系统功效分析 本阶段就是分析该系统关键功效和它所处理用户面临问
5、题,最终由用户确定该系统功效和用处。 (1)、学生信息输入和存放,包含学号、姓名、专业名、性别、出生日期、总学分和备注等。 (2)、课程信息输入和存放,包含课程号、课程名、开课时间、课时和学分等。 (3)、对学生信息修改、增加、删除、修改和定向查询等。 (4)、对课程信息修改、增加、删除、修改和定向查询等。 (5)、能够进行用户添加和存放,包含用户名、密码、用户权限。 (6)、用户输入用户名和密码后系统依据其在用户表注册权限进入不一样应用系统。 (7)、学生登录时系统依据其用户名(即学号)进入对应学生成绩查询系统,能够进行本人所选课程成绩查询、打印和所选课程信息,不一样学生用户进
6、入各自成绩查询系统避免了能查询其它学生成绩问题。 (8)、老师登录时系统依据用户名(这里用户名和课程号对应即一名老师任教一门课)进入对应老师管理系统,能够进行该课程学生成绩录入、修改及置零。 (9)、学生、老师和管理员登录密码全部能够进行修改 (10)、本系统界面色彩跳动不大布局简单整齐。 1.4系统功效模块设计 依据上述分析和模块化程序设计要求得图所表示功效模块图。 成绩管理系统 老师管理窗口 管理员窗口 学生成绩查询系统 密码修改 所选课程询 密码修改 所选课程成绩查 选该课学生信息查 选该课学生成绩 密码修改 学
7、生信息输入、修改等 课程信息输入、修改等 用户添加 图 1.4.1 系统功效模块 二.具体设计 2.1数据库设计和实现 数据库结构好坏直接影响到系统实现效果和数据操作效率和能否确保数据一致性、完整性和安全。所以数据库在一个信息系统中占有很关键地位。 1.数据库设计 依据学生成绩管理系统功效要求,经过分析系统要包含相关实体和要搜集、存放和操纵数据信息,得到图2.1所表示系统E-R图。依据系统E-R图得到以下关系模式。 学生基础信息(学号,姓名,专业名,性别,出生日期,总学分,备注)。 课程(课程号,课
8、程名,开课学期,课时,学分)。 成绩(学号,课程号,成绩,学分)。 老师(老师号,课程号,课程名,姓名,性别,出生日期) 为了系统使用安全,要建立用户管理,而用户使用权限分为学生、老师和管理员三类,所以需要建立一个存放用户信息关系。 用户(姓名,密码,权限) 2.创建数据库 在php开发环境中打开数据库画板,然后依次建立以下各表。 1)“学生”表 表名:xs 主键:xh 各列表属性见表2-1。 表2-1 “学生”表属性 列名 数据类型 宽度 空值 标识 Xh char 6 no
9、 学号 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
10、 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
11、主键: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
12、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.ph
13、p" 无法连接到数据库.
" );exit();} mysql_select_db("zhcp"); if (!@mysql_select_db("zhcp")) {echo( "没有找到对应数据库
" );exit();} mysql_query('set names utf8')14、 ?> //数据库关闭"clconn.php" 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
15、
16、erPassword type=password name=txtUserPassword>
17、>'/>
18、ndow) 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_
19、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管理员窗口模块制
20、作 该模块采取选项卡模式进行制作 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($qu
21、ery)){ echo " "; }else{ echo "保留失败"; } 【删除】按钮代码为 $query = "delete from t_user where id='$id'"; mysql_query("SET NAMES GBK"); if(mysql_query($query)){ echo "