ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:193.13KB ,
资源ID:17337365      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17337365.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(在线作业系统的设计与实现毕业论文Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

在线作业系统的设计与实现毕业论文Word文档下载推荐.docx

1、例如,Java没有算符过载、标题文件、预处理、指针运算、结构、联合、多维数组、模板及隐式类型变换。如果你知道一点C、C+或Pascal,你很快就会驾驭Java。这里是一个简单的JavaHelloWorld程序: publicclassHelloInternetpublicstaticvoidmain(Stringargv)System.out.println(“HelloIn-ternet!”) 2.Java是面向对象的 Java是一种面向对象的编程语言。除了简单的类型,如数字和布尔算子之外,Java中的大部分都是对象。正如任何面向对象的语言一样,Java代码也按类组织。每个类定义一组规定对象

2、行为的方法。一个类可以继承另一个类的行为。在类的根层次上,通常是类对象。3.Java是静态类型的 在一个Java程序中,必须定义所用对象(数字、字符、数组等)的类型。这有助于编程人员很快发现问题,因为当程序编译时可以检测类型错误。不过,Java系统中的对象也有动态类型。要求一个对象为动态类型往往是可能的,所以编程人员写的程序可以对不同类型的对象做不同的事。4.Java是编译型的 当运行Java程序时,它首先被编译成字节代码。字节代码非常类似于机器指令,所以Java程序非常高效。然而,字节代码并不专对一种特定的机器,所以Java程序无需重新编译便可在众多不同的计算机上执行。Java源程序被编译成

3、类文件,它相当于程序的字节代码表现。在一个Java类文件中,所有对方法及实例变量的参照均按名进行,并在第一次执行代码时加以分辨。这使得代码更通用,更不易受修改的影响,而仍具高效。5.Java是体系结构中立的 Java语言对每种计算机都一样。比如,简单的类型都是不变的:整数总是32位,长整数总是64位。令人奇怪的是,诸如C及C+等时髦的编程语言却不是这样。由于这些语言定义如此自由,每种编译器及开发环境便各有不同了,这使程序的移植成为讨厌的问题。Java程序的移植却很容易,而且不需要进行重新编译。6.Java是健全的 Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它是

4、合法的,而且不致引起任何问题。不过,即使Java程序也可能有错误。如果出现某种出乎意料之事,程序不会崩溃,而把该例外抛弃。程序会发现这类例外,并加以处理。传统的程序可以访问计算机的全部内存。程序可能(无意识地)修改内存中的任何值,这就会造成问题。Java程序只能访问内存中允许它们访问的那些部分,所以Java程序不可能修改不拟修改的值。7.Java是小巧的 由于Java的设计是要在小的计算机上运行,作为一种编程语言来说其系统是相对较小的。它能有效地在4MB以上RAM的PC机上运行。Java翻译器只占用几百KB。这种翻译器对Java的平台无关性和可移植性是可靠的。由于Java很小,它对内存很小的计

5、算机,如基于Java的PC机,以及电视机、烤箱、电话机及家用计算机等,是很理想的。8.Java是多线程的 Java程序可以执行一个以上的线程。比如,它可以在一个线程中完成某一耗时的计算,而其它线程与用户进行交互对话。所以用户不必停止工作,等待Java程序完成耗时的计算。在多线程环境中的编程通常是困难的,因为许多东西可能同时出现。但是,Java提供了易于使用的同步特性,使编程更为方便。Java线程通常被映射为实际的操作系统线程,只要底层操作系统支持这种映射。因此,用Java写的应用程序可说是“MP热”。这就是说,如果它们在多处理器机器上运行,它们更将表现不凡。9.Java是可收集无用的存储单元的

6、 用C及C+写软件的编程人员必须仔细跟踪所用的内存块。当一个块不再使用时,他们务必让程序释放它,从而方可再用。在大的项目中,这可能很困难,并往往成为出错和内存不足的根源。在Java的情况下,编程人员不必为内存管理操心。Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。10.Java是快速的 Java比典型的脚本语言大为有效,但它比C慢20倍。这对大多数应用是可接受的。不久的将来,代码生成器就可供利用了,这将使Java程序几近于用C或C+编写的程序那么快。11.Java是安全的 Java程序没有指针,而且象这样的字节代码程序强在类型,所以在执行之前它

7、可能验证Java程序。谎橹腏ava程序得以保证不突破Java语言的任何限制,而且可以安全地执行。Java字节代码验证被Web浏览器用来确保小程序不含病毒。12.Java是可扩展的 Java程序可与用其它语言编写的现存程序库连接。由于Java数据结构与C的数据结构的类型极为相似,这是相当方便的。最大的问题在于,现有多线程程序库为数不多。Java程序可以声明某些方法是内部的,然后,把这些内部方法映射成软件库所定义的功能,从而动态地链接到虚拟机。Struts2Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的S

8、truts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。一个请求在Struts2框架中的处理大概分为以下几个步骤:1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContext

9、CleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;6、ActionProxy创建一个ActionInvocation的实

10、例。7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。Entity存放实体类,实体类主要是作为数据管理和业务逻辑处理层面上存在的类别; 它们主要在分析阶段区分 实体类的主要职责

11、是存储和 管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。DaoDAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。 D

12、AO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。Mysql数据库MySQL是一个小型关系型数据库管理系统, 目前被广泛地应用在Internet上的中小型网站中。由于其体积小、速

13、度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。Mysql作业调度作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。因此,有时也把作业调度称为接纳调度。事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。例如,Linux 中的 crontabe 只能精确到每分钟执行一次,而

14、 MySQL事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。事件调度器是定时触发执行的,在这个角度上也可以称作是临时的触发器。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的事件调度器启用MySQL 事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。第三章 系统分析3.1可行性分析 3.1.1 经济可行性分析因为该系统只是一般的作

15、业管理系统,系统的管理与操作的要求不是很高,系统管理员可征集有相关专业基础学生义务担任或作为学校勤工助学的岗位。而且该系统的经费不高,系统逻辑不复杂,可由学生担任一部分的开发工作。 3.1.2 技术可行性分析该系统使用B/S模式开发,技术使用java、struts2、mysql作业调度等, 开发环境使用windows XP、MyEclipse和Tomcat。经过详细的分析,设计模式、技术、开发环境和人员配备都可满足系统开发的条件。3.2需求分析 3.2.1系统运行环境(1)软件环境:操作系统: Windows XP浏览器: IE 8数据库: MySQL 5.1.*(2)硬件环境服务器专用双核或

16、四核CPU,内存4G以上,硬盘用SCSI或SAS 。 3.2.2系统功能需求作业功能模块的用户分为教师和学生,他们各自的主要功能需求如下:(1)教师的主要功能需求:1) 查看教师所教的所有课程2) 上传作业以及相应作业参考答案,可以选择定时发布作业3) 下载发布的作业及答案4) 删除、修改已发布的作业,删除时可连带删除相关信息5) 查看作业批改情况,下载学生作业,批改学生所上传的作业6) 查看作业提交情况7) 查询学生成绩,修改学生成绩(2)学生的主要功能需求:1) 查看教师发布的作业2) 查看自己所选课程3) 查看自己完成作业的情况4) 上传作业5) 下载自己提交的作业以及删除自己上传但教师

17、尚未批改的作业6) 查看个人作业的以及教师评语7) 查看已提交作业的参考答案系统用例图如下:根据作业模块的用户可创建两类角色是教师和学生,他们的关系用例图分别如下:(1)学生角色的用例图关系如下:图3-1 学生角色用例图(2)教师角色的用例图关系如下: 图3-2 教师角色用例图a)教师发布作业情况的用例图如下:图3-3 教师发布作业用例图b)教师管理已发布作业的用例图如下: 图3-4 教师管理作业用例图c)教师批改作业的用例图如下: 图3-5 教师批改作业用例图3.2.3系统性能需求实用性:为网上教学提供方便,有效进行作业管理,尽量最大限度降低管理员日常管理工作量,提高教学质量和效率,优化资源

18、,实现效益最大化。 操作简单:本系统应该适用于不同水平的使用者,包括教师和学生,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。 技术先进:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。 安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。 代码可读性好:文中的代码将尽可能简洁,易懂。3.2.4主要功能要求 主要功能:为方便教师

19、检查学生的实验作业,减少大量数据处理,复杂的排版操作从而经常出现错误率高、网页样式不一、重覆枯燥计算机操作和网页美观性的问题,提高学生的实验效率。查看实验作业时应保证查准率,查看的记录应与给定的实验项内容完全匹配。数据安全性,修改数据时,一定要保证输入正确,并且数据保密性要高。输入要求:数据完整、详实输出要求:简捷、快速、实时安全与保密要求:客户端要求提供身份验证,只允许通过身份验证的用户使用本系统要求能在发生意外(如掉电)的情况下,保证不丢失数据。第四章 系统设计4.1 系统业务流程分析 图4-1 系统业务流程图4.2 功能模块的分析与设计教师用户的模块及功能设计如下:(1) 作业发布子模块

20、:通过文件上传框上传相应作业文档,还可以选择性得选择是否上传该次作业的答案文档。教师还可以选择定时发布作业,作业将在教师选定的日期才显示出来。系统还会在用户按下提交按钮之后检测教师是否输入了文件名以及上传了作业文档,检测通过后才可以正式发布这次作业。(2) 作业列表模块:分页显示所有教师发布过的作业列表,每次作业的右边都会有删除,批改,提交情况的超链接,点击会跳到相应的功能页面。点击删除超链接时,会提示教师,将会连带删除学生所交作业和成绩,是否继续,点击确定后将删除相应作业及学生的相关作业和成绩。(3) 批改作业子模块:在作业显示列表页面点击了批改按钮之后,会弹出一个显示作业批改情况的页面,里

21、面是一个列表,其中列表项包括:学号,已(未)批改(超链接),分数,评语(评语设定显示六个字,后面用省略号代替)。点击已(未)批改链接会出现相应学号该次作业的批改页面,里面显示学生学号,姓名,学生所提交作业的下载链接,提交日期等信息。下面有两个输入框,分别用于输入成绩和批语,若之前教师已批改过次作业,成绩及批语输入框内将显示之前的内容,成绩输入框只能输入数字,而且提交时还会检测分数的范围是否正确。(4) 提交作业情况子模块:教师只需要在作业列表右边点击相应作业的“提交情况”的超链接,就会弹出相应的提交作业查看页面,可以看到的信息包括:学号,姓名,班级,提交状态(5)成绩管理子模块:教师可通过此模

22、块对其学生的成绩进行管理作业模块的总体结构如下: 图4-2 作业模块功能图第五章 数据库设计5.1数据库需求分析发布作业:首先要记录作业明,作业文档上传后存放到指定文件夹,因此必须记录文件存放路径,参考答案选择性上传,但必须有存放其路径的地方,还要记录作业发布日期,为了区分作业,必须把作业与教师及相应课程关联起来,因此有任课id。提交作业:区分学生作业要有相应ID,记录学生学号信息,学生作业的名称,存放路径,为了方便教师查看还要记录提交时间。学生成绩管理:学生、教师都能对相应权限的成绩进行查看,学生成绩表应记录每个学生每次作业的成绩及评语。学生提交情况功能要求设置一个表专门记录作业提交情况,表

23、中只需有学号和作业的编号两个字段,相应记录存在则该学生该次作业有提交。5.2数据的组织与存储 系统将作业信息分为两类:记录和文件。记录是与作业相关的信息,主要包括学号,姓名,班别,作业名称,作业文件名,作业存储路径,上传时间等信息,而文件主要指存储教师发布的作业及学生提交作业的文件。系统采用mysql作为后台数据库,该数据库名称为edumgsys,主要包括user,studeng_info,class,course,recordeventnum,s_tc, teacher_info,t_c,tb_homework,tb_stdnhomework,tb_stdnscore,等多个表。其中user

24、主要用于验证用户登录信息以及提取学生学号信息;表studeng_info用于记录学生的详细信息;表teacher_info用于记录教师的详细信息,表class用于记录班别信息,表course记录课程信息,表s_tc记录学生选课信息,表t_c记录教师所教授课程信息,表tb_homework记录教师上传作业存储路径等相关信息,表tb_stdnhomework记录学生提交作业相关信息,表tb_stdnscore记录学生成绩信息,表recordeventnum用于在定时发布作业时唯一标识mysql中的作业调度时间名称。5.3 逻辑设计下面为mysql数据库的逻辑设计:1.用户表 表5-1 用户表字段说

25、明类型是否允许为空是否为外键备注id用户IDbigint否是loginname登录名varchar(20)对应学生学号,教师工号Password密码Varchar(20)User_type用户类型Varchar(1)0代表管理员,1代表老师,2代表学生2.学生信息表 表5-2 学生信息表学生IDU_id对应user表的idName学生姓名Cl_id班级IDint3.班级信息表 表5-3 班级信息表grade年纪Varchar(4)name专业名no班别Varchar(2)4.课程信息表 表5-4 课程信息表课程ID课程名称Varchar(20credit学号tinyint5.教师信息表 表5-5 教师信息表教师IDu_id教师姓名6.教师任课表 表5-6 教师任课表任课IDc_idt_id7.学生选课信息 表5-7 学生选课信息表选课IDs_idtc_id8.作业信息表 表5-8 作业信息表作业IDfilena

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

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