基于微信小程序的个人事务管理系统设计与实现

ThispapermainlydiscusseshowtouseNode.jsframeworktodevelopthedesignandimplementationofapersonaltransactionmanagementsystembasedonwechatsmallprogram.Thissystemwillstrictlyfollowthesoftwaredevelopmentprocessforeachstageofthework,usingB/Sstructureandobject-orientedprogrammingideaforprojectdevelopment.Intheintroduction,theauthorwilldiscussthecurrentbackgroundofthepersonaltransactionmanagementsystemofwechatsmallprogramandthepurposeofthesystemdevelopment.Thesubsequentchapterswillanalyzeanddesignvariousstagesofthesysteminstrictaccordancewiththesoftwaredevelopmentprocess.

ThemainusersofthepersonaltransactionmanagementsystemofWeChatsmallprogramaredividedintoadministratorsandordinaryusers.Thefunctionsofthesysteminclude:backgroundhomepage,systemusers,transactionnotemanagement,consumptionrecordmanagement,systemmanagement,resourcemanagement,etc.Thispersonaltransactionmanagementsystemhasasimpleandclearuserinterface,allowinguserstofindtheirownfunctionsataglance.Afterlogin,userscanseetheirhomepage,newsinformation,my,transactionnotes,consumptionrecordsandothermainfunctionmodules.Thesemodulesallowtheusertorecordsomeimportantinformationorideasforeasyviewingandeditingatanytime.Theuseofthissystemcanrealizetheinformationofwechatsmallprogrampersonaltransactionmanagementsystemmanagement,canfacilitateadministratorsformoreconvenientandquickmanagement,canimprovethemanagementefficiencyofwechatsmallprogrampersonaltransactionmanagementsystem.

Keywords:NODE.JSframework;B/Sstructure;WeChatsmallprogrampersonalaffairsmanagementsystem

目录

在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新[3]。软件行业早已遍布各个地方。

这次编写的论文包含了6个部分的内容,具体内容如下:

第三部分系统分析:对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。

第五部分系统实现:进行系统主要功能模块的界面展示。

第六部分系统测试:测试系统的每一个功能是否能够正常运行,是否可以满足人们的需求。

2开发技术介绍

该系统主要是采用现在比较流行的B/S结构、Node.js框架以及MySQL数据库来做系统开发,最后对系统的总体设计、数据库设计、功能模块设计、系统页面制作、系统程序定制和调试测试等做出详细的规划。

2.1B/S结构

2.2Node.js框架介绍

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

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

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

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

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

机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。

预览界面:写好视图布局后点击编译,用来刷新视图界面。

控制台:方便调试打印输出信息。

上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。

资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。

显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。

本地数据存储:显示的是本地存储的数据。

视图调试:标组件以子父层级结构呈现,方便调试。

在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。

3.1.1技术可行性

3.1.2经济可行性

我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。

3.1.3操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。

(1)系统效率:页面时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。

(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。

(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

图3-1管理员用例图

(2)普通用户:首页、新闻资讯、我的(基本信息、事务备注、消费记录)等功能。普通用户例如图3-2所示。

图3-2普通用户用例图

3.4.2注册流程

未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-5所示。

图3-5注册流程图

3.4.3添加信息流程

用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-6所示。

图3-6添加信息流程图

3.4.4删除信息流程

用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-7所示。

图3-7删除信息流程图

图4-1系统工作原理图

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

图4-2系统功能结构图

4.3.2添加信息模块顺序图

图4-4添加信息顺序图

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计[12]。

4.4.1数据库E-R图设计

图4-5个人事务管理系统实体图

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表access_token(登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

int

10

0

N

Y

临时访问牌ID

2

varchar

64

临时访问牌

3

text

65535

4

最大寿命:默认2小时

5

timestamp

19

CURRENT_TIMESTAMP

6

7

用户编号:

mediumint

8

125

点赞数

255

9

11

longtext

2147483647

12

封面图

13

smallint

分类ID:[0,10000]

100

显示顺序:[0,1000]决定分类显示的先后顺序

16

分类名称:[2,16]

上级分类ID:[0,32767]

描述:[0,255]描述该分类的作用

分类图标:

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

表auth(用户权限管理)

用户组:

模块名:

表名:

页面标题:

路由路径:

32

位置:

_blank

跳转方式:

tinyint

是否可增加:

是否可删除:

是否可修改:

是否可查看:

添加字段:

14

修改字段:

15

查询字段:

500

跨表导航名称:

17

跨表导航:

18

配置:

20

内容:

昵称:

头像地址:[0,255]

表consumption_records(消费记录)

消费记录ID

普通用户

用户姓名

date

消费日期

消费标题

消费金额

消费内容

datetime

表hits(用户点击)

点赞ID:

点赞人:

表praise(点赞)

bit

点赞状态:1为点赞,0已取消

表regular_users(普通用户)

普通用户ID

用户性别

用户地址

已通过

审核状态

用户ID

表slides(轮播图)

轮播图ID:

标题:

链接:

轮播图:

点击量:

表transaction_notes(事务备注)

事务备注ID

事务标题

事务类型

事务内容

办理进度

完成情况

表upload(文件上传)

上传ID

文件名

访问路径

文件路径

显示顺序

父级ID

文件夹

文件类型

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

所在用户组:[0,32767]决定用户身份和权限

手机认证:[0,1](0未认证|1审核中|2已认证)

昵称:[0,16]

针对获取用户信息字段

会员等级

double

0.00

会员折扣

表user_group(用户组:用于用户前端身份和鉴权)

用户组ID:[0,8388607]

显示顺序:[0,1000]

名称:[0,16]

描述:[0,255]描述该用户组的特点或权限范围

注册位置:

5系统详细设计

5.1用户功能模块

用户注册流程图如下图所示。如图5-2所示。

图5-2用户注册界面图

图5-4新闻资讯界面图

我的,用户可以在此页面查看个人基本信息、事务备注、消费记录等操作,如图5-5所示。

图5-5我的界面图

事务备注,用户可以在此页面查看或者添加事务备注信息。,如图5-6所示。

图5-6事务备注界面图

5.2管理员功能模块

系统用户,在系统用户管理页面中可以查看管理员和普通用户的资料,并对其进行增删改查的操作,如图5-7所示。

图5-7系统用户管理界面图

事务备注管理,在事务备注管理页面中可以查看所有的事务备注信息,还可以根据需要进行添加、删除、修改等操作,如图5-8所示。

图5-8事务备注管理界面图

资源管理,在资源管理页面中可以查看新闻资讯、资讯分类,并对其进行增删改查的操作,如图5-9所示。

图5-9资源管理界面图

一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的网站是否可以正常无误的运行,尽可能的发现网站的问题,已使后期网站投入使用后网站尽少出错。

系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。

对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试[14]。

构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。

性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。

(1)模块测试

单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。

(2)集成测试

集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:

软件耗费较少。

可以提前发现端口的错误。

更好的地位系统中错误的位置。

从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。

(3)验收测试

终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。

其结果是分别是:

有一定的差异在用户的需求。

再者就是结果与之差不了多少。

到了最后了,我们发现的问题都是与用户的需求存在一定的关联。

测试的目标:输入账号密码以及验证码后系统会自动进行验证是否正确。

所用的环境:Windows10和IE浏览器。

输入信息:用户名、密码。

步骤:

情况

用户名输入

密码输入

期望结果

(1)

15546219225

1244566

提示“用户名或者密码错误,或账号未经审核”

(2)

aaaaa

123456

提示“用户名或密码错误,或者账号未经审核”

(3)

hangguowei

登陆成功

总体说来,软件通过测试。

[1]申安珍.“五心”领航助力服务更强——推进陕西机关事务系统党建工作高质量发展[J].中国机关后勤,2024,(03):32-35.

[3]王嵩立,荆一楠,何震瀛,等.支持混合事务和分析处理的数据库管理系统综述[J].软件学报,2024,35(01):405-429.

[4]王家,龙冬梅.基于云原生架构的高校数字化教学事务平台设计与研究[J].现代信息科技,2023,7(14):12-14+19.

[5]赖康顺.智慧养老云平台中事务管理系统集群化模型的设计与实现[D].北京邮电大学,2023.

[6]黄纯悦,彭起,张拂晓,等.多副本分布式事务处理关键技术及典型数据库系统综述[J].软件学报,2024,35(01):455-480.

[7]庄骐,陈克,陆志林.上海市社区事务受理系统设计和应用[J].微型电脑应用,2023,39(05):21-24.

[8]李沛牧.基于CSP的分布式事务系统的建模与验证[D].华东师范大学,2023.

[9]李旗,基于国产软硬件平台的分布式事务型数据库.四川省,成都虚谷伟业科技有限公司,2022-12-30.

[10]段莹.基于“互联网+”的学生事务管理信息化平台建设[J].办公自动化,2022,27(22):15-17.

[11]石凌峰.基于B/S架构的企业法律事务平台研发及应用[J].软件,2022,43(08):167-169.

[12]王基桥.智慧养老云平台中分布式事务管理模块的设计与实现[D].北京邮电大学,2022.

[13]马楚博.以信息化建设提升机关事务管理效能[J].中国机关后勤,2022,(02):30-31.

[14]张相荣,机关事务数字化平台.陕西省,西安汇丰软件科技有限公司,2022-01-01.

[15]许燊晖,郑荣纬,杨毕辉,等.基于移动互联网平台的医疗事务审批系统的设计与实现[J].中国数字医学,2021,16(10):76-78.

[16]徐晴,王加年.微服务架构的学生综合事务平台构建[J].办公自动化,2020,25(23):11-12+40.

[17]曹伟.移动互联平台在高校教学运行和教学事务管理中的社群式应用[J].教育观察,2020,9(33):73-76.

[18]PrabawaniB,HadiPS,FisherRM,etal.SocioeconomicperspectiveofagroforestrydevelopmentinCentralJava[J].EnvironmentalandSustainabilityIndicators,2024,22100354-.

[19]XiaoZ,AliY,XinW,etal.SportsWorkStrategyofCollegeCounselorsBasedonMySQLDatabaseBigDataAnalysis[J].InternationalJournalofInformationTechnologyandWebEngineering(IJITWE),2023,18(1):1-14.

[20]YangY.DesignandImplementationofStudentInformationManagementSystemBasedonSpringboot[J].AdvancesinComputer,SignalsandSystems,2022,6(6):

转眼间,大学生用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?

THE END
1.数据库6.选择网站并发连接数,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”。 7.是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,在这个页面上,您还可以选择“启用标准模式...https://www.jianshu.com/p/da76bf1f9fde
1.数据库设计步骤数据库设计步骤 1,收集信息 了解需求(访谈) 2,识别实体 要哪些表 3,列出属性 4,实体关系https://blog.csdn.net/qq_35391791/article/details/143769221
2.创建高度可用的MySQL数据库在Azure Stack Hub 操作员创建和配置 MySQL 群集,并将其添加为 Azure Stack Hub MySQL 托管服务器后,自己的订阅中包含 MySQL Server 数据库功能的租户用户可以按照本节中的步骤创建高度可用的 MySQL 数据库。备注 以租户用户(其订阅提供 MySQL Server 功能,即 Microsoft.MySQLAdapter 服务)身份从 Azure Stack Hub ...https://learn.microsoft.com/ZH-CN/azure-stack/operator/azure-stack-tutorial-mysql?view=azs-2108
3.数据库设计文档自动生成mysqlmob64ca12d94299的技术博客此脚本创建了一个名为exampleDB的数据库,并在其中创建了user和order表。该设计文档中的所有信息都可通过此脚本轻松展现出来。 类图示例 在设计数据库时,使用类图可以清晰地表达实体与其关系。以下是一个用Mermaid语法表示的类图示例: places >10..*User+int id+String username+String emailOrder+int id+int user_...https://blog.51cto.com/u_16213336/12567201
4.康复科医生工作总结(通用8篇)现将任职以来的工作情况总结如下:晋升为主治医师是独立开展工作的开始,为迅速提高自己的诊疗技术,前两年本人一直在呼吸科工作,进过工作的锻炼使我迅速提高对呼吸疾病的认识和治疗水平,能熟练处理好各种情况。 在工作中,本人深切的认识到一个合格的内科医生应具备的素质和条件。努力提高自身的业务水平,不断加强业务理论...https://www.oh100.com/a/202301/5912100.html
5.什么是BI?企业数字化的规划和落地第三层,数据源层- 即BI的数据层,各个业务系统底层数据库的数据通过 ETL 的方式抽取到BI的数据仓库中完成 ETL 过程,建模分析等等,最终支撑到前端的可视化分析展现。 02、BI在企业IT信息化中的位置 这一点是所有企业如果规划要上BI项目的时候必须弄明白的:BI在IT信息化中到底处于一个什么样的位置?弄清楚定位是信息...https://maimai.cn/article/detail?fid=1778763808&efid=IIU4kC9omHSMNDd9brumRg
6.广州市招生考试委员会办公室网站附件:一、《服装市场与营销》课程(课程代码:0683) 考试大纲 二、《服装发展简史》课程(课程代码:3902) 考试大纲 三、《服装专业英语》课程(课程代码:3921)考 试大纲 四、《关系数据库与程序设计》课程(课程代码: 8087)考试大纲 五、《计算机网络基础》课程(课程代码:8348) ...https://gzzk.gz.gov.cn/zxks/zkxx/zyykc/content/post_5085226.html
7.雅虎笔试题目解析:设计关系数据库时,需要根据业务需求和数据特点,合理设计实体之间的关系、属性及其数据类型,并设置相应的约束和索引以优化查询性能。 6、SQL语句中用于更新表数据的命令是什么? 答案:UPDATE。 解析:UPDATE命令用于修改表中的数据。 7、软件测试的目的是什么? https://www.yjbys.com/bishi/timu/58097.html
8.准备好了吗?KindleFireHD7国行评测(全文)除了底栏会按照不同的使用方向调整自己的位置这点以外,在浏览器界面下它还可以自动隐藏以换取更多的显示空间,只在屏幕边缘留下一个手柄来提示用户可以使用它来呼出隐藏的底栏,这两个小细节也体现除了产品设计师人性的一面。 6亚马逊应用市场界面 ■纯粹为消费内容而生的平板 ...https://pad.zol.com.cn/379/3791179_all.html