《开题报告-口袋自考后台系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《开题报告-口袋自考后台系统的设计与实现.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、题目:口袋自考后台系统的设计与实现学院: 软件学院 专业: 软件工程 学生姓名: XX 学号:XXXXXXXX项目概述:随着社会的发展进步,国民文化水平、素质的不断提高,企事业单位对人才的文 化水平的需求也不断提升,学历、文凭也就成了衡量人才的标准,也体现了个人地位 及身份的一种标志、企事业单位实力和文化素质的象征。学历、文凭是企事业单位就 职、提升、调干的一个重要门槛,哪怕你拥有高超的技能,一流的资历及管理水平, 没有学历、文凭进行渡金也是无法发展进步。一定程度,学历就是好工作的敲门砖, 是进入好企业、好单位的第一步,因而有个国家承认的本科学历在当今社会无疑很重 要。然而,由于众多原因,在接
2、受全日制教育的过程中,很多人不得不选择接受专科 教育,而在现实工作中,本科学历却成为很多人求职、升迁的第一阻力。因此相当多 的一部分人会选择自考机构考取本科文凭。然而自考者基本都是成年人,琐事缠身, 并没有多少时间去参加这种传统的教学。随着智能手机的普及和“互联网+”概念的提 出,利用互联网、大数据等来协助教学变得日见火热。2015年11月我进入北京口袋学习科技有限公司实习,参与“口袋自考app后 台的研发。“口袋自考”app便是公司顺应“互联网+教育推出的面向本科自考移动 教育方案。“口袋自考app”通过互联网、搜索与大数据分析技术为广大受教育人群提 供个性化的课程内容,包括智能题库、知识点
3、分析与讲解、课程直播、拍照搜题、社 区等服务。学生通过“口袋自考” app能够在移动平台上利用空闲时间观看课程视频, 刷题练习,参加模拟考试,了解最新的考情资讯,充分利用空域闲暇时间,做到工作 学习两不误。“口袋自考” app后台系统通过网络为用户手中的app提供所有的功能支持,是 公司自考服务的具体体现,决定着公司所提供的自考服务的品质,直接关系到用户的 使用体验。只有一个高效、稳定、可拓展的后台系统才能保证用户完美的使用体验, 并适应公司未来业务拓展所带来的改变。我在公司实习期间专注于后台系统的研发,本次毕设本着从实践中来到实践中去 的理念,将对公司现有的后台系统的业务逻辑、系统架构进行全
4、面的探讨和优化,并 对刷题练习、知识点掌握等的判断算法进行讨论。其主要内容是将社区、资讯、刷题、课程、账户等业务内容进行分离,单独开发, 单独部署,确保模块的独立性,以减轻后期并发数量上升对单个服务器造成压力和业 务变更带来的影响。主要困难在于如何在复杂的网络条件下确保拆分后的各个模块间高效稳定的通 信和数据同步。另外出题策略和知识点掌握情况算法的选择和验证也是需要重点验证 的。设计方案:口袋学习科技有限公司顺应“互联网+教育”的潮流,面向广大自考学子推出“口 袋自考” app,以满足他们免费学习,随时随地利用空余时间学习的需求。公司为广大 学子们提供在线教学视频、课程直播、在线练习、模拟考试
5、、知识点讲解、社区交流、 资讯通知等一系列服务。为了满足公司业务需求,技术部特为其研发“口袋自考” app 后台系统。根据公司业务内容,后台系统共分为资讯、社区、刷题、课程、账户五大业务逻 辑模块。分别是:1)资讯:提供自考的官方消息,公司活动,考试学习方法等等一些阅读性的文章;2)社区:学员间交流分享;3)刷题:核心模块,提供知识讲解、章节练习、智能刷题、历年真题和模拟考、 奖学金等功能,系统根据用户的学习情况自动为用户提供相应的知识讲解,练习,协 助用户查漏补缺,更加科学有效的学习;4)课程:提供优秀的视频教程、在线直播、课程购买等功能,将自我练习与老师 授课相结合加深学员对知识的理解;5
6、)账号:记录用户数据,为其它模块的正常运行提供支持。除以上5大模块外还有一个管理模块broker,该模块主要负责处理前端发送 过来的请求,根据需要转发到具体的功能模块,同时也会监控系统状态。该模块是解 除业务之间依赖的关键。以上6个模块都处于不同的服务器端,而且根据各个模块根据业务对性能和开发 时间的要求将采用不同的开发语言,因而采用RPC作为各个模块间的通信协议。gRPC 是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于 HTTP/2协议标准而设计,基于ProtoBuf (Protocol Buffers)序列化协议开发,且支 持众多开发语言。gRPC提供了一种
7、简单的方法来精确地定义服务和为iOS、Android 和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。gRPC 支持多种语言,并能够基于语言自动生成客户端和服务端功能库。目前,在GitHub上 已提供了 C版本grpc、Java版本grpc-java和Go版本grpc-go,其它语言的版本正 在积极开发中,其中 grpc 支持 C、C+、Node. js Python Ruby Objective-C PHP 和C#等语言,grpc-java已经支持Android开发。预期项目上线之后能够稳定
8、运行,可以通过增加服务器的数量缓减单台服务器压 力。主要参考文献:1浅谈高等教育自考本科的重要性北京国研锦成教育-新闻中心2016-01-222gRPC : Google开源的基于HTTP/2和ProtoBuf的通用RPC框架李小兵 3 gRPC Motivation and Design Principles grpc.io4UNIX网络编程:第2版.第2卷,进程间通信(中文版)(美)W. Richard Stevens 人民邮电出版社2010-75Redis设计与实现黄健宏机械工业出版社2014-66分布式系统概念与设计George Coulouris机械工业出版社2008-17并行程序设
9、计Barry Wilkinson/Michael Allen/陆鑫达 机械工业出版社2005- 5-1毕业设计(论文)进度安排:序号毕业设计(论文)各阶段内容时间安排备注1调研毕设相关资料内容2016/3/16 - 2016/3/202设计并实现系统的框架2016/3/21 - 2016/3/263设计模块间的接口2016/3/27 - 2016/3/304实现broker模块2016/4/1 - 2016/4/55实现账户、资讯模块2016/4/6 - 2016/4/126刷题模块出题策略研讨2016/4/13 - 2016/4/167实现刷题模块2016/4/17 - 2016/4/258系统部署测试2016/4/26 - 2016/4/289毕业设计论文撰写2016/4/29 - 2016/5/10指导教师意见:指导教师(审核签名):审核日期:2016年3月1。日