《家庭理财管理系统课程设计正文论文--学位论文.doc》由会员分享,可在线阅读,更多相关《家庭理财管理系统课程设计正文论文--学位论文.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录1 项目概述11.1 系统概述11.2 项目目标11.3 项目范围11.4 业务流程图21.5 现系统存在的问题及薄弱环节分析22问题定义33 可行性研究34 需求分析44.1 总体目标44.2 具体目标54.3 系统功能建模54.3.1 系统数据流程图54.3.2 数据字典74.4 系统数据模型95概要设计115.1 总体系结构设计115.2 接口设计125.2.1外部接口125.2.2 内部接口125.3 代码设计125.3.1 代码设计125.4 数据库设计125.4.1关系模式设计125.4.2 数据字典135.5 家庭理财系统输入、输出设计155.5.1 输入设计155.5.2
2、 输出设计15输出内容输出到各个对应数据窗口。155.6运行设计155.6.1运行环境155.6.3 运行控制165.6.4运行时间165.7出错处理设计165.7.1出错输出信息165.7.2出错处理对策165.8安全保密设计165.8.1登录用户的安全性165.9维护设计166 详细设计176.1 登陆模块176.1.1 模块定义176.1.2 算法176.1.3 算法描述176.2 存储查询模块186.2.1 模块定义186.2.2 算法186.2.3 算法描述186.3 界面设计186.3.1 登录窗口界面186.3.2 系统登窗口主界面186.3.3“正常收入”窗口界面196.3.4
3、“正常支出”窗口界面197 编码207.1概述开发工具及编程脚本207.2编码设计207.2.1主函数模块207.2.2数据连接读取模块237.2.3登陆模块248课程设计小结269参考文献2610附录27附录1程序清单27附录1.2 显示模块程序清单28附录1.3 帮助模块程序清单30附录1.4 学生模块程序清单311 项目概述1.1 系统概述家庭财务的中心内容账务管理。人们几乎每一天都会经过许多次货币活动。其中包括了买入卖出实物,娱乐消费,起居饮食消费,还有发放工资,收缴保费等。如果能把各类不同的活动进行分类,建立不同的账户,分别对活动进行管理,那么无论现在还是将来,你的账务就会清楚明白了
4、。每天,我们对自己账务的操作有如下几类:添加新的数据项,比如今天我卖出了多少股票,生活中,我们就要对自己还有多少钱,今天所得的利润进行统计。现在我们把这些工作放到程序里去实现,就是这样的操作。某账户今天是添加还是减少,比如对RMB的操作就是减少,如果与这个操作相关的账户是现金,然后根据货币兑换率提供的值计算现金账户今天该录入的数值。再如变卖所有古董的收藏,再存入银行,在软件的实现就为把古董的变卖值转入存款账户。日常生活中,当我们要对一周来,外汇交易的情况进行了解,就非常困难,而观察外汇一个月里的利率走势就更加是问题。做到程序里,把它存放到一个数据表里就可以了。归结后,账户的操作一般如下:新添,
5、删除,增加,减少,查找,转账,统计。1.2 项目目标现代社会家庭的理财观念进一步提高,理财手段变得更加丰富。随着生活水平和文化水平的提高,家庭购买电脑的能力和应用电脑的能力开始提高。电脑及其应用的普及化,人们应用电脑进行家庭财务管理的观念增强,因此,开发一个通用性家庭理财软件已经成为社会需求。本系统是一个家庭通用型理财软件,系统目标是把适合家庭化管理的各种理财手段及家庭日常收支管理实现计算机化管理,使对家庭及家庭成员的收支活动更好地进行记录并加以统计分析成为可能,也使家庭理财变得方便,快捷,全面。1.3 项目范围 现在,人们的生活水平和文化素质普遍提高,并且开始注重生活质量。随着市场经济的快速
6、发展,观念的不断更新,个人理财意识普遍增强,特别是家庭理财意识得到很大发展,在意识上,一方面,人们对家庭和个人的各方面消费有想进行统计和分析的愿望,以便更好地做好家庭收支计划,和家庭财务管理。另一方面,各种理财手段不断丰富,如何把各种理财手段统一起来,并且能更加方便的操作成为要求。在物质基础上,计算机的应用开始普及,人们购置计算机和使用计算机的能力增强,人均计算机拥有量将快速提高。这些条件说明,人们有购买一个家庭化财务软件的要求,在一个可接受的价格范围内,将购买这种软件。使用这种软件学要家庭有一定的经济基础,所以这种软件适用于家庭收入在中下层或中下层以上的家庭。1.4 业务流程图现行系统的业务
7、流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:用业务流程图描述现系统各项业务处理过程,并结合业务流程图详细、准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。收入支出表收入支出帐簿用户设置信息收入支出管理备注消费表存款表信息管理统计用户图1 系统业务流程图 1.5 现系统存在的问题及薄弱环节分析现在的家庭,不少的的账目都是随手拿来张纸记录,就算是用记事本来记录也会因为各种原因出现字迹混淆的现象,长时间后再查阅,会发现不知道当时记了什么,随手用纸张来记录,不易于管理,东一张西一张容易造成遗漏、丢失数据等现象导致统计数据错误,去银行存取后的打
8、印单不能及时的记录管理,会泄漏帐号和现有金额,形成安全隐患,不经过记录,卡折同时使用也会使得账目不清楚对家里资产的预估形成误差,有时候支出收入过多,大量数据的计算,错误常会伴随而来,使得账目错误,导致投资理财的失误。2问题定义 信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。 目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初
9、期,是单一的人-机系统,系统功能简单,效率低,对管理的作用有限。进入2 0世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。 我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统 (ES)或决策支持系统 (DSS),其处理对象和服务对象,自身的系统结构,处理能力
10、,都有了进一步的发展。 正确的理财观念非常重要,科学理财方式选择将成为决定个人贫富差距的关键性因素。真正的理财是因人而异,因“财”制宜的。理财方式的选择也因人而异。在国内,有些人自己亲自进行股票、债券买卖,只有少部分人请理财机构带为理财。而在国外大部分人是请经验丰富的理财专家或顾问来替他们理财、节支开源。因为投资市场的变化和理财工具的复杂,使得理财专业知识和技能的要求也越来越高,更多人理智地选择了专家。 理财的核心是投资收益的最大化和个人资产分配合理化的集合。理财服务通过充分利用各种理财工具(如现金、银行存款、股票、债券、基金、期货、房产、保险等),帮助您达到合理分配的目的、满足您对理财安全性
11、、收益性等多样化要求。 开发一个理财软件迎合了现代的家庭发展趋势,对居民合理分配家庭财产起到重要意义。设计系统的必要性和可行性3 可行性研究衡量是否具备使用新系统所需的条件,一般可从软硬件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术水平应首先考虑近期内可以培养和发展的技术人员。近些年计算机技术飞速发展,硬件条件可以说是日新月异,其发展速度已令人惊讶的成倍比例发展。软件方面同样进展神速,无论任何系统都难不到如今的计算机。本系统就是由VB与access数据库相结合而设计出来的。以下为本系统开发需求。本系统开发需求的软件有:(1)Windows XP 操作系统。(2
12、)ECLIPSE(3)ACCESS 数据库本系统开发需求的硬件有:CPU为400MHZ以上;硬盘数据量最小配置为20G;计算机内存要求为128M以上;对于个人理财管理信息系统应着重分析其经济效益,整合现有资源,提高工作效率。经济上的可行性首先要估算新系统的开发费用和运行、维护费用,再与所估计的将获得的效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、机房、电源、空调等;软件开发费用:系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支;其它费用:系统的效
13、益可以从经济效益和社会效益两方面考虑,本系统在经济上是可行的。4 需求分析软件需求分析的目标是深入描述软件的功能和性能,确定软件的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。需求分析阶段研究的对象是软件项目的用户需求。一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求。4.1 总体目标家庭财务管理主要由日常记账管理和应用各种理财手段进行理财实现家庭资金的最大增值。记账按范围和使用方式可分为现金记账,定期存款记账,活期记账,股票交易记账,债权债务记账。它们分别对应于现金账户,定期存款账户,活期账户,股票交易账户,实物资产账户,
14、债权债务账户,保险账户。现金账户可为不同家庭成员建立自己的账户,也可一人建立几个账户,以便把自己的现金按类归划,按用途有效的进行消费计划和统计。活期账户对应于各家庭成员的银行活期账户。股票交易账户对应所开的股票交易账户,股票记账可以对近期的股票活动详细信息进行查询,浏览,并对盈利情况统计。股票账户和一资金转账账户相连,可以进入日常收支统计数据中。4.2 具体目标(1)要收入、支出更加全面可从多方面增加收入支出的情况,包括一般收入、借款所的、它人还钱、及股票所的。支出同样如此。(2)灵活设置系统 包括成员、消费名称、收入来源、银行名称。(3)增加存储功能 可根模拟银行,从而得知怎样才能更好的增加
15、收入,包括现金存储、存款支出、存储查询、存款支出查询。(4)各费用的统计包括日常支出、股票收益、综合统计等。4.3 系统功能建模 系统功能建模所采用的工具是数据流程图和数据字典,用于表达系统内部的运动以及对数据的描述和定义。4.3.1 系统数据流程图数据流程图简称DFD,它用来描述目标系统的逻辑结构,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,因为DFD是逻辑系统的图形表示,即使不是计算机技术人员也容易理解,所以是极好的通行工具。此外,设计数据流程图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它是软件设计的很好的出发点,它是由实体处理数据
16、存储和数据流回部分组成。数据流程图的设计原则:(1) 明确系统界面;(2) 自顶向下逐层扩展;(3) 合理布局,数据流图各种符号要布局合理、分布均匀、整齐、清晰,使读者一目了然;(4) 数据流图只反映数据流向、数据加工和逻辑意义上的数据存储,不反映任何数据处理的技术过程、处理方式和时间顺序,也不反映各部分相互联系的判断与控制条件等技术问题;D5日常支出信息表D2借入收入信息表D3返反收入信息表D4股票收入信息表D6股票支出信息表D7借出支出信息表P1家庭理财管理系统余额D1一般收入信息表F4查询条件信息F5统计条件信息F1收入信息F2支出信息F3存款信息查询结果D8还贷信息表D9存款信息表D1
17、0取款信息表(5) 数据流程图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改。图2 家庭理财信息系统一层数据流图F1.4股票收入信息D2借入收入信息表D3返反收入信息表D4股票收入信息表D1一般收入信息表F1.1一般收入信息F1.2借入收入信息F1.3返还收入信息 P1.1收入信息管理 F2.4还贷支出信息F2.1日常支出信息F2.2股票支出信息F2.3借出支出信息 P1.2支出管理D5日常支出信息表D6股票支出信息表D7借出支出信息表D8还贷信息表图3二层数据流图1 F3.1存款信息F3.2取款信息 P1.3存取款信息管理D9存款信息表D10取款信息表图4
18、二层数据流图2D5日常支出信息表D2借入收入信息表D3返反收入信息表D4股票收入信息表D6股票支出信息表D7借出支出信息表D1一般收入信息表统计结果D8还贷信息表F5统计条件信息P1.5统计信息管理图5二层数据流图3图7 二层数据流图54.3.2 数据字典名字:用户编号别名:描述:用户的编号数据类型:char长度:2名字:消费名称别名:描述:消费名称数据类型: char长度:10名字:还货日期别名:描述:支出的还货日期日期数据类型:datetime长度:8(2)数据存储数据存储是数据结构停留或保存的地方。一般而言,应包括如下内容:名字:一般收入信息表描述:存储一般收入的信息编号:D1组成:收入
19、人,收入金额,日期,收入来源,说明名字:股票收入信息表描述:存储股票收入的信息编号:D4组成:股票名称,总金额,首数,卖出日期,卖出时间,卖出人,说明数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式 。名字:日常支出表描述:存储日常支出信息编号:D5组成:消费人,总价格,消费日期,消费时间,消费名称,消费用途,数量,说明名字:借出支出信息表描述: 存储借出支出信息编号:D7组成:借出人,借款金额,借款人,借出日期,借出时间,说明名字:股票支出信息表描述: 存储股票支出信息编号:D6组成:股票名称,购买日期,购买时间,购买人,总金额,首数,说明(3
20、)数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)名字:一般收入信息描述:用户录入的一般收入信息 编号:F1.1组成:收入人,收入金额,日期,收入来源,说明名字:收入信息描述:用户录入收入信息 编号:F1组成:F1.1,F1.2,F1.3,F1.4名字:返回收入信息描述:用户录入的返回收入信息 编号:F1.3组成:返还日期,借款人,收款人,返还时间,说明,返还金额名字:借入收入信息描述:用户录入的借入收入信息 编号:F1.2组成:借款人,代款人,借入金额,借款日期,借款时间,说明名字:支出信息描述:用户的支
21、出信息编号:F2组成:F2.1,F2.2,F2.3,F2.4名字:日常支出信息描述:用户录入的日常支出信息 编号:F2.1组成:消费人,总价格,消费日期,消费时间,消费名称,消费用途,数量,说明名字:股票支出信息描述:用户录入的购买股票的支出信息 编号:F2.2组成:股票名称,购买日期,购买时间,购买人,总金额,首数,说明名字:借出支出信息描述:用户录入的借出支出信息 编号:F2.3组成:借出人,借款金额,借款人,借出日期,借出时间,说明名字:查询条件信息描述:用户选择的查询信息编号:F4组成:(4)数据处理名字:收入信息管理描述:对收入的各项信息进行录入编号:P1.1输入/输出数据流:D1,
22、D2,D3,D4,处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:处理过程名,说明,输入数据流,输出数据流,处理。名字:家庭理财管理系统描述:实现整个系统的功能编号:P1输入/输出:D1,D2,D3,D4,D5,D6,D7,D8,D9,D10名字:支出信息管理描述:对家庭支出的信息进行录入编号:P1.2输入/输出数据流:D5,D6,D7,D8名字:存储信息管理描述:对家庭存款及取款的信息进行录入编号:P1.3输入/输出数据流:D9,D10名字:查询信息管理描述:对家庭收支的信息进行查询并显示结果编号:P1.4输
23、入/输出数据流:D1,D2,D3,D4,D5,D6,D7,D84.4 系统数据模型建立系统数据模型的主要工具是实体关联图,即E-R图。ER图的图形符号约定如下:矩形,表示实体集;椭圆,表示属性;菱形,表示联系集;线段,将属性连接到实体或将实体集连接到联系集;双椭圆,示多值属性;虚椭圆,示派生属性;系统E-R图如图所示:由需求分析得到本系统的E-R图,如下图所示:一般收入收入人收入金额日期收入来源备注家庭成员成员编号成员名称成员权限图8 一般收入E-R图 图9 家庭成员E-R图借入收入借款人货款人借入金额借款时间说明借款日期图10 借入收入E-R图取款支款人支款金额日期银行说明图11 取款E-R
24、图日常支出总价格消费日期消费时间消用途备注消费名称消费人数量图12日常支出E-R图家庭理财系统收入管理一般收入信息借入收入信息返还收入信息股票收入信息支出管理日常支出信息支出信息借出支出信息还贷支出信息存储管理现金存储信息存储支出信息存储查询设置设置成员名称设置消费名称设置收入来源设置银行名称数据统计日常支出借出返还借入还贷综合统计查询返还收入借出支出借入收入日常支出一般收入股票买入股票卖出 5概要设计5.1 总体系结构设计图13 家庭理财信息系统结构图5.2 接口设计5.2.1外部接口(1)用户界面在用户界面部分,根据需求分析结果,用户需要一个友善界面。在界面设计上,应做到简单明了,易于操作
25、,并且要注意到界面的布局,应突出的显示重要以及出错信息。在界面设计部分,本系统按照Microsoft公司的用户界面设计标准,为用户提供友好、方便、直观、简洁的操作环境。本系统采用了窗口继承的方式,使窗口有统一的界面风格和操作风格。同时,对错误信息、提示信息进行标准话,尽量做到清晰明了。 (2)软件接口ODBC提供的对access的接口,进行对数据库的所有访问。(3)硬件接口在输入方面,对于键盘、鼠标的输入、对输入进行处理。5.2.2 内部接口系统在功能模块的设计上,以“高内聚、低耦合”为设计目标。内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数
26、据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。5.3 代码设计5.3.1 代码设计表示种类,代码为大写英语字母,如电器为“DQ”。表示大小,代码为大写英语字母,如大电器为“ B”。表示在以上分类基础上的编号,从00000-999995.4 数据库设计 数据库建设是硬件,软件和干件的结合;数据库设计应该和应用系统设计相结合。概念模型设计5.4.1关系模式设计 人员表(成员编号,成员姓名,成员密码)收入来源表(编码,收入来源)一般收入表(收入人,收入金额,收入来源 ,收入日期,说明) 借入收入表(借款人,贷款人,借款日期,借入金额,借款时
27、间,说明)股票收入表(股票名称,总金额,首数,卖出日期,卖出时间,买出人,说明)存入银行表(存款人,存款金额,银行,日期,说明)借出支出表(借出人,借款人,借出日期,借款金额,借出时间,说明)日常支出表(消费人,消费日期,消费时间,消费名称,消费用途,总价格,说明)股票支出表(股票名称,购买日期,购买时间,购买人,总金额,首数,说明)存款支出表(支款人,支款金额,银行,日期,说明)5.4.2 数据字典数据字典是物理数据库的具体体现:表3 用户数据表列含义列标志类型长度是否主健完整性约束成员编号Char2是数字字符成员姓名Char10否字符型数据成员密码Char10否 字符型数据 表4 收入来源
28、表列含义列标志类型长度是否主健完整性约束编码Char6是数字字符收入来源Char10否字符型数据表5一般收入表列含义列标志类型长度是否主健完整性约束收入人Char10是数字字符收入金额Char10否字符型数据收入来源Char10否字符型数据收入日期Datetime否=系统日期说明Char50否字符型数据表6股票收入表列含义列标志类型长度是否主健完整性约束股票名称Char10是数字字符买出人Char10数字字符总金额Char10否字符型数据首数Char10否字符型数据卖出时间Char10否字符型数据卖出日期Datetime否=系统日期说明Char50否字符型数据表7 存入银行表列含义列标志类型长
29、度是否主健完整性约束存款人Char10是数字字符存款金额Char10否字符型数据银行Char10否字符型数据日期Datetime否=系统日期说明Char50否字符型数据表8 借出支出表列含义列标志类型长度是否主健完整性约束借出人Char10是数字字符借款金额Char10否字符型数据借款人Char10否字符型数据借出时间Char10否字符型数据借出日期Datetime否=系统日期说明Char60否字符型数据表9 日常支出表列含义列标志类型长度是否主健完整性约束还贷人Char10是数字字符还贷日期Datetime否=系统日期还贷时间Char10否字符型数据还送给Char10否字符型数据还贷金额Ch
30、ar10否字符型数据说明Char50否字符型数据表10 股票支出表列含义列标志类型长度是否主健完整性约束股票名称Char10是数字字符购买人Char10否数字字符总金额Char10否字符型数据首数Char10否字符型数据购买时间Char10否字符型数据购买日期Datetime否=系统日期说明Char50否字符型数据表11 存款支出表列含义列标志类型长度是否主健完整性约束支款人Char10是数字字符支款金额Char10否字符型数据银行Char10否字符型数据日期Datetime否=系统日期说明Char50否字符型数据5.5 家庭理财系统输入、输出设计5.5.1 输入设计输入设计指将系统外的数据以
31、一定格式送入计算机,输入设计的一条重要原则是确保系统输入的信息准确无误。表12输入设计输入名称:一般收入输入设备和介质:键盘输入源:所用用户输入时间和频率:随机输入信息量:收入人,收入金额,收入来源 ,收入日期,说明共享范围:本系统使用5.5.2 输出设计输出内容输出到各个对应数据窗口。5.6运行设计5.6.1运行环境 该系统为客户端/服务器模式,客户端可安装在个人计算机上,运行于Windows98以上的操作系统下,服务器端DBMS选用SQL SERVER进行管理。5.6.2运行模块的组合 客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充
32、分的数据时,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。5.6.3 运行控制 运行控制严格按照各模块间函数调用关系来实现。 服务器在接收到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。5.6.4运行时间使用高性能的服务器,如酷睿双核处理器,将缩短数据库反应时间。5.7出错处理设计5.7.1出错输出信息程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。出错信息必须给出相应的出错原因,例:“用户名不存在!”“密码不正确!”等。5.7.2出错处理对策在客户机和服务器上安装
33、不间断电源以防止停电或电压不稳造成的数据丢失的损失。假如断电后,对服务器影响较大,在断电后恢复的过程中可采用access的日志文件,对其进行ROLLBACK处理,对数据进行恢复。在硬件方面,选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。5.8安全保密设计5.8.1登录用户的安全性系统设计了登录界面,每个合法用户都有一个编号、用户名及密码,该密码都用户个人维护,从而实现对用户的身份验证。5.9维护设计该系统后台采用Microsoft公司 access 服务器,对数据的管理可以自动进行。数据可以手动或者自动备份,对破损数据可以及时恢复。对数据库的使用角色、维护、安全性等可以设定。6 详细设
34、计详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 详细设计阶段的任务不是具体编写程序,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终程序代码的质量。6.1 登陆模块6.1.1 模块定义用户注册及登陆模块(1)模块编号:S1(2)模块名称:用户登陆(3)模块功能:用户登陆,登陆时用户添写用户编号和密码请求登陆,系统会从数据库中进行检索,如果有匹配的信息,则表示登陆成功,否则登陆失败,提示重新登陆。6.1.2 算法(1)如果数据库中没有与输入用户编码相对应的数据,则视为“用户不存在”
35、。(2)如果用户输入的密码和数据库中内容不一致,则视为“密码错误”。6.1.3 算法描述开始用户登陆失败超过三次退出系统读取用户类型基本信息管理数据统计管理理财系统管理管理自己的用户信息管理自己的用户信息管理普通用户的信息用户管理模块家庭理财管理模块重试是否失败成功图14 登录算法流程图6.2 存储查询模块6.2.1 模块定义存储查询模块(1)模块编号:S2(2)模块名称:存储(3)模块功能:对银行存储进行管理,并可以查询存款的多少。6.2.2 算法(1)如果数据库中没有与输入合理日期,则视为“输入无效”。(2)如果用户输入的名字和数据库中内容不一致,则视为“用户不存在”。6.2.3 算法描述
36、开始输入查询日期检索库中是否存在显示信息结束YN 图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 附带了一个标准的插件集,包括
37、Java 开发工具(Java Development Tools,JDT)。使用ACCESS数据库系统进行数据的处理:(1)数据定义:用于创建,删除,修改数据库中的各类对象,如CREATE,DROP,ALTER。(2)数据查询:对数据库查询检索,命令具有SELECT。(3)数据更新:插入,更新,删除数据库,如INSERT,UPDATE,DELETE。(4)数据控制:数据控制管理,如表加锁,受权,回收授权,提交事物,回滚事物。7.2编码设计7.2.1主函数模块import java.util.*;import javax.swing.*;import java.awt.event.*;impor
38、t java.awt.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.*;public class Moneymanager implements ActionListener public static Moneymanager m = new Moneymanager(); JFrame f = new JFrame(家庭理财系
39、统);String Names=序号,收入,支出,时间,备注;JTable table=new JTable(new Show().playerInfo,Names);JScrollPane s=new JScrollPane(table);static JPanel p = new JPanel();static JButton bt1 = new JButton(修改密码);static JButton bt2 = new JButton(修改数据);static JButton bt3 = new JButton(删除数据);static JButton bt4 = new JButto
40、n(财务统计);static JButton bt5 = new JButton(添加记录);static JButton bt6 = new JButton(帮助);static JButton bt7 = new JButton(数据清空);static JLabel lb1 = new JLabel(收入 元); static JLabel lb2 = new JLabel(支出 元);static JLabel lb3 = new JLabel(时间);static JLabel lb4 = new JLabel(备注);static JLabel lb5 = new JLabel(康良成 高航作品07/06/2010);static JLabel lb6 = new JLabel(0);static JTextField txt1 = new JTextField(0);static JTextField txt2 = new JTextField(0);static JTextField txt3 = new JTextField(m.gettime();static JTextField txt4 = new JTextField();public static Stringa = new String100005;public s