摘 要
近年来,科技飞速发展,在经济全球化的背景之下,互联网技术将进一步提高社会综合发展的效率和速度,互联网技术也会涉及到各个领域,而中医药传承信息平台在网络背景下有着无法忽视的作用。信息管理系统的开发是一个不断优化的过程,随着网络数据时代的到来,信息管理系统与计算机的集成成为必然。
本次将以中医药传承信息管理方面为切入点,论述了中医药传承信息管理的意义和内容,以此展开对中医药传承信息的开发与建设的详细分析。从数据挖掘的角度出发,了解信息管理系统的作用,对中医药传承信息的过程以及用处进行更深一步的研究,数据的处理效率,以及具体的应用方向。对于中医药传承信息平台所带来的影响,将从传统管理方式进行对比分析,从硬件优化、软件开发,这几个方面来论述中医药传承信息平台的优势所在,分析中医药传承信息平台在计算机时代发展的变化趋势。
关键词:中医药传承信息平台;node.js框架
Abstract
In recent years, the rapid development of science and technology, in the context of economic globalization, Internet technology will further improve the efficiency and speed of comprehensive social development, Internet technology will also involve various fields, and traditional Chinese medicine inheritance information platform in the context of the network has a role can not be ignored. The development of information management system is a process of continuous optimization. With the coming of network data era, the integration of information management system and computer becomes inevitable.
This paper will take traditional Chinese medicine inheritance information management as the starting point, and discuss the significance and content of traditional Chinese medicine inheritance information management, so as to carry out a detailed analysis of the development and construction of traditional Chinese medicine inheritance information. From the perspective of data mining, understand the role of information management system, conduct further research on the process and use of traditional Chinese medicine information inheritance, data processing efficiency, and specific application direction. For the impact of traditional Chinese medicine inheritance information platform, comparative analysis will be made from traditional management methods, hardware optimization and software development to discuss the advantages of traditional Chinese medicine inheritance information platform, and analyze the development trend of traditional Chinese medicine inheritance information platform in the computer era.
Key words: Traditional Chinese medicine inheritance information platform; node.js framework
目 录
1 绪 论
随着当代社会科技的迅速发展,计算机网络时代正式拉来帷幕,它颠覆性的影响着社会发展的各个方面。中医药传承信息平台更是与数据密不可分,不仅在互联网中起着重要作用,更是充斥着我们日常工作和生活之中。在这个信息化的时代背景之下,互联网的来临,无论是对人类社会,还是对政治、经济等多方面领域影响深远,也给新时代的信息管理和信息系统带来新的机遇和挑战。网络电脑化越深入,影响越大,社会就越进入互联网时代。生活的各个领域都需要巨大的信息资源,需要妥善处理。因此,在计算机技术快速发展环境下,信息管理和信息系统尤为重要。对于中医药传承信息平台的未来进行分析和展望,并提出研究意见[1]。
1.1论文背景
近年来互联网技术飞速发展,给人们的生活带来了极大便利,也改变人们的生活生产方式,拥有存储量大、可靠性高、使用方便等不可替代的优点,正在逐步取代传统的信息管理模式。由代码编程实现的各种管理工具和系统替代传统的人工操作,不但提升了可靠性还降低了人力成本,节省了时间,提升了工作效率。全球视域下信息技术逐步渗透到各个领域,多样化的数据信息为中医药传承信息管理带来了深刻变革,打破了传统的中医药传承信息的管理方式与载体,管理者的事务性工作面临新形势和新挑战[2]。
中医药传承信息管理作为信息化建设的重要一环,中医药传承信息平台的开发与实现,能够使管理者的工作开展得更加有序。
1.2 研究的主要内容
中医药传承信息平台分析基本内容:本设计主要是实现一个中医药传承信息平台,实现自动化、信息化、管理。系统的主要的设计原则是:以实际应用为核心,重点突出“实用、易用、简洁、稳定”的优点。既能够注重到实效,满足现实用户的实际需要,也能够为系统以后的升级和扩展留有一定的余地。在技术设计的实现上,突出“实现合理、结构清晰、简单易懂”的特点[3]。
本系统的主要目的在于加速数据可视化与信息化进程,充分利用计算机技术和现代通讯的手段面向平台或用户的服务。建立一个方便管理的中医药传承信息平台的平台,方便信息资源的共享,提高管理的效率,为管理员和用户提供了中医药传承信息平台的辅助服务。本系统将最大程度地提高管理者整体的工作效率和工作质量,降低管理和工作的成本,改善工作的环境和条件,提高管理者的管理和决策的自动化和科学化水平。帮助各行业节省费用,减少中间环节,优化业务流程,提高整体工作效率,促进管理的进步[4]。
1.3 研究方法
该中医药传承信息平台在windows平台下完成开发,Nodejs语言开发,将应用程序部署于HTTP上,加之servlet接口来实现交互式响应服务器上的数据,将最终效果呈现于服务器上。运用mysql数据库,使用navicat premium连接数据库,从而实现数据库各个功能以友好的图形化界面展示。使用B/S三层架构,来降低各个层间解耦合,从而便捷高效完成开发[5]。
2系统相关技术
2.1 Nodejs语言简介
Nodejs是使用最广泛的语言之一。它的代码是开源的,任何软件开发人员都可以使用。
Nodejs语言有很多功能,它的代码非常简单,并且有很多编写方法。它具有良好的对象定向性,对平台的使用没有要求。所有平台都可以以高安全性能运行,因此非常适合系统开发。
Nodejs平台可以声明无限制,并且可以在任何平台上运行。不需要用其他语言编辑的代码将运行。
2.2 MySQL数据库
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。
MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。中医药传承信息平台运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。
2.3 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
3.1 需求分析
在对一个软件进行设计与开发之前,需要对该系统进行深层次的调查、分析、研究[6]。良好的需求分析不仅能使开发人员快速、准确地理解开发任务,还能提高开发效率,能好地完成工作。对系统进行需求分析是必不可少的,这是软件生存周期上一个很重要的部分,在这个阶段需要确定该系统需要实现什么功能,然后做成一个数据规范、图表清晰的文档,为接下来的系统设计工作提供一定的基础。
3.1.1系统总体分析
本系统采取了一系列的设计原则,主要目的是为了系统的功能设计,还有管理人员在后期对系统维护时的方便,以及使用户能够简易的操作。最重要的设计原则包括:简单性、针对性、实用性、一致性、先进性[7]。
(1)简单性:在该系统中功能模块实现的同时,让用户操作起来简单明了,很快找到所需资源是最直接的目的。
(2)针对性:该系统是根据设计需求为导向来开发中医药传承信息平台的设计,所以针对性较强。
(3)实用性:该设计能够满足中医药传承信息平台的实际的功能需求,能够在实际中让用户真正使用到,具有实际的应用价值。
(4)一致性:网站整体的页面布局,在不同的界面之间,img里的图片的放置位置以及大小都应该有严格的一致性。变量命名规则应该具有统一性。
(5)先进性:本系统采用Nodejs作为开发语言、MySQL作为系统数据库,它们被软件设计者们广泛使用[8]。
3.2 可行性分析
可行性分析是每开发一个项目必不可少的一部分,可行性分析可以直接影响一个系统的存活问题,针对开发意义进行分析,还有就是是否可以通过所开发的系统来弥补传统纸质手工统计模式的不足,是否能够更好的解决其中问题等,通过对该中医药传承信息平台的开发设计,不仅能够逐步减少工作人员的工作量,而且还可以进行高效工作和管理[9]。所以该系统的开发实现了最大的意义和价值,在系统完成后,利益是否大过于成本,是否能够达到预期效果,这些方面都要进行可行性分析,再通过分析之后,就可以决定是否开发此系统。该中医药传承信息平台的开发设计中,以下几点进行了可行性分析:经济、技术、运行可行性:通过Nodejs的采用,由于该技术不断成熟,所以使用该技术设计中医药传承信息平台是具有可行性的。经济可行性:在开发过程中,系统完成后的利益是否大过于开发成本。操作可行性:中医药传承信息平台的开发设计中,方便用户的可操作性和实用性[10]。
3.2.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现[11]。
3.2.2 技术可行性
本系统的开发使用Nodejs作为系统开发的开发语言,开发工具选择 Vscode,而 B/S架构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性[12]。
3.2.3 运行可行性
本系统作为以Nodejs作为开发技术的系统,而且选用 B/S架构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件[13]。
3.3 系统结构和流程设计
开发该平台主要选用了Express的架构设计,将主要表现层、业务逻辑层和数据访问层分离出来。表现层将请求的回应信息展现在Nodejs网页页面上便于客户访问,业务逻辑层负责获得并正确处理请求逻辑,确保SQL语句读取时取得成功或失败,数据访问层关键将数据信息拼写成SQL语句。由于分层次构造开展开发,可以使开发系统软件的耦合性减少,随后重用率提升,只在数据层对数据开展处理就可以了。随后由接口封装对象,业务层完成对系统的逻辑操作,在显示层展现和接受数据信息,用接口完成每个层间的数据信息的传送。实际操作的方法简洁明了,使体系能更快的运作。
操作流程需要进行设计,一个完整的系统可以流畅的操作下来是至关重要的,本系统的完整操作流程如图3-1所示:
- 系统操作流程图
本系统主要有管理员和用户二种角色,进行登录时需要确保输入的内容与已经保存的账号信息一致,通过账户密码等方式来校验用户信息,输入正确则登入系统,输入错误则登入失败。系统登录流程,如图3-2所示:
- 系统登录流程图
在添加信息的时候,会判断是哪类用户,并根据用户类型判断执行是否合法,合法者可以进行添加,不合法者则不能进行此操作。管理员登录账号后可以对内容进行添加,拥有着最高的权限,用户权限仅次于管理员。添加信息流程图如图3-3所示:
- 系统添加流程图
删除数据时与添加数据功能类似,删除数据具体流程如图3-4所示:
图3-4系统删除流程图
4 系统设计
4.1系统通用功能用例分析
系统的通用功能包括用户登录和密码修改,是二个角色共同需要使用的功能,用例分析如图4-1所示。
图4-1系统通用功能用例分析图
4.2 系统设计主要功能
本系统采用自上往下的方法开发与实现,本课题要求实现一套中医药传承信息平台,系统主要包括管理员模块和用户模块的功能模块;
(1)管理员用例图如下所示:
图4-2管理员用例图
(2)用户用例图如下所示:
图4-3用户用例图
通过市场调研及咨询研究,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图4-4所示:
图4-4中医药传承信息平台结构功能图
4.3 数据库设计
4.3.1 数据库设计规范
数据可设计要遵循职责分离原则,即在设计时应该要考虑系统独立性,即每个系统之间互不干预不能混乱数据表和系统关系。
数据库命名也要遵循一定规范,否则容易混淆,数据库字段名要尽量做到与表名类似。
4.3.2 E-R图
管理员信息E-R图,如图4-5所示:
图4-5管理员E-R图
用户信息E-R图,如图4-6所示:
图4-6信息用户E-R图
医药信息E-R图如图4-7所示。
图4-7医药信息E-R图
医药方剂E-R图如图4-8所示。
图4-8医药方剂E-R图
中医养生E-R图如图4-9所示。
图4-9中医养生E-R图
中医药传承信息平台总体E-R图如图4-10所示。
图4-10中医药传承信息平台总体E-R图
4.3.3 数据表
本系统采用的是MySQL数据库存储数据,系统中使用到的主要数据表的具体展示部分如下所示。
表4-1:(身体部位)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | body_parts_id | int | 10 | 0 | N | Y | 身体部位ID | |
2 | part_name | varchar | 64 | 0 | Y | N | 部位名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-2: (收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-3: (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表4-4: (名医名家)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | famous_doctors_and_experts_id | int | 10 | 0 | N | Y | 名医名家ID | |
2 | name_of_famous_doctor | varchar | 64 | 0 | Y | N | 名医姓名 | |
3 | gender_of_renowned_doctors | varchar | 64 | 0 | Y | N | 名医性别 | |
4 | famous_doctor_pictures | varchar | 255 | 0 | Y | N | 名医图片 | |
5 | dynasties_of_famous_doctors | varchar | 64 | 0 | Y | N | 名医朝代 | |
6 | famous_medical_videos | varchar | 255 | 0 | Y | N | 名医视频 | |
7 | introduction_to_famous_doctors | text | 65535 | 0 | Y | N | 名医介绍 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-5: (论坛)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
表4-6: (论坛分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分类图标: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-7: (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表4-8: (医药信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | medical_information_id | int | 10 | 0 | N | Y | 医药信息ID | |
2 | name_of_medicinal_herb | varchar | 64 | 0 | Y | N | 药材名称 | |
3 | picture_of_medicinal_herbs | varchar | 255 | 0 | Y | N | 药材图片 | |
4 | origin_of_medicinal_herbs | varchar | 64 | 0 | Y | N | 药材产地 | |
5 | history_of_medicinal_herbs | text | 65535 | 0 | Y | N | 药材历史 | |
6 | medicinal_effects | text | 65535 | 0 | Y | N | 药材作用 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-9: (医案方剂)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | medical_record_prescriptions_id | int | 10 | 0 | N | Y | 医案方剂ID | |
2 | medical_case_name | varchar | 64 | 0 | Y | N | 医案名称 | |
3 | symptom_types | varchar | 64 | 0 | Y | N | 症状类型 | |
4 | medical_case_cover | varchar | 255 | 0 | Y | N | 医案封面 | |
5 | medical_case_details | text | 65535 | 0 | Y | N | 医案详情 | |
6 | prescription_details | text | 65535 | 0 | Y | N | 方剂详情 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-10: (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-11: (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表4-12: (普通用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-13: (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-14: (症状类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | symptom_types_id | int | 10 | 0 | N | Y | 症状类型ID | |
2 | symptom_types | varchar | 64 | 0 | Y | N | 症状类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-15: (中医养生)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | traditional_chinese_medicine_health_preservation_id | int | 10 | 0 | N | Y | 中医养生ID | |
2 | health_name | varchar | 64 | 0 | Y | N | 养生名称 | |
3 | part_name | varchar | 64 | 0 | Y | N | 部位名称 | |
4 | health_cover | varchar | 255 | 0 | Y | N | 养生封面 | |
5 | health_videos | varchar | 255 | 0 | Y | N | 养生视频 | |
6 | health_knowledge | text | 65535 | 0 | Y | N | 养生知识 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-16: (中医知识)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | traditional_chinese_medicine_knowledge_id | int | 10 | 0 | N | Y | 中医知识ID | |
2 | knowledge_name | varchar | 64 | 0 | Y | N | 知识名称 | |
3 | knowledge_cover | varchar | 255 | 0 | Y | N | 知识封面 | |
4 | release_time | datetime | 19 | 0 | Y | N | 发布时间 | |
5 | medical_videos | varchar | 255 | 0 | Y | N | 医药视频 | |
6 | medical_knowledge | text | 65535 | 0 | Y | N | 医药知识 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-17: (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
5 系统实现
5.1 前台系统功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到中医药传承信息平台的导航条显示首页、交流论坛、通知公告、医案方剂、医药信息、中医知识、中医养生、名医名家、我的帐户、个人中心。系统首页界面如图5-1所示:
图5-1 系统首页界面
当用户进入前台系统进行相关操作前必须先注册登录,在注册页面填写用户账号、姓名、密码、确认密码、性别、手机、头像等信息,前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示:
图5-2用户注册界面图
用户登录,用户在登录页面通过填写账号、密码,完成登录,在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端生成一个令牌(如JWT)并返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示。
图5-3 用户登录界面
用户点击医药信息,在医药信息页面的输入栏填写药材名称,进行查询,然后还可以查看药材名称、药材产地等信息,并进行收藏等操作。点击立即购买,立即购买在视图层(view层)进行交互,这些信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便收藏功能可以看到最新的信息或相应的操作反馈。具体操作页面如下图所示;如图5-4 所示:
图5-4医药信息页面
用户点击医药知识,在医药知识页面的输入栏填写知识名称,进行搜索,然后还可以查看知识名称、发布时间、医药视频等信息,并进行收藏的操作。如图5-5所示:
图5-5医药知识页面
在个人中心页面可以对个人首页、收藏进行详情操作,如图5-6所示:
图5-6个人中心界面
5.2 后台管理员功能模块
管理员登录,通过登录页面输入用户名、密码,进行登录操作,如图5-7所示。
图5-7管理员登录界面图
管理员登录进入中医药传承信息平台可以查看后台首页、系统用户、医案方剂管理、医药信息管理、中医知识管理、中医养生管理、名医名家管理、症状类型管理、身体部位管理、系统管理、通知公告管理、交流管理等信息,进行相应操作,如图5-8所示。
图5-8管理员功能界面图
用户管理功能模块的实现首先涉及到设计前端用户界面和后端服务。在前端,使用Vue.js框架,创建一个新的Vue组件,放在 src/components 目录下。这个组件通过模板、脚本和样式组成,分别负责展示用户信息的表格视图、处理用户交互(如添加、删除、编辑用户信息)以及定义视图的样式。在脚本部分,我们使用Vue的数据绑定和方法来管理表单输入和事件处理。同时,利用Vuex的 store 来管理状态,如用户列表数据,以及通过Vue Router在不同视图间导航。在后端,在 models 文件夹中定义一个 Model.js,使用Sequelize或类似的ORM来映射数据库中的用户表。在 routes 文件夹中创建一个 js 路由文件,处理HTTP请求,并通过Node.js的Express框架与前端通信。在这个路由文件中,定义CRUD(创建、读取、更新、删除)操作的API端点,这些操作将调用Model 中的方法来与数据库交互。在Vue组件中使用 axios 或其他HTTP库与后端API进行通信,实现数据的读取、发送和更新。用户管理模块就可以在前端提供用户交互,并在后端进行数据持久化。管理员点击用户,在用户页面的输入用户姓名,进行查询、添加、重置或者删除用户信息等操作,如图5-9所示。
图5-9用户界面图
管理员点击症状类型管理,在症状类型页面的对症状类型、创建时间、更新时间等内容,进行查询、添加、重置或者删除症状类型等操作,如图5-10所示。
图5-10症状类型管理界面图
管理员点击身体部位管理,在身体部位页面对部位名称、创建时间、更新时间等内容,进行查询、添加、重置或者删除等操作,如图5-11所示。
图5-11身体部位管理界面图
管理员点击医药方剂管理,在医药方剂页面的对医案名称、症状类型、医案封面、医案详情、方剂详情、创建时间、更新时间等内容,进行查询、添加、重置或者删除医药方剂等操作,如图5-12所示。
图5-12医药方剂管理界面图
管理员点击医药信息管理,在医药信息页面的对药材名称、药材图片、药材产地、药材历史、药材作用、创建时间、更新时间等内容,进行查询、添加、重置或者删除医药信息等操作,如图5-13所示。
图5-13医药信息管理界面图
管理员点击中医知识管理,在中医知识页面的对知识名称、知识封面、发布时间、医药视频、知识、创建时间、更新时间等内容,进行查询、添加、重置或者删除等操作,如图5-14所示。
图5-14中医知识管理界面图
管理员点击中医养生管理,在中医养生页面对养生名称、部分名称、养生封面、养生视频、养生知识、创建时间、更新时间等内容,进行查询、添加、重置或者删除中医养生信息等操作如图5-15所示。
图5-15中医养生管理界面图
管理员点击名医名家管理,在名医名家页面对名医姓名、名医性别、名医图片、名医朝代、名医视频、名医介绍、创建时间等内容,进行查询、添加、重置或者删除等操作如图5-16所示。
图5-16名医名家管理界面图
6 系统测试
从多个角度进行测试找到系统中存在的问题是本系统首要的测试目的,通过功能测试寻找出系统缺陷并改正,确保系统没有缺陷。在测试过程中证明系统满足客户需求,发现问题和不足及时改正。测试完成之后得出测试结论[14]。
6.1系统测试目的
在中医药传承信息平台的开发周期中,系统测试是必不可少且考验耐心的过程。其重要性在于,它是保证系统质量和牢靠性的最后一道关,也是整个系统开发过程的最后一次检查。
系统测试主要是为了避免用户在使用时发生问题,增强用户体验感,为了不影响用户的使用,我们需要从多角度、多思路去考虑系统可能遇到的问题,通过不同的模拟场景来发现缺陷并解决问题。在测试的过程中也可以了解到该系统的质量情况,系统功能是否健全,系统逻辑是否顺畅。一个合格的系统测试过程完成后将大大提升系统质量和使用感。测试的目标是验证系统是否符合需求规格说明书的定义,并找出与需求规格说明书不符合或与之冲突的内容。测试过程中一定站在用户的角度考虑问题,避免一些不切实际的场景,浪费测试时间,从而可能会引起问题导致预期结果与实际结果不符[15]。
6.2 系统功能测试
对系统功能模块进行测试,通过点击、输入边界值和必填项非必填项的验证等方法进行一系列的黑盒测试。通过编写测试用例,根据测试用例中的内容进行测试,最后得出测试结论。
登录功能测试方案:当需要登入该系统时,通过账户密码等功能点进行验证,用户在输入时需要输入与数据库内存储的数据匹配的内容,当其中某项输入错误时系统将提示输入错误。此界面对角色权限也有相应的校验,当用户角色的帐号选择管理员角色登录时,也会报错[16]。登录功能测试用例如表6-1所示。
表6-1 登录管理测试用例
编号 | 输入数据 | 预期结果 | 实际结果 | 结果分析 |
01 | 用户名:guanliyuan 密码:123456 验证码:正确输入 | 登入系统 | 成功登入系统 | 和估算结果一样 |
02 | 用户名:guanliyuan 密码:111222 验证码:正确输入 | 密码错误 | 密码错误,请重新输入密码 | 和估算结果一样 |
03 | 用户名:guanliyuan 密码:123456 验证码:空 | 验证码信息错误 | 验证码信息错误 | 和估算结果一样 |
04 | 用户名:空 密码:123456 验证码:正确输入 | 用户名必须填写 | 请输入用户名 | 和估算结果一样 |
05 | 用户名:guanliyuan 密码:空 验证码:正确输入 | 密码错误 | 密码错误,请重新输入密码 | 和估算结果一样 |
续表5-1 |
用户管理功能测试方案:用户管理主要有添加、编辑、删除、查找用户功能。添加用户时,必填项不填,检验系统是否有非空检验;添加已有的用户信息,检验是否提示用户名已被使用;删除用户信息,系统将检验是否进行此操作;更改用户信息,更改用户信息后页面是否可以展示出来。用户管理测试用例如表6-2所示。
编号 | 输入数据 | 预期结果 | 实际结果 | 结果分析 |
01 | 填入用户基本信息 | 添加成功,在用户列表中显示 | 该用户出现在在列表中 | 和估算结果一样 |
02 | 修改用户信息 | 编辑成功,修改信息成功被修改 | 用户信息被修改 | 和估算结果一样 |
03 | 选中删除用户 | 系统询问是否删除用户,确认后用户被删除 | 系统询问是否删除用户,确认后查找不到用户信息 | 和估算结果一样 |
04 | 添加用户时不填用户名 | 提示用户名不能为空 | 提示用户名不能为空 | 和估算结果一样 |
05 | 填入已有用户名 | 添加失败,提示用户名重复 | 添加失败,提示用户名重复 | 和估算结果一样 |
6.3 系统测试结论
本系统主要使用黑盒测试,通过模拟用户使用系统实现各个功能编写测试用例,并进行测试。以确保系统流程的正确性。系统测试必不可少,可以使系统更加完善,该系统的可使用性也会更高。
测试该系统主要为了验证系统的功能模块是否满足我们最初的设计理念,验证各个功能模块逻辑是否正确,此系统不需要过于复杂的逻辑处理,以便于使用者操作。测试的最终目的也是围绕着用户使用展开。测试过程中所有场景都应符合用户需求,不可偏离需求目标,遇到问题时要站在用户的角度进行思考。经过一系列的测试过程后得到最终的测试结果,从测试结果可以看出,实现的系统在功能和性能方面满足设计要求。
结论
现在,已经完成了该中医药传承信息平台程序开发和论文的编写,通过这次的程序开发和论文的写作,可以检测我们大学期间的所学,是不是做到了认真学习。
该系统主要实现了用户和管理员二个功能模块,其中用户模块主要实现了首页、交流论坛、通知公告、医案方剂、医药信息、中医知识、中医养生、名医名家、我的帐户、个人中心等功能。软件开发的过程,是一个很辛苦的过程,如果在大学期间没有好好学习,困难更是重重,即使对大学期间认真学习了的同学,也是有一定的困难,毕竟理论知识和实践还是有很大差距的。所以,在本次开发中医药传承信息平台的时候,也是遇到了相当多的困难,有时候一点头绪也没有,思想都是混乱的,首先就要克服这些问题,在经过了上网查询、同学沟通以及听取指导老师的建议后,慢慢的理顺了思路。
针对中医药传承信息平台的发展趋势分析,也对其未来提出了一些建议,并且规范操作流程,使管理信息系统的安全得到更好的保障,再者就是及时的信息反馈,针对现状进行分析与完善,让信息管理系统有更好的发展。
参考文献
[1]张洪伟. nodejs开发及整合应用[M]. 清华大学出版社, 2020.
[2]唐汉明,翟振兴,关宝军等.深入浅出MySQL(第2版)[M].北京:人民邮电出版社, 2019:47-49.
[3]Cabral, Sheeri K. MySQL 5.5: Improving on the World's Most Popular Open Source Database[J]. Database Trends and Applications,2020,253:.
[4]李彩霞. MySQL数据库技术应用教程[M]. 电子工业出版社, 2019.
[5]张长春, 张琳琳, 史艳语,等. 基于nodejs的学生成绩管理系统的设计与实现[J]. 现代计算机, 2021(15):69-72.
[6]蒋丽华,密君英,张亮. 基于nodejs的租赁车行网站的设计与实现. 电脑知识与技术,2019(14).
[7]陈勇.皇姑地税局内网网站系统设计与实现[D].大连理工大学硕士论文,2019.
[8]李薪.管理信息系统的技术研究与设计[D].西安电子科技大学,2020.
[9] Kadir A. Tuntunan Praktis: Belajar Database Menggunakan MySQL[J]. 2021.
[10]周秦源.浅谈我国IT行业中的软件测试[J]. 中国科技信息,2020(14).
[11] Sun Weiqin. Struts: Express based nodejs Web Design and development. BEIJING: Publishing House of Electronics Industry, 2019:19-421
[12]Chen Gang. Vscode from introduction to mastery [ m ] . (2nd edition) . BEIJING: Tsinghua University Press, 2020:17-380
[13] SILBERSCHATZ.A. Computer Science series: concepts of database systems (6th edition)[ m ] . China Machine Press, 2019,03.
致谢
时光荏苒,岁月如梭,相逢一见太匆匆,校内繁花几度红。六月盛夏,随着这篇致谢词的开始,也就意味着我大学四年时光也即将落下帷幕,始于XXXX年初秋,终于XXXX年盛夏,xx岁的我也将开启全新的人生篇章。以前总觉得时间尚早,年龄尚轻,殊不知,人生是一道减法,逝去的便不会再回来。行文至此,也感谢一路以来支持我,陪伴我的老师、家人还有朋友。
“桃李不言,下自成蹊”。首先感谢我的论文指导老师xxx,感谢您的悉心指导和耐心帮助,才得以让我的毕业论文顺利完成。感谢大学四年以来所有的授课老师,谆谆教导、细心耐心,授予我丰富的专业知识,让我在此后的工作方向上有了更加明确的认识以及理论基础。
“慈母爱子,非为报也”。感谢我的母亲,这多年以来的养育之恩,给我提供了优渥的环境让我的学习生活没有后顾之忧。感谢妈妈多年以来的言传身教,教会了我如何做人如何做事,也让我在爱里快乐的长大。在这成长的路上,一直陪伴我、尊重我,支持我做的每一个决定,让我有更多的底气和勇气去面对这一路以来遇到的所有问题。在此也将我美好的祝愿送给我最爱的母亲,平安喜乐,健康长寿,更希望自己可以不断努力奋进,不负所望,成为你的骄傲。
“过眼年华,动人幽意,相逢几番春换”。感谢我的好朋友xxx陪伴了我的整个青春时光,相识xx年,我们早已从朋友变成了家人般的存在,成为彼此重要的依托,在成长的这一路上相互扶持、相互陪伴,互相倾诉心中苦恼。平生感知己,方寸岂悠悠,愿未来的人生旅途中,我们可以继续相互扶持,依旧保持热爱,奔赴热爱。
“山水一程,三生有幸”。感谢大学里在学生会遇见的每一个同学,共同在计算机学院里参与很多活动,一起学习成长。也感谢大学里遇到的同学们,以及我的室友,四年来共同成长,也在此祝愿大家,前途似锦,我们都将拥有光明的未来。
“以梦为马,不负韶华”。最后,感谢自己这一路以来的坚持和努力,还有不曾放弃的每个小节点,我始终相信学无止境,希望自己不忘初心,努力朝着自己的目标不断努力。凡是过往,皆为序章,凡事未来,皆有可期。