django在线考试系统-计算机毕设 附源码78268

相关技术介绍开发技术说明
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于的框架进行开发 。
前端部分:前端框架采用了比较流行的渐进式框架Vue.js 。使用Vue-和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信, UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示 。
后端部分:采用作为开发框架,同时集成Redis等相关技术 。
简介
是一个高层次的脚本语言结合了解释性、编译性、互动性和面向对象的 。的设计,相比其他语言经常使用英文关键字和其他语言的一些标点符号,它具有比其他语言更有特色语法结构,具有很强的可读性 。
解释型语言:类似于和Perl语言,这意味着开发过程中没有了编译这个环节 。
交互式语言:可以在一个提示符 >>> 后直接执行代码 。
面向对象语言:支持面向对象的风格或代码封装在对象的编程技术 。
框架
是高水准的编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区 。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序 。这也正是的组件采用这种架构进行设计的主要原因 。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得具有较强的可扩展性 。项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来 。框架的核心组件有:用于创建模型的对象关系映射;为最终用户设计较好的管理界面;URL 设计;设计者友好的模板语言;缓存系统 。
已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架 。MVC是Model、View、三个单词的简写,分别代表模型、视图、控制器 。其实也是一个MTV 的设计模式 。MTV是Model、、View三个单词的简写,分别代表模型、模版、视图 。但是在中,控制器接受用户输入的部分由框架自行处理,所以里更关注的是模型(Model)、模板()和视图(Views),称为 MTV模式 。
MD5加密技术
MD5的全称是-5(信息-摘要算法),于90年代初由MITfor和RSA DataInc的 L. 开发出来,经MD2、MD3和MD4发展而来 。MD5加密是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数) 。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要 。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑 。这三个算法的描述和C语言源代码在 RFCs 1321中有详细的描述,这是一份最权威的文档,由 L. 在1992年8月向IETF提交 。
Mysql数据库
Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果 。最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求 。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷 。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算 。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的特性还支持用户的自行安装和使用 。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体 。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[8][9] 。
针对本文中设计的在线考试系统在实际的实现过程中,最终选择Mysql数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高 。综合这些因素,最终选择安全性系数比较高的Mysql来对在线考试系统后台数据进行存储操作 。
数据库管理系统的总体结构图如下图所示 。
图2-1 数据库组成结构
B/S架构
B/S架构采取浏览器请求,服务器响应的工作模式 。
用户可以通过浏览器去访问上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户 。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网 。而各个企业可以在此结构的基础上建立自己的 。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web 完成的 。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式 。
系统分析可行性分析
技术性方面,采用当前主流的技术进行系统后台主体框架的搭建,实现后台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统 。从技术角度看,这个系统是完全可以实现的 。
实用性方面,本次设计的主要任务是在在线考试系统内方便学生用户线上参加考试,查询成绩,查看考试通知,也方便教师在线设计题库,阅卷改卷,维护成绩,方便管理员对人员进行更加方便快捷的管理,大幅提高考试改卷的效率,符合当前潮流的发展 。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用 。
经济性方面,由于本课题中设计的在线考试系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件 。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上 。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个在线考试系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的 。
功能需求分析
在线考试系统的功能主要是方便学生用户线上参加考试,查询成绩,查看考试通知等 。也方便教师在线设计题库,阅卷改卷,维护成绩,方便管理员对人员进行更加方便快捷的管理,大幅提高考试改卷的效率 。
系统用例图如下所示 。
图3-1 系统用例图
非功能需求分析
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的 。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析 。面对在线考试系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析 。
安全性需求分析系统的安全性
安全性对每一个系统来说都是非常重要的 。安全性很好的系统可以保护企业的信息和用户的信息不被窃取 。提高系统的安全性不仅是对用户的负责,更是对企业的负责 。尤其针对于在线考试系统来说,必须要有很好的安全性来保障整个系统 。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性 。
数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据 。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题 。
因此,在写入数据库时,要保证数据完整性、正确性和一致性 。
数据流程分析
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员 。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理 。
系统顶层数据流图如下图所示 。
图3-2 顶层数据流图
要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面 。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作 。
系统底层数据流图如下图所示 。
图3-3 底层数据流图
【django在线考试系统-计算机毕设 附源码78268】系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果 。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作 。