1、 PHP程序开发课程设计汇报 设计题目:学生成绩管理系统学生姓名:王 巧专 业:信息工程(安全方向)班 级:1232101学 号:30210107指导老师:刘珍兴 6月15日目录一系统分析和设计11.1摘要11.2需求分析11.3系统功效分析21.4系统功效模块设计2二具体设计42.1数据库设计和实现42.2设计登录窗口62.3设计“学生成绩查询系统”模块82.4管理员窗口模块制作11三.设计心得13一系统分析和设计1.1摘要在当今社会,互联网空前发展,给大家工作和生活带来了极大便利和高效。信息化,电子化已经成为节省运行成本,提升工作效率首选。考虑到目前大量企业人事管理尚处于手工作业阶段,不仅
2、效率低下,还常常因为管理不慎而出现纰漏。所以依据部分企业提供需求,设计此企业人事管理系统,以帮助企业达成人事管理办公自动化、节省管理成本、提升企业工作效率目标。PHP 独特语法混合了 C、Java、Perl 和 PHP 自创新语法。 PHP安装它能够比 CGI 或 Perl 愈加快速实施动态网页。用PHP做出动态页面和其它编程语言相比,PHP是将程序嵌入到HTML文档中去实施,实施效率比完全生成HTML标识CGI要高很多;PHP还能够实施编译后代码,编译能够达成加密和优化代码运行,使代码运行愈加快。PHP含有很强大功效,全部CGI功效PHP全部能实现,而且支持几乎全部流行数据库和操作系统。本系
3、统是以PHP设计语言和MySQL数据库为工具综合测评系统,其开发步骤关键包含后台数据库建立和维护和前端应用程序开发两个方面。关键实现功效是实现对学期班级综合测评一整套电子化操作;关键实现操作有:班级管理员注册,班级组员互评操作,班级管理员登录管理成绩,综合测评结果查询,账户密码修改。1.2需求分析多年来,伴随中学办学规模越来越大,在校学生数也日益增多,随之而来是教务管理工作日趋复杂繁重,要花费大量人力、物力,已愈来愈成为学校日常管理工作一个瓶颈。学生成绩管理是教务、教学管理中一个关键组成部分,也是比较烦琐工作。在学生成绩管理事务中,通常有成绩输入:对各年级各班各学期学生各科成绩进行输入;成绩统
4、计:需要对每个学生成绩进行处理,比如排名次,成绩汇总,成绩升降;成绩报表:将学生成绩以报表形式输出等等。每次考试全部需要大量人力、物力,为了减轻中学生成绩管理工作量和实现现代化科学管理,特设计这个系统。并依据中学实际情况,制订以下数据和功效需求。1.3系统功效分析本阶段就是分析该系统关键功效和它所处理用户面临问题,最终由用户确定该系统功效和用处。(1)、学生信息输入和存放,包含学号、姓名、专业名、性别、出生日期、总学分和备注等。(2)、课程信息输入和存放,包含课程号、课程名、开课时间、课时和学分等。(3)、对学生信息修改、增加、删除、修改和定向查询等。(4)、对课程信息修改、增加、删除、修改和
5、定向查询等。(5)、能够进行用户添加和存放,包含用户名、密码、用户权限。(6)、用户输入用户名和密码后系统依据其在用户表注册权限进入不一样应用系统。(7)、学生登录时系统依据其用户名(即学号)进入对应学生成绩查询系统,能够进行本人所选课程成绩查询、打印和所选课程信息,不一样学生用户进入各自成绩查询系统避免了能查询其它学生成绩问题。(8)、老师登录时系统依据用户名(这里用户名和课程号对应即一名老师任教一门课)进入对应老师管理系统,能够进行该课程学生成绩录入、修改及置零。(9)、学生、老师和管理员登录密码全部能够进行修改(10)、本系统界面色彩跳动不大布局简单整齐。1.4系统功效模块设计 依据上述
6、分析和模块化程序设计要求得图所表示功效模块图。成绩管理系统老师管理窗口管理员窗口学生成绩查询系统密码修改所选课程询密码修改所选课程成绩查选该课学生信息查选该课学生成绩密码修改学生信息输入、修改等课程信息输入、修改等用户添加图 1.4.1 系统功效模块 二具体设计2.1数据库设计和实现 数据库结构好坏直接影响到系统实现效果和数据操作效率和能否确保数据一致性、完整性和安全。所以数据库在一个信息系统中占有很关键地位。1.数据库设计 依据学生成绩管理系统功效要求,经过分析系统要包含相关实体和要搜集、存放和操纵数据信息,得到图2.1所表示系统E-R图。依据系统E-R图得到以下关系模式。学生基础信息(学号
7、,姓名,专业名,性别,出生日期,总学分,备注)。课程(课程号,课程名,开课学期,课时,学分)。成绩(学号,课程号,成绩,学分)。老师(老师号,课程号,课程名,姓名,性别,出生日期) 为了系统使用安全,要建立用户管理,而用户使用权限分为学生、老师和管理员三类,所以需要建立一个存放用户信息关系。用户(姓名,密码,权限)2.创建数据库 在php开发环境中打开数据库画板,然后依次建立以下各表。1)“学生”表 表名:xs 主键:xh各列表属性见表2-1。 表2-1 “学生”表属性列名数据类型宽度空值标识Xhchar6no学号Xmchar8no姓名Zymchar10yes专业名Xbbitno性别Dated
8、ateno出生日期Totaltinyintyes总学分Bzchar20yes备注2)“课程”表表名:kc主键:kch各列表属性见表2-2表2-2 “课程”表属性列名数据类型宽度空值标识Kchchar3no课程号Kcmchar16no课程名Kkdatetinyintno开课学期Xsdatetinyintno课时Xftinyintyes学分3)“成绩”表 表名:xs_cj 主键:xh和kch 各列表属性见表2-3表2-3 “成绩”表属性列名数据类型宽度空值标识Xhchar6no学号kchchar3no课程号kcmchar10yes课程名cjtinyintyes成绩xftinyintyes学分4)“
9、老师”表 表名:jiaoshi 主键:jsh 各列表属性见表2-4表2-4 “老师”表属性列名数据类型宽度空值标识jshchar3no老师号kchchar3no课程号kcmchar16no课程名xmchar8no姓名xbbitno性别rqdateno出生日期5)“用户”表 表名:dl 主键:yhm 各列表属性见表2-5 表2-5 “用户”表属性列名数据类型宽度空值标识yhmchar6no用户名mmchar6no密码qxchar10no权限6)“选课”表表名:xskc主键:xh和kch各列表属性见表2-6 表2-6 “选课”表属性列名数据类型宽度空值标识XhChar6No学号KchChar3N0
10、课程号kcmchar10yes课程名各个表之间经过外键形成图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(s
11、et names utf8);?/数据库关闭clconn.php2.登录窗口设计创建登录窗口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用户名: 密码: 2.3设计“学生成绩查询系统”模块 1、系统主窗口图2.3.1 图 2.3.12、其对应选单为图2.3.2图2.3.2(1)“密码修改”对应代码为open(w_mmxiugai)密码 input type=te
12、xt name=password value=/“关闭” 对应代码为int retret=MessageBox(提醒,确定退出?,exclamation!,YesNo!,2)if ret=1 then close(parentwindow)elsereturnend 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.settranso
13、bject(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.34、学生所选课程查询窗口图2.3.4该窗口被命名为w_kc【返回】按钮clicked事件脚本为open(w_x1)close(parent) 图 2.3.4该窗口里数据窗口控件对象图2.3.5 图2.3.55、学生所选课程成绩查询窗口为图2.3.6 图 2.3.6该窗口被命
14、名为w_xscj 【返回】按钮为open(w_x1)close(parent)其中数据窗口对象图2.3.7 图2.3.72.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 url=main.
15、php;window.location.href=url; ; else echo 保留失败; 【删除】按钮代码为 $query = delete from t_user where id=$id; mysql_query(SET NAMES GBK); if(mysql_query($query) echo url=main.php;window.location.href=url; ; else echo 删除失败; 【保留】按钮代码为 dw_1.update() Messagebox(“提醒”,”已存入数据库”)3、用户管理窗口图2.4.4 数据窗口对象图2.4.3 图2.4.3 图2.4.4 三.设计心得 此次设计是一次自我学习过程。开始时候就碰到了困难。因为需求分析是整个设计纲领,只有搞好了这个纲领下面才有思绪往下继续。课程设计是培养我们综合利用所学知识,发觉、提出、分析和处理实际问题,锻炼实践能力关键步骤,是对我们实际工作能力具体训练和考察过程。伴随科学技术发展日新月异,网络已经成为当今计算机发展中空前活跃领域,在生活中能够说是无处不在,所以作为二十一世纪计算机专业大学生来说掌握网络组网技术是十分关键。