家庭财务管理系统毕业设计论文Word格式.docx
《家庭财务管理系统毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统毕业设计论文Word格式.docx(39页珍藏版)》请在冰豆网上搜索。
第二章开发环境及实现技术
2.1开发环境
衡量是否具备使用新系统所需的条件,一般可从软硬件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术水平应首先考虑近期内可以培养和发展的技术人员。
近些年计算机技术飞速发展,硬件条件可以说是日新月异,其发展速度已令人惊讶的成倍比例发展。
软件方面同样进展神速,无论任何系统都难不到如今的计算机。
本系统就是由VB与access数据库相结合而设计出来的。
以下为本系统开发需求。
本系统开发需求的软件有:
(1)Windows2000操作系统。
(2)VB6.0
(3)ACCESS数据库
本系统开发需求的硬件有:
CPU为400MHZ以上;
硬盘数据量最小配置为20G;
计算机内存要求为128M以上;
对于家庭财务管理信息系统应着重分析其经济效益,整合现有资源,提高工作效率。
经济上的可行性首先要估算新系统的开发费用和运行、维护费用,再与所估计的将获得的效益进行比较,看是否有利。
开发、运行和维护费用主要包括:
购买和安装设备的费用:
计算机硬件、系统软件、机房、电源、空调等;
软件开发费用:
若由本单位的技术人员开发,则该项费用可以计入下面的人员费用一项;
人员费用:
系统开发人员、操作人员和维护人员的工资、培训费用等;
消耗品费用:
系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支;
其它费用:
系统的效益可以从经济效益和社会效益两方面考虑。
本系统是由内部人员开发,开发费用较低。
系统维护费用也相对较低。
所以本系统在经济上是可行的。
2.2开发工具简介
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsoft公司的VisualBasic
Microsoft公司的VisualC
Borland公司的Delphi
Powersoft公司的PowerBulider
Java等等
在目前市场上这些众多的程序开发工具中,有些强调编程语言的弹性与执行效率;
有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;
相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
作为数据库系统的开发,VisualBasic是一个非常理想选择。
数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言VisualBasic语言,该开发工具具有很多长处:
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,VisualBasic具有以下特点:
1、可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2、面向对象的程序设计
4.0版以后的VisualBasic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;
而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
3、结构化程序设计语言
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。
4、事件驱动编程机制
VisualBasic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
5、访问数据库
VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。
同时,VisualBasic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用VisualBasic编辑和处理。
VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
6、动态数据交换(DDE)
利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。
当原始数据变化时,可以自动更新链接的数据。
VisualBasic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
7、对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。
利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
7、动态链接库(DLL)
VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对较好的选择。
Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。
VisualBasic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA控件在数据库中的信息与将信息显示给用户看的VisualBasic程序之间架起了一座桥梁。
我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。
缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。
一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。
DATA控件还提供了用来浏览不同记录的各种跳转按钮。
将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
ADO是Mcrosoft提出的第三种数据库访问对象,是Microsoft数据库访问技术的一个主要发展方向,ADO将OLEDB封装在一个数据对象中,使得VB程序中以方便地实现对数据库的访问。
第三章系统设计
3.1概要设计
3.1.1概要设计阶段的主要任务
①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。
②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。
选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。
3.1.2概要设计的过程
概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;
然后进行结构设计,确定软件结构。
3.1.3概要设计的原则
①将软件划分成若干独立成分的依据。
②如何表示不同的成分内的功能细节和数据结构。
③如何统一衡量软件设计的技术质量。
3.1.4系统功能分析
根据家庭理财管理系统的日常工作流程与内容,预测开发的管理系统的达到的功能如下:
1、现金的收入:
录入现金的收入情况
2、现金的支出:
录入现金的支出情况
3、现金的查询:
查询收入情况、支出情况及现金的节余情况
4、银行卡的收入:
录入信息卡现金的收入情况
5、银行卡的支出:
录入银行卡现金的支出情况
6、银行现金的查询:
查询银行卡的收入情况、支出情况及现金的节余情况
7、收入与支出项目的维护:
维护收入项目和支出项目,方便用户的选择
8、其他功能:
密码管理等
9、退出系统
根据以上分析,该系统考虑将整个系统分解成如图3-1模块结构图:
图3-1模块结构图
并且在系统的开发过程中,尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。
3.2详细设计
3.2.1详细设计的任务
详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。
主要任务如下:
①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;
②确定每一模块使用的数据结构;
③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
3.2.2详细设计的方法
程序流程图、N-S图、PAD图、IPO图
本系统在开发过程中所采用的详细设计方法为IPO图:
1、
现金的收入/支出模块IPO图:
2、
现金余额的查询模块IPO图:
3、
收入/支出项目模块IPO图:
4、
银行卡的收入/支出模块IPO图:
5、
银行卡余额的查询模块IPO图:
6、
密码修改模块IPO图:
第四章数据库设计
此阶段由我与同学刘云菲共同完成。
4.1数据库Access简介
(1)数据库的概念
数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着WorldWideWeb(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
数据库技术能使Internet应用超越具有早期应用特点的简单的发布。
同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。
这些技术没有脱离经典数据库技术的要求。
它们只是加重了数据库技术的重要性。
数据库的设计和开发及包括艺术有包括工程。
理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。
把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。
数据库的目的是帮助人们跟踪事务。
经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。
最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。
数据库也被越来越多地应用于生成和维护多媒体应用程序上。
计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。
存储器的容量、存储速率直接影响到数据管理技术的发展。
从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。
使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。
通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。
数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。
数据管理技术的优劣,将直接影响数据处理的效率。
数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。
合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。
同时合理的数据结构也将有利于程序的实现。
设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。
(2)创建数据库文件
如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。
如下所示:
打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮。
这些就新建了一个数据库文件。
最后一步就是要选择一个要保存数据库文件的名字和位置。
点击创建就完成。
(3)怎样创建一个数据表
上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。
在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。
出现设计的界面后,就可以开始设计数据表了!
(4)VB连接ACCESS2000数据库
用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。
先看看VB是如何与ACCESS2000数据库相连接的。
SubConnStr()
'
连接数据库
Setconn=CreateObject("
ADODB.Connection"
)'
建立数据库连接对像
DBpath=App.Path&
"
\"
&
data.mdb"
'
设置数据的路径
conn.Open"
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
DBpath'
打开数据库连接
Setrs=CreateObject("
ADODB.Recordset"
设置数据库对像
EndSub
上面的一段代码就是连接数据库的。
上用到了三个变量conn,Dbpath,rs。
其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。
声明公用变量的方法如下:
Publicconn
Publicrs
上面就是声明为公用变量,上面的声明一定要放在模块的最上面。
如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。
4.2表的详细结构说明
各数据库表间关系统:
基本信息表Types:
用来保存收入类型信息和支出类型信息;
基本信息表Types结构为:
日常往来帐表的详细结构:
银行信息表Banks:
用来保存银行信息
银行帐户表的详细结构为:
银行交易信息表BankOper:
用来保存银行交易信息;
银行交易信息表BankOper的详细结构为:
银行交易信息为:
家庭成员信息表Members:
用来保存家庭成员信息;
家庭成员信息表Members结构为:
家庭成员信息为:
日常收支信息表InOutList:
用来保存日常收支信息;
日常收支信息表InOutList结构为:
日常收支信息为:
用户信息表Users:
用来保存系统用户信息;
用户信息表Users的详细结构为:
系统用户信息
第五章详细设计
5.1系统登录模块的设计与实现
1.流程图
2.界面:
界面包括的控件有标签、文本框、命令按钮等控件。
3.实现过程:
第一步将所需的控件放到窗体的相应位置;
方法:
首先在“工具箱”中选中所需的控件图标,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到窗体上。
如下图:
第二步,选择窗体或控件进行属性设置,如图为窗体的属性设置界面:
第三步双击相应的控件,在控件的相应过程中编写代码:
如此窗体上“进入”与“退出”按钮的代码如下:
5.2主界面的设计与实现
主界面是用菜单形式表现的,如图:
菜单的制作过程如下:
首先通过“工具”菜单中的“菜单编辑器”调出菜单编辑器,然后进行菜单的设置,如下图:
调节菜单的级别
此过程中要注意各菜单的名称唯一,另外还要注意菜单的级别。
最后设置