资源描述
毕业设计(论文)
论文题目: 学生选课管理系统
系 别: 计算机和信息技术系
专业班级: 14计算机信息管理
学生姓名:
指导老师:
二○一七 年 五 月 十七 日
目 录
摘 要 1
引 言 2
1 绪论 2
1.1 研究背景 2
1.2 运行环境 2
2 需求分析 2
2.1 性能需求 2
2.2 功效需求 3
2.3 步骤分析 4
3 总体设计 4
3.1 系统目标 4
3.2 功效设计 5
4 具体设计 9
4.1 php和mysql数据库连接 9
4.2 模块实现 11
4.3 学生选课管理模块具体设计 16
5 编程工具选择 17
参考文件 18
致 谢 19
学生选课管理系统
【摘 要】伴随科学技术不停提升,计算机科学日渐成熟,其强大功效已为大家深刻认识,它已进入人类社会各个领域并发挥着越来越关键作用。学生选课系统作为一个现代化教学技术,以越来越受到人民重视,是一个学校不可缺乏部分,学生选课系统就是为了管理好选课信息而设计。学生选课系统将使选课管理工作规范化,系统化,程序化,避免选课管理随意性,提升信息处理速度和正确性,能够立即、正确、有效查询和修改选课情况。
系统实现了对课程基础信息和学生选课、学生和老师用户进行管理。系统对学生角色提供个人信息查看、选课管理和其它功效;对老师提供查看自己所担任课程课表和选该门课程学生信息;提供给管理员以下功效:查看全部课程、学生、老师信息并能够对它们进行管理(添加、编辑、删除),和实现新闻公布并修改。
【关键词】PHP WampServer 数据库 教务系统
引 言
学校是一个和学生信息安全亲密关键机构,在高度信息化今天,学生对学校管理要求也越来越高。为了方便学生查询自己选课信息,也为了学校愈加好了解学生选课信息,学校需要一个学生选课信息管理系统。
学生选课管理系统在开发时注意到使用专业术语会对以后系统使用者造成不便,故全部相关词汇使用了简练并通俗易懂词汇,系统使用者不会出现对此系统词汇看不懂问题,故而在此对系统及文件使用词汇不做定义。
1 绪论
1.1 研究背景
伴伴随信息化时代到来,信息管理技术已经深入到了我们工作和生活各个方面。 对于中国高校而言,伴随招生规模连续增加,提升高校管理效率已经迫在眉睫,这也就迫使了高校逐步引入各类信息管理技术。从高校教务管理这一角度看,从高校实施学分制开始,选课工作就成为教务管理中一项关键内容,同时也是高校管理工作关键内容。传统人工选课,不仅花费大量时间和精力,同时错误率也比较高,选课效率相对比较低下。所以,必需要采取一定方法来实现科学、合理地选课。
本文正是基于此背景,以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发, 展开伴伴随信息化时代到来,信息管理技术已经深入到了我们工作和生活各个方面。对于中国高校而言,伴随招生规模连续增加,提升高校管理效率已经迫在眉睫,这也就迫使了高校逐步引入各类信息管理技术。从高校教务管理这一角度看,从高校实施学分制开始,选课工作就成为教务管理中一项关键内容,同时也是高校管理工作关键内容。传统人工选课,不仅花费大量时间和精力,同时错误率也比较高,选课效率相对比较低下。所以,必需要采取一定方法来实现科学、合理地选课。
本文正是基于以前提,以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发语言,以WampServer作为开发工具,以SQL Server作为数据库管理系统,开发设计出了一套高校学生选课系统。本文首先简明地叙述了选题背景,归纳了相关学生选课系统研究现实状况,给出了论文关键研究方向和论文框架;其次,进行了系统需求分析,基于系统管理员、老师、学生这三类用户角色,叙述了其所需功效需求,以后还分析了系统性能需求和安全性需求;再次,针对系统管理员、老师和学生这三类用户角色,结合前文需求分析,设计了不一样用户角色功效模块,经过功效结构图和次序图形式来展示;最终,经过采取界面截图形式来展现学生选课系统实现结果,来验证系统是否满足设计要求,深入采取黑盒测试方法来验证系统可靠性。
1.2 运行环境
操作系统方面,即使现在Linux发展速度很快,不过对于大多数使用者来说,操作显然没有微软WINDOWS那么流行和简单化。所以我决定该教务管理系统将运行在Windows系统下面。
2 需求分析
2.1 性能需求
伴随无纸化办公普遍实现,信息自动处理和网络式信息交互方法已经被大家广泛应用。让计算机来管理学生信息是现在各个高校全部在主动进行工作之一,也是高校管理工作关键内容之一。网上选课和传统选课方法相比愈加节省资源,增加了学生选课自主权。学生选课系统作为一个现代化教学技术,以越来越受到大家重视,是一个学校不可缺乏部分,学生选课系统就是为了管理好选课信息而设计。学生选课系统将使选课管理工作规范化,系统化,程序化,避免选课管理随意性,提升信息处理速度和正确性,能够立即、正确、有效查询和修改选课情况。
2.2 功效需求
和传统选课方法相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校公共机房或宿舍个人电脑上经过网络来选课,只要选课还没有截止,学生能够灵活修改自己选课情况,大大提升了学校选课工作效率。教务处老师则经过选课系统管理员子系统来管理学生选课情况,使得学生选课工作达成系统化和自动化。网上选课系统针对在校学生和老师使用。从学生角度来说,因为学校教学制度改革,现在大部分高等院校开始实施是学生自主选课模式。传统教学模式(学生根据学校安排好课程上课)已经不能适应新型教学模式,假如仍然经过纸上方法选课,首先浪费了大量人力物力资源,其次浪费时间和会在人为统计汇总过程中出现可避免差错等情况。伴随高校人数增多,上述弊端会越来越多暴露出来,假如利用网络进行选课,学生只要在计算机前输入自己个人选课信息即可完成教务部门原来几倍作业量。从教学角度来说,老师提出代课申请完成课程公布工作愈加轻易,得到教学信息愈加紧捷,所以经过网上选课系统能够大幅度降低老师工作量,方便了教学工作。
2.3 步骤分析
首先系统用户使用账号和密码等数据就行登录,此时数据流由界面输入流向数据库进行逻辑验证,假如找到该数据统计则进行页面跳转,跳转至系统首页,系统用户在系统内进行数据操作,此时数据流有效数据流流向数据库中心实施对应数据sql语句,完成增删改查等操作,最终数据流由数据库中心流向系统界面,进行结果显示。
图2-1所表示为数据流图:
用户身份验证 用户功效选择
密 码
各
功
能
模
块
是 否
正 确
登陆
检验
数据库
用户
用户登陆 正确用户 读数据
犯错处理
存数据
图2-1 数据流图(1层图)
步骤分析:首先以管理员身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,能够使用系统用户管理、选课公告管理、选课管理、老师信息管理、班级信息管理、学生信息管理、系统管理等功效。以学生身份登录系统能够使用个人资料管理、在线选课管理等操作。以老师身份登录系统能够进行个人资料管理、课程信息管理、选课公告管理、选课方案管理、资料下载管理、在线答疑等操作。
3 总体设计
3.1 系统目标
学生选课系统就是为了适应这种要求而设计。集信息显示、输入、修改、删除、查询等多种处理为一体,信息维护起来很方便。大大提升了课程信息管理、学生选课、查询成绩工作效率,为学校教务处带来很大便利,本系统亮点在于界面简明又不失美感,各个功效对应页面模块和按钮简单明了,用户只需要经过简单地试用就能够熟练上手,本系统符合人机交互“所见即所得”标准,图3-1所表示。
图3-1 手工业务步骤
手工业务步骤图分析:老师先公布课程信息,然后学生进行选课,选择对应课程,老师能够查看选择该课程全部学生,为该学生课程设置成绩信息,最终由学生登录系统查询该课程成绩分数。
3.2 功效设计
本系统使用角色关键有系统管理员,老师用户、学生用户,首先以管理员身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,能够使用系统用户管理(修改密码、管理员用户添加、删除、修改)、选课公告管理、选课方案管理、老师信息管理(老师信息添加、删除、修改)、班级信息管理(班级信息添加、删除、修改)、学生信息管理(学生信息添加、删除、修改)、课程表管理( 课程表添加、删除、修改)、系统管理(数据备份)等功效。
以学生身份登录系统能够使用个人资料管理、在线选课管理(在线选课、已选课程查看、课程成绩查询)、选课公告查看等操作。
以老师身份登录系统能够进行个人资料管理、课程信息管理(课程信息添加、删除、修改、课程成绩设定)、选课公告管理(选课公告添加、删除、修改)、选课方案管理(选课方案添加、删除、修改)等操作。同时能够经过关键字搜索能够搜索对应信息,打印多种具体信息,导出各类信息列表至excel中。
3.3 数据库设计
系统采取mysql数据库。
管理员表关键存放了管理员信息,只有在这个表中存在用户才能登录到管理员界面。管理员信息表设计以下表所表示。
表3-1 allusers表
序号
字段名称
字段类型
大小
许可为空
最大长度
备注
1
id
Int
4
10
2
username
150
255
3
pwd
150
255
4
cx
150
255
5
addtime
DateTime
8
19
表3-2 jiaoshixinxi表
序号
字段名称
字段类型
大小
许可为空
最大长度
备注
1
id
Int
4
10
2
gonghao
150
255
3
xingming
150
255
4
mima
150
255
5
chushengnianyue
150
255
6
shenfenzheng
255
255
7
xingbie
150
255
8
zhicheng
150
255
9
zhaopian
150
255
10
zhujiaokecheng
150
255
11
dianhua
150
255
12
beizhu
255
255
13
addtime
DateTime
8
19
表3-3 kechengxinxi表
序号
字段名称
字段类型
大小
许可为空
最大长度
备注
1
id
Int
4
10
2
kechengbianhao
150
255
3
kechengmingcheng
255
255
4
xuefen
150
255
5
xueshi
150
255
6
kexuanrenshu
150
255
7
renkejiaoshi
150
255
8
beizhu
255
255
9
addtime
DateTime
8
19
10
skdd
255
255
表3-4 xuankejilu表
序号
字段名称
字段类型
大小
最大长度
备注
1
id
Int
4
10
2
kechengbianhao
150
255
3
kechengmingcheng
255
255
4
xuefen
150
255
5
xueshi
150
255
6
renkejiaoshi
150
255
7
xuankeren
150
255
8
chengji
150
255
9
pingyu
255
255
10
beizhu
255
255
11
addtime
DateTime
8
19
表3-5 xuankeshijian表
序号
字段名称
字段类型
大小
最大长度
备注
1
ID
Int
4
10
2
kssj
255
255
3
jssj
255
255
4
addtime
DateTime
8
19
4 具体设计
4.1 数据库模型
数据库模型图关键是对数据库表进行设计一个概念模型图,从图13数据库模型图能够了解到表关联关系和要进行设计表所需要字段,开发人员能够经过该模型图进行设计数据库。
概念模型设计是为了将现实世界信息进行抽象,实现信息世界建模,是进行数据库设计有力工具。数据库概念模型设计可经过E-R图来描述现实世界概念模型。本系统E-R图表现了系统中各个实体之间联络。
4.2数据库表设计
经过前期需求分析、可实施分析、数据流分析等各个步骤分析,结合软件工程高内聚、低耦合规则,并考虑到以后程序功效扩展。:数据库结构设计要求依据数据字典、使用数据库管理系统和系统开发工具设计出数据库和各个数据表结构。系统采取mysql数据库。管理员表关键存放了管理员信息,只有在这个表中存在用户才能登录到管理员界面。
4.1 php和mysql数据库连接
(1)开始来介绍一下web数据库架构:
浏览器
mysql服务器
php引擎
apache
服务器
如4-1图所表示:
1 2 3
6 5 4
图4-1 web数据库架构
从web系统查询数据根本查询步骤:
Step1: 进行检验而且过滤来自用户系统数据;
Step2: 成立起一个适宜数据库进行连接;
Step3: 进行查询系统数据库;
Step4: 取得查询结构;
Step5: 把查询结果展示给用户。
(2)本款系统我使用了apache作为开发环境,它是一个将PHP和Mysql综合一起研发环境,所以在服务器打开以后,进行连接数据库方法比较简练.能够使用以下语句:
<?php
$conn=mysql_connect("localhost", "root", "password");
$result=mysql_db_query("Database", "SELECT * FROM `info`", $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
echo '<font face="verdana">';
echo '<table border="1" cellpadding="1" cellspacing="2">';
// 显示字段名称
echo "</b><tr></b>";
for ($i=0; $i<mysql_num_fields($result); $i++)
{echo '<td bgcolor="#000F00"><b>'.
mysql_field_name($result, $i);
echo "</b></td></b>";}
echo "</tr></b>";
// 定位到第一条统计
mysql_data_seek($result, 0);
// 循环取出统计
while ($row=mysql_fetch_row($result))
{ echo "<tr></b>";
for ($i=0; $i<mysql_num_fields($result); $i++ )
{echo '<td bgcolor="#00FF00">';
echo $row[$i];
echo '</td>';}
echo "</tr></b>";}
echo "</table></b>";
echo "</font>";
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close($conn);
?>
4.1.1 用户管理模块功效
添加用户。
修改用户密码
删除用户
修改用户资料。
4.1.2 用户管理模块输入界面设计
在本模块中,首先以管理员身份登录,经过验证后能够对读者进行添加或删除操作。
string qx,sd
g_userid=sle_1.text
g_password=sle_2.text
select 权限,姓名,锁定 into :qx,:g_username,:sd
from 用户
where 编号=:g_userid and 密码=:g_password;
if sqlca.sqlcode<>0 then
messagebox('','编号或密码错误')
return
end if
if sd='已锁'then
messagebox('','该帐户已锁,请和管理员联络')
return
end if
sle_1.text=''
sle_2.text=''
if qx='管理员'then
w_ck.ChangeMenu(m_main)
else
w_ck.ChangeMenu(m_main_client)
end if
w_ck.title='你好:'+ g_username
close(parent)
4.1.3 系统管理模块输出界面设计
本模块中输出界面有多个,一个为当管理员输入密码不正确时,提醒:输入密码不正确!,一个为当密码为空时,提醒:密码不能为空!
在添加用户过程中,将会有以下输出:用户存在时提醒:该用户已经存在!,用户名为空时提醒:用户名不能为空!
4.1.4 用户管理模块数据结构描述
管理员进入此模块后,能够进行添加用户和修改,需要一个后台信息表,为了实现系统管理模块功效,需要用到“用户”信息表。
4.1.5 用户管理模块步骤
管理员进入此模块后,能够选择两个子模块:添加用户和删除用户。添加用户能够实现新读者添加,删除用户能够实现用户删除。
4.2 模块实现
4.2.1 登录模块
一个系统最基础功效就是登录功效,本系统能够进行网站登录角色有管理员、老师用户、学生用户,用户实现系统登录,首优异入登录页,输入用户名和密码,然后提交至服务端进行数据库数据验证,经过php逻辑代码判定数据库是否存在用户输入这一个统计,假如存在,则进入管理员管理界面,登录成功,进入主页,并把用户对象存放在session中,假如不存在这么一条统计,则返回登录界面。
系统登录运行效果图4-2。
图4-2系统登录运行界面
登录关键代码以下:
<?php
require_once('include/config.inc.php');
//echo md5('111');
if($_SESSION['user'])
{ echo '<script>';
echo 'window.location.href="index.php";';
echo '</script>';}
$msg = '';
if($_POST)
{if((isset($_POST['username'])&&
!empty($_POST['username'])
&&strlen($_POST['username'])<128)
&&(isset($_POST['password'])&&!empty($_POST['password'])
&&strlen($_POST['password'])<128))
{ $username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$sql = 'SELECT * FROM m_admin WHERE status=1 AND username="'.$username.'" AND password="'.md5($password).'"';
$res = mysql_query($sql);
$res = mysql_fetch_assoc($res);
if(!$res)
{$msg = '账号或密码错误';
}else{$_SESSION['user'] = $res;
echo '<script>';
echo 'window.location.href="index.php";';
echo '</script>';} }else{$msg = '表单非法';}}?>
4.2.2 修改密码模块
系统全部用户能够对自己密码和管理员用户密码进行修改。修改密码是经过跟数据库原来密码字段数据进行判定,假如输入两次新密码一致,则更新密码这属性对应一条数据,添加删除管理员实现过程关键是将填写数据写入数据库中即可。
修改密码界面图4-3所表示。
图4-3 修改密码界面
修改密码关键代码:
//修改密码需要经过js代码进行条件约束,经过多个if语句完成。
<script>
function check()
{if(document.form1.ymm.value=="")
{alert("请输入原密码");
document.form1.ymm.focus();
return false;}
if(document.form1.xmm1.value=="")
{alert("请输入新密码");
document.form1.xmm1.focus();
return false;}
if(document.form1.xmm1.value=="")
{alert("请输入确定密码");
document.form1.xmm1.focus();
return false;}
if (document.form1.xmm1.value!=document.form1.xmm1.value)
{alert("对不起,两次密码不一至,请重新输入");
document.form1.xmm1.value="";
document.form1.xmm1.value="";
document.form1.xmm1.focus();
return false;}}
</script>
4.2.3 学生老师信息管理模块
怎样处理庞大学生个人资料信息和管理,它是基于我们学生选课系统一个大数据处理。简单说就是我们老师经过管理员端口进去检索学生个人生日,学号,班级,性别等信息进行筛选某一位学生信息。经过我们设定C语言设定来添加,删除或更改学生信息。从而达成愈加便捷对于学生管理。
学生老师信息管理界面图4-4所表示。
图4-4 学生老师信息管理界面
4.2.4 课程班级信息管理模块
面对课程、班级等数据,经过计算机化管理这些信息,对其添加、删除、修改,关键是在sql语句基础上对数据库进行增删改查操作,同时能进行课程班级信息具体信息打印和课程班级信息列表导出至excel表。
课程信息管理界面图4-5所表示。
图4-5 课程信息管理界面
4.3 学生选课管理模块具体设计
4.3.1 选课时间设置模块
管理员能够经过设置选课是时间段,在这个时间段内学生是无法进行选课操作,在这个时间段外才能进行选课。
设置选课时间段关键代码:
<tr>
<td colspan="2"><div align="center">选课时间设置</div></td></tr>
<tr><td>起始时间:</td>
<td><input name="kssj" type="text" id="kssj" value="<?php readzd("xuankeshijian","kssj","id","1");?>" onclick="fPopCalendar(event,this,this)" />
<input name="addnew" type="hidden" id="addnew" value="1"></td> </tr>
<tr><td>截束时间:</td>
<td><input name="jssj" type="text" id="jssj" value="<?php readzd("xuankeshijian","jssj","id","1");?>" onclick="fPopCalendar(event,this,this)" /></td></tr>
<tr>
<td><input type="submit" name="Submit" value="确定" onClick="return check()" /></td>
<td><input type="reset" name="Submit2" value="重置" /></td></tr>
5 编程工具选择
WampServer是一款由法国人开发Apache Web服务器、PHP解释器和MySQL数据库整合软件包。免去了开发人员将时间花费在繁琐配置环境过程,从而腾出更多精力去做开发。在windows下将Apache+PHP+Mysql 集成环境,拥有简单图形和菜单安装和配置环境。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。再也不用四处问询php安装问题了,wampserver一切全部搞定了。她有以下特点:
1、支持汉字语言,一键安装,省时省力;任何人全部能够轻松搭建;
2、集成Apache/MySQL/PHP/PhpMyadmin;支持PHP扩展、Apachemod_rewrit;
3、一键开启、重启、停止全部服务,一键切换到离线状态等等。
图6-1 WampServer界面
参考文件
[1] 林旺/张晓坤.深入浅出HTML和CSS、XHTM[M].东南大学出版社,.78-158
[2] 尹志忠/侯妍.CSS权威指南[M].中国电力出版社,.65-108
[3] 杨晓云.Mysql5权威指南[M].人民邮电出版社,.224-444
[4] 刘秋菊.Web编程技术动态网页设计[M].北京师范大学出版社
[5] 朱涛江.PHP和Mysql程序设计[M].人民邮电出版社,.246-356
[6] 刘彦博.PHP基础教程[M].人民邮电出版社,.1-405
致谢
本设计在邱益维老师悉心指导和严格要求下业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着老师心血和汗水,在三年专科学习和生活期间,也一直感受着导师精心指导和无私关心,我受益匪浅。在此向老师表示深深感谢和高尚敬意。不积跬步何以至千里,本设计能够顺利完成,也归功于各位任课老师认真负责,使我能够很好掌握和利用专业知识,并在设计中得以表现。正是有了她们悉心帮助和支持,才使我毕业论文工作顺利完成,在此向浙江长征职业技术学院,计信系系全体老师表示由衷谢意。感谢她们三年来辛勤栽培。感谢三年来计信系全部任课老师,和14级计算机信息管理班和我一起走完这条路同学们。
展开阅读全文