论文部分内容阅读
摘要:目前,各高校普遍采用了大学物理开放式实验管理模式。本文以红河学院大学物理实验辅助管理系统的开发为例,重点介绍系统的设计思想及主要技术的实现。
关键词:.NET;大学物理实验;辅助管理系统
中图分类号:G434文献标识码:B文章编号:1673-8454(2011)15-0048-02
一、 系统开发背景
首先,目前的人才培养方案中,“大学物理”课程的4学分包含理论课的3学分和实验课的1学分,即“大学物理实验”的1个学分必须与理论课的成绩一起计算后才能上报教务处。此外,我校“大学物理实验”没有独立的课程代码,不能直接在学校的选课系统中进行选课,历年教学中,都是由物理系单独安排时间进行实验教学。
其次,由于受到实验场地的限制,理论课教学班的学生人数超过了实验室能容纳的学生人数,即理论课的排课与实验课的排课不一致。
第三,前几轮“大学物理实验”的开放式实验教学中采取“手工排课”的方法,工作量大、选课时间长。
大学物理实验辅助管理系统可以很好地解决以上矛盾,通过学校选课系统导出Excel格式的学生名单,可以打破理论教学班级的限制,学生自由选择时段或指导教师,实现成绩按照“理论教学”、“实验教学班”提取,并按照教务处提供的“理论教学班”上报最终成绩,是基于学校选课系统支持之下的实验辅助管理系统。
二、系统设计
1.系统的开发环境
该系统的服务器端操作系统采用Windows 2003 Server,Visual Studio .NET2005作为开发平台,C#作为开发语言,SQL Server 2005作为数据库。此外,选用B/S结构为基本框架,可以直接在校园网上运行。
2.系统数据库设计
(1)用户信息表(Users),包括:用户名(User_id)、用户密码(User_password)、用户类型(User_power)。
(2)学生信息表(Student),包括:学生学号(Student_id)、学生姓名(Student_name)、学生所在教学班号(Student_classid)。
(3)实验课程信息表(Course),包括:标识实验唯一ID号(Course_id)、实验名称(Course_name)、上课时间(Course_time)、上课人数(Course_people)、上课教师1(Couse_teacher1)、上课教师2(Couse_teacher2)。
(4)学生已选实验信息记录表(Student_course),包括:学生学号(Student_id)、学生所选实验唯一ID号(Course_id)、所选实验成绩1(Course_ grade1)、所选实验成绩2(Course_grade2)、所选实验总成绩(Course_ grade)。
3.系统功能模块设计
(1)用户管理模块。该模块主要负责管理员、教师及学生信息的管理。管理员具有实验辅助管理系统的最高权限,可添加、删除、修改管理员、教师及学生信息。每个学生有教务处提供的唯一学号,管理员在此模块批量导入或添加学生信息后,学生才可以登录。
(2)实验课程管理模块。该模块负责管理所有的实验课程。主要功能包括添加、删除、修改、查找实验课程信息。只有管理员才具有对实验课程信息进行维护的权限。实验课程管理模块是实验选课管理模块的基础,只有在实验课程管理中添加的实验课程,学生才能进行选课。
(3)选课管理模块。该模块负责选课的管理。主要功能包括删除、统计学生选课信息。它以实验辅助管理系统中的信息为基础,可统计选择各个实验的人数。
(4)成绩管理模块。管理员可录入、修改学生实验成绩,并按需要进行各种查询和提取。教师只对自己所指导实验的成绩具有录入和修改权限。系统可根据每两个实验成绩,生成学生的最终成绩。
(5)学生选课模块。学生具有对所开设的实验信息进行浏览、选择的权限,可以查询选课情况。
三、系统主要技术实现
1.建立数据库连接
在web.config文件中添加如下数据库连接的配置:
在代码中调用以下语句实现对数据库的连接:
SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings[“dsn”])
2.通过Session判断用户登录方案
在登录过程中,将用户名和用户类型保存在Session变量中,在页面加载过程中,既可以通过Session变量值,判断用户类型,使网页定向到不同的访问页面,又可以防止非法用户通过地址栏非法访问网站内部网页。当用户退出时,需要将网页中存放的关于用户登录信息的Session变量清空,以确保安全退出。
3.学生名单批量导入
学生名单可以采用单个录入和批量导入的方法,在实现批量导入Excel格式学生名单时,需要在程序中添加以下主要代码:
string strPath="c:test" ".xls";
File1.PostedFile.SaveAs(strPath);
string mystring="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=’" strPath "’; Extended Properties=Excel 5.0";
OleDbConnection cnnxls=new OleDbConnection(mystring);
cnnxls.Open();
OleDbDataAdapter myDa=new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
myDa.Fill(myDs,"student");
4.学生选课操作
在学生进入选课页面后,系统会根据学生登录信息判断学生是否在系统中选过实验课程,然后根据CheckBox控件选中数量,执行不同操作。当CheckBox控件没有选择或选择个数多于一个时,系统将分别提示“您没有选择任何时段!”和“您只能选择一个时段!”。当CheckBox控件选择数量为一个时,系统根据当前CheckBox控件所在DataTable对应的值作出判断:
if(ds1.Tables["student_course"].Rows.Count!=0),表示学生已经选过这个时段的实验课程;
if(chosen>=Convert.ToInt16(dr2[0].ToString())),表示当前所选时段的实验人数已满,学生需要重新选择。
最后,当上述条件都不成立时,学生选课才能成功,主要代码如下:
string strsql="insert into student_course(Student_id, Course_id) values(@Student_id,@Course_id)";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@Student_id", SqlDbType.VarChar,50));
cm.Parameters.Add(new SqlParameter("@Course_id",
SqlDbType.VarChar,50));
cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
cm.Parameters["@Course_id"].Value=id.ToString();
5.学生成绩录入和提取
每个时段都有两名实验指导教师,每名指导教师登录系统后只能对自己所指导的实验成绩具有录入和修改的权限。而管理员进入系统后除了对所有实验成绩具有添加和修改的权限,还能分别按“实验时段”、“教学班号”和“实验班号”查询和提取学生实验成绩,以下为按“实验时段”查询成绩主要代码。
if(Ddl_way.SelectedItem.Text=="实验时段"
{
SqlConnection cn2=new SqlConnection(strconn);
string strsql1="select distinct Course_time from course";
SqlCommand cm2=new SqlCommand (strsql1,cn2);
cn2.Open();
SqlDataReader dr2=cm2.ExecuteReader();
while(dr2.Read())
{
Ddl_name.Items.Add(new ListItem(dr2["Course_time"]. ToString()));
}
cn2.Close();
}
四、结束语
我校大学物理实验辅助管理系统自开放使用以来,取得了较好的教学效果,也推动了开放式实验室的发展。
参考文献:
[1]吴晨,孙少波,叶莞.ASP.NET数据库项目案例导航[M].北京:清华大学出版社,2004.
[2]张婷,汪渊,朱鹏.基于B/S结构的实验室管理系统设计与实现[J].电脑开发与运用,2010(16).
[3]焦铬,刘辉,陈受凯.基于.Net的开放式实验室管理系统的设计与实现[J].科技管理研究,2009(12).
(编辑:杨馥红)
关键词:.NET;大学物理实验;辅助管理系统
中图分类号:G434文献标识码:B文章编号:1673-8454(2011)15-0048-02
一、 系统开发背景
首先,目前的人才培养方案中,“大学物理”课程的4学分包含理论课的3学分和实验课的1学分,即“大学物理实验”的1个学分必须与理论课的成绩一起计算后才能上报教务处。此外,我校“大学物理实验”没有独立的课程代码,不能直接在学校的选课系统中进行选课,历年教学中,都是由物理系单独安排时间进行实验教学。
其次,由于受到实验场地的限制,理论课教学班的学生人数超过了实验室能容纳的学生人数,即理论课的排课与实验课的排课不一致。
第三,前几轮“大学物理实验”的开放式实验教学中采取“手工排课”的方法,工作量大、选课时间长。
大学物理实验辅助管理系统可以很好地解决以上矛盾,通过学校选课系统导出Excel格式的学生名单,可以打破理论教学班级的限制,学生自由选择时段或指导教师,实现成绩按照“理论教学”、“实验教学班”提取,并按照教务处提供的“理论教学班”上报最终成绩,是基于学校选课系统支持之下的实验辅助管理系统。
二、系统设计
1.系统的开发环境
该系统的服务器端操作系统采用Windows 2003 Server,Visual Studio .NET2005作为开发平台,C#作为开发语言,SQL Server 2005作为数据库。此外,选用B/S结构为基本框架,可以直接在校园网上运行。
2.系统数据库设计
(1)用户信息表(Users),包括:用户名(User_id)、用户密码(User_password)、用户类型(User_power)。
(2)学生信息表(Student),包括:学生学号(Student_id)、学生姓名(Student_name)、学生所在教学班号(Student_classid)。
(3)实验课程信息表(Course),包括:标识实验唯一ID号(Course_id)、实验名称(Course_name)、上课时间(Course_time)、上课人数(Course_people)、上课教师1(Couse_teacher1)、上课教师2(Couse_teacher2)。
(4)学生已选实验信息记录表(Student_course),包括:学生学号(Student_id)、学生所选实验唯一ID号(Course_id)、所选实验成绩1(Course_ grade1)、所选实验成绩2(Course_grade2)、所选实验总成绩(Course_ grade)。
3.系统功能模块设计
(1)用户管理模块。该模块主要负责管理员、教师及学生信息的管理。管理员具有实验辅助管理系统的最高权限,可添加、删除、修改管理员、教师及学生信息。每个学生有教务处提供的唯一学号,管理员在此模块批量导入或添加学生信息后,学生才可以登录。
(2)实验课程管理模块。该模块负责管理所有的实验课程。主要功能包括添加、删除、修改、查找实验课程信息。只有管理员才具有对实验课程信息进行维护的权限。实验课程管理模块是实验选课管理模块的基础,只有在实验课程管理中添加的实验课程,学生才能进行选课。
(3)选课管理模块。该模块负责选课的管理。主要功能包括删除、统计学生选课信息。它以实验辅助管理系统中的信息为基础,可统计选择各个实验的人数。
(4)成绩管理模块。管理员可录入、修改学生实验成绩,并按需要进行各种查询和提取。教师只对自己所指导实验的成绩具有录入和修改权限。系统可根据每两个实验成绩,生成学生的最终成绩。
(5)学生选课模块。学生具有对所开设的实验信息进行浏览、选择的权限,可以查询选课情况。
三、系统主要技术实现
1.建立数据库连接
在web.config文件中添加如下数据库连接的配置:
在代码中调用以下语句实现对数据库的连接:
SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings[“dsn”])
2.通过Session判断用户登录方案
在登录过程中,将用户名和用户类型保存在Session变量中,在页面加载过程中,既可以通过Session变量值,判断用户类型,使网页定向到不同的访问页面,又可以防止非法用户通过地址栏非法访问网站内部网页。当用户退出时,需要将网页中存放的关于用户登录信息的Session变量清空,以确保安全退出。
3.学生名单批量导入
学生名单可以采用单个录入和批量导入的方法,在实现批量导入Excel格式学生名单时,需要在程序中添加以下主要代码:
string strPath="c:test" ".xls";
File1.PostedFile.SaveAs(strPath);
string mystring="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=’" strPath "’; Extended Properties=Excel 5.0";
OleDbConnection cnnxls=new OleDbConnection(mystring);
cnnxls.Open();
OleDbDataAdapter myDa=new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
myDa.Fill(myDs,"student");
4.学生选课操作
在学生进入选课页面后,系统会根据学生登录信息判断学生是否在系统中选过实验课程,然后根据CheckBox控件选中数量,执行不同操作。当CheckBox控件没有选择或选择个数多于一个时,系统将分别提示“您没有选择任何时段!”和“您只能选择一个时段!”。当CheckBox控件选择数量为一个时,系统根据当前CheckBox控件所在DataTable对应的值作出判断:
if(ds1.Tables["student_course"].Rows.Count!=0),表示学生已经选过这个时段的实验课程;
if(chosen>=Convert.ToInt16(dr2[0].ToString())),表示当前所选时段的实验人数已满,学生需要重新选择。
最后,当上述条件都不成立时,学生选课才能成功,主要代码如下:
string strsql="insert into student_course(Student_id, Course_id) values(@Student_id,@Course_id)";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@Student_id", SqlDbType.VarChar,50));
cm.Parameters.Add(new SqlParameter("@Course_id",
SqlDbType.VarChar,50));
cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
cm.Parameters["@Course_id"].Value=id.ToString();
5.学生成绩录入和提取
每个时段都有两名实验指导教师,每名指导教师登录系统后只能对自己所指导的实验成绩具有录入和修改的权限。而管理员进入系统后除了对所有实验成绩具有添加和修改的权限,还能分别按“实验时段”、“教学班号”和“实验班号”查询和提取学生实验成绩,以下为按“实验时段”查询成绩主要代码。
if(Ddl_way.SelectedItem.Text=="实验时段"
{
SqlConnection cn2=new SqlConnection(strconn);
string strsql1="select distinct Course_time from course";
SqlCommand cm2=new SqlCommand (strsql1,cn2);
cn2.Open();
SqlDataReader dr2=cm2.ExecuteReader();
while(dr2.Read())
{
Ddl_name.Items.Add(new ListItem(dr2["Course_time"]. ToString()));
}
cn2.Close();
}
四、结束语
我校大学物理实验辅助管理系统自开放使用以来,取得了较好的教学效果,也推动了开放式实验室的发展。
参考文献:
[1]吴晨,孙少波,叶莞.ASP.NET数据库项目案例导航[M].北京:清华大学出版社,2004.
[2]张婷,汪渊,朱鹏.基于B/S结构的实验室管理系统设计与实现[J].电脑开发与运用,2010(16).
[3]焦铬,刘辉,陈受凯.基于.Net的开放式实验室管理系统的设计与实现[J].科技管理研究,2009(12).
(编辑:杨馥红)