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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式链路追踪工具Sky walking详解

1,为什么要使用分布式链路追踪工具 随着分布式系统和微服务架构的出现,且伴随着用户量的增加,项目的体量变得十分庞大,一次用户请求会经过多个系统,不同服务之间调用关系十分复杂,一旦一个系统出现错误都可…

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

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

C++ | 类和对象(中) (构造函数 | 析构函数 | 拷贝构造函数 | 赋值运算符重载 | 取地址 | const取地址)

目录 默认成员函数 构造函数 构造函数是什么 构造函数特征 什么是默认构造函数 注意事项 编译器自动生成的默认构造 缺省值 对象如何传值给构造函数 初始化列表 析构函数 析构函数的特征 编译器默认生成的析构函数 总结 拷贝构造函数 拷贝构造函数的使用场景 拷…

使用ipxe安装现有的装机环境

iPXE和传统PXE区别 iPXE和传统PXE(Pre-boot Execution Environment,预启动执行环境)的主要区别在于它们的功能和协议支持。以下是两者的主要区别: 协议支持: PXE仅支持TFTP(trivial file transfer protoco…

【linuxC语言】空洞文件

文章目录 前言一、空洞文件1.1 空洞文件的介绍1.2 用途 二、示例代码总结 前言 在 Linux 系统编程中,空洞文件是一种特殊类型的文件,它包含了逻辑上的空洞,也就是说文件中的某些部分并没有实际写入数据。尽管文件在逻辑上可能非常大&#xf…

向eclipse中的项目导入jdk、tomcat

前言: 有些项目无法正常启动可能是因为他的基础配置不正确或者没配置,eclipse中的javaweb项目常见的配置就是jdk、tomcat,这三者配置的方式大概相同,以下是相关操作。我的环境是eclipse2018。 一、jdk 在项目上右键选中propert…

java-Spring-mvc-(请求和响应)

目录 📌HTTP协议 超文本传输协议 请求 Request 响应 Response 🎨请求方法 GET请求 POST请求 📌HTTP协议 超文本传输协议 HTTP协议是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式…

Swiper轮播图

版本&#xff1a;“swiper”: “^6.8.4”, 处理每分钟重新请求数据后&#xff0c;播放卡顿&#xff0c;快速闪&#xff0c;没按照设置时间播放等bug 以下是直接vue2 完整的组件代码 使用&#xff1a; <SwiperV :imgList“swiperList” / <template><div class"…

键盘更新计划

作为 IT 搬砖人&#xff0c;一直都认为键盘没有什么太大关系。 每次都是公司发什么用什么。 但随着用几年后&#xff0c;发现现在的键盘经常出问题&#xff0c;比如说调节音量的时候通常莫名其妙的卡死&#xff0c;要不就是最大音量要不就是最小音量。 按键 M 不知道什么原因…

hadoop学习---基于hive的聊天数据分析报表可视化案例

背景介绍&#xff1a; 聊天平台每天都会有大量的用户在线&#xff0c;会出现大量的聊天数据&#xff0c;通过对聊天数据的统计分析&#xff0c;可以更好的对用户构建精准的用户画像&#xff0c;为用户提供更好的服务以及实现高ROI的平台运营推广&#xff0c;给公司的发展决策提…

50. 【Android教程】xml 数据解析

xml 是一种标记扩展语言&#xff08;Extension Mark-up Language&#xff09;&#xff0c;学到这里大家对 xml 语言一定不陌生&#xff0c;但是它在 Android 中的运用其实只是冰山一角。抛开 Android&#xff0c;XML 也被广泛运用于各种数据结构中。在运用 xml 编写 Android 布…

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

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

Meditron:基于 Llama 完全开源的医学大语言模型

健康危机就在眼前&#xff0c;当医疗资源有限时&#xff0c;每一秒钟都至关重要&#xff01;Meditron 就像一位忠实的医疗助手&#xff0c;提供基于证据的护理建议和情境意识的推荐&#xff0c;帮助医疗工作者在诊断和治疗过程中做出更准确的决策。 在资源有限的医疗环境中&am…

CTFHub-Web-文件上传

CTFHub-Web-文件上传-WP 一、无验证 1.编写一段PHP木马脚本 2.将编写好的木马进行上传 3.显示上传成功了 4.使用文件上传工具进行尝试 5.连接成功进入文件管理 6.上翻目录找到flag文件 7.打开文件查看flag 二、前端验证 1.制作payload进行上传发现不允许这种类型的文件上传 …

React | React.cloneElement 的使用

我看到同事的代码里有 cloneElement&#xff0c;于是去了解了一下这个函数。 就跟它的名字一样&#xff0c;克隆元素&#xff0c;可以基于一个元素创建一个新的元素&#xff0c;并且为新元素添加新的属性或者覆盖已有的属性。 下面是一个简单例子&#xff1a; .node1 {backg…

使用qemu调试NVME driver

参考nvme驱动相关的博客&#xff0c;可以使用qemu buildroot进行nvme驱动的流程debug。 一、QEMU编译 首先需要编译qemu&#xff0c;可以参考QEMU编译。wget下载最新版本的QEMU&#xff0c;编译之前&#xff0c;最好检查下依赖包是否安装&#xff0c;避免安装过程出现各种错…

算法二:DOM - 将DOM节点元素转换成JSON字符串

题目&#xff1a; 将DOM节点元素转换成JSON的格式 例如 <div class"root"><div class"child1"><p></p></div><span></span><div><div><p></p></div></div><p></…

Springboot+Vue+小程序+基于微信小程序护农远程看护系统

开发平台为idea&#xff0c;maven管理工具&#xff0c;Mybatis操作数据库&#xff0c;根据市场数字化需要为农户打造小程序可远程查看农场的种植情况。项目是调试&#xff0c;讲解服务均可有偿获取&#xff0c;需要可在最下方QQ二维码处联系我。 SpringbootVue小程序&#xff…

Pyspark+关联规则 Kaggle购物篮分析案例

数据集地址&#xff1a;Market Basket Analysis | Kaggle 我的NoteBook地址&#xff1a;pyspark Market Basket Analysis | Kaggle 零售商期望能够利用过去的零售数据在自己的行业中进行探索&#xff0c;并为客户提供有关商品集的建议&#xff0c;这样就能提高客户参与度、改…

用LM Studio搭建微软的PHI3小型语言模型

什么是 Microsoft Phi-3 小语言模型&#xff1f; 微软Phi-3 模型是目前功能最强大、最具成本效益的小型语言模型 &#xff08;SLM&#xff09;&#xff0c;在各种语言、推理、编码和数学基准测试中优于相同大小和更高大小的模型。此版本扩展了客户高质量模型的选择范围&#x…