软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx

上传人:b****5 文档编号:19457951 上传时间:2023-01-06 格式:DOCX 页数:55 大小:3.02MB
下载 相关 举报
软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx_第1页
第1页 / 共55页
软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx_第2页
第2页 / 共55页
软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx_第3页
第3页 / 共55页
软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx_第4页
第4页 / 共55页
软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx

《软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx(55页珍藏版)》请在冰豆网上搜索。

软件工程 家庭财务管理系统的设计与实现最终稿Word文档格式.docx

家庭财务管理系统是一个家庭必需的信息管理系统。

通过我们对家庭财务管理的详细调查,大部分家庭对于财务的管理还是局限在使用传统的人工纸质记账管理的方式,这种方式存在许多缺点,如:

效率很低、安全性差、管理难和产生大量纸质文件等。

所以需要一个家庭财务管理系统来为每一个家庭的管理者提供充足的信息和快捷的查询手段。

家庭财务管理系统的信息数据主要是家庭管理员对家庭的收支消费信息的输入,由于一个家庭每天都会有收入和支出的情况,导致数据库时时有更新,因此,能够及时有效的处理数据,就需要建立一个数据库来存储数据。

该家庭财务管理系统的设计与实现,主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。

对于后台的数据库建立需要数据安全性好,对于前端应用程序则需要功能完善和易使用的特点。

2.1.1系统功能需求

本系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等模块组成。

系统管理模块需求:

通过此模块可以验证用户登录、密码修改、重新登录和退出等功能。

基础数据管理模块需求:

通过此模块可以对家庭成员的添加、删除和修改,对收支项目的添加、删除和修改。

日常收支管理模块需求:

通过此模块可以对日常收入进行添加、删除和修改,对日常支出进行添加、删除和修改。

银行储蓄管理模块需求:

通过此模块可以对银行活期账户进行添加、删除和修改,对定期账户进行添加、删除和修改。

借还钱管理模块需求:

通过此模块可以对家庭成员的各项借出款进行添加、删除和修改,对家庭成员的借入款进行添加、删除和修改。

理财分析模块需求:

通过此模块可以查询收支明细和生成理财分析报告。

2.1.2系统性能需求

该系统要求具有良好的灵活性、可扩充性和可移植性,系统采用MySQL数据库,系统的数据都是通过数据库来保存,需要数据库具有很好的稳定性,系统可运行在主流的Windows操作系统平台上,操作系统要求响应速度快,使操作者感觉操作流畅。

2.1.3系统环境需求

该系统采用C/S模式,系统基本环境为windowsxp操作系统,在MyEclipse平台上开发,根据的运行需求以及系统的调试需求,需要满足下列的软硬件要求:

硬件环境:

CPU:

2.10GHz

内存:

512M以上

硬盘:

30GB以上

VGA显示器或更高

软件环境:

运行环境:

MyEclipse7.5

数据库:

MySQL

数据库客户端:

NavicatforMySQL

画图软件:

Visio2003

操作系统:

WindowsXP

2.1.4用户界面需求

系统采用人机交互方式,主要通过界面来显示用户需要的信息,界面需要美观友好,信息查询方便灵活,输入输出数据格式友好便捷,并且具备简单的错误提示功能。

2.2系统流程图

该系统中,用户可以通过进入后台数据库对数据进行操作和管理,可以通过登录界面进入主界面管理各个功能模块。

系统流程图如下图所示:

图3-1系统流程图

2.3系统数据流图

图3-20层数据流图

图3-3功能级数据流图

第三章概要设计

3.1系统概述

本系统主要管理家庭财务信息的功能,主要是家庭管理员向该系统录入财务收支信息,对家庭成员的消费水平进行管理。

采用C/S模式实现,用户可以通过浏览器向服务器发送请求,进行相关操作,服务器接收浏览器发送来的请求,将响应结果返回给客户端,财务管理信息存放到数据库里。

3.2系统的功能结构图

通过对家庭财务管理系统进行详细设计后,家庭财务管理系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等六个模块组成。

系统功能结构如下图所示:

图4-1系统功能结构图

3.3系统的各功能模块设计

3.3.1系统管理模块功能设计

该模块实现的功能主要是用户登录、密码修改、重新登录和退出等

系统管理模块功能图如下图所示:

图4-2系统管理模块结构图

3.3.2基础数据管理模块功能设计

该模块实现的功能主要是家庭成员的添加、删除和修改,收支项目的添加、删除和修改等。

基础数据管理模块功能图如下图所示:

图4-3基础数据管理模块结构图

3.3.3日常收支管理模块功能设计

该模块实现的功能主要是日常收入和日常支出功能。

日常收支管理模块功能图如下图所示:

图4-4日常收支管理模块结构图

3.3.4银行储蓄管理模块功能设计

该模块实现的功能主要是对银行活期和定期账户进行添加、删除和修改及存取款记录等功能。

银行储蓄管理模块功能图如下所示:

图4-5银行储蓄管理模块结构图

3.3.5借还钱管理模块功能设计

该模块实现功能主要是记录家庭成员各项借出款和借入款等情况。

借还钱管理模块功能图如下图所示:

图4-6借还钱管理模块结构图

3.3.6理财分析模块功能设计

该模块实现功能主要是查询收支明细和生成理财分析报告等

理财分析模块功能图如下图所示:

图4-7理财分析模块结构图

3.4系统的数据库设计

3.4.1E-R图

通常,采用实体-联系图(E-R图)来建立数据模型,包含实体、关系和属性三种成分,它是描述现实世界概念结构模型的有效方法。

是一种数据库设计的概念模型,是描述数据实体与其他数据实体的关联的一种设计模式,实体内部的联系通常是指组成实体的各种属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。

该系统主要有三个实体,分别为用户、银行、收支记录、存取款记录和借入借出记录。

用户可以到银行开户、可以借入借出、可以收入支出、可以存取款,存取款的记录需要存入银行账户里。

家庭财务管理的E-R图如下所示:

图4-8E-R图

3.4.2数据表设计

本系统是实现家庭财务管理系统,主要设计了11张表,分别为fmtable,receivetable,outlaytable,dailyincometable,dailyexpensetable,currentaccounttable,currentaccountimfortable,depositaccounttable,lendtable,borrowtable,record表。

分别用于存储家庭成员信息、收入项目信息、支出项目信息、日常收入信息、日常支出信息、活期账户信息、存取款信息、定期账户信息,借出款信息表,借入款信息表,记录表。

下面给出数据表的详细设计。

(1)家庭成员表用于记录家庭成员的基本信息

表4-1fmtable表

字段名

数据类型

长度

字段约束

描述

fmsno

int

Notnull

成员编号

fmname

varchar

20

成员姓名

password

Notnull

密码

sex

enum

性别

brithday

date

出生年月

telephone

电话号码

email

30

电子邮件

(2)收入项目表用于记录收入项目信息

表4-2receivetable表

rsno

收入项目编号

rname

50

收入项目名称

(3)支出项目表用于记录支出项目信息

表4-3outlaytable表

osno

支出项目编号

oname

支出项目名称

(4)日常收入信息表用于记录日常收入的详细信息

表4-4dailyincometable表

iid

收入序号

isname

ibankaccount

银行账号

imember

收入人员

idate

收入日期

isum

float

收入金额

remarks

255

备注

(5)日常支出信息表用于记录日常支出的详细信息

表4-5dailyexpensetable表

eid

支出序号

esname

ebankaccount

emember

支出人员

edate

支出日期

esum

支出金额

(6)活期账户表用于记录活期账户的信息

表4-6currentaccounttable表

casno

活期账户号

cabankname

活期银行名

caholder

活期账户持有者

opendate

开户日期

bankbalance

账户余额

(7)存取款信息表用于记录每次的存取款记录信息

表4-7currentaccountimfortable表

caiid

存取编号

caisno

活期银行账户

cabankbalance

caitype

存取类型

caisum

存取金额

ncabankbalance

账户现余额

caidate

存取日期

caimember

存取款人

(8)定期账户信息表用于记录定期账户的详细信息

表4-8depositaccounttable表

dasno

定期账户号

dabankname

定期银行名

daholder

定期账户持有者

dadate

dasum

定期账户金额

istakeout

是否取出

(9)借出款信息表用于记录借出款的详细信息

表4-9lendtable表

lendsno

借出款编号

getmoneyname

得款人

lendmoneyname

借出人

lbankaccount

lendsum

借出金额

lendreason

借出理由

lenddate

借出日期

ispaybacked

是否归还

(10)借入款信息表用于记录借入款的详细信息

表4-10borrowtable表

borrowsno

借入款编号

borrowname

借入人

borrowsum

借入金额

borrowreason

借入理由

borrowdate

借入日期

(11)记录表用于记录每次银行账号更新的信息,用于每月总的余额查询。

表4-11recordtable表

rid

编号

rbanksno

rdate

记录日期

rbankbalance

银行余额

第四章系统详细设计与实现

4.1创建与连接数据库

JDBC(JavaDatabaseConnectivity)是Java应用程序连接各种不同数据库的标准API,可以为多种关系数据库提供统一访问,它由一组用Java编写的类和接口组成,开发人员可以通过该API连接到各种类型的数据库管理系统,并对数据库中的数据进行操作,用户只需编写不同的SQL语句,而不必关心数据库的实现以及不同数据库之间的差异。

JDBC包括两组接口,一组接口面向Java应用开发人员,另一组接口面向驱动程序编写人员,通过JDBCAPI可以完成三件事:

建立与数据库管理系统的连接,向服务器提交要执行的SQL语句,处理返回的结果集。

JDBC包括两个包:

核心API(java.sql)和扩展的API(javax.sql),应用程序通过核心API的接口实现数据库连接和数据处理,其接口主要如下:

java.sql.Driver:

用于读取数据库驱动器的信息,提供连接方法,建立访问数据库所用的Connection对象。

java.sql.DriverManager:

负责管理Driver对象,连接数据库,包括注册驱动程序、获得连接、向数据库发送信息。

java.sql.Connection:

连接Java数据库和Java应用程序之间的主要对象,创建所有的Statement对象,执行SQL语句。

java.sql.ResultSet:

用于控制对一个特定语句的行数据的存取,也就是数据库中由记录或行组成的集合。

连接数据库的基本过程:

1)建立数据源

2)引入java.sql包:

importjava.sql 

3)加载驱动程序:

Class.forName(“com.mysql.jdbc.Driver”)

4)创建与数据库的连接:

Connectioncon=DriverManager.getConnection(“jdbc:

mysql:

//localhost:

3306/ffms”,“root”,“root”)

5)创建语句对象:

Statementstmt=con.createStatement();

6)编写SQL语句

7)执行SQL语句

8)处理结果集

9)关闭相关对象

10)异常处理

该家庭财务管理系统采用的数据是MySQL,连接数据库的主要代码如下:

importjava.sql.*;

publicclassDataBaseManager

{

Connectionconn;

ResultSetrs;

Statementstmt;

publicDataBaseManager()

{

try{

Class.forName("

com.mysql.jdbc.Driver"

);

conn=DriverManager.getConnection("

jdbc:

3306/ffms"

"

root"

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

conn.setAutoCommit(false);

}

catch(SQLExceptionsqle)

System.out.println(sqle.toString());

}catch(ClassNotFoundExceptione){

e.printStackTrace();

publicResultSetgetResult(StringstrSQL)

try{

rs=stmt.executeQuery(strSQL);

returnrs;

returnnull;

}

publicbooleanupdateSql(StringstrSQL)

stmt.executeUpdate(strSQL);

mit();

returntrue;

returnfalse;

publicvoidcloseConnection()

conn.close();

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

4.2登录界面页面的设计

用户在进入家庭财务管理系统时首先必须通过登录界面,输入用户名和密码,点击登录按钮,只有通过省份认证,才能进入系统的主界面。

该模块设计主要涉及的类Login、DataBaseManager和MainMenu。

Login类是登录类,该类的主要方法是getuserName()和getpassWord(),用于获得登录名和登录密码的信息,登录时需要身份认证,需要连接数据库,查询数据,需要引用DataBaseManager类,该类主要是连接数据库,输入的用户名和密码与数据库中的数据比较,如何相等就需要引用MainMenu类进入主界面,如果不相等就提示输入错误信息。

该系统的登录界面如下图所示:

图5-1登录界面图

登陆界面的核心代码如下:

Stringusername=userName.getText();

Stringpassword=newString(passWord.getPassword());

if(username.equals("

"

))

JOptionPane.showMessage

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1