计算机科学与技术 家庭理财管理信息系统本科学位论文.docx
- 文档编号:23052182
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:31
- 大小:412.36KB
计算机科学与技术 家庭理财管理信息系统本科学位论文.docx
《计算机科学与技术 家庭理财管理信息系统本科学位论文.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术 家庭理财管理信息系统本科学位论文.docx(31页珍藏版)》请在冰豆网上搜索。
计算机科学与技术家庭理财管理信息系统本科学位论文
家庭理财管理信息系统
计算机科学与技术学院
2010年05月5日
目录
摘要3
Abstract4
前言5
第1章VB数据库开发基础6
1.1数据访问对象模型6
1.2ODBC6
1.3创建数据源7
1.4ADODate数据库8
1.4.1ADOData控件的属性9
1.4.2ADOData控件的方法9
1.4.3ADOData控件的事件9
1.5DataCombo控件10
1.5.1DataCombo控件的属性10
1.5.2DataCombo控件的方法11
1.5.3ataCombo控件的事件11
第2章数据库的设计12
2.1概述12
2.1.1系统功能12
2.1.2设计技巧12
2.2系统结构12
2.3数据表的设计13
2.3.1用户及家庭成员信息表的建立16
第3章家庭管理系统17
3.1系统实现17
3.1.1公共模块18
3.1.2登陆界面18
3.1.3窗体19
3.1.4定期存款20
3.1.5日常收支20
3.1.6查询21
3.1.7活期存取22
3.1.8借还帐户23
3.1.9银行储蓄24
3.1.10分析24
第4章模块与表功能的实现25
4.1操作查询的实现25
4.2数据的输入与导入25
第5章菜单设计与访问VB数据库27
5.1概述27
5.2菜单创建28
5.3工具栏的创建28
5.4论述VB数据库30
5.5用数据库控件访问数据库30
总结32
参考文献33
致谢34
摘要
家庭理财管理是家庭管理的一个重要内容。
随着家庭人员收入数量的增加,家庭人员的工资管理工作也变得越来越复杂。
工资管理既涉及到家庭成员开销及帐户管理,同时也是家庭财务管理的重要组成部分。
工资管理需要和家庭成员相联系,同时也统计每年的开支和收入等来生成家庭内每个人员的基本工资、津贴、医疗保险、保险费、实际发放工资及银行贷款和存储等。
资金是组成家庭活动来源和生活保障的主要元素,资金的流动影响到人们生活质量的运作,家庭成员的工资是家庭资金管理的一个重要的组成部分,方便进一步对自己和家人的了解,提高生活水平、改善生活质量。
家庭工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用VB6.0,后台数据库采用Access数据库。
VB6.0是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。
Access数据库具有与VB无缝连接、操作简单、易于使用的优点。
运行结果表明,本家庭工资管理系统极大提高了工作效率,节省了人力和物力,最终满足家庭财务管理、家庭成员的需要,同时也成为现代化家庭管理的标志。
关键词:
工资管理、信息管理、数据查询、数据库、VB6.0
作者:
殷海鸥
指导老师:
樊光辉
Abstract
FamilyEnterprise'swagesmanagementisafamilymanagementimportantcontent.Thefamilymanagementalreadyinvolvestotheenterpriseworkhumanmanagement.Thefamilymanagementneedstorelatewiththepersonnelmanagement,atthesametimeconnectsman-hourofcheckingattendanceandmedicalinsuranceandsoon,producestheenterpriseeachstaff'sbasepay,theallowance,themedicalinsurance,actualprovidesthewagesandsoon.Thefundistheenterprisesurvivalprincipalelement;theearlywagesmanagementadoptsthematerialandhasthestrongtimelimit.Basedontheabovereason,theenterprisewagesmanagementsystemmanagementsystemusecomputersafelypreserves,therapidcalculation,thecomprehensivestatistics,therealizationwagesmanagementsystematization,thestandardization,theautomation.
Theenterprisewagesmanagementsystemmanagementsystemisthetypicalinformationmanagementsystem(MIS),Themovementresultprovedthat,thisenterprisewagesmanagementsystemmanagementsystemenormouslyenhancedtheworkingefficiency,finallymeetstheneedswhichtheenterprisefinancialcontrol,thestaffwagesprovides,atthesametimealsobecomesthesymbolwhichthemodernizedenterprisemanages.
Keywords:
Familymanagementinformationmanagement;datainquiry;database;VB6.0
WrittenbyYinHaiOu
SupervisedbyFanGuangHui
前言
VisualBasic是Microsoft公司的重点产品,它具有其它数据库开发工具无法比拟的优势,而且简单易学。
本论文是以实例方式讨论VB开发数据库运行软件的思想和方法。
第一章介绍VB开发基础;第二章介绍家庭理财管理信息表的建立;其中包括用户信息表、家庭成员信息表、收入信息表、支出信息表、活期帐户信息表、活期存取信息表、定期存款信息表、借入借出信息表。
第三章介绍家庭理财管理模块的创建;包括系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理、理财分析等六个模块的设计。
第四章介绍模块与表功能的实现;包括后台具备数据输入、批量数据导入、修改、删除、查询、权限设置与管理等功能。
第五章介绍菜单的设计以及数据库与VB的链接技术及运用。
本论文中对家庭理财管理信息系统的创建工具技巧如下:
Ø公共模块的设计
ØACCESS数据库设计方法
ØVB菜单设计方法
ØADO控件设计方法
ØDataGrid控件设计方法
Ø统一的数据编辑方法
ØVB报表设计方法
Ø图像数据的存储方法
Ø事件编辑技术
第1章VB数据库开发基础
VB提供了功能强大的数据库管理功能,能够方便、灵活地完成数据库应用中涉及的查询、修改数据库以及打印等各种操作。
本章主要介绍以access为平台的VB数据库系统开发相关知识,为后面几章的数据库应用系统设计打下基础。
1.1数据访问对象模型
ODBC数据库是开放式数据库,包括ODBC标准的客户/服务器数据库,如MicrosoftServer、Oracle、Sybase等,VB可以使用支持ODBC标准的数据库。
1.2ODBC
●ODBC是开放式数据库链接,它能提供访问数据库的单一接口。
●ODBC使客户应用程序的开发可以独立于后端服务器。
●ODBC由如图1.1几部分组成。
图1.1ODBC的组成
1.3创建数据源
在建立好数据源并在当前服务器上安装相应的ODBC驱动程序,就可以建立应用程序需要的数据源了。
创建一个ODBC数据源:
1.在控制面板中,建立数据源界面。
2.双击“ODBCDateSource”进入ODBC数据源管理器。
图1.2ODBC数据源管理器
图1.3创建新数据源
图1.4创建Access数据源
1.4ADODate数据库
ADODate控件它与VB固有的Date控件相似。
使用ADODate控件,可以利用ADO快速建立数据绑定控件和数据提供者之间的连接。
设置ADO数据控件的连接字符串(ConnectionString)属性来创建到数据源的连接。
这个属性给出了将要访问的数据库的位置和类型。
在ADO数据控件的属性窗口中单击ConnectionString属性旁的浏览按钮就可以设置这个属性。
Ø使用数据连接文件
这个选项指定一个连接到数据源的自定义的连接字符串,单击旁边的“浏览”按钮可以选择一个连接文件。
Ø使用ODBC数据源名称
这个选项允许使用一个系统定义好的数据源名称(DSN)来作为连接字符串。
可以在组合框中的数据源列表中进行选择,使用旁边的“添加”按钮可以添加或修改DSN。
Ø使用连接字符串
这个选项定义一个到数据源的连接字符串。
单击“生成”按钮弹出“数据连接属性”对话框,在这个对话框中可以指定提供者的名称、连接以及其它的要求信息。
单击浏览按钮调出属性页窗口,设置连接字符串属性。
ADODate控件的功能:
✧连接本地数据库。
✧打开指定的数据库表,或定义基于SQL查询,存储过程数据库表中的视图记录集合。
✧添加新记录或显示在绑定的控件中数据库来更新数据库。
1.4.1ADOData控件的属性
ADOData控件的属性如下:
✓Align属性
✓BOFAction和EOFAction属性
✓ConnectionString属性
✓RecordSource属性
1.4.2ADOData控件的方法
方法UpdateControls方法(ADO数据控件),Refresh方法,SetFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法。
事件EndOfRecordSet(ConnectionEvent)方法(ADO),FetchComplet(RecordsetEvent)方法(ADO),FetchProgress(RecordsetEvent)方法(ADO),WillChangeField和FieldChangeComplete(ConnectionEvent)方法(ADO),WillChangeRecord和RecordChangeComplete(ConnectionEvent)方法(ADO),WillMove和MoveComplete(ConnectionEvent)方法(ADO)。
1.4.3ADOData控件的事件
ADOData控件的事件:
✧WillMove和MoveComplete事件
✧WillChangeField和FieldChangeComplete事件
✧WillChangeRecord和RecordChangeComplete事件
1.5DataCombo控件
DataCombo控件是以一个下拉列表框的形式提供给用户。
它可以和一个具体的数据库中的表、表中的某些项或一段SQL语句相联系,从而在下拉列表框中显示出具体的数据。
Windows窗体ComboBox控件用于在下拉组合框中显示数据。
默认情况下,ComboBox控件分两个部分显示:
顶部是一个允许用户键入列表项的文本框。
第二部分是一个列表框,它显示一个项列表,用户可从中选择一项。
有关组合框的其他样式的更多信息,请参见何时使用Windows窗体ComboBox而非ListBox。
SelectedIndex属性返回一个整数值,该值与选择的列表项相对应。
通过在代码中更改SelectedIndex值,可以编程方式更改选择项;列表中的相应项将出现在组合框的文本框部分。
如果未选择任何项,则SelectedIndex值为-1。
如果选择列表中的第一项,则SelectedIndex值为0。
SelectedItem属性与SelectedIndex类似,但它返回项本身,通常是一个字符串值。
Count属性反映列表的项数,由于SelectedIndex是从零开始的,所以Count属性的值通常比SelectedIndex的最大可能值大一。
若要在ComboBox控件中添加或删除项,请使用Add、Insert、Clear或Remove方法。
或者,可以在设计器中使用Items属性向列表添加项。
1.5.1DataCombo控件的属性
DataCombo控件的属性如下:
◆DateSource属性
◆DateField属性
◆RowSource属性
◆ListField属性
其操作步骤如下:
1)在家庭理财管理信息系统中添加一个窗体Form1.
2)在该窗体中添加一个ADO控件Adodc1,其属性设置如下:
ConnectionString=”Stud”
RecordSource=”Select*fromstudent”
UserName=”sa”
DTPicker1.Value=MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row,1)
Combo1.Text=MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row,2)
1.5.2DataCombo控件的方法
DataCombo控件的常用方法为Refresh方法,该方法用于刷新DataCombo控件的数据源。
ComboBox控件使用dataProvider定义下拉列表的值。
dataProvider的类型可以是Array、XML或者是ICollectionView。
这里monthCombo的dataProvider是一个包含十二个月份的Array。
我们看到,monthCombo的TextInput区域和下拉列表中都显示的是Array中每个Object的label字段的值。
1.5.3ataCombo控件的事件
DataCombo控件的事件如下:
1)LostFocus事件
2)Click事件
第2章数据库的设计
2.1概述
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
这篇专题主要针对数据库的设计原则与开发技巧进行了扼要的总结。
2.1.1系统功能
系统功能如下:
1)家庭成员可以根据帐户信息来进行取款记录
2)对定期存储、取款、日常收支等功能进行理财分析并用图标表示
3)对家庭工资还可以进行定期查询、删除、更新等操作功能
2.1.2设计技巧
设计技巧如下:
1)公共模块
2)VB菜单设计方法
3)统一的数据编辑设计方法
4)图像数据的存取方法
5)事件编程技术
6)数据库基础知识
2.2系统结构
本系统对应的工程,它包含的所有文件及结构如下:
图2.1系统结构组成
图2.2家庭理财管理系统.vbp工程
2.3数据表的设计
数据库表设计原则:
1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。
2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。
对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。
并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。
3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:
一个表中的所有非关键字属性都依赖于整个关键字。
关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。
在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。
4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:
一个表应满足第二范式,且属性间不存在传递依赖。
5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。
6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。
这时,应根据反向工程的思路反馈给领域模型。
如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。
第四范式:
一个表如果满足BCNF,不应存在多值依赖。
7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。
并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。
当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。
这是一个折中的方案。
8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。
虽然建立索引会消耗部分系统资源,但比较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。
9)尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部署、以及数据库的迁移都会带来很大的影响。
但不可否认,存储过程具有性能上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要的质量属性时,可经过平衡考虑选用存储过程。
10)当处理表间的关联约束所付出的代价(常常是使用性上的代价)超过了保证不会出现修改、删除、更改异常所付出的代价,并且数据冗余也不是主要的问题时,表设计可以不符合四个范式。
四个范式确保了不会出现异常,但也可能由此导致过于纯洁的设计,使得表结构难于使用,所以在设计时需要进行综合判断,但首先确保符合四个范式,然后再进行精化修正是刚刚进入数据库设计领域时可以采用的最好办法。
11)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。
12)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能。
在系统中设计了数据库KSD,其中包含如下数据表:
例如:
活期存取表,包括账号、日期、姓名等。
图2.3活期存取表
2.3.1用户及家庭成员信息表的建立
利用Access基础知识,对表建立,例如:
数据类型、字段名称。
图2.4家庭成员表的建立
第3章家庭管理系统
3.1系统实现
本章介绍家庭管理系统组成部分的实现方法。
对于窗体、给出执行功能、设计界面、主要对象和方法。
以及公共模块和系统的最终运行。
本工程中引用了一些ActiveX控件等,在设计时选择“工程”菜单中“引用”选项,从引用列表中选择如下选项:
图3.1引用——家庭管理信息系统.vbp工程
再选择“工程”菜单中的“部件”选项,从控件列表中选中如下选项:
图3.2部件
若找不到,则单击“浏览”按钮,出现“添加ActiveX控件”对话框,选择Windows\System文件夹中的MsComctl.ocx文件即可。
3.1.1公共模块
本工程中包含一个公共模块即Module1.Bas模块,其中包含一些全局变量和过程(被本工程中的一些窗体所调用),代码如下:
PublicStr_pathasString
PublicCnameAsString'登陆时传用户名
PublicCdate1AsString'传日期(收入情况列表)
PublicCdate2AsString'传日期
PublicAAAsBoolean'判断是否选择月份
PublicFunctionexesql(ByValsqlAsString)AsADODB.Recordset’用于执行用户给定的SELECT语句,返回对应的记录集:
DimStokens()AsString'数组'
OnErrorGoToexecutesql_error
Stokens=Split(Sql)'将sql语句按关键字保存在数组中
SetCnn=NewADODB.Connection
Cnn.OpenConnectstring
IfInStr("INSERT,DELETE,UPDATE",UCase$(Stokens(0)))Then
Cnn.ExecuteSql
Msgstring=Stokens(0)&"查询成功"
Else
SetRst=NewADODB.Recordset
Rst.OpenTrim$(Sql),Cnn,adOpenKeyset,adLockOptimistic'重服务器中提取符合要求的记录集
SetExeCutesql=Rst
Msgstring="查询到"&Rst.RecordCount&"条记录"
EndIf
executesql_exit:
SetRst=Nothing'释放记录集
SetCnn=Nothing'释放连接语句
ExitFunction
executesql_error:
Msgstring="查询错误:
"&Err.Desc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学与技术 家庭理财管理信息系统本科学位论文 计算机科学 技术 家庭理财 管理信息系统 本科 学位 论文