_基于Web的作业系统设计与开发.doc
基于Web的作业系统开发与设计学 院:专 业:姓 名:指导老师:信息学院通信工程邓妍学 号:职 称:160108107195孟颖讲师中国·珠海二二年五月北京理工大学珠海学院2020届本科生毕业设计诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计脉动式无级变速装置的仿真及设计是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期:年 月日北京理工大学珠海学院2020届本科生毕业设计基于Web的作业系统开发与设计摘 要本作业系统是基于原有的教学管理模式,通过构建B/S架构,使用Java Server page(简称“JSP”)为本设计的前台开发使用的工具,使用MySQL数据库为后台数据库,从而去实现教学管理的信息化。通过对现有教学管理模式的梳理,本次设计主要分为三个大的模块:作业系统管理员模块、老师角色模块、学生角色模块。其中对于删减和修改老师及学生的信息、登录账号和密码、系统公告、讨论版块、帖子信息等的管理是本作业系统管理员模块的功能。学生模块的功能包括有管理个人信息、管理作业信息、可以参与在线测试功能、可以在线交流讨论、查看和下载课件功能,老师模块的功能有管理个人信息、管理课件信息、管理教学视频、管理布置作业、管理题目信息、测试试题管理和试卷信息进行管理。这次的作业系统设计与开发的设计可以在很多方面的提高教学管理的规范和效率,在很大程度展示出了科学技术信息时代的优势。关键词:作业管理系统;B/S;JSPDevelopment and Design of Operating System Based on WebAbstractThis operating system is based on the original teaching management model, by building a B / S architecture, using Java Server page (JSP for short) as a tool for front-end development, and using the MySQL database as the back-end database to achieve teaching Information management. By sorting out the existing teaching management models, this design is mainly divided into three major modules: the homework system administrator module, the teacher role module, and the student role module. Among them, the management of deleting and modifying the information of teachers and students, login accounts and passwords, system announcements, discussion forums, and post information is the function of the administrator module of this homework system. The functions of the student module include the management of personal information, management of job information, the ability to participate in online testing, the ability to communicate online, discuss, view and download courseware Manage homework, management topic information, test question management and test paper information. The design of this homework system design and development can improve the standardization and efficiency of teaching management in many aspects, and it shows the advantages of the scientific and technological information era to a great extent.Keywords: Intelligent teaching aid exchange website; B/S; JSP目 录1 前言61.1 课题研究目的及背景61.2 发展现状61.3 论文结构61.4 B/S架构的优缺点61.5 现行研究存在的问题及解决方法71.5.1 存在问题71.5.2 解决办法71.6 设计需达到的目标71.6.1 系统管理员角色模块功能说明81.6.2 老师角色模块功能说明81.6.3 学生角色模块功能说明82 关键问题及分析92.1 数据信息的表间联系92.2 系统开发的安全性92.3 系统开发过程中的关键技术92.3.1 JSP技术92.3.2 JAVA编程语言102.3.3 MVC构架102.3.4 MySQL数据库102.3.5 B/S结构103 需求分析113.1 USE-CASE的用例图113.2 功能业务需求123.2.2 系统管理员功能需求133.2.3 老师功能需求133.2.4 学生功能需求133.3 运行需求133.4 开发环境134 系统设计144.1 系统体系144.2 数据库表144.2.1 系统管理信息表t_admin144.2.2 学生信息表t_stu144.2.3 老师信息表t_tea154.2.4 系统公告信息表t_gonggao154.2.5 教学视频信息表t_shipin164.2.6 题目信息表t_timu164.2.7 论坛板块信息表t_catelog174.2.8 帖子信息表t_zhuti174.2.9 试题信息表t_shiti184.2.10 回复信息表t_huifu184.2.11 分数信息表t_fenshu194.2.12 试卷信息表t_jiaojuan194.2.13 布置作业信息表t_zuoyet204.2.14 提交作业信息表t_zuoyes204.2.15 课件信息表t_doc215 系统的实现以及测试225.1系统主要模块的实现225.1.1 系统登录功能225.1.2 修改密码235.1.3 老师信息245.1.4 学生信息245.1.5 系统公告管理255.1.6 讨论模块265.1.7 帖子信息管理265.1.8 教学资源管理265.2 测试的研究与选择285.3 测试的环境准备和测试条件295.3.1 checklist295.3.2 测试结果315.3.3 系统维护316结论32参考文献33谢 辞34附 录351 前言现在的时代是科学技术信息化飞速发展时代。在很多的行业中都很难离开信息化得处理,计算机早就已经被很大程度的用在了B/S架构。比如淘宝、百度等很多目前比较大型而且我们经常回去使用的网站都采用了这种架构,不仅能方便了我们的生活,而且还很大程度上增加了我们信息的安全性。任何的系统的开发都是我们去进行系统化管理的前提。这次的设计系统是去为了方便学校对教学课程去进行系统化的管理而设计的。1.1 课题研究目的及背景在这个被信息化趋势驱使着的时代,计算机技术也在飞快的发展,随着我们生活质量的提高,我们对环境要求也都在逐步变高。现在很多企业对于管理信息,还有大部分企业都还在用人力去管理,对于一些较小规模的公司来说,使用人力去管理企业看似能够满足日常的需求。但对于绝大多数的大企业来讲,必须去提高他们的管理的信息化程度,然而去解决这些之一的方法,就是可以把信息化管理系统带到自己企业的机制管理里面来。这次设计给大家去介绍的就是一个基于Web的作业系统设计与开发的设计开发过程,是为了提高实现学校对教学课程信息管理的系统化,从而去提高学校教学管理的规范性。1.2 发展现状长久以来绝大多数的学校大多都是采用传统的人工管理方式去进行课程教学的日常工作,在计算机信息化还没有在管理信息普及去使用之前,教学课程信息的管理还是多数在用手工,手工去管理的缺点和不足非常明显,所以在管理起来的效果是会容易低并且容易出现人为的一些错误。这些缺点都可以使用计算机来进行处理。从而会使得这些管理的流程在很大的程度上去提高管理效率已经处理的能力,使得所有课程教学信息管理变的更加快捷及精确1。1.3 论文结构 关于此作业系统,本文主要对本次设计的原理、现行研究存在的问题及解决方法,设计需达到的目标、系统开发过程中需解决的问题、关键技术、需求分析、系统的体系结构、功能结构、数据库表结构、主要模块的实现、测试的研究与选择,测试的环境及条件准备、测试实例的展示等方面进行详细介绍与说明。1.4 B/S架构的优缺点(1)该架构的优点本设计用了方便去维护的B/S架构的模式。使用了比较高的关系型数据库用于来储存资源信息从而会使得信息资源及时更新,用户界面使得用户方便去进行操作。(2)该架构存在的问题 现在大多数的网站或者是系统基本都是基于B/S模式,由于B/S模式会存在并发性的一些操作,很多不是很有逻辑的设计以及覆盖性不强的代码会在很多的层面上影响系统的稳定程度,给后面的维护工作带来了带到了很大的麻烦。而且B/S架构模式的系统是基于浏览器从而去实现客户端操作的,因为浏览器经常采用脚本的模式,而且目前脚本语言本身就不是非常安全且完善的,所以是会存在一些不好发现的安全隐患2。1.5 现行研究存在的问题及解决方法1.5.1 存在问题(1)关于选择数据库问题需要去选择一个强大功能,可去移植性强的关系型好的数据库。这样一来就可以很有效的去与其它的数据库相结合,从而可以减少程序对一些特定数据库的依赖性,进一步加强系统的可移植性。(2)关于选择开发平台和语言问题较好的开发平台和语言的选择可以去很大程度上减少开发的成本,进一步增加系统的生命周期3。1.5.2 解决办法由于目前现状中作业系统的设计与开发的需求与实际情况,去解决上面问题应该具备下面几点要求:(1)选择去使用MySQL数据库,此数据库可以提高存放数据的持久性,当储存设备发生改变时,我们不用再去重写程序代码就可以很好的把它移植到其它数据库的系统里4。(2)此作业系统使用Model View Controller(缩写为:MVC)框架(即就是模型-视图-控制器),模块化程序的实现过程,从而在进行UI界面的设计和与用户之间的交互的时候,就不用了再去考虑系统的物理逻辑等这些方面的问题,减少代码之间的逻辑依赖关系,从而去方便后期修改5。(3)在选择开发平台和语言问题上,让开发平台为My Eclipse,主要的开发语言使用java语言,一次编写随处运行以及强大的可伸缩性等优点的系统开发语言让我们更方便系统的开发以及维护。1.6 设计需达到的目标本次的作业系统是基于现有的教学管理模式为学校管理作业管理而开发的,主要分为三个角色模块:管理员、老师、学生,以下是对各个角色模块功能的说明:1.6.1 系统管理员角色模块功能说明1、系统管理员拥有对老师身份信息进行增减和修改的功能,通过管理员添加的老师才能够登录该系统并可以进行老师可操作的功能。2、系统管理员拥有对学生身份信息进行增减和修改的功能,通过管理员添加的学生才能够登录该系统并可以进行学生可操作的功能。3、系统管理员拥有对系统公告进行增减和修改的功能。4、系统管理员拥有对帖子信息进行增减和修改的功能。5、系统管理员拥有对讨论板进行增减和修改的功能。1.6.2 老师角色模块功能说明1、老师登录系统后拥有对自己的个人信息进行修改的功能。2、老师登录系统后拥有对教学资源(课件信息、教学视频、作业布置、测试试题)进行增减和修改的功能。3、老师登录系统后拥有对学生问题回复的功能。1.6.3 学生角色模块功能说明1、学生登录系统后拥有对自己的个人信息进行修改的功能。2、学生登录系统后拥有对教学资源操作(下载课件、教学视频、作业、测试试题)的功能。3、学生登录系统后拥有对讨论区和帖子进行操作的功能。4、学生登录系统后拥有参加在线测试的功能。2 关键问题及分析基于Web作业系统的设计与开发在实现过程中,有较高的要求对于系统安全性和稳定性,解决这一问题的方法可以让把前台显示和后台数据处理分开。要去考虑系统管理员角色模块、老师角色模块以及学生角色模块进入系统后需求的不同而去实现不同的功能,需要详细分析不同用户的功能需求6。2.1 数据信息的表间联系涉及的数据信息非常复杂在作业系统的设计与开发中,业务之间的逻辑关系,设计的表与表之间还需要通过外键联系起来这些更具有复杂性。教学管理过程中业务操作稳定的关键就是外键的联系保证。直接影响到前台页面的稳定运行就是数据库设计的好坏。由于在作业系统开发的设计与实现的过程中我们不能随便的去删除或者修改数据库中的数据,所以如果数据信息表间的联系建立的不好,就会在运行程序的过程中出现数据信息的丢失,导致某些功能出现异常,让系统出现较多的潜伏存在的BUG,会给后期系统的维护产生很大的不便7。2.2 系统开发的安全性用JavaEE对本作业系统的设计与开发,每一个用户都可以通过浏览器来登录本系统,所以需要确保整个系统信息的安全性。首先我们要对每个进入系统的用户身份进行确认。然后我们还需要给每个系统页面都要进行用户登录状态以及可使用功能的权限的确定(即当用户进入一个系统页面使,程序需要对用户的登录状态、可使用功能的权限等进行验证确认,当用户未输入正确的登录信息时,该用户无法进入系统的功能操作页面,且当用户不在登录状态时,该用户就无法对系统页面进行操作)。接下来还需要进行对不同角色模块的功能页面进行验证及确认,确保不同的用户角色进入的功能页面正常且功能权限完整。进行这样一系类的信息确认我们就可以对我们的系统的安全性进行提高,去预防那些想通过非法途径进入我们系统中的用户操作8。2.3 系统开发过程中的关键技术使用什么样的关键性技术是至关重要的在一个程序的开发过程中。直接影响着系统的运行速度,兼容性,稳定性等就是技术使用的好坏。这次作业系统的设计与开发将主要采用JSP技术,采用分层开发的方法在开发过程中,具体介绍如下:2.3.1 JSP技术Java Server page(简称“JSP”),JSP最早是Sun Microsystems公司创立的,它是基于网络服务器上的一种动态网页技术标准。Sun Microsystems公司在软件类公司处于一个领先的位置,他们建立的JSP技术规范了服务器和JSP页面之间的交互,可以去响应客户端的请求,然后将请求新型处理,返回给客户端。它就是Java的服务器页面。JSP能够兼容各种以Web应用平台,以可以使用于Windows、Linux等操作系统。让我们能够创建一个可以动态生成Web页面的服务器。2.3.2 JAVA编程语言Java是在1995年由Sun公司发布的,由于当时的社会处于一个互联网行业开始发展的时代,大家都希望能够有一种可以在不同平台都可以使用且方便的程序,于是Java就问世了,Sun公司同时也推出了Java的开发平台。Java是一种面向对象的编程语言,它简化了各种语言的繁杂和让人难懂的概念。让编程过程更加便捷。提高了程序的可移植性、多线程、动态性等特点。2.3.3 MVC构架Model View Controller(简称“MVC”),这是一种系统设计的构架模式,MVC将待开发的应用程序分为三个独立的模块:模型、视图、控制器三部分。意思就是将JavaEE作为模型对象,然后JSP作为视图,最后把servlet作为控制器。这样一来程序就变的更加清晰。在后期的程序修改及维护中我们就不用再重新去理业务逻辑,为我们提供了很大程度的方便。2.3.4 MySQL数据库MySQL是一种多线程的关系型数据管理系统,它是Oracle公司的产品。它以简小、快速、且开源这些优点受到了广大程序员的喜爱。它就相当于一个图书管,管理员会将所有书籍按照不同的种类进行分类摆放,而不是将所有书籍随便放在图书馆内就可以。而且它是使用C和C+进行编写的,还用市面上经常使用的遍野器进行试验,使得程序代码方便移植9。2.3.5 B/S结构B/S结构的意思就是用户可以通过浏览器对服务器进行请求,然后服务器对收到的请求进行处理,最后返回给浏览器。这种结构的优点就是成本消耗低,后期的对系统的维护也比较方便。可扩展性比较强。3 需求分析这次的作业系统我们在进行开发之前,首先要分析该系统的需求,大致内容要包括一共有几个模块,然后就是每个模块相对应要实现哪些功能,以及模块与模块之间需要有怎样的逻辑关系。最后我们还有了解对于系统的UI界面有无特殊的要求。了解清楚了这些问题,我们才能够进行后面的程序开发。3.1 USE-CASE的用例图作业系统的设计与开发分为系统管理员模块、老师模块和学生模块三类用户角色。各个模块的用例图分别如图3.1、3.2和3.3所示。修改登录密码老师信息管理学生信息管理管理员系统公告管理讨论版块管理帖子信息管理图3.1系统管理员用例图个人信息管理在线注册登录作业信息管理学生在线测试功能查看/下载资料在线讨论图3.2学生用户用例图个人信息管理课件信息管理教学视频管理布置作业管理老师题目信息管理测试试题管理试卷信息管理图3.3老师用户用例图3.2 功能业务需求3.2.1 登录界面该界面要分为三个部分;分别是系统管理员登录界面、老师登录界面、学生登录界面,确保他们在正确输入账号和密码后能够成功进入系统,为正确输入则不能进入系统。3.2.2 系统管理员功能需求1、需要对老师和学生的信息能够进行管理2、需要对讨论板块和帖子信息能够进行管理。3.2.3 老师功能需求1、需要对自己的基本信息能够进行管理。 2、需要可以布置作业给学生(可以对作业题目信息规定)。3、需要能够对学生进行测试(可以管理试卷信息)。3.2.4 学生功能需求1、可以对自己的基本信息进行管理。2、可以下载老师布置的作业以及课程资料。3、可以提交作业。4、可以参加在线测试。5、可以在讨论板块及帖子发表言论。3.3 运行需求操作系统:Windows 7及以上客户端浏览器:IE9及以上3.4 开发环境操作系统:Windows 7开发语言:JSP、Java语言数据库:MySQLWEB服务器:Tomcat 6开发工具:Dreamweaver、MyEclipse6 8。6客户端浏览器:IE94 系统设计对系统的开发和维护起着至关重要的作用是系统设计的的好坏。当然首先我们要考虑的就是实现需求功能,然后我们就要考虑去我们的系统要如何满足使用用户的操作要求,不能够让用户不方便操作。最后我们就需要去考虑我们系统的UI界面,根据系统的面向对象对系统的UI界面进行设计。4.1 系统体系通过对现有网站系统体系的分析与研究,从而得知一个好的操作系统一般来说分为下面几个步骤来完成;第一步,我们先要确定我们的系统要去通过什么样的方式去操作,也就是说我们要确定好我们的系统是采用B/S结构还是C/S结构;确定好系统结构后,第二步,我们就要去确定系统的功能体系,确定好每个功能之间是否需要存在一些逻辑关系;最后一步,我们就能够根据这些信息去进行程序开发。从而让我们的系统实现.我们要通过对已经出现的作业系统进行调研分析,了解了一个完整的作业系统都能够去实现哪些功能需求,然后去结合现在的实际情况去建立系统体系10。