学位论文-—在线学习系统设计.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学位 论文 在线 学习 系统 设计
- 资源描述:
-
第一章 绪论 1.1 开发背景 随着网络的普及,学校需要寻找新的学习模式。在线学习是一种新的教育形式。在线学习系统主要服务于学校内的所有学生,为他们很好的提供更多元化的学习环境、更方便复习,预习的学习渠道。在线学习系统是一个正在兴起的应用领域,主要利用网页制作、数据库等技术实现网上教学的实时性、交互性、动态性。目前对于网上学习的模式以及其所涉及的技术仍有许多问题需要探讨和解决。本系统突破一般多媒体辅助教学工具的思想,目的是尽可能将现实的活生生的学习环境和方法应用于网络教学中,提高学生网上学习的兴趣,从而真正提高网上学习质量;同时本系统的总体框架是为建立多学科的通用的模块化的网上学习平台,为今后开展广泛的网上教育提供技术基础服务。作为传统教学的延伸,网络信息化教学的作用正逐步被人们所重视,随着网络技术和多媒体技术的进步,网络信息化教学系统还会有更多的发展空间。 1.2 开发意义 在传统的课堂式教学下学习存在着很多的缺点:如:享受到最优秀老师服务的只能是少数人;不能随时随地、灵活有效的、个人掌握学习主动权。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及,计算机已进入人类社会生活的各个领域,并发挥着越来越重要的作用,越来越多的学员选择网上在线学习。 在线学习提供最优秀的教育资源传统授课方式中,真正能享受到最优秀老师服务的只能是少数人,而通过在线学习提供的视频学习,任何人都可以轻松享受到优秀老师提供的教学服务,在线学习系统整合各领域最优秀的教学视频,可以让你接受的第一流的教育。在线学习不受时间的限制,并且可以随时随地在可以上网的地方参与学习。 第二章 系统分析 2.1 系统的需求分析 区别于课堂式教育,网上在线学习具有了传统的课堂式学习无可比拟的优点:网上在线学习体现了真正的因材施教;学生学习不受入学年龄的限制,并且可以避免传统教学模式下时间和空间的限制;在线学习对学生来说是时空的解放,宽松的学习氛围更可以使学生发挥他们的聪明才智,他们可以在学习活动中相互启发、协作交流;在线学习也是一种多向的信息交流活动,学生在获取不同的学习资源时可进行比较,集思广益,取长补短,深入理解和消化所学的知识,益于对新知识的意义建构;当代学生学习动机呈多样性,学习压力因素各异,而在网络背景下的学习者可根据自身的特点采取不同的学习方法。让更多的人符合科学发展跟上时代的步伐。 根据以上实际的需求和特色,本系统需满足以下几个方面的要求: 1. 提供一个可以与他人交流互动的平台,在这个平台上面学生可以发表自己的见解,达到交流共享信息的目的 2. 学生可在此系统中注册成为用户,注册成功之后在平台上交流时其他用户就可以知道你的信息,从而可以使用户大胆放心的在这个平台上分享更多的信息。 3. 学生可以在此平台上获取到他们所想要的学习资料 4. 学生可以在此平台上进行在线学习。 2.2 系统开发设计思想 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护; 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。 2.3系统开发步骤 在线学习系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。 上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低在线学习系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。 2.4 系统的主要技术 2.4.1 Browser/Server系统的三层体系结构 在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。 在Browser/Server三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)被分割成三个相对独立的单元: 第一层--表示层:Web浏览器 在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。 第二层--功能层:具有应用程序扩展功能的Web服务器 在功能层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。 第三层--数据层:数据库服务器 在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。 从上面的分析中可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。 2.4.2 Java Server Page(JSP)技术 在本系统的开发过程中采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。 此模式遵循视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet接收并处理后,会重新定向到JSP。在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。在此模式中,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean属性,JSP读取此Bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式[8]。此模式的数据传递关系如图2-1所示。 图2.1 JSP+JavaBean+Servlet开发模式数据传递关系 首先,J2EE 结构是设计和开发在线学习系统的核心。第二,系统提供的大部分操作都涉及到与用户动态地进行信息交互,要求系统能够实现数据的动态发布。第三,位于客户端的用户主要通过浏览器使用本系统。第四,在Sun 公司提出的J2EE蓝图中明确推荐使用JSP技术为动态内容提供服务。因此,在J2EE结构的模型框架下,JSP 技术是实现此系统动态信息交互功能的首选方案。JSP技术主要有以下一些特点[2]: (1) 应用程序逻辑和页面显示相分离的特性。JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。 (2) 组件的可重用性。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序的处理。开发人员能够共享和交换执行组件,并利用这些组件创建应用程序。基于组件的方法加速了开发过程,提高了应用程序的开发效率[2]。 (3) 跨平台特性。JSP技术将“一次编写,随处运行”的思想推广到了交互网页中,因此不需要作任何更改,就可以很轻松地跨平台和跨Web服务器移动JSP页。 (4)可以用多种格式为动态内容提供服务。JSP可以为不同的客户端提供服务,包括使HTML/DHTML的常规浏览器、使用WML的移动电话和PDA 等手持式无线设备以及使用XML的其他B2B 应用程序等[3]。 2.4.3 JDBC技术 JDBC 技术在J2EE 结构的中间层与EIS层的数据源之间提供了数据库独立的开放性连接,使应用程序不仅可以对基于SQL 标准的关系数据库系统进行访问,而且还可以对其他类型的数据源进行访问。JDBC技术通过提供API使Java 应用程序能够实现位于系统层的数据库的访问能力。 J2EE 结构中间层的应用组件通过JDBC技术可以完成下列功能:实现与位于J2EE结构中系统层的数据库服务器的连接;管理事务;将SQL 请求传送到数据库管理系统进行预处理并执行相应的数据操作;执行存储过程;检查修改查询语句的执行结果等。 2.5 系统的运行环境和开发平台 2.5.1 硬件设备及操作系统 服务器:PentiumIII 1G(或与此相当的CPU)以上配置的高性能PC机,有网络接口卡(NIC),内存应在256M以上,硬盘在80G以上。数据库软件IBM DB2,还可选用备份服务器。 操作系统:Windows 98以上。 客户端:PentiumIII 500(或与此相当的CPU)以上配置的PC机,有网络接口卡(NIC),内存应在128M以上,硬盘在10G以上。Windows98以上操作系统,安装Web浏览器。 网络:服务器和客户端应有网络连通。配置TCP/IP协议。 2.5.2 系统开发工具 电脑配置:Dell品牌机CPU: P4 2.6 内存:DDR 512M 硬盘:80G 操作系统:Microsoft Windows Server 2003 开发环境:MyEclispse 7.5 Web服务平台:Tomcat 6.0 数据库:SQL Server 2005 2.5.3 开发工具简介 (1) MyEclipse7.5概述[9] MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 (2) Tomcat6.0概述[10] Tomcat6.0 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 6.0 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 (3) SQL Server 2005概述[11] SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。T-SQL是结构化查询语言SQL的一种,支持ANSI SQL-92标准。 SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。7.0版支持多种类型的角色,"角色"概念的引入方便了权限的管理,也使权限的分配更加灵活。 第三章 系统设计 本系统的学习功能主要是针对学生设计,包括视频的观看、下载,相关课件的下载,对有关资源的学习,了解其学习方面的通知,和教师间的相互交流。开始电子公告和BBS学习论坛,引导学生进行网上交流,引导了学生对有关问题进行思考判断,进而引导学生主动参与本系统的建设,使网络成为教学的另一个战场。 本系统的教学功能能为教师提供一个平台,使得课件或电子教案的发布更为简单,并为教师提供答疑板块,教师也可进入学习论坛,了解学生的疑问,便于教师与学生的交流,也为今后各科教师自行制作相关专题子网站提供了方便。 本系统的管理员管理功能包括用户管理、资源管理、论坛管理。对用户及资源信息进行有效的管理。 3.1系统用例 与本系统相关的用户和角色包括: 系统管理员:管理系统用户、角色与权限,发布相关资源,保证系统正常运行。 教师:发布相关学习资源(如:视频、课件等),在线答疑。 学生:通过注册成为本系统用户,可在线观看教学视频、下载有关学习软件,进行相关问题的咨询。 管理员 老师 学生 用户 在线学习系统 浏览网页 注册 登陆 观看视频 发帖、跟帖 下载资源 上传资源 管理用户、资源 图3.1 系统用例图 3.2 系统功能模块的划分 软件所实现的功能强弱是衡量一个软件的最根本的标准。经过对系统的需求分析和实际应用需求,确定了本子系统的功能模块如图3.1所示: 在线学习系统 用户模块 在线视频模块 文件上传下载模块 B B S论坛模块 后台管理模块 公告模块 答疑模块 图3.2 系统功能模块图 3.2.1用户模块 用户包括未注册的路人、注册的学生、老师、管理员的权限功能的实现和划分的用户模块。未注册的用户登陆本系统只能浏览本系统的新闻资讯,或者是浏览论坛中的帖子、还有就是在线观看本体统提供的视频资源。注册成功的学生、老师用户登陆成功之后除了享有路人所有的权限之外还可以下载视频、课件。进入论坛之后还可以发帖,提出自己的问题,也可以针对某个问题回复别人提出来的问题,和其他的人一起沟通。管理员是权限最大的用户,可以对本系统中所有的资源进行管理,包括用户的管理,管理员有权注销不合法的用户;主页面的新闻,管理员可以发布新闻、撤消新闻;论坛中帖子的管理,管理员有权对含有不健康或者是不合法的内容的帖子进行撤消。 3.2.2在线视频模块 该模块主要实现在线播放,通过在页面嵌入一个播放器,系统通过jsp 页面户从数据库中获取所有可在线播放的视频信息,并显示在页面上。通过用户所请求的某个视频信息返回到页面的播放器进行播放。 3.2.3 文件上传下载模块 本系统涉及的文件主要包括课件资源和视频资源: (1) 上传文件 在后台管理界面中设置“资料管理”按钮,点击 “上传文件”可以在自己的主机或网络上选择要上传的文件资料,这里一次可以上传一个或多首文件,选择结束后点击“上传”按钮就可以将文件传到一个指定的ftp上的文件夹中供用户下载。对数据库中表进行查询,将文件的名称等信息在相应页面中显示出来。 (2) 下载文件 在数据库文件信息表中设置“存放路径”字段,此字段放置的信息是管理员将文件上传到的路径信息。前台页面中对文件的信息进行查询,使用代码来实现每个不同的文件名链接到相应的目录下面,用户点击文件下载选择将其保存到磁盘上可以将该文件保存到自己的本机上;右键点击“另存为”也可将其保存到自己本机上。这两种方法都实现了文件的下载。 该模块主要实现的功能是管理员定期把一些文件上传到相应的文件夹中,并在网页中显示相关内容,在线用户可以在线观看视频或下载所喜欢的文件。 3.2.4答疑模块 (1)提出问题 登陆的学生用户可以向老师提问,当学生遇到方向性的问题,可以向有关的老师提问。每个老师都有教授的课程以及介绍,学生可以通过了解老师所擅长的科目来向他提问。当老师解决了学生提出的问题后,学生登陆时将列出所有解决的问题。 (2)解决问题 登陆的老师用户登陆可以浏览之前学生所提出的所有问题和解决的问题,老师可以解决未处理的问题。 3.2.5 公告模块 在首页的公告区域显示管理员发布的公告信息,公告信息实时更新主要显示的是数据库中的公告表中的数据资源。 3.2.6 BBS论坛模块 用户登陆首先进入论坛的首页,在首页是显示的所有用户发表的主贴信息,该页面主要是分页显示数据库中的主帖信息了内容,包括发帖人头像、主题、发表时间、点击数等等,可以点击某个主贴的主题链接到该贴的所有跟帖信息,注册的用户还可以发表主题、回复主贴。达到与其他老师或者同学交流的功能。然后该页面也提供用户登陆和注册的功能,主要对于那些路人观看之后想发表自己的想法的人提供便利,在从帖的页面主要是分页显示某个主帖的从帖信息,同时也包括用户登陆和注册的功能。 3.2.7 后台管理模块 后台管理是最重要的一块,后台的管理功能的实现,管理员登陆之后,可以对数据库中的所有信息进行管理,本模块的功能模块由下图所示: 后台管理 用户管理 公告管理 资源管理 论坛管理 图3.3 后台管理功能模块图 (1) 用户的管理 管理员有权对该系统的所有管理员、学生进行管理、这就包括对用户的添加、修改、删除。 (2) 公告管理 管理员可以定期对主页上面的公告进行更新,通过该模块,管理员可以轻松、快速的对公告进行管理。 1. 信息公告的录入 主要功能是使管理员以简捷的方式对通知公告表进行操作,主要的功能有:增加、删除和修改。管理员在进行以上所有操作时首先要进入登录界面进行登录,登录用的用户名和密码是按管理员的不同权限事先分配好的,登录成功后可以实现增加、修改、删除一些公告信息。 2. 浏览信息公告 在首页的适当位置设置公告栏,主要是最新信息。最新的而且较重要的可做成滚动条的形式,滚动显示通知的信息。当鼠标置于某个标题上时,滚动条停止滚动,点击标题浏览通知公告的正文。其他的可在主页面里的适当位置按时间的倒序将标题和发布日期显示出来,点击标题浏览公告信息的正文。 (3) 资源管理 主要是对现有资源的管理和资料的上传。 1. 现有资源的管理 可对现有的视频和课件进行增加、删除、修改,可对那些上传资料不合法的视频资源可将其是否发布的属性该为否,这样将不会在页面上显示,也不能提供下载。还有一种就是将是否下载该为否,这样的话只有在页面显示,但是还是不能下载。对于课件资源只有是否下载的属性,不提供在线的打开,只提供下载。 2. 资料的上传 管理员可上传所需的资源供学生用户下载。 3.3数据库设计 3.3.1数据库需求分析 数据库的设计在一个系统中的作用十分重要,数据库建立的是否完善直接影响到你个系统的实现。数据库的设计既要满足用户的需求又要尽最大可能的降低数据的冗余,尽可能降低数据间的依赖,将他们分离。在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据,数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础. 3.3.2数据库E-R图 E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。 (1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。 (2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。 (3)各子系统模块中主键相同的字段之间存在着相互关联的关系。 (4)在程序中实现对他们的完整性和一致性控制。 具体关系如下图: 1 1 N N N N N N N N N N 管理员 编号 用户名户名理 密码 发布 公告 发布时间 编号 标题 内容 用户 视频 主贴 从贴 管理 在线观看 下载 发帖 发帖 跟帖 类型 是否下载 是否发布 介绍 发布时间 编号 发布者编号 资源名 资源 发布者编号 是否下载 发布时间 编号 是否发布 视频名 编号 主题 点击数 内容 回帖数 发帖人名 发帖人编号 发布时间 内容 跟帖编号 发帖人编号 发贴时间 发贴人名 回复的主贴编号 发帖人头像 图3.4 管理员管理E-R图 1 n 1 n 1 1 n n n n 学生 电话 姓名 Email 身份证 老师 编号 Email 电话 课程编号 头像 姓名 编号 密码 执教 课程 编号 课程名 答疑 注册时间 头像 答案 密码 性别 解答 问题 提问 内容 解答人编号 提问人编号 从属 编号 解答时间 提问时间 提问人编号 提问时间 解答人编号 内容 是否被解答 图3.5 答疑E-R图 3.3.3数据库的逻辑设计 逻辑结构设计的原则如下: (1) 尽可能的减少数据冗余和重复。 (2) 结构设计与操作设计相结合。 (3) 数据结构具有相对的稳定性。 基于以上设计原则,本系统设计了如下数据库: 字段 类型 长度 是否空 主键 说明 adminId 自动编号 长整型 不能空 是 管理员Id adminName 文本 10 不能空 否 管理员姓名 adminPassword 文本 10 不能空 否 管理员密码 表1 管理员信息表 表2 学生信息表 字段 类型 长度 主键 是否空 说明 stuId 自动编号 长整型 是 不能空 学生ID stuName 文本 10 否 不能空 学生姓名 stuPassword 文本 20 否 不能空 学生密码 stuSex 文本 2 否 不能空 学生性别 stuEmail 文本 50 否 能空 学生Email stuHead 文本 100 否 能空 学生头像 stuCard 文本 20 否 能空 身份证号 stuTel 文本 20 否 能空 学生电话 stuRegTime 日期/时间 否 能空 学生注册时间 表3 公告表 字段 类型 长度 主键 是否空 说明 callID 自动编号 长整型 是 不能空 公告ID callTitle 文本 100 否 不能空 公告标题 callContent 文本 1000 否 不能空 公告内容 callTime 时间/日期 否 不能空 公告发布时间 表4 新闻表 字段 类型 长度 主键 是否空 说明 newsID 自动编号 长整型 是 不能空 新闻ID newsTopic 文本 100 否 不能空 新闻主题 newsContent 文本 2000 否 不能空 新闻内容 newsTime 时间/日期 否 不能空 新闻发布时间 字段 类型 长度 主键 是否空 说明 videoID 自动编号 长整型 是 不能空 视频ID videoTopic 文本 100 否 不能空 视频名称 videoOwner 整型 否 不能空 视频发布者ID videoTime 时间/日期 否 不能空 发布时间 isDownload 文本 2 否 不能空 是否供下载 isAgree 文本 2 否 不能空 是否发布 表5 视频资源表 表6 文件表 字段 类型 长度 主键 是否空 说明 filesID 自动编号 长整型 是 不能空 文件ID filesName 文本 100 否 不能空 文件名称 filesType 文本 10 否 不能空 文件类型 filesOwner 整型 否 不能空 文件发布者编号 filesTime 时间/日期 否 不能空 发布时间 isDownload 文本 2 否 不能空 是否供下载 isAgree 文本 2 否 不能空 是否发布 fileIntroduce 文本 500 否 能空 文件介绍 fileTopic 文本 100 否 不能空 显示的文件名 表7发帖表 字段 类型 长度 主键 是否空 说明 tID 自动编号 长整型 是 不能空 帖子ID tUserId 整型 否 不能空 发帖人ID tUserName 文本 20 否 不能空 发帖人名 tReplyCount 整型 否 不能空 回帖数 tTopic 文本 50 否 不能空 帖子主题 tContent 文本 2000 不能空 帖子内容 tClickCount 整型 不能空 点击数 tTime 时间/日期 不能空 发帖时间 tUserHead 文本 100 能空 发帖人头像 表8 跟帖表 字段 类型 长度 主键 是否空 说明 rId 自动编号 长整型 是 不能空 跟帖ID rTid 整型 否 不能空 回复的主帖编号 rUserId 整型 否 不能空 发帖人ID rContent 文本 1000 否 不能空 正文 rTime 时间/日期 否 不能空 发帖时间 rUserName 文本 20 否 不能空 发帖人姓名 rUserHead 文本 100 否v 能空 发帖人头像 表9 教师信息表 字段 类型 长度 主键 是否空 说明 tchId 整型 长整型 是 不能空 教师ID tchName 文本 10 否 不能空 教师名 tchPassWord 文本 20 否 不能空 密码 tchEmail 文本 20 否 能空 教师Email tchTel 文本 15 否 能空 教师电话 tchHead 文本 30 否 能空 教师头像 couseId 整型 长整型 否 不能空 所教课程 tchIntro 文本 200 否 能空 教师简介 表10 课程信息表 字段 类型 长度 主键 是否空 说明 courseID 整型 长整型 是 不能空 课程编号 courseName 文本 20 否 不能空 课程名 表11 问题表 字段 类型 长度 主键 是否空 说明 questId 整型 长整型 是 不能空 问题编号 questStuId 整型 长整型 否 不能空 提问人编号 questTime 时间/日期 否 不能空 提问时间 questTchId 整型 长整型 否 不能空 解答人编号 questContent 文本 500 否 不能空 提问内容 isAnswer 文本 2 否 不能空 是否被解答 表12 答案表 字段 类型 长度 主键 是否空 说明 answerId 整型 长整型 是 不能空 答案编号 answerTchId 整型 长整型 否 不能空 解答人编号 answerStuId 整型 长整型 否 不能空 提问人编号 answerContent 文本 500 否 不能空 答案内容 answerTime 时间/日期 否 不能空 解答时间 isAnswer 文本 2 否 不能空 是否被解答 数据库表之间的关系如下: 第四章 系统实现 4.1主要界面实现 本系统的设计主要采用蓝色为题,给人以愉悦,舒畅的感觉,让学生能够集中思想尽快投入到学习当中去。 4.1.1用户注册 通过首页的注册链接进入到注册页面,该页面主要是对用户的信息进行采集,主体是一个表单。通过“提交”按钮可以将用户的信息发送到服务器端。 4.1.2 首页 首先进入的是网站的首页,首页主要采用的主要是div容器,使用div能快速、准确的对页面的元素的大小和位置进行定位,在div容器中进一步使用table,对页面的元素进行排版。网站所有的页面都采用统一的样式文件.css,页面所有的背景图片都放在image文件夹下[11]。 在主页面的顶端可以链接到本系统提供的其他功能,主要包括资料库、学习论坛等,在主页还要实现用户的登陆以及注册的功能,在页面的右侧有登陆的表单,用于获取学生或者是管理员的用户名和密码提交到后台来实现用户登陆。 实现后的主页效果如下图: 图3.1首页效果 4.1.3 论坛 当用户登陆成功以后,如果点击主页的学习论坛,用户的请求提交到后台,该请求包含了用户请求论坛首页显示的页数,初次登陆的默认值是1,因此服务器端返回论坛第一页的记录,链接到论坛的主页。论坛首页采用jsp页面,当打开该页面的时候,可以获取session中保存的第一页的所有记录,通过引入c标签的中循环控制标签<c:foreach>,加上页面的表格,显示session中的记录。 此页面还包括发帖的功能,在页面的底端,登陆成功的用户可以在此发表自己的帖子。 此页面还应当包括登陆注册的功能,不是所有登陆该页面的用户都是登陆的用户,还包括路人。 实现后的论坛首页效果如图: 图3.2论坛效果 4.1.4 在线视频 当登陆成功的用户点击首页的资料库,点击视频资源后,客户端将向服务器发送请求,服务器将页面跳转到视频播放的主页,该页面加载的时候从数据库中分别获取科发布的视频的前8条记录以及可下载视频的前5条记录,可发布的视频时可以在线观看的,在页面引入了一个视频播放器,当用户点击视频资源的播放图标,将把该视频的ID发送到服务器端,服务器再以文件流的形式返回该视频资源,页面通过播放器可以播放该视频资源。 实现后的效果如下图: 图3.3 下载页面 4.1.5后台管理 登录后台可有主页的“我是管理员”链接到此页面,该页面采用的是框架,首先主分为上中下三个部分,顶端的部分主要是实现管理员的修改密码,管理员信息以及退出系统的操作,中间部分主要是显示当前管理员用户的信息以及对页面操作的选项,在中间部分的右侧是采用javascript实现的当前的时间的功能。在下面的部分又再分为左右两个部分。左边部分是信息管理操作菜单,包括对后台操作的所有功能。右侧则主要是显示信息的地方。 具体实现的效果如下图所示: 图3.4 后台登录界面 图3.5 后台管理页面 4.2主要功能程序的实现 程序设计思想 常见的设计思想有两种:结构化和面向对象化,本系统采用的是面向对象的设计思想,下面简单介绍一下两者的不同以及面向对象程序设计的优点。 传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先分析需求,确定功能,然后以函数的形式进行建模。在一个Web应用中很可能有上千个函数,这些函数能够不受限制的互相调用,因此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。用JSP脚本来开发Web应用时就是上面所说的情况。只使用JSP而不使用任何Bean或自定义标记,在Web应用的规模比较小时还不会出现太多的问题,但是在Web应用的规模增大时就肯定会出现问题。这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。 在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象的分析和设计方法源于现实生活中的模块化的思想。对象是提供一组相关功能的实体,对象之间互相作用从而完成一定的任务。开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。面向对象方法主要有以下三个特征: 抽象性 抽象是对象建模参数的选择,这是进行分析后得到的结果。这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。 封装性 由于某些原因,类中的数据和方法不需要对其他的对象公开,我们可以将其隐藏在类的内部,这是对象模块化过程中很重要的一步。这个步骤将确保对象的行为以简单的借口出现,而复杂的执行过程都被隐藏了。比如,JavaBean就可以为Web网页开发人员提供一个简单的接口。 继承性 在一个现存对象的基础上创建一个新的对象,这个过程称为继承。这样我们可以不必重写所有的代码,只需在新对象中编写需要更新的代码就可以了。比如:Servlet通常是由HTTPServlet派生来的,这意味着Web服务器可以用相同的方法来处理具有从属关系的两个Servlet。 模块化 为了减少独立工作小组之间的依赖性,软件系统中必须使用模块。比如,我们可以定义一个JavaBean来处理应用程序的状态,这样做的优点是可以独立地对模块进行维护,这样就减少了代码之间的相关性。 4.2.1 数据库连接的建立 本系统在数据库连接方面,使用统一的连接数据库的方法,引入相关的jar包之后,调用其中的类。通过database.xml配置文件读取数据库信息和登陆数据库帐户的用户名和密码,实现数据库的连接。具体的代码如下: database.xml文件的内容如下: <?xml version="1.0" encoding="UTF-8"?> <database> <sqlserver> <serve>com.microsoft.sqlserver.jdbc.SQLServerDriver</serve> <ip>127.0.0.1</ip> <port>1433</port> <user>sa</user> <password>123</password> </sqlserver> </database> 连接数据库的方法: public class DB { //定义连接对象 private Connection conn = null; //定义欲编译语句 private PreparedStatement psmt=null; //定义结果集 private ResultSet rs=null; public Connection getconn() { try { String password=""; // 从XML配置文件中读取连接数据库信息 DocumentBuilder db = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); Document doc = db.parse("../webapps\\LearnSystem\\WEB-INF\\database.xml"); System.out.println(doc.getElementsByTagName("serve").item(0).getParentNode().getNodeName(展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




学位论文-—在线学习系统设计.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2122207.html