在线作业管理系统.docx

上传人:b****8 文档编号:9315817 上传时间:2023-02-04 格式:DOCX 页数:44 大小:89.79KB
下载 相关 举报
在线作业管理系统.docx_第1页
第1页 / 共44页
在线作业管理系统.docx_第2页
第2页 / 共44页
在线作业管理系统.docx_第3页
第3页 / 共44页
在线作业管理系统.docx_第4页
第4页 / 共44页
在线作业管理系统.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

在线作业管理系统.docx

《在线作业管理系统.docx》由会员分享,可在线阅读,更多相关《在线作业管理系统.docx(44页珍藏版)》请在冰豆网上搜索。

在线作业管理系统.docx

在线作业管理系统

基于J2EE的在线作业管理系统

摘要:

随着信息技术的迅速发展,多媒体计算机、网络为代表的信息技术给教育的发展带来了新的生机,为传统的教学方式注入了活力,给其带来了重大的革命。

网络使教育传播不再受时间和地点的限制,开发和充分利用网络教学,是当前教育发展的必然趋势。

作业作为一项重要的教学活动,解决作业的方便提交、发布等问题是教学顺利有效进行重要条件。

因此基于Web的作业管理系统便成为网络教学系统不可或缺的组成部分。

借助计算机及网络的优势,它能实现作业信息的快速传递,并扩展作业的功能,提高作业的教学价值及管理效率及质量。

本系统在架构上采用了当前流行的B/S结构,通过JSP、Struts2、Mysql数据库等软件的强大功能完成了作业管理系统教师及学生角色的基本作业管理功能,还具备了一个特别的定时发布作业功能,使教师可以预先设置将要发布的作业,解决了教师出差或忙碌时无法准时发布作业的问题。

关键词:

作业管理,Java,JSP,Struts2,MySql

Homeworkmanagementsystem

Abstract:

TherapiddevelopmentofIT,therepresentitivesofwhicharenetwork

andcomputers,hasbroughtlifeandenergytotraditionalwayofeducation,evokingthehistoricalrevolution.Educationalcommunicationisfreeofthelimitationoftimeandsitebecauseofnetwork.Tomakefuluseofonlinelearningisthetrendofdevelopmentofeducation.Asthecorepartofnetworkteachingsystem,theonlinehomeworkmanagementsystemplaysanimportantpartinenhancingtheefficiencyandqualityofmanagent,Tomakeuseoftheadvantageofnetwork,itcanmeetthedemandoffastspreadingofhomeworkinformationandextendthefunctionofhomework,increasingthevalueofhomeworkinteachingpratice.

ThissystemusestheprevailingstrutureB/S,takingtheadvatageof

jsp,struts2andmysql,torealizethebasicfunctionofteacherandstudentinhomeworkmanagementsystem.whatismore,italsohasthespecialtimingpublishinghomeworkfuntiontohelptheteacherswhocannotdothatontime.

Keywords:

homeworkmanagementsystem,Java,Jsp,Struts2,MySql

摘要I

Abstract:

.II

第一章绪论.1

1.1研究的背景.1

1.2研究的内容.1

1.3研究的意义.2

第二章系统的设计模式与技术准备.3

2.1系统的设计模式.3

2.2技术准备.3

第三章系统分析.11

3.1可行性分析11

3.1.1经济可行性分析.11

3.1.2技术可行性分析.11

3.2需求分析11

3.2.1系统运行环境11

3.2.2系统功能需求12

3.2.3系统性能需求15

3.2.4主要功能要求16

第四章系统设计.17

4.1系统业务流程分析.17

4.2功能模块的分析与设计.17

第五章数据库设计.19

5.1数据库需求分析19

5.2数据的组织与存储20

5.3逻辑设计.21

第六章系统实现.24

6.1系统研发原则.24

6.2系统的实现.25

第七章结论.41

7.1工作总结与成果.41

7.2不足及尚待解决的问题.41

参考文献错误!

未定义书签。

致谢错误!

未定义书签。

第一章绪论

1.1研究的背景

随着计算机以及网络的普及,教师与学生对辅助教学方式的要求也越来越高,

在教学辅助方式上追求质量及效率。

作为教学核心组成之一的作业管理也趋向更

加便捷快速的方式。

经过调查,现阶段高校进行作业管理的方式主要有三种:

情况一:

老师与学生的课外教学互动通过公共邮箱,如老师一般把教学资料

上传到公共邮箱供生下载,学生把电子版作业上交到公共邮箱。

这种方式的局限性是邮箱的容量有限,对于大容量邮件,服务器只保存有限的时间而且老师难以统计学生提交作业的情况,也难以批改。

情况二:

通过U盘拷贝教师发布作业以及提交作业,这种方式的成本高,一旦U盘损坏会导致作业丢失。

情况三:

部分有该方面技术的教师会建立起个人辅助教学网站,网站开发需花费教师较多的时间和精力,一旦建成,修改要手动编辑源代码,比较麻烦,而且教师的个人教学辅助网站相对分散,其共享性不强,可管理性较差。

针对目前的状况,很有必要开发一个操作简单,功能完备,为教师学生进行作业管理提供便捷的在线作业管理系统,简化作业管理的步骤,从根本上解决作业提交步骤复杂的问题。

1.2研究的内容

本文以所设计的作业管理系统为背景,阐述了该系统的设计思路和功能分

析。

首先对该作业管理系统做出简要的概述,分析系统的背景及意义,再从需求分析,总体设计再到其各个功能的详细设计,再选择合适的开发语言工具对其进

行代码实现。

1.3研究的意义

每次教授了新的章节或者内容之后,教师都有可能需要布置相应的作业或练习以保证学生可以牢固掌握相应知识。

作为教学的核心之一的作业管理,其传统的实现方式步骤既繁琐又耗时,还不能很好的保证作业发布的即时性及可控性,即教师无法在他需要的时候立即发布作业,教师也无法提前预设将要发布的作业,删除,编辑,批改等操作也不够便捷。

这时,作业管理系统的作用就体现出来了。

教师可以在网上发布自己的课程作业,而且还可以选择及时发布还是定时发布,对过期的作业进行删除,查看学生作业提交的情况,批改学生作业等,既方便快捷也省时高效。

第二章系统的设计模式与技术准备

2.1系统的设计模式

系统采用现今流行的B/S模式开发,分层设计如下:

图2-1系统分层设计图

2.2技术准备

Java

Java,是由SunMicrosystems公司于1995年5月推出的Java程序设

计语言和Java平台的总称。

Java的语言特点如下:

1.Java是简单的

Java与C++极为相似,但却简单得多。

高级编程语言的所有特性中,不是

绝对需要的都已删去了。

例如,Java没有算符过载、标题文件、预处理、指针运算、结构、联合、多维数组、模板及隐式类型变换。

如果你知道一点C、C++

或Pascal,你很快就会驾驭Java。

这里是一个简单的JavaHelloWorld程序:

publicclassHelloInternet{publicstaticvoidmain(Stringargv[]){System.

out.println(“HelloIn-ternet!

”)}}

2.Java是面向对象的

Java是一种面向对象的编程语言。

除了简单的类型,如数字和布尔算子之外,Java中的大部分都是对象。

正如任何面向对象的语言一样,Java代码也按类组织。

每个类定义一组规定对象行为的方法。

一个类可以继承另一个类的行为。

在类的根层次上,通常是类对象。

3.Java是静态类型的

在一个Java程序中,必须定义所用对象(数字、字符、数组等)的类型。

这有助于编程人员很快发现问题,因为当程序编译时可以检测类型错误。

不过,Java系统中的对象也有动态类型。

要求一个对象为动态类型往往是可能的,所以编程人员写的程序可以对不同类型的对象做不同的事。

4.Java是编译型的

当运行Java程序时,它首先被编译成字节代码。

字节代码非常类似于机器指令,所以Java程序非常高效。

然而,字节代码并不专对一种特定的机器,

所以Java程序无需重新编译便可在众多不同的计算机上执行。

Java源程序被编译成类文件,它相当于程序的字节代码表现。

在一个Java类文件中,所有对方法及实例变量的参照均按名进行,并在第一次执行代码时加以分辨。

这使得代码更通用,更不易受修改的影响,而仍具高效。

5.Java是体系结构中立的

Java语言对每种计算机都一样。

比如,简单的类型都是不变的:

整数总是

32位,长整数总是64位。

令人奇怪的是,诸如C及C++等时髦的编程语言却不是这样。

由于这些语言定义如此自由,每种编译器及开发环境便各有不同了,这使程序的移植成为讨厌的问题。

Java程序的移植却很容易,而且不需要进行重新编译。

6.Java是健全的

Java程序不可能造成计算机崩溃。

Java系统仔细检测对内存的每次访问,确认它是合法的,而且不致引起任何问题。

不过,即使Java程序也可能有错误。

如果出现某种出乎意料之事,程序不会崩溃,而把该例外抛弃。

程序会发现这类例外,并加以处理。

传统的程序可以访问计算机的全部内存。

程序可能(无意识地)修改内存中的任何值,这就会造成问题。

Java程序只能访问内存中允许它们访问的那些部分,所以Java程序不可能修改不拟修改的值。

7.Java是小巧的

由于Java的设计是要在小的计算机上运行,作为一种编程语言来说其系

统是相对较小的。

它能有效地在4MB以上RAM勺PC机上运行。

Java翻译器只

占用几百KB这种翻译器对Java的平台无关性和可移植性是可靠的

由于Java很小,它对内存很小的计算机,如基于Java的PC机,以及电视机、烤箱、电话机及家用计算机等,是很理想的。

8.Java是多线程的

Java程序可以执行一个以上的线程。

比如,它可以在一个线程中完成某一耗时的计算,而其它线程与用户进行交互对话。

所以用户不必停止工作,等待Java程序完成耗时的计算。

在多线程环境中的编程通常是困难的,因为许多东西可能同时出现。

但是,Java提供了易于使用的同步特性,使编程更为方便。

Java线程通常被映射为实际的操作系统线程,只要底层操作系统支持这种映射。

因此,用Java写的应用程序可说是“MP热”。

这就是说,如果它们在多处理器机器上运行,它们更将表现不凡。

9.Java是可收集无用的存储单元的

用C及C++写软件的编程人员必须仔细跟踪所用的内存块。

当一个块不再使用时,他们务必让程序释放它,从而方可再用。

在大的项目中,这可能很困难,并往往成为出错和内存不足的根源。

在Java的情况下,编程人员不必为内存管理操心。

Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。

10.Java是快速的

Java比典型的脚本语言大为有效,但它比C慢20倍。

这对大多数应用是可接受的。

不久的将来,代码生成器就可供利用了,这将使Java程序几近于用C或

C++编写的程序那么快。

11.Java是安全的

Java程序没有指针,而且象这样的字节代码程序强在类型,所以在执行之

前它可能验证Java程序。

谎橹芒腏ava程序得以保证不突破Java语言的任何限制,而且可以安全地执行。

Java字节代码验证被Web浏览器用来确保小程序不含病毒。

12.Java是可扩展的

Java程序可与用其它语言编写的现存程序库连接。

由于Java数据结构与

C的数据结构的类型极为相似,这是相当方便的。

最大的问题在于,现有多线程程序库为数不多。

Java程序可以声明某些方法是内部的,然后,把这些内部方法映射成软件库所定义的功能,从而动态地链接到虚拟机。

Struts2

Struts2是Struts的下一代产品。

是在struts和WebWorl的技术基础上进行了合并,全新的Struts2框架。

其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。

Struts2以WebWor为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

因为Struts2和Struts1有着太大的变化,但是相对于WebWor,kStruts2只有很小的变化。

一个请求在Struts2框架中的处理大概分为以下几个步骤:

1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;

2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做

ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:

SiteMeshPlugin);

3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决

定这个请求是否需要调用某个Action;

4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的

处理交给ActionProxy;

5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类;

6、ActionProxy创建一个ActionInvocation的实例。

7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,

涉及到相关拦截器(Intercepter)的调用。

8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。

在表示的过程中可以使用Struts2框架中继承的标签。

在这个过程中需要涉及到ActionMapper。

Entity

存放实体类,实体类主要是作为数据管理和业务逻辑处理层面上存在的类别;它们主要在分析阶段区分实体类的主要职责是存储和管理系统内部的

信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实

体对象密切相关。

大多情况下,实体类和数据库中的表(这里指实体表,不

包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。

Dao

DAQ数据访问对象)是一种应用程序编程接口(API),存在于微软的VisualBasic中,它允许程序员请求对微软的Access数据库的访问。

DAO是微软的第一个面向对象的数据库接口。

DAO对象圭寸闭了Access的Jet函数。

通过Jet函数,它还可以访问其他的结构化查询语言(SQL数据库。

DAO是DataAccessObject数据访问接口,数据访问:

顾名思义就是与数据库打交道。

夹在业务逻辑与数据库资源中间。

在核心J2EE模式中是这样介绍DAO模式的:

为了建立一个健壮的J2EE

应用,应该将所有对数据源的访问操作抽象圭装在一个公共API中。

用程

序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。

在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。

Mysql数据库

MySQL是一个小型关系型数据库管理系统,目前被广泛地应用在

Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

Mysql作业调度用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。

然后再将新创建的进程插入就绪队列,准备执行。

因此,有时也把作业调度称为接纳调度。

事件调度器是在MySQL5.1中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功>能。

例如,Linux中的crontabe只能精确到每分钟执行一次,而MySQL事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要>

求较高的环境下就非常实用了。

事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的

触发器"。

触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。

事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。

启用MySQL事件调度器后,拥有SUPER权限的账户执行SHOWPROCESSLIST就可以看到这个线程了。

通过设定全局变量event_scheduler的值即可

动态的控制事件调度器是否启用。

第三章系统分析

3.1可行性分析

3.1.1经济可行性分析

因为该系统只是一般的作业管理系统,系统的管理与操作的要求不是很高,

系统管理员可征集有相关专业基础学生义务担任或作为学校勤工助学的岗位。

且该系统的经费不高,系统逻辑不复杂,可由学生担任一部分的开发工作。

3.1.2技术可行性分析

该系统使用B/S模式开发,技术使用java、struts2、mysql作业调度等,发环境使用windowsXP、MyEclipse和Tomcat。

经过详细的分析,设计模式、技术、开发环境和人员配备都可满足系统开发的条件。

3.2需求分析

3.2.1系统运行环境

(1)软件环境:

操作系统:

WindowsXP

浏览器:

IE8

数据库:

MySQL5.1.*

(2)硬件环境

服务器专用双核或四核CPU内存4G以上,硬盘用SCSI或SAS

3.2.2系统功能需求

作业功能模块的用户分为教师和学生,他们各自的主要功能需求如下:

(1)教师的主要功能需求:

1)查看教师所教的所有课程

2)上传作业以及相应作业参考答案,可以选择定时发布作业

3)下载发布的作业及答案

4)删除、修改已发布的作业,删除时可连带删除相关信息

5)查看作业批改情况,下载学生作业,批改学生所上传的作业

6)查看作业提交情况

7)查询学生成绩,修改学生成绩

(2)学生的主要功能需求:

1)查看教师发布的作业

2)查看自己所选课程

3)查看自己完成作业的情况

4)上传作业

5)下载自己提交的作业以及删除自己上传但教师尚未批改的作业

6)查看个人作业的以及教师评语

7)查看已提交作业的参考答案

系统用例图如下:

根据作业模块的用户可创建两类角色是教师和学生,他们的关系用例图分别

如下:

(1)学生角色的用例图关系如下:

图3-1学生角色用例图

(2)教师角色的用例图关系如下:

 

图3-2教师角色用例图

a)教师发布作业情况的用例图如下:

图3-3教师发布作业用例图

b)教师管理已发布作业的用例图如下:

 

c)教师批改作业的用例图如下:

图3-5教师批改作业用例图

3.2.3系统性能需求

实用性:

为网上教学提供方便,有效进行作业管理,尽量最大限度降低管理员日常管理工作量,提高教学质量和效率,优化资源,实现效益最大化

操作简单:

本系统应该适用于不同水平的使用者,包括教师和学生,同时系

统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。

技术先进:

产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。

使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。

安装使用简便:

服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。

代码可读性好:

文中的代码将尽可能简洁,易懂。

3.2.4主要功能要求

主要功能:

为方便教师检查学生的实验作业,减少大量数据处理,复杂的排

版操作从而经常出现错误率高、网页样式不一、重覆枯燥计算机操作和网页美观性的问题,提高学生的实验效率。

查看实验作业时应保证查准率,查看的记录应与给定的实验项内容完全匹配。

数据安全性,修改数据时,一定要保证输入正确,并且数据保密性要高。

输入要求:

数据完整、详实

输出要求:

简捷、快速、实时

安全与保密要求:

客户端要求提供身份验证,只允许通过身份验证的用户使

用本系统要求能在发生意外(如掉电)的情况下,保证不丢失数据

第四章系统设计

4.1系统业务流程分析

图4-1系统业务流程图

4.2功能模块的分析与设计

教师用户的模块及功能设计如下:

(1)作业发布子模块:

通过文件上传框上传相应作业文档,还可以选择性得

选择是否上传该次作业的答案文档。

教师还可以选择定时发布作业,作业将在教师选定的日期才显示出来。

系统还会在用户按下提交按钮之后检测教师是否输入了文件名以及上传了作业文档,检测通过后才可以正式发布这次作业。

(2)作业列表模块:

分页显示所有教师发布过的作业列表,每次作业的右边都会有删除,批改,提交情况的超链接,点击会跳到相应的功能页面。

点击删除超链接时,会提示教师,将会连带删除学生所交作业和成绩,是否继续,点击确定后将删除相应作业及学生的相关作业和成绩。

(3)批改作业子模块:

在作业显示列表页面点击了批改按钮之后,会弹出一

个显示作业批改情况的页面,里面是一个列表,其中列表项包括:

学号,已(未)批改(超链接),分数,评语(评语设定显示六个字,后面用省略号代替)。

点击已(未)批改链接会出现相应学号该次作业的批改页面,里面显示学生学号,姓名,学生所提交作业的下载链接,提交日期等信息。

下面有两个输入框,分别用于输入成绩和批语,若之前教师已批改过次作业,成绩及批语输入框内将显示之前的内容,成绩输入框只能输入数字,而且提交时还会检测分数的范围是否正确。

(4)提交作业情况子模块:

教师只需要在作业列表右边点击相

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1