基于HTML5和Node.js的小学生日常管理系统的设计与实现.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于HTML5和Node.js的小学生日常管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于HTML5和Node.js的小学生日常管理系统的设计与实现.doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录摘 要IIAbstractIII目录IV1 前言72 开发工具及相关技术72.1 开发工具WebStore介绍72.2 Node.js介绍72.3 HTML5介绍82.4 MongoDB介绍93 小学生日常管理系统分析103.1 小学生日常管理系统角色分析103.2 系统功能需求分析123.2.1 登录模块123.2.2 作业模块133.2.3 信息发布模块133.2.4 资源学习模块133.3 非功能需求134 小学生日常管理概要设计144.1 系统架构设计144.2 系统功能结构设计154.3 系统数据库设计164.3.1 逻辑设计164.3.2 物理设计185 小学生日常管理系统详
2、细设计215.1 登录注册215.1.1 登录注册的详细设计215.2 通知管理225.2.1 通知管理的详细设计225.3 作业管理265.3.1 作业管理的详细设计265.4 学习资源管理345.4.1 学习资源管理详细设计345.5 学生管理385.5.1 学生管理的详细设计386 小学生日常管理系统的实现406.1 登录注册功能的实现406.2 通知管理的实现426.3 作业管理的实现436.4 学习资源管理的实现446.5 学生管理的实现467 小学生日常管理系统测试477.1 环境搭建477.2 系统功能测试47总结48参 考 文 献49谢辞50441 前 言目前我国的教育体制正处
3、在不断改革,创新的阶段。随着社会的发展和经济时代的到来,学校教学质量的提高,生源在不断扩大。尤其是自从国家实施大众化教育,我国学校的招生数量急增加。众多学生管理就成了一个现实问题摆在了人们的面前。学生的日常管理是学校管理中比较重要的部分。主要原因是因为工作繁杂,工作量比较大,其次因为学生繁多,不容易管理,传统的管理模式已经不能适应学校的发展。需要一款适合学校教育的操作简单、功能完善的学生日常管理系统。作为学校,除了育人还要育知,学生的日常管理是学校教育工作中的重要组成部分,涉及到多种角色,它的内容无论是对管理者和被管理者来言都是至关重要的。为用户提供充足全面的信息和快捷的查询手段成为急需解决的
4、问题。学生可以更合理的安排时间,对新知识学习,对旧知识复习,提高学习效率。老师和学校可以更有效掌握学生的信息情况达到因材施教的效果。还可以在一定程度上解放老师。并且在一定程度上为以后学校教育的发展打下坚实的基础。基于这种问题,利用B/S架构和HTML5、Node.js、MongoDB数据库等相关技术开发一款学生日常管理系统。将系统运用到学生的日常管理中,使传统教育模式和新兴教育模式相结合,可以更好的辅助老师的教学,促进学生学习,使学校教育更上一层楼。2 开发工具及相关技术2.1 开发工具WebStorm介绍WebStorm是一款JavaScript开发工具,目前已经被广大中国JS开发者誉为“W
5、eb前端开发神器”。具有强大的智能提示、版本控制、本地历史、即时模板等特性。WebStorm还内置了对SASS、Node.js、CoffeeScript、Jade的支持,并且可以对自定义代码进行格式化规则。还具有基于DOM,特定浏览器完成、编写导航和用法查询、JavaScript重构、代码检测和快速修复等功能。其中智能代码补全、代码格式化、HTML提示、联想查询、代码重构、代码检查和快速修复、代码调试、代码结构预览等功能深受编程人员的喜爱。2.2 Node.js介绍Node.js是一个JavaScript运行平台,其显著特征是它的异步和事件驱动机制,以及小巧精悍的标准库。Node.js目前有两
6、个活跃的版本:长期支持版(LTS)和当前版,由Node.js基金会进行管理并且提供支持。这个行业联盟遵循开放式治理模型。自从2009年Node.js问世以来,JavaScript渐渐成为开发所有软件的语言,其地位也越来越重要,不再是只能勉强在浏览器上用一下的鸡肋语言了。这里有ECMAScript 2015的功劳,因为它解决了之前那些ECMAscript标准中遗留下来的几个关键问题。Node.js所用的Google V8引擎就是基于ECMAScript 2015开发的。ECMAScript 2015是ECMAScript标准的第6个版本,简称ES6。Node.js、React和Electron等
7、技术创新成果的功劳也不可小觑,是它们让JavaScript无处不在:从服务器到浏览器,从原生的移动端应用程序。甚至像微软这样的大公司都对JavaScript敞开了怀抱,也为Node.js的成功起到推波助澜的作用。大体上来说,Node.js和JavaScript的优势之一是他们的单线程编程模型。多个线程一般会引入Bug,Node.js保留JavaScript在浏览器中所用的模型。在为浏览器编写代码时,指令序列一次执行一条,代码不是并行执行的。然而对于用户界面来说,这样是不合理的。为了解决这个问题,浏览器引入事件机制:在点击按钮时,就有一个事件被触发,事件处理函数被调用。这种机制规避了一些在线程编
8、程中经常出现的问题,比如资源死锁和竞态条件。服务器编程中面对的情况也差不多:访问磁盘和网络这样的I/O请求会比较慢,所以希望,在读取文件或通过网络发布消息时,运行平台不会阻塞业务逻辑的执行。Node.js用三种技术解决这个问题:事件、异步API、非阻塞I/O。当程序在处理其他事件时,发起一个请求来获取网络资源,然后当网络操作完成时,将会运行一个回调函数来处理这个操作的结果。图1-1展示了一个典型的Node.js Web应用程序,它用Node.js Web应用库Express来处理商店的订单流程。为了购买产品,浏览器发起了一个请求,然后应用程序检查库存,为该用户创建一个账号,发回执邮件,并返回一
9、个JSON HTTP响应给浏览器。同时在做的其他事情有:发送了一封回执邮件,更新了数据库来保存用户的详细信息和订单。代码本身很简单,就是JavaScript指令,但运行平台是并发操作的,因为它采用了非阻塞I/O。图1-1 一个Node.js应用程序中的异步非阻塞组件2.3 HTML5介绍HTML(Hyper Text Mark-up Language)是一种用来创建网页的通用标准标记语言。由于web技术发展迅速,之前的版本已经不再满足需求,于是在2014年10月29日,万维网联盟宣布,经过8年的努力,HTML5标准完成并发布,自从HTML5发布以来,深受广大编程工作者的喜爱,目前已经成为万维网
10、最新的标准。为了更好的处理互联网应用,HTML5添加了很多新特性:(1) 语义特性(Class:Semantic):HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据和微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。(2) 本地存储特性(Class: OFFLINE & STORAGE):基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些都得益于HTML5 APPCache,以及本地存储功能。包括Indexed DB(HTML5本地存储最重要的技术之一)和API说明文档。(3) 设备兼容特性(Class: DEVICE ACCE
11、SS):从Geolocation功能的API文档公开以来,HTML5为网页开发工作者们提供了更多功能上的优化选择,带来更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音直接与麦克风及摄像头相联。(4) 连接特性(Class: CONNECTIVITY):更有效的连接工作效率,使得基于页面的实时聊天,更快速的网络游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性将实现将数据“推送”到客户端的功能。(5) 网页
12、多媒体特性(Class: MULTIMEDIA):支持网页端的Audio、Video等多媒体功能,与网站自带的APPS,摄像头,影音功能相得益彰。(6) 三维、图形及特征特性(Class: 3D, Graphics & Effects):基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中所呈现的惊人视觉效果。(7) 性能与集成特性(Class: Performance & Integration):没有用户永远等待你的LoadingHTML5会通过XMLHTTPRequest2等技术,解决以前跨域等问题,帮助您的Web应用网站在多样化的环境中更快速的工作。2.4
13、MongoDB介绍MongoDB是一个基于分布式文件存储的数据库。由c+语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关节型数据库中功能最丰富的,最像关系型数据库的。它支持的数据结构非常松散,类似JSON的BSON格式,因此可以保存比较复杂的数据类型。Mango最大特点就是它支持的查询语句非常强大,其语法有点类似面向对象的查询语言,几乎可以实现类似关系型数据库单表查询的绝大数功能,而且还支持对数据进行索引,除了这个特点它还有以下特性:(1) 面向集合存储,容易存储对象类型的数据。在MongoDB中数据被分组存储
14、在集合中,集合类似RDBMS中的表,一个集合中可以存储无限多的文档。(2) 模式自由,采用无模式存储。在MongoDB中存储的数据是无模式的文档,采用无模式存储数据是集合区别于RDBMS中的表的一个重要特征。(3) 支持完全索引,可以在任意属性上建立索引,包含内部对象。MongoDB的索引和RDBMS中的索引基本一样,可以在指定属性、内部对象上创建索引以提高查询速度。除此之外,MongoDB还提供创建基于地理空间的索引能力。(4) 支持查询。MongoDB支持丰富的查询操作,MongoDB几乎支持SQL中大部分查询。(5) 强大的聚合工具。MongoDB除了提供丰富的查询功能外,还提供强大的聚
15、合工具,如count、group等,支持使用MapReduce完成复杂的聚合任务。(6) 支持复制和数据恢复。MongoDB支持主从复制机制,可以实现数据备份、故障恢复、读写扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。(7) 使用高效的二进制数据存储,包括大型对象。使用二进制格式存储,可以保存任何类型的数据对象。(8) 自动处理分片,以支持云计算层次的扩展。MongoDB支持集群自动切分数据,对数据进行分片可以使集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。(9) 支持Perl、PHP、Java、C#等语言的驱动程序,MongoDB提供了当
16、前所有主流开发语言的数据驱动包,开发人员使用任何一种主流开发语言都可以轻松编程,实现访问MongoDB数据库。(10) 文件存储格式为BSON(JSON的一种扩展)。BSON是对二进制JSON的简称,BSON支持文档和数据的镶嵌。(11)可以通过网络访问,可以通过网络远程访问MongoDB数据库。3 小学生日常管理系统分析本章主要是根据学生日常管理系统的特点对系统的需求进行完善的整理和叙述。本章首节主要是对学生日常管理系统角色进行分析和划分,接下来就是对学生日常管理系统进行需求分析,其中包含功能需求和非功能需求。3.1 小学生日常管理系统角色分析根据对小学生日常管理系统简单分析,将系统角色划分
17、为学生、老师、家长、管理员,具体职能如表3-1所示。 表3-1 系统角色 系统角色分析 职责描述 管理员 对学生、家长、老师信息进行管理 学生 学习课程、查看通知、签到 老师 上传资源、查看通知、管理学生 家长 查看通知 小学生日常管理系统是为了给老师、学生、家长在教育和学习过程中提供帮助。因此从老师、学生、家长的角度来进行需求分析,得到以下需求。从学生的角度来分析需求。(1) 在系统中可以对老师上传的资源进行在线学习,可以对新知识的学习和对旧知识的复习,并且可以进行签到。(2) 在学习之后可以查看老师布置的作业,并且完成后可以上传,可以查看老师给的评论。(3) 可以随时接收发送的通知。(4)
18、 修改个人资料。从家长的角度来分析需求。(1) 可以在系统中查看老师布置给孩子的家庭作业和老师给予的评论,并且可以督促孩子完成。(2) 可以接收查看系统发布的通知。(3) 修改个人信息。从老师的角度来分析需求。(1) 可以根据每天的教学进度向系统上传作业。(2) 可以对学生每天反馈的作业进行查阅和评论。(3) 可以根据当日教学情况来上传学习资料。(4) 修个个人信息。(5) 发布通知。从管理员的角度来分析需求。对老师、学生、家长信息进行管理。通过对系统的功能分角色分析,需求划分如图3-1所示。图3-1 小学生日常管理系统角色分析3.2 系统功能需求分析通过对学生日常管理系统需求的调研,将系统的
19、需求主要划分为以下几部分:学习功能、作业功能、信息发布功能、登录功能等等。如图3-2所示。图3-2 学生日常管理系统需求模块3.2.1 登录模块登录模块:用户打开登录界面,登录系统。登录成功之后,可以对用户的个人信息进行修改,包括修改密码、个人信息、登录图标等。登录模块主要分为注册和登录两个功能。(1) 注册:用户打开系统注册界面,分角色注册,每个角色拥有不同的权限。(2) 登录:用户打开登录界面,填写用户信息,用户信息验证成功登录系统,还可以对用户的个人信息进行修改。3.2.2 作业模块作业模块:作业模块主要参与者是老师、学生、家长。作业模块主要分为家庭作业、上传作业、学生作业三个功能。(1
20、) 家庭作业:老师根据每天的教学工作来布置作业。学生通过“家庭作业”查看和完成老师布置的作业。家长可以查看老师布置的作业,督促学生完成每天的作业。(2) 上传作业:学生完成老师布置的作业之后,可以通过系统上传作业。学生和家长可以查看老师的评论。(3) 学生作业:老师接收到学生反馈的作业可以对其进行审查评论。3.2.3 信息发布模块信息发布模块:信息发布模块主要参与者是老师、学生、家长。信息发布模块主要分为通知列表和通知发布两个功能。(1) 通知发布:老师的主要工作就是可以根据学校的教育教学安排通过系统来发布消息。(2) 通知列表:老师通过通知列表可以查看和删除发布的消息,并且通过家长阅历按钮来
21、查看学生家长是否对通知阅读。学生和家长可以通过系统对通知查看。3.2.4 资源学习模块资源学习模块:资源学习模块主要参与者是老师和学生。资源学习模块主要分为学生签到、资源列表、学生签到三个功能。(1) 签到:学生可以通过签到按钮每天进行签到,老师可以查看每天学生签到情况。(2) 资源列表:老师可以根据每天的课程安排来上传资源,培养学生自主学习能力。学生可以对老师上传的资源进行下载查看。(3) 学生签到:老师可以查看学生每天是否进行签到。3.3 非功能需求一款软件的需求可以分为功能性需求和非功能性需求,在软件在设计阶段功能性需求固然重,但是非功能性需求也是不可或缺的,并且也是常常被轻视,甚至被忽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 农业相关
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内