家庭理财管理系统课程设计正文学位论文.docx
《家庭理财管理系统课程设计正文学位论文.docx》由会员分享,可在线阅读,更多相关《家庭理财管理系统课程设计正文学位论文.docx(48页珍藏版)》请在冰豆网上搜索。
家庭理财管理系统课程设计正文学位论文
1项目概述
1.1系统概述
家庭财务的中心内容账务管理。
人们几乎每一天都会经过许多次货币活动。
其中包括了买入卖出实物,娱乐消费,起居饮食消费,还有发放工资,收缴保费等。
如果能把各类不同的活动进行分类,建立不同的账户,分别对活动进行管理,那么无论现在还是将来,你的账务就会清楚明白了。
每天,我们对自己账务的操作有如下几类:
添加新的数据项,比如今天我卖出了多少股票,生活中,我们就要对自己还有多少钱,今天所得的利润进行统计。
现在我们把这些工作放到程序里去实现,就是这样的操作。
某账户今天是添加还是减少,比如对RMB的操作就是减少,如果与这个操作相关的账户是现金,然后根据货币兑换率提供的值计算现金账户今天该录入的数值。
再如变卖所有古董的收藏,再存入银行,在软件的实现就为把古董的变卖值转入存款账户。
日常生活中,当我们要对一周来,外汇交易的情况进行了解,就非常困难,而观察外汇一个月里的利率走势就更加是问题。
做到程序里,把它存放到一个数据表里就可以了。
归结后,账户的操作一般如下:
新添,删除,增加,减少,查找,转账,统计。
1.2项目目标
现代社会家庭的理财观念进一步提高,理财手段变得更加丰富。
随着生活水平和文化水平的提高,家庭购买电脑的能力和应用电脑的能力开始提高。
电脑及其应用的普及化,人们应用电脑进行家庭财务管理的观念增强,因此,开发一个通用性家庭理财软件已经成为社会需求。
本系统是一个家庭通用型理财软件,系统目标是把适合家庭化管理的各种理财手段及家庭日常收支管理实现计算机化管理,使对家庭及家庭成员的收支活动更好地进行记录并加以统计分析成为可能,也使家庭理财变得方便,快捷,全面。
1.3项目范围
现在,人们的生活水平和文化素质普遍提高,并且开始注重生活质量。
随着市场经济的快速发展,观念的不断更新,个人理财意识普遍增强,特别是家庭理财意识得到很大发展,在意识上,一方面,人们对家庭和个人的各方面消费有想进行统计和分析的愿望,以便更好地做好家庭收支计划,和家庭财务管理。
另一方面,各种理财手段不断丰富,如何把各种理财手段统一起来,并且能更加方便的操作成为要求。
在物质基础上,计算机的应用开始普及,人们购置计算机和使用计算机的能力增强,人均计算机拥有量将快速提高。
这些条件说明,人们有购买一个家庭化财务软件的要求,在一个可接受的价格范围内,将购买这种软件。
使用这种软件学要家庭有一定的经济基础,所以这种软件适用于家庭收入在中下层或中下层以上的家庭。
1.4业务流程图
现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。
其主要作用是:
用业务流程图描述现系统各项业务处理过程,并结合业务流程图详细、准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。
图1系统业务流程图
1.5现系统存在的问题及薄弱环节分析
现在的家庭,不少的的账目都是随手拿来张纸记录,就算是用记事本来记录也会因为各种原因出现字迹混淆的现象,长时间后再查阅,会发现不知道当时记了什么,随手用纸张来记录,不易于管理,东一张西一张容易造成遗漏、丢失数据等现象导致统计数据错误,去银行存取后的打印单不能及时的记录管理,会泄漏帐号和现有金额,形成安全隐患,不经过记录,卡折同时使用也会使得账目不清楚对家里资产的预估形成误差,有时候支出收入过多,大量数据的计算,错误常会伴随而来,使得账目错误,导致投资理财的失误。
2问题定义
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人-机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初期,是单一的人-机系统,系统功能简单,效率低,对管理的作用有限。
进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。
世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。
随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统(ES)或决策支持系统(DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。
正确的理财观念非常重要,科学理财方式选择将成为决定个人贫富差距的关键性因素。
真正的理财是因人而异,因“财”制宜的。
理财方式的选择也因人而异。
在国内,有些人自己亲自进行股票、债券买卖,只有少部分人请理财机构带为理财。
而在国外大部分人是请经验丰富的理财专家或顾问来替他们理财、节支开源。
因为投资市场的变化和理财工具的复杂,使得理财专业知识和技能的要求也越来越高,更多人理智地选择了专家。
理财的核心是投资收益的最大化和个人资产分配合理化的集合。
理财服务通过充分利用各种理财工具(如现金、银行存款、股票、债券、基金、期货、房产、保险等),帮助您达到合理分配的目的、满足您对理财安全性、收益性等多样化要求。
开发一个理财软件迎合了现代的家庭发展趋势,对居民合理分配家庭财产起到重要意义。
设计系统的必要性和可行性
3可行性研究
衡量是否具备使用新系统所需的条件,一般可从软硬件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术水平应首先考虑近期内可以培养和发展的技术人员。
近些年计算机技术飞速发展,硬件条件可以说是日新月异,其发展速度已令人惊讶的成倍比例发展。
软件方面同样进展神速,无论任何系统都难不到如今的计算机。
本系统就是由VB与access数据库相结合而设计出来的。
以下为本系统开发需求。
本系统开发需求的软件有:
(1)WindowsXP操作系统。
(2)ECLIPSE
(3)ACCESS数据库
本系统开发需求的硬件有:
CPU为400MHZ以上;硬盘数据量最小配置为20G;计算机内存要求为128M以上;
对于个人理财管理信息系统应着重分析其经济效益,整合现有资源,提高工作效率。
经济上的可行性首先要估算新系统的开发费用和运行、维护费用,再与所估计的将获得的效益进行比较,看是否有利。
开发、运行和维护费用主要包括:
购买和安装设备的费用:
计算机硬件、系统软件、机房、电源、空调等;软件开发费用:
系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:
系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支;其它费用:
系统的效益可以从经济效益和社会效益两方面考虑,本系统在经济上是可行的。
4需求分析
软件需求分析的目标是深入描述软件的功能和性能,确定软件的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
需求分析阶段研究的对象是软件项目的用户需求。
一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求。
4.1总体目标
家庭财务管理主要由日常记账管理和应用各种理财手段进行理财实现家庭资金的最大增值。
记账按范围和使用方式可分为现金记账,定期存款记账,活期记账,股票交易记账,债权债务记账。
它们分别对应于现金账户,定期存款账户,活期账户,股票交易账户,实物资产账户,债权债务账户,保险账户。
现金账户可为不同家庭成员建立自己的账户,也可一人建立几个账户,以便把自己的现金按类归划,按用途有效的进行消费计划和统计。
活期账户对应于各家庭成员的银行活期账户。
股票交易账户对应所开的股票交易账户,股票记账可以对近期的股票活动详细信息进行查询,浏览,并对盈利情况统计。
股票账户和一资金转账账户相连,可以进入日常收支统计数据中。
4.2具体目标
(1)要收入、支出更加全面
可从多方面增加收入支出的情况,包括一般收入、借款所的、它人还钱、及股票所的。
支出同样如此。
(2)灵活设置系统
包括成员、消费名称、收入来源、银行名称。
(3)增加存储功能
可根模拟银行,从而得知怎样才能更好的增加收入,包括现金存储、存款支出、存储查询、存款支出查询。
(4)各费用的统计
包括日常支出、股票收益、综合统计等。
4.3系统功能建模
系统功能建模所采用的工具是数据流程图和数据字典,用于表达系统内部的运动以及对数据的描述和定义。
4.3.1系统数据流程图
数据流程图简称DFD,它用来描述目标系统的逻辑结构,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,因为DFD是逻辑系统的图形表示,即使不是计算机技术人员也容易理解,所以是极好的通行工具。
此外,设计数据流程图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它是软件设计的很好的出发点,它是由实体处理数据存储和数据流回部分组成。
数据流程图的设计原则:
(1)明确系统界面;
(2)自顶向下逐层扩展;
(3)合理布局,数据流图各种符号要布局合理、分布均匀、整齐、清晰,使读者一目了然;
(4)数据流图只反映数据流向、数据加工和逻辑意义上的数据存储,不反映任何数据处理的技术过程、处理方式和时间顺序,也不反映各部分相互联系的判断与控制条件等技术问题;
(5)
数据流程图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改。
图2家庭理财信息系统一层数据流图
图3二层数据流图1
图4二层数据流图2
图5二层数据流图3
图7二层数据流图5
4.3.2数据字典
名字:
用户编号
别名:
描述:
用户的编号
数据类型:
char
长度:
2
名字:
消费名称
别名:
描述:
消费名称
数据类型:
char
长度:
10
名字:
还货日期
别名:
描述:
支出的还货日期日期
数据类型:
datetime
长度:
8
(2)数据存储
数据存储是数据结构停留或保存的地方。
一般而言,应包括如下内容:
{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。
(3)数据流
数据流是数据结构在系统内传输的路径。
对数据流的描述通常包括如下内容:
{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}
(4)数据处理
处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。
在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:
{处理过程名,说明,输入数据流,输出数据流,处理}。
4.4系统数据模型
建立系统数据模型的主要工具是实体—关联图,即E-R图。
E-R图的图形符号约定如下:
矩形,表示实体集;椭圆,表示属性;菱形,表示联系集;线段,将属性连接到实体或将实体集连接到联系集;双椭圆,示多值属性;虚椭圆,示派生属性;
系统E-R图如图所示:
由需求分析得到本系统的E-R图,如下图所示:
图8一般收入E-R图
图9家庭成员E-R图
图10借入收入E-R图
图11取款E-R图
图12日常支出E-R图
5概要设计
5.1总体系结构设计
图13家庭理财信息系统结构图
5.2接口设计
5.2.1外部接口
(1)用户界面
在用户界面部分,根据需求分析结果,用户需要一个友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
在界面设计部分,本系统按照Microsoft公司的用户界面设计标准,为用户提供友好、方便、直观、简洁的操作环境。
本系统采用了窗口继承的方式,使窗口有统一的界面风格和操作风格。
同时,对错误信息、提示信息进行标准话,尽量做到清晰明了。
(2)软件接口
ODBC提供的对access的接口,进行对数据库的所有访问。
(3)硬件接口
在输入方面,对于键盘、鼠标的输入、对输入进行处理。
5.2.2内部接口
系统在功能模块的设计上,以“高内聚、低耦合”为设计目标。
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5.3代码设计
5.3.1代码设计
①表示种类,代码为大写英语字母,如电器为“DQ”。
②表示大小,代码为大写英语字母,如大电器为“B”。
③表示在以上分类基础上的编号,从00000-99999
5.4数据库设计
数据库建设是硬件,软件和干件的结合;数据库设计应该和应用系统设计相结合。
概念模型设计
5.4.1关系模式设计
人员表(成员编号,成员姓名,成员密码)
收入来源表(编码,收入来源)
一般收入表(收入人,收入金额,收入来源,收入日期,说明)
借入收入表(借款人,贷款人,借款日期,借入金额,借款时间,说明)
股票收入表(股票名称,总金额,首数,卖出日期,卖出时间,买出人,说明)
存入银行表(存款人,存款金额,银行,日期,说明)
借出支出表(借出人,借款人,借出日期,借款金额,借出时间,说明)
日常支出表(消费人,消费日期,消费时间,消费名称,消费用途,总价格,说明)
股票支出表(股票名称,购买日期,购买时间,购买人,总金额,首数,说明)
存款支出表(支款人,支款金额,银行,日期,说明)
5.4.2数据字典
数据字典是物理数据库的具体体现:
表3用户数据表
列含义
列标志
类型
长度
是否主健
完整性约束
成员编号
Char
2
是
数字字符
成员姓名
Char
10
否
字符型数据
成员密码
Char
10
否
字符型数据
表4收入来源表
列含义
列标志
类型
长度
是否主健
完整性约束
编码
Char
6
是
数字字符
收入来源
Char
10
否
字符型数据
表5一般收入表
列含义
列标志
类型
长度
是否主健
完整性约束
收入人
Char
10
是
数字字符
收入金额
Char
10
否
字符型数据
收入来源
Char
10
否
字符型数据
收入日期
Date
time
否
<=系统日期
说明
Char
50
否
字符型数据
表6股票收入表
列含义
列标志
类型
长度
是否主健
完整性约束
股票名称
Char
10
是
数字字符
买出人
Char
10
数字字符
总金额
Char
10
否
字符型数据
首数
Char
10
否
字符型数据
卖出时间
Char
10
否
字符型数据
卖出日期
Date
time
否
<=系统日期
说明
Char
50
否
字符型数据
表7存入银行表
列含义
列标志
类型
长度
是否主健
完整性约束
存款人
Char
10
是
数字字符
存款金额
Char
10
否
字符型数据
银行
Char
10
否
字符型数据
日期
Date
time
否
<=系统日期
说明
Char
50
否
字符型数据
表8借出支出表
列含义
列标志
类型
长度
是否主健
完整性约束
借出人
Char
10
是
数字字符
借款金额
Char
10
否
字符型数据
借款人
Char
10
否
字符型数据
借出时间
Char
10
否
字符型数据
借出日期
Date
time
否
<=系统日期
说明
Char
60
否
字符型数据
表9日常支出表
列含义
列标志
类型
长度
是否主健
完整性约束
还贷人
Char
10
是
数字字符
还贷日期
Date
time
否
<=系统日期
还贷时间
Char
10
否
字符型数据
还送给
Char
10
否
字符型数据
还贷金额
Char
10
否
字符型数据
说明
Char
50
否
字符型数据
表10股票支出表
列含义
列标志
类型
长度
是否主健
完整性约束
股票名称
Char
10
是
数字字符
购买人
Char
10
否
数字字符
总金额
Char
10
否
字符型数据
首数
Char
10
否
字符型数据
购买时间
Char
10
否
字符型数据
购买日期
Date
time
否
<=系统日期
说明
Char
50
否
字符型数据
表11存款支出表
列含义
列标志
类型
长度
是否主健
完整性约束
支款人
Char
10
是
数字字符
支款金额
Char
10
否
字符型数据
银行
Char
10
否
字符型数据
日期
Date
time
否
<=系统日期
说明
Char
50
否
字符型数据
5.5家庭理财系统输入、输出设计
5.5.1输入设计
输入设计指将系统外的数据以一定格式送入计算机,输入设计的一条重要原则是确保系统输入的信息准确无误。
表12输入设计
输入名称:
一般收入
输入设备和介质:
键盘
输入源:
所用用户
输入时间和频率:
随机
输入信息量:
收入人,收入金额,收入来源,收入日期,说明
共享范围:
本系统使用
5.5.2输出设计
输出内容输出到各个对应数据窗口。
5.6运行设计
5.6.1运行环境
该系统为客户端/服务器模式,客户端可安装在个人计算机上,运行于Windows98以上的操作系统下,服务器端DBMS选用SQLSERVER进行管理。
5.6.2运行模块的组合
客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分的数据时,并等待接收服务器返回的信息。
接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。
5.6.3运行控制
运行控制严格按照各模块间函数调用关系来实现。
服务器在接收到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。
5.6.4运行时间
使用高性能的服务器,如酷睿双核处理器,将缩短数据库反应时间。
5.7出错处理设计
5.7.1出错输出信息
程序在运行时主要会出现两种错误:
1、由于输入信息,或无法满足要求时产生的错误,称为软错误。
出错信息必须给出相应的出错原因,例:
“用户名不存在!
”
“密码不正确!
”等。
5.7.2出错处理对策
在客户机和服务器上安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。
假如断电后,对服务器影响较大,在断电后恢复的过程中可采用access的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在硬件方面,选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
5.8安全保密设计
5.8.1登录用户的安全性
系统设计了登录界面,每个合法用户都有一个编号、用户名及密码,该密码都用户个人维护,从而实现对用户的身份验证。
5.9维护设计
该系统后台采用Microsoft公司access服务器,对数据的管理可以自动进行。
数据可以手动或者自动备份,对破损数据可以及时恢复。
对数据库的使用角色、维护、安全性等可以设定。
6详细设计
详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务不是具体编写程序,以后程序员将根据这个蓝图写出实际的程序代码。
因此,详细设计的结果基本上决定了最终程序代码的质量。
6.1登陆模块
6.1.1模块定义
用户注册及登陆模块
(1)模块编号:
S1
(2)模块名称:
用户登陆
(3)模块功能:
用户登陆,登陆时用户添写用户编号和密码请求登陆,系统会从数据库中进行检索,如果有匹配的信息,则表示登陆成功,否则登陆失败,提示重新登陆。
6.1.2算法
(1)如果数据库中没有与输入用户编码相对应的数据,则视为“用户不存在”。
(2)如果用户输入的密码和数据库中内容不一致,则视为“密码错误”。
6.1.3算法描述
图14登录算法流程图
6.2存储查询模块
6.2.1模块定义
存储查询模块
(1)模块编号:
S2
(2)模块名称:
存储
(3)模块功能:
对银行存储进行管理,并可以查询存款的多少。
6.2.2算法
(1)如果数据库中没有与输入合理日期,则视为“输入无效”。
(2)如果用户输入的名字和数据库中内容不一致,则视为“用户不存在”。
6.2.3算法描述
图15查询算法流程图
6.3界面设计
6.3.1登录窗口界面
图16用户登录界面
6.3.2系统登窗口主界面
图17系统主界面
6.3.3“正常收入”窗口界面
图18“正常收入”界面
6.3.4“正常支出”窗口界面
图19“正常支出”界面
7编码
7.1概述开发工具及编程脚本
本系统的前台应用程序开发采用Eclipse应用开发工具。
使用java语言开发。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
使用ACCESS数据库系统进行数据的处理:
(1)数据定义:
用于创建,删除,修改数据库中的各类对象,如CREATE,DROP,ALTER。
(2)数据查询:
对数据库查询检索,命令具有SELECT。
(3)数据更新:
插入,更新,删除数据库,如INSERT,UPDATE,DELETE。
(4)数据控制:
数据控制管理,如表加锁,受权,回收授权,提交事物,回滚事物。
7.2编码设计
7.2.1主函数模块
importjava.util.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
impo