作业在线提交系统的设计与实现

作业在线提交系统的设计与实现[java毕业论文下载]

作业提交系统的设计与实现

摘  要

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

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

 

关键词作业提交系统;SQL server 2000;.NET平台;

Design and Implementation of Assignment submission system

Abstract

The chief purpose of the work submission system is to solve the inconvenient questions of exchanging, that is, the students hand in the work and the teacher corrects students' papers, but all the communication has to depend on the paper. The system has the manager module and the student module. It has a perfect characteristic that the operation will be simple and has the friendly surface. The paper has explained the background, significance, developing environment and requirements analysis of system, it also describes the database design and system functions detailedly. The system is based on the B/S structure, using C# and Microsoft SQL 2000 as the .NET platform. The system has a bright future. It will replace the traditional the ways of handing in homework and realize the ways of handing in homework’s network management.

 

Key words: The work submission system;Microsoft SQL 2000 database;The.NET platform; 

目   录

论文总页数:21页

 

1 1

1.1 本课题选题背景及目的 1

1.2 本课题选题意义 1

1.3 本课题研究思路和方法 1

1.4 本课题预期结果 1

2 开发平台与语言简介 2

2.1 .net简介 2

2.2 HTML标记语言 2

2.3 C# 简介 3

2.4 ADO.NET简介 3

2.5 Microsoft SQL Server 2000简介 3

2.6 浏览器/服务器模型 3

3 系统需求分析 4

3.1 系统业务需求及特点 4

3.1.1 业务需求 4

3.1.2 系统特点 4

3.2 用户特点 4

3.2.1 管理员用户 4

3.2.2 学生用户 4

3.3 系统业务流程图 5

3.4 数据流图 5

3.5 开发环境 6

3.6 限制条件 6

4 系统设计与实现 7

4.1 系统功能划分 7

4.2 系统功能体系图 7

4.3 数据库设计 8

4.3.1 数据库E-R 8

4.3.2 数据库表 9

4.3.3 数据库表说明 10

4.4 管理员模块的设计与实现 10

4.4.1 用户界面 10

4.4.2 增删改管理员用户 11

4.4.3 添加新用户 12

4.4.4 修改删除普通用户 13

4.5 学生模块的设计与实现 13

4.5.1 用户界面 13

4.5.2 提交作业 14

4.5.3 查询作业成绩 15

4.5.4 查看标准答案 16

4.5.5 普通用户修改资料 17

5 系统测试与测试结论 17

5.1 管理员模块测试 17

5.1.1 测试方法 17

5.1.2 测试结果 17

5.2 学生模块测试 18

5.2.1 测试方法 18

5.2.2 测试结果 18

5.3 测试结论 18

     18

参考文献 19

     20

     21

 

 

1.1 本课题选题背景及目的

随着互联网技术的迅猛发展,网络给人们带来了很多便利,但是在目前的高校教学系统中,学生提交作业和教师批改作业都得靠纸质交流,或者是用单一的上传,拷贝等方法交流。这样的传统作业提交批改方式已经过时,而且也无法满足现在高效率的时代。因此设计开发了此系统。该系统完全可以淘汰纸质作业的形式,首先可以方便学生查看作业的批改情况以便于更好的学习,其次可以在教师发布标准答案之后查看标准答案方便和自己的作业进行对比学习。开发此系统的目的在于方便教师和学生的互动交流,大大提高学生提交作业,教师批改作业的效率。

1.2 本课题选题意义

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

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

1.3 本课题研究思路和方法

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

1.4 本课题预期结果

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

开发平台与语言简介

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 2000简介

Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS, Relational Database Management System)。SQL Server 2000是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 2000 Server上——基于Intel处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的机器上。可以使用相同的CD来安装任何一个SQL Server 2000的服务器版本或个人版本。

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.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 开发环境

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

3.6 限制条件

  • 学生不可以进入教师与管理员的页面。
  • 管理员也不可以进入学生和教师页面。
  • 普通用户使用修改密码都只能修改自己的密码,无法修改他人的。
  • 不同的用户使用个人数据功能时,只可以看到自己的信息不可以看到其他用户的信息。
  • 学生提交作业的类型,大小,时间等,受到教师发布作业的约束。
  • 只有当教师发布作业的标准答案之后,学生才能查看作业的标准答案。
  • 当老师发布新的作业之后,学生才可以查看到作业题目并提交作业。
  • 学生作业提交之后,不可以再更改作业内容。
  • 只有当老师公布成绩之后,学生方可查看作业成绩。

系统设计与实现

系统功能划分

  • 系统分为管理员模块和学生模块;
  • 不同用户登录进入不同的界面;
  • 学生作业的查看与提交;
  • 学生作业成绩的查看;
  • 作业参考答案的查看;
  • 管理员添加管理员用户、教师用户和学生用户;
  • 管理员修改管理员密码、用户信息与学生用户信息;
  • 管理员删除管理员用户、教师用户和学生用户;
  • 用户对个人资料的查看与修改。

系统功能体系图

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

 

图3  系统功能体系图

数据库设计

4.3.1 数据库E-R图

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

 

图4 数据库E-R图

4.3.2 数据库表

表1  数据库admin表

列名

数据类型

长度

允许空

admin_name

varchar

50

 

admin_pwd

varchar

50

 

id

int

4

 

 

表2  数据库person_info表

列名

数据类型

长度

允许空

id

int

4

 

name

varchar

50

 

passwd

varchar

50

 

email

varchar

50

phone

varchar

50

role

int

4

 

number

int

4

 

 

表3  数据库student_work_info表

列名

数据类型

长度

允许空

id

int

4

 

studentid

int

4

 

teacherid

int

4

 

subtime

datetime

8

 

correcttime

datetime

8

title

varchar

100

content

text

1000

grade

int

4

remark

char

10

 

表4  数据库teacher_work_info表

列名

数据类型

长度

允许空

id

int

4

 

teacherid

int

4

 

title

varchar

100

 

content

text

1000

 

answer

text

1000

subtime

datetime

8

 

 

表5  数据库stusent_teacher表

列名

数据类型

长度

允许空

studentid

int

4

 

teacherid

int

4

 

 

 

4.3.3 数据库表说明

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

管理员模块的设计与实现

用户界面

管理员模块用户界面如图5所示:

 

图5 管理员模块用户界面

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

4.4.2 增删改管理员用户

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

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

当admin表中的行数等于1的时候,则提示“请至少保留一个管理员帐号”。

修改管理员密码必须先登陆管理员界面,在密码栏里输入新密码,系统通过UPDATE语句更新admin表中的admin_pwd字段。

  • 添加新管理员
    • 判断帐号是否重复

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;

}

  • 添加管理员信息到数据库

Db.ExecuteSql("insert into admin(admin_name,admin_pwd)  values('"+strTrans.insertTran(adminName.Text)+"','"+strTrans.insertTran(adminPass.Text)+"')");

Response.Redirect("admin.aspx",true);

}

  • 删除管理员帐号

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());

}

  • 修改管理员密码信息

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字段来判断用户的唯一性。

  • 判断帐号是否重复

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>";

}

  • 添加用户信息到数据库

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表中删除相对应的行。

  • 修改普通用户信息

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("修改成功!");

  • 删除普通用户信息

Db.ExecuteSql("Delete  From person_info where number="+Request.QueryString["id"]);

学生模块的设计与实现

4.5.1 用户界面

学生模块用户界面如图6所示:

 

图6 学生用户界面

作业在线提交系统的设计与实现[点击下载]

评论