1.1 系统设计目标
研制《数据库原理及应用技术》课程指导平台在功能上可以满足网络课堂教学活动的需要,在Internet上实现教学活动的各个环节。系统的基本设计原则有:先进性与方便性原则、功能实用性原则、开放性与可扩展性原则等。系统设计时采用较好的设备与技术,协议符合国家和国际标准,能保证教学软件的正常运行,确保系统有较长的生命周期;系统能实现网络课堂教学时所需的各种形式的信息交流,保证教与学活动的顺利开展;考虑到日后师生的工作、生活和学习方便,可以在现有功能上加以扩展,如视音频交互、网络直播等功能。
本系统总体目标是将网络技术、信息技术、现代管理技术和科学的教学方法相结合,建立教师和学生的互动交流平台,以充分发挥网络教学的优势,将以教师教授为主的课堂教学和以学生自学为主的网络教学紧密结合起来,构建合理的网络教学系统。该系统打破了教学活动空间上的限制,使教学活动得到了很大的延伸与扩展,
本系统首先要实现动态性和交互性。所谓的动态性就是能动态更新内容,如更新个人信息、教学信息、作业信息等。这要求与数据库有良好的连接;交互性则要求教师和学生能实时地进行学习交流。
学生与教师在使用系统时,实现系统操作方便和操作界面美观的特点。
实现系统的安全性和可靠性,避免他人进入破坏数据库信息。
1.1.1 系统流程图
用户进入系统主页面后,输入用户名和密码,同时选择登录身份,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的主页以及功能;所有合法用户在处理完业务后,都需要进行退出工作,以免被他人窃取信息。退出后,将返回到登录界面。功能示意图如图6所示:
添加图片注释,不超过 140 字(可选)
1.1.2 作业管理子模块功能说明
1. 教师作业管理模块:
根据课程要求教师选择适合学生做的作业进行发布,发布后,学生进行作业查看及提交,教师查看已交作业,对待批改的作业依次进行批阅,认真给出得分及其详细评阅意见,为学生的学习提供帮助。同时,系统会统计每班学生作业提交人数信息方便教师掌握各班学生学习情况。至此,教师作业发布及评阅过程完成。作业发布及作业评阅业务流程图如图7,图8所示:
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
2. 学生作业提交模块:
每个学生用户可查看教师新发布的作业信息,可直接提交,若教师以文本方式发布作业,系统只为学生提供相同的方式即文本方式进行作业提交,若是附件形式的作业,学生下载附件,同样以附件形式提交作业。对教师未批阅过的作业,若学生错误操作提交或认为已提交作业质量不高,可修改重新提交。系统不允许学生对教师已批阅过的作业进行修改。在查看分数模块里,学生可查看自己所有被批改过作业的得分及教师评阅意见信息,学生通过查看分数和分析教师的评阅意见,取得进步。学生提交作业业务流程图如图9所示:
添加图片注释,不超过 140 字(可选)
2 《数据库原理及应用技术》课程指导平台功能模块具体实现
2.1 用户登录认证部分代码
// 数据库连接操作帮助类
public sealed class SqlHelper
{
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText)
{
return ExecuteReader(connectionString, commandType, commandText, (SqlParameter[])null);
}
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString");
SqlConnection connection = null;
try
{
// 新建一个数据库连接实例
connection = new SqlConnection(connectionString);
// 建立连接
connection.Open();
return ExecuteReader(connection, null, commandType, commandText, commandParameters, SqlConnectionOwnership.Internal);
}
catch
{
if (connection != null)
// 关闭数据库连接
connection.Close();
throw;
}
}
}
// 验证用户登录类
public class CheckUserLogin{
SqlConnection conn;
public CheckUserLogin()
{
//读取web.config里面的数据库连接字串并new一个SqlConnection实例
conn =
new
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString());
}
//取得用户密码
public string getPassword(string user_no, string role)
{
string password = String.Empty;
SqlDataReader dr = null;
if (role == "stu")
{
dr = SqlHelper.ExecuteReader(conn, CommandType.Text, "select password from DB_STU where stu_id =" + user_no);
}
…………………………..
return password; }
}
2.2 学生作业修改功能部分代码
//要修改的作业信息
protected DB_PUB_EXERCISEBE model = new DB_PUB_EXERCISEBE();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
//加载要修改的作业的信息
private void LoadData()
{
string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;
string pub_exercise_no = Request["id"];
model = new CGP.BLL.DB_PUB_EXERCISE().GetModelByExerNo(pub_exercise_no, stu_no);
}
//发布作业
protected void edit_Click(object sender, EventArgs e)
{
string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;
LoadData();
if (model.pub_exercise_category== "文本")
{
if (this.Content.Value.ToString() == "")
{
CommonFun.WriteAlert("作业内容不能为空");
return;
}
}
//上传作业附件
if (model.pub_exercise_category == "附件")
{ string filename = string.Empty;
//string exercisetype = "附件";
if (this.FileURL.PostedFile.ContentLength > 0)
{ string Truefilename = this.FileURL.PostedFile.FileName;
string exName = Truefilename.Substring(Truefilename.LastIndexOf('.')).ToLower();
if (exName != ".doc" && exName != ".pdf" && exName != ".xls" && exName != ".txt" && exName != ".rar" && exName != ".zip")
{
CommonFun.WriteAlert("只能上传.doc.pdf.xls.txt.rar.zip的文件!");
return; }
else
{ filename = DateTime.Now.ToString("yyyyMMddHHmmss") + exName;
this.FileURL.PostedFile.SaveAs(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename);
if (!File.Exists(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename))
{ CommonFun.WriteAlert("上传失败!");
return;
}
}
}
else
{ CommonFun.WriteAlert("请选择作业附件!");
return; }
DB_PUB_EXERCISEBE pubexmodel = new DB_PUB_EXERCISEBE();
pubexmodel.pub_exercise_id = model.pub_exercise_id;
pubexmodel.pub_exercise_no = model.pub_exercise_no;
pubexmodel.stu_no = model.stu_no;
pubexmodel.pub_exercise_title = model.pub_exercise_title;
pubexmodel.pub_exercise_category = model.pub_exercise_category;
pubexmodel.pub_exercise_content = model.pub_exercise_content;
pubexmodel.to_teacher = model.to_teacher;
pubexmodel.is_checked = model.is_checked; //表示还没有被老师评阅过的作业
pubexmodel.pub_exercise_score = model.pub_exercise_score;
pubexmodel.pub_exercsie_link = ConfigurationManager.AppSettings["PubExercise"] + "/" + filename;
if (new CGP.BLL.DB_PUB_EXERCISE().Update(pubexmodel))
{
CommonFun.WriteAlert("作业修改成功!", "ExerciseView.aspx");
}
else
{
CommonFun.WriteAlert("作业修改失败!");
}
}
}
链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688
提取码:6688