目录
一 .研究目的
学生选课是学校教学环节开展的前提和基础,是学校工作的重要组成部分。一直以来人们使用传统人工的方式管理文件挡案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,建立一个学生选课系统,使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
二.需求功能分析
一共分五个功能模块:
系统管理:实现管理员对系统的管理,包括添加删除用户。更改密码,数据备份,数据还原,注销等功能。
基本信息:实现显示学生和老师的基本信息(包括学生基本信息,教师基本信息,课程基本信息 )。
选课:实现学生选择课程,选择老师,老师选择自己所能教的课程。
查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩,同班同学等,老师查询包括查询自己的信息,自己所带班的学生,自己的课程表等。
帮助系统:帮助系统为用户指明方向。
系统维护模块的总体框架图如图
本系统共分三大模块,分学生、教师、管理员模块,登录,修改密码,退出系统功能是学生、教师、管理员所共有的功能。学生登录模块中,当学生成功登录后,将学生的姓名、学号、密码作为共用信息保存下来,作为密码修改模块、查询选课信息模块、修改选课信息模块使用时的参数。查询选课信息模块中的课程号、学期、教师姓名信息作为传递参数用于查询教师信息模块、查询选课名单模块、查询课程信息模块、修改选课信息。同样,教师登录模块中,成功登录后将教工号、教师姓名作为参数保存下来,传递到密码修改模块、查询已发布课程信息模块、删除课程发布信息模块、修改课程发布信息模块。管理员登录后的修改教师信息、删除教师信息模块中传递的是教工号信息,参数由用户输入的信息得来;修改学生信息、删除学生信息模块中传递的是学生的学号信息,同样传递的参数由用户输入得来。管理员还有系统还原、备份。
有登录界面,根据不同的用户进入不同的界面。修改密码界面,完成用户对密码的修改。课程信息的添加、修改、删除界面,完成对课程的录入、修改、删除。学生信息的添加、修改、删除界面,教师信息的添加、修改、删除界面,完成对用户的操作。
需要学生、教师、管理员、课程、班级、专业、系、学院基本信息,学生选课、专业开课情况,教师授课信息,建立了11个相关的表。
三.数据库展示
在login模块,根据身份的不同,需要学生、教师、管理员的信息表,关联学生的有班级、专业、系、学院信息,关联教师的有教师授课表和学院信息表,对课程的管理需要课程信息表。
表之间关系如图
1.学生信息表
学号为主索引,为班级号建立索引,通过该索引和班级信息表建立关联。
表 3.1 学生信息表
字段名 | 类型 | 宽度 | 是否允许空 | 约束 |
学号 | char | 10 | F | 主键 |
姓名 | char | 10 | F |
|
密码 | char | 10 | F |
|
性别 | char | 2 | F |
|
联系电话 | varchar | 20 | T |
|
班级号 | char | 10 | F | 外键 |
2.教师信息表
教工号为主索引,为所在院号建立索引,通过该索引和学院信息表建立关联。
表 3.2 教师信息表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
教工号 | char | 10 | F | 主键 |
姓名 | char | 10 | F |
|
性别 | char | 2 | F |
|
职称 | varchar | 20 | F |
|
密码 | char | 10 | F |
|
所在院号 | char | 10 | F | 外键 |
电话 | varchar | 20 | T | |
学历 | char | 10 | F |
|
3.课程信息表
课程编号为主索引。
表 3.3 课程信息表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
课程号 | char | 10 | F | 主键 |
课程名称 | varchar | 20 | F |
|
4.学生选课表
学号、课程号共同做主索引,通过学号和学生信息表建立关联,通过课程
号和课程基本表建立关联。
表 3.4 学生选课表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
学号 | char | 10 | F | 主键 |
课程号 | char | 10 | F | 主键 |
成绩 | smallint | 2 | T |
|
5.班级信息表
班级号做主索引,为所属专业号建立索引,通过该索引和专业信息表建立关
联。
表 3.5 班级信息表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
班级号 | char | 10 | F | 主键 |
班级名 | varchar | 20 | F |
|
所属专业号 | char | 10 | F | 外键 |
人数 | int | 4 | T |
|
6.教师授课表
分别为教工号和课程号建立索引,通过教工号和教师信息表建立关联,通过课程号和课程信息表建立关联。
表 3.6 教师授课表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
教工号 | char | 10 | F | 主键 |
课程号 | char | 10 | F | 主键 |
指导人数 | int | 4 | T |
|
7.专业信息表
为所在系号建立索引,通过所在系号和系信息表建立关联。
表 3.7 专业信息表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
专业号 | char | 10 | F | 主键 |
专业名称 | varchar | 20 | F |
|
所在系号 | char | 10 | F | 外键 |
8.系信息表
为所在院号建立索引,通过所在院号和院信息表建立关联。
表 3.8 系信息表
字段名 | 类型 | 宽度 | 是否允许空 | 索引 |
系号 | char | 10 | F | 主键 |
系名 | varchar | 20 | F |
|
所在院号 | char | 10 | F | 外键 |
四.页面展示
登录界面如图
代码展示
确定按扭中添加代码:
Dim s As String
If Request.QueryString("reboot") = "1" Then
s = Session("type")
Else
s = Request.QueryString("type")
End If
Dim db As New dbaccess
db.para.Add("@user", bianhao.Text.Trim)
db.para.Add("@pwd", pwd.Text.Trim)
db.para.Add("@type", s)
db.runproc("login")
If db.retok Then
Session("user") = bianhao.Text.Trim
Session("type") = s
Select Case s
Case "0"
Response.Redirect("student.aspx")
Case "1"
Response.Redirect("teacher.aspx")
Case "2"
Response.Redirect("admin.aspx")
End Select
Else
Response.Redirect("登陆错误.aspx")
End If
五,免费源码获取
本文只展示了部分功能和源码,需要免费源码和文档