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

大家好,今天给大家介绍基于C#+asp.net+sqlserver作业提交系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

  • 基于C#+asp.net+sqlserver作业提交系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 作业提交系统是基于B/S结构,在.NET平台上使用C#与Microsoft SQL 开发的。主要目的是解决学生提交作业和教师批改作业都得靠纸质交流,或者是用单一的上传,拷贝等方法交流不方便的问题。系统分了管理员模块和学生模块,学生提交作业采用在线提交方式,根据选择教师来选择作业,在教师公布标准答案之后查看作业标准答案。系统具有操作简便,界面友好的特性。管理员能够对用户信息和权限进行方便的修改和管理。论文详细阐述了本系统的开发背景、研究意义,开发环境以及系统的需求分析,详细说明了数据库的设计,以及系统各功能的实现。
  2. 作业提交系统有着很好的应用前景,用来代替传统的作业提交方式,实现在线作业提交方式的网络化管理。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:9345个字25页
包含内容:整套源码+完整毕业论文


3、关键词:

作业提交系统;SQL server ;.NET平台


4、毕设简介

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

1 引言
1.1 本课题选题背景及目的
省略

开发此系统的目的在于方便教师和学生的互动交流,大大提高学生提交作业,教师批改作业的效率。

1.2 本课题选题意义

本系统有着很好的应用前景,用来代替传统的作业提交方式,实现在线作业提交方式的网络化管理。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。

1.3 本课题研究思路和方法
本系统的开发要求采用B/S结构,应首先分析用户需求的相关功能后写出需求分析;其次,综合运用以前所学的相关知识(数据结构,C语言等),选择所熟悉的开发工具进行开发(本系统选择了Microsoft Visual Studio .NET 作为开发平台,开发语言选择了C#;数据库采用Microsoft SQL Server ),在设计中以需求分析为基础,写出系统开发计划,实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档。最后,系统开发完毕后,进行调试和试运行,并做好调试和试运行的相关记录。

1.4 本课题预期结果
本设计的预期成果是完成作业提交批改系统的部分功能——作业上传和管理用户,并能够实现作业在线提交功能;作业参考答案的下载;在线实时查看作业批改的情况;用户信息管理(教师用户,学生用户,管理员用户),设置用户的功能和权限。同时,还要求与另一位同学所设计与实现的“作业审阅系统”集成在一起,形成一个真正实用的、功能完善的作业在线提交批改系统。

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、Xbox、Tablet PC、.NET My Services、MSN等产品;为企业提供了bCentral。在未来,最终大多数流行的 Microsoft 软件应用程序——包括 Office 和 Visual Studio .NET——将开始与 XML Web 服务实现交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可以利用。

2.2 HTML标记语言
HTML的英语意思是:Hypertext Marked Language,即超文本标记语言,是一种用来制作超文本文档的简单标记语言。超文本传输协议规定了浏览器在运行 HTML 文档时所遵循的规则和进行的操作。HTTP协议的制定使浏览器在运行超文本时有了统一的规则和标准。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台,自1990年以来HTML就一直被用作WWW(是World Wide Web的缩写,也可简写WEB、中文叫做万维网) 的信息表示语言,使用HTML语言描述的文件,需要通过WEB浏览器显示出效果。HTML 是在 SGML 定义下的一个描述性语言,或可说 HTML 是 SGML 的一个应用程式。HTML 不是程式语言,如 C++ 和 Java 之类,它只是标示语言,基本上你只要明白了各种标记的用法便算学懂了HTML,HTML 的格式非常简单,只是由文字及标记组合而成,至于编辑方面,任何文字编辑器都可以,只要能将文件另存成 ASCII 纯文字格式即可,当然以专业的网页编辑软件为佳。

2.3 C# 简介
C#(读作“c-sharp”)作为Microsoft的下一代面向对象的语言产品,能够使开发人员在.NET平台上快速地建立大量的应用程序。按照微软给出的定义,C#是一种源自于C和C++的、简单的、现代的、面向对象的和类型安全的程序设计语言。C#为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。C#和Java的核心与C++比较有着相同的优势和局限,比起C++,C#将更容易被人们理解和接受,未来大量.NET平台的应用将由C#开发。

2.4 ADO.NET简介
ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可以伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。

ADO.NET 提供对 Microsoft SQL Server 等数据源以及通过OLE DB和 XML 公开的数据源的一致访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。在运行时,数据会从数据库中取出并先传给一个中间层业务对象,然后传至用户界面。为了适应这种数据交换,ADO.NET采用了基于XML的持续的传递格式。也就是说,当数据从一个层传向另一个层时,ADO.NET的方案是将内存中的数据(即数据集)表述为XML,然后以XML格式传递给其他组件。
  
2.5 Microsoft SQL Server 简介
Microsoft SQL Server 是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS, Relational Database Management System)。SQL Server 是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。

2.6 浏览器/服务器模型
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

3 系统需求分析
3.1 系统业务需求及特点
3.1.1 业务需求
系统要求管理员管理所有的用户信息,添加,删除用户都必须由管理员来完成,管理员可见所有用户的信息。普通用户(学生和教师用户)只能修改自己的信息。学生可以选择不同的教师,能够准确快速的查看已经布置的作业,学生只能看见自己的作业题目和内容,不能抄袭其他学生的作业。在提交作业以后,教师发布成绩和参考答案之后才能查看成绩与答案。管理员不能看到作业情况。

3.1.2 系统特点
性能:安全可靠,实时控制。
输入/输出:英文和汉字输入,英文和汉字输出。
安全与保密要求:不能轻易地被破坏,不能让管理员以外的人添加删除用户信息,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。

3.2 用户特点
3.2.1 管理员用户
管理员可以是机房管理员,也可以是某位教师,对计算机技术比较了解,责任心和保密意识强。
3.2.2 学生用户
学校学生有计算机相关专业学生,能很快熟悉系统的使用方法,非计算机专业的学生也能很快学会并掌握使用系统。
3.3 系统业务流程图

图1 系统业务流程图
系统业务流程如图1所示,管理员用户登陆到管理员模块后,可以管理所有用户(包括管理员用户,教师用户,学生用户)的个人信息,通过添加,修改,删除操作来管理用户信息数据。
学生用户登陆到学生模块以后,首先只能查看已经布置的作业,提交自己的作业以后才能进行查看作业成绩和查看教师发布的参考答案的操作。在学生模块里学生可以修改自己的个人信息,但是不能删除自己的信息。
3.4 数据流图
系统数据流图如图2所示,管理员用户负责管理所有用户的个人信息数据,学生用户可以更改自己的用户数据信息。
学生用户必须首先撰写自己的作业,然后才能把撰写好的作业数据提交到作业数据库。在提交作业数据之后,学生用户才能通过作业信息数据库查看教师已经发布的作业成绩数据或作业的参考答案数据。

图2 数据流图
3.5 开发环境

  1. Microsoft Visual Studio .NET 2003开发平台;
  2. Microsoft SQL Server 2000数据库。
  3. 要求系统支持Microsoft .NET Framework 1.1 。
  4. 要求系统必须安装IIS。

3.6 限制条件

  1. 学生不可以进入教师与管理员的页面。
  2. 管理员也不可以进入学生和教师页面。
  3. 普通用户使用修改密码都只能修改自己的密码,无法修改他人的。
  4. 不同的用户使用个人数据功能时,只可以看到自己的信息不可以看到其他用户的信息。
  5. 学生提交作业的类型,大小,时间等,受到教师发布作业的约束。
  6. 只有当教师发布作业的标准答案之后,学生才能查看作业的标准答案。
  7. 当老师发布新的作业之后,学生才可以查看到作业题目并提交作业。
  8. 学生作业提交之后,不可以再更改作业内容。
  9. 只有当老师公布成绩之后,学生方可查看作业成绩。
    4 系统设计与实现
    4.1 系统功能划分
  10. 系统分为管理员模块和学生模块;
  11. 不同用户登录进入不同的界面;
  12. 学生作业的查看与提交;
  13. 学生作业成绩的查看;
  14. 作业参考答案的查看;
  15. 管理员添加管理员用户、教师用户和学生用户;
  16. 管理员修改管理员密码、用户信息与学生用户信息;
  17. 管理员删除管理员用户、教师用户和学生用户;
  18. 用户对个人资料的查看与修改。

4.2 系统功能体系图
无论是管理员用户还是学生用户,都必须通过登陆进入功能模块,管理员可以管理所有用户的信息,可以对用户信息进行添加,删除和修改操作;学生用户登陆后,可以进行标准答案下载,作业下载提交,作业成绩查询和修改用户资料四种操作。系统功能体系图如图3所示:

图3 系统功能体系图

4.3 数据库设计
4.3.1 数据库E-R图
数据库E-R图如图4所示,管理员和其他实体没有联系,是一个单独的实体,故图中没有画出管理员实体。学生实体和教师实体存在一个多对多的关系,学生和作业内容也存在一个多对多的关系,多个学生提交多份作业。教师和作业题目则是一对多的关系,一位教师可以布置多个作业题目。

图4 数据库E-R图
4.3.2 数据库表

4.3.3 数据库表说明

  1. admin表与其它表无关系只是为了存放管理员的帐号与密码等数据。
  2. person_info表里的id字段为主键用于存放普通用户的ID。
  3. student_work_info表和teacher_work_info表里的id字段用于存放每个作业的ID。
  4. person_info表里的role字段用来区别用户类型。1表示教师用户;2表示学生用户。
  5. stusent_teacher表用来表示学生和教师的多对多的关系。

4.4 管理员模块的设计与实现
4.4.1 用户界面
管理员模块用户界面如图5所示:

图5 管理员模块用户界面

  1. 管理员用户从主登陆页面点击“管理员登陆”进入管理员模块登陆页面。
  2. 在登陆页面输入正确的用户名和密码后方可登陆到管理员模块。
  3. 管理员模块只允许管理员用户进入。
  4. 管理员模块的页面分成两栏,左边是功能目录,右边是具体功能的页面。
  5. 管理员用户在该模块中可进行管理员用户信息和普通用户信息的管理。
  6. 管理操作分为添加用户信息,修改用户信息和删除用户信息三种。
  7. 管理员用户可以查看各个用户的个人信息。
  8. 点击“安全退出”可以退出该模块。

4.4.2 增删改管理员用户
管理员可以添加更多的管理员用户,管理员用户必须由管理员添加,每次当管理员添加管理员用户时系统通过INSERT语句向admin表里插入一行,记录新的管理员用户的用户名,密码。

删除管理员必须由管理员用户来操作,执行删除操作时,系统通过判断admin表中的id字段,使用Delete语句从admin表中删除相对应的行。

当admin表中的行数等于1的时候,则提示“请至少保留一个管理员帐号”。
修改管理员密码必须先登陆管理员界面,在密码栏里输入新密码,系统通过UPDATE语句更新admin表中的admin_pwd字段。

  1. 添加新管理员
    a、 判断帐号是否重复
DataTable tempDt=Db.ExecuteToDataSet("Select admin_name From admin where admin_name='"+strTrans.insertTran(adminName.Text)+"'").Tables[0];
if (tempDt.Rows.Count>0)
{msg.Text    = "<script>alert(\"帐号重复!\");document.getElementById('adminpass').focus();</script>";
return;
}
b、  添加管理员信息到数据库
Db.ExecuteSql("insert into admin(admin_name,admin_pwd)  values('"+strTrans.insertTran(adminName.Text)+"','"+strTrans.insertTran(adminPass.Text)+"')");
Response.Redirect("admin.aspx",true);
}
  1. 删除管理员帐号
private void delAdmin(){DataSet  ds = Db.ExecuteToDataSet("Select Count(*) From admin");if ( Convert.ToInt32(ds.Tables[0].Rows[0][0]) == 1 ){ds.Dispose();msg.Text  = "<script> alert('请至少保留一个管理员帐号');</script>";return;}ds.Dispose();Db.ExecuteSql("Delete from admin where id="+Request.QueryString["id"].ToString());}
  1. 修改管理员密码信息
Db.ExecuteSql ("Update admin set admin_pwd='"+strTrans.insertTran(adminpass2.Text)+"' Where admin_name='"+strTrans.insertTran(adminname2.Text)+"'");

4.4.3 添加新用户
普通用户(包括教师用户和学生用户)都必须通过管理员添加新的用户。person_info表用来记录普通用户的用户信息(用户名,密码,E-mail,电话,用户类型)。
管理员登陆管理员界面后,点击“添加新用户”,在表单中输入需要添加的用户信息后,点击“提交”按钮,系统通过INSERT语句向person_info表里插入一行,记录该用户的个人信息。
管理员添加用户时,用户id必须是唯一的,因为用户可能会有名字相同的情况,所以系统通过id字段来判断用户的唯一性。

  1. 判断帐号是否重复
DataSet  ds = Db.ExecuteToDataSet("SELECT * from person_info WHERE id="+Convert.ToInt32(txtId.Text.Trim()));if (ds.Tables[0].Rows.Count == 1 ){msg.Text   = "<script>alert('帐号已使用!')</script>";}
2.  添加用户信息到数据库
string sql  = "Insert Into person_info "+"  values ('"+ strTrans.insertTran(txtId.Text) + "',"+" '"+ strTrans.insertTran(txtName.Text) + "',"+" '"+ strTrans.insertTran(txtPassword.Text) + "',"+" '"+strTrans.insertTran(txtMail.Text)+"',"+" '"+strTrans.insertTran(txtPhone.Text)+"',"+" '"+ dpl_Class.Items[dpl_Class.SelectedIndex].Value + "'"+") ";Db.ExecuteSql(sql);showMsg("添加成功!\\n请勿刷新页面继续添加");

4.4.4 修改删除普通用户
管理员有权限修改或者删除普通用户的个人信息。
系统首先从数据库中把所有用户的信息绑定到页面上,管理员点击“修改”按钮跳转到修改页面。在文本框输入要修改的用户信息后,点击“修改”按钮,系统通过UPDATE语句更新person_info表中的相应字段。系统再通过用户类别参数来判断返回到教师信息页面还是学生信息页面。
实施删除操作和删除管理员操作相似,使用Delete语句从person_info表中删除相对应的行。

  1. 修改普通用户信息
string sql   = "update person_info "+" Set name ='"+strTrans.insertTran(txtName.Text)+"',passwd='"+strTrans.insertTran(txtPassword.Text)+"'"+",email='"+strTrans.insertTran(txtMail.Text)+"',phone='"+strTrans.insertTran(txtPhone.Text)+"',role='"+dpl_Class.Items[dpl_Class.SelectedIndex].Value+ "'where number="+Convert.ToInt32(Request.QueryString["id"]).ToString();Db.ExecuteSql(sql);showMsg("修改成功!");
  1. 删除普通用户信息
Db.ExecuteSql("Delete  From person_info where number="+Request.QueryString["id"]);

4.5 学生模块的设计与实现
4.5.1 用户界面
学生模块用户界面如图6所示:

图6 学生用户界面

  1. 学生用户在主登陆界面输入正确的用户名和密码后登陆到学生模块。
  2. 学生模块只允许学生用户进入。
  3. 学生模块的页面分成两栏,左边是功能目录,右边是具体功能的页面。
  4. 学生模块主要分为作业查看提交,作业成绩查询和作业答案查看三个功能部分。
  5. 学生用户查看作业题目和作业内容以后便可在下方输入自己的作业内容,并提交到系统。
  6. 学生用户可以在用户资料修改页面修改自己的个人信息和选择需要查看作业的教师。

4.5.2 提交作业
学生登陆后,必须首先选择教师才能查看该教师所布置的作业。学生选择老师以后,系统通过INSERT语句向stusent_teacher表中插入一行,用来记录学生和教师的多对多关系。

点击“作业查看提交”按钮,便可以看到该教师目前所布置的作业列表,调用worklist.aspx页面。系统从teacher_work_info表和person_info表里提取教师姓名字段、作业题目字段和提交时间字段绑定到列表中并显示到页面上。选择任意一个题目,系统将跳转到studentwork.aspx页面,学生在此页面的回答框中输入自己的答案,选择“提交”按钮后,首先判断student_work_info表中是否有重复的作业信息,如果没有,则系统通过INSERT语句向student_work_info表里插入一行,记录该学生的一次作业信息。

  1. 记录学生和教师的多对多关系
string sql1="Insert into student_teacher"+   "values ("+Session["id"]+","+DropDownList2.Items[DropDownList2.SelectedIndex].Value+")";Db.ExecuteSql(sql1);
2.  学生提交作业
DataSet ds1=Db.ExecuteToDataSet("select * from student_work_info where id="+Int32.Parse(TextId.Text)+" and studentid="+Session["id"]);if(ds1.Tables[0].Rows.Count ==1){msg.Text="<script>alert('已经提交!');</script>";ds1.Dispose();}else{string sql="insert into student_work_info(id,studentid,teacherid,subtime,title,content) VALUES("+Int32.Parse(TextId.Text)+","+Session["id"]+","+tid+",'"+str+"','"+TextTitleCon.Text+"','"+TextAnswer.Text+"')";Db.ExecuteSql(sql);msg.Text="<script>alert('提交成功!');</script>";msg.Text  += "<script>window.location='index.aspx';</script>";}

4.5.3 查询作业成绩
学生登陆后,点击“作业成绩查询”按钮,看到的是教师已经批改的作业列表,同样也使用worklist.aspx页面。通过判断一个参数的值来区分列表里的所列的作业是查看未做作业还是查询作业成绩。系统从student_work_info表、teacher_work_info表和person_info表提取教师姓名字段、作业题目字段和提交时间字段绑定到列表中并显示到页面上。系统同样将跳转到studentwork.aspx页面,通过判断一个参数的值来区分所调用的相关函数是否显示教师评语。

  1. 判断作业类型
if(Session["x"].ToString()=="download"){showDownload();TextRemark.Visible=false;TextAnswer.Enabled=true;Button2.Visible=false;//学生下载提交时不显示}
if(Session["x"].ToString()=="query"){showQuery();Button1.Visible=false;Button3.Visible=false;//学生查询时不显示}
  1. 查询作业成绩
private void showQuery(){DataSet ds  = Db.ExecuteToDataSet("SELECT p.name as name, s.id  , s.title,s.content,s.remark,s.grade  FROM student_work_info s,person_info p,teacher_work_info t WHERE  s.correcttime!='' and s.teacherid=t.teacherid and t.teacherid=p.id and s.id="+Request.Params["id"]); TextId.Text=Request.Params["id"].ToString();DataRow tempRow = ds.Tables[0].Rows[0];TextTeacher.Text=tempRow["name"].ToString();TextStudent.Text=Session["name"].ToString();TextTitleCon.Text=tempRow["title"].ToString();TextAnswer.Text=tempRow["content"].ToString();TextRemark.Text=tempRow["remark"].ToString();DropDownListGrade.SelectedIndex=Int32.Parse(tempRow["grade"].ToString());ds.Dispose();TextId.Enabled=false;TextTeacher.Enabled=false;TextStudent.Enabled=false;TextTitleCon.Enabled=false;TextAnswer.Enabled=false;TextRemark.Enabled=false;DropDownListGrade.Enabled=false;}

4.5.4 查看标准答案
学生登陆后,点击“标准答案查看”按钮,跳转到answerlist.aspx页面,便可以看到该教师目前已发布标准答案的作业列表,系统从student_work_info表、person_info表和teacher_work_info 表提取教师姓名字段、作业题目字段和提交时间字段绑定到列表中并显示到页面上。选择任意一个题目,系统将跳转到teacher.aspx页面,通过判断一个参数的值来区分是否是学生用户访问此页面。如果是学生用户,则只能查看此页面。

  1. 判断访问的用户类型
 if(Session["role"].ToString()=="1")BindSelectedData();
if(Session["role"].ToString()=="2")showAnswer();
  1. 查看标准答案
private void showAnswer(){DataSet ds  = Db.ExecuteToDataSet("select p.name,t.title,t.content,t.answer from person_info p,teacher_work_info t WHERE t.id='"+Request.Params["id"]+"' and t.teacherid=p.id");DataRow    tempRow = ds.Tables[0].Rows[0];TextId.Text=Request.Params["id"];TextTeacher.Text=tempRow["name"].ToString();TextName.Text=tempRow["title"].ToString();TextTitleCon.Text=tempRow["content"].ToString();TextAnswerCon.Text=tempRow["answer"].ToString();TextId.Enabled=false;TextTeacher.Enabled=false;TextName.Enabled=false;TextTitleCon.Enabled=false;TextAnswerCon.Enabled=false;ButtonCommit.Visible=false;}

4.5.5 普通用户修改资料
普通用户登陆到系统后可以通过点击“修改用户资料”按钮来修改自己的个人信息。系统通过判断用户唯一的ID号,把相关信息显示到页面上。同管理员修改用户信息的原理一样,在文本框中输入要修改的用户信息后,点击“修改”按钮,系统通过UPDATE语句更新person_info表中的相应字段。

string sql   = "update  person_info "+" Set passwd='"+textPasswd.Text+"',name='"+strTrans.insertTran(textName.Text)+"' "+" ,phone='"+strTrans.insertTran(textPhone.Text)+" ',email='"+strTrans.insertTran(textEmail.Text)+"' where id='"+Session["id"].ToString()+"'";
Db.ExecuteSql(sql);

5 系统测试与测试结论
5.1 管理员模块测试
5.1.1 测试方法

  1. 顺利登陆管理员模块后,在添加用户页面添加若干用户,看是否能顺利添加进数据库。
  2. 在添加数据成功后,进行修改操作,比较修改后的数据是否和预期值一致。
  3. 最后进行删除操作,是否能顺利从表中删除想要删除的信息。
  4. 点击“退出”,是否能顺利退出模块。
    5.1.2 测试结果
  5. 能顺利按照预期值添加进数据库。
  6. 修改后数据与预期值一致。
  7. 能顺利删除想要删除的数据。
  8. 可以退出模块。
    5.2 学生模块测试
    5.2.1 测试方法
  9. 顺利登陆学生模块后,在教师已经发布作业的情况下,看是否能正确选择教师并查看到作业内容。
  10. 提交作业以后看是否能正确记录学生的作业。
  11. 教师发布作业成绩和标准答案之后学生是否能查看到相对应的正确的成绩和答案。
  12. 进行修改个人信息操作,比较修改后的数据是否和预期值一致。
  13. 点击“退出”,是否能顺利退出模块。
    5.2.2 测试结果
  14. 能正确选择教师并能查看到预期想要的作业内容。
  15. 能正确记录提交的作业。
  16. 能查看到正确的成绩和答案。
  17. 修改后数据与预期值一致。
  18. 可以退出模块。
    5.3 测试结论
    以上的每个测试案例是单独进行测试的,还需要进一步进行交叉案例的测试。但是通过以上简单的测试,说明了,设计方法的正确性,它已经初步具备了作业在线提交系统的基本框架,具有良好的检测性能和准确的检测结果。由于时间和经验的不足,作业在线提交系统存在的问题及进一步完善的对策。
  19. 系统的安全性能还有待提高。管理员可以任意更改任何用户的密码信息,给安全埋下隐患。
  20. 系统的提交方式单一,可以在以后的升级版本中添加进入更多的提交方式。
  21. 可移植性差:只能在安装了Microsoft .NET Framework 1.1 、Microsoft SQL Server 2000数据库和IIS上的Windows系统上运行。若要在其它平台上运行,还需要修改部分代码。
  22. 系统构架和代码设计还需要进一步优化,以提高系统的运行效率,降低所耗的系统资源,为用户提供更好的服务。

结 论
省略

参考文献
[1] (美)莱特(Wright,C.),胡俊哲,英宇.C#编程技术与技巧[M].北京:机械工业出版社,2002.9。
[2] 方睿,刁仁宏,吴四九. 网络数据库原理及应用[M].成都:四川大学出版社,2005.8。
[3] (美) Jason Beres,袁鹏飞.21天学通Visual Studio .NET 2003[M].北京:人民邮电出版社,2003。
[4] 张海藩.软件工程导论[M].北京:清华大学出版社,2003年12月第4版。
[5] 吉根林,崔海源.ASP.NET程序设计教程[M].北京:电子工业出版社,2005.7。
[6] (美)Chris Ullman, Chris Goode,康博.ASP.NET入门经典[M].北京:清华大学出版社,2002.5。
[7] (美)Kris Jamsa,Konrad King,Andy Anderson,吴悦,吴冲华.北京:HTML & Web设计技术与技巧[M].机械工业出版社,

致 谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号 毕业设计全套资源(点击下载)
本项目源码 基于C#+asp.net+sqlserver作业提交系统设计与实现(源码+文档)C#.net_BS架构_作业提交系统.zip

C#毕业设计——基于C#+asp.net+sqlserver作业提交系统设计与实现(毕业论文+程序源码)——作业提交系统相关推荐

  1. C#毕业设计——基于C#+asp.net的图像检索技术设计与实现(毕业论文+程序源码)——图像检索技术

    基于C#+asp.net的图像检索技术设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net的图像检索技术设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  2. java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具

    基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  3. java毕业设计——基于java+J2ME的堡垒游戏设计与实现(毕业论文+程序源码)——堡垒游戏

    基于java+J2ME的堡垒游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的堡垒游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于ja ...

  4. Android毕业设计——基于Android+Eclipse的手机安全卫士设计与实现(毕业论文+程序源码)——手机安全卫士

    基于Android+Eclipse的手机安全卫士设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Eclipse的手机安全卫士设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

  5. asp毕业设计——基于asp+access的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于asp+access的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  6. 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Lucene+Tomcat的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源 ...

  7. 【java毕业设计】基于Spring Boot+mysql的酒店管理系统设计与实现(程序源码+毕业论文)-酒店管理系统

    基于Spring Boot+mysql的酒店管理系统设计与实现(程序源码+毕业论文) 大家好,今天给大家介绍基于Spring Boot+mysql的酒店管理系统设计与实现,本论文只截取部分文章重点,文 ...

  8. 基于SSM的Web网页聊天室系统设计与实现 毕业论文+项目源码及数据库文件、

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/22679732 项目介绍: 基于SSM的Web网页聊天室系统设计与实现 毕业论文+项 ...

  9. C#毕业设计——基于C#+asp.net+sqlserver的WEB招投标系统设计与实现(毕业论文+程序源码)——招投标系统

    基于C#+asp.net+sqlserver的WEB招投标系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的WEB招投标系统设计与实现,文章末尾 ...

  10. C#毕业设计——基于C#+asp.net+sqlserver的证券术语解释及翻译系统设计与实现(毕业论文+程序源码)——翻译系统

    基于C#+asp.net+sqlserver的证券术语解释及翻译系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的证券术语解释及翻译系统设计与实 ...

最新文章

  1. CentOS6软件包管理
  2. python 如何快速判断列表是否相同_Python-检查列表中的所有元素是否相同
  3. 【Python】xlwt和xlrd模块写入和读取.xls版本EXCEL
  4. TabControl与UserControl合伙吃内存
  5. 洛谷——P1146 硬币翻转
  6. 利用递归实现简单的树结构菜单
  7. Audio -- Music Playback 框图
  8. python爬取喜马拉雅vip音频_Python简易爬虫教程(三)--爬取喜马拉雅音频
  9. win10更新后,gambit无法使用,出现exceed安装弹窗解决方法
  10. PDF转Word的时候需要输入密码怎么办?
  11. 用java求素数饼放在数组中_【Java算法题】打印沙漏、素数对猜想、数组元素右移、双倍数、洗牌机...
  12. 怎么用图片编辑器给证件照换底色
  13. asp.net扫描仪编程及ajax图片数据上传
  14. 如何在Ubuntu 上安装SEP for Linux
  15. js找出最长单词_js获取字符串中最长单词长度的3种方法
  16. cdr存成html格式的文件格式,CDR必备!CDR保存与各种格式之间转换!-cdr文件用什么打开...
  17. 在Android平台上搭建Qualcomm的FastCv
  18. RNN学习笔记3-LSTM
  19. 网络渗透实验1.0——网络扫描与网络侦察
  20. 建仓价和持仓价的应用:如何开仓如何持仓

热门文章

  1. 中国顶尖的网站建设公司有哪些
  2. 加入闲鱼是一种什么体验?
  3. Spring Boot设置上下文根
  4. DroidPlugin代码分析(三) 占坑、动态注册
  5. 《Set》Java中的Set用法(详细整理)
  6. Lynket浏览器支持网页AMP文章阅读
  7. 推荐 7 个 Vue.js 插件,也许你的项目用的上(三)
  8. IDEA全家桶式讲解 | IDEA安装、使用、断点调试、Git、插件 (第二篇)
  9. 基于GSM模块电瓶车防盗系统
  10. BZOJ3531旅行