摘要:随着互联网技术的发展,社会不断的进步,对互联网的依赖不断地加深,人民活动中积累的数据不断增多,如何管理日益增加的数据就成了一个难题。尤其是各大高校课程管理的需求越来越复杂,完全依靠人工来处理几乎是不可能的事情。
根据当今需求的现状,我将开发一个基于nodejs的实验室管理系统。
本文分析了该系统的需求分析、技术基础、设计思路,并对以完成的系统进行了严谨的实用性测试。
本文主要完成了以下几点的工作:
(1)对该系统的必要性和可行性进行了完整的需求分析
(2)讨论了实现一个高效的管理系统所需的技术细节与技术选型时注意的问题
(3)对该系统实现的总体设计思路进行了阐述
(4)在生产环境中运行的系统上进行了严谨的测试
关键词:管理系统;Web;nodejs;
目录
摘要
Abstract
1 绪论-1
1.1 项目开发背景-1
1.2 国内外发展现状-1
1.3 需要解决的主要问题-2
2 项目需求分析-3
2.1 项目背景-3
2.2 项目目标-3
2.3 项目方案描述-3
2.4 项目范围-3
2.5 功能详述-3
2.5.1 提供实验室、实验项目、设备信息的增删查改-3
2.5.2 提供实验室、实验项目、设备信息的关联-4
2.5.3 资料文件的上传、获取-4
2.5.4 查看、修改、审核数据的分离-5
2.5.5 用户的登陆、注册-5
2.5.6 可被受限编辑的页面展示数据-6
3 项目涉及的技术-7
3.1 ECMAScript程序设计-7
3.1.1 es原型链与面向对象-7
3.1.2 monad与流程控制-7
3.2 node服务器端开发-8
3.2.1 服务器端开发模式-8
3.2.2 koa web服务框架-9
3.3 数据存储与缓存-10
3.3.1 MongoDB-10
3.3.2 关系型数据库-10
3.4 设计模式-11
3.4.1观察者-11
3.4.2 状态-12
3.4.3 命令-12
3.4.4 模型-视图-控制器-13
4 系统设计-14
4.1 系统整体框架设计-14
4.2 数据库设计-15
4.2.1 数据库汇总表-15
4.2.2 图片表-16
4.2.3 视频表-16
4.2.4 学期表-17
4.2.5 设备表-17
4.2.6 设备信息表-17
4.2.7 实验室表-18
4.2.8 实验室项目表-18
4.2.9 用户表-19
4.3 安全性设计-20
4.3.1 用户注册校验-20
4.3.2 用户登陆-20
4.3.3 非法url访问限制-21
4.3.4 SQL注入防御-21
4.4 并发性设计-22
4.4.1 并发流程控制-22
4.4.2 业务逻辑上的数据同步-23
5 系统测试-24
5.1 测试工具-24
5.2 功能测试-24
5.3 压力测试-25
5.4 安全性测试-25
5.5 测试结果-25
结 论-27
参 考 文 献-28
附录A 程序代码-29
致 谢-87