学生选课管理信息系统 - 范文中心

学生选课管理信息系统

02/20

课 程 设 计

课程设计名称: 数据库应用系统课程设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 :

课程设计时间: 2011-12-19至2011-12-30

专业课程设计任务书

学生选课管理信息系统

1 概述

当今社会是一个信息时代,计算机技术发展迅速,同时信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。为了加强对学生选课的规范管理,减轻教学管理人员的工作量, 同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规范,系统设计开发了基于B/S模式的学生在线选课系统。该系统从学生网上自主选课,以及教师的课程发布两个大方面进行设计,实现了学生的在线信息查询、选课功能以及教务处对课程信息发布的管理等功能。 系统功能基本要求:

教师信息, 包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,健康状况等。学生信息,包括学号、姓名、所属院系、已选课情况等。教室信息,包括,可容纳人数、空闲时间等。选课信息,包括课程编号、课程名称、任课教师、选课的学生情况等。成绩信息,包括课程编号、课程名称、学分、成绩。按一定条件可以查询。

学生选课系统是一个学校不可缺少的部分, 它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点, 如:效率低、保密性差、时间长、将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

2 需求分析

学生选课系统是一个学校不可缺少的部分, 它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点, 如:效率低、保密性差、时间长、将产生大量的文件和数据,

这对于查找、更新和维护都带来了不少的困难。网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。加强对学生选课的规范管理,减轻教学管理人员的工作量, 同时更好地利用网络和信息化手段做到对学生选课工作更及时和更规范。

图1. 流程图

图2. 模块图

3 概念结构设计

程序有三个实体分别是:教师、课程、学生。教师与课程实体以授课联系,课程与学生实体以选修联系。教师拥有:姓名、性别、教师编号、职称、学历等属性。课程拥有:课程名、课程号、课程名、上课时间、上课地点等属性。学生拥有:姓名、学号、班级、专业等属性。

图3.E-R 图

4逻辑结构设计

软件环境:windows 环境 Microsoft SQL Server2005

Microsoft Visual Studio 2008

硬件环境:显示器 VGA 或更高分辨率显示器

处理器 500 MHz

内存 512M 逻辑结构设计:

教师(教师姓名教师编号教师性别、职称、学历、毕业院校) 课程(课程名、课程号、代课老师、上课时间) 学生(姓名、学号、性别、班级、专业)

5源代码及系统截图

图4. 程序流程图

主界面代码:

protected void Button1_Click(object sender, EventArgs e)

{

if (TextBox1.Text == "" || TextBox2.Text == "") {

Response.Write("");

return; }

string ConnSql =

System.Configuration.ConfigurationManager.ConnectionStrings["学生选课ConnectionString"].ConnectionString;

SqlConnection Conn = new SqlConnection(ConnSql); Conn.Open();

string selectStr = "select * from 学生 where 学号='" + TextBox1.Text + "' and 密码='" + TextBox2.Text + "'";

SqlCommand cmd = new SqlCommand(selectStr, Conn); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) {

Session["ID"] = reader["学号"]; Session["pass"] = reader["密码"]; Response.Redirect("denglu.aspx"); } else {

Response.Write("");

}

reader.Close(); Conn.Close(); }

protected void Button2_Click(object sender, EventArgs e) {

Response.Write("

href='javascript:window.opener=null;window.close()'>关闭窗口");

}

protected void Button3_Click(object sender, EventArgs e) {

if (TextBox1.Text == "" || TextBox2.Text == "") {

Response.Write("");

return; }

string ConnSql =

System.Configuration.ConfigurationManager.ConnectionStrings["学生选课ConnectionString"].ConnectionString;

SqlConnection Conn = new SqlConnection(ConnSql); Conn.Open();

string selectStr = "select * from 教师 where 教师编号='" + TextBox1.Text + "' and 密码='" + TextBox2.Text + "'";

SqlCommand cmd = new SqlCommand(selectStr, Conn); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) {

Session["ID"] = reader["教师编号"]; Session["pass"] = reader["密码"]; Response.Redirect("denglu2.aspx"); } else {

Response.Write("");

}

reader.Close(); Conn.Close(); 选课代码:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

DataClassesDataContext db = new DataClassesDataContext(); txtNumber.Text = db. 课程.ToList()[ddlName.SelectedIndex].课程号.ToString();

txtTeacher.Text = db. 课程.ToList()[ddlName.SelectedIndex].代课教师.ToString();

txtTime.Text = db. 课程.ToList()[ddlName.SelectedIndex].上课时间.ToString();

} protected

void

SqlDataSource2_Selecting(object

sender,

SqlDataSourceSelectingEventArgs e)

{ }

protected void Button2_Click(object sender, EventArgs e) {

Response.Redirect("denglu.aspx"); }

protected void Button1_Click(object sender, EventArgs e) {

SqlConnection

conn

=

new

SqlConnection(ConfigurationManager.ConnectionStrings["学生选课ConnectionString"].ConnectionString);//创建连接对象

SqlCommand insertCmd = new SqlCommand("insert into 选课(课程号, 学号, 课程名, 代课老师) values(@id,@number,@name,@teacher)", conn);

insertCmd.Parameters.Add("@id", SqlDbType.Int);//设置参数

insertCmd.Parameters.Add("@number", SqlDbType.Int); insertCmd.Parameters.Add("@teacher", SqlDbType.Char, 10); insertCmd.Parameters.Add("@name", SqlDbType.Char, 10); insertCmd.Parameters["@id"].Value =txtNumber.Text; //为参数赋值

insertCmd.Parameters["@number"].Value Session["ID"].ToString();

insertCmd.Parameters["@name"].Value =ddlName.SelectedValue;

insertCmd.Parameters["@teacher"].Value = txtTeacher.Text; conn.Open();

int flag = insertCmd.ExecuteNonQuery(); //执行添加 if (flag > 0) //如果添加成功 {

lblMessage.Text = "成功添加选课信息!";

=

}

else //如果添加失败 {

lblMessage.Text = " 添加选课信息失败,查看输入是否正确!";

}

conn.Close(); }

教师个人信息显示:

protected void Page_Load(object sender, EventArgs e) {

SqlConnection

conn

=

new

SqlConnection(ConfigurationManager.ConnectionStrings["学生选课ConnectionString"].ConnectionString); //创建连接对象

SqlCommand cmd = conn.CreateCommand();

cmd.CommandText = "select 教师姓名, 教师编号, 性别, 职称 from 教师 where 教师编号='" + (string)Session["ID"] + "'";

//打开连接对象,建立到数据库的连接 conn.Open();

//建立DataReader 对象迅速获取查询结果 SqlDataReader dr = cmd.ExecuteReader(); //显示信息

GridView1.DataSource = dr; GridView1.DataBind(); dr.Close(); conn.Close(); }

protected void Button1_Click(object sender, EventArgs e) {

Response.Redirect("denglu2.aspx"); 学生信息显示: SqlConnection

conn

=

new

SqlConnection(ConfigurationManager.ConnectionStrings["学生选课ConnectionString"].ConnectionString); //创建连接对象

SqlCommand cmd = conn.CreateCommand();

cmd.CommandText = "select 学号, 姓名, 性别 from 学生 where 学号='" + (string)Session["ID"]+"'" ;

//打开连接对象,建立到数据库的连接 conn.Open();

//建立DataReader 对象迅速获取查询结果 SqlDataReader dr = cmd.ExecuteReader(); //显示信息

GridView1.DataSource = dr; GridView1.DataBind(); dr.Close(); conn.Close(); }

学生选课代码:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

{ }

protected void Button1_Click(object sender, EventArgs e) {

Response.Redirect("denglu.aspx"); }

SqlConnection

conn

=

new

SqlConnection(ConfigurationManager.ConnectionStrings["学生选课

ConnectionString"].ConnectionString); //创建连接对象

SqlCommand cmd = conn.CreateCommand();

cmd.CommandText = "select 学号, 姓名, 性别 from 学生 where 学号='" + (string)Session["ID"]+"'" ;

//打开连接对象,建立到数据库的连接 conn.Open();

//建立DataReader 对象迅速获取查询结果 SqlDataReader dr = cmd.ExecuteReader(); //显示信息

GridView1.DataSource = dr; GridView1.DataBind(); dr.Close(); conn.Close(); }

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

{ }

protected void Button1_Click(object sender, EventArgs e) {

Response.Redirect("denglu.aspx");

图5. 登陆界面

图6. 学生登录

图7. 学生基本信息

图8. 学生选课

图9. 课程退选

图10. 教师登录

图11教师个人信息

参考文献

1. 边肇祺,模式识别(第二版),北京:清华大学出版社,1988,25~35 2. 李永忠,几种小波变换的图像处理技术,西北民族学院学报(自然科学版),2001.6,22(3),15~18

3. 《用ASP 轻松开发Web 网站》刘 杰等 北京希望电子出版社 2000.9 4. 《ASP 网页制作教程》王国荣 人民邮电出版社 2000.6 5. 张绣兰. ASP网站建设实录. 北京希望电子出版社. 2008

心得体会

经过不断的修改和完善,我选择的课题学生选课系统基本完成。其功能基本符合网络上的用户要求,能够在线选课,在线添加课程,在线查询课程等。虽然由于自己知识上的不足,有些地方有少许错误和容错性能比较低,但是还是可以基本完成选课系统应有的功能。

通过毕业设计过程我会到了许多知识,这也是在大学里又一次比较完整的完成一个小项目,虽然过程中遇到了许多困难,在同学和老师的帮助下一一克服了。通过不断的发现问题,总结问题和解决问题的过程,使我在此次毕业设计活动中不断的提高,和得到了宝贵的经验。

在明确用户需求阶段,网上查阅了相关资料,并浏览了部分网上选课系统,分析总结后将系统分为学生信息管理、教师信息管理、课程信息管理、留言信息管理和权限的判断五个模块。

在系统分析阶段,查阅了大量基于不同技术的网站开发的文章,具备了一定的理论基础,比较分析后采用了ASP 编程技术和SQL Server 2005数据库,在Windows XP 操作系统环境下,运用VS2008开发工具,开发了这个基于.NET 结构的学生在线选课系统的实现。本系统不但有良好的系统运行稳定性、可靠性和实用性,而且操作简单,维护方便,具有一定的实用价值。

系统进入编程阶段后,遇到了很多的困难,主要是数据的存取。但经过自己的努力及老师的指导,最终解决了这些问题,开发出一个学生选课系统,并达到了预期的设想。

虽然系统还有很多不足之处,如:程序中错误处理和输入控制不够全面,可能导致输入无效引发错误。但在整个开发过程中我学到了很多的知识,增强了动手能力,积累了解决各种难题的经验。同时也让我发现了自己的许多不足之处,有待在将来的工作中进一步的学习和完善,掌握和运用更多的知识。

课程设计老师和同学们的的关心和指导下完成的,本人对学生选课系统有了较深刻的认识,也具备了一定的实际开发经验。认识到开发系统首先要明确用户的需求,然后进行系统分析,其次构建系统模型、建立完善的数据库,接着编写代码,最后测试系统。对顺利完成本课题起到了极大的作用,在此向他们表示衷

心的感谢!


相关内容

  • 学生网上选课系统毕业论文
    题 目:专 业:准考证号:学生姓名:指导教师:起讫日期: 毕 业 论 文 学生网上选课系统 摘 要 随着在校大学生的不断扩增,学生选课系统也是在学校对学生管理方面中不可缺少的一部分.过去的选课方法是采用人工的方法去管理文件档案,而这种管理方 ...
  • 教务管理系统质量分析报告
    教务管理系统 质量分析报告 1. 引言(概述) 1.1 编写目的 为了便于涉及到软件开发的其他部门的工程师,以及测试结束后进行后续工作的工程师了解本软件在经过测试工程师的测试后达到了什么样的质量情况,软件测试组长编写了该文档. 1.2 背景 ...
  • [精品]高中课程设置方案
    篇一:高中课程设置方案 陕西省从20XX年秋季开始全面实施普通高中新课程,根据教育部颁布的<基础教育课程改革纲要(试行)><普通高中课程方案(试验)><关于进一步加强普通高中新课程实验工作的指导意见>和陕 ...
  • 法学院课程介绍
    法学教学部课程简介 课程编号:070301 课程名称:<逻辑学> 课程类型:限选课 课程学时:64学时 适用专业:法学 先修课程:马克思主义哲学 课程简介: 本课程通过对逻辑学概念.原理.原则等内容的讲述,帮助学生获得探求真理. ...
  • 中国海洋大学毕业(设计)论文智能管理系统快速使用指南
    中国海洋大学 毕业论文(设计)系统快速使用指南 第一部分 主要角色操作功能说明 一.专业负责人功能概述 1.流程管理(专业负责人的主要操作功能部分) 专业负责人设置论文起止时间:指导教师申报课题后,专业负责人审核课题:专业负责人审核专业课题 ...
  • 南京大学网络教育学院学生手册
    南京大学网络教育学院学生手册 目录 一.南京大学网络教育学院简介 二.南京大学现代远程教育学生学籍管理实施细则 三.南京大学网络教育学院学生选课办法 四.南京大学网络教育学院学生平时成绩考核管理办法 五.南京大学网络教育学院课程免修修订细则 ...
  • 学员培训手册
    一.项目首页简介 (图1) 二.用户登录 注:可以登陆网址:http://www.teacher.com.cn (如图2-1), (图2-1) 点击"教师培训项目"即可进入各项目列表界面,在项目查找中选择"河北 ...
  • 数据库原理实验指导书(Mysql)
    数据库原理实验指导书 实验项目列表 实验一:数据库的定义实验 一.实验目的: 1.理解MySQL Server 6.0 服务器的安装过程和方法: 2.要求学生熟练掌握和使用SQL .T-SQL .SQL Server Enterpriser ...
  • 真题及答案
    2008年4月全国计算机等级考试四级笔试试卷 数据库工程师 选择题 (1) 数据模型定义子数据库中数据的组织.描述.存储和操作规范,可以分为概念模型.数据结构模 型和物理模型三大类.概念模型的典型代表是 A A )实体-联系模型 B )关系 ...
  • 东华大学新生攻略
    目录 PART 1 吃在东华--------- 01 1-1第一食堂 1-2第二食堂 PART 2 玩在东华 --------- 05 2-1第一食堂三楼 2-2大学生活动中心 PART 3 学在东华----------07 3-1学习地点 ...