NodeJS家庭财务管理小程序-计算机毕业设计源码93433

摘  要

家庭财务管理对于每个家庭来说都是至关重要的。随着科技的不断发展,人们对于便捷、高效的家庭财务管理工具的需求也日益增长。在这样的背景下,家庭财务管理小程序应运而生。

Node.js 是一个基于 JavaScript 的开源跨平台服务器端运行环境,它具有高效、灵活、可扩展等特点。通过使用 Node.js 技术,我们可以构建一个功能强大且易于使用的家庭财务管理小程序,帮助家庭成员更好地管理财务。

这个小程序将提供一系列实用的功能,包括账户类型管理、账户信息管理、预算类型管理、 预算记录管理、收入记录管理、支出记录管理、账单类型管理、账单提醒管理、费用分析管理、目标设定管理、目标计划管理、定期报告管理、税务信息管理、账单信息管理等。家庭成员可以随时随地使用小程序记录收入和支出,设定预算目标,并查看账户余额和交易记录。通过报表统计功能,家庭成员可以清楚地了解自己的财务状况,做出更明智的决策。

家庭财务管理小程序将为家庭提供一个便捷、安全、高效的财务管理工具,帮助家庭成员更好地掌握自己的财务状况,实现财务目标。

关键词:家庭财务管理小程序;Node.js

NodeJS Home Financial Management Mini Program

Abstract

Family financial management is crucial for every family. With the continuous development of technology, people's demand for convenient and efficient household financial management tools is also increasing. In this context, household financial management mini programs have emerged.

Node.js is an open-source cross platform server-side runtime environment based on JavaScript, which has the characteristics of efficiency, flexibility, and scalability. By using Node.js technology, we can build a powerful and easy-to-use family financial management mini program to help family members better manage their finances.

This mini program will provide a series of practical functions, including account type management, account information management, budget type management, budget record management, revenue record management, expense record management, bill type management, bill reminder management, expense analysis management, goal setting management, goal plan management, periodic report management, tax information management, bill information management, etc. Family members can use mini programs anytime, anywhere to record income and expenses, set budget goals, and view account balances and transaction records. Through the report statistics function, family members can have a clear understanding of their financial situation and make wiser decisions.

The family financial management mini program will provide a convenient, safe, and efficient financial management tool for families, helping family members better grasp their financial situation and achieve financial goals.

Key words: Family financial management mini program; Node.js

目   录

第一章 绪 论

1.1选题背景和意义

1.2开发现状

1.3论文结构与章节安排

第二章 系统分析

2.1可行性分析

2.1.1技术可行性   

2.1.2经济可行性

2.1.3操作可行性 

2.2系统功能分析

2.2.1 功能性分析

2.2.2 非功能性分析

2.3系统操作流程

2.3.1用户登录流程

2.3.2信息添加流程

2.3.3信息删除流程

2.4 系统用例分析

第三章 系统总体设计

3.1系统架构设计

3.2开发流程设计

3.3数据库设计

3.3.1实体ER图

3.3.2数据表

第四章 系统详细设计与实现

4.1用户端:普通用户功能模块

4.1.1用户登录界面

4.1.2用户注册界面

4.1.3前台首页界面

4.1.4基本信息界面

4.1.5账目信息界面

4.2 管理端:管理员功能模块

4.2.1管理员登录界面

4.2.2管理员首页功能界面

4.2.3系统用户界面

4.2.4预算类型管理界面

4.2.5支出记录管理界面

4.2.6系统管理功能界面

4.2.7通知公告功能界面

第五章  系统的测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

结  论

参考文献

致  谢

第一章 绪 论

1.1选题背景和意义

计算机已经成为我们学习和工作的得力助手,使用其可方便的管理家庭财务。

今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。

现在我国的家庭财务管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

作为一个信息管理与信息系统的毕业生,希望可以在这方面有所贡献。希望能用所学的知识分析设计一个实用的系统来帮助家庭进行家庭财务管理。开发这一系统的好处大约有以下几点:

第一、可以存储家庭日常财务信息;

第二、只需了解操作系统,就能实现方便快捷的家庭财务管理,节省人力;

第三、可以迅速家庭财务历史信息,做到收入支出心中有数。

1.2开发现状

随着人们对家庭财务越加了解和重视,各种家庭财务产品和家庭财务服务层出不穷,家庭财务软件只是其中的一个。但家庭财务软件以其方便、实用、便宜等特点受到越来越多人的追捧和使用。家庭财务类软件可作为家庭财务为客户做家庭财务分析的工具软件。家庭财务软件是帮助实现家庭财务的计算机应用程序。现在常见的家庭财务软件可以完成收支记账、预算、统计分析、账户管理等功能,帮助用户能更好的管理家庭财务!操作简单,报表分析功能能让用户随时可以了解自己的财务状况。家庭财务软件又分为PC端家庭财务软件、WEB在线家庭财务及手机家庭财务三大平台,之间数据既可独立,又可同步。正是在国内外研究现状的基础之上,本课题设计并实现了自己的手机家庭财务软件。

1.3论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章为引言,此章节对所设计和实现的系统的背景和意义和开发现状进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。

第二章为系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。

第三章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第四章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前端客户功能和后端管理员功能进行了分析和说明。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结

章 系统分析

2.1可行性分析

2.1.1技术可行性   

通过采用Node.js技术,我们开发出一款功能强大、操作简便的家庭财务管理小程序,同时还建立了一个完善、安全、可靠的后台数据库,以确保其运行的稳定性和可靠性。

通过采用Node.js技术和Mysql数据库,我们可以轻松实现家庭财务管理小程序的设计,并且将用户角色有机地融入其中,这种创新的方式值得一试。此外,数据的完整性和多样性也为数据的有效分配和管理提供了坚实的基础。数据库安全平台是一个至关重要的组成部分,它不仅可以提升数据安全性,还可以通过提供更加灵活、智能、有效的基础控制方法,来实现对安全计算环境的支撑,从而确保数据的安全性。由于家庭财务管理小程序拥有强大的功能、免费的特性以及出色的用户体验,因此它在技术上是一个可行的选择。

2.1.2经济可行性

家庭财务管理小程序的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且在家庭财务管理小程序的开发之前所做的市场调研及其他的微信小程序的家庭财务管理小程序,都是没有任何费用的,通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于家庭财务管理小程序的开发在经济上是完全可行的,没有任何费用支出的。

使用node.js技术是比较成熟的技术,所以家庭财务管理小程序的开发在经济上是没有问题的。

2.1.3操作可行性 

家庭财务管理小程序设计完成后,其可操作性得到了显著提升,管理员可以轻松访问系统,快速管理各种数据信息,而用户也可以轻松访问系统界面,通过界面导航菜单,快速查看各个功能模块,满足用户的信息需求。此外,系统的操作也不再需要专业人员,只需要普通用户就可以轻松完成各个功能模块的操作管理。因此,我们的系统具有很高的可操作性。通过使用界面窗口,我们能够轻松地让用户进行登录。因此,只需要掌握基础的电脑操作技能,我们就能够满足您的需求。

2.2系统功能分析

2.2.1 功能性分析

按照家庭财务管理小程序的角色,划分了普通用户管理模块、管理员管理模块这两大部分。

普通用户管理模块:

  1. 用户注册登录:用户注册为会员并登录家庭财务管理小程序;用户对个人信息的增删改查,比如个人资料,密码修改。
  2. 基本信息:用户可以查看和修改个人信息,如头像、昵称、密码等。
  3. 收藏:用户可以收藏感兴趣的信息,方便以后查看。
  4. 网站公告:显示小程序发布的重要通知和消息,例如系统更新、公告等。
  5. 理财资讯:提供有关个人理财、投资、省钱技巧等方面的文章和信息。用户可以阅读和学习这些资讯,以提升自己的理财能力。
  6. 预算记录:让用户设定每月的预算目标,并记录实际支出情况。用户可以查看预算的使用情况,以便更好地控制开支。
  7. 收入记录:用于记录家庭的各项收入来源,用户可以按日期查看收入记录。
  8. 支出记录:用于记录家庭的各项支出,如日常开销等。用户可以按日期查看支出记录。
  9. 账单提醒:设置账单到期提醒,以便用户及时支付账单,避免逾期费用。
  10. 目标设定:让用户设定短期和长期的财务目标,用户可以制定计划来实现这些目标,并跟踪进度。
  11. 目标计划:为实现设定的目标而制定的具体计划,用户可以根据计划进行实际操作。
  12. 定期报告:生成定期的家庭财务报告,用户可以查看报告,了解家庭财务状况的变化趋势。

管理员管理模块:

  1. 系统用户:管理系统中的用户信息,包括添加、修改、删除用户等操作。设置用户角色和权限,控制用户对系统功能的访问。
  2. 后台首页:管理员登录后的起始页面,可以对后台首页、系统用户、账户类型管理、账户信息管理、预算类型管理、 预算记录管理、收入记录管理、支出记录管理、账单类型管理、账单提醒管理、费用分析管理、目标设定管理、目标计划管理、定期报告管理、税务信息管理、 账单信息管理、系统管理、通知公告管理这些功能模块进行操作。
  3. 账户类型管理:定义和管理不同类型的账户,如银行账户、微信账户等。可以添加新的账户类型。
  4. 账户信息管理:查看和编辑每个账户的详细信息,如账号、余额、交易记录等。支持账户的新增、修改和删除操作。
  5. 预算类型管理:创建和管理不同类型的预算,可以设置预算的目标、开始日期和结束日期。
  6. 预算记录管理:查看和编辑每个预算记录的详细信息,支持预算记录的新增、修改和删除操作。
  7. 收入记录管理:查看和编辑家庭的各项收入记录,支持收入记录的新增、修改和删除操作。
  8. 支出记录管理:查看和编辑家庭的各项支出记录,支持支出记录的新增、修改和删除操作。
  9. 账单类型管理:创建和管理不同类型的账单,可以对账单类型进行添加。
  10. 账单提醒管理:设置和管理账单的提醒,包括账单月份、账单金额、支付状态等。确保用户按时支付账单,避免逾期费用。
  11. 费用分析管理:提供按类别和时间段的支出分析,帮助用户了解自己的消费习惯。
  12. 目标设定管理:让用户设定短期和长期的财务目标,跟踪目标的进度和实际完成情况。
  13. 目标计划管理:为实现设定的目标而制定的具体计划,如储蓄目标、投资目标、还款目标。
  14. 定期报告管理:生成定期的家庭财务报告,包括财务状况、创建时间、更新时间等。
  15. 税务信息管理:管理家庭的税务信息,如个人所得税、营业增值税等。
  16. 账单信息管理:查看和管理各个账单的详细信息,包括账户金额、交易记录、账户名称等。
  17. 系统管理:管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。
  18. 通知公告管理:发布和管理系统的通知公告。

2.2.2 非功能性分析

家庭财务管理小程序的非功能性需求比如家庭财务管理小程序的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1家庭财务管理小程序非功能需求表

安全性

主要指家庭财务管理小程序数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指家庭财务管理小程序能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响家庭财务管理小程序占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着家庭财务管理小程序的页面展示内容进行操作,就可以了。

可维护性

家庭财务管理小程序开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3系统操作流程

2.3.1用户登录流程

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图2-2所示。

图2-2登录操作流程图

2.3.2信息添加流程

对于家庭财务管理小程序,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图2-3所示。

图2-3信息添加流程图

2.3.3信息删除流程

不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图2-4所示。

图2-4信息删除流程图


2.4 系统用例分析

通过2.2功能的分析,得出了家庭财务管理小程序的用例图:

普通用户角色用例如图2-5所示。

图2-5家庭财务管理小程序普通用户角色用例图

后端管理上的管理员是维护整个家庭财务管理小程序中所有数据信息的。管理员角色用例如图2-6所示。

图2-6家庭财务管理小程序管理员角色用例图

章 系统总体设计

3.1系统架构设计

本家庭财务管理小程序从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1 家庭财务管理小程序架构设计图

表现层(UI):又称UI层,主要完成本家庭财务管理小程序的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本家庭财务管理小程序时的舒适度。UI的界面设计也要适应不同版本的家庭财务管理小程序以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本家庭财务管理小程序的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本家庭财务管理小程序的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本家庭财务管理小程序的数据存储和管理功能。

3.2开发流程设计

家庭财务管理小程序的开发对管理模块和系统使用的数据库进行分析,编写代开发,规划和操作是构建信息管理应用程序的必要三步曲,它决定了系统是否能够真正实现预设功能以及是否可以在成功设计后实施。在开发过程中,每个阶段必须严格按照线性顺序进行开发,并且在相应阶段生成的每个工作都可以通过技术进行验证和检查。确保一个阶段完成后是正确的,不会造成下一阶段拖拽现象,使系统完成设计功能后得到保证。

从家庭财务管理小程序的成功开发经验来看,上述方法效果最为明显,最大程度地降低了系统开发的复杂性。如图3-2所示。

图3-2开发系统流程图

3.3数据库设计

数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。

3.3.1实体ER图

数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。展示系统使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。

概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是数据库实体的E-R图如图3-3所示:

图3-3实体的E-R图

这些功能可以充分满足家庭财务管理小程序的需求。此系统功能较为全面,系统功能结构图如3-4所示。

图3-4系统功能结构图

3.3.2数据表

我们可以根据数据结构的详细分析要求,我们根据输入和输出数据量的要求进行分析,确定什么表表,结构之间的关系,我们可以验证,调整和完善,查询和浏览过程,可以实现数据库,以使用户对数据和功能有更多要求。

基于系统使用的数据库管理系统的特点,对数据库的概念模型进行了转换和构建。但是,这个系统只需要充分考虑家庭财务管理小程序的功能,而且组织比较清晰。数据表如下。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表account_information (账户信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

account_information_id

int

10

0

N

Y

账户信息ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

title_of_account

varchar

64

0

Y

N

账户名称

5

account_type

varchar

64

0

Y

N

账户类型

6

account_balance

int

10

0

Y

N

0

账户余额

7

interest_income

int

10

0

Y

N

0

利息收入

8

transaction_records

text

65535

0

Y

N

交易记录

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表account_type (账户类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

account_type_id

int

10

0

N

Y

账户类型ID

2

account_type

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

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

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

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

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

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

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

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表bill_information (账单信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bill_information_id

int

10

0

N

Y

账单信息ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

title_of_account

varchar

64

0

Y

N

账户名称

5

account_type

varchar

64

0

Y

N

账户类型

6

account_balance

int

10

0

Y

N

0

账户余额

7

transaction_records

text

65535

0

Y

N

交易记录

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表bill_reminder (账单提醒)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bill_reminder_id

int

10

0

N

Y

账单提醒ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

bill_name

varchar

64

0

Y

N

账单名称

5

bill_type

varchar

64

0

Y

N

账单类型

6

billing_month

date

10

0

Y

N

账单月份

7

bill_amount

int

10

0

Y

N

0

账单金额

8

bill_remarks

text

65535

0

Y

N

账单备注

9

pay_state

varchar

16

0

N

N

未支付

支付状态

10

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表bill_type (账单类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bill_type_id

int

10

0

N

Y

账单类型ID

2

bill_type

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

更新时间

表budget_records (预算记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

budget_records_id

int

10

0

N

Y

预算记录ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

budget_number

varchar

64

0

Y

N

预算编号

5

budget_amount

int

10

0

Y

N

0

预算目标

6

budget_type

varchar

64

0

Y

N

预算类型

7

start_time

datetime

19

0

Y

N

开始时间

8

end_time

datetime

19

0

Y

N

结束时间

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表budget_type (预算类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

budget_type_id

int

10

0

N

Y

预算类型ID

2

budget_type

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

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表cost_analysis (费用分析)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cost_analysis_id

int

10

0

N

Y

费用分析ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

budget_type

varchar

64

0

Y

N

预算类型

5

income_amount

int

10

0

Y

N

0

收入金额

6

expenditure_amount

int

10

0

Y

N

0

支出金额

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表expense_records (支出记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expense_records_id

int

10

0

N

Y

支出记录ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

budget_number

varchar

64

0

Y

N

预算编号

5

cost_name

varchar

64

0

Y

N

费用名称

6

expenditure_amount

int

10

0

Y

N

0

支出金额

7

spending_time

datetime

19

0

Y

N

支出时间

8

expense_remarks

text

65535

0

Y

N

支出备注

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表goal_setting (目标设定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goal_setting_id

int

10

0

N

Y

目标设定ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

target_name

varchar

64

0

Y

N

目标名称

5

planned_time

datetime

19

0

Y

N

计划时间

6

target_progress

text

65535

0

Y

N

目标进度

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表periodic_report (定期报告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

periodic_report_id

int

10

0

N

Y

定期报告ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

financial_type

varchar

64

0

Y

N

财务类型

5

financial_condition

int

10

0

Y

N

0

财务状况

6

report_time

datetime

19

0

Y

N

报告时间

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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_phone_number

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

更新时间

表revenue_records (收入记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

revenue_records_id

int

10

0

N

Y

收入记录ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

budget_number

varchar

64

0

Y

N

预算编号

5

cost_name

varchar

64

0

Y

N

费用名称

6

income_amount

int

10

0

Y

N

0

收入金额

7

income_time

datetime

19

0

Y

N

收入时间

8

revenue_remarks

text

65535

0

Y

N

收入备注

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

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

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表target_plan (目标计划)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

target_plan_id

int

10

0

N

Y

目标计划ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

target_name

varchar

64

0

Y

N

目标名称

5

planned_time

varchar

64

0

Y

N

计划时间

6

target_plan

text

65535

0

Y

N

目标计划

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表tax_information (税务信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tax_information_id

int

10

0

N

Y

税务信息ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

statistical_month

varchar

64

0

Y

N

统计月份

5

personal_income_tax

int

10

0

Y

N

0

个人所得税

6

business_value_added_tax

int

10

0

Y

N

0

营业增值税

7

personal_consumption_tax

int

10

0

Y

N

0

个人消费税

8

total_taxes_and_fees

varchar

64

0

Y

N

总计税费

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

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

3

user_group

varchar

32

0

Y

N

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

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

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

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

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

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

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

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

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

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

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

系统详细设计与实现

4.1用户端:普通用户功能模块

4.1.1用户登录界面

用户登录,用户通过输入账号和密码,选择角色并点击登录进行系统登录操作,如下图所示。

图4-1用户登录界面图

登录的关键代码如下:

const md5 = require("md5");

var Controller = require("../core/controller.js");

class Login extends Controller {

constructor(config) {

super(

Object.assign({

tpl: "./login/",

service: "user",

},

config

)

);

}

}

Login.prototype.api = async function(ctx) {

var body = ctx.request.body;

var obj = await $.services["user"].get_obj({

username: body.username

},{like:false});

if (obj) {

var group = await $.services["user_group"].get_obj({

name:obj.user_group

})

if (group){

if (group.name!=="管理员"){

var sql = "select examine_state from "+ group.source_table +" WHERE user_id = " + obj.user_id;

var userExamine = await $.mysql.run(sql);

if (userExamine && userExamine.length > 0 && userExamine[0].examine_state!=="已通过"){

return {

error: {

code: 70000,

message: "该用户审核未通过"

},

};

}

}

if (obj.state!==1){

return {

error: {

code: 70000,

message: "用户非可用状态,不能登录"

},

};

}

var password = md5(body.password);

if (password === obj.password) {

ctx.session.user = obj;

var date = Date.parse(new Date());

var token = md5(obj.user_id + "_" + date);

await $.services["access_token"].add({

token,

info: JSON.stringify(obj),

user_id:obj.user_id

});

obj.token = token;

return {

result: {obj}

};

} else {

return {

error: {

code: 70000,

message: "密码错误"

},

};

}

}else {

return {

error: {

code: 70000,

message: "用户组不存在"

},

};

}

} else {

return {

error: {

code: 70000,

message: "账户不存在"

}

};

}

};

4.1.2用户注册界面

注册,通过填写密码、昵称、邮箱、性别、姓名、邮箱、电话等信息,输入完成后选择提交即可注册成功,如下图所示。

图4-2注册界面图

注册的关键代码如下:

Register.prototype.index = async function(ctx) {

var group_list = await $.services["user_group"].get_list({}, Object.assign({}, this.config));

return await ctx.render(this.config.tpl + "index.html", {

group_list

});

};

Register.prototype.api = async function(ctx) {

var user = $.services.user;

var body = ctx.request.body;

var username = body.username;

var obj = await user.get_obj({

username

});

if (obj) {

return {

error: {

code: 70000,

message: "账户名已存在",

},

};

} else {

var password = md5(body.password);

var nickname = body.nickname;

var user_group = body.user_group;

var email = body.email;

var email_state= body.hasOwnProperty('email_state') ? body.email_state : 0;

var phone = body.phone;

var phone_state= body.hasOwnProperty('phone_state') ? body.phone_state : 0;

var avatar = body.avatar;

var bl_reg = await user.add({

username,

password,

nickname,

user_group,

email,

email_state,

phone,

phone_state,

avatar

});

if (bl_reg) {

return {

result: "注册成功"

};

} else {

return {

error: {

code: 70000,

message: "注册失败",

},

};

}

}

};

4.1.3前台首页界面

前台首页,普通用户进入家庭财务管理小程序,可以对首页、网站公告、理财资讯、我(账户信息、预算记录、收入记录、支出记录、账单提醒、费用分析、目标设定、目标计划、定期报告、基本信息、收藏)等功能模块进行相对应操作,如下图所示。

图4-3前台首页界面图

4.1.4基本信息界面

基本信息,在基本信息页面用户可以修改头像、昵称、密码等操作,如下图所示。

图4-4基本信息界面图

4.1.5账目信息界面

账目信息,可以查看家庭财务管理小程序提供的账目信息列表,包括用户姓名、账目类型、账户余额项等信息。如下图所示。

图4-5账目信息界面图

4.2 管理端:管理员功能模块

4.2.1管理员登录界面

管理员进入到操作界面,通过登录窗口进行在线填写自己的用户名、密码、角色进行登录,登录成功后进入到系统操作界面进行相应信息的获取,如下图所示。

图4-6管理员登录主界面图

4.2.2管理员首页功能界面

管理员登陆系统后,可以对后台首页、系统用户、账户类型管理、账户信息管理、预算类型管理、 预算记录管理、收入记录管理、支出记录管理、账单类型管理、账单提醒管理、费用分析管理、目标设定管理、目标计划管理、定期报告管理、税务信息管理、 账单信息管理、系统管理、通知公告管理等功能模块进行相对应操作,如下图所示。

图4-7管理员首页功能界面图

4.2.3系统用户界面

系统用户,在系统用户页面,管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户这两种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。如下图所示。

图4-8系统用户界面图

系统用户添加的关键代码如下:

Controller.prototype.add = async function(ctx) {

var result = await this.service.add(ctx.request.body, this.config);

if (this.service.error) {

return {

error: this.service.error,

};

}

return {

result,

};

};

删:

Controller.prototype.del = async function(ctx) {

if (!Object.keys(ctx.query).length) {

return {

code: 30000,

message: "删除条件不能为空!",

};

}

var result = await this.service.del(ctx.request.query, this.config);

if (this.service.error) {

return {

error: this.service.error,

};

}

return {

result,

};

};

改:

Service.prototype.set = async function(query, body, config) {

var sql = $.mysql.toSetSql(query, body, Object.assign({}, this.config, config || {}));

var ret = await this.run(sql);

return ret;

};

4.2.4预算类型管理界面

预算类型管理,可以查看家庭财务管理小程序提供的预算类型列表,包括预算类型、创建时间和更新时间等信息。还可以对预算类型进行添加,如下图所示。

图4-9预算类型管理界面图

图4-10预算类型添加界面图

4.2.5支出记录管理界面

支出记录管理,可以查看家庭财务管理小程序提供的支出记录列表,包括用户姓名、费用名称、支出金额、支出时间、支出备注等信息。还可以进行查询和删除等操作。如下图所示。

图4-11支出记录管理界面图

4.2.6系统管理功能界面

系统管理,在系统管理页面管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。如下图所示。

图4-12系统管理界面图

轮播图上传的关键代码如下:

Controller.prototype.upload = async function(ctx) {

var req = ctx.request;

var query = req.query;

var url = "";

if (req.files && req.files.file) {

var f = req.files.file;

const render = fs.createReadStream(f.path);

var name = f.name;

var dir = f.dir || "";

var file = _dir + dir + name;

try {

if (fs.existsSync(file)) {

var arr = name.split(".");

name = arr[0];

var extension = arr[arr.length - 1];

var num = 10000;

for (var i = 0; i < num; i++) {

var na = name + "_" + (i + 1) + "." + extension;

file = path.join(_dir, na);

if (!fs.existsSync(file)) {

name = na;

break;

}

}

}

const upStream = fs.createWriteStream(file);

render.pipe(upStream);

url = _path + name;

} catch (e) {

console.log("上传失败:", e);

}

return {

result: {

url

}

};

} else {

return {

code: 10000,

message: "上传的文件(file)不能为空!",

};

}

};

4.2.7通知公告功能界面

通知公告管理,可以查看到系统中所有添加的系统公告,支持通过标题对系统公告进行查询,添加、删除等操作。通知公告管理界面如下图所示。

图4-13通知公告管理界面图

章  系统的测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些错误,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、账户信息查看功能测试、添加预算记录、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

账户信息查看功能测试:

表5-2 账户信息查看功能测试表

用例名称

账户信息查看

目的

测试账户信息查看功能

前提

用户登录

测试流程

点击账户信息列表

预期结果

可以查看到所有账户信息

实际结果

实际结果与预期结果一致

管理员添加预算记录界面测试:

表5-3 管理员添加预算记录界面测试表

用例名称

预算记录发布测试用例

目的

测试预算记录指发布功能

前提

用户正常登录情况下

测试流程

1)点击预算记录管理,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的预算记录 

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-4密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写家庭财务管理小程序的测试用例,已经检测完毕用户登录功能测试、账户信息查看功能测试、添加预算记录、密码修改功能测试,通过这些测试为家庭财务管理小程序的后期推广运营提供了强力的技术支撑。

结  论

经过了几个月的努力,本家庭财务管理小程序终于完成了,虽然在校期间也开发过一些小型的小程序,但是都是在老师的讲解以及辅助下完成的,没有经历过开发之前的需求分析、系统分析,都是直接从系统设计开始的,因此开发家庭财务管理小程序对我意义重大。

在开发系统最初,首先对各个家庭财务管理方面的需求进行调研,了解对于家庭来说,开发的系统需要实现哪些功能才能满足家庭的财务管理需求,对需求进行分析;其次选择自己比较熟悉的Nodejs语言,MYSQL数据库来设计开发,通过知网库、学校图书馆等地方查阅、学习这些技术,掌握编程的思想和方法,然后就是对系统进行分析,从系统开发的可行性、系统实现的功能、系统应该具备的性能以及系统的操作流程方面,对系统进行全方位的分析,确定系统的最终功能,从而对系统的功能和数据库进行设计,最后就是系统的实现以及对实现的功能的测试,确保系统能够稳定的运行。

在开发的过程中暴露出了自己的很多问题,比如前期的准备还是不够充分,不能完全掌握其操作流程;在开发过程中对Nodejs的编程掌握的还不够熟练以及对系统的环境配置上还存在很多问题,经常会导致项目在运行的时候出现错误。学无止境,通过一边查阅资料一边向导师请教,慢慢的解决了这些问题,在以后的学习、工作者我会更加严谨,通过本项目的开发,我将会受益终生!

参考文献

[1]李淑玲,朱彤.基于Node.js技术的在线测试系统设计方案[J].科技资讯,2023,21(19):35-38.DOI:10.16661/j.cnki.1672-3791.2303-5042-5997

[2]范兴娟,郭芳彤,刘保庆.基于node.js云平台的快递无人车在生鲜配送系统的应用[J].电子制作,2023,31(18):70-74.DOI:10.16589/j.cnki.cn11-3571/tn.2023.18.009

[3]Tyson M .Intro to Hapi: The Node.js framework[J].InfoWorld.com,2023,

[4]Krill P .Node.js upgrade adds environment variable config[J].InfoWorld.com,2023,

[5]邓杰海,刘薇,汤小燕.基于Node.js的开源架构Electron赋能前端开发[J].现代计算机,2023,29(16):87-92.

[6]张伟涛,赵玉娟.基于Spring Boot的家庭财务系统的设计与实现[J].网络安全技术与应用,2023,(05):48-50.

[7]赵率宏.基于Node.js的ORM框架研究与实现[D].西南科技大学,2023.DOI:10.27415/d.cnki.gxngc.2023.000804

[8]孙国程,陈大睿,张昭艳等.基于Node.js和MongoDB的公益帮扶小程序设计与实现[J].软件,2023,44(04):78-80.

[9]Uzayr B S .Conquering JavaScript:Node.js[M].CRC Press:2023-02-28.

[10]Krill P .Deno 1.30 backs built-in Node.js modules[J].InfoWorld.com,2023,

[11]Reid B ,D'Amorim M ,Wagner M , et al.NCQ: Code Reuse Support for Node.js Developers[J].IEEE Transactions on Software Engineering,2023,49(5):3205-3225.

[12]布宇凡.基于Node.js的船舶信息管理系统的设计与实现[D].北京邮电大学,2022.DOI:10.26969/d.cnki.gbydu.2022.000688

[13]廖倩倩.基于微信小程序与云开发的发票检查系统实现[J].数字通信世界,2022,(05):29-30+33.

[14]明博文.基于混合分析的Node.js平台注入漏洞攻击检测与自动修复[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.004012

[15]闵亮,薛格格,张玉欣等.基于Node.JS博客系统的设计与实现[J].电子设计工程,2022,30(07):37-41.DOI:10.14022/j.issn1674-6236.2022.07.008

[16]温馨雨.家庭财务管理系统的设计与实现[J].无线互联科技,2022,19(05):63-64.

[17]朱君,赵梓同.基于Node.js的旅游资源可视化构建平台设计与实现[J].电子技术与软件工程,2022,(03):62-66.

[18]全雪贞,张洁,文仙姣.基于Raspberry Pi和Node.js的北斗RTK物联网设备开发[J].地理空间信息,2022,20(01):108-110+9.

[19]裴之蕈,高艳霞.基于Vue和Node.js的手语教学Web平台的设计与实现[J].电脑与信息技术,2021,29(06):33-36+86.DOI:10.19414/j.cnki.1005-1228.2021.06.010

[20]李勇胜,万涛.家庭农场财务管理规范研究[J].黑龙江粮食,2021,(07):96-98.

致  谢

家庭财务管理小程序的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。

家庭财务管理小程序的设计可以顺利完成,首先,我要感谢我的指导老师,他在我遇到设计问题时及时帮助了我,并在我对设计感到困惑时给了我充分的指导。在他的帮助下,我可以完成高质量的毕业设计。在家庭财务管理小程序的设计和开发中,指导老师提出了许多实用的意见和建议,并为我提供了大量相关的研究资料,使我对设计有了更深入的了解。只有在老师的指导下,才能在毕业设计中取得成功。在此,我要向指导老师表示深深的谢意。

在此,我还要感谢我的同学们,他们为我的设计提供了许多参考意见,并与我讨论了设计中的问题,从而使我的设计一步一步走向成熟。  

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值