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

上传人:b****6 文档编号:13753485 上传时间:2023-06-17 格式:DOCX 页数:62 大小:3.02MB
下载 相关 举报
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第1页
第1页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第2页
第2页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第3页
第3页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第4页
第4页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第5页
第5页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第6页
第6页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第7页
第7页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第8页
第8页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第9页
第9页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第10页
第10页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第11页
第11页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第12页
第12页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第13页
第13页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第14页
第14页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第15页
第15页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第16页
第16页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第17页
第17页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第18页
第18页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第19页
第19页 / 共62页
软件工程 家庭财务管理系统的设计与实现最终稿.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

软件工程家庭财务管理系统的设计与实现最终稿

职工工资管理系统的设计与实现

 

摘要:

近几年来,随着经济全球化和城乡居民生活需求不断变化及计算机科学技术的飞速发展,人们的生活水平不断提升,理财意识逐渐深入人心,直接影响着人们的生活,因此人们迫切需要一个高效、方便的管理家庭财务的系统。

该系统采用Java技术,使用C/S模式,采用MyEclipse开发工具、MySQL数据库、VISIO2003画图工具和Photoshop图像处理等工具,对家庭财务管理系统进行需求分析、概要设计、详细设计和对各功能模块进行单元测试和综合测试,主要包括后台数据库的建立和维护及前台应用程序的开发。

通过该系统,可以方便地对日常收入、日常支出、现金的借入及借出进行管理,该系统具备浏览、查询、添加、删除、修改和报表等功能,界面友好且操作简单。

关键词:

家庭财务管理系统;Java;MySQL;C/S

第一章可行性分析

1.1可行性分析

可行性分析是指在现有的技术、经济、法律和社会效益等方面的条件下分析每一项需求实施的可行性,通过可行性分析,可以对系统的技术、操作和经济方面提出相关要求和设计方案。

可行性分析就是解决一个项目是否有可行解以及是否值得去解的问题。

对于每个管理系统来说,首先都需要对系统有一个合适的设计思想和方法,对系统有个明确的方案,使用现有技术能否实现该系统,该系统的经济效益能否超过它的开发成本,系统的操作方案在用户组织里能否行得通,选择合理的操作系统和开发环境等等,这些都对系统的开发起着很重要的作用。

只有通过对系统进行可行性分析才能构建完善的系统。

本系统的可行性分析将从技术可行性、操作可行性、经济可行性和法律可行性四个方面进行说明。

1.1.1技术可行性

由于该系统所要满足的硬件是计算机,软件方面是采用JDK1.6开发环境、MyEclipse开发工具和MySQL数据库,这些设备和软件易于实现和满足。

采用的语言是Java语言,具有可移植性,功能易于实现,界面比较美观,操作简单,能够移植到其他计算机上运行,与平台无关,能够满足更多的用户,使得该系统能被很多家庭所接受。

所以该系统在技术上是可行的。

1.1.2经济可行性

现代化信息管理和电脑普及的今天,该系统如果开发成功,成本比较低,工作效率比较高,维护费用比较低,能给一个家庭带来很多的方便,该系统采用比较容易学的Java语言编写,由于Java平台的自由和开放性使得该系统实现不是很复杂、开发周期比较短,开发人员成本低。

该系统的成本主要是开发和数据库的维护上,所设计的成本都比较低,能给一个家庭带来很大的利润。

因此在经济上是可行的。

1.1.3操作可行性

该系统在操作上是可行的,系统是采用Windows平台开发的,是家庭管理者与系统之间的操作,窗口和界面简单直观,人性化,易用操作和管理,业务逻辑清晰,各模块容易扩充。

因此在操作上是可行的。

1.1.4法律可行性

随着社会主义的发展和人们的生活水平的提高,对于一个家庭来说,所面对的事情都越来越复杂了,特别是对家庭财产的管理。

如何有效的管理和利用当今的计算机技术来达到人们所期望的生活已经在人们心中深入人心了,对于一个家庭财产管理系统的设计与实现对于每个家庭来说都是有必要的,没有任何侵犯法律问题。

因此,在法律上该系统是可行的。

第二章需求分析

2.1系统需求分析

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

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

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

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

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

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

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

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

Notnull

成员姓名

password

varchar

20

Notnull

密码

sex

enum

0

Notnull

性别

brithday

date

0

Notnull

出生年月

telephone

varchar

20

电话号码

email

varchar

30

电子邮件

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

表4-2receivetable表

字段名

数据类型

长度

字段约束

描述

rsno

int

Notnull

收入项目编号

rname

varchar

50

Notnull

收入项目名称

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

表4-3outlaytable表

字段名

数据类型

长度

字段约束

描述

osno

int

Notnull

支出项目编号

oname

varchar

50

Notnull

支出项目名称

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

表4-4dailyincometable表

字段名

数据类型

长度

字段约束

描述

iid

int

Notnull

收入序号

isname

varchar

50

Notnull

收入项目名称

ibankaccount

varchar

50

Notnull

银行账号

imember

varchar

20

Notnull

收入人员

idate

date

0

Notnull

收入日期

isum

float

0

Notnull

收入金额

remarks

varchar

255

备注

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

表4-5dailyexpensetable表

字段名

数据类型

长度

字段约束

描述

eid

int

Notnull

支出序号

esname

varchar

50

Notnull

支出项目名称

ebankaccount

varchar

50

Notnull

银行账号

emember

varchar

20

Notnull

支出人员

edate

date

0

Notnull

支出日期

esum

float

0

Notnull

支出金额

remarks

varchar

255

备注

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

表4-6currentaccounttable表

字段名

数据类型

长度

字段约束

描述

casno

varchar

50

Notnull

活期账户号

cabankname

varchar

20

Notnull

活期银行名

caholder

varchar

20

Notnull

活期账户持有者

opendate

date

0

Notnull

开户日期

bankbalance

float

0

Notnull

账户余额

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

表4-7currentaccountimfortable表

字段名

数据类型

长度

字段约束

描述

caiid

int

Notnull

存取编号

caisno

varchar

50

Notnull

活期银行账户

cabankbalance

float

0

Notnull

账户余额

caitype

enum

0

Notnull

存取类型

caisum

float

0

Notnull

存取金额

ncabankbalance

float

0

Notnull

账户现余额

caidate

date

0

Notnull

存取日期

caimember

varchar

20

Notnull

存取款人

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

表4-8depositaccounttable表

字段名

数据类型

长度

字段约束

描述

dasno

varchar

50

Notnull

定期账户号

dabankname

varchar

50

Notnull

定期银行名

daholder

varchar

20

Notnull

定期账户持有者

dadate

date

0

Notnull

开户日期

dasum

float

0

Notnull

定期账户金额

istakeout

enum

0

Notnull

是否取出

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

表4-9lendtable表

字段名

数据类型

长度

字段约束

描述

lendsno

int

Notnull

借出款编号

getmoneyname

varchar

20

Notnull

得款人

lendmoneyname

varchar

20

Notnull

借出人

lbankaccount

varchar

50

Notnull

银行账号

lendsum

float

0

Notnull

借出金额

lendreason

varchar

255

借出理由

lenddate

date

0

Notnull

借出日期

ispaybacked

enum

0

Notnull

是否归还

remarks

varchar

255

备注

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

表4-10borrowtable表

字段名

数据类型

长度

字段约束

描述

borrowsno

int

Notnull

借入款编号

borrowname

varchar

20

Notnull

借入人

lendmoneyname

varchar

20

Notnull

借出人

lbankaccount

varchar

50

Notnull

银行账号

borrowsum

float

Notnull

借入金额

borrowreason

varchar

255

借入理由

borrowdate

date

0

Notnull

借入日期

ispaybacked

enum

0

Notnull

是否归还

remarks

varchar

255

备注

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

表4-11recordtable表

字段名

数据类型

长度

字段约束

描述

rid

int

Notnull

编号

rbanksno

varchar

50

Notnull

银行账号

rdate

date

0

Notnull

记录日期

rbankbalance

float

Notnull

银行余额

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

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:

mysql:

//localhost:

3306/ffms","root","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;

}

catch(SQLExceptionsqle)

{

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

returnnull;

}

}

publicbooleanupdateSql(StringstrSQL)

{

try{

stmt.executeUpdate(strSQL);

mit();

returntrue;

}

catch(SQLExceptionsqle)

{

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

returnfalse;

}

}

publicvoidcloseConnection()

{

try{

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

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2