博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到🔎上千套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你完成开题⚠️文末联系方式获取完整资源⚠️
3 系统设计
3.1 技术路线
大学生个人财务管理系统在实现过程中采用了以下机种技术。前台页面的设计用JavaScript技术和HTML和CSS技术,通过HTML和CSS技术实现对前台页面的布局和界面美观的操控,JavaScript主要是用来在前台中动态页面的实现,通过对菜单进行动态的操作实现对每个模板进行管理,JavaScript它主要运行于浏览器端。此次设计主要采用B/S模式,Eclipse,作为开发工具,Tomcat作为服务器进行,MySQL作为数据库存储,页面视图主要使用JSP技术完成,主要用了springboot三大框架完成项目。
3.1.1 JAVA技术
JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。
JAVA相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,JAVA既可以镶嵌使用又可以独力的使用。JAVA大致可以分成两个部分,一种部分是JAVA负责的编译,另一种是JAVA负责的运行。JAVA和C++语言很相像,但JAVA在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。JAVA分布式、体系结构中立的特点也使得其存储更快,编议更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编议。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好。
3.1.2 springboot框架
Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的领导者。
Spring Boot特点:
1、创建一个单独的Spring应用程序;
2、嵌入式Tomcat,无需部署WAR文件;
3、简化Maven配置;
4、自动配置Spring;
5、提供生产就绪功能,如指标,健康检查和外部配置;
6、绝对没有代码生成和XML的配置要求;
安装步骤:
最基本的是,Spring Boot是一个可以被任何项目的构建系统使用的库集合。 为简单起见,该框架还提供了一个命令行界面,可用于运行和测试Boot应用程序。 可以从Spring存储库手动下载和安装框架的已发布版本,包括集成的CLI(命令行界面)。 更简单的方法是使用Groovy enVironment Manager(GVM),它负责处理Boot版本的安装和管理。 可以从GVM命令行GVM install springboot安装Boot及其CLI。 在OS X上安装Boot时可以使用Homebrew包管理器。要完成安装,首先使用brew tap pivotal / tap切换到pivotal存储库,然后执行brew install springboot命令。
springboot体现了MVC思想,并且具有良好的扩展性和可维护性。
3.1.3 Mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
3.2 软件体系结构设计
3.2.1 功能结构
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
图3.1系统功能结构图
3.2.2 系统架构
系统架构图如图3.2所示。本网站是基于MVC框架基础上来开发,分为表现层,业务逻辑层,数据访问层。View表现层是将数据库查询出来的数据展现到用户的界面,与用户交互,完成数据的显示并且接收和校验用户的每个请求,业务逻辑层则是程序的核心Controller类,接受并处理用户的每个请求并且向访问层发出系统的处理结果,数据访问层是接受系统的处理结果并对数据库进行更新操作。主要模块和业务的功能是在业务逻辑层的部分进行设计并实现的。
系统架构图如图3.2所示。
图3.2 系统架构图
系统架构选用Spring3.0架构。作为在Java领域最为成功的开源软件之一,Spring在Java EE 开发中使用者众多。Spring抽象了我们在目前许多应用开发中所遇到的最共性的问题,同时作为一个轻量级的应用开发框架,Spring和传统的J2EE开发相比,有其自身特有的特点。Spring通过这些自身特有的特点充分体现了它的设计理念:在Java EE的应用开发中,支持POJO(JavaBean)的开发方式,使应用能够面向接口开发,充分支持OO(面向对象)的设计方法。在IOC容器和AOP面向切面编程的核心模块的支持下,使得程序员能够高度简化了Java EE的开发过程。为应用开发提供了极其丰富的系统组件,通过这些组件,为企业应用服务的实现提供驱动支持。
3.3 数据库设计
3.3.1 概念结构设计
一个好的系统,它肯定是要能够快速的处理数据,能快速的对指令做出响应,其次,系统的界面也不能太乱,最起码也要简洁明了,这些方面,就都要在设计数据库时仔细地考虑系统,第一方面要考虑的就是所使用的环境能否接受系统。能不能让系统快速准确的运行,因此设计数据库时一定要小心谨慎,不能有丝毫的马虎,要采取最高的标准。
3.3.2 表的详细设计
通过对大学生个人财务管理系统在需求分析中的领域对象、业务对象及对象之间的分析,进行了对大学生个人财务管理系统的数据库建表设计。如表3.1-表3.6 所示。大学生个人财务管理系统数据库管理部分采用MySQL。
(1)管理人员信息表(admin)
管理人员信息表主要用于保存管理人员的信息,主要字段包括:管理人员ID、登录账号、登录密码。表结构如表4.1所示。
表4.1 管理人员信息表(admin)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 32 | 否 | 是 | 管理人员ID |
adminname | varchar | 50 | 否 | 否 | 登录账号 |
pwd | varchar | 100 | 否 | 否 | 登录密码 |
(2)用户信息表(users)
用户信息表主要用于保存用户的信息,主要字段包括:用户ID、用户名称、用户登录密码、用户性别、用户电话。表结构如表4.2所示。
表4.2 用户信息表(users)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
Id | int | 32 | 否 | 是 | 主键 |
username | varchar | 100 | 否 | 否 | 用户名 |
password | varchar | 32 | 否 | 否 | 密码 |
role | varchar | 100 | 否 | 否 | 角色 |
addtime | varchar | 100 | 否 | 否 | 新增时间 |
(3)归还记录信息表(guihaijilu)
归还记录信息表主要用于保存归还记录的信息,主要字段包括:归还方式、创建时间。表结构如表4.3所示。
表4.3 归还记录信息表(guihaijilu)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 32 | 否 | 是 | 主键 |
addtime | varchar | 100 | 否 | 否 | 创建时间 |
guihaiduixiang | varchar | 100 | 否 | 否 | 归还对象 |
guihaifangshi | varchar | 100 | 否 | 否 | 归还方式 |
guihaijine | varchar | 100 | 否 | 否 | 归还金额 |
guihaishijian | varchar | 100 | 否 | 否 | 归还时间 |
zhanghao | varchar | 100 | 否 | 否 | 账号 |
xingming | varchar | 100 | 否 | 否 | 姓名 |
(4)借入记录信息表(jierujilu)
借入记录信息表主要用于保存借入记录的信息,主要字段包括:主键、创建时间、账号。表结构如表4.4所示。
表4.4 借入记录信息表(jierujilu)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 32 | 否 | 是 | 主键 |
addtime | int | 32 | 否 | 否 | 创建时间 |
zhanghao | varchar | 100 | 否 | 否 | 账号 |
xingming | varchar | 100 | 否 | 否 | 姓名 |
jieqianduixiang | varchar | 100 | 否 | 否 | 借钱对象 |
jieqianfangshi | varchar | 100 | 否 | 否 | 借钱方式 |
jierujine | varchar | 100 | 否 | 否 | 借入金额 |
jierushijian | varchar | 100 | 否 | 否 | 借入时间 |
beizhu | varchar | 100 | 否 | 否 | 备注 |
(5)新闻咨询信息表(news)
新闻咨询信息表主要用于保存新闻咨询情况的信息,主要字段包括:主键、标题。表结构如表4.6所示。
表4.6新闻咨询信息表(news)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
Id | varchar | 32 | 否 | 是 | 主键 |
addtime | varchar | 100 | 否 | 否 | 创建时间 |
title | varchar | 100 | 否 | 否 | 标题 |
introduction | varchar | 100 | 否 | 否 | 简介 |
picture | varchar | 100 | 否 | 否 | 图片 |
content | varchar | 100 | 否 | 否 | 内容 |
(6)收入信息表(shouru)
收入信息表主要用于保存收入情况的信息,主要字段包括:ID、名称、收入分类、图片、收入、支出、金额等。表结构如表4.6所示。
表4.6 收入信息表(shouru)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
Id | varchar | 32 | 否 | 是 | 主键 |
addtime | varchar | 100 | 否 | 否 | 创建时间 |
zhanghao | varchar | 100 | 否 | 否 | 账号 |
xingming | varchar | 100 | 否 | 否 | 姓名 |
mingcheng | varchar | 100 | 否 | 否 | 名称 |
shouzhileixing | varchar | 100 | 否 | 否 | 收支类型 |
zhanghaoleixing | varchar | 100 | 否 | 否 | 账号类型 |
jine | varchar | 100 | 否 | 否 | 金额 |
shijian | varchar | 100 | 否 | 否 | 时间 |
beizhu | varchar | 100 | 否 | 否 | 备注 |
(7)收支类型信息表(shouzhileixing)
支出信息表主要用于保存支出情况的信息,主要字段包括:ID、创建时间、收支类型。表结构如表4.6所示。
表4.6 收支类型信息表(shouzhileixing)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
Id | varchar | 32 | 否 | 是 | ID |
addtime | varchar | 100 | 否 | 否 | 创建时间 |
shouzhileixing | varchar | 15 | 否 | 否 | 收支类型 |
4 系统实现
4.1 核心功能实现
在大学生个人财务管理系统中,核心业务用例的实现效果如下所示。受篇幅所限,将只会显示和支出、用户相关的三个模块核心功能。
- 用户登录模块实现
用户进行登录操作,采用 form发送请求将登录信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行查询并返回结果,实现效果如图4.1所示。
图4.1 用户登录功能实现效果图
源码获取
大家点赞、收藏、关注 ,让更多需要的同学看到
不同开发语言专栏推荐订阅:
👇下方有我的微信名片👇