• asp毕业设计——基于C#+asp.net+sqlserver作业审阅系统设计与实现(毕业论文+程序源码)——作业审阅系统


    基于C#+asp.net+sqlserver作业审阅系统设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于C#+asp.net+sqlserver作业审阅系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 设计了基于B/S 模式的在线作业批改系统。系统包括教师模块和短消息模块,教师模块主要是实现教师布置作业、批改作业、发布成绩等。短信息主要是实现信息的发送、编写、查看。论文详细阐述了系统的开发背景、研究意义,开发环境以及系统的需求分析,详细说明了数据库的设计,以及系统各功能的实现。
    2. 在线作业批改系统有着很好的应用前景,用来代替传统的作业批改方式,实现在线作业批改方式的网络化管理。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。

    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:8431个字27页
    包含内容:整套源码+完整毕业论文
    资源文件目录简图如下:
    请添加图片描述


    3、关键词:

    B/S ;批改作业;短消息;数据库;.NET

    4、毕设简介

    提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

    1 引言
    用ASP.NET技术构建一个网上作业提交批改系统,改变过去传统的学生递交作业,老师批改作业的方式,让学生递交作业更加灵活,同时减轻老师的工作量。

    1.1 课题背景
    省略

    1.2 网络教育学习及高校网上作业提交系统的现状
    省略

    1.3 高校网上作业提交系统的新要求
    高校网上作业提交批改系统的主要任务是为各高校的老师和学生提供具有时效的服务,同时能快速、方便地发布和检索各种学习内容、作业信息等等。因为所有课程都具备了传统的课程的共性。如:以知识点为中心的非线性、发散性的导航等等。但随着社会的进步,人们知识水平的不断提高,高校网上作业提交系统也将随之不断的更新与发展。

    概括来说高校网上作业提交批改系统使用包括作业的发布和课程内容的导航,学生作业信息的显示和作业完成的提交等。在被发布的网络作业中,基本上都能提供不同程度的作业内容显示及相关课程内容导航。

    我们认为,高校网上作业提交系统的功能越细越好,对于界面设计清晰、层次结构简洁的课程从教师的布置到学生了解信息完成作业提交,用户都无需花很大功夫就能够熟悉和掌握。

    1.4 本课题研究的意义
    网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交批改,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。

    1.5 本课题的研究方法
    在该系统中教师不可以进入管理员页面,还有学生页面。每个教师登录只对自己发布的作业进行管理,不可以对别的教师发布的作业进行管理,教师可通过该系统进行作业与参考答案的发布等。
    主要实现教师布置作业, 教师删除作业, 教师批改作业, 教师发布成绩, 教师修改成绩, 教师下载作业,作业参考答案的下载。

    1. 在作业批改过程中,对所批改的作业发表评语。
    2. 若有抄袭现象,该系统则发出报警提示。
    3. 短消息模块:用户之间可以进行消息的发送,接收,编写(类似邮件)。

    2 开发平台与语言介绍
    2.1 .net 简介
    .NET 是 Microsoft用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。

    借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。

    .NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。

    .NET为开发人员提供了新的开发平台 (.NET框架) 、新的开发语言(C#) 、新的开发工具 (Visual Studio .NET) 、新的开发方式 (Web Service) ;为普通用户提供了Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN等产品;为企业提供了bCentral。在未来,最终大多数流行的 Microsoft 软件应用程序包括 Office 和 Visual Studio .NET。将开始与 XML Web 服务实现交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可以利用。

    2.2 C# 简介
    随着.NET的推出,Microsoft强力推出了一种新型的编程语言C#。C#可以说是C/C++家族中第一个面向对象的语言。与C++比较,C#的优势在于完全支持组件的开发模式。C#同时也可以直接开发ASP.NET应用程序。

    C#语言自C和C++演变而来,它是一门现代,简单,完全面向对象和类型安全的编程语言,C#语言让软件人员更容易发展以全球信息网为导向的服务,C#结合了Microsoft的C++程序开发的威力及Visual Basic 的简易性,同时C#为用户提供了垃圾收集,类型安全,版本控制等方便的功能,而其“代价”只是代码操作默认为类型安全,并且通常不允许使用指针,但是,在非保护环境中仍可以使用指针。

    C#语言还是一种类似Java的软件编程语言,其设计目的是简化使用微软软件的网络服务构建。C#语言面向对象的设计,可以用来构建高水平的商务目标以及体系标准应用程序等广泛的组件。使用C#编程语言,程序员能够迅速地建造提供开拓计算和通信工具和服务的新Microsoft。NET平台。

    C#作为编程语言,它有以下几个特点:
    5. 快速应用开发功能;
    6. 语言的自由性;
    7. 强大的Web服务端组件;
    8. 支持跨平台;
    9. 与XML的融合;
    10. 对C++的继承。

    2.3 SQL Server 简介
    Microsoft SQL Server 由一系列相互协作的组件构成,能满足最大的WEB站点和企业数据处理系统存储和分析数据的需要。
    SQL Server 2000提供了在服务器系统上运行的服务器软件和在客户端运行的客户端软件,连接客户和服务器计算机的网络软件则由Windows 系统提供。

    SQL Server
    的数据库系统的服务器运行在 Windows NT/2000系统上,负责创建和维护表和索引等数据库对象,确保数据完整性和安全性,能够在存在各种错误时恢复数据。
    客户端应用程序可以运行在Windows 9x/NT/2000系统上,完成所有的用户交互操作。将数据从房屋器检索出来后,生成副本,以便在本地保留,也可以进行操作。

    SQL Server 的客户/服务器提供了许多传统主机数据库所没有的先进功能。数据访问并非局限与某些已有的主机数据库应用程序。SQL Server 的一个主要优点就是与主流客户/服务器开发工具和桌面应用程序的紧密集成。可以使用许多方法访问SQL Server 2000数据库。例如:可以在Visual Basic, Visual C++, Access, Power Builder, Delphi和Visual FoxPro中访问SQL Server 2000数据库。SQL Server 2000的客户端应用程序可以通过SQL Server 2000提供的应用程序接口来访问服务器端的数据,主要的访问方法有4 种:ODBC API,OLE DB ,Transact-SQL和DB-Library。

    3 系统需求分析
    3.1 系统需求分析
    系统模块主要包括教师模块和短消息模块,教师模块主要是实现教师布置作业,批改作业,发布成绩等。短信息主要是实现信息(邮件)的发送,编写。
    本系统流程主要有:
    12. 教师操作流程:发布作业,发布成绩,发表评语以及对以往作业的查看等,见图1:
    在这里插入图片描述

    图1 教师操作流程图
    13. 短消息操作流程:老师,学生之间可以相互发送信息(类似邮件),
    见图2
    在这里插入图片描述

    图2 短消息操作流程图
    14. 作业发布-批改流程:老师发布作业 ,在学生提交作业的前提下,老师才批改作业。若没有提交作业,老师可以通过信息(邮件)提醒学生提交作业,见图3:
    在这里插入图片描述

    图3 作业发布-批改流程图

    4 系统设计
    4.1 结构
    系统是基于B/S结构设计的。B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。B/S模型结构图如下所示:
    在这里插入图片描述

    图4 B/S模型结构图
    从图4可见这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。

    4.2 功能设计
    17. 功能体系图
    在这里插入图片描述

    图5 功能体系图
    18. 功能说明
    该系统涉及到的功能有:
    教师布置作业, 教师删除作业, 教师批改作业, 教师发布成绩, 教师修改成绩, 教师下载作业,作业参考答案的下载。

    1. 在作业批改过程中:对所批改的作业发表评语。
    2. 若有抄袭现象,该系统则发出报警提示。
    3. 短消息模块:用户之间可以进行短消息的发送,接收,编写。类似与邮件。

    4.3 数据库设计
    1 数据库E-R图
    在这里插入图片描述

    图6 数据库E-R图
    20. 数据库表
    在这里插入图片描述
    在这里插入图片描述

    3 数据库说明
    根据第四节的功能体系图,我们所要设计的数据库至少应该包含短消息表和教师表。数据库表说明如下:

    1. 短消息表:它包含了接收,发送者的ID号,以及发送时间,消息标题,消息内容,消息的更新标致(checkflag)。
    2. 个人资料表:它包含了登陆时的ID号,姓名,密码,邮箱,电话,角色(决定登陆时,是教师身份,还是学生身份)。
    3. 教师工作表:它包含了教师登陆ID号,作业的题目,作业内容,答案,提交时间。
    4. 学生作业表:它包含了学生ID号,老师ID号,提交时间,题目,内容,成绩,评语。

    4 数据库连接
    DB类连接的编码实现

    Using System;
    Using System. Data;
    Using System.Data.SqlClient;
    Using System. Configuration  //导入的一个命名空间,不然无法读取WEB.config配置文件
    Namespace SchoolWork.sqlClass
    {
    	public class Db        //建立的一个数据访问类,
    	{
    		Public Db ()
    		{
    		}
    		protected static SqlConnection conn	=new SqlConnection(ConfigurationSettings.AppSettings["connStr"]);   //建立数据库的连接
    		Public static void ExecuteSql (string sqlStr)
    		{
    			Try
    			{
    				SqlCommand	cmd	= new SqlCommand ();
    				cmd.CommandText	= sqlStr;
    				cmd.Connection	= conn;
    				cmd.Connection.Open ();
    				cmd.ExecuteNonQuery () ;
    				cmd.Dispose ();
    				conn.Close ();
    			}
    			Catch (Exception e)
    			{
    				Throw new Exception (e.Message.ToString ());
    			}
    		}
    		Public static DataSet ExecuteToDataSet (string sqlStr)
    		{
    			SqlDataAdapter da;
    			DataSet			ds	= new DataSet ();
    			Try
    			{
    				da				= new SqlDataAdapter (sqlStr, conn);
    				da.Fill (ds);
    				da.Dispose ();
    				ds.Dispose ();
    				Return ds;
    			}
    			Catch (Exception e)
    			{
    				Throw new Exception (e.Message);
    			}
    		}
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    5 系统的编码实现
    5.1 发布作业
    在这里插入图片描述

    图7 作业发布页面
    图7主要是实现作业及参考答案的发布。按上述内容填写完成后,点击“提交”按钮,将会出现“添加成功”提示窗口,把填写的内容提交到数据库。如果点击“返回”按钮,刚才填写的信息清空,回到以往发布过的作业页面。

    1 提交成功的实现,填完内容后,发布的作业将会显示提交成功时的时间,当前的内容也会保存到teacher-work-info这张表中。实现编码如下:

    Private void ButtonCommit_Click (object sender, System.EventArgs e)
    		{
    			DateTime   dt   =   DateTime.Now;   
    			String   str   =   dt.ToString ("yyyy-MM-dd"); 
    			string sql="insert into teacher_work_info(teacherid,title,content,answer,subtime) values ("+Session["id"]+",'"+TextName.Text+"','"+TextTitleCon.Text+"','"+TextAnswerCon.Text+"','"+str+"')";
    			Db.ExecuteSql (sql);
    			ButtonCommit.Enabled=false;
    			TextName.Enabled=false;
    TextTitleCon.Enabled=false;
    			TextAnswerCon.Enabled=false;
    			showMsg("添加成功!",Session["name"].ToString());
    			msg.Text	+= "");
    						this.title.Text="";
    						this.content.Text="";
    						DropDownList1.ClearSelection ();
    					}
    					else{Response.Write("");}
    				}
    				Catch (Exception ex)
    				{
    					Response.Write (ex.ToString ());
    				}
    				Finally
    				{
    					myconnection.Close ();
    				}
    			}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    2 重置按钮的编码实现,清除所有已经填写了的内容。

    Private void ImageButton2_Click (object sender, System.Web.UI.ImageClickEventArgs e)
    		{
    				DropDownList1.ClearSelection ();
    				this.title.Text="";
    				this.content.Text="";	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    5.3 批改作业
    在这里插入图片描述

    图9 作业批改界面
    图9主要是实现老师在线批改作业,成绩的发布,以及对该次作业发表评语。

    当点击“教师提交”按钮,把成绩及评语提交到数据库,提交过后,点击“返回”按钮,则返回到学生提交页面。
    1 学生在提交过程中,若有抄袭现象,将会出现“抄袭结果提示窗口。实现编码如下:

    Private void Button1_Click (object sender, System.EventArgs e)
    		{
    			//判断是否抄袭
    			DataSet	ds2	= Db.ExecuteToDataSet ("SELECT t.content FROM teacher_work_info t WHERE t.id="+Request.Params ["id"]);
    			DataRow	tempRow1	= ds2.Tables [0].Rows [0];
    			If (TextAnswer.Text.Trim () ==tempRow1 ["content"].ToString ().Trim ())
    			{
    				msg.Text="";
    				ds2.Dispose ();
    				Return;
    			}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2 批改成功。当老师查看了该作业的回答后,对本次作业打分(优秀,良好,及格,不及格)及对本次作业的评语,点击“教师提交”后,会出现“操作成功”提示窗口 。实现编码如下:

    Private void Button_Teacher_Click (object sender, System.EventArgs e)
    		{
    			DateTime   dt   =   DateTime.Now;   
    			String   str   =   dt.ToString ("yyyy-MM-dd");
    			string sql="update student_work_info set grade="+DropDownListGrade.Items [DropDownListGrade.SelectedIndex].Value+", remark='"+TextRemark.Text+"', correcttime='"+str+"'";
    			Db.ExecuteSql (sql);
    			Button1.Enabled=false;
    			DropDownListGrade.Enabled=false;
    			TextRemark.Enabled=false;
    			showMsg("操作成功!",Session["name"].ToString());
    		msg.Text	+= "<script>top.window.returnValue='loginOk'; top.window.close () ;
    < /script>";
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    5.4 发布过的作业
    在这里插入图片描述

    图10 以往发布的作业界面
    在图10中可以查看以前所发布的作业,继续添加作业及对该次作业进行删除。该界面是使用DataGrid实现。点击“题目内容”,可以查看到以前作业
    内容,标题以及参考答案。点击“删除”,则删除该次作业。
    1 查看已经发布过的作业及参考答案的编码实现

    private void bindallreceive()    //老师发布所有的作业
    		{
    		String cmdText = "SELECT teacher_work_info.id, teacher_work_info.subtime, teacher_work_info.title, person_info.name FROM teacher_work_info, person_info where teacher_work_info.teacherid="+Session ["id"] +"and person_info.id="+Session ["id"];
    SqlConnection connection=new SqlConnection (SQLCONNECTIONSTRING);
    
    SqlDataAdapter sda=new SqlDataAdapter (cmdText, connection);
    DataSet ds=new DataSet ();
    da.Fill (ds,"teacher_work_info, person_info");
    DataGrid1.DataSource=ds.Tables ["teacher_work_info, person_info"].DefaultView;
    			this.DataGrid1.DataBind ();
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 增加作业的编码实现
    private void IncButton_Click(object sender, System.EventArgs e)  //增加发布作业
    		{
    			Session ["IsInc"] ="Yee";
    			Response.Redirect ("teachwork.aspx");
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 删除作业及权限设定的编码实现
    Public void DataGrid_Delete (Object sender, DataGridCommandEventArgs E)
    		{
    			if (Session ["role"].ToString () =="2")
    			{
    				Response.Write("");
    			}
    			else
    			{
    				SqlConnection myconnection= new SqlConnection (SQLCONNECTIONSTRING);
    				Getid= Convert.ToInt32 (E.Item.Cells [0].Text.ToString ());
    				string strcmd="delete teacher_work_info where id ='"+getid+"'";
    SqlCommand mycommand = new SqlCommand (strcmd, myconnection);
    myconnection.Open ();
    				SqlTransaction myTransaction = myconnection.BeginTransaction ();
    mycommand.Transaction =myTransaction;
    				try 
    				{
    					mycommand.ExecuteNonQuery ();
    					mycommand.CommandText = "delete teacher_work_info where id ='"+getid+"'";
    					mycommand.ExecuteNonQuery ();
    					mycommand.CommandText = "delete student_work_info where id ='"+getid+"'";
    					mycommand.ExecuteNonQuery ();
    					myTransaction.Commit ();
    Response.Write("删除成功!");
    				}
    				Catch
    				{   myTransaction.Rollback ();
    					Response.Write("删除失败!");
    }
    				finally
    				{
    					myconnection.Close ();
    				}
    				If (E.Item.ItemIndex ==0)
    				{
    					Int i=Math. Ax (0, DataGrid1.CurrentPageIndex-1);
    DataGrid1.CurrentPageIndex = i;
    				}
    				this.bindallreceive ();	}	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    5.5 其他功能
    1.信息的查看:在收信箱中可以查看目前有多少新信息,以及删除所选中的消息。在发信箱可以查看已经发送过的信息。
    2.登录页面:在登录的时候,分为老师,学生登录。分别用各自的ID登录。

    6 测试
    6.1 测试方法

    1. 教师登录后,在学生已经提交作业的情况下,是否能查看到学生提交的作业。
      2.发布作业以后是否能正确记录发布的作业。
      3.教师发布作业成绩和标准答案之后是否能查看到发布的成绩和答案。
      4.进行修改个人信息操作,比较修改后的数据是否和预期值一致。
      5.点击“退出”,是否能顺利退出模块。
    2. 信息发送后,收信人是否能正常接收信息。

    6.2 测试结果
    3. 能查看到学生已经提交的作业。
    2.能正确记录发布的作业。
    3.能查看到正确的成绩和答案。
    4.修改后数据与预期值一致。
    5.可以退出模块。
    4. 能正常接收信息。

    6.3 测试结论
    以上的每个测试案例是单独进行测试的,还需要进一步进行交叉案例的测试。但是通过以上简单的测试,说明了设计方法的正确性,它已经初步具备了在线作业批改系统的基本框架,具有良好的检测性能和准确的检测结果。

    结 论
    经过这段时间的努力学习及网上大量收集资料,在线作业批改系统终于完成了。实现了4.2的基本功能,基本满足了老师对作业批改的需求。
    省略

    参考文献
    [1] 飞思科技产品研发中心.ASP.NET应用开发指南[M].北京:电子工业出版社 ,2006。
    [2] 余金山,林慧.SQL2000数据库开发实例入门与提高[M].北京:电子工业出版社 ,2006。
    [3] 黎晓东,李华飚.精通C#编程[M].北京:科学出版社,2003。
    [4] 孟凡琦.Asp.net+sqlserver动态网站开发从基础到实践[M].北京:电子工业出版社,2006。
    [5] 李春葆,曾惠.SQL Server 2000 应用系统开发教程[M].北京:清华大学出版社,2005。
    [6] 孙三才.C#与.net Framework 实战演练[M],北京:中国铁道出版社,2002。
    [7] B- power 工作室.C#快速入门[M] .北京:中国铁道出版社,2001。
    [8] 吉根林,崔海源.ASP.NET程序设计教程[M].北京:电子工业出版社,2005。
    [9] 虞益诚. SQL Server 2000 数据库应用技术[M]. 北京:中国铁道出版社,2004。

    致 谢
    省略


    5、资源下载

    本项目源码及完整论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    联合搜索:搜索中的所有需求
    Callable接口
    关于不同数据库的SQL中比较串的形式为NULL=NULL的返回值不同
    从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类
    数据挖掘(二)朴素贝叶斯
    Windows环境下的ELK——Logstash+Mysql(4)
    DataFrame.empty 与 DataFrame is None 的区别是?
    PDEBench-AI求解微分方程新基准
    多分类问题的precision和recall以及F1 scores的计算
    美国突传两件大事!大饼单日涨跌2500美元,以太走出“独立行情”!
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/126029606