张崇晖,周 燕
(南通航运职业技术学院 机电系,江苏 南通 226010)
“构建以能力为本位,以职业实践为主线,以项目课程为主体的项目化专业课程体系”已成为全国职教课程改革的总方向。然而目前现有的教务管理系统并不适用于更富于主动性、独立性和创造性的项目化教学。为了推进项目化教学改革的深入,本文根据南通航运职业技术学院机电系采用的“3+2+1”教学模式,系统设计以Visual Studio.NET为工具,开发语言为Visual C#,数据库采用SQL SERVER,采用浏览器/服务器(Browser/Server)型的分布式网络数据库,构架出一套适用于项目化课程的教学管理信息系统。
项目化课程教学相对于传统的教学模式更注重实践教学与能力培养,突出教学的实践性,注重学生组织、沟通、合作、自主学习、独立思考等关键能力的培养,教学内容更加贴近企业实际情况。南通航运职业技术学院机电系提出的机电类专业“3+2+1”教学模式,即三个学期的专业基础课、两个学期的专业项目课、一个学期的毕业设计与顶岗实习,理论与实践教学时数的比例为1:1。与传统的教学模式相比,项目化课程教学将学习的自主权交还给学生,学生可以自行选择专业方向、学习课程以及任课老师,项目化教学的场所为理实一体化实训室。[1]
项目化课程教学管理系统除了基本的教学管理常规模块还包含以下子系统:
(1)项目化课程选课系统。学生在了解专业方向和就业岗位后,可以根据自己的兴趣和特长和就业前景选择专业方向,选定专业方向后必须修完本专业方向培养计划中所规定的课程,选课方式可以有以下两种:①开放选课。学生选择专业方向即意味着选择该方向的一系列项目化课程。有时候同一门课由多名教师任教,学生还可以根据以往学生的评价选择适合自己老师,开放选课是即“学生挑老师”。开放选课中如果选择该课程的人数不超过最大限定数(即实验/实训室所能承受的最大人数),则选择此门课程的同学自动中选,选课成功。②人工选课。如果选课人数超过最大限定数,将进入到人工选课阶段。由任课老师进行选择,即“老师挑学生”。最终未中选的学生将由管理员进行人工选课。
(2)实验/实训室管理系统。该系统除了用于实验/实训室的排课和日常管理,还可以供给学生用于计划外的实验实践课程,如大学生创新实验项目、学生自己感兴趣的实验项目等。实验/实训室在网上发布本实验/实训室可以开放的时段、实验项目和可用的仪器设备。学生在网上提交申请,实验/实训室负责人审批后学生可以进行实验。
(3)课程评价系统:课程结束学生对该课程的评价有助于帮助老师改进教学方法,提高教学质量。评价的结果经管理员审核后认为有效评价后将出现在课程评价里,而有效的评价将作为新一届学生选课的主要依据。评价分为五星评分和评语两部分,五星评分简单直观,从教学态度、教学内容、教学方法、教学效果这四方面进行评价。评语设定为不超过300字的字符。
统一建模语言(Unified Modeling Language,UML)是1997年对象管理组织发布的一套统一标准建模符号。UML提供了多种类型的模型描述图,它使得开发中的应用程序更易理解。用例图由角色(表示一个系统用户)、用例以及角色和用例之间的关系使用简单的线段来描述,开发者根据用例图以一种可视化的方式理解系统的功能需求。[2]通过对系统功能需求的分析,进一步确定系统的工作过程、所需的功能、系统用户及其职责,由此可绘制得到项目化教学管理信息系统的总体用例图,如图1所示。
图1 项目化教学管理信息系统的总体用例图
数据库设计在系统的开发过程中非常重要,它直接影响到系统的效率、稳定性和可维护性。根据系统分析可以发现系统要保存的主要数据是用户信息、课程信息、实验/实训室信息、论文选题信息等,根据这些要素,设计诸如用户信息表、教师信息表、学生信息表、课程信息表、实验/实训室信息、论文选题信息表等内容。
教务管理系统的核心就是各个数据库的操作,在ASP.NET2.0中数据库的各种操作主要使用ADO.NET来完成。ADO.NET是一个很庞大的类,它允许和不同类型的数据源以及数据库进行交互。ADO.NET与SQL Server数据库的连接代码如下:
string connstring="server=servername;uid=username;pwd=password;database=dbname"
SqlConnection conn=new SqlConnection(connstring);
conn.Open();
(1)系统登陆模块的实现。系统登录模块的主要作用在于识别用户、验证用户,并根据用户类型提供相应的操作权限,保护系统信息和功能的安全。在系统的登录界面中,最关键、需要解决的问题是用户的验证,验证成功后将用户导航到不同的页面。[3]在这里将对用户的验证独立成一个模块。在本系统中判断登录类型,1为学生,2为老师,3为管理员,登录系统模块实现的代码如下:
public int ST_LoginType(string UserID,string UserPassword)
{string sqlString="select type from UserID where st_name='"+UserID+"'";
object obj=SqlHelper.ExecuteScalar(st_SqlString,CommandType.Text,sqlString);
if(obj!=null&&obj.ToString()!="0")
return int.Parse(obj.ToString());
else
return-1;
}
(2)项目化课程选课系统的实现。项目化课程选课系统要求学生选定专业方向后,必须修完本专业方向培养计划中所规定的课程,学生选择的一系列项目化课程实际上是选择一个专业方向。
ASP.NET2.0中数据访问的关键是数据控件。数据控件主要是实现对数据的连接访问、执行SQL语句或存储过程等任务,此外数据控件还提供了包括排序分页更新删除和插入等功能,执行这些功能无需开发人员编写大量代码。[4]在本系统中选课功能实现就是通过DataGrid控件实现,程序如下:
{
foreach(DataGridItem item in dgBulletin.Items)
{
if item.ItemType==ListItemType.Item item.ItemType==ListItemType.AlternatingItem)
{
CheckBox chkID=(CheckBox)item.FindControl"LoginID";if(LoginID.Checked true)
int CourseID=int.Parse item.Cells[1].Text;
int StuID=int.Parse(Session["StudentID"].ToString());
CourseBiz.Student stu=new CourseBiz.Student();
stu.InsertStudentCourse(StudentID,CourseID);
}
}
}
Response.Write("〈script〉alert('选课成功!')〈/script〉");
(3)实验/实训室管理系统的实现。该系统除了用于实验/实训室的排课和日常管理,还可以供给学生用于计划外的实验实践课程,如大学生创新实验项目、学生自己感兴趣的实验项目等。实验/实训室在网上发布本实验/实训室可以开放的时段、实验项目和可用的仪器设备。学生在网上提交申请,实验/实训室负责人审批后学生可以进行实验。[5]以下这段程序实现了按下预约按钮后,系统先查询该生是否满足预约条件以及实验室是否满员。
if(e.CommandName=="BookBatch")
{=int.Parse(e.CommandArgument.ToString());
string theID=BatchList.Rows[int.Parse(e.CommandArgument.ToString())].Cells[m_ColID].Text;
long theIntID=long.Parse(theID);
long StudentID=long.Parse(Users.GetCurrentTableID());
Booking aBooking=new Booking();
aBooking.BatchID=theIntID;
aBooking.StudentID=StudentID;
aBooking.Time=DateTime.Now;
aBooking.Grade="未定";
aBooking.Mark=0;
if(SingleInitials.DbAccess.GetStudentHasBooking(StudentID,theIntID))
{
lbMsg.Text="预约失败,因为你已经预约了这个批次!";
return; }
if(SingleInitials.DbAccess.GetStudentHasABookingInATime(StudentID,theIntID))
{lbMsg.Text="预约失败,因为在相同的时间点你只能预约一个实验批次";
return;}
if(SingleInitials.DbAccess.GetABatchIsFull(theIntID))
{lbMsg.Text="预约失败,该实验批次预约人数已经达到上限";
return;}
if(SingleInitials.DbAccess.AddABooking(aBooking))
{BindDisplayList(0,"");lbMsg.Text="预约成功!";}
}
(4)课程评价系统的实现。课程结束后,学生可以对该课程的评价,评价的结果经管理员审核后认为有效评价后将出现在课程评价里。评价分为五星评分和评语两部分,五星评分简单直观,从教学态度、教学内容、教学方法、教学效果这四方面进行评价,评语设定为不超过300字的字符。
(5)毕业论文(设计)选题系统的实现。导师可以在该系统中发布自己的主要研究领域,上传自己主要研究领域代表论文。学生通过浏览该系统对自己的毕业论文(设计)有一定的初步认识,最终在系统中选择自己的毕业论文(设计)导师,并通过邮件联系导师。
(6)课程学习网站(网络资源库)的实现。课程学习网站(网络资源库)教师在这里发布课程学习的资料包含说课PPT、教学视频录像、教学课件、试题习题集以及该课程领域的最新动态,并可以和学生展开在线讨论。当前主流的视频格式是FLV(FLASH VIDEO)。FLV流媒体格式文件小,加载速度快,适合于网络播放。在播放FLV视频时,通过自定义videoInfo方法来播放视频并显示视频信息。先使用SQL语句来查询视频的详细信息,并将这些信息保存在全局变量中,最后将调用公共类中的GetFlashText方法来显示并播放视频。[6]程序如下:
protected void videoInfo()
{
//编写SQL语句查询视频的详细信息
string sql="select*from videoInfo where id="+Request["id"];
SqlDataReader sdr=operateData.getRow(sql);
sdr.Read();
//获取视频的路径
tile=sdr["tile"].ToString();
//获取视频发布日期
videoDate=sdr["videoDate"].ToString();
//获取发布人名称
Name=sdr["userName"].ToString();
//获取视频标题
videoTitle=sdr["videoTitle"].ToString();
//获取视频内容
videoContent=sdr["videoContent"].ToString();
//获取视频类型
videoType=sdr["videoType"].ToString();
//判断视频路径开头字符串是否为http://
if(!link.StartsWith("http://"))
{
//获取当前的绝对路径
string sss=Request.Url.AbsoluteUri;
//查询play.aspx在字符串中的位置
int idx=sss.IndexOf("play.aspx");
//获取指定字符串
sss=sss.Substring(0,idx);
link=sss+link;
}
//显示播放器并可以播放视频
this.Literal1.Text=operateMethod.GetFlashText(link);
}
项目化课程教学管理系统是专门为高职院校项目化教学开发的应用系统。该系统实现了项目化课程教学管理的基本功能,有效地解决了传统教学管理系统在项目化教学中的弊端,有助于激发学生的学习动力,更好地实现理论教学与实践教学的有机结合,从而培养出符合企业需求的技术技能型人才。
[1]曹京生.机电类类专业3+2+1教学模式研究[J].实验技术与管理,2008(12):137-139.
[2]BoggsW,BoggsM.UMLwithRationalRose从入门到精通[M].邱仲潘 译.北京:电子工业出版社,2000.
[3]罗斌.ASP.NET 2.0管理系统开发(C#版)经典案例[M].北京:水利水电出版社,2007.
[4]斯梅切尔.C#和.NET 2.0实战:平台、语言与框架[M].北京:人民邮电出版社,2008.
[5]刘琳.基于ASP.NET的开放性实验教学管理系统设计与实现[D].成都:电子科技大学,2010.
[6]CristianDariel,KariiWatson.ASRNET2.0电子商务开发实战[M].施游 译.北京:人民邮电出版社,2007.