基于J2EE的在线学习应用系统

 2021-12-29 20:58:30

论文总字数:28078字

摘 要

随着互联网的发展,计算机行业需要大量的计算机从业人员,吸引大量的人才加入计算机行业。而加入计算机行业的第一步是学习编程语言。目前互联网上已经存在不少在线学习编程网站,但是他们都是基于公司在运作的。而在学校,还没有出现辅助教师上课的在线学习网站,本项目希望能够在这一领域做一个尝试。

随着J2EE的多年发展,开源社区涌现了一系列优秀的开源框架,其中SSH框架是其中典型的代表,它提高了Java Web开发的效率,使得Web应用更加灵活、易于扩展。

本文主要阐述在SSH框架下,借助ACE、UIKIT前端开源框架开发在线学习系统的过程。其中包括需求分析、概要设计、详细设计、系统测试等方面[10]。

关键词:在线学习系统,J2EE,SSH,ACE

THE ONLINE LEARNING SYSTEM BASED ON J2EE

Abstract

With the development of the Internet, the computer industry needs a lot of computer professionals, and attracting a large number of professionals to join. the first step to join in the computer industry is to learn programming language . On the present There are a lot of online learning programming website , but they are based on in the operation of the company.In school, there is not online learning website that can assist teachers , the project hope to do a try in this field.

With many years’ development of J2EE, There are a series of excellent open source framework in the open source community , SSH framework is one of the typical representative among them, SSH improves the efficiency of the Java Web development ,makes Web applications more flexible, easy to extend.

This paper mainly elaborate process of the development of the online learning system based on SSH framework with the ACE, UIKIT framework including requirements analysis, general design, detailed design, system testing, etc.

Key Words: Online learning system , J2EE, SSH ,ACE

目录

摘要 I

Abstract II

第一章 绪论 1

1.1. 研究背景与意义 1

1.2. 在线学习系统的发展现状与前景 1

1.3. 本文作者为此所做工作 1

1.4. 本文结构 2

第二章 相关技术 3

2.1. C/S和B/S模式结构 3

2.1.1. C/S模式的结构 3

2.1.2. B/S模式的结构 3

2.1.3. C/S和B/S的比较 4

2.2. SSH框架 4

2.2.1. Struts框架 5

2.2.2. Spring框架 6

2.2.3. Hibernate框架 6

2.3. ACE编辑器开源库 7

2.3.1. ACE语法高亮的原理 7

2.4. JAVA动态编译 8

2.4.1. 编译运行JAVA源程序 8

2.4.2. 编译运行C 源程序 10

第三章 系统需求分析 11

3.1. 系统概述 11

3.2. 系统需求分析 11

第四章 系统总体设计与概要分析 13

4.1. 系统设计原则 13

4.2. 系统逻辑架构 13

4.3. 系统模块设计 14

4.4. 系统关键用例实现流程 15

4.4.1. 用户注册的流程 15

4.4.2. 运行代码的流程 16

4.4.3. 新增问题的流程 17

4.4.4. 新增作业的流程 17

4.5. 系统数据库设计 18

第五章 系统详细设计 20

5.1. 工程结构 20

5.1.1. SSH框架配置 20

5.1.2. 前端资源文件 24

5.2. 系统主要用例的详细设计 24

5.2.1. 用户登录 24

5.2.2. 编辑区-运行代码 25

5.2.3. 讨论区-新增问题 26

5.2.4. 作业区-添加作业 27

第六章 系统测试 29

6.1. 功能测试 29

6.1.1. 链接测试 29

6.1.2. 表单测试 29

6.2. 兼容性测试 30

6.3. 安全性测试 33

第七章 系统总结与展望 34

7.1. 总结 34

7.2. 展望 35

致谢 36

参考文献 37

绪论

研究背景与意义

随着互联网近十几年的飞速发展,人类开始全面进去信息时代,互联网改变了人们的许多习惯,譬如网购、打车、社交等等,这当中也包括了学习习惯。书籍几千年来一直是人类传道授业的媒介,记载着人类几千年的文明,现在仍然是人类获取知识的主要途径,然而随着科技的进步以及知识的高速更新,传统的书籍已经无法满足人们的需要。所以在线学习应运而生,利用互联网作为通信的媒介,对教育资源实现了实时的更新与共享,利用互联网的优势,使人们学习可以不受时间、地点、进度的影响,个性化定制自己的学习计划。

计算机是一门强调实践与理论相结合的新型学科,Java、C /C是学习计算机学科必备的编程语言,也是当前运用最广的编程语言,据TIOBE 发布2015年5月编程语言市场份额报告,Java、C、C 市场份额位居前三,分别是16.87%、16.85%、7.9%[1]。对于初学者而言,学习这两门语言的难度是相当大的,复杂的编译运行环境无疑增加了初学者学习的难度,对很多大一新生而言,编程语言是个全新的概念,不少学生大学前并没有接触过编程语言。所以开发一款基于B/S的具备在线编译运行代码的学习系统是非常必要的,可以让初学者忽略复杂的环境配置,专注于编程语言的学习,更快的写出HELLO WORLD,有助于提高初学者的学习自信和兴趣。

在线学习系统的发展现状与前景

随着互联网的发展,尤其是移动互联网的快速发展,市场需要大量的计算机人才,也吸引了大量非计算机专业出身的人才加入,然而计算机技术尤其是互联网技术更新速度快,计算机从业者需要持续学习,非计算机出身人才需要学习计算机编程知识。因此国内外诞生了许多在线学习网站。国外的Codecademy学习网站是一种基于B/S互动式编程学习系统,发布三天就吸引了20万用户加入,目前用户数量已达到2400万[1],其优点是免费,交互式编程,学练结合,可以快速提高初学者的编程能力。缺点是在教学方式上,Codecademy网站通过设置任务引导初学者学习的方式教学,纯文字的形式比较枯燥,缺乏观赏性。另外其提供的课程以Html、Javascript等前端语言为主,没有涉及C/C 、Java基础性语言。国内的慕课网在Codecademy的基础上加入了视频教学,丰富了教学的方式与内容。

随着计算机的普及,编程语言的广泛应用,未来越有越来多的人学习编程语言,编程将成为服务于工作的一种工具,将会吸引大量的人学习编程,国内外的在线学习系统将不断更新完善满足社会的需求。

本文作者为此所做工作

  1. 在项目之前,本人在阿里巴巴实习,参加了手机淘宝基于WebX框架的埋点验证平台的开发,通过该项目我接触到了J2EE的开发框架,深入学习了JAVA语言。通过查资料了解了当前的一些J2EE开发框架。
  2. 在网上查询资料,了解与本系统相关的背景,技术。
  3. 在线学习系统的现状、前景,以及相关的实现技术。
  4. 在查阅资料后,发现SSH框架是当前运用最广,文档最全的基于MVC的Web开发框架,所以决定采用SSH框架开发在线学习系统。
  5. 在系统开发前,我系统地学习了Struts2、Spring、Hibernate,深入了解三者的实现原理,优点。
  6. 由于需要实现一个带有高亮的代码编辑器,我查询大量的资料后发现ACE开源编辑器具备110种编程语言的高亮,所以采用它作为前端编辑器的框架。
  7. 搭建一个基于SSH框架的Demo,在你系统学习完SSH框架后,我搭建了一个简单的登陆功能的Demo,实现了前端表单提交,后端struts2拦截,Action获取表单数据,通过Spring IoC依赖,调用Hibernate存取数据。
  8. 与导师讨论,在导师的指导下,得出更详细的需求,并用软件工程课上学习的方法对需求进行完整的分析。
  9. 进入系统开发阶段,先完成前端界面的设计,然后在写后台。

本文结构

第一章,主要介绍在线学习系统的背景、现状、意义、以及本文作者所做的工作。

  1. ,主要介绍系统相关的一些技术,J2EE、SSH框架、ACE编辑器,UIKIT的实现原理,主要特点等。
  2. ,主要介绍在线学习系统的需求分析,通过选取关键的用例,用用例图详细地演示不同角色的操作流程。
  3. ,主要介绍系统的设计原则、逻辑架构、功能模块以及数据库操作。
  4. ,主要介绍系统关键用例的详细设计。
  5. ,主要介绍系统部署以及现实的效果。
  6. ,总结与展望。

相关技术

C/S和B/S模式结构

随着计算机技术的多元化发展,用于开发软件的架构、技术种类繁多,它们各有各的优缺点,各有各的应用场景。其中主流开发结构分为C/S(Client/Server)和B/S(Brower/Server)两种结构,本系统采用的是B/S结构。本章将简要介绍这两种模式,以及分析它们的优缺点,以及实现B/S结构的SSH框架、前端框架。

C/S模式的结构

C/S结构是基于客户端/服务端的结构,其采用C/S结构的软件可以将应用任务分解成多个子任务,由多台计算机共同处理任务。服务器端完成数据库操作的核心功能,客户端完成数据运算,渲染界面的功能。这是一种客户请求数据、服务器提供数据的系统架构。

  1. C/S架构软件的优势
  2. 充分发挥客户端的计算能力。把数据的处理,显示分给客户端,服务端负责数据库操作。当客户端需要调用数据库存取数据时,向服务器发出请求,服务器程处理客户端的强求,返回结果给客户端,这大大减轻了服务器的压力。
  3. 安全性和稳定性。其数据库可以在客户端也可以在服务器端,客户端并不完全依赖服务端,所以在无网络的时候依然可以使用。
  4. 由于客户端与服务器直接连接没有中间环节,因此可以快速响应用户的请求。
  5. 用户界面多样化,可以充分满足不同用户的不同需求。
  6. C/S架构软件的劣势
  7. 在使用之前必须安装客户端程序,不能够实现快速部署安装和配置。
  8. 兼容性差,需要基于不同的操作系统重写不同的客户端,且客户端一旦出现BUG,需要提醒用户更新,难以实现同步更新。
  9. 开发成本较高,开发难度比B/S大,需要具备一定专业技术的人才能完成开发。

B/S模式的结构

B/S结构是基于(浏览器/服务器)结构[2],随着互联网技术的高速发展,传统的C/S结构不能满足人们的需要。在这种结构下,前端浏览器负责用户界面与部分业务逻辑的实现,但服务器端负责主要业务逻辑的实现。无需为每个平台开发一款软件,节约了开发成本,是一种全新的系统架构。 目前,越来越多的软件移植到了B/S结构上。

  1. B/S架构软件的优势

(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理[2]。 

剩余内容已隐藏,请支付后下载全文,论文总字数:28078字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;