软件工程毕业设计-基于bs模型的学生作业管理系统—学生模块.doc

上传人:教**** 文档编号:91748599 上传时间:2023-05-27 格式:DOC 页数:19 大小:488.50KB
返回 下载 相关 举报
软件工程毕业设计-基于bs模型的学生作业管理系统—学生模块.doc_第1页
第1页 / 共19页
软件工程毕业设计-基于bs模型的学生作业管理系统—学生模块.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《软件工程毕业设计-基于bs模型的学生作业管理系统—学生模块.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计-基于bs模型的学生作业管理系统—学生模块.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、河北农业大学本科毕业论文(设计)题 目:基于B/S模型的学生作业管理系统学生模块摘要通过对网络的了解,已经有不少高等学校推出了自己的作业上传系统,学生根据老师的安排提交作业,老师对学生的作业进行批阅和管理。大都是通过Email完成,作业管理比较混乱,而且存在很多缺陷。例如:查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式,系统就荒废了。开发学生作业管理系统的目的是有效地解决作业管理混乱局面。此系统是基于B/S模式运用JSP技术构建一个网上作业提交和批改系统的过程,教师可以在线布置作业和对已布置作业列

2、表有效管理。教师可以在线对学生作业进行批阅和下载管理,大大提高作业管理效率。学生可以在线提交作业,查看作业状态,查看教师评语。 关键词:学生作业管理系统,JSP技术,B/S模式。AbstractThrough the network to understand, there have been many universities have introduced operating upload system, students submit work according to the arrangement of the teacher, teacher to students marking

3、 job and management. Mostly by e-mail, operation management is chaotic, but there are many defects. For example: query is not comprehensive, easily lead to system instability, lack of management, lack of database, data update, and easy to lose. Due to these disadvantages caused by user distrust of t

4、he system, and went back to the traditional copy, paste method, system was ruined.The development of student job management system is designed to effectively solve the job management confusion. This system is in the process of B/S model to construct an online assignment submission and correction sys

5、tem uses based on JSP technology, teachers can online homework and have effective layout management job list. Teachers can online reviews and download management of student work, greatly improve the working efficiency of management. Students can submit homework online, to view the status of the job,

6、 see the teacher comments.Keywords: JSP technology, student job management system, B/S model目录1.绪论11.1课题背景11.2课题研究的依据和意义11.3国内外概况11.4课题的主要研究工作22. 实现技术22.1 基于B/S模式的开发架构22.2 JSP技术32.3 过滤器32.4 MVC设计模式42.5 MyEclipse 企业级工作平台42.6 MySQL 数据库43.需求分析43.1系统的总体需求53.2学生模块客户端实现的功能53.3 性能需求分析64.系统设计与实现64.1 学生模块分析6

7、4.1.1 学生登录及修改个人资料64.1.2 学生功能需求74.2 数据库设计74.3 系统实现94.3.1整个系统结构94.3.2详细设计95.总 结16参 考 文 献17致 谢171.绪论飞速发展的信息技术改变着人们的思维方式和学习方式,在这样的背景下,教育也越来越走向网络化、虚拟化、国际化、个性化,人们开始非线性学习,开始在虚拟社区中求生存,在这种信息化环境下,教师的教学方式、学生的学习方式都会发生革命性的变革,计算机辅助教学、网络教学等信息技术与课程整合的方式在学校教学中获得越来越广泛的应用。1.1课题背景互联网的广泛应用也深深影响了教育教学领域,远程教育平台已经慢慢走入人们的生活,

8、但当今的教育模式还是以传统教育模式为主,教室广泛使用多媒体教程。现在的作业提交和批改还是传统模式,教师布置下作业,学生做在作业本上,然后再交给老师,教师批改以后发还给学生,步骤繁琐,效率低。网络化教育提供了教育改革的一个新的发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育的一个具体实现,具有很重要的现实意义。学生作业管理系统可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。1.2课题研究的依据和意义随着互联网迅速发展,人们在任何时间任

9、何地点都可以轻松获取所需要的信息,同时互联网的发展极大推动了教育事业的发展,特别是JSP技术,它具有极强的扩展能力和良好的伸缩性,将动态页面与静态页面良好分离,并提供了良好的数据库访问能力,大大提高了互联网的应用范围,互联网的广泛应用也深深影响教育教学领域。本文所介绍的基于B/S模型的学生作业管理系统是基于开放的 JSP 应用技术开发设计的,其主要特性是能动态、实时的完成学生作业的提交与批改,且具有高效的交互性,更有效的处理客户请求,易于维护和更新。1.3国内外概况自上世纪90年代,在线作业系统在国外迅速的发展,出现了较多综合的,跨学科的在线作业系统。例如:美国北卡罗来纳州州立大学物理系开发的

10、WebAssign,自1997年建成至今,已有250所大学和学院,150所gaoz使用WebAssign,2002年至2003年,每学期有超过90,000的学生登录WebAssign,有超过9百万份的提交作业。 2001年,教育部颁布的基础教育课程改革纲要(试行)指出:“要大力推进信息技术在教学过程中的普遍应用,促进信息技术与学科课程的整合,逐步实现教学内容的呈现方式、学生的学习方式、教师的教学方式和师生互动方式的变革,充分发挥信息技术的优势,为学生的学习和发展提供丰富多彩的教育环境和有力的学习工具。近年来,我国基于网络的在线作业系统的发展也非常迅速,如下所示:表1.1 在线作业管理系统发展史

11、主要体现形式主要优点主要不足第一阶段E-mail 或Ftp比以往的邮寄形式快捷、方便。教师评价作业工作量比较大、归类整理比较麻烦,师生间交互比较差。第二阶段基于某门网络课程的在线作业管理系统专门的提交功能与评价功能能使师生的评价、提交作业活动更直观,并提高了交互水平。教师需要自己或请专业人士专门开发系统,加大教师负担,在线作业管理系统的通用性被忽略,容易造成重复开发和资源浪费。第三阶段较通用的、支持多学科的在线作业管理系统提高多学科的通用性,功能比较强大,提高了教学交互、减轻了教师负担。目前在我国的发展虽然有此趋势,但并不成熟、实际使用效果有限。现阶段,我国的大多数在线作业系统还是停留在第二阶

12、段,一般都以作业模块的形式嵌在网络教学平台中,大都具有教师统计成绩、学生上查看成绩等功能。通过对比国内外的在线作业管理系统可以看出,国外设计的系统比较成熟,而且国内还处于探索阶段,特别是在线作业系统的通用性、功能及完善的评价体系方面,需要进一步的改善和提高。目前,湖南工程学院享受到网络互动教学的便利,学生下课后能在网上获得教学课件、视频音频教学辅助材料,使用数字图书馆系统,交作业和老师批改作业,都能直接在网上完成。1.4课题的主要研究工作本设计实现一个基于B/S模型的学生作业管理系统学生模块,完成学生的登录,作业的浏览、下载与上传。本软件利用了JSP技术、多线程技术,采用B/S架构构建,B/S

13、结构简化了客户机的工作,客户机上只需配置少量的客户端软件即可。但是服务器将担负更多的工作,对数据库的访问和应用程序的执行都将在服务器上完成。即当浏览器发出请求后,其数据请求、加工、返回结果以及动态网页生成等工作全部由Web服务器完成。2. 实现技术2.1 基于B/S模式的开发架构B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、javascript、)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用

14、软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。在现代的开发平台中已经大量的使用了B/S开发模式,不管是使用何种动态Web实现手段,其操作形式都是一样的,核心操作的大部分都是围绕着数据库进行的。但是如果直接使用编程语言进行数据库的开发则程序员要处理许多诸如事务、安全等操作,所以现在的开发往往都会通过中间件进行过渡,即程序运行在中间件上,并且通过中间件进行数据库的操作,而具体一些相关的处理,如事务、安全等完全由中间件负责,这样程序员只需要负责具体功能的开发即可,此种模式如图2.1所示。 开发平台中间件数据库操作系统Java EE

15、TomcatWindows图2.1 B/S模式开发架构2.2 JSP技术JSP是Java Server Pages的缩写,是由Sun公司倡导、众多业界领先的公司参与制定的一种动态交互式网页技术标准,它为创建动态内容的Web页面提供了简单便捷的实现方法。JSP一经问世便得到了广大网站建设者的喜爱与追捧,很快在网站开发与设计领域普及开来。Sun公司推出的这种新型的网络开发语言之所以会在交互网页上具有无可比拟的优势,是因为它具有以下几个方面的特点:1、JSP的语法基本上和Java是相同的,有Java基础的读者可以很方便的使用JSP,没有Java语言基础的读者也一样可以成为JSP编程的高手。2、 JS

16、P直接内嵌在HTML中,非常简单易用,大大降低了程序设计开发的难度。3、 JSP程序中可以直接嵌入Java代码,也可以直接运用Java所提供的各类包,这样就大大加强了JSP程序本身的功能。4、 JSP程序在被请求执行时,服务器端相关软件产生Servlet的执行文件,存储于服务器内存中,并将结果返回到客户端,JDBC提供了与数据库产品无关的数据库连接方式,因此JSP程序与客户端系统无关,可以非常方便地跨平台使用。2.3 过滤器Filter是在Servlet 2.3之后增加的新功能,当需要限制用户访问某些资源或者在处理请求时提前处理某些资源时,即可使用过滤器完成。过滤器是以一种组建形式绑定到Web

17、应用程序当中的,与其他Web应用程序组件不同的是,过滤器是采用“链”的方式进行处理的。如图2.2所示。客户端过滤器过滤器过滤器Web资源图2.2 过滤器的操作原理2.4 MVC设计模式MVC设计模式都是以Servlet为主题展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP完成。它强制性地使应用程序的输入、处理和输出分开。MVC设计模式被分为3个核心层,即模型层、显示层和控制层。它们各自处理自己的任务,各层的任务如下。 1、 显示层(View):主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。2、

18、 控制层(Controller):主要负责所有的用户请求参数,判断请求是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示。3、 模型层(Model):完成一个独立的业务操作组件,一般都是以JavaBean的形式进行定义的。2.5 MyEclipse 企业级工作平台 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和

19、发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合 ,MyEclipse的功能非常强大,支持也十分广泛,尤其支持各种开源产品。在MyEclipse中支持Ajax、HTML、JSP、EJB、Servlet等开发,同时也支持Tomcat、JBoss等服务器的快速配置。2.6 MySQL 数据库 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一个关联型数据库管理系统,关联数据库将数据保存在不同的表中而不是将所有数

20、据放在一个大仓库内,这样就增加了速度并提高了灵活性。目前MySQL被广泛地应用在Internet上的中小型网站中,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站的数据库。MySQL是一种自由软件,非常适合中小企业和个人应用的需求。它是一个基于client /server体系结构真正的多用户,多线程的SQL数据库服务器端软件。3.需求分析3.1系统的总体需求本系统的最终用户只有管理员、教师和学生。不同的人根据选择自己的角色通过账号和密码进行登录验证进入系统,执行相应的功能,如果是首次登录系统可以进行注册。管理员主要对

21、学生和教师进行管理。教师主要作业管理、课程管理,作业管理包括发布作业,批阅作业。教师对学生作业可以在线下载单个学生作业然后对其评分。对已批阅的学生作业则显示已批阅。学生可以查看自己所选课程的作业,通过上传提交自己的作业。查看作业时,系统自动显示没交作业、已经评阅的作业以及为查看的作业,同时学生可以自己选修课程。如图3.1所示。信息管理提交作业进行选课修改密码信息管理作业管理课程管理修改密码信息管理学生管理教师管理修改密码管理员学 生登录教 师图3.1系统的功能模块3.2学生模块客户端实现的功能1学生登录在客户端,学生输入其用户名和密码,然后点击登陆按钮,建立与服务器的连接。通过LoginAct

22、ion验证登录信息,如果账号或密码错误,则提示账号或密码错误。2学生注册如果是首次登录,需要注册才能进入系统。点击学生注册跳到注册页面,填好信息点击注册,建立与服务器的连接,通过RegAction验证该学生信息是否存在,若存在会出现提示信息。如果没有并且注册成功会有注册成功提示信息。3学生信息管理学生成功登录系统后,可以对自己的信息进行查看和修改。修改信息只能修改电话和邮箱。4学生作业管理学生作业管理是整个系统的核心。点击学生作业管理,查看学生所选修课程的作业,作业的状态分为四种情况:(1)交作业:只要作业没超过提交时间并且没有被老师评阅就可以交作业,如果不是第一次交作业会把之前的作业覆盖。交

23、作业是通过上传文件到Uupload文件下实现的。 (2)已过期:学生未在规定的时间内交作业。(3)未查看:学生在规定的时间内已提交作业,正在等待教师查阅。(4)教师已经对学生的作业进行查看。5. 密码修改学生通过自己的账号、密码、角色、以及旧密码可以修改自己的密码,通过edit_Pass对自己的信息进行验证,信息正确才能修改自己的密码。3.3 性能需求分析 (1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,使程序具有较高的容错性能。(2)宜操作性,程序简单易懂,容易上手使用。设计界面是简化界面,模拟学校网站设计规划。 (3)安全性能,设置了过滤器,只能通过登陆成功才能进入系

24、统。直接在地址栏输入页面网址,都不能进入而是跳到登陆界面。(4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。 4.系统设计与实现4.1 学生模块分析4.1.1 学生登录及修改个人资料登录页面是整个系统的入口,应当做好安全防范,防止没有经过登录验证而访问此系统。学生登录系统后,可以修改个人的相关资料及密码。表4.1学生登录及修改个人信息功能需求功能编号功能名称功能描述1登录功能验证帐号和密码是否匹配,并给出相应的提示信息2修改个人资料修改一些基本资料。3更改密码需先验证原密码,如正确方可将更改密码。4.

25、1.2 学生功能需求学生登录系统后,拥有选课管理和作业管理(查看自己作业情况、交作业以及查看老师反馈。)。表4.2学生功能需求功能编号功能名称功能描述1选课管理查看该学生可以选择的所有课程,进行选择。2作业管理1查看自己作业所处的状态。2.交作业.查看老师批阅作业的反馈4.2 数据库设计利用MySQL创建数据库sjms,其中学生模块设计主要有5个表。(1) 学生信息表sjms_students,目的用于验证学生的身份,其字段如表4.3。表4.3学生信息表(sjms_students)列名值类型是否可为空默认值说明 studentIDvarchar(20)否学生ID(主键)namevarchar

26、(20)否姓名pwdvarchar(20)否密码sexvarchar(10)否性别subjectvarchar(50)否专业collegevarchar(20)否院系phonevarchar(20)是电话emailvarchar(50)是邮箱rolevarchar(10)否角色(2) 学生选课表sjms_stucourse,目的用来存放学生选课信息,其字段如表4.4。表4.4学生选课表(sjms_stucourse)列名值类型是否可为空默认值说明 studentIDvarchar(20)否学生ID(主键)courseIDvarchar(20)否课程ID(主键)(3) 课程表sjms_cours

27、e,目的用来存放课程信息,其字段如表4.5。表4.5课程表(sjms_course)列名值类型是否可为空默认值说明 courseIDint(3)否课程ID(主键)coursenamevarchar(20)否课程名teacherIDvarchar(20)否教师IDremarksvarchar(20)否备注(4) 学生作业表sjms_stuhomework,目的用来存放学生提交信息,其字段如表4.6。表4.6学生作业表(sjms_stuhomework)列名值类型是否可为空默认值说明 studentIDvarchar(20)否学生ID(主键)CourseIDint(3)否课程号(主键)Timein

28、t(3)否作业次数(主键)Contentvarchar(50)否作业内容Scorevarchar(20)否“未评分”评分commentvarchar(20)否“未评论” 评论(5) 作业表sjms_homework,目的用来存放作业信息,其字段如表4.7。表4.7作业表(sjms_homework)列名值类型是否可为空默认值说明 Timeint(3)否作业次数(主键)CourseIDint(3)否课程号namevarchar(20)否作业名contentvarchar(30)否作业题目内容remarksvarchar(20)否备注closetimevarchar(20)否作业截止时间publi

29、shtimevarchar(20)否作业发布时间4.3 系统实现4.3.1整个系统结构图4.1系统结构图4.3.2详细设计4.3.2.1用户登录登录页的用户类型有管理员、教师和学生,默认显示是教师。此页是进入系统的唯一入口,未经登录的用户一律不准访问其它页面。实现此功能主要有两方面实现:(1)对输入用户进行身份验证:通过对角色,账号,密码,查找数据库是否已经存在该用户,如果数据库中存在该用户会跳到指定页面。若不存在,会出现提示信息,不能进入该系统,只能重新注册。实现该功能的类是com.edu.sjms.web.action.LoginAction。(2)在地址栏输入地址,只能跳到登录界面,实现

30、此功能使用过滤器。图4.2登陆界面4.3.2.2 学生注册页面学生注册,首次登入系统的学生需要注册才能登入系统,注册时需要判断该学生是否已经存在,若存在会出现提示信息不能再次注册。图4.3学生注册界面4.3.2.3 学生信息管理界面学生信息管理主要是学生对自己的信息进行修改,其中学生能够自己修改的信息有手机号码,和邮箱,其他信息不能自己修改。图4.4学生信息管理界面4.3.2.3 学生作业管理页面学生作业管理,学生作业分为四种状态:(1)交作业:只要作业没超过提交时间并且没有被老师评阅就可以交作业,如果不是第一次交作业会把之前的作业覆盖。交作业是通过上传文件到Uupload文件下实现的。(2)

31、已过期:学生未在规定的时间内交作业。(3)未查看:学生在规定的时间内已提交作业,正在等待教师查阅。(4)已评分:教师已经对学生的作业进行查看。图4.5学生作业管理界面判断作业状态代码:%String id=request.getParameter(id); try ArrayList list=null;/ Jiao_hk学生作业上交实体 list=(ArrayList)DbOperaterFactory.getJiao_homeworkInstance().HwAllByID(id);/ HwAllByID根据学生id查看学生所选的课程作业,并将结果放在list列表中 try DbOpera

32、terFactory.getJiao_homeworkInstance().selectByID(id);/ selectByID根据学生id查看学生所选的课程号 catch(Exception e)%Iterator l=null;l=list.iterator();Jiao_hk hw=null; for(Object obj:list)if(obj instanceof Jiao_hk)hw=(Jiao_hk)obj; request.setCharacterEncoding(gbk);int time=hw.getTime();String name=hw.getName();int

33、courseID=hw.getCourseID();String coursename=hw.getCoursename();String content=hw.getContent();String closetime=hw.getClosetime();SimpleDateFormat format=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);java.util.Date date=(java.util.Date)format.parse(closetime);/将字符串的截止日期转化成日期型如:2013-5-22 18:00:00java.util

34、.Date currentTime=new java.util.Date();/获取当前时间int i=pareTo(currentTime);/将截止时间与当前日期进行比较,i0代表没有超过截止时间,i =0) if(DbOperaterFactory.getStuHomeworkDaoInstance().selectByCouIdTimeStuID(id,courseID,time)/判断sjms_stuhomework表中有没有相应记录,若没有就代表首次提交 if(!未评分.equals(sc.getScore()% 已评分 a href=homework/uploadHK.jsp?i

35、d=&time=&couid=交作业 a href=homework/uploadHK.jsp?id=&time=&couid=交作业 未评分 未评论 已评分 未查看 已过期 未提交 未提交 4.3.2.4 上传作业页面作业上传页面,后台实现主要使用SmartUpload包,并把上传的作业名重新命名,保存在制定根目录文件upload下,将路径存储在数据库中方便下载。图4.6作业上传界面上传页面后台实现代码:FileUp.java的doPost方法:public void doPost(HttpServletRequest request, HttpServletResponse respons

36、e)throws ServletException, IOException request.setCharacterEncoding(gbk);response.setContentType(text/html);try request.setCharacterEncoding(GBK);SmartUpload su = new SmartUpload();/新建SmartUpload对象susu.initialize(this.getServletConfig(), request, response);/上传初始化su.setAllowedFilesList(jpg,gif,png,tx

37、t,doc,xls,zip,rar);/允许上传的文件类型su.upload();/上传文件Request req= su.getRequest();String sid = request.getParameter(stid);int time =Integer.parseInt(request.getParameter(htime);int cid =Integer.parseInt(request.getParameter(couid);File file = su.getFiles().getFile(0);String fileName = System.currentTimeMil

38、lis()+.+file.getFileExt();/定义所上传的文件名file.saveAs(./sjmss/upload/+fileName,File.SAVEAS_VIRTUAL);/将上传文件全部保存在指定目录下/sjmss/uploadStuHomework sh=new StuHomework();sh.setTime(time);sh.setStudentID(sid);sh.setCourseID(cid);sh.setContent(/upload/+fileName); if(DbOperaterFactory.getStuHomeworkDaoInstance().sel

39、ectByCouIdTimeStuID(sid,cid,time)/判断是否首次交作业 try DbOperaterFactory.getStuHomeworkDaoInstance().update(sh);/不是首次交作业对sjms_stuhomework表进行跟新 catch (SQLException e) / TODO Auto-generated catch block/e.printStackTrace(); else DbOperaterFactory.getStuHomeworkDaoInstance().insert(sh);/首次交作业,将学生作业插入sjms_stuhomework表中 catch (SmartU

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁