作业提交系统的设计与实现Word下载.docx
《作业提交系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《作业提交系统的设计与实现Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
通过Internet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。
作业在线提交系统可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,提高学生提交作业的效率,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。
让学生能和教师进行更好的互动式的学习与教学。
本系统有着很好的应用前景,用来代替传统的作业提交方式,实现在线作业提交方式的网络化管理。
1.3本课题研究思路和方法
本系统的开发要求采用B/S结构,应首先分析用户需求的相关功能后写出需求分析;
其次,综合运用以前所学的相关知识(数据结构,C语言等),选择所熟悉的开发工具进行开发(本系统选择开发语言选择了ASP;
数据库采用ACCESS),在设计中以需求分析为基础,写出系统开发计划,实现流程及相关问题的实现方法;
同时,在开发设计与实现中,要保存好相关的设计文档。
最后,系统开发完毕后,进行调试和试运行,并做好调试和试运行的相关记录。
1.4本课题预期结果
本设计的预期成果是完成作业提交批改系统的部分功能——作业上传和管理用户和作业下载功能,并能够实现作业在线提交功能;
在线实时查看作业批改的情况;
用户信息管理(教师用户,学生用户,管理员用户),设置用户的功能和权限。
形成一个真正实用的、功能完善的作业在线提交批改系统。
2开发平台与语言简介
2.1HTML标记语言
HTML的英语意思是:
HypertextMarkedLanguage,即超文本标记语言,是一种用来制作超文本文档的简单标记语言。
超文本传输协议规定了浏览器在运行HTML文档时所遵循的规则和进行的操作。
HTTP协议的制定使浏览器在运行超文本时有了统一的规则和标准。
用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台,自1990年以来HTML就一直被用作WWW(是WorldWideWeb的缩写,也可简写WEB、中文叫做万维网)的信息表示语言,使用HTML语言描述的文件,需要通过WEB浏览器显示出效果。
HTML是在SGML定义下的一个描述性语言,或可说HTML是SGML的一个应用程式。
HTML不是程式语言,如C++和Java之类,它只是标示语言,基本上你只要明白了各种标记的用法便算学懂了HTML,HTML的格式非常简单,只是由文字及标记组合而成,至于编辑方面,任何文字编辑器都可以,只要能将文件另存成ASCII纯文字格式即可,当然以专业的网页编辑软件为佳。
2.2ASP简介
ASP(ActiveServerPages)是未经编译的开放应用软件,它使用户能够利用html和Active强有利的功能创建,功能强大的,与平台无关的WEB应用系统。
因此,可以充分利用全球所提供的广泛互联。
Javascrip,Vbscrip都是利用基于浏览器脚本语言,它们的功能很强大的,能让网页丰富多彩。
Script(脚本)是由一组可以在WEB服务器或客户端浏览器运行的命令组合而成,目前在网页编制上比较流行的脚本语言包括VBScript,JavaScript。
这些脚本大都是在客户端运行,因此,客户端可以很清楚的取得脚本的内容。
所以,就安全性而言,这些客户端的脚本语言的确有危险[10]。
ASP虽然具有脚本语言的方便性,但由于他是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。
因此ASP与一般的脚本语言相比,要安全的多。
2.3ADO访库技术介绍
ADO(ActiveXDataObjects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。
它可作用于服务器端,以提供含有数据库信息的主页内容。
通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。
ADO使用内置的RecordSets对象作为数据的主要接口。
ADO可使用VBScript、JScript语言来控制对数据库的访问,以及查询结果的输出显示。
ADO可连接多种支持ODBC的数据库,如Access、SQLServer、Oracle、Informix等。
在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名)。
要选择系统数据源名,指定所用的驱动程序,如"
Microsoftaccess"
在数据来源名称中输入DSN名,并选定服务器和数据库[10]。
2.4浏览器/服务器模型
WWW是构建在浏览器/服务器(B/S)模型以及http协议的基础上的,其运作模式可以描述为:
请求>
处理>
应答。
从浏览器提交的请求通过Web服务器给应用程序服务器,由它调用相关的网页应用程序进行处理,处理的结果由网页交给Web服务器,Web服务器把这个网页作为对请求的应答发还给浏览器。
至于对提交的信息如何处理,就交由网站的开发人员编写相关的网页应用程序来决定反馈到浏览器的内容;
如果需要对数据库进行访问,开发人员还可以利用应用程序服务器所提供的接口对其进行访问。
网页内容的动态发布是Web应用程序的主要实现方法,通常这种方法同服务器端提供的WWW服务技术密不可分。
一般来说,在Internet服务器上可以通过多种途径实现动态内容的发布,最常见的技术包括CGI、ISAPI和ASP等。
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.ASP;
2.MicrosoftACCSEE数据库。
3.要求系统必须安装IIS。
3.6限制条件
1.学生不可以进入教师与管理员的页面。
2.管理员也不可以进入学生和教师页面。
3.普通用户使用修改密码都只能修改自己的密码,无法修改他人的。
4.不同的用户使用个人数据功能时,只可以看到自己的信息不可以看到其他用户的信息。
5.学生提交作业的类型,大小,时间等,受到教师发布作业的约束。
6.只有当教师发布作业的标准答案之后,学生才能查看作业的标准答案。
7.当老师发布新的作业之后,学生才可以查看到作业题目并提交作业。
4系统设计与实现
.1系统功能划分
1.系统分为管理员模块和学生模块和教师模块;
2.不同用户登录进入不同的界面;
3.学生作业的查看与提交;
4.作业参考答案的查看;
5.教师可发布作业与查看学生所提交的作业
6.管理员添加管理员用户、教师用户和学生用户;
7.管理员修改管理员密码、用户信息与学生用户信息;
8.管理员删除管理员用户、教师用户和学生用户;
9.用户对个人资料的查看与修改。
.2系统功能体系图
无论是管理员用户还是学生用户还是教师用户,都必须通过登陆进入功能模块,管理员可以管理所有用户的信息,可以对用户信息进行添加,删除和修改操作;
学生用户登陆后,可以进行作业下载,作业提交,修改自己的资料四种操作。
教师登陆后,可以在线发布作业,查看学生已提交的作业,也可修改自己的基本资料。
系统功能体系图如图3所示:
图3系统功能体系图
.3数据库设计
4.3.1数据库E-R图
数据库E-R图如图4所示,管理员和其他实体没有联系,是一个单独的实体,故图中没有画出管理员实体。
学生实体和教师实体存在一个多对多的关系,学生和作业内容也存在一个多对多的关系,多个学生提交多份作业。
教师和作业题目则是一对多的关系,一位教师可以布置多个作业题目。
图4数据库E-R图
4.3.2数据库表
表1数据库Admin表
列名
数据类型
长度
ID
数字(自动编号)
50
Name
文本
Password
表2数据库Class表
ClassID
数字
TeacherName
term
date
日期/时间
8
表3数据库Student表
4
StudentID
Major
UpTimes
表4数据库Teacher表
Info
备注
1000
Announce
表5数据库Upload表
WorkID
workname
Path
StudentID
StudentName
mark
表6数据库Works表
worktime
StartDate
EndDate
4.3.3数据库表说明
1.admin表与其它表无关系只是为了存放管理员的帐号与密码等数据。
2.Class表里的ID字段为主键用于存放学生班级的ID。
.4登陆模块的设计与实现
4.4.1用户登陆界面
用户登陆界面如图5所示:
图5用户界面
1.用户从主登陆页面选择身份“管理员或是学生或是教师”,在登陆页面输入正确的用户名和密码后方可登陆成功。
4.4.2管理员管理模块-增删改用户和班级
管理员可以添加更多的用户,教师和学生和班级由管理员添加,每次当管理员添加用户时系统通过INSERT语句向Admin表里插入一行,记录新的用户的用户名或班级,密码。
删除管理员必须由管理员用户来操作,执行删除操作时,系统通过判断Admin表中的ID字段,使用Delete语句从Admin表中删除相对应的行。
修改管理员密码必须先登陆管理员界面,在密码栏里输入新密码,系统通过UPDATE语句更新Admin表中的Password字段。
1.添加新班级
a、添加班级信息到数据库
DimSqlText
teachername=Trim(request.form("
teachername"
))
classid=Trim(request.form("
classid"
ifteachername="
"
orclassid="
then
Response.Write"
<
script>
alert('
出错原因:
\n1、教师选项不能为空!
\n2、班号必须为数字,且不能为空!
'
);
history.go(-1)<
/script>
Response.End
endif
Sql="
select*fromclasswhereclassid="
&
classid&
Rs.openSql,conn,1,3
IfNotRs.eofThen
%>
班号<
%=classid%>
已存在,请重新输入!
2.删除班级
formname="
form1"
method="
POST"
action="
delete_class.asp?
action=del&
ID=<
%=Rs("
ID"
)%>
>
<
p>
您要删除的班号为:
%=rs("
ClassID"
主讲教师为:
TeacherName"
这个班级吗?
inputtype="
submit"
name="
Submit"
value="
确认删除"
/p>
/form>
4.4.3添加新用户
用户(包括教师用户和学生用户)都必须通过管理员添加新的用户。
管理员添加用户时,用户ID必须是唯一的,因为用户可能会有名字相同的情况,所以系统通过ID字段来判断用户的唯一性。
由于添加老师和学生的方法一样,所以就用学生为例,以下相同。
例如添加学生用户
1.添加学生用户信息到数据库
setrs1=conn.execute("
select*fromclasswhereterm='
term&
)
ifrequest("
studentid"
)<
andrequest("
name"
setrs=server.createobject("
adodb.recordset"
sql="
selecttop1*fromstudent"
rs.opensql,conn,1,3
rs.addnew
rs("
)=request("
password"
major"
term"
rs.update
response.write"
br>
添加成功!
ahref=add_student.asp>
继续添加<
/a>
response.end
4.4.4修改删除用户
管理员有权限修改或者搜索学生普通学生用户的个人信息。
系统首先从数据库中把所有用户的信息绑定到页面上。
在文本框输入要搜索的用户信息后,点击“搜索”,系统过select语句查询相关学生信息。
实施删除学生用户操作时,使用Delete语句从Student表中删除对应的行。
其界面如下:
1.搜索学生信息
Setrs1=Server.CreateObject("
ADODB.Recordset"
rs1.ActiveConnection=conn
rs1.Source="
SELECT*FROMStudentWHEREStudentID='
+Replace(rs1__MMColParam,"
"
)+"
rs1.CursorType=0
rs1.CursorLocation=2
rs1.LockType=1
rs1.Open()
2.删除学生信息
formACTION="
delete_student.asp?
METHOD="
您将要删除:
学号为:
%=(rs.Fields.Item("
StudentID"
).Value)%>
姓名为:
Name"
的记录
4.5学生模块的设计与实现
4.5.1用户界面
学生模块用户界面如图6所示:
图6学生用户界面
1.学生用户在主登陆界面输入正确的用户名和密码后登陆到学生模块。
2.学生模块只允许学生用户进入。
3.学生模块的页面分成两栏,左边是功能目录,右边是具体功能的页面。
4.学生模块主要分为作业查看,作业上传和修改密码看三个功能部分。
4.5.2作业上传
学生登陆后,点击“作业查看提交”按钮,便可以看到该教师目前所布置的作业列表,然后将老师所布置的作业下载的自己的电脑上,完成作业后将作业上传到作业系统里。
其上传代码如下:
1、学生上传作业
studentname=Session("
studentname"
Path="
../uploadfile/"
strFile1
StudentID=Session("
term=Session("
sql="
InsertIntoUpload"
_
"
(workname,Path,StudentID,StudentName,term)"
values"
('
workname&
'
Path&
StudentID&
StudentName&
)"
conn.Execute(sql)
Response.RedirectRequest.ServerVariables("
HTTP_REFERER"
conn.close()
setconn=nothing
4.5教师模块的设计与实现
4.5.1查询学生的上交的作业
教师检查作业界面
setrs1=conn.execute("
select*fromclasswhereteachername='
ttname&
andterm='
iftclassid<
setrs2=conn.execute("
select