node.js+社区儿童预防接种管理 毕业设计-附源码300924

Node.js社区儿童预防接种管理

摘 要

儿童预防接种工作实行网络信息化管理,是我国免疫规划工作发展的需要。接种信息实行网络信息化不仅是预防接种工作步入了一个新的台阶,更重要的是解决了多年疫苗接种过程种,免疫接种剂次不清,难以全程有效接种的问题;同时各级政府卫生行政部门亦能通过平台可以及时了解社区免疫接种率信息动态。

社区儿童预防接种管理系统主要功能模块包括疫苗信息、新闻资讯、疫苗预约、接种预约以及信息提醒等,本系统此次设计采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,系统采取Mysql作为后台数据的主要存储单元,运用软件工程原理和开发方法,采用node.js的koa技术构建的一个管理系统,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对社区儿童预防接种管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现社区儿童预防接种管理系统和部署运行使用它。

关键词:预防接种;Koa框架;MySQL数据库

Node. JS community children vaccination management

Abstract

The implementation of network information management in children’s vaccination is the need of the development of immunization planning in China. The implementation of network informatization of vaccination information not only brings the vaccination work to a new level, but also solves the problem that the vaccination process for many years is not clear, and it is difficult to vaccinate effectively in the whole process; At the same time, the health administrative departments of governments at all levels can also timely understand the dynamic information of community immunization rate through the platform.

The main functional modules of community children’s vaccination management system include vaccine information, news information, vaccine reservation, vaccination reservation and information reminder. This system adopts the object-oriented development mode for software development and hardware erection, which can well meet the needs of actual use and improve the corresponding software erection and program coding. The system adopts MySQL as the main storage unit of background data, Using software engineering principles and development methods, node JS koa technology to build a management system, to achieve all the functions of the system. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. This paper analyzes the various needs and technical problems of community children’s vaccination management system, proves the necessity and technical feasibility of the system, then makes a basic introduction to the technical software and design idea needed to design the system, and finally realizes the community children’s vaccination management system and deployment and operation.

Key words:Vaccination; Koa framework; Mysql database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

第2章 相关技术介绍

2.1 koa框架介绍

2.2 Vue.js主要功能

2.3 koa框架优点

2.4 B/S体系工作原理

2.5 Mysql数据库

2.6 JavaScript 运行模式

2.7 Ajax 应用

第3章 系统分析

3.1 可行性分析

3.2 功能需求分析

3.2.1 前台用户功能

3.2.2 后台管理员功能

3.3 非功能需求分析

3.4 安全性需求分析

3.4.1 系统的安全性

3.4.2 数据的安全性

3.5 数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统总体设计

4.3 系统功能设计

4.4 数据库设计

4.4.1 数据需求分析

4.4.2 数据库概念设计

4.4.3 数据库表设计

第5章 系统实现

5.1 数据库访问层的实现

5.2 注册模块的实现

5.3 登录模块的实现

5.4 用户资料修改模块的实现

5.5 疫苗信息模块的实现

5.6 疫苗预约模块的实现

5.7 疫苗信息管理模块的实现

5.8 接种预约管理模块的实现

第6章 系统测试

6.1 测试目的

6.2 功能测试

6.3 性能测试

第7章 总结与展望

参考文献

致谢

  1. 绪论
    1. 研究背景与意义

儿童计划免疫是根据危害儿童健康的一些传染病,利用安全有效的疫苗,按照规定的免疫程序进行预防接种,提高儿童免疫力,以达到预防相应传染病的目的。一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此迫切需要一套高效的社区儿童预防接种管理系统以提高儿童免疫接种的效率,实现信息的科学化、正规化管理,达到检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等目标。因此,开发这样一套社区儿童预防接种管理软件成为很有必要的事情。

当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信息进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。

随着管理信息系统的发展及其广泛的应用,数据库管理技术已逐步趋于成熟,其应用也已经遍及各个领域。在儿童计划免疫工作中,信息管理系统已经涉及到数据管理的各个方面,从儿童基本信息管理,到各种数据的统计、疫苗信息的管理等,都通过信息管理系统来得到高效的运行。为了满足儿童接种信息管理的要求,需要设计与制作一个社区儿童预防接种管理系统,使用户操作起来简便快捷,对减轻工作人员的劳动强度,提高工作效率与管理水平,具有很大的使用价值。

    1. 开发现状

随着科学技术的发展,尤其是计算机技术、网络技术、多媒体技术、传感技术、控制技术和智能技术的发展,人类进入了信息时代。信息时代的标志是Internet国际互联网的建立。Internet国际互联网将世界各地紧密地联系在一起。于是一个数字化的各大系统应运而生。

当前,西方发达国家的网络化、智能化、自动化达到很高的水平,已经或正在改变人们的生产方式和生活方式,许多国家的计划免疫部门早已实现无纸化办公,我们国家有些城市已经实现免疫信息的网上办公,但是并没有完全普遍,目前随着计划免疫改革的不断深入,如何有效地普及社区疫苗接种率,充分提高疫苗接种的效率已成为计划免疫工作的重点之一。

  1. 相关技术介绍
    1. koa框架介绍

Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。

koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。

阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。

    1. Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

    1. koa框架优点

首先,借助promise和generator的能力,丢掉了callback,完美解决异步组合问题和异步异常捕获问题。

其次,koa 把express中内置的router、view 等功能都移除了,使得框架本身更轻量化。该设计有如下好处:1、把express各种中间件移植到koa是很简单的一件事;2、express 中内置的功能件未必好,比如view,想添加自己的view engine进入得做较深层次的hack,又比如router,它的效率不是最好的。koa没有内置这些,给了开发者很大的自由度,开发者都能自由发挥制作出更精细更专业的中间件。

    1. B/S体系工作原理:

B/S架构采取浏览器请求,服务器响应的工作模式。

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

    1. Mysql数据库

Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。

针对本文中设计的社区儿童预防接种管理系统在实际的实现过程中,最终选择Mysql数据库的主要原因在于在系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的Mysql来对社区儿童预防接种管理系统后台数据进行存储操作。

    1. JavaScript 运行模式

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1.1是一种解释性脚本语言(代码不进行预编译)。

1.2主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

1.3可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

1.4跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

1.5 JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

    1. Ajax 应用

该技术在 1998 年前后得到了应用。允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由Outlook Web Access小组写成。该组件原属于微软 Exchange Server,并且迅速地成为了 Internet Explorer 4.0 的一部分。部分观察家认为,Outlook Web Access 是第一个应用了 Ajax 技术的成功的商业应用程序,并成为包括Oddpost 的网络邮件产品在内的许多产品的领头羊。但是,2005 年初,许多事件使得 Ajax 被大众所接受。Google 在它著名的交互应用程序中使用了异步通讯,如Google、Google 地图、Google 搜索建议、Gmail等。Ajax 这个词由《Ajax: A New Approach to Web Applications》一文所创,该文的迅速传播加强了人们使用该项技术的意识。另外,对Mozilla/Gecko 的支持使得该技术走向成熟,变得更为易用。

Ajax 前景非常乐观,可以提高系统性能,优化用户界面。Ajax 现有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前台页面 JavaScript 调用后台页面的方法。但此框架与表单验证有冲突。另外微软也引入了 Ajax 组件,需要添加AjaxControlToolkit.dll 文件,可以在控件列表中出现相关控件。

  1. 系统分析
    1. 可行性分析

技术性方面,采用当前主流的Koa框架进行系统主体框架的搭建,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。

实用性方面,本次设计的主要任务是在社区儿童预防接种管理系统实现疫苗预约、疫苗接种、疫苗信息浏览功能模块等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。

经济性方面,由于本课题中设计的社区儿童预防接种管理系统的主要目的是为了能够更加方便及快捷的进行疫苗信息的查询管理及接种预约服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个社区儿童预防接种管理系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

    1. 功能需求分析

社区儿童预防接种管理系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览疫苗信息并对要需要接种的疫苗进行预约操作。后台系统管理员因职责的不同主要对疫苗预约进行处理,对注册用户,疫苗信息数据,预约信息,采购进货管理、损耗信息等进行管理。

用户用例图如下所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924

图3-1 用户用例图

管理员用例图如下所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924

图3-2 管理员用例图

      1. 前台用户功能

前台用户可分为未注册用户需求和已注册用户需求。

未注册用户的功能如下:

注册账号:用户填写个人信息,并验证手机号码。

浏览新闻资讯:用户可以浏览主页面的新闻资讯来了解系统的最新新闻数据。

浏览疫苗信息:用户可以根据疫苗类型浏览疫苗的信息,并选中某个疫苗查看详情,

浏览评论信息:选中某个疫苗可查看其接种者的评论。

已注册用户的功能如下:

登录:根据账号密码进行登录操作。

维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。

浏览评论信息:选中某间疫苗可查看其用户的评论。

接种预约:用户根据自己的需求选中某个疫苗进行预约接种操作。

疫苗信息:用户可以查看各种疫苗的具体信息。

      1. 后台管理员功能

管理员功能如下:

修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。

对接种预约信息进行处理:办理审核等。

疫苗信息管理:对疫苗信息进行维护,添加、删除、修改信息。

接种者信息管理:对接种者信息进行维护,添加、删除、修改信息。

用户管理:对系统用户信息的维护管理等。

新闻资讯管理:发布、删除相关的新闻资讯信息。

采购进货管理:管理疫苗的采购进货信息。

接种预约管理:处理接种者的疫苗接种预约。

损耗信息管理。

    1. 非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对社区儿童预防接种管理系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

    1. 安全性需求分析
      1. 系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于社区儿童预防接种管理系统来说,必须要有很好的安全性来保障整个系统。

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

      1. 数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。

因此,在写入数据库时,要保证数据完整性、正确性和一致性。

    1. 数据流程分析

对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924

图3-2 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

系统底层数据流图如下图所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924 图3-3 底层数据流图

系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。

  1. 系统设计
    1. 系统架构设计

本社区儿童预防接种管理系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924

图4-1 系统架构

    1. 系统总体设计

社区儿童预防接种管理系统总体分为前台用户模块和后台管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如下图所示。

node.js+社区儿童预防接种管理 毕业设计-附源码300924

图4-2 系统功能结构图

    1. 系统功能设计

新闻资讯模块:可分为新闻资讯浏览、新闻资讯检索、新闻资讯维护三个模块,管理员对新闻资讯有维护的权限,发布新的新闻资讯、更新已有的新闻资讯等。

疫苗信息管理模块:疫苗信息管理分为疫苗添加、修改和疫苗预约。疫苗信息由管理员进行修改、添加、删除操作;疫苗预约由普通用户来执行。

接种预约管理模块:对接种者接种预约信息管理维护等。

    1. 数据库设计
      1. 数据需求分析

从前面可以分析到数据库中最重要的是疫苗信息,预约信息,提醒信息分析可以得到如下数据描述:

平台用户:用于记录用户的各种信息,包括用户名、密码、姓名、性别、地址、邮箱、联系方式等数据项。

管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。

疫苗信息:存放给疫苗的内容,包括疫苗编号、疫苗名称、疫苗种类、疫苗有效期、疫苗售价、库存、疫苗图片、接种单位、接种医生等数据项。

预约接种:存储用户的接种预约信息。包括用户编号、用户姓名、接种数量、预约时间、重要提示、支付状态等数据项。

      1. 数据库概念设计

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统ER图如下图所示。

图4-3 系统ER图

      1. 数据库表设计

社区儿童预防接种管理系统所拥有的数据表有以下:用户信息表,疫苗信息表,预约接种表,提醒信息表,采购进货表,损耗信息表等。

由于数据表较多,只展示系统主要数据表,如下表所示。

名称

类型

长度

不是null

主键

注释

ordinary_users_id

int

11

普通用户ID

user_name

varchar

64

用户姓名

user_gender

varchar

64

用户性别

user_number

varchar

64

用户编号

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

来源:weixin_BYSJ1987

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月10日
下一篇 2022年8月10日

相关推荐