学生选课管理系统

更新时间:2024-05-09 19:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)

论文题目: 学生选课管理系统 系 别: 计算机与信息技术系 专业班级: 14计算机信息管理 学生姓名: 指导教师:

二○一七 年 五 月 十七 日

目 录

摘 要 ............................................................................................................................................. 1 引 言 ............................................................................................................................................. 2 1 绪论 ........................................................................................................................................... 2

1.1 研究背景 ....................................................................................................................... 2 1.2 运行环境 ....................................................................................................................... 3 2 需求分析 ................................................................................................................................... 3

2.1 性能需求 ....................................................................................................................... 3 2.2 功能需求 ....................................................................................................................... 3 2.3 流程分析 ....................................................................................................................... 3 3 总体设计 ................................................................................................................................... 4

3.1 系统目标 ....................................................................................................................... 4 3.2 功能设计 ....................................................................................................................... 5 4 详细设计 ................................................................................................................................... 8

4.1 php与mysql数据库连接............................................................................................ 8 4.2 模块实现 ..................................................................................................................... 11 4.3 学生选课管理模块详细设计 ..................................................................................... 15 5 编程工具的选择 ..................................................................................................................... 16 参考文献 ....................................................................................................................................... 17 致 谢 ........................................................................................................................................... 18

i

学生选课管理系统

【摘 要】随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分,学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。

系统实现了对课程的基本信息和学生选课、学生和教师用户进行管理。系统对学生角色提供个人信息查看、选课管理以及其他功能;对教师提供查看自己所担任课程的课表和选该门课程的学生信息;提供给管理员以下功能:查看所有课程、学生、教师的信息并可以对它们进行管理(添加、编辑、删除),以及实现新闻的发布并修改。 【关键词】PHP WampServer 数据库 教务系统

1

引 言

学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。

学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。

1 绪论

1.1 研究背景

伴随着信息化时代的到来,信息管理技术已经深入到了我们工作和生活的各个方面。 对于国内高校而言,随着招生规模的持续增加,提升高校管理效率已经迫在眉睫,这也就迫使了高校逐渐引入各类信息管理技术。从高校教务管理这一角度看,从高校实行学分制开始,选课工作就成为教务管理中一项重要内容,同时也是高校管理工作的核心内容。传统的人工选课,不仅耗费大量的时间和精力,同时错误率也比较高,选课效率相对比较低下。因此,必须要采取一定的措施来实现科学、合理地选课。

本文正是基于此背景,以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发, 展开伴随着信息化时代的到来,信息管理技术已经深入到了我们工作和生活的各个方面。对于国内高校而言,随着招生规模的持续增加,提升高校管理效率已经迫在眉睫,这也就迫使了高校逐渐引入各类信息管理技术。从高校教务管理这一角度看,从高校实行学分制开始,选课工作就成为教务管理中一项重要内容,同时也是高校管理工作的核心内容。传统的人工选课,不仅耗费大量的时间和精力,同时错误率也比较高,选课效率相对比较低下。因此,必须要采取一定的措施来实现科学、合理地选课。

本文正是基于此前提,以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发语言,以WampServer作为开发工具,以SQL Server2005作为数据库管理系统,开发设计出了一套高校学生选课系统。本文首先简要地阐述了选题背景,归纳了关于学生选课系统的研究现状,给出了论文的主要研究方向和论文框架;其次,进行了系统需求分析,基于系统管理员、教师、学生这三类用户角色,阐述了其所需的功能需求,之后还分析了系统的性能需求和安全性需求;再次,针对系统管理员、教师和学生这三类用户角色,结合前文的需求分析,设计了不同用户角色的功能模块,通过功能结构图与顺序图的形式来展示;最后,通过采用界面截图的形式来展现学生选课系统的实现结果,来验证系统是否满足设计要求,进一步采用黑盒测试的方式来验证系统的可靠性。

2

1.2 运行环境

操作系统方面,虽然现在Linux的发展速度非常的快,但是对于大多数的使用者来说,操作显然没有微软的WINDOWS那么的流行和简单化。所以我决定该教务管理系统将运行在Windows系统下面。

2 需求分析

2.1 性能需求

随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。学生选课系统作为一种现代化的教学技术,以越来越受到人们的重视,是一个学校不可缺少的部分,学生选课系统就是为了管理好选课信息而设计的。学生选课系统将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 2.2 功能需求

与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化。网上选课系统针对在校学生和教师使用。从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式。传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学模式,如果仍然通过纸上的方式选课,一方面浪费了大量的人力物力资源,另一方面浪费时间以及会在人为的统计汇总过程中出现可避免的差错等情况。随着高校人数的增多,上述弊端会越来越多的暴露出来,如果利用网络进行选课,学生只要在计算机前输入自己的个人选课信息即可完成教务部门原来几倍的作业量。从教学的角度来说,教师提出代课申请完成课程发布的工作更加容易,得到教学的信息更加快捷,因此通过网上选课系统可以大幅度的减少教师的工作量,方便了教学工作。 2.3 流程分析

首先系统用户使用账号和密码等数据就行登录,此时数据流由界面输入流向数据库进行逻辑验证,如果找到该数据记录则进行页面跳转,跳转至系统首页,系统用户在系统内进行数据操作,此时数据流的有效数据流流向数据库中心执行相应的数据sql语句,完成增删改查等操作,最后数据流由数据库中心流向系统界面,进行结果显示。

3

图2-1所示为数据流图:

用户身份验证 用户功能选择 密 码 是 否 正 确 各 功 用户登陆 正确用户 读数据 能 登检用户 陆 模 验 出错处理 块 存数据

图2-1 数据流图(1层图)

数据库 流程分析:首先以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统用户管理、选课公告管理、选课管理、教师信息管理、班级信息管理、学生信息管理、系统管理等功能。以学生的身份登录系统可以使用个人资料管理、在线选课管理等操作。以教师的身份登录系统可以进行个人资料管理、课程信息管理、选课公告管理、选课方案管理、资料下载管理、在线答疑等操作。

3 总体设计

3.1 系统目标

学生选课系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便。大大提高了课程信息管理、学生选课、查询成绩的工作效率,为学校教务处带来很大的便利,本系统的亮点在于界面简明又不失美感,各个功能对应的页面模块和按钮简单明了,用户只需要经过简单地试用就可以熟练上手,本系统符合人机交互的“所见即所得”原则,如图3-1所示。

4

发发发发发发发发发发发发发发发发发发发发发发发发YES发发发发发发发发发发发发发发发发发发发发 图3-1 手工业务流程

手工业务流程图分析:教师先发布课程信息,然后学生进行选课,选择相应的课程,教师可以查看选择该课程的所有学生,为该学生的课程设置成绩信息,最后由学生登录系统查询该课程的成绩分数。 3.2 功能设计

本系统使用的角色主要有系统管理员,教师用户、学生用户,首先以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统用户管理(修改密码、管理员用户添加、删除、修改)、选课公告管理、选课方案管理、教师信息管理(教师信息添加、删除、修改)、班级信息管理(班级信息添加、删除、修改)、学生信息管理(学生信息添加、删除、修改)、课程表管理( 课程表添加、删除、修改)、系统管理(数据备份)等功能。

以学生的身份登录系统可以使用个人资料管理、在线选课管理(在线选课、已选课程查看、课程成绩查询)、选课公告查看等操作。

以教师的身份登录系统可以进行个人资料管理、课程信息管理(课程信息添加、删除、修改、课程成绩设定)、选课公告管理(选课公告添加、删除、修改)、选课方案管理(选课方案添加、删除、修改)等操作。同时可以通过关键字搜索可以搜索相应的信

5

息,打印各种详细信息,导出各类信息列表至excel中。 3.3 数据库设计

系统的采用mysql数据库。

管理员表主要存储了管理员信息,只有在这个表中存在的用户才能登录到管理员界面。管理员信息表的设计如下表所示。

表3-1 allusers表

序号 字段名称 1 2 3 4 5 id username pwd cx addtime 字段类型 Int DateTime 大小 4 150 150 150 8

允许为空 最大长度 10 255 255 255 19 备注 表3-2 jiaoshixinxi表

序号 1 2 3 4 5 6 7 8 9 10 11 12 字段名称 id gonghao xingming mima chushengnianyue shenfenzheng xingbie zhicheng zhaopian zhujiaokecheng dianhua beizhu 字段类型 大小 允许为空 最大长度 备注 Int 6

4 150 150 150 150 255 150 150 150 150 150 255 10 255 255 255 255 255 255 255 255 255 255 255

13 addtime DateTime 8 19 表3-3 kechengxinxi表

序号 1 2 3 4 5 6 7 8 9 10 字段名称 id kechengbianhao kechengmingcheng xuefen xueshi kexuanrenshu renkejiaoshi beizhu addtime skdd 字段类型 大小 允许为空 最大长度 备注 Int DateTime 4 150 255 150 150 150 150 255 8 255 10 255 255 255 255 255 255 255 19 255 表3-4 xuankejilu表

序号 1 2 3 4 5 6 7 8 9 10 字段名称 id kechengbianhao kechengmingcheng xuefen xueshi renkejiaoshi xuankeren chengji pingyu beizhu 字段类型 Int 7

大小 最大长度 备注 4 150 255 150 150 150 150 150 255 255 10 255 255 255 255 255 255 255 255 255

11 addtime DateTime 8 19 表3-5 xuankeshijian表

序号 1 2 3 4 字段名称 ID kssj jssj addtime 字段类型 Int DateTime 大小 4 255 255 8 最大长度 10 255 255 19 备注 4 详细设计

4.1 数据库模型

数据库模型图主要是对数据库表进行设计的一个概念模型图,从图13数据库模型图可以了解到表的关联关系和要进行设计的表所需要的字段,开发人员可以通过该模型图进行设计数据库。

概念模型的设计是为了将现实世界信息进行抽象,实现信息世界的建模,是进行数据库设计的有力工具。数据库概念模型设计可通过E-R图来描述现实世界的概念模型。本系统的E-R图表现了系统中各个实体之间的联系。 4.2数据库表设计

经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展。:数据库结构设计要求根据数据字典、使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。系统的采用mysql数据库。管理员表主要存储了管理员信息,只有在这个表中存在的用户才能登录到管理员界面。 4.1 php与mysql数据库连接

(1)开始来介绍一下web数据库架构: 如4-1图所示: 1 2 3 mysql服务浏览器 6 5 php 引擎 4 器 图4-1 web数据库的架构

8

apache 服务器

从web系统查询数据的根本的查询步骤: Step1: 进行检查并且过滤来自用户的系统数据; Step2: 成立起一个合适的数据库进行连接; Step3: 进行查询系统数据库; Step4: 获得查询的结构; Step5: 把查询的结果展示给用户。

(2)本款系统我使用了apache作为开发环境,它是一个将PHP与Mysql综合一起的研发环境,因此在服务器打开以后,进行连接数据库的方法比较的简洁.可以使用以下的语句:

$conn=mysql_connect(\ $result=mysql_db_query(\ // 获取查询结果

$row=mysql_fetch_row($result); echo '

echo '

for ($i=0; $i mysql_data_seek($result, 0); // 循环取出记录

while ($row=mysql_fetch_row($result)) { echo \

for ($i=0; $i9

echo '';} echo \ echo \ echo \ // 释放资源

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

10

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。

11

图4-2系统登录运行界面

登录关键代码如下:

require_once('include/config.inc.php'); //echo md5('111'); if($_SESSION['user']) { echo '';} $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

12

username=\

$res = mysql_query($sql); $res = mysql_fetch_assoc($res); if(!$res)

{$msg = '账号或者密码错误'; }else{$_SESSION['user'] = $res; echo '';} }else{$msg = '表单非法';}}?> 4.2.2 修改密码模块

系统所有用户可以对自己的密码和管理员用户的密码进行修改。修改密码是经过跟数据库的原来的密码字段的数据进行判断,如果输入两次的新密码一致,则更新密码这属性对应的一条数据,添加删除管理员实现的过程主要是将填写的数据写入数据库中即可。

修改密码界面如图4-3所示。

图4-3 修改密码界面

修改密码关键代码:

//修改密码需要通过js代码进行条件约束,通过多个if语句完成。

Top