基于Python的中小学云课堂平台设计与实现
发布时间:2020-10-25 00:45
本人实习所在的北京云江科技有限公司(阿凡题)是一家着眼于中小学在线教育的公司,旗下已拥有支持iOS、Android、Windows、macOS端一对一教学的应用。目前公司在业务探索过程中为打通在线教育生态系统,同时解决国内免费中小学在线课堂平台并不丰富以及各地区教育资源倾斜的问题,启动了创新项目——中小学云课堂平台。该平台通过站方对课程资源的审核、整理、上传,使得学生能够随时随地浏览高质量的在线课程。作者在前期参与了项目从0到1的全过程,包括用户调研、需求挖掘等,深入了解目前公司产品业务链路,结合业务特点打通需求及设计链条,完成平台框架设计、数据库设计。进入项目实现阶段后,作者独立开发了用户(学生)端的用户模块、云课堂模块、明星学校模块、授课教师模块,以及管理(站方)端的后台管理模块。完成了找课、看课、学课等一系列业务流程,同时在用户模块、云课堂模块中实现了部分特色功能,包括用户数据的可视化展示以及课程推荐等。在测试阶段,作者负责并完成了上述模块的功能测试以及性能测试。本文实现的云课堂平台是经典的B/S(Browser/Server,浏览器/服务器)架构,项目语言主要为Python,Web框架采用了 MTV(Model、Template、View,模型、模板、视图)开发模式的Django,结合了 Echarts完成用户相关统计数据的可视化,应用了基于物品的协同过滤作为课程推荐算法,并接入第三方Xadmin完成后台管理模块的快速开发。平台在测试服务器运行稳定,达到为学生用户提供优质的免费在线课程资源的目标,也为站方用户提供了便捷的管理入口。同时为公司的一对一教学业务线带来流量,有助于增加付费用户的转化率,对实现整个在线教育生态闭环具有重要意义。
【学位单位】:北京交通大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:G434;G632.4
【部分图文】:
是软件工程的一个关键环节。在需求分析环节,需要对行业有足够深刻的认识,??从看似合理的业务、用户需求中探索出产品真正的需求,过滤掉不符合产品定位??的需求,从而得到最终的功能需求,作为后续设计开发工作链条中的前置条件。??本文中需求分析章节将基于K12行业现状、公司实际业务,按照业务需求、??功能需求、非功能需求三个方面依次展开。??3.1业务需求分析??根据艾瑞咨询的数据,在线教育市场经过了?2017年的快速发展,预计其市场??规模将在2018年突破2000亿,这其中K12领域占比较大。随着不断增长的在线??教育创新速度,其产业格局也在不断优化、升级,整个行业市场处在一个平稳快??速增长的阶段。作者作为项目组成员参与到了田野调查、人群画像、竞品分析等??一系列需求分析相关工作,由于篇幅有限,在此主要对2017年1月至12月阿凡??题(百度指数)分布进行简要阐述:如图3-1所示,不难发现,阿凡题关键词在百??度中的搜索流量来源大多是华东、华中、华北、华南以及西南地区。??
?系统设计???4系统设计??针对云课堂平台的业务需求分析、功能需求分析,本章首先进行了云课堂平??台系统总体架构设计,进一步引出系统各功能模块设计,随后在系统数据库设计??部分,将介绍总体概念数据模型以及物理数据模型的设计。??4.1系统总体架构设计??云课堂平台的架构体系为B/S架构,在本文2.2小节中已介绍Web框架Django??从请求到响应的基本工作流程,本章在基本框架与业务、功能需求的基础之上,??对架构进行进一步分层设计,整体系统架构示意如图4-1所示。??
系统实现??成基本的is_valid()检验以及两个字段的一致性检验。若两次输入的密码不相等,??则返回错误信息,若相等,则通过make_password()将新密码加密后存储至数据库。??对于UserUpdateEmailView,在get方法中取出需要发送的邮箱,此处需要验??证,若存在邮箱记录,则提示邮箱已存在;若不存在邮箱记录,则将email、??send_type=”update_emair'两个参数传入?send_register_email.delay()方法,异步发送??邮件,此时发送的邮件正文应是修改邮箱的文案。与此同时,在post方法中实例??化Email?Ver?ifyRecord,若用户输入正确的验证码,则更新该user对象的email字段;??若验证码错误,则提示“验证码无效”。??该部分(个人信息)整体实现示意图如下图5-2所示。??
【参考文献】
本文编号:2855204
【学位单位】:北京交通大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:G434;G632.4
【部分图文】:
是软件工程的一个关键环节。在需求分析环节,需要对行业有足够深刻的认识,??从看似合理的业务、用户需求中探索出产品真正的需求,过滤掉不符合产品定位??的需求,从而得到最终的功能需求,作为后续设计开发工作链条中的前置条件。??本文中需求分析章节将基于K12行业现状、公司实际业务,按照业务需求、??功能需求、非功能需求三个方面依次展开。??3.1业务需求分析??根据艾瑞咨询的数据,在线教育市场经过了?2017年的快速发展,预计其市场??规模将在2018年突破2000亿,这其中K12领域占比较大。随着不断增长的在线??教育创新速度,其产业格局也在不断优化、升级,整个行业市场处在一个平稳快??速增长的阶段。作者作为项目组成员参与到了田野调查、人群画像、竞品分析等??一系列需求分析相关工作,由于篇幅有限,在此主要对2017年1月至12月阿凡??题(百度指数)分布进行简要阐述:如图3-1所示,不难发现,阿凡题关键词在百??度中的搜索流量来源大多是华东、华中、华北、华南以及西南地区。??
?系统设计???4系统设计??针对云课堂平台的业务需求分析、功能需求分析,本章首先进行了云课堂平??台系统总体架构设计,进一步引出系统各功能模块设计,随后在系统数据库设计??部分,将介绍总体概念数据模型以及物理数据模型的设计。??4.1系统总体架构设计??云课堂平台的架构体系为B/S架构,在本文2.2小节中已介绍Web框架Django??从请求到响应的基本工作流程,本章在基本框架与业务、功能需求的基础之上,??对架构进行进一步分层设计,整体系统架构示意如图4-1所示。??
系统实现??成基本的is_valid()检验以及两个字段的一致性检验。若两次输入的密码不相等,??则返回错误信息,若相等,则通过make_password()将新密码加密后存储至数据库。??对于UserUpdateEmailView,在get方法中取出需要发送的邮箱,此处需要验??证,若存在邮箱记录,则提示邮箱已存在;若不存在邮箱记录,则将email、??send_type=”update_emair'两个参数传入?send_register_email.delay()方法,异步发送??邮件,此时发送的邮件正文应是修改邮箱的文案。与此同时,在post方法中实例??化Email?Ver?ifyRecord,若用户输入正确的验证码,则更新该user对象的email字段;??若验证码错误,则提示“验证码无效”。??该部分(个人信息)整体实现示意图如下图5-2所示。??
【参考文献】
相关期刊论文 前5条
1 徐荣飞;;Python正则表达式研究[J];电脑编程技巧与维护;2015年09期
2 肖旻;陈行;;基于Python语言编程特点及应用之探讨[J];电脑知识与技术;2014年34期
3 王冉阳;;基于Django和Python的Web开发[J];电脑编程技巧与维护;2009年02期
4 吴卫平;王丽芳;蒋泽军;;基于ORM的数据持久层框架研究[J];微电子学与计算机;2008年07期
5 游文;叶水生;;电子商务推荐系统中的协同过滤推荐[J];计算机技术与发展;2006年09期
相关博士学位论文 前1条
1 潘丽丽;软件测试用例集简化及其构建方法研究[D];湖南大学;2009年
相关硕士学位论文 前8条
1 吴义;基于Hadoop和Django的大数据可视化分析Web系统[D];东华大学;2016年
2 高翔;图书馆读者社区管理系统[D];天津大学;2016年
3 唐容;基于B/S架构数据管理系统的设计与实现[D];东南大学;2015年
4 王龙;基于多维度用户偏好的推荐技术研究[D];华中科技大学;2015年
5 孟婷婷;基于社交网络的推荐算法应用研究[D];重庆大学;2015年
6 赖珍珠;在线教育经营模式的研究[D];厦门大学;2014年
7 齐俊峰;基于Django的校园管理系统的分析与开发[D];兰州大学;2013年
8 李瑞冬;相似产品集在电子商务中的应用[D];电子科技大学;2013年
本文编号:2855204
本文链接:https://www.wllwen.com/jiaoyulunwen/chuzhongjiaoyu/2855204.html