基于Java的微信记账小程序【附源码】

摘 要

随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,记账微信小程序被用户普遍使用,为方便用户能够可以随时进行在线查看心理测评与活动的数据信息管理,特开发了记账微信小程序。

记账微信小程序的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。

记账微信小程序的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与记账微信小程序管理的实际需求相结合,讨论了基于记账微信小程序管理的使用。

第1章 系统运行背景

近些年来,随着移动互联网巅峰时期的来临,互联网产业逐渐趋于"小、轻、微"的方向发展,符合轻应用时代特点的各类技术受到了不同领域的广泛关注。在诸多产品中,被誉为"运行着程序的网站"之名的微信小程序,具备"用完即走"、"无需安装"、"无需卸载"、"触手可及"的优势特点。用户通过此技术扫描特定二维码,与周边环境进行互动以此获取有用信息,使应用程序随处可见,随时可用又不必对该程序安装卸载,为一些高质量的服务提供良好的开发平台,打破了社交边界的想象力。在关于记账本的设计实现中同样采用了微信小程序技术,使广大客户实现"用完即走"的设想。

1.1 研究背景和意义

1.2国内外研究现状

1.3 本文主要研究内容

1.4 本章小结

第2章 相关技术与开发工具介绍

记账本小程序主要分为后台管理和小程序端,由本人独立完成,于是采用最简洁开发模式,即敏捷开发,遇到问题解决问题。

2.1硬件要求

操作系统:Windows10

CPU:2.4GHz

内存:8192MB

硬盘:100G

2.2开发及运行环境

(1) 操作系统:Windows 10

(2) 开发工具:idea,微信开发工具,navicat

(3) 运行环境:jdk1.8

(4) 数据库:mysql5.7

(5) 浏览器:谷歌浏览器

2.3系统架构设计

后台选用java语言开发,主要用到springboot框架,springboot框架的优点很多,封装了servlet,提高了开发效率,集成了servlet容器,简单的配置,灵活的应用。还用到了mybatis,mybatis主要封装了jdbc,提供了灵活的sql配置文件。后台管理界面则采用了bootstrap框架,bootstrap扁平化设计,使得界面整体美观大方。js用到vue.js,数据dom绑定,操作更加简单方便。小程序则只用了自身的标签去实现,以及小程序weui样式。数据库采用mysql,mysql体积小适合中小型项目开发。

2.4 相关技术介绍

程序主要分为三大块,java管理端,小程序用户端,mysql数据库。

2.5 Java语言简介

2.6小程序特点

2.7 MySQL特点

1.mysql轻量级,方便安装使用

2.mysql关系型数据库

3.mysql支持sql语言

4.mysql支持多线程

5.mysql提供了多语言链接驱动

2.8 B/S 架构及其运行原理

B/S架构,是从 C/S架构发展而来的一种不需要客户端的架构,这样可以减少软件的开发费用,可以在 Wed Server上提供数据,并在 Wed Server上完成所有的业务流程,Wed Server负责对用户的存取,并将该数据从数据库中提取出来,并将其反馈到用户端。。该架构的优势在于:可以让使用者在任何时候都能进行操作,只要在客户端上安装了web浏览器,就可以看到对应的效果,这样的话,使用者的互动就会变得很好,能够减轻开发人员的工作压力。其特点是易于扩展,易于维护和分布性,对客户端的硬件要求不是很高,B/S的工作方式:

图2.1 B/S架构原理图

第3章 系统分析

3.1需求分析

首先对现有系统进行分析,现有系统是信息的重要来源。分析己有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要足在网上进行,即通过在网上査看已有的记账本小程序,注册成为其会员来了解该小程序具备的功能。

3.2用户需求

"用户即上帝",设计小程序前应详细了解用户需求,这样才能避免日后因不满足 用户需求而造成大量修改。记账本小程序应考虑以下几方而的要求: 用户通过在线注册成为小程序的用户, 用户使用小程序可以在线记账。 管理员登陆后台管理可以针对用户记账操作。

3.3功能性需求

功能性需求分析是指对目标软件系统在功能、行为、性能、设计约朿等方而的期 望。需求分析是软件设计、实现测试直至维护的主要苺础,良好的需求分析可以避免 或尽早提出早期的错误,从而降低软件的开发成本,改进软件的质量。需求分析的任务足通过详细调査现实界要处理的对象,充分了解系统的工作概况,明确各种功能需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。

本记账本小程序后台应完成以下任务:

3.3.1 用户端

1.登录注册(含授权登录)

2.首页显示余额,以及记账记录,点击新增按钮新增记账

3.统计分析展示收入指出占比

4.个人中心显示我的信息(可编辑)

3.3.2 管理端:

1.用户管理:查看注册用户信息及删除

2.分类管理:分类信息增删改查

3.记录管理:查看用户新增记账记录

4.管理员管理:后台管理员增删改查

系统对数据的安全性、完整性要求表现在:用户信息保密,只有管理员可见 (可査),但不能任意修改。确保用户信息安全。以下是系统性能需求:

(1)准确性和可靠性高

(2) 界面友好,功能齐全,且可以方便使用。

3.4非功能性需求

系统兼容性指的是系统在不同软件或者硬件环境下操作,是否对网站的整体功能有影响。一般常见的兼容性就是系统在各大浏览器以及不同电脑系统中的运行情况,系统兼容性是系列计算机的基本特性,是避免用户在老产品型号上开发的软件遭受废弃的一种重要设计思想与技术措施。 它保护了用户的已有资源,节约了厂商和用户的开发投资,加快了计算机的研制过程,促进了计算机产业和应用的发展。在开发网站应当考虑到系统在不同环境下的运行结果是否一致,这直接影响到用户的体验。

用户界而需求:简洁、易用、易懂,友好和谐的用户界而。

(2) 硬件需求:Pentium以上计箅机

(3) 可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数 据丢失。

(4) 安全保密性需求:用户登录需要密码验证。

  1. 4.1技术可行性

本小程序开发工具有java,mysql,小程序。Java是一种而向对象的语言,简单易学而且灵活方便;mysql是一个安全、可靠的并且支持面向对象设计的数据库系统。易用性和可维护性也很好;小程序则使用原生组件开发,小程序官方网站提供了每个组件用例,学习成本低;通过学习钻研java,mysql,小程序。记账本小程序总体上开发难度不是太高,技术上具有完全的可行性。

3.4.2 经济可行性

技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。技术可行性主要通过考虑以下问题来进行论证:

1) 技术:目前的技术水平和目前的发展状况能否满足整个体系的运行。

2) 目标:因为在项目的可行性分析中,目的是不明确的,所以技术上的可行性与项目的功能、性能和约束条件最好是能够同步。在可行性研究阶段,调整项目目标和选择可行的技术体系都是可以的,而一旦项目进入开发阶段,任何调整都意味着更多的开销[9]。

需要特别指出的是,技术可行性绝不仅仅是论证在技术手段上是否可实现,实际上包含了在当前资源条件下的技术可行性。

对于技术的选择,具体要根据项目的实际情况(例如,开发环境、开发人员的素质、系统的性能要求等)进行决策,但通常的建议是尽可能采用成熟的技术,慎重引入先进技术。IT业界流行的诙谐语"领先一步是先进,领先两步是先烈"讲的就是对技术的选择原则。

3.4.3 系统兼容性

系统兼容性指的是系统在不同软件或者硬件环境下操作,是否对网站的整体功能有影响。一般常见的兼容性就是系统在各大浏览器以及不同电脑系统中的运行情况,系统兼容性是系列计算机的基本特性,是避免用户在老产品型号上开发的软件遭受废弃的一种重要设计思想与技术措施。 它保护了用户的已有资源,节约了厂商和用户的开发投资,加快了计算机的研制过程,促进了计算机产业和应用的发展。在开发网站应当考虑到系统在不同环境下的运行结果是否一致,这直接影响到用户的体验。

3.4.4 系统安全性

安全性是每个领域必须要考虑的事情,系统的安全性直接影响到整个网站的存活。我们在设计网站过程中,安全问题可以分为以下几个方面:

1.账户安全:这直接关系到用户的个人信息泄露以及网站信息丢失。音乐系统在设计登录注册的时候,采用了严格的正则表达式,用户的密码必须是数字、字母加符号组合,而且还控制了密码的长度范围。用户名同样控制了长度。

2.网络环境安全:我们的网站不能在含有恶意病毒的系统上使用,病毒会随时入侵网站,导致网站崩溃等情况出现。

3.硬件安全:指的是我们的电脑或者其他相关的硬件不能放在潮湿或者有化学药品的地方。

第4章 总体设计与实现

我们在设计系统的体系时,应站在客户的立场上思考可能发生的事情,以使做出的产品可以满足用户的要求。同时也应为系统将来功能变更、拓展留下余地。此章节重点介绍此记账本小程序的设计目的、系统功能设计以及对应的数据结构规划。

4.1 设计目标

设计完成的系统应该能够满足使用者完成微信小程序线上记账。同时能够体现出系统将来功能的可扩展性、模块化以及其安全性,以便于系统未来的功能升级改造以及新功能的添加。微信小程序凭借着避免安装、即用即走的优势,以及微信强大的用户的用户体系,使越来越多的人喜欢使用小程序。

4.2 系统功能结构

在整个系统设计开发中,将系统分割为一系列工作量较小的模块进行模块化的开发。根据4.1设计目标阐述,将本次要实现的记账本小程序分割为两大模块:用户端小程序模块和管理员后台管理模块。其中用户小程序端包含首页、记账、统计、我的、我的信息等。后台管理包含会员管理、分类管理、记账管理、管理员管理等。

图4.2所示为系统的框架图。

图4.2系统整体框架图

4.3 系统业务流程图

记账本小程序涉及的业务较多,其流程图如图4.3所示。

图4.3 系统业务流程图

4.4 数据库设计

4.4.1 数据库的选定

数据库管理系统DBMS是支持人们建立、使用、组织、存储、检索和维护数据库的软件系统[13],我们现在可以使用的数据库有很多种,如Fox数据库、Access数据库、DB2、Mysql、Oracle和SQL Server等等。Mysql是一款免费开源的数据库。相比其他数据库,它使用方便,灵活性高,可提供高性能的数据访问。

本系统选择了Mysql作为本系统运用的数据库。数据库名称为a_cashbook,共建立了8张表。

4.4.2 数据库概念模型设计

数据库概念模型即系统的实体------关系模型。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述[14]。记账本小程序的整体E-R图如图4.3所示。

4.4.3 数据库逻辑设计

本系统主要用到了多张数据表,部分表结构如下:

会员表(base_member)

字段名称 数据类型 必填 注释

id int(11) 是

gender char(1) 否 性别

real_name varchar(50) 否 姓名

mobile varchar(50) 否 手机号码

login_name varchar(50) 否 登录账号

password varchar(100) 否 密码

create_time datetime 否 创建时间

分类表(c_category)

字段名称 数据类型 必填 注释

id int(11) 是

category_name varchar(255) 否 分类名称

sort int(11) 否 排序

create_time datetime 否 创建时间

记录表(c_record)

字段名称 数据类型 必填 注释

id int(11) 是

member_id int(11) 否 会员

category_id int(11) 否 分类id

amount decimal(10,2) 否 金额

type tinyint(2) 否 类型

remark varchar(255) 否 备注

create_time datetime 否 时间

管理员表(sys_user)

字段名称 数据类型 必填 注释

id bigint(20) 是

username varchar(50) 是 用户名

password varchar(100) 否 密码

email varchar(100) 否 邮箱

mobile varchar(100) 否 手机号

status tinyint(4) 否 状态 0:禁用 1:正常

create_time datetime 否 创建时间

第5章 详细设计与实现

5.1 用户模块实现

5.1.1 首页模块实现

用户模块主要实现了登录注册、记账等。下文中对系统的所有模块功能进行叙述和对界面进行展示。

用户打开小程序能够看到首页记账信息。本功能模块实现界面如图5.11 所示。

图5.11 首页功能模块界面

5.1.2 记账模块实现

用户点击首页新增跳转到记账界面,选择记账类型,输入记账金额保存即可。本功能模块实现界面如图5.12 所示。

图5.12 记账功能模块界面

5.1.3 统计模块实现

用户点击统计展示收入支出饼状图。本功能模块实现界面如图5.13 所示。

图5.13 统计功能模块界面

5.1.5 我的模块实现

显示用户头像昵称,可以退出登录以及点击登录跳转登录界面。本功能模块实现界面如图5.15 所示。

图5.15 我的功能模块界面

5.1.6 登录注册模块实现

用户记账及查看个人相关信息需要登陆,用户点击授权登陆提示是否允许登陆,点击同意则授权登陆成功。本功能模块实现界面如图5.16 所示。

图5.16 授权登陆功能模块界面

5.1.7 我的信息模块实现

用户可以在相关信息栏目中查看本人相关信息,或者修改姓名手机号码等可自己更改的信息。本功能模块实现界面如图5.17 所示。

图5.17 查看个人信息功能模块界面

5.2 管理员模块实现

5.2.1 会员管理模块实现

管理员可以查看会员注册信息以及删除。本功能模块实现界面如图5.2.1 所示。

图5.2.1会员管理功能模块界面

5.2.2 分类管理模块实现

管理员可以查看分类信息,可以增加分类、修改分类、删除分类。本功能模块实现界面如图5.2.2 所示。

图5.2.2 分类管理功能模块界面

5.2.3 记账管理模块实现

管理员可以在相关信息栏目中选择不同的查询条件,点击"查询"按钮查找某个记账内容。点击"新增"可以新增一个记账,点击"修改"可以修改一个记账,点击"删除"可以删除一个记账。本功能模块实现界面如图5.2.3 所示。

图5.2.3 记账管理功能模块界面

5.2.6 管理员管理模块实现

管理员可以在相关信息栏目中输入或选择不同的项目,点击"查询"按钮查找管理员,点击"新增"可以新增一个管理员,点击"修改"可以修改一个管理员,点击"删除"可以删除一个管理员。。本功能模块实现界面如图5.7 所示。

图5.2.6 管理员管理功能模块界面

5.3 本章小结

本章是全文篇幅最长的章节,承接上个章节的整体设计。简单介绍了数据库的连接实现,然后将系统分成管理端,小程序端两个模块,接着将每个模块更细小的分割后进行详尽技术阐述并展现了相关模块的界面效果图。

第6章 系统测试

软件测试是软件开发过程中一个非常必要的环节,其目的是为了能够发现在软件产品中所存在的 BUG 或者与用户需求不符的地方。系统在正式投入使用之前,要先对其进行测试,确保其功能完整,符合用户利益。

系统测试使用不同的方法和环境对软件进行各方位的测试,是为了测试系统是否完成了系统设计该有的功能,寻找与系统设计理念相悖之处予以修复。

6.1 测试计划

6.1.1 测试范围及其内容

1.用户端小程序端模块

本功能内需测试包括首页,记账,统计,微信授权登录,个人中心我的信息维护。

2.管理员功能模块

本功能内需测试包括用户管理:查看注册用户信息,及删除;分类管理:对分类增删改查;记账管理:对记账查看及删除;管理员管理:后台管理员增删改查。

6.1.2 测试方法及测试环境

1)测试方法

使用黑盒测试方法对6.1.1中提出的各类功能模块校验在输入正确的数据时可以得到期望返回值,以及在输入错误的数据时系统能实施正确的处理。

2)测试环境

服务器配置如下:

CPU:Intel® Core™ i3-3120M CPU @ 2.5GHz

内存:8GB

硬盘:500GB

6.2 测试用例

6.2.1 用户首页测试用例

表6.2.1 用户首页测试用例表

用例 用例描述 预期结果 实际结果

1 能够正确显示记账信息 正确显示分类 测试通过

6.2.2 用户记账测试用例

表6.2.2 用户记账详情测试用例表

序号 用例描述 预期结果 实际结果

1 填写记账信息能够保存成功 成功保存记账信息 测试通过

6.2.3 用户统计测试用例

表6.2.3 用户统计测试用例表

序号 用例描述 预期结果 实际结果

1 显示收入支出饼状图 正确显示收入支出饼状图 测试通过

6.2.6 用户我的测试用例

表6.2.6 用户我的试用例表

序号 用例描述 预期结果 实际结果

1 显示用户头像昵称 正确显示用户头像昵称 测试通过

2 退出登录 点击退出按钮退出登录 测试通过

6.2.7 用户我的信息测试用例

表6.2.7 用户我的信息测试用例表

序号 用例描述 预期结果 实际结果

1 能够显示我的信息 正确显示我的信息 测试通过

2 能够修改我的信息 正确修改我的信息 测试通过

6.3.0 管理员会员管理测试用例

表6.3.0 管理员会员管理测试用例表

序号 用例描述 预期结果 实际结果

1 管理员查询会员信息 展示会员头像昵称信息 测试通过

6.3.1 管理员分类管理测试用例

表6.3.1 管理员分类功能测试用例表

序号 用例描述 预期结果 实际结果

1 管理员查看分类 正确显示分类信息 测试通过

2 管理员新增一条分类 点击新增按钮,输入分类信息,点击保存新增一条分类 测试通过

3 管理员修改一条分类 选择一条分类点击编辑显示分类信息,输入要修改的内容,点击保存,修改这条分类 测试通过

4 管理员删除一条分类 选择一条分类,点击删除按钮,删除分类 测试通过

6.3.2 管理员记账管理测试用例

表6.3.2 管理员记账管理功能测试用例表

序号 用例描述 预期结果 实际结果

1 管理员查看记账 正确显示记账信息 测试通过

2 管理员删除一条记账 选择一条记账,点击删除按钮,删除记账 测试通过

6.3.4 管理员用户管理测试用例

表6.3.4 管理员用户管理功能测试用例表

序号 用例描述 预期结果 实际结果

1 管理员查看用户信息 正确显示用户信息 测试通过

2 管理员新增一条用户 输入用户信息,点击保存新增一条用户 测试通过

3 管理员修改一条用户 选择一条用户点击编辑显示用户信息,输入要修改的内容,点击保存,修改这条用户 测试通过

4 管理员删除一条用户 选择一条用户,点击删除按钮,删除用户 测试通过

6.3 本章小结

本章主要使用黑盒测试方法将系统从不同的模块来进行测试,编写了相关测试用例。分析测试结果,使系统具备可靠性和稳定性。

相关推荐
郭wes代码17 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
装不满的克莱因瓶30 分钟前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
n北斗37 分钟前
常用类晨考day15
java
骇客野人40 分钟前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言
yuanbenshidiaos2 小时前
c++---------数据类型
java·jvm·c++
向宇it2 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
Lojarro2 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
莫名其妙小饼干2 小时前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离
java·开发语言·maven·mssql
isolusion2 小时前
Springboot的创建方式
java·spring boot·后端
zjw_rp3 小时前
Spring-AOP
java·后端·spring·spring-aop