学生选课管理系统
1.1 设计背景
以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发, 展开伴随着信息化时代的到来,信息管理技术已经深入到了我们工作和生活的各个方面。对于国内高校而言,随着招生规模的持续增加,提升高校管理效率已经迫在眉睫,这也就迫使了高校逐渐引入各类信息管理技术。从高校教务管理这一角度看,从高校实行学分制开始,选课工作就成为教务管理中一项重要内容,同时也是高校管理工作的核心内容。传统的人工选课,不仅耗费大量的时间和精力,同时错误率也比较高,选课效率相对比较低下。因此,必须要采取一定的措施来实现科学、合理地选课。
以高校学生选课问题为研究对象,基于B/S架构、以C#作为开发语言,以WampServer作为开发工具,以SQL Server2005作为数据库管理系统,开发设计出了一套高校学生选课系统。本文首先简要地阐述了选题背景,归纳了关于学生选课系统的研究现状,给出了论文的主要研究方向和论文框架;其次,进行了系统需求分析,基于系统管理员、教师、学生这三类用户角色,阐述了其所需的功能需求,之后还分析了系统的性能需求和安全性需求;再次,针对系统管理员、教师和学生这三类用户角色,结合前文的需求分析,设计了不同用户角色的功能模块,通过功能结构图与顺序图的形式来展示;最后,通过采用界面截图的形式来展现学生选课系统的实现结果,来验证系统是否满足设计要求,进一步采用黑盒测试的方式来验证系统的可靠性。 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 2 3 4 5
字段名称 id username pwd cx addtime 字段类型 int DateTime 大小 允许为空 最大长度 4 10 150 255 150 255 150 255 8 19 备注 表3-2 jiaoshixinxi表
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 字段名称 字段类型 Int id gonghao xingming mima chushengnianyue shenfenzheng xingbie zhicheng zhaopian zhujiaokecheng dianhua beizhu addtime DateTime 大小 允许为空 最大长度 4 10 150 255 150 255 150 255 150 255 255 255 150 255 150 255 150 255 150 255 150 255 255 255 8 19 备注 表3-3 kechengxinxi表
序号 1 2 3 4 5 6 7 8 9 10 字段名称 字段类型 Int id kechengbianhao kechengmingcheng xuefen xueshi kexuanrenshu renkejiaoshi beizhu addtime DateTime skdd 大小 允许为空 最大长度 4 10 150 255 255 255 150 255 150 255 255 255 150 255 255 255 8 19 255 255 备注 表3-4 xuankejilu表
序号 1 2 3 4 5 6 7 8 9 10 11 字段名称 字段类型 Int id kechengbianhao kechengmingcheng xuefen xueshi renkejiaoshi xuankeren chengji pingyu beizhu addtime DateTime 大小 允许为空 最大长度 4 10 150 255 255 255 150 255 150 255 150 255 150 255 150 255 255 255 255 255 8 19 备注 表3-5 xuankeshijian表 序号 1 2 3 4
字段名称 id kssj jssj addtime 字段类型 Int DateTime 大小 允许为空 最大长度 4 10 255 255 255 255 8 19 备注 4 详细设计 4.1 数据库模型
数据库模型图主要是对数据库表进行设计的一个概念模型图,从图13数据库模型图可以了解到表的关联关系和要进行设计的表所需要的字段,开发人员可以通过该模型图进行设计数据库。
概念模型的设计是为了将现实世界信息进行抽象,实现信息世界的建模,是进行数据库设计的有力工具。数据库概念模型设计可通过E-R图来描述现实世界的概念模型。本系统的E-R图表现了系统中各个实体之间的联系。 4.2数据库表设计
经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展。:数据库结构设计要求根据数据字典、使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。系统的采用mysql数据库。管理员表主要存储了管理员信息,只有在这个表中存在的用户才能登录到管理员界面。
4.3 php与mysql数据库连接
(1)开始来介绍一下web数据库架构: 如4-1图所示: 1 3 2 Mysql服务器 apache php引擎 浏览器
服务器 5 4 4
图4-1 web数据库的架构
从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; $i echo \ // 释放资源