《基于SSM的网络教学系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SSM的网络教学系统设计与实现.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科论文目 录摘 要IAbstractII引 言11 相关技术31.1 B/S架构技术31.2 Ajax技术31.3 JavaScript41.4 jQuery41.5 SSM框架41.5.1 Spring51.5.2 Spring MVC51.5.3 MyBatis51.6 本章小结62 系统分析72.1 需求分析72.2 系统用例分析82.3 非功能需求分析102.4 本章小结103 系统设计113.1 系统总体设计概念113.2 数据库设计123.3 本章小结184 系统实现194.1 开发环境194.1.1 软件194.1.2 服务器194.2 功能实现194.2.1 数据显示功能实现
2、194.2.2 添加数据功能实现204.2.3 删除数据功能实现224.2.4 修改数据功能实现234.3 本章小结245 系统测试255.1 测试计划255.2 测试用例255.3 测试结果265.4 本章小结26总结与展望27致 谢28参考文献29本科论文摘 要一直以来教学的方式大多都是在教室中学习,教师与学生的交流也多是在教室中,一旦来到课下,学生和教师的沟通就受到限制,不能很好的沟通与学习知识,由于网络的发展,学习方式也在发生改变,人们开始利用网络学习,利用每一个短暂的时间进行学习成了一种流行的学习方式,这种方式打破了时间和空间的约束,使人们在不同的地方都可以进行交流与学习。通过了解教
3、学业务流程,以及考虑到用户的需求等多种因素,本文系统使用SSM框架与B/S架构,并采用MySQL为后台数据库。该网络教学系统主要功能包含用户信息管理,文件资料管理,课程管理,论坛交流管理,系统公告管理,视频资料管理。本系统的突出之处在于实现了不同功能的分层管理,管理员和用户所设计的功能不同,功能与功能之间的关系梳理。通过使用本项目系统进行网络教学工作,可以使得业务的可操作性、实用性大大增强。具有运行效率高,操作灵活,使用方便等优点。本文详细介绍了B/S架构、JavaScript以及SSM框架结构。文中系统不仅扩展性较强,还具有较高的重用性。网络教学系统在功能实现、测试运行后,每个部分的功能都进
4、行了实现,满足用户的功能需求,这些都表明,本文网络教学系统所使用的功能结构可操作性强,运行稳定,适合并满足用户的操作需求。 关键词: 网络教学; B/S架构; SSM框架AbstractTeaching way has been mostly learning in the classroom, teachers and students of communication also is in the classroom, once came to class, the students and teachers communication is limited, cant very good
5、 communication and learning knowledge, due to the development of the network, learning styles are also changed, people began to use network to study, use of each a short time to learn to become a popular way to learn, break the time and space constraints, this way can make people in different places
6、 to communicate and study.By understanding the teaching business process, and considering the needs of users and other factors, the system in this paper USES SSM frame and B/S architecture, and MySQL as the background database. The main functions of the network teaching system include user informati
7、on management, document information management, course management, forum communication management, system announcement management, video information management. The outstanding point of this system is to realize the hierarchical management of different functions, administrators and users designed di
8、fferent functions, the relationship between functions and comb. Through the use of the project system for network teaching work, can make the business operability, practicality greatly enhanced. It has the advantages of high operation efficiency, flexible operation and convenient use.This article de
9、scribes the B/S architecture, JavaScript, and SSM framework in detail. The system not only has strong expansibility, but also has high reusability. After the function realization and test operation of the network teaching system, the functions of each part have been realized to meet the functional n
10、eeds of users. All these indicate that the functional structure used by the network teaching system in this paper is highly operable, stable in operation, and suitable to meet the operational needs of users.Keywords: Network teaching; B/S architecture; SSM frame引 言随着教育领域信息化的迅速发展,以及生活环境的突发事件的影响,网络教学系
11、统靠着不受时间和空间的约束,而越来越受到大家的喜爱,一个使用方便并且性能稳定的网络教学系统不仅能提高人们的工作与学习效率,也能让人们更加愿意去学习,从而达到提高知识水平的目的。当前,在国外有许多的网络教学相关的软件,有的是商业化的软件,也有的是开源免费使用的软件,网络教学在美国、英国和德国等发达国家己经发展多年,而且已经发展的比较成熟。据调查了解,澳大利亚网络教学的发展水平是比较高的,属于世界领先者。在整个国家中小学中差不多1/3的人在网络上不断学习,而达到适龄的学习人员中有超过1/5的人在网络上学习。网络学习已经成为了他们生活的一部分。根据调查信息可知,网络的应用在信息化的现在占有很大的地位
12、,它是在不断的改变着人们的生活方式,顺着趋势才能发展,而教育的信息化网络化是必然的国际发展方向。而对于国内的发展情况而言,近几年网络教学系统发展的确比较快速,但是总体使用上不如国外普遍,但有着比较大的发展潜力。为推进网络教学的快速发展,国家政府相关的教育部门在筹备和执行许多的规划,而且给予了高度的重视,把这视作是提高全民素质的重要举措。现在大多网络教学系统的开发都会去采用较好的框架技术,这些框架技术整合在一起并且互相之间还要进行通信访问。所以,如何保证网络教学系统开发程序的简单高效编写;如何保证整个网络教学系统的安全性等;如何拥有简单的开发与扩展形式;如何去适应复杂的Web 环境,而且要满足多
13、种多样的用户需求,并且提高系统效率,框架构建方案的探讨和实现就变得非常重要和有意义了。 使用J2EE开源框架开发的系统有成本低、容易扩展、耦合降低、便于维护的优点,它的应用非常广泛。因此使用J2EE开源框架搭建网络教学系统是一种有效的解决方案。现在J2EE开源框架的运用能实现系统的简易开发、维护方便。通过对现有的相关系统的业务分析,可以将设计的网络教学系统分为几个模块:用户、课程、学院、公告、作业测试、课程资料、论坛。在这些模块当中所有相关系统都有用户与课程资料模块,在实际的教学机构中系统用户角色是管理员、教师与学生13 ,不同的角色负责不同的功能:管理员负责整个的教务信息管理,整个系统的维护
14、功能;教师负责自己所属课程的相关内容的管理,并对参与课程的学生反馈信息进行管理;学生只有学习与反馈学习问题的功能。本文第1章是对系统采用的技术进行简单说明,其中主要有B/S架构、JavaScript、jQuery和SSM框架,并对SSM框架中的Spring、Spring MVC和MyBatis分别进行描述;第2章是系统分析,包括需求分析、系统用例分析等,系统用例分析中包括三个角色的工作流程图;第3章是系统设计,其中主要有系统总体设计概念和数据库设计,数据库设计是对这个系统的涉及到的实体进行分析来确定的;第4章是系统实现,其中包括功能代码实现与开发环境要求;第5章是系统测试,其中包括系统测试计划
15、、测试用例、测试结果,测试用例中对部分功能测试22 。1 相关技术1.1 B/S架构技术B/S架构是为了满足全球网络互连、信息共享和随时随地信息可见而产生的,它在浏览器端的界面设计要简洁。浏览器请求与服务器响应是它的工作形式。用户直接在浏览器上访问web服务器返回展现出的数据;而web服务器通过不同的方式与数据库连接,数据的实际存储多数都是在数据库中。整个工作模式简化了开发,而且减轻了用户使用电脑时的负荷,这也让软件后期的维护比C/S架构简单一些,从而在一定程度上减少了整个成本。该架构开发的软件维护与升级较为简单,现在软件的升级改进是比较频繁的,整个软件的管理只有服务器,浏览器不需要软件开发者
16、去管理。在这种架构下,用户只需要在构建的初期进行一次性的成本花费,不过在服务器的选用时要注意:当应用系统的用户不断增多时,应用范围变得的广泛,需要对其服务器的数量进行增加Error! Reference source not found.,不过总体比C/S架构节省了大量成本,这也在很大程度上代表着软件将来发展的趋势,B/S 结构也将是未来信息技术的主要发展方向。通过之前已有的分析,可得结论:B/S架构取代C/S架构的主要原因在于B/S架构维护软件方便,适用环境多,成本花费较低,适用于大用户群。1.2 Ajax技术Ajax技术是支持异步的2 ,更新部分页面数据,且不需要刷新页面,其中不需要任何的
17、插件,但是需要浏览器支持运行JavaScript。面对如今过多的数据、超重的网络负载、用户的长时间等待的问题,通过使用Ajax技术和Web应用程序模式,数据可以通过异步交互直接传输,有效地补充传统的数据交互Error! Reference source not found.。它通常使用JS脚本将接收端连接到后台,实现后台通信功能。它不仅不会影响运行速度,而且不会阻止对象的响应,而且用户可以很容易在不等待页面过载的情况下与服务器交互。这项技术的优点是它对用户友好,更容易安装、维护和开发。Ajax技术能够最大可能的减少冗余请求和服务器响应时间;此外,它的优点还有,在处理数据时不需要重新加载整个We
18、b页面,程序首先响应用户的操作,并避免向网络发送未更改的消息;此外,与其他工具不同,它不需要任何站点上的插件。1.3 JavaScriptJavaScript这种基于对象的解释性脚本语言有着诸多灵活的特点,例如,它无需提前编译,变量的数据类型也可以改变。而且JavaScript的语句也是非常简单容易理解的,在与浏览器连接和交互时,可以编写一些修改过的更简单的语法,API接口也有非常丰富的功能Error! Reference source not found.。用户可以在浏览器端直接查看代码,它会显示出页面的完整HTML标记。如果为了减少代码的重复,将部分源码提取放入到了外部文件中,也可以使用脚
19、本标注属性src,如此用户一样可以在浏览器看见代码。正是因为这个特点,所以在JavaScript中最好不要使用专用或者不便公开的算法。它是一种直译式的脚本语言,它不需要特定的环境进行开发,它都是基于浏览器运算和支持分布式运算的5 。1.4 jQueryjQuery是众多JavaScript 库之一,它在很大程度上简化了JavaScript 编程,是对JavaScript的再次封装,是一个轻量级JavaScript函数库。它的功能主要有:实现对HTML元素选取与操作8 ,实现对CSS操作,HTML事件函数,JavaScript特效和动画24 ,HTML DOM遍历和修改等,还有大量的插件。因此它
20、能提供大量的扩展。jQuery的操作和处理可以让用户的使用感更强。jQuery适应能力非常好,需要JavaScript应用的地方都可以使用它,而且它对Ajax的一些操作进行了较好的封装,在使用时只需简单的一行代码就可实现Ajax功能,这使得应用开发更加简单化。1.5 SSM框架 SSM框架是由三个分支框架组成的整体,将服务器端分成三层,Spring框架在业务层中,SpringMVC是在表现层中,则MyBatis是在持久层中,框架大体流程如图1.1所示。图1.1 SSM框架流程1.5.1 Spring开源框架Spring提供了一个简易的开发方式,该框架能适应多种呈现技术;它还提供了面向切面编程1
21、7 。该框架实现了表现层、业务层、持久层三层间的整合,为开发提供了灵活性。它的优势是:方便解耦,简化开发,通过Spring提供的IOC容器,可以将对象间的依赖关系交给Spring进行控制13 ;AOP编程的支持,有Spring的AOP功能,使之能更加方便的进行面向切面的编程;声明式事务的支持,通过声明式的方式灵活的进行事务管理,提高开发效率和质量;降低JavaEE API的使用难度,Spring对JavaEE API进行了薄薄的封装层,简化了开发者对数据库的操作。1.5.2 Spring MVCWeb模式的应用在Java程序中较多,作为轻量级JavaEE框架的Spring,有着自己的Web层的
22、展示,那就是Spring MVC Web框架,是非常好的MVC框架。在Spring MVC之前,社会上的中小型企业主要应用的框架为SSH;而现如今将Spring MVC框架代替了SSH,该框架主要用于构建基于Java的Web应用程序。Struts框架针对JSP技术提供了一套补充的标签库来完成页面中的动态功能,提升了JSP开发者的开发效率。Spring MVC是具有很高配置的主流框架,是Spring框架的一个子框架,在企业级开发中使用较多,可以根据开发人员的需求定制相应的功能,且可以通过注解的方式进行分离控制。它作为MVC框架是属于SSM框架中的一部分,它的作用是处理相应请求,还可以获取表单参数
23、,添加注解,定义拦截器的功能,大大的减少了前端和后端的耦合度,提高了页面开发的灵活性,可以提高代码的整合度21 。1.5.3 MyBatisMyBatis是持久层框架,它使用XML或注解来配置和映射原生信息4 ,它能很好的进行数据访问,支持定制化,它能提供SQLmap框架与数据访问对象。它的存在导致JDBC代码从手动写入到自动搜索;MyBatis运用专属的配置方法及其映射,通过接口自动保存,这样记录就可以很容易地映射到数据库,从而进行后续操作。 它的优势是,在主配置文件和映射配置文件之间对配置文件进行划分,而且配置文件被用来减少大量的JDBC代码。MyBatis的原理方面会稍微复杂一些,需要设
24、置和定义不同的配置文件,而且要对每个映射配置文件声明。虽然它对于SQL语句的执行在许多不同的地方的变化会比较繁琐,但在输出结果方面的速度会比较快,实例可以执行相对应的SQL指令,而且能实现数据库访问。由于该框架中开发者能实现自由编写SQL语句,因此能提高整个数据的读写能力与整个的响应速度。1.6 本章小结本章主要描述了在系统开发当中所使用到的核心技术,其中有B/S架构技术、Ajax技术、JavaScript、jQuery、SSM框架中的MyBatis、SpringMVC等技术,从系统的前端的技术到后台的框架以及数据库的连接等,都进行了详细的描述。2 系统分析2.1 需求分析在本文的网络教学系统
25、主要是对用户上传的数据进行管理分析再展现,也就是数据库的读取与写入。用户的整体需求主要是进行学习与资料相关的管理以及学习的反馈,要考虑到整个系统中的角色,从而有以下几个主要需求点。管理员登录:管理员21 登录后在系统中对教师和学生的信息进行管理,实现教师与学生的添加修改删除,也可实现批量导入,但是需要有一定的格式要求,不过再导入教师学生之前需要填学院信息,教师是有对应的学院的,添加完学院与教师之后,对课程进行添加,还有系统公告的管理,如何时开课,添加新的课程等。课程资料管理:教师登录后,对自己课程进行管理,上传自己的课程的资料,资料包括课程视频与课程文件资料,视频是学习相关,文件是学习的补充或
26、者是作业等,教师对视频学习发起讨论,让学生参与到这个话题讨论当中,查看学习的情况,还有对作业测试的发布,学生进行测试检验学习效果。论坛管理:教师登录后进行论坛的发布与查看参与,在发布时添加讨论主题与主要的内容,教师还可以对这个讨论进行修改删除和查看学生回复状态。学生登录后查看论坛,进入论坛参与到讨论中。其中主要是涉及到知识的学习状态情况反馈。作业测试:作业测试主要是对学习情况的检测,教师登录到主页后,进入作业发布,该课程作业发布后添加对应的题目,进行题目添加,教师也可以进行题目的修改与删除。学生登录跳转到主页后,进入完成作业,对应课程的作业发布情况展示出来,选择对应的作业测试进入,提交后将会看
27、见自己的测试情况。学生登录:学生登录后进入主页后能进行课程的选择,选择相应的课程添加到自己的课程中,在自己的课程中就能选择它的课程视频,进入课程视频后选择进入观看,就能实现在线观看视频,还有论坛与测试,完成了对应视频的学习之后,可以去进行讨论回复与作业测试,测试完之后可以查看自己的测试情况。最后可以对自己的信息进行修改。整个系统的功能概述,如图2.1所示。图2.1 系统功能概述2.2 系统用例分析系统用例分析以管理员、教师和学生三个角色用例为例,描述系统的总体用例实现。在系统总体用例图中:管理员能够进行学院管理,课程管理,公告管理,教师管理,学生管理,话题讨论管理;教师进行课件资料管理,实现课
28、程资料与视频的上传,作业测试管理,论坛讨论管理,个人信息修改,参与讨论;学生可以进行作业测试,学习课程视频与资料下载,参与讨论。如图2.2所示。图2.2 总用例图在系统用例图中共有三个角色:管理员、教师、学生。管理员能实现对学院信息的增删修查,可对教师学生信息进行批量导入以及信息的修改删除查看,可对个人信息进行修改,可对课程信息进行增加删除修改查看,可对系统公告编辑删除查询,还可对论坛内容查看浏览等。管理员用例如图2.3所示。图2.3 管理员用例图教师用例图,教师根据管理员添加的课程信息,在所属的课程下添加课程文件和课程视频,查询删除所属的课程文件和课程视频,并且新增讨论的主题与内容,还可对其
29、进行内容上的修改与删除,作业测试管理,对题目进行录入以及修改,个人信息修改等。如图2.4所示。图2.4 教师用例图学生用例图,根据查看课程信息添加课程到自己的课程中,在课程中进行课程视频资料的查看,选择相应的课程视频后进行在线观看,对上传的课程资料进行下载,查看公告信息,参与论坛讨论以及查看回复,完成作业测试,测试后查看自己的测试成绩,对自己的个人信息进行修改。如图2.5所示。图2.5 学生用例图2.3 非功能需求分析操作可行性:本系统主要用来管理教学,在操作界面的设计上非常简单,使其操作起来非常清楚明白。整个系统对数据库的操作都是基础性的,数据库的设计同样的简洁,没有过于复杂的方式,使其维护
30、时能更加方便。整个系统非常方便操作,用户只需要在电脑上安装一个浏览器,访问地址即可进行系统操作,而且对浏览器的要求很低,对电脑的配置也基本没有要求,整个系统只需要很少的内存空间,就可以运用本系统,简单、快速、有效的实现教学的管理学习。技术可行性:技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。本系统是用Java语言进行开发的,一般的电脑就能够满足系统的开发要求,主要原因是它占用内存较少,用MySQL 服务器数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存是相对较少。2.4 本章小结本章在需求分析中主要描述了课程管理功能、学生管理功能、教师管
31、理功能、作业测试功能的需求,在满足教学需求方面,提高系统的可操作性。在系统用例分析对主要的角色进行了描述。3 系统设计3.1 系统总体设计概念本系统使用的结构分布从用户界面到逻辑判断再到数据处理,其中用户界面处于表示层,这一层将为用户展示以网络教学为主题的页面及信息,而且要获得用户的请求信息;逻辑判断主要是是业务层的内容,对用户的操作进行验证并返回结果;数据处理则是在数据访问层,在这里能进行数据库的读取和数据存储。如图3.1所示。图3.1 系统逻辑结构图本文系统中主要有三个页面,其中第一个是面向学生的页面,第二个是面向教师的页面,还有最后一个是管理员页面。在学生页面中主要有观看课程视频、下载资
32、料、作业测试、话题讨论、个人信息修改;在教师页面中主要有上传课程相关视频资料、发布作业测试、发布讨论;在管理员主页主要有学院管理、学生教师管理、课程管理、系统公告管理等。如图3.2所示。图3.2 系统功能结构图3.2 数据库设计MySQL数据库的性能会受到一些因素的影响,比如使用的操作系统,硬件水平等,只是这些因素改变的范围比较小。但是数据库本身的结构在设计时可以自己控制,因此数据库在设计的时候要注意保证存储空间的尽量少,也需要保证数据的完整。但在设计数据库的时候首先需要清楚整个项目的需求,清楚项目中的整体关系,从而减少很多不必要的工作量。在系统的功能结构确定之后,需要将概念层进一步具体化。从
33、功能结构中确定整个系统中有多少实体,这些实体分别是管理员(admin)、教师(teacher)、学生(student)、学院(college)、课程(course)、视频(course_video)、文件(course_file)、公告(notice)、话题讨论(discuss)、讨论回复(discuss_post)、测试(task)、测试问题(task_question)、学生成绩(student_task),实体之间的联系可以根据具体的情况确定。同一个学院可有多名教师与同学,多门课程能同属一个学院。其中一门课程有多个课件视频与文档,也有多个讨论的话题。一个话题的讨论有多个回复。教师可以发布
34、多门测试。如图3.3所示。 图3.3 系统实体关系图根据系统的实体关系,能明确系统设计时的实体类,再根据需求设计出对应类应该有哪些属性和方法,在这些方法中就是对数据需要进行了一些实际操作,如增加删除查询等一系列操作。如图3.4-3.7所示。图3.4 系统角色类图图3.5 学院、课程、课件类图图3.6 公告、讨论、讨论回复类图图3.7 测试、问题、学生成绩类图根据类图和系统实体关系图能确定系统设计数据表有:管理员信息表、教师信息表、学生信息表、学院信息表、课程信息表、视频信息表、文件信息表、公告信息表、话题讨论表、讨论回复表、测试信息表、测试问题信息表、学生成绩表。下面是部分表的详细信息。教师信
35、息表。教师信息数据表中共有10个字段,分别是教师id、姓名、性别、学院id、电话、身份证、账户、密码、教师编号、课程编号,教师id为主键且自增长,除身份证字段外所有字段均为非空。如表3.1所示。表3.1教师信息表(teacher)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment教师idnameVARCHAR(50)Not null姓名genderINT(11)Not null性别college_idINT(11)Not null学院idtelphoneVARCHAR(50)Not null电话id_card_noVARCHAR(50)
36、身份证accountVARCHAR(50)Not null账户passwordVARCHAR(10)Not null密码numVARCHAR(50)Not null教师编号course_idINT(11)Not null课程编号课程信息表。课程信息数据表中一共有5个字段,分别是课程id、课程名称、学院id、课程编号、课程介绍,课程id为主键且是自增长字段,而且所有字段均为非空。如表3.2所示。表3.2 课程信息表(course)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment课程idnameVARCHAR(50)Not null课程名
37、称college_idINT(11)Not null学院idnumVARCHAR(50)Not null课程编号introTEXTNot null课程介绍话题讨论表。话题讨论数据表中共有6个字段,分别是话题讨论id、讨论主题、讨论内容、教师id、发表时间、课程id,话题讨论id为主键且自增长,讨论主题与讨论内容为非空。如表3.3所示。表3.3 话题讨论表(discuss)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment话题讨论idtitleVARCHAR(50)Not null讨论主题contentTEXTNot null讨论内容te
38、acher_idINT(11)教师idrecord_timeDATETIME发表时间course_idINT(11)课程id学院信息表。学院信息数据表中共有3个字段,分别是学院id、学院名称、学院介绍,学院id为主键且自增长非空字段,在对学院名称与学院介绍字段没有进行非空的约束。如表3.4所示。表3.4学院信息表(college)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment学院idnameVARCHAR(50)学院名称introTEXT学院介绍测试信息表。测试信息数据表中共有4个字段,分别是测试信息id、教师id、课程id、发布时
39、间,测试信息id是主键且自增长,而且所有字段均有非空约束。如表3.5所示。表3.5 测试信息表(task)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment测试信息idteacher_idINT(11)Not null教师idcourse_idINT(11)Not null课程idrecord_timeDATETIMENot null发布时间视频信息表。视频信息数据表中共有5个字段,分别是视频信息id、路径全名称、课程id、录入时间、教师id,视频信息id为主键且自增长,所有字段为非空。如表3.6所示。表3.6 视频信息表(course
40、_video)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment视频信息idpathVARCHAR(50)Not null路径全名称course_idINT(11)Not null课程idrecord_timeDATETIMENot null录入时间teacher_idINT(11)Not null教师id文件信息表。文件信息数据表中共有5个字段,分别是文件信息id、路径全名称、课程id、录入时间、教师id,文件信息id为主键且自增长,所有字段非空。如表3.7所示。表3.7 文件信息表(course_file)字段名数据类型(精度围)约
41、束条件其他说明idINT(11)Primary keyAuto increment文件信息idpathVARCHAR(50)Not null路径全名称course_idINT(11)Not null课程idrecord_timeDATETIMENot null录入时间teacher_idINT(11)Not null教师id讨论回复表。讨论回复数据表中共有5个字段,分别是讨论回复id、回复内容、话题讨论id、学生id、回复时间,讨论回复id为主键且自增长,所有字段为非空。如表3.8所示。表3.8 讨论回复表(discuss_post)字段名数据类型(精度围)约束条件其他说明idINT(11)P
42、rimary keyAuto increment讨论回复idcontentTEXTNot null回复内容discuss_idINT(11)Not null话题讨论idstudent_idINT(11)Not null学生idrecord_timeDATETIMENot null回复时间学生信息表。学生信息数据表中共有9个字段,分别是学生id、姓名、性别、学院id、电话、身份证、账户、密码、学生学号,学生id为主键且自增长,除身份证字段外所有字段均为非空。如表3.9所示。表3.9 学生信息表(student)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAut
43、o increment学生idnameVARCHAR(50)Not null姓名genderINT(11)Not null性别college_idINT(11)Not null学院idtelphoneVARCHAR(50)Not null电话id_card_noVARCHAR(50)身份证accountVARCHAR(50)Not null账户passwordVARCHAR(10)Not null密码numVARCHAR(50)Not null学生学号学生成绩表。学生成绩数据表中共有5个字段,分别是学生成绩id、学生id、作业测试id、成绩、完成时间,学生成绩id为主键且自增长,所有字段非空。
44、学生成绩表在数据库创建时没有使用物理外键,而是在开发中使用的逻辑外键。如表3.10所示。表3.10 学生成绩表(student_task)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment学生成绩idstudent_idINT(11)Not null学生idtask_idINT(11)Not null作业测试idscoreINT(11)Not null成绩record_timeDATETIMENot null完成时间测试问题信息表。测试问题信息数据表中共有9个字段,分别是测试问题id、题目、选项a、选项b、选项c、选项d、答案、作业测试
45、id、分数,测试问题id是主键且自增长非空。如表3.11所示。表3.11 测试问题信息表(task_question)字段名数据类型(精度围)约束条件其他说明idINT(11)Primary keyAuto increment测试问题idtitleVARCHAR(50)Not null题目item_aVARCHAR(50)Not null选项aitem_bVARCHAR(50)Not null选项bitem_cVARCHAR(50)选项citem_dVARCHAR(50)选项danswerVARCHAR(50)Not null答案task_idINT(11)Not null作业测试idscor
46、eINT(11)Not null分数3.3 本章小结本章主要描述了系统总体设计,对数据库相关设计内容进行了描写,根据类图以及系统总体间的关系设置对应实体类的数据表。并且对主要的数据表设计详情进行了描述。4 系统实现4.1 开发环境4.1.1 软件本文系统开发所使用的操作系统是Windows10,在Windows10系统中能实现分屏操作,因此在开发的时候能更加方便一些。本文系统使用的开发软件eclipse4.6.3,eclipse是一个应用开发平台,它是基于java语言的,而且开发源码,它还具有很好的扩展性,它能安装不同插件从而能进行多种语言的开发,如果想要进行其他语言开发,只需要下载对应语言的插件即可,添加的对应功能就是以插件的形式存在于它的核心上,eclipse的核心主要包括插件开发环境、java语言开发环境插件、图形API等21 。eclipse自带有Java开发工具JDK,但是在本项目开发中使用的是另外下载使用的JDK1.8。当JDK版本过低