基于.NET的个人财务管理系统设计与实现

上传人:沈*** 文档编号:98429831 上传时间:2022-05-29 格式:DOC 页数:36 大小:351.46KB
收藏 版权申诉 举报 下载
基于.NET的个人财务管理系统设计与实现_第1页
第1页 / 共36页
基于.NET的个人财务管理系统设计与实现_第2页
第2页 / 共36页
基于.NET的个人财务管理系统设计与实现_第3页
第3页 / 共36页
资源描述:

《基于.NET的个人财务管理系统设计与实现》由会员分享,可在线阅读,更多相关《基于.NET的个人财务管理系统设计与实现(36页珍藏版)》请在装配图网上搜索。

1、 本 科 生 毕 业 论 文(设计)题 目:基于.NET的个人财务管理系统设计与实现院 系: 信息科学与技术学院专 业: 计算机科学与技术学生姓名: 学 号: 指导教师: (副教授) (职 称) 二九年四月摘 要个人财务管理系统就是管理信息系统MIS(Management Information System)中的一种, 它是一个计算机软硬件资源以及数据库的人-机交互系统. 随着社会科技的不断进步, 计算机技术的飞速发展, 在社会各领域都已经离不开信息系统的支持. 经济蓬勃发展, 物价日益增长, 人们的理财观念越来越深, 但由于财务的各种数据不同, 工作人员对业务的查询, 修改, 计算等繁杂数

2、据的管理已不适应现代化发展的需要, 为实现数据规范化, 自动化的管理, 提高工作效率, 更好地实现现代化管理, 开发财务管理系统是唯一的解决方法. 本系统针对个人用户设计, 是一个单用户系统, 它提供各全方位的财务数据统计, 数据查询, 方便个人理财, 做出正确的财务决策. 系统使用 Visual Studio.NET作为开发工具, 以ADO.NET 技术连接数据库, 进行对数据资料存取的操作. 并按照软件工程规范步骤开发系统. 本文将逐一介绍系统的开发过程.本系统界面友好, 操作简单, 比较实用.关键词:管理信息系统 ; 财务管理 ; ADO.NET AbstractPersonal Fin

3、ancial Management System is a kind of Management Information System. It is a human machine interaction system with computer software, hardware and database. Because of the progress with science and technology, computer techniques develop rapidly. Nowadays, all areas of society have been inseparable

4、from the support of information systems.Developed economy causes prices increasing and it makes human has more and more finance sense. However, there are many different kinds of data with finance. Staff of business inquiries, changes to the calculation of the management of complex data is no longer

5、suited to the needs of modernization. In order to achieve data standardization, and automation of management, improved efficiency and better realization of modern management, the development of financial management system is the only solution. For individual users of the system design, is a single-u

6、ser systems, it provides the full range of financial data statistics, data query to facilitate personal financial management, make the right financial decision-making.System development tools as Visual Studio.NET, ADO.NET technology to connect to databases, to carry out data access operation. And in

7、 accordance with the norms of the steps of software engineering develop the system. This article will go through the process of system development.The system is user-friendly, simple operation, more practical.Keywords: Management Information System; Finance Management; ADO.NET目录内容第一章前言11.1 课题背景11.2

8、国内外研究现状11.3 研究意义11.4 研究方法2第二章系统需求分析22.1 理解需求22.2 分析需求32.3 需求分析说明32.4 性能需求3第三章系统分析与设计43.1管理信息系统(MIS)43.1.1定义43.1.2 特性43.1.3 开发策略43.2 系统体系结构设计53.3 系统功能设计53.3.1 纪录功能设计53.3.2 检视功能设计63.3.3 设定功能设计63.4 系统建模63.4.1 UML63.4.2 用况建模73.4.3 系统功能实现类图:73.4.3.1 记帐的功能类图73.4.3.2 检视的功能类图83.4.3.3 其它设定功能类图83.5 数据库设计93.5.

9、1 系统E-R 图93.5.2 数据表字段分析103.5.3 数据库的实现113.6 系统开发平台及运行环境113.6.1 .NET平台113.6.2 C#语言123.6.3 ADO.NET123.6.4 系统运行环境133.6.4.1 硬件环境133.6.4.2 软件环境143.6.4.2.1 数据库软件143.6.4.2.2 操作系统14第四章系统的开发与实现144.1 登陆系统144.2 系统主界面154.3 记录功能164.3.1 日常开销收入164.3.2 固有财产174.3.3 股票174.4 检视记帐表184.4.1 每日明细184.4.2 损益表184.4.3 查看某类型财务活

10、动194.5 资产负债表194.6 检视固有资产204.7 检视负债项204.8 检视股票204.9 类型设定214.10 财务工作21第五章总结与展望22参考文献24致谢25第一章 前言1.1 课题背景在日常生活中, 凡是一个精明的人都会关注自己的收支和开销, 希望藉此制定一个适合自己的理财计划, 以达到合理的经济统筹. 有理财习惯的人往往能从自身的财政统计中发现自己主要的消费方向. 各类型的消费额度是否合理. 按照这些资料整理制定出个人的经济计划方案, 避免自己陷入经济危机, 出现入不敷支的局面. 此外还可增长自己的经济才能, 这对个人财富的积累, 理性的投资有极大的帮助.1.2 国内外研

11、究现状根据一些相关资料显示, 一些较为发达的国家居民有很强的理财意识, 他们对生活的日常开销, 投资等的财政分配都有很严格的计划. 因此在国外有很多各种各类的理财系统, 而且使用性亦较普遍. 内容亦比较完善. 相比之下, 国内的财务系统主要针对公司办公室的应用, 大多都是办公财务软件, 因为理财观念在我国社会不是很流行的关系, 导致个人理财和家庭理财的应用软件都比较少, 但随着国家开放政策的实施, 与强国同步接轨的同时, 亦将理财意识引入到国民中, 人们意识到理财的重要性, 因此需要开发与此相关类型的系统软件.1.3 研究意义对于个人理财的统计,若果采用传统方式的笔录记帐方法, 容易因长时间的

12、记帐, 积累过多的纪录而需要大量的帐簿和纪录册, 以致不便于保管, 而且容易丢失数据, 此外, 还会因数据过多而增加翻查纪录的困难度. 对各项的数据统计需要花费大量的时间和工序. 因此, 利用计算机开发一个功能完善的理财管理系统来代替传统手工统计是非常必需的.1.4 研究方法本文所介绍的, 是一个基于三层结构的个人理财系统, 以设计出来的软件系统, 通过数据库的连接和访问, 进行相关数据的统计和查询, 此外, 还可以通过相应的计算功能, 完成一些经济方面的实用计算. 系统的特点是通过系统的数据录入, 可以将数据保存在相应的数据库里面, 而数据库的设计能使纪录的数据更加有效, 合理. 对数据统计

13、有完善的设计, 考虑各种输入错误的情况, 作出合理的处理, 并通过讯息提示用户输入完整和合理的数据. 以便于查找, 统计. 在纪录中有计算统计和分析的功能, 可避免用户手动计算出错. 通过密码给用户进行登陆, 修改的相关功能, 能有效保护用户数据的安全性. 第二章 系统需求分析系统的需求分析在整个软件开发过程中占了一个极重要的地位, 随着软件系统规模的扩大, 它与定义在整个软件开发与维护过程中越来越重要, 直接关系到软件的成功与否. 需求分析整个阶段主要是找出系统在功能, 行为, 性能, 设计等各方面的期望, 评估系统将来可能达到的目标.2.1 理解需求作为一个个人财务管理系统, 必定要能够为

14、用户对理财分析计划提供最根本, 最有用的资讯, 用户能够凭借这些资讯有效地帮助自己进行理财策划, 所以, 系统需具有日记帐, 总帐, 资产负债表, 损益表等统计资讯. 除此之外, 由于财产的多样化, 如股票, 债券, 基金等, 这些都属个人资产方面, 所以这亦应纳入个人财务的范畴中.人们生活的琐碎事务繁多, 偶尔会忘记一些账单, 如水电费, 信用卡还款等等的交易, 往往等到过期了才回想起来, 引来了很多不必要的欠款支出. 若果有一个个人助理, 用于提醒人们这种交易活动, 必定能减少这部分额外的支出2.2 分析需求分析需求是所有信息管理系统开发的第一步,同时也是最重要的一步,它的质量直接决定着系

15、统开发的成败。理解需求是在所要解决问题与最终解决此问题的系统方案之间的一座桥梁。我们只有充分理解了需求之后,才可以明确问题所在并开始设计系统,否则如果需求定义如果有任何改进,都将导致后期设计上的大量返工,大大地降低了工作效率,也增加了系统的开发成本通过分析, 可以确定财务管理系统可分为主要的三个功能: 对各种财务的录入;整合各种财务资讯的输出;各种相关输入的设定;2.3 需求分析说明通过理解需求和分析需求, 经过有关的调查研究之后, 便可以确定用户的需求, 并编写出最终的需求说明文档, 系统中比较关键的需求说明如下: 登陆: 用户通过密码进入系统, 这功能是必须的, 凭借密码登入系统, 能防止

16、非用户轻易查看修改数据, 保障用户的财务资料;记帐: 用户可对日常生活的各种开销进行纪录, 如收支, 财产等, 输入的资料不应过于复杂, 且操作要简单, 以便快捷纪录生活中各项事项.检视: 用户凭已纪录的账务中, 根据各种不同的需要, 通过相应的功能服务检视各种不同类型的统计数据, 以便作出财务分析;设定: 用户在此可作出各种系统设定的更改, 如密码, 类型, 财务工作设定等;2.4 性能需求开发财务管理系统是为了方便用户在对自己进行财务管理规划上减少统计所需的工作量, 所以应提高信息查询和管理效率以达到这一性能目标. 在总体设计上, 系统上各个功能应尽量满足这个目标服务. 而界面亦应能突出重

17、点, 给用户提供一个简洁明晰的界面.若果财务系统的数据管理工作组织得不好, 就会变得复杂, 系统模块划分变得不明确, 用户难以明确地使用正确的模块来工作, 同时如果系统中存在不合理的因素, 在运行时报错后, 要找出其错误也比较困难. 因此, 对于个人财务管理来说, 除了要求它能提供正确功能的同时, 还应具备易使用性及可维护性.任何信息管理系统, 都要求系统能够具备一定的安全性, 能够保证数据被合法合理地使用, 同时, 对于用户的合法请求,都应该能够得到满足, 具有一定的可靠性. 财务管理系统是一个现代化的管理系统, 需要能够随着社会经济变革而不断改进. 因此, 系统必须有良好的可扩展性, 方便

18、日后能够根据需要, 更好地扩展系统的功能.第三章 系统分析与设计3.1管理信息系统(MIS)3.1.1定义管理信息系统(Management Information System), 是一个由人, 计算机及其他外围设备等组成的能进行信息的收集, 传递, 储存, 加工, 维护和使用的系统. 它是一门新兴的科学, 其主要任务是最大限度利用现代计算机及网络通讯技术加强企业的信息管理.3.1.2 特性一个完善的管理信息系统应具有以下四个标准: 明确的信息需求, 信息的可采集与可加工, 可以通过程序为管理人员提供信息, 可以对信息进行管理. 具有统一规划的数据库是MIS成熟的重要标志, 它象征着MIS是

19、软件工程的产物.3.1.3 开发策略开发过程中通常结合自上而下和自下而上两种开发方法. 自上而下是由管理的整体进行设计, 从抽象到具体, 从概要设计到详细设计, 逐步求精, 体现结构化的思想; 自下而上则是设计系统的构件, 采用结合的方式把系统堆建出来. 3.2 系统体系结构设计软件体系结构关注系统的一个或多个结构, 包括软件部件, 部件的对外可见的质以及它们之间的关系. 而事实上, 软件必定有体系结构的, 不存在没有体系结构的软件. 本财务管理系统的体系结构设计以三层体系的结构模式为基础开展. 三层体系结构包含: 处理用户接口和用户请求的表示层, 处理系统业务代码的服务层; 处理关系型数据库

20、和其他后端数据资源的数据层3.表示层即是本系统中的用户界面, 用户通过对该层的操作来调用服务层中相应的模块来完成所需要的操作.服务层是本管理系统的核心, 负责处理用户的请求任务, 包括接受用户的请求, 并对相应的请求正确地访问数据库, 再将结果返回给用户.数据层主要用操作数据库完成数据的更新功能, 定处理服务层的请求并真正操作数据库的内容.3.3 系统功能设计根据需求分析出来的结果, 系统的基本需求己经清晰明了, 根据各个逻辑功能分块, 按照结构化程序设计的思想, 分别对各个子模块进行设计.3.3.1 纪录功能设计根据个人日常生活所能涉及的财务分析, 可以将个人财务分为四大类: 日常生活的收支

21、, 个人固有财产; 金融投资; 负债. 由于负债成因主要是来源于在固有财产上的开销, 所以可将这两项归结在一起, 经过分析后, 纪录功能就可以分成对日常收支的录入, 固有财产的录入, 和金融投资上的录入.3.3.2 检视功能设计用户可根据各种情况检视所记录的账务, 如某日的收支明细, 某时期的各种开销统计, 某段时期的某类型的总值等. 这些统计数据对财务规划都是有很大的帮助.对于固有财产, 除了查看它的资讯外, 还可以手动调整它的价值. 毕竟固有财产会随时间流逝而改变其价值. 此外, 应具备有变卖固有财产的功能, 作为对财产删除的一种方法.负债表的检视功能设计, 除了查看负债项目外, 还可对各

22、负债进行还款的功能.金融投资的功能, 由于有太多不同类型的投资方法, 计算方法亦各有不同, 由于受时间限制, 本文只实现了股票买卖的功能.3.3.3 设定功能设计此功能包括密码的更改, 记帐的类型设置, 如增加,删除等. 还有对财务工作的录入, 只需输入事务的各种资料, 就可完成一个简单的事务提醒功能.3.4 系统建模为了能够有效地开发个人财务管理系统, 首先对系统以UML进行建模, 然后根据建模结果行更详细的系统设计.3.4.1 UMLUML(Unified Modeling Language: 统一塑模语言)是一套用来架构软件蓝图的标准模型语言, 也是一种视觉化的物件导向模型分析语言(Mo

23、deling Language), 以系统工程的角度来看, UML可说是一种软件架构的分析工具, 因此也可以说UML(统一塑模语言)是一种从软件分析, 设计到撰写程式规范的标准化模型语言(Modeling Language)8.3.4.2 用况建模用况建模是用于描述一个系统应该做什么的建模技术, 通过开发者和用户之间为导出需求规约而进行的交互过程来建立用况模型.它指明了系统的功能, 描述了系统能如何使用. 本系统的总用况图如图3-1所示 登入记帐帐务统计更改密码类型设置财务工作设定用户数据系统图3-1: 系统用况图图中, 用户作为主动执行者, 数据系统则是被动执行者. 把一些相关, 类似的功能

24、归纳为一个抽象的用例. 后面再逐步求精分析各个用例设计. 3.4.3 系统功能实现类图:系统的功能实现类图, 按照系统的总功能分类, 分成以下三个部分;MainFormDailyDetailFormRecordFormPLStateFormPeriodTypeFormRecordControllerViewController图3-2: 记帐功能类图3.4.3.1 记帐的功能类图 如图3-2 所示, 功能界面RecordForm主要用于显示用户需要输入的记帐的内容, 通过控制类RecordController把数据写入到数据库; RecourdController的方法有dailyRec, p

25、ropertyRec, stockRec, oweRec, 分别是对流水帐, 固有财产, 股票, 负债的录入. PeriodTypeForm, DailyDetailForm, PLStateForm是三种不同查阅流水帐方式的界面, 通过控制类ViewController对数据库进行访问.SheetControllerAssetDetailFormOweDetailFormStockDetailFormSheetFormMainFormAssetViewControllerOweViewControllerStockViewController图3-3: 检视功能类图3.4.3.2 检视的功能

26、类图如图3-3所示, SheetForm界面反映用户的资产负债表, StockDetailForm, OweDetailForm, AssetDetailForm 分别是检视用户的股票, 负债, 固有财产的界面, 它们各自由一个控制类负责完成所有相关功能的操作.SheetController类实现计算所有财务的总值. 如流动现金, 股票, 负债等. StockViewController类负责检视股票和卖出股票的实际操作. OweViewController类负责检视负责, 还款和删除债项的操作; AssetViewController类则包含检视, 更改财产价值, 变卖的操作方法.3.4.3

27、.3 其它设定功能类图PasswordSetFormTypeSetFormWorkSetFormMainFormEventSetControllerTypeSetControllerLoginController图3-4: 其它设定功能类图如图3-4所示, 每个功能的设计结构也是由一个界面类对应一个控制类组合而成, 其中TypeSetController类包含对类型的插入和删除, EventSetController类包括对事务的插入, 删除等实际操作, LoginController类用于对密码的检测和更改操作.3.5 数据库设计一个成功的管理系统, 数据库设计的好坏是一个关键. 它是应用中

28、最重要的一部分. 在此可将数据库分析分成两个部分, 一是概念模型分析, 即系统的E-R图分析, 二是逻辑模型分析, 即具体的表和字段的设计.3.5.1 系统E-R 图E-R 方法能够对现实世界的信息结构进行描述, 其使用的工具称作E-R图, 它所描述的现实世界的信息结构称为企业模式(Enterprise Schema), 也把这种描述结果称为E-R模型或概念模型5.根据之前的用例图和需求分析, 可以确定系统中各个主要实体和它们之间的关系. 经分析后可以知道系统主要实体可分为日常收支(Record), 固有财产(Property), 金融产物(Stock), 负债项(Owe)和财务工作(Even

29、t). 通过对各个实体之间联系分析来设计系统的E-R图, 如图3-2所示图3-2: 系统E-R图3.5.2 数据表字段分析图3-3: 数据表字段对数据表及其各字段的分析是建立在第一阶段对系统E-R图的分析基础上的, 通过上面的E-R图, 可以很快地确定系统所需数据库中的基本表及其字段, 并由此建立数据库模型, 如图3-3所示3.5.3 数据库的实现通过对系统的E-R图和数据表字段的分析, 数据库的模型分析己经非常明晰, 可以针对模型中出现的各种属性建立与之对应的数据表, 以记录对应的实体数据.收支记录表: 用来记录用户每日的各种收支帐务. 只需要记录该帐务的日期, 所属类型, 涉及金额, 备注

30、等基本信息.固有财产表: 记录固有财产的基本信息, 包括置入日期, 财产名称, 金额和备注事项.负债表: 记录用户的各个负债事项, 基本信息包括负债事项的起始日期, 事项的名称, 负债的总金额, 已清还的金额, 备注事项.股票纪录表: 本表除了包含用户购买股票的基本信息, 如购买日期, 股票名称, 购买时的股票价, 卖出股票时的价格, 备注等, 除此之外, 还包括该股票的基本信息, 如该股票的contract size等, 用于计算用户在该股票的损益值.财务工作表: 本表记录用户每个财务工作的基本信息, 包括工作的日期, 工作内容, 涉及的金额, 备注.除了上述所说的表外, 还有类型设定表和用

31、户密码表, 用于记录用户对系统的设定.启动Access的企业管理器, 创建新的数据库, 并命名为Data, 并按照数据库模型中的说明和上面的分析创建实体所对应的基本表, 而各表中字段对应的实际含义在上面已经有详细的说明3.6 系统开发平台及运行环境3.6.1 .NET平台传统上, 在开发程式前, 必须知道该程式是在哪一种环境执行, 才可以针对该平台开发特定的应用程式. 如透过Visual Basic 6.0开发出来的程式, 是无法在UNIX平台上执行的. 因为在不同的机器上, 安装的作业系统可以是不同的. 必须找到支援该平台的程式编译器, 编译出来的行档才可以在该平台上执行. 而.NET平台就

32、是解决以上问题而出现的. 它提供了一个中介语言(Intermediate Language, IL)的规格, 所有支援.NET的程式语言编译器, 只要将程式编译成IL码之后, 就可以在所有的.NET平台上执行, 而任何的作业系统, 只要安装了支援的.NET Framework之后, 就可以变成.NET平台. 而Visual Studio.NET是微软的开发环境, 它并入了很多.NET Framework特有的功能, 可以在Windows NT4, Windows 2000, Windows XP及Windows.NET Server Family Servers 执行, 而且也可以在Windo

33、ws未来的版本执行7.3.6.2 C#语言C#编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言, 它可以使程序员移植到.NET上. 这种移植对于广大的程序员来说是比较容易的,因为C#从C, C+和Java发展而来,它采用了这三种语言最优秀的特点, 同时简化了C+语言在类, 指针, 命名空间, 多重继承, 方法重载以及异常处理等方面的操作, 并加入了它自己的特性, 具有Visual Basic 的易学, 易用的特点4. C#是事件的驱动的,完全面向对象的可视化编程语言, 而它将会成为用于编写NGWS(微软下一代W

34、indows服务运行引擎, Next Generation Windows Services Runtime)应用程序的首选语言.3.6.3 ADO.NETADO.NET是一个新的资料存取架构, 是根据UDA(Universal Data Access)架构发展出来, 我们在.NET平台中, 只要学会了ADO.NET之后, 可以在.NET的程式之中, 透过ADO.NET存取所有资料来源中的资料. 而要让 ADO.NET可以连接到该资料来源, 则资料来源必须提供可以连接到.NET平台的Managed Provider. 所以在.NET平台的UDA架构中, manage provider就变成了程

35、式与资料来源间沟通的桥梁. .NET平台中UDA架构图如图3-4所示资料来源资料来源资料来源ManageProviderADO.NET 物件ManageProviderManageProvider图3-4: .NET平台的UDA架构在ADO.NET中, .NET Data Provider是负责连线到资料来源的物件架构, 若程式中要处理的资料是属于需要即时更新的资料, 就必须透过.NET Data Provider中的物件来处理. 主要物件包括:Connection物件: 负责建立程式与资料来源之间的连结Command物件: 负责针对资料来源执行T-SQL指令DataReader物件: Rea

36、d-Only, Forward-only的Cursor.DataAdapter物件: 负责DataSet物件与资料来源之间对应关的桥梁1.目前.NET平台中针对程式中常用到的资料来源有OLE DB, SQL Server, 它们内建有可以直接使用的.NET Data Provider.本系统采用Access作为资料来源, OLE DB.NET Data Provider名称为Microsoft.Jet.OLEDB.4.0.3.6.4 系统运行环境个人财务管理系统所需要的运行环境可以分成硬件环境、软件环境两大部分.3.6.4.1 硬件环境个人财务管理系统必须根据实际的性能、稳定性、成本以及用户的

37、维护水平进行合理的硬件配置,对本系统的使用,推荐使用CPU为Pentium IV, 内存1G, 硬盘为30G的硬件配置,以便使系统能够稳定流畅地运行。3.6.4.2 软件环境软件配置主要包括数据库软件以及操作系统的选择。软件系统同样也要根据用户对系统的稳定性以及性能的要求进行合理的配置.3.6.4.2.1 数据库软件根据系统所涉及的数据量, 和系统只属单机运行, 由数据库通用性的考量, 故采用一般的数据库系统即可, 本财务管理系统采用Access作为数据库文件3.6.4.2.2 操作系统一般情况下, 虽然系统是基于.NET平台下开发的, 但考虑用户对操作系统的熟悉程度,以及系统尚在试运行的阶段

38、, 故推荐以Window XP/Vista操作系统为佳. 第四章 系统的开发与实现本系统设计是根据软件工程的三层模式概念作为整个系统的架构, 其中表示层以用户界面,加以一些数据转换的操作方法实现, 服务层则用一些操作方法的类文件实现, 包括用户访问数据库的操作类函数. 数据层就是用于保存用户数据的数据库实现. 下文将会详细说明整个系统的开发和实现的方法.4.1 登陆系统对于管理系统来说, 用户要使用系统,都必须通过登陆才能够访问系统, 这是对系统的安全性和保密性的基本要求, 而登陆界面要简洁, 且不提供其它额外的功能.在界面处理方面, 对用户有否在文本框输入密码进行检查, 防止以错误资料访问数

39、据库, 同时, 将在文本框对密码的输入以()回显, 减少用户密码泄露的风险.用户提交后,数据将会传递到Login Controller 中进行登陆数据处理. 在Login Controller中, 操作会在Password表中进行查询, 若所入密码存在数据表中, 则允许用户登陆到主界面. 其流程图如图4-1所示开始输入密码登陆有否输入访问数据库有否存在进入主界面YNYN图4-1: 登入流程图4.2 系统主界面主界面作为用户登陆后所见的第一个界面, 用于连接系统各个功能接口, 让用户透过此界面选择各个功能使用. 此外, 在主界面中显示用户本月的财务工作, 让用户第一时间知道自己的财务时间表.对于

40、财务工作既显示, 首先获取系统当时的年月日时 间, 然后数据传送到Event Set Controller, 在Event Set Controller中, 先检查数据表中有否任何工作已经过时,若过时,则删除那些工作数据, 然后再凭借系统的年月选择出属于该月的所有财务工作, 通过ORDER BY对查询结果进行日期的先后排序6, 然后把内容传递回界面显示. 其主要流程图如图4-2所示:图4-2: 财务工作显示流程图开始获取系统日期过时?删除事务本月事务?显示事务结束YNYN有否事务?读取事务NY4.3 记录功能本系统经分析后对财务归结为四类: 日常开销收入, 固有财产, 股票和负债. 为了简化用

41、户在功能上的选择, 这些功能全实现在同一个对话框上, 由用户在其上选取输入的资料属性.4.3.1 日常开销收入避免用户进行烦赘的输入, 日常记帐只包括帐务日期, 帐务种类和金额, 用户有需要的话可在备注附上该帐务的说明. 提交时系统检查资料是否完全填写. 若资料齐全, 则系统根据帐务种类判断该帐属收入或支出, 若为支出则将金额转为负数, 然后把数据写入到记帐表中.4.3.2 固有财产对于固有财产, 做法跟日常开销收入的功能大同小异, 所需资料包括财产名, 金额, 备注, 当用户提交所有资料, 系统就会把它写入到财产表中. 另外, 财产可分为用现金支付或贷款支付, 若选了现金支付, 则会在记帐表

42、中加上该项的消费资料, 种类为”Property”, 若选了贷款支付, 则在负债表中加入该项资料. 其流程图如图4-3所示.图4-3: 固有财产功能流程图开始输入资料资料齐存?数据有误?现金?贷款?录入负债表录入记帐表录入财产表结束Y现金YN贷款N4.3.3 股票用户在录入股票时需要填入较多的资料, 包括股票名, 合约股数, lot数, 买入时的价格等, 所有资料填入无误后便会把它写入到股票表中, 同时, 系统计算出买此股票所需金额(公式4.1), 然后在记帐表写入该帐务, 种类为”Stock”.资金 = open price* contract size* lots (4.1)4.4 检视记

43、帐表对于收支流水帐纪录的查询, 可以分为三种方式: 每日明细, 某时段的各种收支(即损益表), 某段时期固定类型的开销;4.4.1 每日明细用户可以选择需要查看的日期 提交后, 系统通过View Controller类从数据库的记帐表中选择属于该日期的所有纪录, 用一数组把它们保存, 然后统计出该天的总收入和总支出, 并用浮点变量记录数值, 这些数据通过界面回显给用户.4.4.2 损益表损益表就是反映企业在一定期间经营成果的会计报表, 它反映了企业实现的利润或亏损情况2. 由此, 用户可以选择两个日期, 作为损益表所概括的时段, 提交时系统会比较两个日期, 防止用户访问一个错误的时段. 确定无

44、误后便经View Controller类从数据库的记帐表中选取在这两个时期之中的所有财务活动记录. 把属同一类型的记录合并, 统计出各类型财务活动的总额, 并计算出各类型在总开销中所占的百份比, 这些数据通过界面回显给用户, 供用户参考. 当中主要代码如下: plRecord = new string20, 4; plNum = 0; float inSum = 0, outSum = 0; int check = 0; income = 0; outcome = 0; while (reader.Read() float temp = 0; check = 1; plRecordplNum,

45、 0 = readertype.ToString(); plRecordplNum, 2 = reader1.ToString(); temp = float.Parse(reader1.ToString(); if (temp = 0) inSum = inSum + temp; plRecordplNum,1=In; income = income + temp; else outSum = outSum + temp; plRecordplNum,1=Out; outcome = outcome + temp; plNum+; if (check = 0) MessageBox.Show

46、(No record!); for (int i = 0; i = 0) temp = temp * 100 / inSum; temp1 = temp.ToString(#0.00) + %; else temp = temp * 100 / outSum; temp1 = temp.ToString(#0.00) + %; plRecordi, 3 = temp1; 代码中, 数组plRecord用于保存各个类型的信息, inSum 为此段时期的总收入, outSum为总支出, 根据各个类型的总值判断它属收入或开支, 把它累加到相对应的变量中, 之后计算出每个类型在它们自己的范畴总值中所占

47、的百分比.4.4.3 查看某类型财务活动 此功能需要用户输入三个数据, 包括起始日期, 终止日期和所查阅的种类, 在界面初始化时, 读出在记帐表中出现的类型作为初始化界面数据, 把它们加入到类型select bar 中, 当用户提交数据后, 系统经由ViewController在记帐表中选择在这两个日期间属于所选类型的所有财务活动纪录, 并统计它的总金额, 回显给用户.4.5 资产负债表资产负债表为会计上相当重要的财务报表, 其最大功用可藉由阅读讯速了解自身的经济状况, 并让用户决定因应对策2.本系统的资产负债表由流动资产, 固定资产, 投资, 负债等各项各组成的一张简略表.但足以让用户了解自

48、身的财务状况.每一项的数据均是对数据库表中各个表进行统计所得出来的, 流动资产是记帐表Record Table的总和, 固定资产是固有财产表Property Table的总和, 投资项是股票表Stock Table中各个股票所花费的金额的总和, 负债项则是负债表Owe Table中各项的总和. 用Label 工具反映各项数据值, 防止用户对其进行编辑修改.4.6 检视固有资产透过此功能用户可查看所有的固定财产. 透过Asset View Controller从Property Table读取所有数据, 并用数组保存, 然后加入到listBox显示, 用户点选listBox项时, 根据selec

49、tedIndex的值, 显示出对应数组项的其它数据, 若想更改财产的金额, 先勾选可编辑项, 解除金额textbox的灰化, 输入正确值按更改提交后, 系统到Property Table更新该值. 若变卖该财产, 则会在Property Table中删除该记录, 并在记帐表中加入这项变卖记录, 该种类为Sell Asset, 金额为对话框中金额textbox 所显示的值.4.7 检视负债项用户可凭此功能查看所有的负债项, 初始化步骤和检视固有资产的大致相同. 当在listbox选择了负债项后, 将显示该负债的信息, 包括负债的创建日期, 负债的总额, 以及剩余负债额. 当对此负债进行还款时,

50、只要正确填入还款金额提交后, 系统将会在Owe Table中更新该项的还款额, 并在记帐表加入还款记录, 种类为Repay. 之后系统自动检测, 当还款额等于总额时, 系把在Owe Table表中该项删除.4.8 检视股票用户凭此功能查看所有的投资股票, 同样地, 界面初始化步骤和负债项相同, 当在listbox选了股票后, 将显示该相关信息, 若在当前股价中正确输入股价, 可查看当前股票的损益值, 其公式如4.2 所示, 用户可透过此界面作卖出股票的操作, 当提交后在StockViewController类会将该股票在StockTable中删除, 同时在记帐表RecordTable中插入该股

51、票卖出纪录, 其类型为”Settle Stock”Profit/Loss = (sell price buy price)*contract size* lots(4.2)4.9 类型设定此功能用于设置记帐功能中可供选择的类型. 在此可检视每个类型的属性, In 表示该类型属收入项目, Out则属支出项目, 初始化步骤和检视对话框雷同, 把TypeSetTable表中的所有项添加到listbox中, 当点选类型时会显示它属In /Out, 用户可以删除不必要的类型, 点选要删除的类型, 提交删除事务, TypeSetController便凭类型名把所选的类型从TypeSetTable中删除,

52、然后再一次初始化界面. 用户可通过功能加入需要的类型, 当输入足够正确的资料提交后, 系统先检查该类型是否已存在, 若否则把它插入到TypeSetTable中, 然后再初始化界面.4.10 财务工作此功能让用户按需要加入财务工作, 用予作提醒作用. 在界面中, 用户只需填上事务的名称, 涉及的金额, 起始时间, 持续月数和备注等, 考虑常用性, 如电费, 信用卡还款等, 故间隔时时间以月为单位. 提交时, 系统检测资料是否齐存正确, 然后分析财务工作的日期, 其中若果持续月数大于1时, 系统求出之后每一个月事务的执行日期, 考虑各种临界值的情况, 进行相应的日期转换. 并把事务工作资料写入到E

53、ventTable表中./*对日进行检测, 若果事项在某个月的月底, 则在往后的月份定下工作在各个月的月底.*/private void dayCheck(ref int day, int month, bool check,int temp) if (check) switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; case 2: day = 28; break; e

54、lse if (day = 30 | day=29) & month = 2) day = 28; if (month = 3) day = temp; 上面的参数check 是代表日期是否31号, 当check值为true时, 表示该财务工作是在月底进行, 故在下个月同样的事务的day值会设成在该月的月底. 而当check值为false时, 仅需要考虑二月的情况, 反之, day的值则不需要作变动. 由于在函数中,要根据check 和month的值来修改day的值, 同时把修改反映到实际参数值上, 所以对day作引用类型参数.第五章 总结与展望在这几个月系统开发的过程中, 见证着一个空无一物

55、, 只有概念的思想, 逐步逐步的, 慢慢的演变成一个系统的诞生.开发过程的最初部分, 通过阅读大量文献资料, 了解认识该领域上的相关知识, 为系统所能实现的功能有一个基础明确的概念. 根据软件工程的思想, 进行详细的系统需分析, 比较各种可行性设计方案的优劣, 并结合自身的开发条件, 选择出最能从根本上满足用户需求的功能.用户可凭此系统作个人范畴内的各种财务管理, 从个人生活上的流水帐, 包括日常的开销, 各方面的消费, 个人收入等, 这是一般财务管理系统必备的功能, 而系统通过简单的操作实现流水帐的纪录. 简化了大量繁复的动作, 纵观网络上各种财务管理软件, 有一部分都是华而不实, 或是需要

56、付费才可使用, 相比之下, 本系统虽然简单, 但功能却是满足人们所需, 从财产物品, 股票, 负债等非现金财务, 以至涉及到跟财务有工作事务. 充分表现了人们最基本的财务活动, 使管理简单, 全面. 具实用价值. 在设计方面, 仿效三层模式的设计, 界面负责人机交互的接口, 把用户输入的数据作出转换处理后, 把它们传到服务层的类中进行各种操作, 这些类是对数据层进行访问和把结果返回到界面层. 数据层就是数据库, 这种功能构件的设计除了规范外还易于对系统进行扩展.由于时间, 人力和资源的限制, 系统的各个功能并不是很完善.界面的设计:界面上最初设想是加一些背景让系统看起来像excel的风格, 可是因为时间有限, 到最后已经没有时间进行界面美化, 而把大部分精力放在系统功能的实现以及论文的撰写, 所以现在的系统界面看起来比较单调. 这是一个缺点.功能上的欠缺:在功能上最初的设想是编写一个功能完善的系统, 至少还

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!