第一章 课题相关介绍
1.1 计算机网络与通信技术课程介绍
《计算机网络与通信技术》是一门详细解说计算机网络和数据通信的一门课程,它主要讲了其基础知识概念、原理、相关技术以及实际应用,反映出当前计算机网络和数据通信的发展现状。其内容有:计算机网络基本概念、数据通信基础、局域网、通信网与广域网、网络体系结构、Internet、互联网技术、网络操作系统、网络管理及安全技术、网络综合实验等内容。这门课程内容相当严谨与丰富,让我们对计算机网络和数据通信两个模块有了深入了解,其主旨也重在强调理论联系实际,帮助我们更好地理解知识[19]。
当前信息技术飞速发展,计算机网络技术、通信技术也获得飞速发展,对此的研究与学习也越来越普遍,使之成为了一个新兴的科学技术研究领域。计算机网络与通信技术是紧密相关的,两者互相联系构成了交叉学科和自己独立的理论体系结构。
计算机网络这门课程里面专业术语比较多且抽象,内容枯燥,基本概念也多,协议多。计算机网络与通信这门课程理论性,实践性,应用性都特别强,因此,这门课程要求理论联系实际能力比较强,但该课程重点多、学时少、内容多,知识点比较难以掌握。为了突破传统教学模式和方法,更好的培养学生的理论分析能力、实际操作能力、独立思考能力以及创新精神,有必要对该课程的教学内容、教学手段和方法以及实践教学等进行改革尝试与实践,以帮助学生提高计算机网络应用和实践能力。
[2]
1.2慕课的相关介绍
1.2.1 慕课的发展和背景
第一个MOOC平台大约出现在2011年,美国斯坦福大学教授塞巴斯蒂安·史朗把他研究生水平的人工智能课程放在了互联网上,从而吸引了来自190多个不
39 页 第 1 页 共
南华大学计算机科学与技术学院毕业设计(论文)
同国家的160,000名学生。接下来的一年,几个资金实力雄厚的投资商与顶尖大学合作,包括Coursera,Udacity,EDX等,不断改变着MOOC教育的面貌。
2012年9月,Google发布了一个制作MOOC的工具。斯坦福大学建造了一个名“Class2Go”的网络课程平台,截止2012年12月已有两个课程上线[21]。
2000年之后出现了一种教育模式,即大量公开免费线上教育,它的理论基础深深根植于信息时代之前,仔细研究可发现其理论基础出现于20世纪60年代。在20世纪六十年代那会,美国的科学家巴克敏斯特发表了一个演讲,演讲的中心思想是工业化规模的教育科技。与此同时,美国的发明家恩格尔巴特也提出一个研究课题,其主题是“扩大人类智力之概念纲领”,这个研究强调的是发现利用计算机辅助学习存在的可能性。在二十一世纪初,大卫教授开设了初期的大型开放式网络课程,这个课程是开放给全世界热爱钻研学习、有兴趣钻研学习的人来参与的,它是一种研究生进修课程。其实它刚出现的时候来学习的人并不多,仅仅只有5名研究生选修,但后来随着它的优点不断被人们挖掘,便发展成了来自多个国家多名学生选修的课程。在第二年,首次提出了这个概念,由戴夫 Cormier与布莱恩亚历山大教授提出[20]。之后,美国斯坦福大学一个教授将人工智能研究水平的课程放在了网上,吸引了近两百个多个国家约十六万名学生来注册学习,这使得大型开放式网络课程取得重大突破。因此,美国一些比较优秀的大学开始纷纷建立各种网络学习平台,将各个学校的课程发布到网上供学生免费学习,之后各大投资商抓准机会与各大高校合作,制作出各种网络学习平台,其中最突出的是Coursera、Udacity、edX这三大慕课平台,因而给更多学生提供了获得系统学习的机会。在去年2月份的时候,新加坡的一所高校与美国一家著名公司Coursera合作,加入了研究大型开放式网络课程平台的战队,以获得共同长足发展[23]。慕课从最初的思想萌芽到发展壮大,经历了很多年,发展也越来越迅速,在未来势必将引领全球教育茁壮成长。
慕课的兴起,给传统教育带来了巨大的冲击,学习不再受时间、空间、地点的限制,无论谁,只要通过电脑或其他上网设备、网络就能学习和授课,甚至可以与全世界的人们一起学习,通过学习与全世界的人联结起来,这是过去难以想象的。而在慕课兴起之前就有许多学校和公司机构在在线教育这一块进行过大量尝试,但结果却尽不如人意:比如大学公开课,曾经风靡一时的一种教育模式,
39 页 第 2 页 共
南华大学计算机科学与技术学院毕业设计(论文)
它的出现非常迅速,消退速度却也极快,导致它并没有给人们的教育带来任何影响;又如纽约大学曾经开办的的“纽约大学在线”、美国坦普尔大学开办的“虚拟坦普尔”,两者均在开办几年后由于没有学生来源而被迫关闭;再如提供网络学位教育的网络大学,曾经也十分火爆,现在却面临招生困境[26]。其实慕课的兴起并不偶然,在这个网络技术发展越来越快的时代,落后的传统教育却一直为人们所青睐,高等教育的成本也逐渐出现大幅上涨的趋势,未来职业教育需求也面临困境,这一系列的原因使得慕课出现成为必然。而针对这些问题慕课做出了改进,将原来不符合现状的在线教育、传统教育去粗取精,形成现在大众喜爱的教育模式。
为何慕课如此被现代人所喜爱,其原因如下:第一,课程学习没有地点时间限制,全球的学习者都可以在网上进行学习,学习者人数是相当巨大的。第二,课程内容可以自由传播,课程来源非常广泛,且大部分都是免费,我们可以随意向别人介绍,使更多的学者来学习。第三,实际教学方式多种多样,并不仅仅局限于视频授课,它是同时横跨多种平台的一种教学,但是这种课程对学习者提出了一个要求便是希望参与者能够按照课程的时间进行有计划的学习,以便获得最好的学习效果[11]。慕课是一种新颖的学习和教学方法,具备的优点有:学习资源丰富;易于使用;费用低廉;绝大部分免费;自主学习;笼盖人群广[27]。
1.2.2 慕课的研究现状
慕课作为目前热门的一种教育方法,它拥有大规模和开放性的特色,它也成为国内外教育界的一个研究热点,各种正式的和非正式的学术研究和言论接踵而来。实际上深入分析慕课是必不可少的,这是由慕课实际发展的需要和可持续发展的需要所决定的。
通过一些学术文献对慕课当前的研究状况进行分析,可以分两个方面: 1、研究主题分布及特点
研究主题分布分为慕课的可能性及对高等教育的影响;慕课平台的技术特征;慕课课程的对比剖析;慕课在各阶段教育中实际运用的初步探讨。研究主题的特点是:第一,与慕课本身相关;第二,联通主义是慕课当前主要的理论基础,同时它是慕课当前成长近况中的主要特点;协作学习、远程教育与慕课的涌现和发展紧密相关;对慕课技术发展的关注来自于自适应查询调度等关键词;仅有5
39 页 第 3 页 共
南华大学计算机科学与技术学院毕业设计(论文)
个高频关键词,显得单调、贫乏[28]。
2、研究与实践的特点
慕课研究和实践都处在早期,存在很大的上升空间。而研究和实践是密不可分的,两者的特点和问题研究也密不可分。总的来说,慕课的相关研究与实践当中,有以下几方面要注意:
研究广度和深度需要提高,研究欠缺综合性、透彻性,这也体现出了相关实践在积累上的缺少。慕课实践在广度、深度上的缺乏制约了研究的发展。在国内外研究慕课的相关文献中都体现出了这一特点。
研究者与实践者从一开始就注意力就集中在高校,当然这样保证了研究成果的学术水平,但同时限制了研究视野。随着企业、远程教育机构等的加入,相关研究与实践都将更丰富多彩。
企业介入是慕课近些年发展的一大现状。企业灵敏的的感知到慕课的商业价值。因此企业的加入给慕课提供了盈利模式、技术平台等等,能够给慕课开辟新的发展愿景,但同时我们也要警惕过度商业化给慕课研究和实践带来的阴影[6]。
1.3 主要的研究目的及内容
本课题研究的主要目的是探讨慕课是如何实现大规模的网络教学,使在线学习更加清晰,透明,易于操作,易于管理。通过多个功能模块组合实现不同的管理细节,实现最大程度的信息化与自动化。慕课作为一种新兴的被人们广泛推荐的课程模式,主要是因为它的课程结构比较完整,首先,它能够让我们自由选择自己想学的课程,其次,我们能够根据网上发布的课程时间来选择我们上课的时间来学习课程,同时与老师交流问题,在课后也可以通过一些习题的练习来巩固知识。传统的在线学习规模小、闭塞、受限制多,不利于课程的学习,而慕课具有如下优势:1、高校规模化、教师规模化、学生规模化和投入规模化等;2、对学习对象的开放、对教学形式的开放、对课程内容的开放、对教育理念的开放等;3、时间的网络化、地点的网络化、主动学习的网络化、数据挖掘的网络化等;4、课程组织方式的创新性、课程内容的创新性、学习方式的创新性、课程评价的创新性。因此,系统开发要完成的任务是实现在线学习的智能化、网络化、开放化和网络化,以此来达到提高在线学习效率的目标。
39 页 第 4 页 共
南华大学计算机科学与技术学院毕业设计(论文)
1.4 研究方法
通过一系列研究方法,全面透彻的了解慕课并设计一个简单的慕课系统。方法有:
1、 文献研究法。何谓文献研究法,即指通过大量阅读文献资料,对资料进行深入研究,以此来全面、正确的了解和掌握所要研究的课题,再通过分析、归纳和综合文献,在现有研究成果的基础上形成系统的理论基础和整体结构,然后借助工具进行搜集、加工和整理,形成自己需要的东西。
2、理论与实践相结合的方式。首先分析系统的需求,然后对各种开发平台、环境、语言、技术进行分析,选择比较适合的开发方案。
3、建模。利用UML建模方法进行建模设计和分析,调试,实现系统的具体功能。
4、系统剖析和逻辑辩证剖析相结合。系统剖析是指用系统性的整体思想来研究和分析有关对象和联系的方法;而逻辑辩证剖析法是按照事物本身存在的发展规律,用判断推理的逻辑方法揭示事物的内在规律以及概念与概念之间联系的一种复合的分析方法。
39 页 第 5 页 共
南华大学计算机科学与技术学院毕业设计(论文)
第二章 系统分析
2.1 需求分析
2.1.1 需求定义
1、功能需求
系统是一个基于JSP与数据库的在线学习系统,通过浏览系统,获取课程信息,报名课程进行学习,利用系统提供的功能辅助学习的服务。
用例图是一种动态视图,由三个元素组成:参与者Actor、用例Use Case、参与者与用例之间的相互关系,这三个元素描述了系统的功能。用例图被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了参与者和用例及它们之间的关系,主要用于对系统、子系统或类所具有的功能行为进行建模。
下面将使用用例图来定义系统的主要用户的功能: (1)如下图系统管理员的用例图,系统管理员的功能有:
Ⅰ 系统用户信息管理(登录密码修改,信息修改删除,用户增加); Ⅱ 课程公告管理(公告修改,公告删除,发布公告);
Ⅲ 课程资料管理(课程资料修改,课程资料删除,课程资料添加); Ⅳ 测评资料管理(测评资料修改,测评资料删除,试题添加); V 在线答疑管理(发帖删除,回帖删除); VI 注册用户管理(注册用户删除)。
39 页 第 6 页 共
南华大学计算机科学与技术学院毕业设计(论文)
图2.1 系统管理员用例图
(2)如下图注册用户的用例图,注册用户的功能有: Ⅰ课程(查看课程,学习课程);
Ⅱ答疑(查看帖子,发布帖子,回复帖子); Ⅲ测评(查看试题)。
图2.2 注册用户用例图
2、性能需求 (1)服务器端:
硬件:处理器:因特尔 奔腾 P6200 内 存:512M 或更大 硬盘:120G 或更大
软件:Windows 7、MyEclipse、MySQL
39 页 第 7 页 共
南华大学计算机科学与技术学院毕业设计(论文)
(2)客户端: 硬件:能联网即可
软件:Windows 7系统、浏览器IE 6.0 或更高版本 3、开发环境需求
采用JSP技术,安装JDK、Tomcat、Myeclipse作为开发平台,使用MySQL、Navicat作数据库工具,另外在开发过程中会用到一些相关的辅助技术,如:CSS,Servlet,JavaBean。
2.1.2 系统流程
本系统主要是实现注册人员在线选择课程进行学习,在线交流,课程试题查看等功能。因此,主要的模块包含:课程管理模块、在线答疑模块、测评管理模块、用户登录模块、管理员管理模块等。系统主要实现注册人员网上学习,管理员管理的功能,对应不同的成员完成不同的功能,各自拥有各自的权限,因此将系统整体流程划分为如下:
图2.3 注册用户网上学习流程图
在注册用户进行网上学习的流程图中,注册用户权限的操作有用户信息修改,查看课程公告,学习课程,课程答疑交流,查看课程试题等等。
39 页 第 8 页 共
南华大学计算机科学与技术学院毕业设计(论文)
图2.4 管理员基本操作流程图
在整个系统中,管理员拥有最大的权限,他能查看系统所有信息,对系统进行管理。如人员注册,增删查改,对课程的操作如课程公告发布,课程资料发布,还能够发布试题等等。在各个模块管理员都具备一定功能。
2.2 开发工具分析
2.2.1 JSP技术
JSP,即Java Server Pages,是一种基于Java Servlet和Web开发技术,
整个Java系统,并使这种技术的使用可以创建先进、安全、快速、跨平台的动态Web站点。它可以建立一个JSP页面通过添加Java程序部分和JSP标记传统Web页面的HTML文件。当Web服务器接收到请求的Web页面,首先要做的是实现程序片段,然后返回执行结果客户格式的HTML。程序片段可以操作数据库、发送电子邮件等所需的动态Web特性[7]。
JSP是由Sun Microsystems公司与其他公司共同建立的动态网页技术标准,JSP作为一种动态网页技术,使开发人员比较容易创建并维护动态网页,JSP作为Java技术的一部分,可以迅速开发出以Web为基础同时又独立于平台的应用软件程序。它能将用户显示界面与系统内容分离,使设计人员改变整个网页布局时不改变底层动态内容[13]。
39 页 第 9 页 共
南华大学计算机科学与技术学院毕业设计(论文)
JSP动态网页技术中动态是指能与服务器进行实时互动,简单理解为一个等式,即JSP=Java+HTML,意思是JSP是在HTML网页程序的Java入门。JSP是在服务器端执行,返回给客户端HTML文本,因此客户端只需有浏览器就能访问程序。
JSP技术是Servlet发展起来的,自从出现了JSP,它就在Java服务器端的编程中被普遍利用,而由于它是构建在Servlet之上的技术,所以它具备了Servlet的强大功能。JSP是基于Java的一种技术,具备良好的可伸缩性,它集成了多种组件,在多个方面促使了动态Web页面的开发。JSP具备一些独特的特点:(1)将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标记来 设计和格式化最终页面,使用JSP标记或者脚本片断来生成页面上的动态内容;(2)程序的执行效率高。JSP页面将被编译成Servlet并由Java虚拟机执行,编译过程只在JSP页面第一次执行时进行,不需要每次执行程序时 都编译;(3)对不同浏览器的兼容;(4)强调可重用的组件;绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的更为复杂的处理;(5)采用标记简化页面的开发;(6)可扩展性。通过开发定制化标记库,JSP技术是可以扩展的;(7)具有Java的所有优点。包括高效的存储管理、安全性、易扩充性、强大的数据库支持以及各种API的支持。作为Java平台的一部分,JSP拥有Java语 言‘“一次编写,随处运行”的特点。JSP + JavaBean可以在所有平台下通行无阻,而且从一个平台移植到另外一个 平台,JSP和JavaBean甚至不用重新编译[8]。JSP与Microsoft的PHP、ASP技术既有相同点也有区别。相同点有:1、它们三者均为动态网页开发技术;2、JSP、PHP、ASP提供了在HTML中混合其它程序代码程序代码的能力。3、在JSP、PHP、ASP环境下,HTML代码、程序代码各司其职,前者负责描绘信息的显示样式,后者则负责描绘处理逻辑。4、一般的HTML页面只是仰赖于Web服务器,而JSP、PHP、ASP页面必须要附加额外的的语言引擎分析代码和程序执行代码,而最后代码的执行结果会被重新嵌入HTML,最后传送给浏览器。5、JSP、PHP、ASP三者均面向服务器,客户端浏览器不需其余附加软件的支撑。区别有:1、JSP使用Java作它的脚本语言,而ASP则是使用VBScript。2、JSP、PHP、ASP这三种
第 10 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
语言的引擎处理页面嵌入程序代码的方式迥然不同。3、在JSP技术里,程序代码都会被编译成Servlet,最后由Java虚拟机来执行,编译操作也只需在第一次请求JSP页面时操作,因此运行速度相对来说快一些;而在ASP技术里,VBScript代码被ASP引擎解释执行,并不会被其他技术编译[10]。
2.3.2 MyEclipse
MyEclipse开发工具是对Eclipse的扩展,它可以尽最大限度整合JavaEE、服务器、数据库方面的开发,大大提高开发的效率。MyEclipse是一个非常良好的Eclipse插件集合,可以用于建构Java、J2EE,它的功能是十分强大的,也具备十分遍及的支撑性能,尤其是对各类开源产品的支持。因此,应用价值比较高,它集成了功能丰富多样的JavaEE,功能广泛,既包括了完备的编码、调试、测试、发布等功能,还囊括了完全支撑HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate等的功能。
在Eclipse中包括了许多的功能部件,因此它给模块化编程提供了巨大的便利,为开发也提供了实用性。MyEclipse结构上的模块化同样也使得它在开发过程中并不影响其它模块的使用,能够对每一个模块进行单独的扩展和升级[14]。
在结构上,MyEclipse的特征被分为7类:WEB开发工具、EJB开发工具、JavaEE模型、应用程序服务器的连接器、JavaEE项目部署服务、数据库服务、MyEclipse整合帮助。而每一种功能在Eclipse里都可以通过相应的插件来实现相应部分的功能,MyEclipse结构上的模块化可以让我们对任意模块进行单独的扩展和升级而不影响其他模块。
简而言之,MyEclipse是隶属于Eclipse的插件,但同时它也是一款功能强大的JavaEE集成的开发环境,能够支撑代码的配置、编写、测试和除错。
2.3.3 Mysql数据库
MySQL是一个目前被广泛使用的小型数据库管理系统,它属于关联式的数据库系统,它具有开放源码的特性。MySQL作为当前运行速度最快的SQL语言数据库,大多数中小型网站都在使用它。而且是当前运行速度最快的的SQl语言数据库。MySQL之所以如此受追捧是因为其具有速度快、体积小、总体成本低、开放源码等特点,许多中小型网站因为这些特点而选择MySQL作为网站数据库,以此来降低网站总体成本[17]。
第 11 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
与其他一些相对比较大型的数据库来说,MySQL也存在一些缺陷,如规模偏小、功能偏少等,但是这些缺点并没有减少它受欢迎的程度。对于广大中小企业和个人用户来说MySQL提供的功能已经足够多,再者MySQL是开放源码的,因此它可以大大降低总拥有成本。目前网络上流行两种网站架构方式,均是采用MySQL来做数据库,由此可见,MySQl是被大多数人喜爱的。
MySQL系统具有如下一些特性:
1、利用C语言和C++编码而来,经由多种编译器测试,因而确保了源代码的可移植性。
2、支持Windows、SunOS、Solaris、Linux等操作系统。 3、支持多个用户同时使用,并能充分利用到CPU资源。 4、为许多编程语言提供了API。
5、优化了SQL的查询算法,提高了查询速度。
6、提供多种语言的支持,常见的编码方式有中文Utf8、gb2312等,还有多种外语编码方式。
7、既能够作为一个单独的应用程序被用于客户端的服务器网络环境,也能作为一个库嵌入到其余软件中进行使用。
8、提供JDBC、TCP/IP及ODBC等数据库连接的方法。
9、提供一些能够帮助数据库操作的管理工具,如管理操作、检查操作、优化操作等。
10、可以处理比较大型的数据库[22]。
2.3.4 JDBC
JDBC,即Java Data Base Connectivity,Java数据库连接,JDBC是一种Java API,由一组用Java编写的类和接口组成,主要用来执行SQL语句,它也能给多种关系数据库提供统一访问。JDBC为数据库的开发提供了一个具有一定准则的API,由此可以开发出更高级的接口和工具,使开发数据库的工作人员能够编写出数据库应用程序。JDBC的存在,使得在使用数据库时变得简单方便,只需向关系数据库发送SQL语句便可使用数据库,因此不必为了访问数据库而特意写一个程序[19]。由于Java具有各种平台的适应性,因此将它与JDBC连接起来能够使程序员只需写一次就可在任何平台运行,更加简洁方便。
第 12 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
Java具有一系列特性使得它被人们广泛用于编写程序,而数据库应用程序也不例外。而JDBC在这之间的用处则是Java应用程序同种种数据库之间进行对话的方式。随着使用Java编程的开发人员越来越多,对从Java方便地访问数据库的要求也在逐渐增加[23]。
实际上,JDBC的用途其实可以简单的归纳为与数据库建立连接、发送SQL语句以及处理结果。针对这些用途JDBC具有三个特点,即JDBC是一种低级API接口;JDBC支撑数据库访问的两层模型和三层模型;JDBC保持SQL的一致性。
2.3.5 B/S模式分析
B/S,即Browser/Server,浏览器/服务器。B/S模式即浏览器和服务器模式,它是随着信息技术的兴起,在C/S模式应用基础上变化或改进的模式。在这种形式下,用户的工作界面是由浏览器实现的,它只有一少部份事物逻辑在前端实现,其它的事物逻辑主要都在服务器端实现。B/S模式是以文本技术为基础,将传统的C/S形式中的服务器部分分解成数据服务器部份或一个或多个应用服务器部分,分解之后组成一个三层布局的客户服务器体制。在此之前的主机/终端模式和C/S模式都不能满足当前网络的开放性,互连性,信息可以在任意情况下可见的现状,因而出现了B/S模型。它最主要的特点是:使用者能够通过各种浏览器来访问Internet上的图像信息、文本信息、数据信息、声音信息、动画信息和视频点播信息,而这些信息是由大量的Web服务器通过各种方式与数据库服务器连接,访问数据库获得的,由此可知,最终数据还是存放在数据库服务器中。
B/S模式既有优点,也有缺点。最大的优点是运行维护起来比较简便,改变网页就能实现用户的同步更新,并且能够实现不同的人、不同的地、不同的接入方式来访问数据或操作数据;其次是具有分布性,能够随时随地查询业务、浏览业务;第三个优点是业务扩展简便,能够通过增加网页来增加服务器功能。第四是共享性强,开发简单。相对地,最大的缺点是太过依赖企业外网环境,特别容易引起企业外网中断而导致系统瘫痪;其次,个性化特点降低,不能实现个性化的功能需求;第三个特点是现有的以鼠标为基础的操作方式并不能满足快速操作的要求;第四是页面进行动态刷新的响应速度降低了;第五,分页显示的无法实现导致数据库访问压力巨大;第六是功能减弱,难得实现传统模式下的特殊功能。
[27]
第 13 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
第三章 系统概要设计
3.1 系统设计原则
1、页面模块化
把页面中常用的部分集成模块,设计新页面时只需拿现成的模块进行组装。 2、后台维护与前台页面显示分离开来
将后台系统管理员对整个系统的维护模块和前台用户浏览信息的模块分离开来,然后数据统一保存在同一个数据库,使得系统管理员既能管理维护数据,用户也能方便浏览。
3、网页活动配置
首页复杂多变,不能形成规律,所以只能对抽象部分进行规律提取,所有的前台页面由后台的管理程序进行处理。
4、本系统的主要功能
前台页面主要提供课程的基本信息,包括课程简介,学习网址,试题信息,注册用户在线交流等信息,该部分内容是系统显示信息的框架。后台系统提供管理员对系统的维护、信息发布和信息更新。在后台系统中应对用户权限进行一定限制,需要确认身份登录才能进入使用[24]。
3.2 系统功能模块设计
将系统功能划分为前台和后台,因此模块分成两大类:前台模块和后台模块。 前台模块包括:用户在前台的注册、登录,个人信息的修改组合成注册登录模块;用户浏览版块、浏览课程信息、浏览答疑交流帖子、试题查看组合成浏览模块;课程的查看以及链接学习组成课程模块;用户发布帖子、回复帖子、编辑自己发布的帖子组合成答疑模块;用户查看试题作为试题模块。
后台模块均与管理员相关,如系统用户的增删查改组成用户信息管理模块;课程公告的增加,修改,删除组成课程公告管理模块;课程资料的增加,修改,删除组成课程资料管理模块;测评资料的增加,修改,删除组成测评资料管理模块;对用户发布的帖子的删除管理作为在线答疑管理模块;注册用户的删除作为注册用户管理模块等,这些操作均涉及后台数据的操作。
第 14 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
系统整体结构图如下图所示:
图3.1 系统整体结构图
第 15 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
第四章 数据库设计
数据库设计是指利用现有的数据库管理系统针对具体的应用对象构建适合的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足企业中各类用户的应用需求(信息需求和处理需求)。
数据库设计是系统设计中的一个关键环节,它是系统开发的基础,关系到整个系统的功能实现及建构,如果设计不好,之后系统的维护、变动和功能扩充都会出现更大的问题,甚至在系统开发过程当中,就会引起比较大的问题,从而导致大量工作重新进行。
数据库设计的特点:综合性、结构设计与行为设计相分离[28]。 设计数据库时应充分解析用户需求,其包含如下几个步骤: (1)数据库需求分析; (2)数据库概念结构设计; (3)数据库逻辑结构设计[22]。
4.1 数据库需求分析
本系统涉及2个对象,注册用户和管理员,所以在设计数据库时应充分
考虑两方面的因素。
针对注册用户基本功能分析出如下需求: (1)用户注册:用户注册后方可登录系统。
(2)注册用户登录:注册用户只有登录后才可以进入系统进行对应的操作。 (3)修改资料:登录用户可以修改注册信息。 (4)课程学习:点击课程链接进行学习即可。 (5)发帖:提出课程中的疑问。 (6)课程测评:可以查看相关试题。
管理员作为系统的超级用户,管理着整个系统,因此基本功能需求按如下分类:
(1)用户信息管理:系统用户信息的修改,系统用户的增加,修改登录密码等。
(2)课程管理:发布课程公告,发布课程资料,修改课程一些基本信息,。
第 16 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
(3)测评管理:发布试题,修改试题等。 (4)答疑管理:注册用户之间的帖子交流管理等。 (5)注册用户管理:对注册用户的删除操作。
通过上述分析和需求总结,设计出如下数据项和数据结构:
(1)管理员信息,包括数据项:管理员编号,管理员用户名,管理员密码,管理员真实姓名,管理员性别,管理员年龄,管理员地址,管理员电话,管理员注册时间等。
(2)注册用户信息,包括数据项:注册用户编号,注册用户用户名,注册用户密码,注册用户真实姓名,注册用户性别,注册用户年龄,注册用户地址,注册用户邮箱,注册用户注册时间等。
(3)课程公告信息,包括数据项:公告编号,公告标题,公告内容,公告发布日期。
(4)课程资源信息,包括数据项:资源编号,资源名称,资源简介,资源链接,资源发布日期等。
(5)发帖信息,包括数据项:发帖编号,发帖主题,发帖内容,发帖者,帖子发布时间。
(6)回帖信息,包括数据项:回帖编号,回帖主题,回帖内容,回帖者,帖子发布时间。
(7)试题信息,包括数据项:试题名,试题编号,所属课程,题目存放路径,试题发布时间等。
4.2 数据库概念结构设计
依据上述数据项和数据结构设计出满足用户需求的各种实体,以及它们之间的相互关系。根据上面的设计规划出的实体有:管理员信息实体、注册用户信息实体、课程公告信息实体、课程资源信息实体、发帖信息实体、回帖信息实体、试题信息实体。
1、实体间的关系E-R图如图4.1:
第 17 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图4.1 实体间的关系E-R图
2、管理员信息实体E-R图如4.2图:
图4.2 管理员信息实体E-R图
3、注册用户信息实体E-R图如4.3图:
图4.3 注册用户信息实体E-R图
第 18 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
4、课程公告信息实体E-R图如4-4图:
图4.4 课程公告信息实体E-R图
5、课程资源信息实体E-R图如4.5图:
图4.5 课程资源息实体E-R图
6、发帖信息实体E-R图如4.6图:
图4.6 发帖信息实体E-R图
第 19 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
7、回帖信息实体E-R图如4.7图:
图4.7 回帖信息实体E-R图
8、试题信息实体E-R图如4.8图:
图4.8 试题信息实体E-R图
4.3 数据库逻辑结构设计
逻辑结构设计是设计的下一阶段,根据E-R图转化成数据模型,本系统采用关系模型。转换成的关系模型如下:
管理员(管理员编号,用户名,密码,真实姓名,性别,年龄,地址,电话,注册时间);
注册用户(用户编号,用户名,密码,真实姓名,性别,年龄,地址,注册邮箱,注册时间);
课程公告(公告编号,公告标题,公告内容,公告发布日期);
课程资源(资源编号,资源名称,资源简介,资源链接,资源发布时间); 发帖(发帖编号,发帖主题,发帖内容,发帖者,发帖时间); 回帖(回帖编号,回帖主题,回帖内容,发帖者,回帖时间);
第 20 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
试题(试题编号,试题名,所属课程,题目存放路径,试题发布时间,题目存放路径)。
4.4 数据表设计
根据以上数据库实体E-R图及关系模型分析设计出如下一些数据表:
表4.1 数据库表
序号 1 2 3 4 5 6 7 数据库表 admin member affiche answer question test video 数据库表存储内容 管理员信息表 注册用户信息表 课程公告信息表 回帖表 发帖表 试题信息表 课程资料表 设计数据表时要考虑到各个对象的相互关系,表与表之间的联系,然后针对每个表作出具体结构设计,并在MySQL中建立mooc数据库并建立各表。
1、名称:管理员信息表(admin)
表 4.2 管理员信息表
名称 管理员编号 管理员用户名 管理员登录密码 管理员真实姓名 性别 年龄 地址 电话 注册时间 字段名称 id username password realname sex age address tel addtime 数据类型 int(11) varchar(255) varchar(255) varchar(255) varchar(255) int(11) varchar(255) varchar(11) datetime 是否主键 YES NO NO NO NO NO NO NO NO 是否非空 YES NO NO NO NO NO NO NO NO 第 21 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图4.9 管理员信息表图
2、名称:注册用户信息表(member)
表 4.3 注册用户信息表
名称 注册用户编号 注册用户用户名 注册用户登录密码 注册用户真实姓名 性别 年龄 地址 注册时间 注册邮箱 字段名称 id username password realname sex age address addtime email 数据类型 int(11) varchar(255) varchar(255) varchar(255) varchar(255) int(11) varchar(255) datetime varchar(255) 是否主键 YES NO NO NO NO NO NO NO NO 是否非空 YES NO NO NO NO NO NO NO NO 第 22 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图4.10 注册用户信息表图
3、名称:课程公告信息表(affiche)
表4.4 课程公告信息表
名称 公告编号 公告标题 公告内容 发布时间 字段名称 id title content addtime 数据类型 int(11) varchar(255) varchar(255) datetime 主键 YES NO NO NO 非空 YES NO NO NO
图4.11课程公告信息图
第 23 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
4、名称:发帖信息表(question)
表4.5 发帖信息表
名称 发帖编号 发帖主题 发帖内容 发帖者 发帖时间 字段名称 id title content member addtime 数据类型 int(11) varchar(255) Varchar(255) varchar(255) datetime 主键 YES NO NO NO NO 非空 YES NO NO NO NO
图4.12发帖信息表图
5、名称:回帖表(answer)
表4.6 回帖信息表
名称 回帖编号 回帖标题 回帖内容 回帖者 回帖时间 字段名称 id title content member addtime
数据类型 int(11) varchar(255) varchar(255) varchar(255) datetime 主键 YES NO NO NO NO 非空 YES NO NO NO NO 第 24 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图4.13 发帖信息表图
6、名称:试题信息表(test)
表4.7 试题信息表
名称 编号 试题名 所属课程 题目存放路径 发布时间 字段名称 id name course topic addtime 数据类型 int(11) varchar(255) varchar(255) varchar(255) datetime 主键 YES NO NO NO NO 非空 YES NO NO NO NO
图4.14 试题信息表图
7、名称:课程资料信息表(video)
第 25 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
表4.8 课程资料信息表
名称 资料编号 资料标题 资料简介 资料链接 发布时间 字段名称 id title content video addtime 数据类型 int(11) varchar(255) varchar(255) varchar(255) datetime 主键 YES NO NO NO NO 非空 YES NO NO NO NO
图4.15 课程资料信息表图
4.5 数据库的连接
4.5.1创建数据库连接类
系统需要与数据库连接来实现数据的增删查改,将数据从后台传递到前台实现系统的各种操作。数据库连接类则实现了数据库建立连接和释放连接的过程。系统创建数据库连接类文件名为DBO.java,主要代码如下: public class DBO {
private Connection conn; private Statement stmt;
private DataSource ds;
public DBO(){ }
public void open() {
try {
第 26 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
Class.forName(\"com.mysql.jdbc.Driver\");
conn=DriverManager.getConnection(\"jdbc:mysql://localhost/mooc\,\"123456\");
stmt=conn.createStatement();
System.out.println(\"打开数据库连接\");
}catch (Exception ex){
System.err.println(\"打开数据库时出错: \" + ex.getMessage());}
}
public void close() { }
public ResultSet executeQuery(String sql) throws SQLException { ResultSet rs = null;
try {
conn.close();
System.out.println (\"释放连接\");
}catch (SQLException ex)
{System.err.println(\"返还连接池出错: \" + ex.getMessage());}
rs = stmt.executeQuery(sql);
System.out.println (\"执行查询\"); return rs; }
public int executeUpdate(String sql) throws SQLException {
int ret = 0;
ret = stmt.executeUpdate(sql); }
} ……
System.out.println (\"执行增删改\"); return ret;
第 27 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
第五章 系统详细设计
5.1 前台功能设计
前台部分提供课程公告查看,课程资料查看,测评资料查看,答疑发帖回帖,用户注册登录等功能。前台文件结构图如图5-1所示。
图5.1 前台文件结构图
5.1.1 课程公告
进入系统首先看到的是公告管理模块,此页面只显示课程公告的信息,运行效果如下:
图5.2 公告管理模块图
5.1.2 课程资源
课程资源主要显示关于课程的简介,点击视频名可进入学习课程,页面显示
如下:
第 28 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图5.3课程资源管理模块图
5.1.3 课程试题
课程试题主要显示课程的试题名所属课程,试题名,点击试题名可进入查看试题内容。
下图显示试题名及所属课程:
图5.4课程试题管理模块图
下图显示试题内容:
图5.5课程试题显示模块图
5.1.4 答疑交流
答疑交流主要显示发布的帖子,点击帖子可看到关于此帖的所有内容,并可
第 29 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
发布恢复帖子.
下图显示发布的帖子:
图5.6答疑交流模块图
下图显示关于某一帖的全部发帖回帖内容:
图5.7答疑交流显示模块图
5.1.5 用户登录
用户首次使用须先注册,注册之后使用对应的功能。 用户登录界面如下:
图5.8用户登录界面图
第 30 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
用户登录成功,可以修改登录密码,修改详细资料,显示界面如下:
图5.9用户信息管理模块图
5.2 后台功能设计
5.2.1 管理员登录模块设计
在一个完整的系统里面,管理员的功能是比较复杂的,担任着整个系统大部分的功能,它需要对系统有一个良好的管理。而一个完整的系统不仅功能要够强大,操作也要简单,还要求比较舒适的界面和设计风格。登录界面是实现功能的入口,对系统来说很重要的,因此要在进入各模块进行相应操作时应进行登入操作才能实现各个模块对应的功能。管理员模块的登入界面设计如下,设置了进入的口令和密码,需要正确输入用户和口令才能进入页面。这样对使用者有了一定的限制,增加了系统的保密性和安全性,能够更好的对系统进行控制和管理,有利于系统的维护。
管理员登录只需正确输入用户名和密码即可,管理员登录页面显示如下:
图5.10 管理员登录界面图
第 31 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
5.2.2 管理员后台管理模块设计
进入管理员后台管理界面如下图,包括用户信息管理,课程公告管理,课程资料管理,测评资料管理,在线答疑管理,注册用户管理。基本操作均是增删查改,但每个模块拥有的操作权限不一样,如用户信息管理可以增删查改,在线答疑管理只可以查改,等等。对应不同功能模块就要赋予不一样的功能。
图5.11 管理员管理界面图
1、用户信息管理
用户信息管理模块密码修改功能如下:
图5.12 用户信息密码管理图
系统用户的管理,包括修改删除,如下图:
图5.13 系统用户管理图
第 32 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
系统用户的增加功能,如下图:
图5.14 系统用户增加管理图
2、课程公告管理
课程公告管理可以修改,删除:
图5.15 课程公告管理图
添加课程公告:
图5.16 课程公告增加管理图
3、课程资料管理 课程资料的修改、删除:
第 33 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
图5.17 课程资料管理图
4、课程资料的添加:
图5.18 课程资料添加管理图
5、测评资料管理 测评资料的修改、删除:
图5.19 测评资料管理图
测评资料的添加:
图5.20 测评资料添加图
第 34 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
6、在线答疑管理
在线答疑在后台主要是删除,这一块是发帖信息:
图5.21 发帖信息图
回帖信息:
图5.22 回帖信息图
6、注册用户管理
注册用户在后台实现删除:
图5.23 注册用户管理图
第 35 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
第六章 总结与展望
6.1 总结
以互联网为主要手段的现代远程教育已成为当今教育发展的趋势之一。在国内外,远程教育不断蓬勃发展。慕课作为当前比较热门的远程教育超越了时间与空间的限制,给人们带来了更多的便利,学习资源也更宽更广泛也更方便。
通过这段时间的设计与开发,总体完成了以下几项工作:
1、研究了慕课的出现发展及整个的概况,并粗略的了解了一下计算机网络与通信技术课程,参考了一些相关的文献资料,对慕课有了一定的认识和了解。
2、首先对系统进行一个需求分析,看需要实现哪些功能,设计初步方案。 3、在研究设计的基础之上对系统进行实现,该系统大体实现了课程的学习,答疑,用户的管理等功能。
6.2 展望
“计算机网络与通信技术”慕课系统设计度方面的理论、方法和技术,本系统还存在许多新的问题需要解决,需要在实际应用中不断积累和完善,在以下几个方面,还需要做进一步研究和开发。
1、系统只实现了基本的增删查改功能,并未对视频、文档上传下载进行深入发掘,因此系统在对视频上传下载方面应该进行一个更深入的开发。
2、系统考虑的方面比较简单,很多复杂的问题都不能给予解决,因此可以扩展其复杂性。
3、系统使用到的技术比较少,因此赋予的功能比较少,在之后应加强对技术的研究,在以后的开发过程中使用多种技术实现比较强大的功能。
第 36 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
参考文献
[1] 陈轶.Web开发技术实用教程[M].清华大学出版社,2012,8.
[2] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003,6. [3] BruceEckel.Java编程思想[M].机械工业出版社,2003,10. [4] FLANAGAN.Java技术手册[M].中国电力出版社,2002,6.
[5] 孙一林,彭波.Java数据库编程实例[M].清华大学出版社,2002,8. [6] LEE ANNE PHILLIPS.巧学活用HTML4[M].电子工业出版社,2004,8. [7] 飞思科技产品研发中心.JSP应用开发详解[M].电子工业出版社,2003,9. [8] 耿祥义,张跃平.JSP实用教程[M].清华大学出版社,2003,5. [9] 孙涌.现代软件工程[M].北京希望电子出版社,2003,8. [10] 萨师煊,王珊.数据库系统概论[M].高等教育出版社,2002,2. [11] Brown等.JSP编程指南(第二版)[M].电子工业出版社,2003,3. [12] 清宏计算机工作室.JSP编程技巧[M].机械工业出版社,2004,5. [13] 朱红,司光亚.JSP Web编程指南[M].电子工业出版社,2001,9. [14] 赛奎春.JSP工程应用与项目实践[M].机械工业出版社,2002,8.
[15] 王明.基于B/S结构的课程辅助系统的设计与实现[M].电子科技大学,2012,9. [16] 何玉洁,李宝安.数据库系统教程[M].人民邮电出版社,2010,9. [17] 佟震亚,马巧梅.计算机网络与通信[M].人民邮电出版社,2010,3.
[18] 缪勇,陈亚辉,李新锋,高立辉.JSP网络开发逐步深入[M].清华大学出版社,2010,7. [19] 马丽芳,宋俊荣.计算机网络与通信课程教学改革的探讨[J].当代教育论坛(教学研究), 2010,12(12):5-20.
[20] MOOC教育模式席卷中国 可学开放免费大学课程.新华网[J].2013,3:5-7. [21] 王文礼.MOOC的发展及其对高等教育的影响[J].江苏高教,2013,3(2):12-40. [22] 邓宏钟,李孟军,迟妍,谭思昱.“慕课”发展中的问题探讨[J].国防科技大学信息系 统与管理学院,2013,7(19):14-26.
[23] 郝丹.国内慕课研究现状的文献分析[J].中国远程教育,2013,11(11):44-45 [24] 刘媛春,罗云翔.基于JSP的动态网页技术[J].成都信息工程学院学报,2005,8(4): 399.
[25] 曹军. ASP、PHP和JSP的比较研究[J].现代图书情报技术,2001,7(4):59-60.
第 37 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
[26] Zhengqi Wang,Mei Yan Computer Techology.Research on Connecting Technology to WEB Database Based on JSP[J].Proceedings of 2011 13th IEEE Joint International Computer Science and Information Technology Conference(JICSIT 2011) VOL.01. [27] Jamie Murphy,Nadzeya Kalbaska,Alan Williams,Peter Ryan,Lorenzo Cantoni, Laurel C. Horton-Tognazzini.Massive Open Online Courses:Strategies and Research Areas,Journal of Hospitality & Tourism Education[J].2014,3:26-30. [28] LIU YI.Mooc Spurs Higher Education Reform[J].China Today,2014,1:10-33.
第 38 页 共 39 页
南华大学计算机科学与技术学院毕业设计(论文)
致 谢
本论文的完成是在导师谭敏生的帮助下完成的,非常感谢老师的帮助和督促,使我的毕业设计能够及时圆满的完成。老师严谨的治学态度,一丝不苟的工作作风一直是我学习的榜样,在我未来的工作、学习中都将是我前进的指向标。在论文完成的过程中,老师一直悉心指导,不厌其烦,给予了我很大的帮助。在此,谨向导师致以我最衷心的感谢,感谢老师的指导,教导。
时光匆匆溜走,转眼就到了毕业季,大学四年生活即将结束。在这四年里,要感谢的人非常多,老师、同学、朋友。老师是我学习路上的引路者,带我进入计算机这个世界,学习了丰富的专业知识,为我以后进入工作打下了坚实的基础。同学、朋友是我学习生活各方面的引导者和陪伴者,学习上给予我指导,解决我学习中遇到的疑问,生活中给予陪伴、帮助,使我长成了一个大人,成熟、稳重。大学四年各方面的提升都归功于老师朋友们的帮助,在此,向你们表示我诚挚的谢意,非常感谢你们,感谢你们在我成长路上的出现与陪伴。
最后感谢我的家人,感谢你们对我的关心和照顾,无论是生活还是精神,你们总是给予我指导和鼓励,你们是我不断克服困难,勇于前进的动力。
第 39 页 共 39 页
因篇幅问题不能全部显示,请点此查看更多更全内容