在线作业管理系统的设计与实现
2009-11-26田洪云
田洪云
摘 要:随着网络教学的广泛应用,越来越多的教师选择让学生提交电子作业,但是对于电子作业的批改和成绩统计需要花费很多的时间,为了减轻老师批改电子作业的压力,并加强学生与教师的交流,我校设计了作业管理系统,实现了作业发布、作业提交、在线批改、成绩统计、在线交流等功能。系统运行取得较好的效果。
关键词:网络教学 作业管理 成绩统计
中图分类号:TP393.18文献标识码:B 文章编号:1673-8454(2009)19-0040-02
为解决学生提交作业、学生与教师交流等问题,我校设计了作业管理系统,可以帮助教师布置作业,收集学生作业,并在线批改。学生可以随时查看自己作业的批改情况,并可以与教师及时交流学习中的问题。系统利用ASP.NET 2.0和SQL Server 2000作为开发工具设计实现,编程语言为C#。
一、系统分析与设计
1.需求分析
一个作业管理系统的用户包括:学生、教师、教务人员和辅导员。学生可以查看未完成的作业、提交作业、欣赏范例、与教师交流;教师可以布置作业、批改作业、推荐优秀作品、针对作业情况进行统计等;教务人员需要对课程信息、班级信息、学生信息、教师信息和课程表信息进行管理;辅导员可以查看学生提交作业情况和教师批改作业情况,及时了解学生学习状况和老师的教学状况。
2.系统功能结构
根据需求分析,画出系统功能结构如图1所示。
3.数据库设计
根据系统需求和模块设计,需要建立7个数据表,分别为:班级信息表、学生信息表、教师信息表、课程信息表、课程表、作业信息表以及作业提交信息表。
班级信息表包括对班级信息的描述、班级编号、班级名称等字段。学生信息表用于存储学生的个人信息,包括学号、姓名、班级编号、密码等字段。教师信息表存储教师的相关信息,包括职工号、姓名、密码等字段。课程基本信息表有课程编号、课程名、课程描述等字段。课程表包含了教师与班级、课程之间的对应关系,包含教师职工号、班级编号、课程编号等字段。作业表有作业编号、作业名称、班级编号、课程编号、教师职工号、作业内容、作业发布日期、作业上交截止日期。作业提交信息表包括学号、作业编号、作业内容、作业地址、得分、评语及作业状态等字段,其中作业状态指是否设为范例;作业内容存放学生提交的文字性答案,作业地址存储内容为文件时,存放文件的地址。
二、系统实现
本系统利用SQL Server 2000数据库、基于三层Web体系结构设计实现。三层体系结构把系统从逻辑上分为表示层、业务层和数据层。下面介绍各个层的实现过程。
1.数据层设计
数据层是一组封装了对数据库进行各种操作(查询记录、删除记录、添加记录、更新记录等)的类。系统中数据层设计7个类,分别对7个数据表进行添加、删除、修改等相关操作。
(1)类的设计
下面以CompleteWork 类为例说明类中定义的方法。CompleteWork 类定义了对作业提交信息表的各种操作方法, 此类方法中的定义如表1 所示。
(2)方法的实现
ASP.NET 中通过ADO.NET 操作数据库,ADO.NET 包括五个核心对象:Connection 对象提供与数据源的连接;Command 对象能够对数据库进行操作;DataReader 从数据源中提供高性能的数据流;DataAdapter 提供连接DataSet 对象和数据源的桥梁。
下面以CompleteWork 类中AddComWork()方法为例,说明方法的实现。
public void AddComWork(ArrayList ComWorkInfo)
{
string strconn = System.Configuration.Configuration Manager.AppSettings["ConnString"];
SqlConnection conn=new SqlConnection (strConn);
String strSql=" Insert into CompleteWork(……,WorkPath,……)values('" +…… + "','" +ComWorkInfo[3] + …… + "')";
SqlCommand com=new SqlCommand(strSql,conn);
conn.Open();
com.ExecuteNonQuery();
}
2.业务层设计
业务层负责从表示层获取用户输入的数据,并调用数据层提供的方法实现系统的业务功能。在此介绍一下作业提交功能在该层中的实现。
提交作业方式可以有两种,一种是直接把答案写进文本框提交到数据库;一种是把答案以文件的形式上传。本系统同时支持这两种方式,直接提交的答案可以写进作业提交信息表的作业内容字段,以文件方式提交的作业把作业文件存储到硬盘上并在数据库中记录文件地址,相关代码如下:
CompleteWork cw;// CompleteWork为对作业提交表进行操作的类
string[] ziduan;
ziduan=new string[7];
if(FileUpload1.PostedFile.FileName != "")
{
DateTime date = DateTime.Now;
string str = date.ToShortDateString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + date.Millisecond.ToString();
String filename,filename1;
filename= Path.GetFileName(FileUpload1.PostedFile.FileName);
filename1 = filename.Substring(filename.LastIndexOf("."));
//保存文件
String filepath =Server.MapPath("upload") + "/"+ str+filename1;
FileUpload1.PostedFile.SaveAs(filepath);
}
//下面为ziduan数组赋值,为需要添加的字段值
……
cw. AddComWork (ziduan); //调用CompleteWork类的AddComWork方法添加记录
3.表示层设计
表示层是人机交互界面,负责处理用户的输入和向用户的输出。表示层可以调用逻辑层的类和方法以实现与用户的交互。利用ASP.NET2.0提供的主题,为网站设定了统一的界面,其界面简洁、美观。利用Web服务器控件输入输出信息,并对输入信息进行验证,保证输入数据的正确性,较好地实现了与用户之间的交互。
三、结论
本文针对网络教学的需要,基于三层Web体系结构设计实现了在线作业系统,给出了系统的设计方案, 并重点介绍了作业提交功能的实现,利用此系统不仅可以有效地减轻老师统计学生作业成绩及提交情况的负担,还可以通过论坛及时解决学生学习中的问题,而且有助于辅导员对学生学习情况的了解。
参考文献:
[1]于桦楠.基于网络环境的职业技术教育教学资源库的建设[J].中国教育信息化(高教职教),2008(5).
[2]刘建舟,刘晓华.智能化网络作业系统的设计及关键技术研究[J].软件导刊,2006(6).
[3]李新国.精品课程中基于Web的网络在线测试系统的研究与实现[J].中国教育信息化(高教职教),2008(3).
[4]王永昌.基于ASP.NET的学生作业管理系统架构与设计[J].电脑知识与技术,2008,4(5).
(编辑:杨馥红)