欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于BS架构的网络教学平台的设计与实现毕业论文Word下载.docx

    • 资源ID:6497532       资源大小:626.97KB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于BS架构的网络教学平台的设计与实现毕业论文Word下载.docx

    1、1.2国内外发展现状 这种教育方式具有开放性、共享性、永久性、便利性等特点,这样可以满足不同人群的需求,大大减低了教育的成本,在国内外都有这种发展趋势,并且在迅速地扩张中1.3系统可行性分析1.3.1 技术可行性本项目采用当前流行的前后端开发,前后端的项目是独立部署了,它们之间通过网络http协议进行通信,后端的实现叫微服务层。采用spring boot企业级框架加中间件进行开发,其中spring boot对中间件支持较好,例如rabbitmq、elasticsearch等,所以说开发难度小。好处:针对不同用户提供不同的页面,例如对pc 用户可以提供一个页面,移动端用户也可以提供一个页面,但是

    2、微服务层就不是这样了,没有必要针对不同的用户提供不同的微服务,因为前端可以满足这个需求,它调用服务层就可以实现需求,这为系统的维护和业务的扩展有很大的好处1.3.2 经济可行性通过调查研究,本项目的建设、运用成本都在可接受范围内,其中项目上线后带来的经济收益非常可观。项目的预算可以支撑整个项目的研发,其中,运行项目需要视频处理服务器,采用戴尔的一站式服务器处理方案,价格实惠。网站的运营需要监管和维护人员多名,与一般网站运营人员配置中无太大的区别1.3.3 操作可行性项目没有与国家政策相背离,没有会违反法律法规,符合社会的伦理道德,无侵权、无妨碍等责任问题,项目的运行方式在人员组织内可行,对如今

    3、的管理制度、人员的素质和操作方式的分析,得出的结果都显示可行第二章 系统开发工具与相关技术2.1 系统开发工具2.1.1 IntellIj Idea这是一款功能强大,人性化的开发工具,且有很友好的代码提示功能2.1.2 MongoD这是一个非关系型数据库,且具有分布式文件存储的功能,在wen中采用它可以获得高性能的数据存储方案而且第三方对它的支持也很丰富2.1.3 MySQLMySQL数据库是一款关系型数据库,它小巧且运行效率高2.1.4 Maven管理工具这是一款基于对象模型概念设计的软件管理工具,它的功能是方便用户导入jar包依赖,且IntellIj Idea对它集成很完善2.2 系统后台

    4、技术2.2.1 Spring Spring是一个轻量企业级的开发框架,它可以把bean对象和dao组件和service组件都给容器处理。这样做的好处就是把大量复杂的代码变得非常的简洁,大大降低了代码的耦合度。在后期的维护、扩展和升级中可以非常轻松。其中,spring data对操作MongoDB数据库十分方便,而Spring Security Oauth2对系统的权限控制也十分优秀2.2.2 MyBatis这是一款持久层框架,它内部实现了JDBC的功能,可以使用配置或者XML文件来配置映射信息,讲数据模型和对象一一对应2.2.3 RabbitMQ 它主要用于在分布式系统中进行消息转发2.2.4

    5、 ElasticSearch它可以对系统的内容进行索引化,然后支持用户实时搜索内容2.3 前端开发技术2.3.1 Vue.js 这是一个js的渐进式框架2.3.2 Nuxt.js 这也是一个js框架,主要用于来服务器进行渲染2.3.3 Ajax技术 窗体顶端Ajax是一个交互式网站开发技术,实现动态更新(局部)的内容2.3.4 Jquery 这是一个功能丰富的js库2.2.5 FreeMarker 这是一个模板引擎,主要用于做静态页面和页面展示2.2.6 Eureka这是一个服务注册中心,用于管理微服务的第三章 系统分析本章节将会结合前面所介绍的开发技术进行分析,从功能性需求与非功能性需求入手

    6、,并且进行详细的阐述,为今后的开发确立明确的目标3.1系统功能分析展望现在的教育模式真是多种多样,例如腾讯课堂、网易云课堂的B2B2C模式,这个模式是为教育机构提供平台授课,也为个人开发权限进行授课。而中国大学MOOC则采用B2C模式,因为平台的严谨,它所提供的课程质量都比较优秀。本项目采用B2B2C模式,为企业和个人提供服务。本系统主要由前台模块和后台管理组成。前台面对的是普通用户,即提供用户登录,搜索,学习,留言等功能。后台管理分为页面管理和课程管理,课程管理面对的是教育提供者,教育提供者可以在后台管理页面进行课程介绍页面的信息的增伤改插、课程目录的编写、上传视频、上下架课程四个模块。页面

    7、管理面对的是系统管理员,管理的是网站中的各个模块的创建修改和发布。其中,功能模块示意图见图3-1所示。图3-1系统功能模块示意图3.2系统功能性需求分析本小节从具体的功能模块入手,即从前台模块和后台模块两方面来进行详细的分析并且介绍其各点功能需求3.2.1 前台用户功能需求分析(1)门户门户即网站的主页,进入门户显示轮播图,课程推介等模块,用户不要登陆即可查看课程的详细信息,搜索课程,操作分类,游客点击查看视频或者登陆时跳转到登陆界面,并且在认证通过后才可以跳转到登陆前页面(2)登陆点击登陆按钮并填写登陆信息,当认证不通过时,提示“账号或密码错误”,当账号不存在时,提示“账号不存在”。登陆成功

    8、后跳转到登陆前的页面(3)注册点击注册按钮进入注册页面,注册信息有用户名、年龄、性别、手机号码、邮箱信息等,其中邮箱和手机号码不允许重复,一个账号只能对应一个邮箱和手机号码。上面信息给必填信息,其余字段信息可适当地进行添加(4)收藏当用户点击收藏按钮时,需要判断用户是否已经登陆了,已经登录则判断当前课程是否已经收藏,已经收藏则提示“已收藏,无须重复添加”,否则向数据库插入收藏信息,前台提示“已收藏”。(5)留言 在视频下方留言前需要判断用户是否登陆了,未登录则跳转登陆页面,否则提交用户留言(6)购买课程购买课程前需要判断用户是否登陆了,未登录则跳转登陆页面,否则提示提示用户是否购买,确定购买后

    9、跳转视频播放页面(7)课程分类门户下有课程分类的信息,一共设置3个分类,一课程所属的类型,二年级分类,三按照行业分类。随意点击某个分类字段则跳转到相对应的分类列表(8)课程推荐门户下有课程推荐的区域,这个推荐目前不做详细要求,可随机显示即可(9)课程搜索搜索课程名称时显示课程信息,这个搜索可以是精确查询,也可以是模糊查询,这里要设置分页显示(10)课程播放点击播放视频按钮跳转到播放页面,默认播放第一个视频3.2.2 后台用户功能需求分析(1) 页面管理 一个网站可以划分为很多个子站点,例如轮播图、分类导航栏、课程推介栏属于门户站点,课程播放属于课程站点,学习中心属于学习站点等等,所以需要一个管

    10、理这些页面的系统,方便后期对这些页面进行增删改查(2) 页面发布通过事先增加好的页面,点击发布按钮,发送到远程服务器。整个添加、发布的过程都是由程序来自动执行,不需要管理员登陆服务器来完成操作。(3) 页面预览 管理员通过页面预览可以预览页面最后部署到服务器的效果(4) 课程管理制作一个课程管理系统,前端定义好模板,用户在模板内填写课程信息后即为课程详情页面。这里要实现课程的增加、删除、修改、新增,这里需要分页显示。其中,课程的添加操作需要包含的内容有,课程的各种详细信息,例如课程的简介,教师的简介、建议、评语等等;课程目录信息,课程设置3级目录,分别是课程名称/课程章节/课程小节这样的目录结

    11、构;课程的图片,必须为课程设置一张广告图,吸引学生点击;课程的视频,这一步骤最关键,其中上传的视频必须按照目录结构逐一对于上传。(5) 课程预览为了保证课程发布后的准确无误,发布前必须进行课程预览,而课程预览所显示的页面必须和课程发布后的页面保持一致(6) 课程发布 点击课程发布后,学生可以在前台页面看到课程信息并且进入课程页面学习(7) 文件系统 本项目中,需要上传图片、视频、文档文件,为了提高系统的可重用性必须制作一个文件系统的统一管理这些文件,提供上传、删除、查询功能(8) 视频处理 原始视频必须经过编码处理第四章 系统设计本章节依据系统需求分析进行详细设计,其中对某些功能点进行更加具体

    12、的分析,做到完善和拓展。4.1系统体系架构设计概述UI层:这个系统是独立部署的,这里也是前后端分离开发的分水线,这里属于前端,这里主要实现的是用户界面,它没有实际是数据的,就好比一个模型,通过ajax请求微服务层来得到数据,这里用到的协议是http协议,微服务层:这个系统也是独立部署的,这里属于后端。可以划分很多个小块,即把服务的颗粒度分得很细,服务于服务之间的交互很少。业务的可扩展性可维护性很好,例如双11到来了,我们可以把订单服务部署的服务器多一点,把用户管理部署的服务器少一点。数据层:提供数据持久化操作这种技术架构的好处是,UI层可以针对pc用户可以开发一个模块,针对H5用户开发一个模块

    13、,即针对不同用户开发不同的界面。而在微服务层也可以划分多个模块,每个模块可以单独对外提供服务,且不需要为不同的用户开发不同的服务。这种架构和早期的单体式应用有很明显的优势(代码写到一个工程中,打包成war包部署到Tomcat中)4.2系统数据库设计概述4.2.1Monogdb数据库edu_page 页面信息字段名是否主键是否为空字段说明_id是否IdsiteId站点idpageName页面名称pageAlise页面别名pageWebPath页面相对路径path页面物理路径time时间template页面所属模板iddataurl存储到GirdFs路径edu_side站点集合name站点名称po

    14、rt端口domain域名edu_config模板数据模板名称model模板数据类型Filesystem文件系统索引filepath文件路径size大小名字type类型4.2.2Mysql数据库template页面模板siteidtemplatefileid模板idsys_dictionary数据字典字典代码名称value数据类型course_pic课程图片Pic图片idcategory课程分类分类名称label标签parentid父结点isshow是否显示orerby排序字段isleaf是否孩子Course_base课程名称mt课程分类status状态descriprtion课程介绍nt小分类

    15、第五章 系统实现5.1页面管理 需要多门户中的进行增删改查,首先需要建立页面查询的接口,接口基于Http Get请求,响Json数据,目录结构如图5-1:图5-1其中api同一放在edu_api模块中,而接口的实现类放在edu_mange模块中。这样做的好处是:1.可以方便统一管理接口2.将来微服务相互调用时,他们可以基于接口来远程调用,所有的微服务只要依赖api,那么就可以拿到任意微服务的接口了 3.以后换框架时只需要改实现类就可以了,不用在改接口5.1.1分页查询实现采用sprint data MongoDB来操作数据库,先定义一个查询接口CmsPageRepository并且继承Mong

    16、oRepository,这样就可以使用内置的api来操作数据库了,其中调用以下几个类和sprint data MongoDB findaAll方法实现分页操作org.Spring.framework.data.domain.Pageorg.springframework.data.domain.PageRequestorg.springframework.data.domain.Pageable5.1.2 自定义查询输入查询条件,查询符合条件的页面的信息,其中,输入站点id,页面id来实现精确查询,输入页面别名来实现模糊查询,实现这个功能的关键在于定义条件匹配器,最后把匹配器放入findaAl

    17、l方法,代码入表5-1-2所示/条件匹配器ExampleMatcher exampleMatcher = ExampleMatcher.matching();/可以设置匹配方法,默认精确匹配,先把匹配的属性告诉匹配器,后选择匹配方法exampleMatcher = exampleMatcher.withMatcher(pageName,ExampleMatcher.GenericPropertyMatchers.contains();/包涵/ exampleMatcher.withMatcher(,ExampleMatcher.GenericPropertyMatchers.startsWit

    18、h();/前缀匹配/定义Example,要放入条件匹配器,把EduPage放到Example中Example eduPageExample = Example.of(eduPage,exampleMatcher);findAll(eduPageExample,pageable)表5-1-25.1.3增删改页面增:新增页面要求检查页面是否存在,存在则不新增可以利用sprint data MongoDB 的findBy方法实现,因为每一条记录的id是MongoDB数据库自行创建的无法事先得知,所以检查页面必须要有自己的唯一标识,我采用站点id,页面路径,页面名称定义索引从而设定了页面的唯一标识 删

    19、:点击编辑按钮后修改页面信息,实现过程和上面大同小异,此处略过改:执行删除操作,实现过程大同小异此处略过5.2页面预览在MongoDB页面集合中,每一条记录都是一个页面,其中每个页面都有一个url信息,这个url是获取页面模板所用。其中,模板由前台程序员提供首先根据页面的id可以查询到具体页面的url,然后可以远程请求获得数据模型,然后程序把模板和数据结合并生成静态化数据,后利用MongoDB的gridfs进行分布式存储的,后把静态化后的数据响应给浏览器。5.3页面发布门户有多个站点,其中页面都有属于自己的站点,页面的发布应该部署到其所属的站点服务器上,例如要修改轮播图的图片,那么要改修改好的

    20、轮播图部署发到门户这个服务器上,而不去动学习中心这个服务器。这里使用一个消息中间件(RabitMQ)来监听队列,每一个页面都有其所属站点的id可以使用rabitmq的路由(routing)模式,监听每个站点的id,简而言之就是把站点的id作为routing Key。这样就可以实现页面只会发布到其所属的服务器上。5.4课程管理这个模块面对的是教育机构和老师,在这一统一管理自己的课程。这里实际用spring data Jpa,Mybatis来操作mysql数据库。其中spring data Jpa用于表的基本增删改查,Mybatis用于复杂的多表连接查询,且使用druid来管理连接池(阿里巴巴提供

    21、的数据库连接池,它已经和spring整合到一起了)。这里可以细分为:查询:这里涉及到多表关联查询,使用mybatis的Page helper分页插件,尅实现分页查询功能。具体是拦截sql语句,添加分页语句来实现分页查询分类:课程必须选择分类信息,在门户的分类选择中需要显示对应类目的课程,所以要先建立分类查询接口,而接口的响应格式按照前端的要求来定义。数据字典:课程中有很多信息,为了信息的易管理和维护,可以通过建立数字字典集合来实现。这样做的好处是,对业务可以分类管理,并且解决硬编码的问题。例如,在添加课程选择分类信息时,如果采用固定的写法,那么后期需要更改这个信息就要修改页面。这样明显是不符合易维护的需求的。所以这里从数据字典来获取,如果以后要修改则修改数据字典即可,提高系统的维护性。这个数据字典在MongoDB中创建,详细信息见数据库设计新增课程:点击新增按键,调用前端页面,填写信息,实现过程和页面管理实现的操作大同小异,这里不再进行说明。修改课程:进入管理页面,编辑课


    注意事项

    本文(基于BS架构的网络教学平台的设计与实现毕业论文Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开