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

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

➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩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.xdnf.cn/news/1409671.html

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

相关文章

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

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

吴恩达2022机器学习专项课程(一)8.2 解决过拟合

目录 解决过拟合(一):增加数据解决过拟合(二):减少特征特征选择缺点 解决过拟合(三):正则化总结 解决过拟合(一):增加数据 收集更多训…

openKylin 2.0 Alpha2 X86 安装教程

原文链接:openKylin 2.0 Alpha2 X86 安装教程 Hello,大家好啊!今天我们将讨论如何在VMware Workstation上安装openKylin 2.0 Alpha2 X86版。openKylin是一个基于Linux的操作系统,旨在提供高性能、可靠性强的系统体验。在虚拟化软件…

【16-Ⅰ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

C++ 模拟实现 priority_queue(优先队列)

目录 一,优先队列简介 二,priority_queue 的内部实现原理 三,模拟实现 priority_queue 1,模板参数与数据结构 2,构造 3,辅助功能(堆的有序化,建立堆) 4&#xff0…

202012青少年软件编程(Python)等级考试试卷(一级)

第 1 题 【单选题】 运行下方代码段,输出是6,则输入的可能是( )。 a eval(input())print(a)A :8%2 B :8/2 C :3*2 D :3**2 正确答案:C 试题解析: 第 2 题 【单选题】 关于Python变量,下列叙述正确的是&#x…

【智能算法】鹦鹉优化算法(WO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2024年,J Lian等人受到鹦鹉学习行为启发,提出了鹦鹉优化算法(Parrot Optimizer, PO)。 2.算法原理 2.1算法思想 PO灵感来自于在驯养的鹦鹉中观察到的…

八皇后问题-使用递归回溯方法用c语言实现

学习的视频&#xff1a;懒猫老师 https://www.bilibili.com/video/BV1wJ411U7Gy/?spm_id_from333.337.search-card.all.click&vd_sourceda60f9e1bc3321cae28c29fe80e9b078 代码&#xff1a; 编译&#xff1a;gcc test.c -g #include <stdio.h> #include<st…

【openLooKeng集成Hive连接器完整过程】

【openLooKeng集成Hive连接器完整过程】 一、摘要二、正文2.1 环境说明2.2 Hadoop安装2.2.1. 准备工作2.2.2 在协调节点coordinator上进行安装hadoop2.2.3、将Hadoop安装目录分发到从节点worker2.2.4、在协调节点coordinator上启动hadoop集群2.3 MySQL安装2.4 Hive安装及基本操…

数据结构算法——链表带环问题——数学深度解析

前言:本节内容主要是讲解链表的两个问题 &#xff1a;1、判断链表是否带环&#xff1b; 2、一个链表有环&#xff0c; 找到环的入口点。 本节内容适合正在学习链表或者链表基础薄弱的友友们哦。 我们先将问题抛出来&#xff0c;友友们可以自己去力扣或者牛客网去找相应题目&…

el-tabs作为子组件使用页面空白

文章目录 前言一、问题展示二、源码分析三、解决方案 前言 如果el-tabs是子组件&#xff0c;父组件传值value / v-model为空字符&#xff0c;这个时候在watch中监听value / v-model就会发现监听的数据会被调用为‘0’。一定是作为子组件引用&#xff0c;且在watch进行监听&…

【Java探索之旅】包管理精粹 Java中包的概念与实践

文章目录 &#x1f4d1;前言一、封装1.1 封装的概念1.2 访问限定修饰符 二、封装扩展&#xff08;包&#xff09;2.1 包的概念2.2 带入包中的类2.3 自定义包2.4 常见的包 &#x1f324;️全篇总结 &#x1f4d1;前言 在Java编程中&#xff0c;封装是面向对象编程的核心概念之一…

令牌技术详解

1. 问题引出 之前我们讲 Cookie 和 Session 时提到过一个用户登录的场景&#xff1a;当用户登录时&#xff0c;服务器端可以把用户的登录信息存在Session中 并返回给客户端对应的SessionID&#xff0c;客户端会把这个SessionID存在Cookie 中当下次访问该服务器时&#xff0c;…

【C语言/数据结构】经典链表OJ习题~第二期——链中寻环

&#x1f388;&#x1f388;&#x1f388;欢迎采访小残风的博客主页&#xff1a;残风也想永存-CSDN博客&#x1f388;&#x1f388;&#x1f388; &#x1f388;&#x1f388;&#x1f388;本人码云 链接&#xff1a;残风也想永存 (FSRMWK) - Gitee.com&#x1f388;&#x1f…

JUC并发-共享模型-不可变

1、日期转换的问题 下面的代码在运行时&#xff0c;由于 SimpleDateFormat 不是线程安全的 Slf4j(topic "c.Test1") public class Test1 {public static void main(String[] args) {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd");for (int…

Mac系统常用操作

文章目录 1、常用快捷键2、常用功能及其操作 1、常用快捷键 win和mac键盘对比&#xff1a;Command按键和Ctrl按键类似&#xff0c; 图片来源&#xff1a;https://www.xiaohongshu.com/explore/62d2787a0000000011012ab9锁屏&#xff1a;ControlCommandQ复制、粘贴、剪切、全选…

hdc不是内部或外部命令,也不是可运行的程序或批处理文件。【鸿蒙报错已解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结Bug解决方案寄语项目场景: 最近遇到了这个问题,看到网上也有人在询问这个问题,实操了很多网上的解决方案发现并不能解决这个Bug,所以我在解决这个问题后,总结了自己和其他人的解决经验,进行了整理,写…

linux系统的rsync命令实现本机到远程主机之间目录的复制和同步

一、rsync命令介绍 在Linux中&#xff0c;rsync 是一个强大的命令行工具&#xff0c;用于同步文件和目录。它可以在本地或通过网络在远程系统之间复制文件。 二、远程目录复制的条件 1、系统要已经安装rsync工具 要使用 rsync 复制远程目录&#xff0c;需要确保系统上安装了 …

知识图谱与知识表示:人工智能的基石

知识图谱与知识表示&#xff1a;人工智能的基石 一、知识图谱&#xff1a;连接数据的桥梁1.1 知识图谱的构成1.2 知识图谱的应用 二、知识表示&#xff1a;AI的推理基础2.1 知识表示的定义2.2 知识表示的形式 三、从符号表示到向量表示3.1 符号表示与向量表示3.2 向量表示的优势…

自动化机器学习——网格搜索法:寻找最佳超参数组合

自动化机器学习——网格搜索法&#xff1a;寻找最佳超参数组合 在机器学习中&#xff0c;选择合适的超参数是模型调优的关键步骤之一。然而&#xff0c;由于超参数的组合空间通常非常庞大&#xff0c;手动调整超参数往往是一项耗时且困难的任务。为了解决这个问题&#xff0c;…