java+jsp+Oracle+Tomcat 记账管理系统论文(二)

news2024/11/16 13:48:03

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️

➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩ppt一条龙服务

➡️有部署问题可私信联系

⬆️⬆️⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️​​​​​​​⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️

目录

  • 第三章 系统分析
    • 3.1 系统初步调查
    • 3.2 系统体系结构设计
      • 3.2.1 首页
      • 3.2.2用户信息管理
      • 3.2.3用户财务管理
      • 3.2.4用户财务统计
      • 3.2.5系统管理
      • 3.2.6退出
    • 3.3用例图
    • 3.4用例说明
      • 3.4.1用户登录用例说明
      • 3.4.2财务管理用例说明
      • 3.4.3系统管理用例说明
  • 第四章 系统设计
    • 4.1系统类分析
    • 4.1.1 User类
    • 4.1.2 Admin类
    • 4.1.3 Zhang类
    • 4.1.4 Tong类
    • 4.2关键业务设计
      • 4.2.1 财务管理
      • 4.2.2 财务统计
    • 4.3数据库设计
      • 4.3.1概述
      • 4.3.2概念设计
      • 4.3.3数据库表

第三章 系统分析

3.1 系统初步调查

该记账管理系统,主要有4个功能模块组成,分别是:用户登录,财务管理,财务统计和系统管理,不同用户登录该系统权限不同,若是普通用户登录,则可以进行一些基本操作,如自身的信息修改,账单查看,账单记录等功能,若是管理员登录,则可以对普通用户和其他管理员进行管理,如基本的删除等功能。这样能更好的管理整个系统,本来各个模块之间错综复杂的关系,一下子让用户看起来更简单化,人性化。

3.2 系统体系结构设计

整个系统分为 用户注册,用户登录,财务管理,财务统计,系统管理等功能模块,如3-1图所示。
在这里插入图片描述

图3-1 系统结构图

3.2.1 首页

登录之后进入首页,你将看到系统的整体界面和基本功能,在你面前展现出来的是该系统的基本信息,如版本号,版权所有,开发者以及开发者的一些基本信息容内等。

3.2.2用户信息管理

当你登录成功之后,点击用户信息管理,你将看到登录用户的基本信息,如电话,姓名,性别,密码等信息,然后可以直接在上面进行编辑修改自己的信息,修改完成之后,系统将会提示你信息已修改成功,请重新登录的提示,这样以保证用户信息的安全性。

3.2.3用户财务管理

当你登录成功之后,你才有权限看到该用户的财务信息,当你点击财务管理时,将会展现出两栏小菜单,一个财务信息一个财务记录,财务信息将展现该登录用户的所有账单信息,用户可以很清楚地看到自己以往的财务记录;财务记录是一个添加记账的功能,它能简单的记录该登录用户的财务记录,然后入库,将数据持久化到数据库。

3.2.4用户财务统计

财务统计是一个统计功能模块,当用户拥有多条财务记录的时候,他点击财务统计该功能,他将可以清楚的看到月收支统计和年收支统计两个菜单栏。月收支和年收支,显而易见,就是统计该用户财务中每个月所有财务记录的一个统计和每年所有财务记录的一个统计,让用户每个月或者每年对自己财务账单有一个清晰的记录。

3.2.5系统管理

该模块普通用户是看不到的,只有管理员登录才能看的到,管理员登陆之后,他将用户对所有用户的基本管理的功能,如删除用户,通过登录名查询用户等功能,当然还可以对用户添加其他操作功能,这个可以作为一个扩展;然后是管理员对管理员进行管理,也可以进行基本的删除、查看、修改的操作。

3.2.6退出

用户点击退出可以安全退出该系统,退出之后必须重新登陆。

3.3用例图

该系统可分为三大模块管理,一个是用户管理,用户分为普通用户和管理员,他们权限不同,所以所拥有的功能和所看到的页面不同;另一个是财务管理,里面包含用户所拥有的财务信息和财务记录等。还有一个就是系统管理,也就是不同用户所用权限不同。具体见下用例图。
财务管理:
用户管理:
系统管理:
在这里插入图片描述

图3-2 用户管理用例图

不同的用户他们的登录界面不同,他们所拥有的权限和基本功能也是不一样的,他们的属性也有所区别。
在这里插入图片描述

图3-3 财务管理用例图

财务管理是整个系统的核心模块,它的功能如上图描述,可以很好的为用户的财务收支做,有效的记录并且永久的保存到数据库,用户随时可以查看自己的财务记录。
在这里插入图片描述

3-4 系统管理用例图

不同的用户他们的权限也就不一样,管理员能让这个系统更完善,它可以更好的管理所有用户的行为和权限。

3.4用例说明

3.4.1用户登录用例说明

用户注册,登录功能的用例说明,列出一系列可能出现的错误,导致无法正常完成用户的注册,登录的功能。这些错误是我们事先就已经意料到的可能发生的错误,能在第一时间给以客户回应,使得系统的可操作性更加的真实,可靠,也让用户感觉到系统的人性化。这些也是我们程序员在编写代码时要考虑的基本事项,作为一个好的程序员应该在第一时间想到系统可能出现的情况,把系统错误发生的可能性降到最低。以下是关于用户登入和注册时可能发生的一些异常,如:注册时用户名已经存在,登入时用户名与密码不相匹配,用户不存在等。
在这里插入图片描述

表3-1 用户登录用例说明

3.4.2财务管理用例说明

表3-2 财务管理用例说明
在这里插入图片描述

3.4.3系统管理用例说明

表3-3 系统管理用例说明
在这里插入图片描述

第四章 系统设计

本章内容包括系统类分析、核心业务设计、数据库设计三个部分,其中系统类分析需要给出系统类图和类的说明,需要注意在给出类图的时候只需要给出核心业务类,对辅助类如界面类、数据库连接类这种类型的不需要给出,如果所涉及的类(包括类当中的内容)较多时,应首先给出类间关系图(图中的类只有名称没有属性和方法),之后在单个类说明中给出具体类的类图,类图同样需要用WORD进行绘制。
核心业务设计主要描述的是完成某项具体业务时,类之间的消息配合,用时序图进行表述,时序图可以用其他工具绘制,但不能够有其他的颜色出现。
数据库设计主要描述在系统中需要持久化的对象,需要给出ER图,如果系统所涉及的实体(或实体的属性)较多时同样采用分层绘制的方法,顶层图给出实体间关系,下层图针对每一个实体进行具体绘制。

4.1系统类分析

经分析,该系统核心业务类见下图:

图4-1 系统核心类
在这里插入图片描述

4.1.1 User类

USER类用于记录系统的用户信息,并完成登陆和注销的操作。

表4-1 USER类功能表
类功能描述 处理和用户相关的业务操作
所在包名称 com.graduation.bean.User
继承对象 无
实现对象
类属性
保护属性 类型 名称 描述 备注
Public String ID 用户ID 系统中用户的唯一标示,由系统自动生成
Public String Name 登录号 长度限制20位
Public String Password 密码 长度限制20位
Public String sex 性别 长度限制20位
Public String age 年龄 长度限制20位
Public String tel 手机号码 长度限制200位
Public String rname 姓名 长度限制20位
Public Date adddate 注册时间 长度限制20位
主要实现方法
保护属性 方法名 输入参数 输出参数 方法功能描述
Public loginUser string id,string pwd String" 登陆系统,用户输入ID和PASSWORD后进行验证,验证通过返回用户名,并登记日志,验证失败返回空串。
public logout string id Void 注销系统,注销成功清理用户的相关信息并登记日志。

4.1.2 Admin类

Admin类用于管理员信息记录,并且让管理员进行登录等操作。

表4-2 Admin类功能表
类功能描述 处理和管理员相关的业务操作
所在包名称 com.graduaion.bean.Admin
继承对象 无
实现对象
类属性
保护属性 类型 名称 描述 备注
Public String ID 用户ID 系统中用户的唯一标示,由系统自动生成
Public String Name 登录号 长度限制20位
public String Password 密码 长度限制20位
主要实现方法
保护属性 方法名 输入参数 输出参数 方法功能描述
Public loginUser string id,string pwd String 登陆系统,管理员输入ID和PASSWORD后进行验证,验证通过返回用户名,并登记日志,验证失败返回提示框。
public logout string id Void 注销系统,注销成功清理用户的相关信息并登记日志,安全退出。

4.1.3 Zhang类

Zhang类用于用户进行账单记录的时候要用的,对账单进行记录,然后导入数据库中。

表4-3 Zhang类功能表
类功能描述 处理和用户记账记录相关的业务操作
所在包名称 com.graduaion.bean.Zhang
继承对象 无
实现对象
类属性
保护属性 类型 名称 描述 备注
Public String ID 用户ID 系统中用户的唯一标示,由系统自动生成
Public String Name 登录号 长度限制20位
public String Password 密码 长度限制20位
Public String username 用户登录名 长度限制20位
Public String rname 用户姓名 长度限制20位
Public String type 类型 长度限制50位
Public String kind 种类 长度限制50位
Public Date time 时间
Public Double count 金额
Public String yong 用处 长度限制100位
Public String Info 说明 长度限制200位
主要实现方法
保护属性 方法名 输入参数 输出参数 方法功能描述
Public addZhang Zhang zhang void 用户登陆系统之后,对于今天进行的消费或者其他进行记账,分别输入名称,类型,种类,金额等,然后通过系统进行保存。
public findZhangByName string name Zhang 通过输入账单名称,从数据库中查找所需要查看的记账记录。

4.1.4 Tong类

Tong类用于对zhang类进行统计,从而给用户看到某个时间段的总计。

表4-4 Tong类功能表
类功能描述 处理和用户记账记录统计相关的业务操作
所在包名称 com.graduaion.bean.Tong
继承对象 无
实现对象
类属性
保护属性 类型 名称 描述 备注
Public String ID 用户ID 系统中用户的唯一标示,由系统自动生成
Public String Name 登录号 长度限制20位
public String Password 密码 长度限制20位
Public String username 用户登录名 长度限制20位
Public String rname 用户姓名 长度限制20位
Public String type 类型 长度限制50位
Public String kind 种类 长度限制50位
Public Date time 时间
Public Double count 金额
Public String yong 用处 长度限制100位
Public String Info 说明 长度限制200位
主要实现方法
保护属性 方法名 输入参数 输出参数 方法功能描述
Public addZhang Zhang zhang void 用户登陆系统之后,对于今天进行的消费或者其他进行记账,分别输入名称,类型,种类,金额等,然后通过系统进行保存。
public findZhangByName string name Zhang 通过输入账单名称,从数据库中查找所需要查看的记账记录。

4.2关键业务设计

4.2.1 财务管理

用户通过记录账单,然后添加账单到该系统,在点击财务信息时将可以显示该用户的所有账单记录。

在这里插入图片描述

图4-2 财务管理时序图

4.2.2 财务统计

记录这该用户的年统计和月统计的总体数据,能更直观的展示出用户等收支情况。

在这里插入图片描述

图4-3 财务统计时序图

4.3数据库设计

4.3.1概述

本系统总共有四个实体类,分别是Admin,User,Zhang,Tong。他们分别对应着四张数据库表admin,t_user,zhang,tong表。

4.3.2概念设计

1.普通用户E-R图

用户实体图主要包含:用户性别,年龄,姓名,登录名,电话等信息,下图展现的很清晰,让人很容易看出其中关系,所以可以很容易设计数据表出来。
在这里插入图片描述

图4-4 用户E-R图

2.管理员E-R图

管理员实体图主要包含:只有管理员密码和登录名两个字段,下图展现的很清晰,让人很容易看出其中关系,所以可以很容易设计数据表出来。

在这里插入图片描述

图4-5 管理员E-R图

3.账单E-R图

账单实体图主要包含:账单名,类型,种类,金额等属性,下图展现的很清晰,让人很容易看出其中关系,所以可以很容易设计数据表出来。

在这里插入图片描述

图4-6 账单E-R图

4.统计E-R图

统计实体图主要包含:年份,月份,收入,支出等属性,下图展现的很清晰,让人很容易看出其中关系,所以可以很容易设计数据表出来。
在这里插入图片描述

图4-7统计E-R图

系统总体总体E-R图:
在这里插入图片描述

图4-8系统总体总体E-R图

4.3.3数据库表

系统中使用到数据库基本如表4-3-3所示。

表4-5系统数据库表
编号 表名 描述
01 t_user 用户表
02 t_admin 管理员表
03 zhang 账单表
04 tong 统计表

数据库中的用户表用来存储各类用户的相关数据,每个用户都要在用户表中有相相应的记录。管理员表用来记录管理员各个信息。账单表记录每个用户的账单信息。统计表用于管理账单的统计。
 用户表
系统用户表用于登录系统使用,用户表的具体字段如表4-3-3-1所示。

表4-6 用户表
字段名 字段描述 类型/长度 约束 备注
Id 用户编号 Int PK
name 用户名称 Varchar2(20) NOT NULL
password 用户密码 Varchar2(20) NOT NULL
sex 性别 Varchar2(20)
age 年龄 Varchar2(20)
tel 电话 Varchar2(20)
rname 姓名 Varchar2(20)
adddate 注册时间 Date

字段用户编号为本表的主键用来标识一个用户,用户帐号和密码是两个非空字段,用户使用用户名和密码作为登录系统的凭证。

 管理员表
系统管理员表用于登录管理员系统使用,用户表的具体字段如表4-3-3-2所示。
表4-7 管理员表
字段名 字段描述 类型/长度 约束 备注
Id 用户编号 Int PK
name 用户名称 Varchar2(20) NOT NULL
password 用户密码 Varchar2(20) NOT NULL

 账单表
登录用户用于账单记录的表,账单表的具体字段如表4-3-3-3所示。

表4-8 账单表
字段名 字段描述 类型/长度 约束 备注
Id 用户编号 Int PK
name 账单名称 Varchar2(20) NOT NULL
username 用户登录名 Varchar2(20) NOT NULL
rname 姓名 Varchar2(20)
type 类型 Varchar2(20)
kind 种类 Varchar2(20)
time 时间 Varchar2(20)

count 金额 double
yong 用处 Varchar2(20)
info 备注 Varchar2(20)

 统计表
登录用户用于统计账单记录的表,统计表的具体字段如表4-3-3-4所示。

表4-9 统计表
字段名 字段描述 类型/长度 约束 备注
Id 用户编号 Int PK
username 用户登录名 Varchar2(20) NOT NULL
type 类型 Varchar2(20)
kind 种类 Varchar2(20)
time 时间 Varchar2(20)
year 金额 Double
month 用处 Varchar2(20)
shou 收入 Double
zhi 支出 Double

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pandas入门篇(二)-------Dataframe篇4(进阶)(Dataframe的进阶用法)(机器学习前置技术栈)

目录 概述一、复合索引(一)创建具有复合索引的 DataFrame1. 使用 set_index 方法:2.在创建 DataFrame 时直接指定索引: (二)使用复合索引进行数据选择和切片(三)重置索引&#xff08…

搜索引擎的设计与实现参考论文(论文 + 源码)

【免费】搜索引擎的设计与实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89249705?spm1001.2014.3001.5501 搜索引擎的设计与实现 摘要: 我们处在一个大数据的时代,伴随着网络信息资源的庞大,人们越来越多地注重怎样才能…

土壤侵蚀分布数据、土壤侵蚀强度、土壤类型分布、降水量分布、坡度坡向数据、植被覆盖度、土地利用数据、土壤质地分布

引言 土壤侵蚀是指土壤或成土母质在外力作用下被破坏剥蚀、搬运和沉积的过程。土壤侵蚀强度是根据土壤侵蚀的实际情况,按轻微、中度、严重等分为不同级别。中国是世界上土壤侵蚀最严重的国家之一,主要发生在黄河中上游黄土高原地区、长江中上游丘陵地区和…

java面试(微服务)

SpringCloud五大组件 Nacos:注册中心Ribbon:负载均衡Feign:远程调用sentinel:服务熔断Gateway:网关 注册中心 Eureka Nacos 负载均衡 Ribbon负载均衡流程 Ribbon的负载均衡策略 RoundRobinRule:简单的…

2024五一杯数学建模B题思路代码文章教学-交通需求规划与可达率问题

交通需求规划与可达率问题 问题总结: 问题一:在一个小型交通网络中,给定的起点和终点之间的交通需求需分配到相应路径上。目标是最大化任意一条路段出现突发状况时的交通需求期望可达率。 问题二:在一个较大的交通网络中&#xff…

C++浮点数format时的舍入问题

C浮点数format时的舍入问题 首先有这样一段代码&#xff1a; #include <iostream> #include <stdio.h> using namespace std;int main() {cout << " main begin : " << endl;printf("%.0f \r\n", 1.5);printf("%.0f \r\n&…

ASP.NET通用作业批改系统设计

摘  要 该系统采用B/S结构&#xff0c;以浏览器方式登陆系统&#xff0c;用ASP.NET作为开发语言&#xff0c;数据库则使用Microsoft SQL Server 2000实现。《通用作业批改系统》包括了学生子系统、教师子系统、管理员子系统三大模块&#xff0c;该系统主要完成学生&#xff…

手撕spring框架(3)

手撕spring框架&#xff08;3&#xff09; 相关系列 手撕spring框架&#xff08;1&#xff09; 手撕spring框架&#xff08;2&#xff09; InitializingBean 接口详解 什么是 InitializingBean 接口&#xff1f; InitializingBean 接口是 Spring 框架中的一个接口&#xff0c…

Vue3管理系统-路由设置+表单校验

一、配置路由规则 1.在views 下创建文件夹分类,搭好架子 2.配置路由规则 在router下Index.js import { createRouter, createWebHistory } from vue-routerconst router createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [//一级路由//这里可以…

GitLab服务器的搭建

GitLab服务器的搭建 为公司搭建一台代码托管服务器 服务器规格&#xff1a;2vCPUs4GiB20G 操作系统&#xff1a;RockyLinux8.8 下载软件 gitlab官网&#xff1a;http://about.gitlab.com 在官网下载比较麻烦&#xff0c;推荐从《清华大学开源软件镜像站》下载 清华大学开…

java线上问题排查之CPU使用率过高(一)【保姆级教程】

线上故障排查&#xff0c;主要包括CPU&#xff0c;磁盘&#xff0c;内存以及网络。基本上出问题就是 df、free、top 三连&#xff0c;然后依次 jstack、jmap df&#xff1a;用于显示文件系统的磁盘空间使用情况。 df -h&#xff1a;以人类可读的方式显示磁盘空间使用情况。 d…

微软如何打造数字零售力航母系列科普06 - 如何使用微软的Copilot人工智能

如何使用微软的Copilot人工智能&#xff1f; Copilot和ChatGPT有很多相似之处&#xff0c;但微软的聊天机器人本身就有一定的优势。以下是如何对其进行旋转&#xff0c;并查看其最引人注目的功能。 ​​​​​​​ &#xff08;资料来源&#xff1a;Lance Whitney/微软&…

前端素材库

大家好我是苏麟 , 今天推荐一个前端素材库 . 官网 : iconfont-阿里巴巴矢量图标库 这期就到这里 , 下期见!

WSL2-Ubuntu使用Conda配置百度飞浆paddlepaddle虚拟环境

0x00 缘起 本文将介绍在WSL2-Ubuntu系统中,使用Conda配置百度飞浆paddlepaddle虚拟环境中所出现的各种问题以及解决方法,最终运行"run_check()"通过测试。 在WSL2中配置paddlepaddle不像配置Pytorch那样顺滑,会出现各种问题(如:库的文件缺失、不知道如何匹配C…

Ps 滤镜:锐化

Ps菜单&#xff1a;滤镜/锐化 Filter/Sharpen “锐化”类滤镜一般都是通过增加相邻像素的对比度来达到锐化的目的。 请参阅&#xff1a; 《Ps&#xff1a;更好地进行锐化的建议》 较小范围的局部锐化&#xff0c;可尝试 Photoshop 工具箱里的“锐化工具”。 Photoshop 锐化类的…

ES与关系数据库的同步练习(hotel_admin)

目录 1 es与数据库同步的方法2 实践2.1 任务介绍2.2 MQ方面操作2.2.1 声明交换机队列并且绑定2.2.2 hotel_admin端web层设置mq发送消息2.3 hotel_demo端监听接受消息并执行es操作 1 es与数据库同步的方法 方式一&#xff1a;同步调用 优点&#xff1a;实现简单&#xff0c;粗…

【C++】学习笔记——string_4

文章目录 六、string类7. string类的模拟实现 未完待续 六、string类 7. string类的模拟实现 我们在上文简单实现了string类的构造函数。不知道大家有没有发现一个问题&#xff0c;我们在进行实现无参的构造函数时&#xff0c;初始化列表将 _str 初始化为 nullptr 了&#xf…

GAI工具哪家强?(ChatGPT 4 vs 文心一言)

开始之前&#xff0c; 先来看看 GAI和AI的区别和关系。 AI 和GAI AI 和GAI的概念 AI&#xff08;Artificial Intelligence&#xff09;是人工智能的缩写&#xff0c;是计算机科学的一个分支&#xff0c;旨在使机器像人类一样进行学习和思考。AI技术的研究领域包括机器人、语…

【Mac】Axure RP 9(交互原型设计软件)安装教程

软件介绍 Axure RP 9是一款强大的原型设计工具&#xff0c;广泛用于用户界面和交互设计。它提供了丰富的功能和工具&#xff0c;能够帮助设计师创建高保真的交互原型&#xff0c;用于展示和测试软件应用或网站的功能和流程。以下是Axure RP 9的主要特点和功能&#xff1a; 交…

基于t972 Android9 AP6256,如何在设置中添加5G热点选项,并使其正常打开

通过设置的的WiFi热点选项可以知道关键词“2.4GHz”&#xff0c;因此可以其全局搜索&#xff0c;在packages\apps\Settings\res\values\strings.xml文件下找到如下图所示&#xff0c; 从上面注释可以知道&#xff0c;选项按键选择2.4GHz触发的按键关键词是“wifi_ap_choose_2G…