基于nodejs+vue开药系统python-flask-django-php

 
开药系统是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过nodejs语言传递给数据库。通过此方式促进开药信息管理和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。

代码结构讲解
 1、 node_modules文件夹(有npn install产生)
    这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
     此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
      这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
      用于存放路由文件。
5、views文件夹
      存放视图。  互联网的兴起从本质上改变了整个社会对信息的管理方式,国内各大市场从上个世纪90年代互联网兴起之时,就产生了通过网络进行系统管理的想法。但是由于在互联网上的信誉难以认证、网络的法规政策不健全等一系列的原因,限制了网上信息管理发展的步伐。进入21世纪以后,随着整个社会的发展、进步,制约网上交流的各个瓶颈问题逐一被击破,比如QQ、微信等各大平台也纷纷的加入到洪潮之中。
目 录
1 引言 4
1.1 选题背景 4
1.2 研究目的及意义 4
1.3 研究的主要内容 4
2 平台开发相关技术 5
2.1 nodejs语言 5
2.2 express框架 5
2.3 MySQL数据库 5
2.4 B/S架构 7
3系统需求分析 8
3.1 功能需求分析 8
3.2性能需求分析 10
3.3 系统可行性分析 10
3.3.1 技术可行性 10
3.3.2 操作可行性 11
3.3.3运行可行性 11
3.3.4社会可行性 11
3.4系统流程图分析 11
3.4.1 登录流程图 11
3.4.2 添加新用户流程图 12
4 系统软件的总体设计 14
4.1系统的基本要求 14
4.2 系统开发目标 14
4.3 系统总体架构设计 14
4.4 系统数据库的设计 15
4.4.1数据库设计原则 15
4.4.2数据库E/R图 15
4.4.3 数据库表 17
5 系统软件功能的具体实现 22
5.1系统注册登录实现 22
5.2管理员模块实现 23
5.3医生功能实现 27
5.4患者功能实现 28
6 系统测试与运行维护 29
6.1系统测试的目的 29
6.2测试用例 29
6.3系统运行与维护 30
结论 32
参考文献 33
致 谢 34

1 引言
1.1 选题背景
由于互联网技术的快速发展,使得各部门都是以数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而生,其中,开药系统就是其中的重要组成部分[1]。
计算机技术出现之前人们使用的管理方法已无法满足现代人们的需求,即人工来完成开药的管理,这种方法存在着工作效率低以及保密性差,易出错等问题,同时还会生成大量的文本和数据,在检索数据时极大不便。而此次设计的开药系统,拥有对信息的快速检索、保存了大量的开药信息,具有信息系统保存的稳定性高和维护成本低等优点,对开药管理的工作效率也能提高。它不仅可以提高管理人员的工作效率,减少工作人员的负担,也可以使开药管理工作的质量得到保障,提高管理水平。
1.2 研究目的及意义
本课题的提出意在开发一个基于nodejs的开药系统,它的出发点必须是实用,操作简单,界面友好,让有用户需求的人群共享同一个信息渠道,实现用户的双方线上、线下互动。近年来,随着网络平台和电子媒体越来越深入的合作,用户获得资讯的速度越来越快。同时也能够在第一时间查询到想要的信息,因此给各用户带来了巨大的经济效益,互联网的出现本身存在的节省资源,提高工作效率以及它的庞大的市场需求等特点,用户也就越来越重开药系统带来的便利。
1.3 研究的主要内容
作为一个开药的网络系统,数据流量是非常大的,所以系统的设计必须满足使用方便,操作灵活的要求。所以在设计开药系统应达到以下目标:
(1)界面要美观友好,检索要快捷简易,数据存储要安全可靠;
(2)全面展示所有系统信息管理,并可推荐展示最新开药信息;
(3)便于医生和患者快捷地进行开药信息查询;
(4)医生和患者可以随时修改自己的基本资料;
(5)实现开药信息共享的功能;
 2.3 MySQL数据库
数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
2.4 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
 3.2性能需求分析
系统的性能是指操作系统完成现有程序的有效性和稳定性和响应速度,操作系统完成一项任务,与系统本身的设计、路由、网络性能测试、设备使用等方面密切相关,如果任何一个环节出现问题,都会影响整个系统的性能。因此,需要对网络设置、系统运行、硬件组合、程序应用等方面进行全面检查,然后集中精力解决哪一部分的问题。
在程序的应用、系统的运行、硬件的组合、网络的设置等方面,对性能影响最大的就是程序的应用和系统的运行,因为这两个方面的问题如果不容易被发现,隐蔽性非常强。硬件的组合、网络设置只要有问题,一般都能立即发现。主要了解系统的运行性能运行思路,应用程序需要具体的问题也需要有具体的解决方案。
3.3 系统可行性分析
为了完成该系统,必须进行可行性分析。该制度的可行性关系到该制度的生存。分析其意义,该系统可以弥补开药管理模式的不足,通过系统减少工作量,提高管理者和用户的工作效率。这反映了更多的意义和价值。在系统完成后,分析具体的现实情况,看它是否能满足预期要求,并确定开始开发建设系统。从开药系统开发的建设、相关技术、操作、运行和社会等方面进行了可行性分析。
3.3.1 技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性。系统使用python语言,在市面上有非常多成熟使用的案例,从技术角度是没有问题的,并且在学校的学习中对于这些技术就会有了一定的掌握,开发过类似的项目。
3.3.2 操作可行性
该系统具有体积小、占地少、能耗低等特点。学校电脑和校园网络均能满足需求。该系统具有操作简便、直观、易于操作的特点。操作简单,快速,只要经过简单的训练,就能让管理者使用。
因此,该系统不仅在操作上可行,而且在实际应用中也是可行的。
3.3.3运行可行性
运行可行性也可以说是系统可用性的体现,开药系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是开药系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。
3.3.4社会可行性
广义上讲,社会可行性包括道德方面、法律方面和社会方面,每一个方面都会影响制度的形成。这个系统是独立的,不具有任何信息传播的性质,更不涉及道德层面、法律层面;本系统也没有触发法,没有赌博、黄色等类型的信息,也符合国家法律,不会显示任何触发法信息;就社会而言,本系统是一个轻量级的开药系统,方便客户提供更好的服务。它将给人们带来快速有效的查询功能,也具有一定的贡献意义。总的来说,该系统在社会上也是可行的。
3.4系统流程图分析
流程图是用具体的图形符号和相应的线条来表示系统执行的整个过程。因为这种图可以很容易地描述系统的一系列过程,所以它的所有图形符号都是比较关键的,基本上一个图形符号可以表示一个过程的一个步骤。流程图不仅提供了一个比较完整、全面的实施过程,而且可以发现整个团队协同设计过程中可能存在的缺陷和不足,便于在后续过程中及时对系统进行修正和改进。
通过流程图可以对系统的需求和相关流程进行分析,可以详细细分为各个部分的设计。对于设计人员来说在开发过程中要能够以流程图为基础,能够快速的提高自己的逻辑思维,并且也能够指导后续的操作在系统设计中最重要的部分就是程序的设计,然后具体的编写程序,流程图是设计过程中的重要工具,下面是流程图的部分设计。
3.4.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。
 4 系统软件的总体设计
4.1系统的基本要求
(1)功能要求:管理人员可以管理自己的个人中心、对公告信息、医生、患者、药品信息、开药记录、入库记录、出药记录和药品盘点等进行管理 [3]。
(2)性能:可以准确无误的在不同的操作系统中登录到用户或者管理员的相应界面进行轻松的操作[4]。
(3)环境要求:支持不同的操纵系统和不同的平台,可用于Windows系列、Vista系统等多种操作系统。
4.2 系统开发目标
本开药管理系统的主要开发目标如下:
(1)减少后台管理人员的工作量,对用户的信息进行系统的管理;
(2)必须要方便快捷的查看搜索信息并管理信息;
(3)用户是具有多样性的,所以界面要设置的简单明了,操作更要方便快捷。
 4.4.3 数据库表
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
表4-1:入库记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopintupian varchar 200 药品图片
yaopinzhongliang int 药品重量(克)
rukuriqi date 入库日期
rukuleixing varchar 200 入库类型
rukubeizhu longtext 4294967295 入库备注

表4-2:菜单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
menujson longtext 4294967295 菜单

表4-3:开药信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinjiage int 药品价格
yaopinzhongliang int 药品重量(克)
kaiyaozhongliang int
dingdanjine int
kaiyaoriqi date
yongyaoshixiang longtext 4294967295
yishenggonghao varchar 200
xingming varchar 200
shouji varchar 200
ispay varchar 200 是否支付 未支付

表4-4:患者
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xingming varchar 200 姓名
mima varchar 200 密码
xingbie varchar 200 性别
nianling int 年龄
shouji varchar 200 手机

表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-6:出药记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopintupian varchar 200 药品图片
yaopinfenlei varchar 200 药品分类
yaopinzhongliang int 药品重量(克)
chukuleixing varchar 200 出库类型
chukubeizhu longtext 4294967295 出库备注
chukuriqi date 出库日期
xingming varchar 200
shouji varchar 200

表4-7:医生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yishenggonghao varchar 200 医生工号
mima varchar 200 密码
yishengxingming varchar 200 医生姓名
yishengxingbie varchar 200 医生性别
yishengzhicheng varchar 200 医生职称
lianxidianhua varchar 200 联系电话

表4-8:药品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopintupian varchar 200 药品图片
yaopinguige varchar 200 药品规格
yaopinpinpai varchar 200 药品品牌
yaopinzhongliang int 药品重量(克)
yaopinjiage int
guoqiriqi date 过期日期
yaopinshuxing longtext 4294967295 药品属性

表4-9:药品盘点
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yaopinmingcheng varchar 200 药品名称
yaopinfenlei varchar 200 药品分类
yaopinzhongliang int 药品重量(克)
pandianzhongliang int 盘点重量
pandianqingkuang varchar 200 盘点情况
pandianriqi date 盘点日期
pandianbeizhu varchar 200 盘点备注

表4-10:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

5 系统软件功能的具体实现
5.1系统注册登录实现
系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;
 6 系统测试与运行维护
在开发系统中,测试环节是必不可少的,没有测试过的系统是不足以迎接市场以及用户的考验的。本次系统测试将采用黑盒测试,在不考究系统实现原理的前提下,来进行各种有可能的操作,以此来检验系统可能存在的隐患以及问题。
6.1系统测试的目的
系统测试是为向用户提供被测试产品或服务的质量信息而进行的检查。系统测试还可以为系统提供客观和独立的评估,使操作人员能够理解和实现潜在的问题。系统测试包括软件组件或系统组件的执行,以评估一个或多个系统属性。通常,这些属性表明被测试的组件或系统满足系统的预期开发需求,在各种预期时间内正确响应各种系统输入,在可接受的时间内执行其功能,具有足够的可用性,并能够满足分析和设计的要求。在所需的环境中运行,并实现用户期望的整体结果。经过一系列严格的功能测试,找出系统功能中潜在的问题,保证系统的正常运行。
6.2测试用例
(1)用户登录场景测试
用户登录场景测试是针对用户登录进行的测试。用户在登录界面选择对应身份并输入正确的用户名和密码即可进入系统。如表6-1所示,测试结果正常。
表6-1 登录场景
序号 用户名 密码 预期结果 测试结果
1 abo 123456 系统成功进入 正常
2 abo 111111 系统提示用户名、密码不正确,请检查 正常
3 空 123456 系统提示用户名不能为空 正常
4 abo 空 系统提示密码不能为空 正常
(1)用户注册场景测试
用户注册场景测试是针对用户注册进行的测试。用户在注册界面选择对应身份进行注册,注册所填信息包含用户名、密码、姓名、性别、手机等,若用户未输入对应信息,系统则会提示用户填写,密码与确认密码填写需一致。如表6-2所示,测试结果正常。
表6-2 注册场景
序号 用户名 密码 确认密码 预期结果 测试结果
1 111 123456 123456 系统提示注册成功 正常
2 111 222222 222222 注册失败,系统提示用户名已被注册 正常
3 空 123456 123456 注册失败,系统提示用户名不能为空 正常
4 111 空 空 注册失败,系统提示密码不能为空 正常
5 111 123456 空 注册失败,系统提示确认密码不能为空 正常
6.3系统运行与维护
一、系统运行:系统初始数据录入:系统采用鼠标、键盘等方式进行数据录入。
二、系统入口:将系统的文件夹拷贝到硬盘上,运行系统的程序。第二步是在登录屏幕上输入正确的用户名和密码,然后以管理员和用户身份登录。
三、系统的使用:本系统使用起来比较简单,使用Windows软件就可以基本完成,使用时只需要按下鼠标左键就可以完成所需的功能。
四、系统的维护:系统是比较复杂的人机系统,它受外部和内部的影响,并会不断修改和改进,使其工作效率和质量得到了提高。维修方案分为四个方面:
(1)程序维护:对程序的部分或全部进行修改。
(2)数据文件的储存:数据文件可以根据用户的需要任意修改。
(3)代码维护:由于系统的不断发展和改变,现有的代码无法满足新的需求,需要对代码进行更新和维护。
(4)硬件维护:维护系统所有设备.
该系统的维护工作将由学校指定专人进行。如有无法处理的问题,学校将自行承担。

结论
当前互联网飞速发展,与之有关的行业也在飞速匹配变革当中,社会中其实并不缺乏有关开药方面的网上管理系统,但缺少真正简便好用,使人一看就明白的好系统,而开药系统正是竭力朝着这个方向所努力的系统,努力优化,站在使用者的角度思考该如何更为便捷的开发项目。在本次毕业设计实践中遇到了不少的困难,也收获了很多的知识,许多从前不知道的方面和不确定的知识都在本项目中得到了实践验证。
开药系统还存在着一些目前需要优化的问题和增加的功能。而需要优化的方面总结如下:
(1)系统在用户使用方面后续会增加更多人性化功能以及更为丰富的功能。
(2)为了降低用户的视觉疲劳,系统将会增加皮肤功能,不定期更新视觉UI效果,为提升用户对系统的整体体验而努力。
(3)本系统未来会尝试对接更多的平台,例如移动端,毕竟现在人群使用手机的频率还是高于电脑,以后会朝着这个方面努力。
 致 谢
充实的时光都是短暂的,经过了数月的学习与探索,我终于完成了毕业设计的开发和毕业论文的撰写。首先要诚挚的感谢我的指导老师,在毕业设计这方面,他为我指明了道路,给了我很多珍贵的建议,当我遇到难题时老师也会不厌其烦的为我讲解,让我收获了不少知识。在我完成各项工作之后,老师在百忙之中也会帮我检查纠错,感谢老师的陪伴与信任,让我顺利完成毕业设计,您将是我人生中一盏明灯。
同时,我也要感谢我最可爱的舍友们,感谢你们的一路陪伴,在我面对难题时不知所措的时候,你们总会给我最大的支持与鼓励,与我一起学习探讨,希望我们能够一起成长。
最后真诚的感谢大学四年时光,说长不长,说短又并不短,它见证了我的成长。大学是一个美妙的地方,她一边教着我书本上的知识,同时也让我学会了为人的道理。感谢大学里老师与同学的陪伴,让我在今后的人生之路上更自信,让我们一起共同成长。

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值