第四章描述考试系统详细设计,从常规的在线考试系统和优化使用离线存储的考试系统两部分进行介绍。
第五章是测试和结论,介绍了单元测试,并对本系统进行测试并给出测试结论。
最后一部分,对开发过程中的知识总结,归纳结果,从本文的研究中得出结论,并对存在的问题提出解决方案。
第二章 相关技术及环境配置
在开发本系统时需要用到一些技术,如Node.js、 Angular.js等。本章节对相关技术进行了简单的介绍,以及对相关技术所需要的环境配置进行介绍。
2.1 相关技术介绍
Node.js在2008年横空出世,使得前端发展进入了一个井喷模式,随之而来的全栈开发亦是风风火火。
2.1.1 MEAN介绍
MEAN stack的理念是仅使用JavaScript一种语言来驱动整个应用[5], 可概括为:
M=MongoDB/Mongoose.js。mongodb是现今最流行的NOSQL数据库。在数据存储时采用内存到文档的映射,查询性能很高。适用于需要动态查询支持或对大数据库有性能要求的场合,并且支持JavaScript直接查询。此外,支持JSON格式直接入库,提供了极大的便利性。源:自*751`%论,文'网·www.751com.cn/
E=Express是一个小巧的、灵活的Node.js Web应用程序框架。它为网页和移动应用开发提供强大的功能。利用丰富的中间件插件和Node.js强大的生态,可以建立一个方便快捷强大的应用程序。可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参数来动态渲染 HTML 页面。
A=Angular.js:HTML声明了静态文档,但当我们将HTML使用在动态视图时,就显得捉襟见肘。Angular.js扩展了HTML语法,使得HTML极具表现力和可读性[6]。Angular.js 使得开发现代的单一页面应用程序(SPA)变得更加容易。Angular.js 把应用程序数据绑定到 HTML 元素。可以克隆和重复 HTML 元素。可以隐藏和显示 HTML 元素。可以在 HTML 元素“背后”添加代码。支持输入验证。通过指令扩展了HTML,且通过表达式绑定数据到 HTML。
N=Node.js是一个基于Chrome V8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,在运行效率上高于php、python等大多数服务器脚本语言[7]。Node.js 的包管理器 npm,是全球最大的开源库生态系统。
MEAN stack中还有一些外围技术:
Gulp: 充分借鉴了Unix的管道思想,从而拥有没有中间文件直接写入硬盘的能力。代码优于配置,使复杂的任务简单化。通过严格的插件管理指引,确保每个插件简单。以最大并发数运行,提升效率。
Bootstrap: Bootstrap是开发响应式网站和移动优先的最流行的HTML,CSS和JavaScript框架[8]。Bootstrap有一个强大的栅格系统,并且能在手机端通用,使其从小屏幕到高清晰度的显示屏都能简单灵活的适配。
测试库:借助世界级的测试框架,比如 MochaJS、JasmineJS 和 KarmaJS,可以为自己的 MEAN 应用程序编写深入而又全面的测试套件。此外,适用于Express的Ajax调用工具supertest可以模拟异步操作,提供了测试HTTP的一个高层次的抽象。使用Travis CI可以持续集成测试,使用PhantomJS可以实现无界面测试,页面自动化,屏幕截图和网络监控。
可视化套件:不论是现有数据的可视化展示,还是数据的可视化探索,都需要拥有计算机编程能力、美学设计能力和数据分析能力的专家来协助开发。得益于百度H5制作平台的发布,可以实现设计图直接转换成HTML5页面。文献综述
2.1.2 基于HEML5的本地存储