




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计设计题目基于试题库的网络课程学习系统分析与设计 学生姓名 学 号 专业班级信息管理与信息系统11-2班指导教师 院系名称 管理学院 2015年6月10日目 录摘要1Abstract21 引 言31.1 课题背景及意义31.2 国内外研究现状41.3 章节介绍52 系统分析72.1 系统需求分析72.2 系统业务流程分析82.2.1 用户注册业务82.2.2 系统用户登录业务82.2.3 修改用户信息业务92.2.4 教师上传试题业务92.2.5 学生测试业务102.3 系统数据流程分析112.3.1顶层数据流程图112.3.2 第一层数据流程图112.3.3第二层数据流程图122.4 系统数据字典172.4.1 数据项182.4.2 数据结构192.4.3 数据流202.4.4 数据存储202.4.5 处理逻辑212.4.6 外部实体223 系统设计233.1 系统开发工具及主要技术233.1.1 Eclipse简介233.1.2 Java Web简介233.1.3 SSH三层架构简介243.2 系统总体设计263.3 系统模块结构设计263.4 数据库设计273.4.1 用户表283.4.2 学生表283.4.3 教师表293.4.4 班级表293.4.5 成绩表293.4.6 课程表303.4.7 通知表303.4.8 试卷表303.4.9 试题表313.5 服务器端的设计313.5.1 实体规范层313.5.2 数据访问层323.5.3 业务逻辑层333.6 Web客户端及主要界面布局设计334 系统实现364.1 系统基本框架的实现364.1.1 MVC模式的实现364.1.2 SSH框架的整合374.2 系统主要功能的实现404.2.1 用户注册和登录功能404.2.2 修改信息功能424.2.3考试以及测试功能434.2.4 查看通知功能44结 论46谢 辞47参 考 文 献48基于试题库的网络课程学习系统分析与设计摘要:随着网络和互联网技术的不断发展,“互联网+”的概念不断延生。当今世界,互联网已经被运用到各个领域之中。为了跟得上时代的步伐,更好地方便人们的学习生活,各大高校也积极的将互联网与教育事业相结合,因此产生了一系列诸如网络试题库系统的基于互联网的网络课程学习系统。为了解决当下学校网络课程学习系统存在着的诸如评分标准不够完善,章节知识点学习不够系统,登陆界面不够人性化,师生交流过少等缺点,研究和开发能满足广大教师和学生需要的网络试题库系统具有重要的现实意义。本文首先分析了该基于试题库的网络课程学习系统的开发背景和现状,然后介绍了开发系统的Java Web和SSH三层架构等基础技术及其原理。紧接着按照系统化的方法针对系统进行了全面的分析和设计,将系统用户划分为学生用户,教师用户和系统管理员用户三大类别,每种用户拥有不同的具体功能。最后根据上述设计对系统进行了初步的开发,完成了部分功能的实现。关键词:试题库;网络课程系统;Java Web;SSHThe analysis and design of the Online Course System based on test databaseAbstract: With the continuous development of Internet technology, the concept of the word Internet plus continues to extend. In todays world, the Internet has been applied to every field. In order to keep pace with the times, to make peoples life better, many colleges and universities also try their best to combine Internet with education together. So many systems like the Online Course System which were based on the test database emerged. In order to solve the problems exist on the current school Online Course System, such as the deficiency on scoring and chapter knowledge learning, less humanity with the login boundary and also on the exchange between students and teachers and other existing shortcomings, the design and development of a new system that can meet teachers and students need has its importance and practical significance. This paper analyzes the background and status of development of the current existing system, and then introduces the development of the system of the Java Web and SSH and other basic technology and its principles. Then the article shows a comprehensive analysis and design process according to a systematic method, it divided system users into three categories which include student users, faculty users and system administrator user, each user has its different specific functions. Finally, the author realizes some functions of this system based on the preliminary design of the system and make it used.Keywords: test database, Online Course System, Java Web, SSH1 引 言1.1 课题背景及意义网络不断发展的今天,互联网与人们的学习生活结合的越来越紧密。“互联网+”的概念越来越成为当下的热点。我们现在所谓的“互联网+”,其实是一个融合的概念,其实质是对当下时代创新2.0时代的新一代的信息技术与创新2.0技术相互作用,进而共同演化推进的当代经济社会发展新形态的集中的概括。伴随着移动互联网技术的飞速发展,推动当今世界不断变革的因素不仅仅有无所不在的网络因素,还有无所不在的计算,数据资源以及丰富的知识资源。人们已可以通过移动互联网工作、学习、获取信息和传播信息等等。互联网已经与各种资源以及技术相结合形成了不同的新兴产业。例如互联网与传统的营销相结合,即“互联网+传统营销”就产生了现在我们所说的“电子商务”。“互联网+传统银行”就产生了当下大部分大学生乃至社会人士必不可少的网上银行,即“支付宝”。不仅是生活方面,“互联网+”的概念也被当代人们广泛应用于当下教育行业,在各大高校内部,基于互联网及其终端的学习方式日益兴起,基于试题库的网络课程学习系统(以下简称网络试题库系统)的兴起正是这些成果中的一个。相比于之前的完全纸质化学习方式,网络试题库系统以其开放性,用户体验好,便捷性,高效性等特点,逐渐在高校学生的学习生活中起到了不可替代的效果。网络试题库系统的分析与设计,是基于几种目的:一是旨在充分利用当下现有的计算机系统,减轻高校师生的学习以及工作的强度。二是对传统的纯纸质化学习方式加以改进和优化,减少原来以纸质形式保存和批改试卷的方式,进而达到节约资源保护环境的目的。着眼于当下本校的网络试题库系统,功能不够完善,师生交互太少,界面设计不够人性化等缺点依然存在。本文旨在通过利用当下主流的开发技术,开发一款基于试题库的网络课程学习软件,希望在更好地服务于本校广大的师生,方便其学习以及生活,拓展学校的教学手段等方面可以起到积极的带头作用。1.2 国内外研究现状由于信息技术的不断发展以及市场需求的不断变化,使得对网络试题库系统的研究与开发也呈现出多样性,主要体现为软件设计架构多样性,设计模式的多样性以及开发技术的选择的多样性三个方面。下面将从这三个方面进行国内外研究现状的比较。软件设计架构的多样性:互联网高速发展的今天,软件设计的过程更加注重软件组成部分的重用性以及客户对软件的适应能力的提升。为了适应这些方面的要求,软件设计架构也从当初的单机结构逐步向C/S架构,B/S架构进一步过度。我们所谓的C/S 架构,其全称是Client/Server(客户端/服务器端)架构。在其客户端上,包含着一个或多个用户的电脑上运行的客户端程序。C/S 架构是最典型的胖客户端结构。其客户端的功能主要是,实现绝大多数的业务逻辑以及界面展示。C/S框架的基本如图1.1所示:图1.1 C/S框架的基本原理我们所谓的B/S架构,其全称为Browser/Server(浏览器/服务器)结构。其主要的框架结构,是由Browser客户端,WebApp服务器端和DB数据库端构成所谓三层架构模式。B/S架构是典型的瘦客户端模式。该种模式将显示层的逻辑交给了Web浏览器,将事务处理逻辑放在WebApp服务器端上,这样一来,就避免了庞大的胖客户端处理逻辑,进而减少了系统客户端一边存在的压力。B/S框架的基本如图1.2所示:图1.2 B/S框架的基本原理两种架构各有其优缺点,适应的开发方面也有其不同之处。C/S架构主要用于开发单机类型的客户端软件,而B/S架构主要用于开发基于web浏览器的web界面软件。设计模式的多样性:设计模式的选择是软件开发的关键步骤。任何设计模式没有绝对的优越性,但会因为设计的场合而表现出不同的应用层面上的差异。近年来,研究者们陆续提出了不同的设计模式,较为主流的有MVC设计模式,单例模式,工厂模式等等。MVC设计模式最早由TrygveReenskaug在1978年提出,该种模式把整个软件系统分为了三个基本部分:即模型(Model)、视图(View)和控制器(Controller),该种模型的最主要的目的,是实现对程序的动态设计。MVC设计模式的实质是B/S架构的运用,因其普遍的优越性以及B/S架构的广泛运用,目前是较为主流的设计模式。开发技术的选择的多样性:开发技术的选择问题关乎到软件设计步骤的复杂程度。对于简单的基于Java web的软件,目前较为实用的是纯JSP页面模式,JSP+Servlet模式。而对于结构稍微复杂的机遇Java web的软件,常采用的软件是JSP+Javabean+Servlet模式,即我们常说的SSH三层架构。1.3 章节介绍为更好地展示论文和介绍网络试题库系统的分析与设计,将本文分成以下章节:第一章:阐述基于试题库的网络课程学习系统开发的课题背景及意义、国内外现状等。第二章:进行系统分析,包括需求分析,业务流程分析,数据流程分析,E-R图模型分析和数据字典设计等。第三章:主要讲系统的设计,首先介绍了系统开发所使用的主要技术,即Java web技术,SSH三层架构等。再从系统总体的设计,系统模块结构设计,数据库的设计,web客户端设计等几个方面对系统进行了全方位的设计第四章:系统实现,包括系统开发环境的配置以及主要功能的具体实现等。2 系统分析2.1 系统需求分析基于试题库的网络课程学习系统主要是为全校的师生提供一个无纸化的学习和交流的平台,方便学生以及教师的日常学习和生活,并且可以对学生更好地掌握学习的知识起到非常积极的作用。对于学生而言,其基本的目的是在于学习新的知识体系,并且利用更加方便的途径进行知识的获取。对于教师用户,其目的是为了丰富教学手段并以全新的方式去指导学生的学习工作。对于学校而言,也要一改以往以素质教育为主体的教学目的,加快教学转型,让网络化的教育方式以更加贴近教学的方式更加亲近学生的学习生活。在这样一个平台,学生用户一方面可以完成学校老师既定的学习,另一方面可以通过无纸化试卷的方式参与考试。系统将会记录学生每一次的测试结果并且进行智能化的分析,形成其学习记录以及复习的计划,帮助学生更好地掌握知识点。教师用户可以在此平台上对学生学习进行监督,并且以定期上传试卷,更新题库的方式检测学生的学习。另外,这个系统还提供了一个学生与教师的实时交流的平台,以方便学生以及教师之间进行学习和交流。通过以上分析,决定将整个系统的用户分为学生用户,教师用户以及系统管理员三种类型。所有进入该系统的用户,首先看到的是用户注册和登录的界面,此界面针对不同的访客设计了不同的访问系统的方式。对于未注册用户,点击注册,系统会自动跳转到注册界面,学生用户会以学号为注册账号,教师用户会以特殊的教师用户号进行注册的依据,最终在其教学系统内部进行验证操作,系统验证通过的用户即可以进行系统登录操作。若用户以学生身份进入,其所需要的功能主要包括以下几种:个人信息管理,信息查看,学习考试,信息检索等。若用户以教师身份进入,其所需要的功能除了包括个人信息管理,信息查看,信息检索等基本功能以外,还应包括学生信息管理,试题库管理,试题的增删改查以及学生考试管理等功能。若用户以管理员身份进入,其所需要的功能主要包括用户信息管理,数据维护,系统维护以及系统信息发布等功能.2.2 系统业务流程分析业务流程图是一种以图形形式展示和描述系统内部各组成部分,作业顺序和管理信息流向的系统分析工具,可以帮助系统的分析设计人员找出系统业务流程中的不合理流向,是系统分析的重要组成部分。以下将分析本文涉及系统部分主要业务的流程。2.2.1 用户注册业务用户注册业务是非系统管理人员能够访问并且使用系统的关键,是进入系统的第一步。首先用户填写注册信息表,提交给系统。系统将通过原先设定的填写规则对用户填写的内容进行第一步的审查,审查成功将转到用户验证操作。用户将通过网络链接登陆自己的学校教学系统,接着根据不同的用户类型,系统会进行不同方式的验证操作。验证成功,系统将自动将用户的基本信息加入系统内部所存储的用户信息表,将用户信息录入数据库,方便下次用户进行登录操作,并同时向用户反馈处理结果。整体过程如图2.1所示。图2.1 用户注册业务流程图2.2.2 系统用户登录业务用户通过用户登录业务才能进一步进入系统,并且进行后续的操作。用户直接填写用户登录信息进行登录操作,系统将根据用户提交的登录信息判断用户类型并且对照用户信息表进行审核,如果登录信息准确则进入系统。如果不存在用户名不存在,系统将提示跳转入用户注册界面或审查用户名信息。如果用户密码错误,系统将提示检查用户密码正确或者找回密码的系统提示信息。整体过程如图2.2所示。图2.2 系统登录业务流程图2.2.3 修改用户信息业务修改用户信息业务是指用户登录系统之后,对自己的信息进行完善,修改或者修改密码操作。首先用户将填写用户信息修改表,然后将信息提交给系统。系统将进行合理性检测,若检测合格,系统将对用户信息表进行修改并同时将处理结果反馈给用户。整体过程如图2.3所示。图2.3 修改用户信息业务流程图2.2.4 教师上传试题业务教师上传试题业务是整个网络试题库系统的关键所在,有了试题,整个网络试题库系统才有其主体。首先,教师用户选择上传试题功能,并填写试题信息表。通过选择上传试题的类型,设计知识点以及试题主体,完成试题上传。系统将会对试题完整度进行审查,合格之后,系统将更新其所储存的试题库并且给予用户以反馈信息。整个过程如图2.4所示。图2.4 教师上传试题业务流程图2.2.5 学生测试业务学生测试业务也是系统的关键业务之一。首先学生用户选择测试功能,完成试卷并提交给系统。系统将根据教师用户事先制定好的评分标准对学生提交上来的试卷进行试卷的智能化批改。之后系统一方面会将学生的测试成绩进行汇总并提交给教师用户,另一方面,系统将根据教师用户之前制定的试卷的知识点,结合学生的试卷完成情况对学生的试卷进行评估,找出其欠缺的知识点并且将为其安排知识点的复习计划。与此同时,系统将会对所有学生对于题目的完成情况进行统计分析,找出所有知识点中学生普遍测试不好的,并且将统计结果发送给教师用户,帮助教师用户以改进其教学的侧重点以及复习的知识点。整个结果如图2.5所示。图2.5 学生测试业务流程图2.3 系统数据流程分析数据流程分析是一种把系统内数据抽象出来单独进行研究考察的方法。利用数据流程分析,我们可以单独得到系统内实际业务的数据处理模式,以便分析人员发现诸如数据不流畅,或者前后的数据不匹配以及系统数据的处理不合理等问题。数据流程图是数据流程分析最主要的工具,能精确地在逻辑上描述数据的存储,流动,加工,使用的情况,而去掉了具体的组织结构,人员,物流等物理要素。这种数据分析过程中抽象性的运用能便于我们总结信息处理的规律。以下将进行本文涉及系统的数据流程分析。2.3.1顶层数据流程图DD顶层数据流程是将系统作为一个整体,以俯视的角度来看整个系统,考察的是整个系统的数据流情况。从整体的角度来看,系统主要的流入数据有题库的基本信息,教师对试卷制定的评估标准和系统内部存储的用户基本信息三个方面。主要涉及的三种用户类型是:学生用户,教师用户以及系统管理员。整体数据流程过程如图2.6所示。D图2.6 系统顶层数据流程图2.3.2 第一层数据流程图P6P5P4P2P1DD第一层数据流程图是对上一层数据流程的分解,目的是更好地了解系统内部的信息处理,传递和运输的过程。通过这种自上而下的逐层分解,分级剖析,直到所有的处理步骤都具体到可以实现为止。通过对顶层数据流程的进一步分析,我们可以得到第一层数据流程图,如图2.7所示。P7P3DDD图2.7 系统第一层数据流程图2.3.3第二层数据流程图第二层数据流程图是对第一层数据流程图的进一步细化。从第二层数据流程图我们就可以看出来系统内部部分功能的具体数据流入流出以及其之间的交互。2.3.3.1 学习功能P1.2P1.1D学习功能是系统针对学生用户的一项基本的功能。学生用户通过学习功能可以实现对系统学习资源的使用,包括:考试测试,成绩管理,知识点管理,错题管理,资源搜索等几个方面。具体数据流如图2.8所示:P1.4P1.3图2.8 学习功能数据流程图2.3.3.2 考试功能考试功能是整个网络试题库系统的核心。学生通过考试功能进行平时的测试,分章练习以及最终的考试测试。教师用户通过考试功能进行学生的试卷管理,更新题库信息以及具体的评估标准的确定。学生试卷的形成主要通过三种形式:一是抽取系统内部现有试卷。二是通过系统的自动组卷。三是通过教师用户手动组卷。具体数据流程如图2.9所示:P2.2P2.1DDDP2.4P2.3D图2.9 学生考试功能数据流程图2.3.3.3 基本信息管理功能不论是学生用户还是教师用户,都涉及到其对自己基本信息的管理。基本信息管理功能具体包括个人资料管理,用户名密码管理以及教师用户对于学生用户的学生资料管理功能。具体数据流程如图2.10所示:DDP4.3P4.2P4.1图2.10 基本信息管理功能数据流程图2.3.3.4 试题库管理功能试题库管理功能是教师用户通过对试题的增删改查来管理题库。是系统的又一重要功能之一。此外,再此功能中,教师用户可以通过参照平时学生的成绩,来制定学生测试的评估标准。具体数据流程如图2.11所示:DDDP3.4P3.1P3.2P3.3图2.11 试题库管理功能数据流程图2.3.3.5 系统管理功能DP7.3P7.1P7.2系统管理功能是系统管理员用户特有的功能,其主要包括用户信息管理,系统维护,数据维护三个方面的基本内容。系统管理员通过该功能实现了对整个系统的全方位的控制,保证了系统的安全性及可用性。该功能具体流程如图2.12所示:D图2.12 系统管理功能数据流程图2.3.3.6 通知处理功能P6.1P6.2D通知处理功能是系统内部各用户之间实现交流沟通以及信息发布的重要功能。其主要由:发布通知,查看通知,删除通知几个功能组成。该功能具体流程如图2.13所示:P6.3图2.13 通知处理功能数据流程图2.4 系统数据字典数据字典,就是以文字的形式对某个系统的逻辑模型进行描述。一般情况下,分析人员分析数据特性会从静态和动态两个方面进行,而在接下来我们所列出的数据字典中,我们只是从静态特征方面对系统的数据进行全方位描述。一个完整的数据字典,通常包括以下几个方面:1) 数据项:我们又称为数据元素,它是系统存储数据的最小单位。具体包括:系统所存在的数据项编号、名称、别名以及简述等;系统存在数据项的长度;系统存在数据项的取值范围。2) 数据结构:主要作用是用来描述系统中某些数据项之间的复杂关系,便于系统分析设计人员进行观察。通常情况下,系统的一个数据结构可以由若干个数据项来组成,也可以由若干个数据结构来组成,还可以由若干个数据项综合数据结构来组成的。数据结构是个递归概念。3) 数据流:主要是由一个或者由一组固定的数据项来组成。系统分析人员在定义数据流时,不仅仅要说明其所定义的数据流的名称以及组成,还要说明其的来源、去向以及数据流量等方面的信息。4) 数据存储:是系统保存其数据结构的场所,只用于描述数据的逻辑存储结构,并不涉及它的物理组织机构。5) 处理逻辑:是用以描述数据流程图中最底层的处理逻辑的一项组成。6) 外部实体:是系统中各种数据的来源和去向。通过对系统的进一步分析,可以得到系统的数据字典如下所示。2.4.1 数据项如表2.1所示是用以描述用户类型(u_type)的数据项。表2.1 数据项编号:I01 名称:用户类型别名:u_type简述:用以描述用户的类型连续值类型:varchar长度:6值域:1-999999备注:系统用户一共有学生用户,教师用户,系统管理员用户三种。18由于篇幅有限,其他数据字典就不再一一给出,而是以一览表的形式展示,表2.2是所有数据项一览表。表2.2 数据项一览表序号编号名称别名类型长度备注1I01用户类型u_typevarchar6用户类型分为三种2I02用户编号u_idvarchar4学生编号是学号,教师是教师号3I03用户密码u_pswdvarchar16描述用户登录时候的密码4I04学生名称s_namevarchar8描述学生用户的名字5I05专业班级c_namevarchar16描述学生所属专业班级6I06教师名称t_namevarchar8描述教师用户的名字7I07教师职称t_titlevarchar8描述教师的职称8I08专业领域t_majorvarchar16描述教师所属的专业领域9I09班级编号c_idvarchar8描述班级的编号10I10班级人数c_scaleint4描述班级的人数11I11成绩单编号r_idvarchar8描述成绩单的编号12I12出成绩日期r_datedate描述出成绩的日期13I13课程名称kc_namevarchar8描述课程的名称14I14学生成绩s_gradeint4描述学生的成绩15I15课程编号kc_idvarchar4描述课程的编号16I16学生序号s_numberint8描述学生在班级内的序号17I17通知编号i_idvarchar4描述发布的通知的编号18I18通知时间i_datedate描述发布通知的时间19I19通知标题i_titlevarchar16描述通知的标题20I20通知类型i_typevarchar16描述通知的类型21I21通知内容i_contentvarchar200描述通知的类型22I22试卷编号shj_idint8描述试卷的编号23I23试卷标题shj_titlevarchar8描述试卷的标题24I24试卷内容shj_contentvarchar200描述试卷的具体内容25I25发布时间shj_datedate描述试卷的发布时间26I26试题编号sht_idint8描述试题的编号27I27所属单元sht_unitvarchar4描述试题所属的单元28I28试题内容sht_contentvarchar100描述试题的具体内容29I29知识点sht_knpointvarchar16描述试题所包含的知识点30I30试题选项sht_optionvarchar16描述试题的选项31I31试题答案sht_answervarchar32描述试题的具体答案2.4.2 数据结构如表2.3所示,是用以描述用户基本信息的数据结构。表2.3 数据结构编号:DS01名称:用户基本信息别名:YHJBXX简述:描述所有用户的基本信息。组成:I01+I02+I03表2.4是所有数据结构一览表,包括学生基本信息,教师基本信息,班级基本信息,成绩单信息,课程基本信息,通知基本信息,试卷基本信息,试题基本信息。表2.4 数据结构一览表编号名称别名简述组成DS02学生基本信息XSJBXX描述学生用户的基本信息I01+I02+I03+I04+I05DS03教师基本信息JSJBXX描述教师用户的基本信息I01+I02+I03+I06+I07+I08DS04班级基本信息BJJBXX描述班级的基本信息I05+I09+I10DS05成绩单信息CJDXX描述学生成绩单上面的信息I11+I12+I15+I04+I14DS06课程基本信息KCJBXX描述学校所有课程的基本信息I15+I13+I16+I04+I05DS07通知基本信息TZJBXX发布通知的基本信息I17+I18+I19+I20+I21DS08试卷基本信息SHJJBXX描述试卷的基本信息I22+I23+I24+I25DS09试题基本信息SHTJBXX描述管理员的基本信息I26+I27+I28+I29+I30+I312.4.3 数据流系统主要有用户信息流、通知信息流,注册信息流,测试信息流,题库信息流等数据流。这里以描述用户信息的数据流为例,该数据流用于保存和提供用户注册和登录时候的用户信息。如表2.5所示。表2.5 数据流编号:D1 名称:用户信息流 别名:UserMessage简述:保存和提供用户注册和登录时的信息组成:I01+I02+I03来源:用户注册去向:用户登录数据流量: 10份/月峰值流量: 30份/月由于篇幅有限,接下来以一览表的形式给出系统的数据流一览表,如下表2.6所示:表2.6 系统数据流一览表编号名称简述组成D2通知信息流保存用户发布的通知信息I17+I18+I19+I20D3注册信息流保存用户注册时的信息I01+I03D4测试信息流保存学生用户测试信息I02+I04+I15+I26+I14D5题库信息流保存更新时候的题库信息I22+I23+I25+I262.4.4 数据存储系统主要有用以保存通知,试卷,用户,班级等信息的逻辑存储结构,这里以试题信息为例,介绍试题信息表的数据存储,如表2.7所示。表2.7 数据存储编号:DB01 名称:试题信息表 别名:db_Question简述:用来描述试题的基本信息组成:I22+I27+I28+I29+I30+I31关键字:试题信息相关处理:P5,P4,P11记录数:约10万条由于篇幅有限,接下来以一览表的形式给出系统的数据存储一览表,如下表2.8所示:表2.8 系统数据存储一览表编号名称简述组成DB02题库信息用于保存题库的基本信息I22+I23+I25+I29+I30+I31DB03评估标准信息用于保存教师用户定的评估标准I06+I07+I02+I08DB04学生成绩用来保存学生的考试测试成绩I02+I04+I05+I11+I12DB05系统信息用来保存系统的基本信息I17+I18+I19+I202.4.5 处理逻辑系统主要有用户注册、用户登录、修改信息,在线测试,发布试题,信息检索,信息查看,发布通知,数据维护,系统维护,学生考试等处理逻辑,如表2.9所示,为用户注册的处理逻辑。表2.9 处理逻辑编号:P1 名称:用户注册处理输入信息:用户注册填写的个人信息。数据存储:DB01输出信息:注册用户数量增加,同时可以登录。激发条件:选择注册业务时激发。加工逻辑:首先对用户填写的信息进行验证,看其是否合法、用户名是否注册过;验证通过则在用户表增加新的用户信息,否则给出出错提示。出错处理:验证用户所输入信息的合法性。执行频率:根据实际情况进行处理。由于篇幅有限,接下来以一览表的形式给出系统的数据存储一览表,如下表2.10所示:表2.10 系统处理逻辑一览表编号名称输入信息输出信息P2用户登录处理用户登录时填写的登录信息用户登录信息是否正确P3修改信息处理用户填写的修改信息修改后的用户基本信息P4在线测试处理学生用户选择的试卷测试成绩以及测试评估P5发布试题处理教师用户填写的试题表对系统试题库进行更新P6信息检索处理学生用户输入的检索信息在系统内部或外部搜索的结果P7信息查看处理用户的信息查看需求用户之间的交流通知P8发布通知处理用户输入的通知基本信息不同用户收到的不同的通知P9数据维护处理系统管理员数据维护请求系统基本信息的更改P10系统维护处理系统管理员系统维护请求系统基本信息的更改P11学生考试处理学生用户的考试基本信息考试成绩2.4.6 外部实体表2.11描述了学生用户、教师用户、系统管理员用户三个外部实体。表2.11 外部实体一览表编号名称简述输入流输出流E01学生用户已经通过验证的学生用户添加用户登录信息、修改个人信息E02教师用户已经通过验证的教师用户添加用户登录信息、修改个人信息E03系统管理员用户管理用户、管理系统的用户无用户管理、系统管理3 系统设计3.1 系统开发工具及主要技术3.1.1 Eclipse简介Eclipse是当下最流行的开放源代码而且基于java的可扩展开发平台。其软件本身融合了大量常用的java 开发工具(Java Development Kit,JDK)并且包含多个框架和服务,最大的长处在于其可以通过自身的插件以及组件构建系统的开发的环境。Eclipse最大的特点是其对于开发语言的拓展。在其创建的初期,主要用Java语言进行开发,但是随着要求不断的提升,其自身功能不断地发展,通过安装了不同的插件,Eclipse就可以实现对不同的计算语言的支持,比如C+和Python等,因此增强了其软件自身的灵活性。这就是其成为了著名的跨平台的自由集成开发环境(IDE)。基于以上对于Eclipse的简介,本系统将采用Eclipse作为基础的开发平台,并结合其他框架的搭建,作为整个系统的开发环境。3.1.2 Java Web简介Java Web技术主要由两部分组成:JSP和Servlet。一个典型的Java Web程序中应该包含Servlet,JSP页面,HTML页面Java类等Web组件。所以,我们可以将一个Java Web应用程序看作是多个Web组件组成的集合。基于JSP/Servlet的Java Web技术虽然在很长时间内被广泛的应用,但随着时间的推移,人们逐渐发现了这种技术的弊端,如JSP页面将静态的HTML代码,JavaScript,CSS和动态的JSTL,Java代码混在一起,这样就不利于程序的维护工作。为了解决这个问题,有人提出了将页面和服务器代码端分离,这就逐渐形成了今天我们最常用的基于MVC模式Java Web。MVC模式是对模型(Model)-视图(View)-控制器(Controller)的简称。在此类模型中,以控制器作为中心(一般情况下是Servlet),用来接收来自视图层(一般情况下是JSP)的请求,并向视图发送响应信息。同时也和模型(一般情况下是JavaBean)进行交互,获取数据库信息。或者向数据库中写入信息。MVC模式将表现层,业务逻辑层,数据层进行分层,使得开发更有效率,系统更易于维护,极大地增强了代码的重用性。其基本框架如图3.1所示:图3.1 MVC框架的基本原理3.1.3 SSH三层架构简介首先,SSH框架并不仅仅指的是一个单独的框架,而是由多个框架(即struts+spring+hibernate)组成的集合的整体。SSH框架是目前开发系统时比较流行使用的一种用于Web应用程序开源集成框架,其主要作用是用于构建灵活的,易于进行功能扩展的,多层的Web应用程序,是MVC模式在当下系统开发过程中最的典型应用。其在职责上将一个系统框架分为了四层:即表示层、业务逻辑层、数据持久化层以及实体层。其中,Struts常常作为系统最最基础的架构,负责MVC的分离工作,在Struts框架模型的部分,主要功能是用于控制系统所涉及的业务跳转,于此同时,系统会利用Hibernate框架技术对其持久层提供进一步的支持。Spring框架,一方面作为开发系统时的一个常用的轻量级IoC容器,主要功能是用于查找、定位、创建和管理开发系统的对象及控制对象之间的依赖关系,另一方面,可以协调Struts和Hibernate,使得他们更好地工作。Struts,Spring和Hibernate三者之间的工作关系如图3.2所示。图3.2 SSH框架三者之间的工作关系由SSH构建系统的基本业务流程是:1) 在系统的表示层当中,首先会通过JSP页面实现与系统用户的交互,负责传送系统用户的请求(Request)和接收其相应的响应(Response),然后Struts框架变回参照其配置文件(struts.xml),并将配置文件中的ActionServlet类所收到的Request要求委派给相应的Action动作方法,让其去进行处理。2) 在系统的业务层中,其主要是用于管理服务的组件。Spring IoC容器负责向系统中所存在的Action动作文件提供其所需的业务模型(Model)组件,以及这个组件中的协作对象数据处理(DAO)组件,进而进一步完成业务逻辑,并于另一方面通过向所部署的系统提供事务处理功能、缓冲池等容器组件,来提升系统的性能进而保证了系统数据的完整性。3) 在系统的持久层中,则主要依赖于Hibernate的对象化映射功能,处理其中DAO组件所请求的数据,并且返回处理结果,完成整个系统与数据库的交互功能。采用上述的系统开发模型,不仅仅在技术层面上实现了系统的视图、控制器与模型的彻底分离,而且还在系统业务逻辑层与其持久层面上实现了真正意义的分离。这样的操作保证了无论系统的前端如何发生变化,其模型层只需要进行很少的改动。并且当系统的数据库发生变化时,系统的前端也不会被影响,进而大大的提高了所部署开发系统的可重用性。并且,由于系统不同的层次之间耦合度比较小,这种设计模式还有利于系统整个开发团队成员并行的进行整个系统的开发工作,进而大大提高了其开发效率。3.2 系统总体设计基于试题库的网络课程学习系统,主要由客户端和服务器端两个方面组成。其中,客户端是基于Web平台,而服务器端主要基于Java EE平台。本系统采用Struts+Spring+Hibernate的结构用以搭建三层架构(SSH三层架构模式),实现MVC三层模型(即客户层、业务逻辑层和数据存储层分离)。其中,客户层为基于Web网页的客户端,主要负责与用户进行交互,接收并初步处理用户请求并与服务器端交互并显示数据;业务逻辑层主要负责处理实现用户功能需求的业务逻辑;数据存储层为系统提供数据存储、读取等功能。3.3 系统模块结构设计系统模块结构设计,其主要的任务是划分整个系统的子系统,并且进而设计子系统的模块结构,然后画出系统模块结构图。在设计模块结构的过程中,应当满足“高内聚和低耦合”的基本原则,“高内聚”是指具体描述的一个模块功能具有极高的专一性,理想聚合的模块应当是仅仅完成一件事,本系统采用功能聚合的方式进行模块结构设计,从而使得每个模块只完成一个单独的、能够唯一定义的功能,此类模块独立性强,复用性好,便于程序维护。“低耦合”是指模块彼此之间的联系和依赖程度较低,考虑“低耦合”原则,本系统又采用数据耦合的方式进行模块结构设计,从而使得两模块之间通过调用关系来传递系统之中存在的一些数据,使得模块间的联系简单,保证模块具有较强的独立性,利于模块的修改和维护。图3.3 系统功能结构图基于试题库的网络课程学习系统主要包括三类用户,即学生用户,教师用户以及系统管理员用户。在登录界面,登陆者选择用户的类型。不同的用户拥有不同的系统功能。学生用户主要包括基础信息管理,信息通知管理,学习和考试,信息检索四个模块。而其中最主要的学习和考试又分为分章练习,平时测试,课件下载以及错题库四个子模块。教师用户主要包括基础信息管理模块,信息通知管理,题库管理模块以及学生考试管理四个子模块。其中最重要的学生考试管理主要包括抽取现有试卷,手动组卷,自动组卷三种出卷方法。系统管理员用户主要负责的是整个网络试题库系统的管理,其只要包括用户信息管理,系统维护,数据维护和系统信息发布四个模块,每个模块各自具有不同的功能。整个系统的功能结构如上图3.3所示。3.4 数据库设计数据库是系统设计的一大重要的部分,数据库设计的好坏是一个系统能不能成功的基础。数据库设计具体是指在数据库上建立数据表的过程。根据系统的用户类型和具体功能可知,系统主要包含用户表,学生表,教师表,班级表,成绩表,课程表,通知表,试卷表以及试题表等。下面给出了系统的所涉及的表的一览表。表3.1 系统包含表一览表3.4.1 用户表用户表由系统存储,保存的信息主要有三个方面:用户类型,用户编号和用户密码。供用户登录的时候进行验证。其中,用户类型分为学生用户,教师用户和系统管理员用户三种类型。整个表如下所示:表3.2 用户表3.4.2 学生表学生表主要用于存储学生用户的基本信息,主要包括学生编号,用户密码,姓名,班级四个方面的信息。其中,学生编号的数值与学生的学号的相同。整个表如下所示:表3.3 学生表3.4.3 教师表教师表主要用于存储教师用户的基本信息。主要包括教师编号,用户密码,姓名,教师职称以及教师所涉及的专业领域几个方面组成。其中,教师编号与教师的教师号相同。整个表如下所示:表3.4 教师表3.4.4 班级表班级表主要用于存储班级的基本信息,包括班级编号,专业班级以及班级人数几个方面,整个表如下所示:表3.5 班级表3.4.5 成绩表成绩表主要用于存储学生用户的每门课的成绩。主要包括成绩单编号,出成绩日期,课程编号,学生编号,学生名称以及学生成绩几个方面。其中,课程编号与学生的教学系统存储的课程编号相同。整个表如下所示:表3.6 成绩表3.4.6 课程表课程表主要用于存储学生的课程信息,主要涉及课程编号,课程名称,学生编号,学生序号,学生名称以及专业班级几个方面。其中,学生编号不等于学生序号。整个表如下所示:表3.7 课程表3.4.7 通知表通知表主要用于存储系统用户发布通知的具体信息。主要包含通知编号,通知标题,通知类型,通知内容以及时间几个方面。其中,通知类型包含三种,即学生之间的通知,学生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏盐城市少年宫招聘校外教育志愿者模拟试卷附答案详解(考试直接用)
- 2025贵州医科大学附属乌当医院招聘合同制员工6人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025安徽工程大学硕士专职辅导员招聘8人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025内蒙古深能北方能源控股有限公司招聘考前自测高频考点模拟试题及答案详解(名师系列)
- 2025辽宁长海县银龄教师招聘6人模拟试卷及答案详解(必刷)
- 2025广西钦州市浦北县县直中学(职校)教师专场招聘55人考前自测高频考点模拟试题及完整答案详解一套
- 2025黑龙江绥化海伦市各乡镇民政服务站招聘46人模拟试卷带答案详解
- 2025年湖南省低空经济发展集团有限公司第二次公开招聘12人考前自测高频考点模拟试题及完整答案详解一套
- 2025春季中国石油高校毕业生招聘模拟试卷及答案详解(夺冠)
- 民生银行杭州市拱墅区2025秋招半结构化面试15问及话术
- 质量意识题目及答案
- 家装方案汇报讲解
- 小学数学命题培训课件
- 重点实验室开放管理办法
- 安全工作三管三必须是什么
- 国企运营资产管理办法
- 中国手机美容市场深度调研分析及投资前景研究预测报告
- 校园导向标识设计
- 2025垂直领域具身智能机器人产业化落地现状及潜力应用场景分析报告
- 大班徒步秋游活动方案
- 成人高考计算机毕业论文
评论
0/150
提交评论