基于SSH框架的在线考试系统毕业论文_第1页
基于SSH框架的在线考试系统毕业论文_第2页
基于SSH框架的在线考试系统毕业论文_第3页
基于SSH框架的在线考试系统毕业论文_第4页
基于SSH框架的在线考试系统毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、word基于SSH框架的在线考试系统数学与计算机科学学院 计算机科学与技术专业指导老师:摘要 :在线考试系统是目前市场占有率较高,应用广泛的远程网络学习考试软件,适合政府、行业及企业的各专业网上考试、作业、练习等应用,它采用Web方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上考试,并能够保存,自动判分、成绩查询。在开发方法上,引入了当今流行的ssh技术思想,数据库采用Mysql,把整个开发过程分为需求分析、概要设计、详细设计、系统实现等步骤。是人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中释放出来,把精力集中到更高层的政策性工作中。 该

2、系统设计并实现了以Jsp为根底的轻量级Web框架SSHStruts+Spring+Hibernate的在线考试系统。该系统采用MVC设计模式,将表示层、业务逻辑层和控制逻辑层清晰地别离出来,各层次之间接口清晰,耦合度低,易于扩展,使用SSH框架方便地构建Web应用,提高系统设计与实现的效率。本系统使用J2EE Java2平台企业版Java 2 Platform, Enterprise Edition做开发,运用SSHStruts+Spring+Hibernate三大框架的开发模式,采用Tomcat7.0作为应用效劳器,Mysql5作为数据库,Microsoft Visio为建模工具。该系统共分

3、为三个用户模块,即学生端、教师端,管理员 。学生端的功能主要包括个人资料管理、在线考试、成绩查询、退出系统。教师端的功能主要包括学生管理、试题管理、成绩管理、登录管理、退出系统,管理员的功能主要包括学生管理、试题管理、成绩管理、登录管理、教师管理、退出系统。以下论文中对该系统的设计方法和具体功能实现以及相关技术进行了详细的论述。关键词: B/S;在线考试系统;SSH;MVC模式;J2EE;Abstract:Online examination system is one of the market share is high and wide application of remote net

4、work learning test software, suitable for the government, industries and enterprises of various professional online examination, assignments, and practice application, it USES the way of Web, at the same time apply to the local area network and Internet, do not need to install the client, online exa

5、mination can be realized, and can save, mark, scores query automatically. On the development method, the introduction of today's popular SSH technology thought, database using Mysql, the whole development process is divided into requirement analysis, general design, detailed design, system imple

6、mentation and other steps. Is human resources management more efficient and scientific, the data more accurate, to the personnel department released from the heavy, time-consuming work, to focus on the higher level of policy work. The system was designed and implemented based on Jsp lightweight Web

7、framework SSH (Struts + Spring + Hibernate) online examination system. The system USES the MVC design pattern, the presentation layer, business logic layer, and clearly separate control logic layer, the interface between different levels is clear, low coupling, easy to expand, SSH framework used to

8、facilitate building Web applications, improve the efficiency of the system design and implementation.This system USES the J2EE Java2 Platform Enterprise Edition (Java 2 Platform, Enterprise Edition) development, using the SSH (Struts + Spring + Hibernate) three framework mode of development, using T

9、omcat7.0 as application server, Mysql5 as a database, Microsoft Visio for modeling tool. Department altogether is divided into two user modules, namely the side, the teachers and students. Student the function mainly includes personal information management, online examination, scores query, from th

10、e system. The function mainly includes the students management, test question management, performance management, log management, classroom management, exit the system. The following paper design method of the system and the specific functions and related technology were described in detail.Key word

11、s: B/S; SSH; MVC mode; J2EE; thesis management;目 录1 绪论11.1课题研究背景11.2课题研究目的及意义11.3本文内容及结构12 关键技术介绍32.1 SSH框架及优势32.2Internet终端42.3Tomcat效劳器42.4Mysql数据库53 需求分析63.1用例需求6用例图简介63.1.2 总体用例图63.2功能需求63.3性能需求7平安性要求7性能要求74 总体设计84.1总体软件架构设计8层次架构模式8根本处理流程84.2总体功能结构设计94.3数据库设计9概念结构设计要点9逻辑结构设计要点11物理结构设计要点125 具体实现1

12、55.1界面实现15整体界面框架设计15局部界面展示155.2功能实现流程176 结束语246.1全文总结246.2心得体会24致谢25参考文献26.word1 绪论考试是教学过程中的一个重要环节。学生考试成绩的优劣,不但反映其对教学内容和应掌握知识的分析、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度。传统的学校教学中,进行一场考试,要求老师编写试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学

13、生带来了众多的不便。而网上考试系统不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育开展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。 1.1课题研究背景随着计

14、算机技术、网络技术迅速开展和高校校园网功能的日益完善,很多高校建立了基于校园网的网络信息管理平台,为提高教学管理水平提供了先进的管理手段。目前,基于网络的在线考试系统己经成为现代考试方式的有力补充和开展。相对于传统的笔试,网络在线考试不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。它旨在探索一种以互联网为根底的考试模式。通过这种新的模式,为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时、随地通过网络完成考试

15、。1.2课题研究目的及意义很多学校学生的期末考试仍采用任课教师个人或集体考前出题的方式。为解决学生压题,考前漏题,补缓考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准。这样做虽能解决一些问题,但给教师增加了很大的工作负担,假设上下届学生的同一门课程由同一教师承当,那么难免几届学生用相同几套试卷;假设由不同教师任课出题,那么上下届学生的成绩之间又不具有可比性。假设建立题库,每次考试前由题库中题目随机生成试卷,那么可较好地解决考教别离的问题,也可将广阔教师从每学期末繁重的命题工作中解放出来。近年来,局部学校陆续开发了

16、一些基于微机的题库系统,并作为成果向其它学校推广,但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学生考试使用,也无法更新题库中的题目。为解决题库系统中存在的这些问题,最后给出了一个较为理想的题库系统解决方案,并结合当前比拟使用的B/S结构开发一个功能完备的网上考试系统。1.3本文内容及结构 本论文共分为七章,其章节结构如下:第一章 绪论。本章重点阐述了本课题的研究背景、目的及意义,并简要概括了本文的内容及结构。第二章 系统关键技术介绍。本章介绍了系统关键技术及选择的开发环境。第三章 系统需求分析。本章根据在

17、线考试系统的开发原理及开发过程,对系统的需求进行了研究与分析。第四章 系统总体设计。本章介绍了的总体设计,包括数据库的设计。第五章 系统具体实现。本章介绍了的具体实现过程并举例说明。第六章 结束语。本章总结了全文的主要思想及自己的心得体会。2 系统关键技术介绍2.1 SSH框架及优势1典型的三层构架表达MVC模型Model,视图View和控制思想,可以让开发人员减轻重新建立解决复杂问题方案的负担和精力。便于敏捷开发出新的需求,降低开发时间本钱。2良好的可扩展性,ssh主流技术有强大的用户社区支持它,所以该框架扩展性非常强,针对特殊应用时具有良好的可插拔性,防止大局部因技术问题不能实现的功能。3

18、良好的可维护性,业务系统经常会有新需求,三层构架因为逻辑层和展现层的合理别离,可使需求修改的风险降低到最低。随着新技术的流行或系统的老化,系统可能需要重构,ssh构架重构成功率要比其他构架高很多。4优秀的解耦性,很少有软件产品的需求从一开始就完全是固定的。客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。ssh三层构架,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软

19、件实现,即使软件的局部发生改变,其他局部也不会改变。 Struts、Spring、Hibernate是三个既相互独立又彼此关联的框架,它们可以无缝地整合起来构建灵活、易于扩展的多层Web应用程序,Struts用来实现表示层,Spring实现业务层,Hibemate实现持久层。 Struts2简介:虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2 与Struts1相比,确实有很多革命性的改良,但它并不是新发布的新框架,而是在另一个赫赫有名的框架WebWork根底上开展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWor

20、k的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此是一个非常值得期待的框架。Struts2优势:(1)Struts2 Action对象为每一个请求产生一个实例,因此没有线程平安问题。(2) Struts2强大的标签库提高开发效率。(3)页面脉络清晰,通过查看配置文件把握整个系统的关系,方便开发人员岗位流动时的维护。2.1.2 Spring简介:Spring是一个开源框架,它由Rod Joh

21、nson创立。它是为了解决企业应用开发的复杂性而创立的。Spring使用根本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于效劳器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring优势:(1)Spring提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“黏合剂。(2) 有利于面向接口编程习惯的养成,使代码结构清晰。(3) 采用了分层结构,可以增量引入到工程中。(4) 目的之一是为了写出易于测试的

22、代码。(5)非侵入性,应用程序对Spring API的依赖可以减至最小限度。(6) 一致的数据访问介面。(7) 一个轻量级的架构解决方案。 Hibernate简介:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate优势: (1) Hib

23、ernate是JDBC轻量级的封装,占用内存较少,性能比拟高。与JDBC相比,如果开发JDBC的人员技术能力非常强,hibernate执行效率会比JDBC弱一些,但是大局部情况是程序员在使用JDBC时是不可能做到最高效率,hibernate可以帮大局部开发人员提高运行效率。(2)可以引入第三方二级缓存,提高系统查询效率,减少系统里存在大量单例类(singleton),大量的单例类,会降低系统的可测试性和面向对象程度。(3)优秀的ORM框架,理论上节省开发人员95%的开发工作量。(4) Hibernate兼容JDBC。理论上可以应用在任何使用JDBC的场景。2.2Internet终端本系统采用的

24、是B/S(Browser/Server)结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改良的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少局部事务逻辑在前端Browser实现,但是主要事务逻辑在效劳器端Server实现,形成所谓三层3-tier结构。因此本系统访问方式是基于Internet终端的访问,用户只需要通过web浏览器就可以非常方便快捷地使用本系统效劳器资源,系统让用户的操作变得简单与透明,系统的维护本钱与工作量也得到减少。B/S构架使得本系统有易安装、易升级、本钱低、可扩充等优势。2.3Tomcat效劳器Tomcat是一个免费的开源的Serlve

25、t容器,它是Apache基金会的Jakarta工程中的一个核心工程,由Apache,sun和其它一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的Servlet和JSP标准总能在Tomcat中得到表达。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外

26、还会有一个WEBINF目录,这个目录很重要。通常在WEBINF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下那么包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB一INF下的lib目录下。Tomcat应用程序的部署很简单,只需将使用者的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以

27、后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,可以在远程通过Web部署和撤销应用。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web效劳器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。因为Tomcat的免费并且具有开放性,功能强大。因

28、此,选择了Tomcat作为独立运行Web效劳器和JSP引擎。2.4Mysql数据库MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授

29、权政策本词条“授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的缺乏之处,但是这丝毫也没有减少它受欢送的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余。3 系统需求分析3.1用例需求3.1.1用例图简介 用例图(Use Case Diagram)是一个UML中非常重要的概念,在使用UML的整个软件开发过程中,Use Case处于一个中心地位。用例是对一组动作

30、序列的抽象描述,系统执行这些动作序列,产生相应的结果。这些结果要么反应给参与者,要么作为其他用例的参数。用例被认为是第二代面向对象技术的标志。显示多个外部参与者以及他们与系统提供的用例之间的连接。用例是系统中的一个可以描述参与者与系统之间交互作用的功能单元。用例图仅描述系统参与者从外部观察到的系统功能,并不描述这些功能在系统内部的具体实现。本系统所采用的工具为Microsoft Visio 2003。3.1.2 系统总体用例图根据调查及对整个系统分析的结果,按照结构化的系统设计方案,此系统可以分为两种用户,即学生、教师、管理员。其中学生端共有五个用例,分别如下:1登录:学生根据自己的用户名和密

31、码登录到系统中。2资料管理:学生可以查看、修改自己的个人资料及密码等信息。3在线考试:学生可以查看所需要进行的考试科目,假设已经考过了那么不会显示。4成绩查询:学生可以查看已经考过试的相关科目的成绩的相关信息。5退出系统:学生突出当前考试系统。图3-1 学生端用例图其中教师端共有六个用例,分别如下:1登录:教师根据自己的用户名和密码登录到系统中。2学生管理:教师可以增加、查看、修改、删除学生的个人资料及密码等信息。3试题管理:教师可以增加考试科目, 删除、修改科目,增删该对应科目下的试题。4成绩管理:教师可以查看所有学生的考试相关信息,及学生个人的成绩详细信息。5登录管理:教师可以查看相关人员

32、登录该系统的相关情况,查询、删除。6退出系统:教师退出当前考试系统。图3-1 教师端用例图其中管理员共有七个用例,分别如下:1登录:管理员根据自己的用户名和密码登录到系统中。2学生管理:管理员可以增加、查看、修改、删除学生的个人资料及密码等信息。3试题管理:管理员可以增加考试科目, 删除、修改科目,增删该对应科目下的试题。4成绩管理:管理员可以查看所有学生的考试相关信息,及学生个人的成绩详细信息。5登录管理:管理员可以查看相关人员登录该系统的相关情况,查询、删除。6教师管理:管理员可以增加教师,修改,删除教师。7退出系统:管理员退出当前考试系统。图3-1 管理员端总体用例图3.2功能需求该系统

33、中每种用户端均需要完成不同的功能,包括注册仅学生注册,学生端,教师端,管理员端。其中注册包括的内容:用户名、姓名、密码、性别、地址、邮箱。其中学生端功能需求描述如下:1学生登录主页学生输入正确的用户名和密码登录到学生主页2资料管理: 1. 查看个人资料学生可以查看自己的个人资料信息 2. 修改个人资料学生可以修改自己的个人资料信息 3. 修改个人密码学生可以修改自己的个人密码3在线考试: 1. 选择个人要进行的考试科目。 2. 假设已经进行了某个科目的考试那么不会有该科目的选择。4成绩查询: 1. 显示个人已经进行了那几个科目的考试。科目、科目名称、总分数、所得分数、考试日期、详细情况。 2.

34、 详细情况姓名、科目编号、科目名称、题数、总时间、总分、考试时间、交卷时间、得分 。5退出系统: 退出当前考试系统。其中教师端功能需求描述如下:1教师登录主页教师输入正确的用户名和密码登录到学生主页2学生管理: 1. 查看学生资料学生的所有信息、修改、删除学生。 2. 增加学生增加学生的所有信息,用户名、姓名、密码、性别、地址、邮箱 3. 搜索学生根据学生的姓名3试题管理: 1. 查看所有的科目情况ID号、科目名称、时间、状态、创立时间、总题数、总分数、维护、操作 2. 修改所有修改科目科目名称、时间、状态开发、关闭、描述 3. 修改所有题目题号、题目内容、分数、类型、正确答案 4. 增加科目

35、科目名称、时间、状态开发、关闭、描述 5. 增加题目题目内容、分数、类型单项选择题、多项选择题、选项最多八项 6. 删除科目,题目所有内容4成绩管理: 1. 可根据科目、姓名、用户名、开始日期结束日期进行查询学生考试信息。 2. 可查看某学生相关科目的信息题号、正确答案,所答答案、得分5登录管理: 1. 可查询所有用户的登录情况包括学生、教师的用户名、IP地址、成功/失败、登录时间 2. 可根据开始日期结束日期进行查询。 3. 删除查询到的相关情况。6退出系统:退出当前考试系统。其中管理员端功能需求描述如下:1教师登录主页教师输入正确的用户名和密码登录到学生主页2学生管理: 1. 查看学生资料

36、学生的所有信息、修改、删除学生。 2. 增加学生增加学生的所有信息,用户名、姓名、密码、性别、地址、邮箱 3. 搜索学生根据学生的姓名3试题管理: 1. 查看所有的科目情况ID号、科目名称、时间、状态、创立时间、总题数、总分数、维护、操作 2. 修改所有修改科目科目名称、时间、状态开发、关闭、描述 3. 修改所有题目题号、题目内容、分数、类型、正确答案 4. 增加科目科目名称、时间、状态开发、关闭、描述 5. 增加题目题目内容、分数、类型单项选择题、多项选择题、选项最多八项 6. 删除科目,题目所有内容4成绩管理: 1. 可根据科目、姓名、用户名、开始日期结束日期进行查询学生考试信息。 2.

37、可查看某学生相关科目的信息题号、正确答案,所答答案、得分5登录管理: 1. 可查询所有用户的登录情况包括学生、教师的用户名、IP地址、成功/失败、登录时间 2. 可根据开始日期结束日期进行查询。 3. 删除查询到的相关情况。6教师管理: 1. 查询所有教师的信息ID、用户名、密码 2. 修改教师、管理员的密码。 3. 增加教师用户名、密码7退出系统:退出当前考试系统。3.3性能需求3.3.1平安性要求 由于在线考试系统的使用人数会非常大,所有在对用户信息导入和查询时要保证速度,在用户出题选题审题过程中又要保证事务的完整性。对于整个系统,需要完整的权限控制,防止某些人恶意的攻击系统,修改原始记录

38、。同时对于数据库中的数据需要定时备份,防止系统数据丧失。3.3.2性能要求 在线考试系统的性能需求 为了保证系统能够长期、平安、稳定、可靠、高效的运行,在线考试系统应该满足以下的性能需求。1 系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足对信息处理的需求。由于在线考试系统的在线考试功能对于整个系统的功能和性能完成举足轻重。在线考试系统要确保在线考试过程中有一定的处理突发事件的能力,且在提交试卷后,所评阅的试卷的失误率要保证最小,保证成绩的准确性和真实性,所以在系统开发过程中

39、,必须采用一定的方法保证系统的准确性。 2 系统的开放性和系统的可扩充性 在线考试系统在开发过程中,应该充分考虑以后的可扩充性。例如在线考试的题型的改变,试卷的类型的改变,考生交流的功能也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的标准,可以简单的参加和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 3 系统的易用性和易维护性 在线考试系统是直接面对考生的,而大多数考生往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,

40、易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 在线考试系统中涉及到的数据比方考生信息、成绩是企业的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的平安管理,系统意外崩溃时数据的恢复等工作。 4 系统的标准性 系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如标准的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求

41、的质量标准等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程标准,保证代码的易读性、可操作性和可移植性。4 系统总体设计4.1总体软件架构设计4.1.1层次架构模式集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体根底架构,负责MVC的别离,在Struts框架的模型局部,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模

42、型,将这些模型实现为根本的Java对象,然后编写根本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。系统的根本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理效劳组件的Spr

43、ing IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,那么依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底别离,而且还实现了业务逻辑层与持久层的别离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。4.1.2根本处理流程根据本

44、系统特点,本文设计实现了系统的软件架构为SSH框架,SSH框架将效劳器端应用分为DAO层、Service层、Action层、Spring容器层、视图层,各层之间通过接口连接。DAO层完成数据库增加、删除、修改等细节,DAO层将底层数据库访问操作和业务逻辑分开,对业务层提供面向对象的访问接口。Service业务层提供了处理应用程序的业务逻辑和业务校验。控制层的控制器Action接受用户的输入并调用业务层的业务方法和表示层的组件去完成用户的请求。效劳器的各种组件的生成都是由Spring容器来控制,Spring容器提供了依赖注入、实例管理、事务处理等效劳。视图层是用户看到并与之交互的界面,视图向用户

45、显示相关的数据,并能接受用户的输入数据,但不能进行任何实际的业务处理。SSH架构设计图如下所示:图4-1 SSH架构设计图SSH框架的工作处理流程说明、原理以及为什么要用。原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射3.通过config.buildSessionFactory();/创立SessionFactory4.sessionFactory.

46、openSession();/翻开Sesssion5.session.beginTransaction();/创立事务Transation6.persistent operate持久化操作7.session.getTransaction() mit();/提交事务8.关闭Session9.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作3. hibernate使用Java反射机制,而不是字节码增强程序

47、来实现透明性。4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。说明:1. 将Struts视图层产生请求提交给控制层,控制层根据配置文件决定使用哪些拦截器、Action类。2. 请求经过一系列拦截器,根据不同的请求级别,拦截器做出不同的处理。3. 调用Struts2的Action,Spring容器通过配置文件中bean的ID自动装配Action。4. Spring容器定位Action对应的业务逻辑。5. 业务逻辑层把对应的业务处理请求转发给DAO层。6. DAO层将业务逻辑层的数据封装完成后,通过持久层的Hib

48、ernate框架映射的POJO对象与数据进行交互。应用SSH架构设计可以充分发挥它们的优势,实现多层系统开发的低耦合,不仅减少了重复开发工作量,缩短开发时间,降低开发本钱,同时,使程序设计更加合理,程序运行更加稳定。4.2.1学生端功能结构设计学生端系统的功能主要包括登录模块、资料管理模块、在线考试模块、成绩查询模块、退出系统模块等。其总体功能结构图分布如下:图4-2 学生端功能结构图4.2.2教师端功能结构设计教师端子系统的功能主要包括登录模块、学生管理模块、试题管理模块、成绩管理模块、登录管理模块、退出系统模块等。其总体功能结构图分布如下:图4-3 教师端总体功能结构图4.2.3管理端功能

49、结构设计管理端系统的功能主要包括登录模块、学生管理模块、试题管理模块、成绩管理模块、登录管理模块、教师管理模块、退出系统模块等。其总体功能结构图分布如下:图4-4 管理员端功能结构图4.3 Mysql数据库设计1 更小通常更好选择表示数据的最小类型正确存储你的内容:比方说,能够使用char 数据类型存储,就不必选择text,能够使用int型存储数据,就不应该使用long型。理由:更小的数据类型使用了更小的磁盘空间,内存和cpu缓存,而且需要的cpu周期也更少。2 简单就好尽可能选择简单的数据类型存储数据,那么在选择的时候,尽量选择最简单的根本数据类型存储数据。越简单的数据类型,需要的cpu周期

50、越少。3 尽量防止null尽可能的把字段定义为 not null、Mysql 难以优化引用了可空列的查询,空列会使索引,索引统计和值更加复杂,可空列需要更多的存储空间。一般来说,设置默认值DEFAULT)是个比拟好的习惯。当然该条对Mysql表性能的提升影响不是很大,不应放在最优先考虑的地位。当然,索引优化肯定是必不可少的,不过这属于设计表完成之后的优化范围了。一般的管理信息系统又常被称为数据库应用系统,它是以数据库为根底的应用系统,对信息数据的管理包括录入、修改、删除、查询、统计都是以数据库为根底的。数据库的设计、优化、实现是管理信息系统同时也是本系统最为重要最为核心的局部,是系统优劣的关键

51、。本系统的数据库结构设计共包括概念结构设计、逻辑结构设计和物理结构设计。4.3.1概念结构设计要点根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下根底。根据设计规划得出的实体有:学生实体、教师实体、管理员实体。1、系统学生成绩主要实体E-R图如下所示:图4-5 学生成绩实体E-R图图4-6 学生实体E-R图2、各实体之间的关系总E-R图如下:图4-5 各实体总体E-R图4.3.2逻辑结构设计要点注:下划线_代表主键,波浪线代表外键;学生表ID号,用户名,密码,姓名,性别,电子邮件,地址教师表教师ID号,用户名,密码管理员表管理员ID账号

52、,用户名,姓名,密码考试记录表考试编号,结果ID,题目ID,答案ID登录记录表登录ID号,用户名,状态,用户类型,登录IP,登录时间选择表选择ID号,试题ID,内容试题表试题ID号,科目ID号,题目内容,题目类型,分数,正确答案,答题时间考试结果表考试结果ID号,学生ID号,科目ID,分数ID,开始时间,结束时间科目表科目ID号,科目名称,创立时间,开/关状态,科目介绍,分数4.3.3物理结构设计要点本系统设计的数据库表共有18个,由于篇幅有限,下面只列举局部与教师端有关的表:1. 学生表student字段名数据类型可否为空描述studentiddecimal否学号主键usernamevarc

53、har(30)否姓名passwordvarchar(30)否密码addressvarchar(40)否地址sexvarchar(2)否性别emailvarchar(40)否邮箱 表4-7学生表2. 教师表teacher字段名数据类型可否为空描述teacheriddecimal(10,0)否教师号主键passwordvarchar(30)否密码usernamevarchar(30)否姓名 表4-8教师表3. 选择表options字段名数据类型可否为空描述optioniddecimal(10,0)否选择号主键questioniddecimal(10,0)否试题ID号contentTEXT否内容表4

54、-9选择表4. 科目表subject字段名数据类型可否为空描述subjectdecimal(10,0)否科目号主键namevarchar(30)否科目名timedecimal(5,0)否分数statedecimal(1,0)否开/关状态introTEXT否科目介绍sdatevarchar(10)否科目创立时间表5-1科目表5. 登录记录表loginlog字段名数据类型可否为空描述loginlogiddecimal(10,0)否loginlogId主键usernamevarchar(30)否用户类型successdecimal(1,0)否登录状态isteacherdecimal(1,0)否登录用户类型IPvarchar(15)否登录IPlogtimeDatetime否登录时间表5-2登录记录表6.考试记录表examrecord字段名数据类型可否为空描述examrecordiddecimal(10,0)否Id主键resultiddecimal(10,0)否结果idquestioniddecimal(10,0)否试题idanswervarchar(10)否答案 表5-2考试记录表7. 教师命题设置表createProLimits字段名数据类型可否为空描述idnu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论