当前位置:大学毕业论文> 专科论文>材料浏览

关于管理系统类硕士学位毕业论文范文 与基于Tomado的课程管理系统的设计和实现相关毕业论文范文

主题:管理系统论文写作 时间:2024-01-30

基于Tomado的课程管理系统的设计和实现,该文是关于管理系统类论文范文素材和Tomado和课程管理系统和设计类论文范文素材.

管理系统论文参考文献:

管理系统论文参考文献 图书管理系统论文图书管理系统毕业论文超市管理系统论文学生管理系统论文

摘 要:针对目前智能课堂的研究,关于课程的管理系统就提出来了.因此,开发了一种基于Tornado和React技术的课程管理系统.通过Tornado框架作为后端框架,实现数据库中数据的增、删、改、查操作,Tornado与现在主流的Web服务器框架相比有着明显的优势:它是非阻塞式服务器,而且速度相当快,这对于当下的Web开发来说至关重要.前端部分采用React技术将前台表单中输入的数据传输到后端数据库中,并且对数据库中的数据进行相应的操作,React的一切都是组件化的,使得代码更加的模块化,重用代码将变得更加容易,可维护性极高.该系统的开发过程还彻底的实现了前后端分离,前后端的联系仅靠API联系起来,前端部分的开发引用了Mock-api这一虚拟的服务端接口完成前端部分开发.这一开发技术路线充分展现了Tornado和React对Web开发的优势所在,也可以提高这一系统的可维护性.

关键词:Tornado;React;Mock-api;管理系统

中图分类号:TP315 文献标识码:A

1 引言(Introduction)

如今,互联网不仅大大方便了我们的日常生活,还提升了人与人之间的沟通效率,互联网发展到现在,不得不与人工智能开始产生交集.人工智能平台大多从互联网企业转型而来,因此可以说那互联网AI化就是人工智能.互联网的未来也一定是走向人工智能[1].随着教学改革的不断进行,各个高校对教育管理系统的自动化需求也越来越大.学校应该充分利用计算机所带来的技术来服务于高校,随着最近几年AI技术的快速进步,算法、算力和数据之间的进步,高校对教育管理系统对系统智能化的需要也越来越高.基于Python的Tornado框架就很好的解决了C10K问题,大多数社交网络会展示实时更新来提醒新消息、状态变化和用户通知,这要求客户端始终有一个打开的连接等待来自服务器的任何响应.这就使得Apache的最大线程池会迅速的饱和.一旦线程池的资源耗尽,服务器将无法再响应新请求.异步服务器的应用也就提出来了,Tornado正是被设计来减轻基于线程的服务器的限制的,也就是说,如果当前请求正在等待来自其他资源的数据,则异步服务器可以显式控制暂停请求[2].随着学校规模的扩大,学生人数逐渐增加;学校的课程也越来越多,课程管理也就变得尤为重要,因此智能课堂的完善需要这个课程管理系统来进一步实现.

2 Tornado技术介绍(Introduction of tornadotechnology)

Web开发人员可用的工具已经得到全面发展.随着技术专家不断突破极限并使Web应用程序无处不在,我们还必须升级我们的工具并不断创建更好的框架以确保更好的应用程序.同时,我们也希望能够使用新工具,以便我们可以编写更清晰、可维护的代码,这些代码在部署到全球用户时具有高度可扩展性.Tornado框架也就提出来了,Tornado是一个编写易创建、扩展和部署的强大Web应用程序的绝佳选择.它是一个用Python编写的功能强大且可扩展的Web服务器.Tornado是FriendFeed网站的基础,于2009年9月10日发布,目前不仅得到了许多社区的支持,而且被应用于各种不同的场合.除FriendFeed外,还有许多公司在生产上转向Tornado,包括Quora、Turntable.fm、Bit.ly、Hipmunk和MyYearbook等.

当FriendFeed被FaceBook收购后得以开源.与那些只能达到10000个并发连接的传统Web服务器不同,Tornado在设计时充分考虑了性能,该设计旨在解决C10K问题,使其成为一个非常高性能的框架.此外,它还具有处理安全性、用户身份验证、社交网络和外部服务(如数据库和用于异步交互的网站API)的工具[2].

3 系统设计(System design)

3.1 系统技术支持

该系统的后端基于Tornado技术开发,Tornado本身是一个功能强大且可扩展的Web服务器.不仅在处理高网络流量时表现的足够强大,而且在创建和编写时表现得足够的轻量级,还可以用于各种应用程序和工具.我们这里用Anaconda来运行基于python编写的Tornado程序.Anaconda工具不仅在写程序的时候对我们有很大帮助,在调式程序的时候也能起到很大的帮助,跟踪调试能够帮我们第一时间找出程序问题所在,可以根据报错信息,对代码就像修改.为了方便调试和使用,我们在测试的时候,服务器采用本机服务器,我们需要提前部署好服务器并指定端口号,也就http:localhost:8000,这里的8000指的是端口号,调试的时候端口可能会被占用,这里我们可以根据情况改成8001或者8002.前台采用React技术并通过最基础的CSS技术来对静态页面进行修饰.开发工具采用Sublime,能够对输入的React第一时间进行纠错.同时,为了提高数据库对数据的处理能力和可扩展性,数据库我们选择使用非关系型数据库:MongoDB数据库.

3.2 系统功能设计

课程管理系统整体结构图如图1所示.该系统由数据库模块,后端模块和前端模块组成.

后端模块和前端模块的主要功能是增加、删除、更新和查询课程管理系统中的课程.基于Python的Toanado框架,使后端代码足够简洁易懂,后端每完成一个方法的定义我们把这个方法封装成一个API接口,然后把这个API接口提供给前端就可以了;前端部分,我们主要应用React技术,为了不去等待后端提供的API,影响开发效率,我们选择使用Mockapi来模拟后端API接口,首先我们在Mock-api中创建一个数据库,添加一条记录,我们通过React技术把这条技术显示到经过CSS修饰过的页面当中,然后我们在页面上已经创建好的输入行中输入相关课程信息,点击“Create Course”即可将前台输入的数据存入后代数据库中,并且在前台页面也能实时添加这条记录,查看数据库可以发现,我们插入数据的时候,数据库系统会自动为这条记录添加一个ObjectId字段,这是这条记录的主键,这个主键使唯一的,这个字段也是索引和进行修改删除操作的依据.每条数据的后面都有“Edit”和“Delete”按钮,点击“Edit”使数据变成可编辑状态,这个时候可以对数据库里的数据进行修改,修改完成之后单击“Update”以完成此数据的更新,此时后台就是根据前台提供的这个字段来进行索引任何更新数据.点击“Delete”也可以删除这条数据,根据前台传递的ObjectID来索引,找到这条记录然后删除.另外还可以根据任一个字段的信息来查找这条课程记录.课程列表页面如图2所示.

3.3 数据库设计

目前关系型数据库还是主流的数据库,比如Mysql.根据快速发展的网站规模的要求,关系型数据库需要满足三个高要求:需要高度并发读取和写入数据库,需要对大量数据进行高效存储访问,以及需要高度可扩展的数据库高可用性.为了满足这些需求,关系型数据库采用的技术有分区、分表和分库,但这需要修改业务逻辑层,这改变起来代价相当大.这个时候非关系型数据库的优势就开始体现出来了,非关系型数据库例如MongoDB就可以很好解决横向扩展问题.因为MongoDB中的Collection没有模式,所以不存在模式变更,由于Collec t i o n相互之间没有约束关系,也不能执行复杂的连接操作,所以MongoDB很容易支持分布式部署[ 3 - 6 ].该系统后台数据库部分使用MongoDB数据库,数据库名称为Course,Collection名称为courses.该数据库中有一个ObjectId字段是在插入数据的时候系统自动生成的,这个字段使唯一的.除了ObjectId,其余字段都可以为空.我们这里可以把任意一个字段作为索引依据,方便我们在搜索的时候可以依据每一个字段进行搜索,数据库中的数据如图3所示.

3.4 系统安全设计

Web应用程序中访问控制机制中的漏洞,允许攻击者未经授权能够访问其无权访问的资源.Monshizadeh等人提出的MACR工具[7]基于多条路径不一致的行为特征,能够自动地检测Web应用程序中的越权漏洞.Pellegrino等人[8]提出了一种新型的黑盒测试的方法.通过从用户和Web应用程序交互的网络记录中识别Web软件的行为模式,再加上一些常见的攻击场景,生成测试样例.使用这种方法成功地在商用Web应用程序中发现多个位置漏洞.Weissbacher等人[9]指出:浏览器中部分函数并不会受到同源策略(SOP)的限制,这就导致Web程序可能会因这些渠道而受到攻击.

在安全方面,Tornado Web服务器在设计的初期就着重考虑到了,这也使得其能够更容易的防范那些常见的漏洞.安全cookies可以防止用户的本地状态被浏览器中的恶意代码暗中修改.此外,浏览器cookies可以与HTTP请求参数作比较来抵御跨站请求伪造攻击.事实上,有很多种方式可以拦截浏览器中的cookies.JaScript和Flash对于它们所执行的页面的域有读写cookies的权限.浏览器插件还可以用编程方法访问这些数据,跨站脚本攻击可以有效利用这些访问从而修改访客浏览器中的cookies的值.Tornado的安全cookies使用加密签名的方式来验证cookies的值是否已经被服务器软件以外的任何人修改.由于任何恶意脚本都不知道正确的安全密钥,因此它不能在应用完全不知情的情况下去任意修改cookies的值.然而,Tornado的安全cookies仍然容易被窃听.恶意攻击者可以通过脚本或浏览器插件截获cookies的值,或者干脆直接窃听未加密的网络数据.记住cookies值是签名的而不是加密的.恶意程序可以读取已存储的cookies,并可以将数据传输到任何一个服务器,或者通过发送没有修改的数据给应用程序伪造一个请求.因此,避免将敏感的用户数据存储在浏览器cookies中非常重要.我们还需要注意是,用户也有可能需要去修改他自己的cookies,在这个过程中也会导致遭受攻击.例如,如果我们在cookies中存储了用户已付费的文章剩余的浏览数,我们希望阻止用户自己去更新有关的数值来获取免费的内容.Httponly和secure属性就可以有效帮助我们防范这种攻击.

3.5 系统流程

本系统以为智能课堂服务的目的,来设计满足各种功能要求,使课程信息得以实时的更新,同时还保证了系统内部数据的信息安全.首先我们利用React技术搭建好最基本的前台页面和实现与在Mock-api中建立的数据库的各种通信,对数据库中的数据进行添加、删除、修改和查询等操作.在前后台对接的时候,我们使用axios请求后台API数据,进而对数据库进行操作,tornado通过路由的形式把API提供给前台,前台在实现对数据库中数据进行操作的同时也对页面上显示的数据进行实时的更新.同时了为了保证系统的安全性,我们优化了前后台代码.从前台React基本功能的实现,到使用axios请求后台API数据,到后台Tornado处理前台传入的数据,成功的实现了React和Tornado前后台对接的课程管理系统.

4 系统测试(System test)

通过对该课程管理系统采用分步测试的方法,因为前后端使完全分离式进行开发的,我们在前台进行前台开发测试的时候,只需要满足对页面数据的更新和操作,而不需要对数据库中的数据去定义各种方法,所以测试起来更加的方便和简介.后端部分定义好接口之后能够实现各个功能就够了,在测试过程中分别对前后台采取断点跟踪调试.对前台进行测试的时候,我们根据每一个功能采用断点跟踪调试的方法对从前台页面中输入的数据实时跟踪.在后台部分,我们从前台接收到数据然后与数据库之间进行交互也是一步步测试,通过多次测试,最终代码完全没有报错,能够成功实现前后台对接的功能.保证了系统的正常使用需求.

5 结论(Conclusion)

通过这个课程管理系统,使用Tornado和React框架满足了系统大部分需求;考虑到数据的安全性需求,使用Tornado作为后台代码并充分利用Tornado框架自带的一些安全机制,不仅保证了信息的安全性,而且代码还足够的轻量化.在高性能Web技术基础之上,摒弃了关系型数据库的种种约束,引进非关系型数据库MongoDB集群和相适应的开发模型以保证系统的高性能、高可用性和高安全性.React创建的用户交互界面相当友好且设计简洁,当数据发生变化时,React可以做到高效地更新渲染界面,使得数据能够实时的更新同步.当然对于MongoDB数据库在这里的应用也有不足之处,对于一些需要连接起来的数据表使用MongoDB就不行了,再就是Tornado常被用作大型站点的接口服务框架,而不能像Django那样着眼于建立完整的大型网站.关于根据任意字段进行搜索的功能也还有待进一步进行开发.页面的完整性和观赏性也有待提高.

归纳上文:此文是一篇适合不知如何写Tomado和课程管理系统和设计方面的管理系统专业大学硕士和本科毕业论文以及关于管理系统论文开题报告范文和相关职称论文写作参考文献资料.

光纤线路自动监测与管理系统设计方案
摘 要 文章首先介绍了光纤线路自动检测及管理系统的设计特点,从功能需求的层面来进行 在此基础上重点探讨硬件以及软件系统的设计方案,从网络组成与使用功能实现……方面进行 在实际管理系统的设计优化中,需要.

高职院校图书馆信息管理系统的设计和实现
随着计算机技术的发展及其在各个领域中的广泛应用,相应的一些计算机软件也不断出现 在高职院校的图书馆管理工作中,也逐渐采用计算机技术,这样能够促进图书信息管理的效率 本文从实际出发,关注于未来的发展,建.

BIM公路隧道运维管理系统设计和
摘要近几年,我国建筑工程施工逐渐朝着信息化、技术化方向发展,BIM技术因其具有的程序性和精确性而被广泛应用建筑工程的公路隧道运维管理中,可通过对工程整体施工情况的全面掌握来实现工程经济效益的最大化 本.

校企融合互通背景下高职酒店管理专业课程的系统优化
张向东(浙江旅游职业学院浙江杭州311231)摘要高……职业教育的课程模式已经走向多元化,课程内容也由教本化走向多样化,面向酒店业的专业课程的系统优化也必须与时俱进 文章阐述了校企融合互通背景下酒店管.

论文大全