首页 > 范文大全 > 正文

基于C#语言的桌面财务管理系统设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于C#语言的桌面财务管理系统设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:鉴于个体家庭里的财务管理开始向无纸化发展,桌面财务管理系统在当前社会需求较高。本文设计并开发了一个桌面财务管理系统。桌面财务管理系统的开发利用软件工程原理,采用原型开发结合传统的生命周期方法,其开发主要包括后台数据库的建立和前段应用程序开发两个方面。考虑到桌面财务管理大多使用Windows系统,桌面财务管理系统采用基于.NET Framework 3.5下的Visual Studio c#进行开发桌面应用程序。桌面财务系统主要实现了包括家庭成员的管理、家庭收支信息的管理、个人收支信息的管理、家庭财务情况的详细报表等功能,方便用户查询、添加、删除、分析、理财等多种需求。桌面财务管理系统主要应用于家庭财务相关方面的管理工作,相比传统的手工管理而言有着很大的优势,它可以系统的对财务信息进行存储,并且检索快速、存储量大、方便易用、寿命长、成本低等。本系统的最终目的是能够对财务进行有效的管理。

关键词:财务管理;数据库;窗体;管理信息系统

中图分类号:TP311.52

财务管理系统在国外很多地方使用已经相当的普遍,而且国外的桌面财务管理系统功能相当强大,比如系统里包含有股票的预测、基金的分析等等。在我们国内,尤其是在近几年,伴随着计算机的高速普及,财务管理系统的使用范围逐步扩大,从最早的简单使用纸笔记录家庭、个人财务的收支情况,到现在用计算机对财务的收支、查询、汇总等等。巨大的市场需求也促使了很多公司加大了对桌面财务管理系统的研究。

目前国内许多公司也开发了许多财务管理系统,如管家婆、金蝶等。它们的功能不可谓不强大,不仅包含了管理财务的基本功能,还附加了许多如股票、基金、网上银行、信用卡等功能。但是大部分财务管理系统为商用软件,功能虽强大但是成本较高,且许多功能大部分家庭都使用不上,造成性价比偏低。而本“桌面财务管理系统”本着低成本、高效率、基本功能的原则,在低成本消耗下最大限度的满足家庭财务管理的基本需求,并且可以根据需求发展增加新模块新功能,可延展性强。

1 系统设计

1.1 系统用例图设计。用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。本部分通过对管理员和普通用户的用例分析来对系统功能作一个大致了解。以下分别是管理员和普通用户的用例图:

下图为管理员的用例图:

图1 管理员用例图

下图为普通用户的用例图:

图2 普通用户用例图

通过上面的用例图,我们可以分析得出:

管理员:拥有几乎所有的权限,包括维护成员,修改密码,操作所有的收入项目,操作所有的支出项目,查看收入详细报表,查看支出详细报表,查询个人收支情况。

普通用户:拥有一般的操作权限,包括修改密码,操作自己的收入项目,操作自己的支出项目,查看收入详细报表,查看支出详细报表,查询个人收支情况。

1.2 系统功能分析。系统功能是系统对外界作用(输入)做出一定反应(输出)的能力。系统目标是由系统功能实现的。系统功能分析包括功能确定、功能结构分析、功能分配三大内容。通过用例图分析,我们可以大致分析出系统包含的主要功能:

系统主要包括以下功能:

(1)家庭成员维护:1)添加成员,2)删除成员,3)查看成员,4)编辑成员信息;(2)修改密码:修改自身的密码;(3)收入项目:1)查看收入项目,2)添加收入项目,3)删除收入项目,4)编辑收入项目;(4)支出项目:1)查看支出项目,2)添加支出项目,3)删除支出项目,4)编辑支出项目;(5)收入详表:查看收入项目详细报表;(6)支出详表:查看支出项目详细报表;(7)查询个人收支情况:查询个人收支情况。

以上列出的功能大致上为这个系统的主要功能,接下来依照主要功能对系统所需数据库进行设计。

1.3 系统数据库设计。根据系统功能分析,整个系统需要的数据重点放在3个部分,即是用户相关数据,收入数据和支出数据。所以将数据库定为3个表,分别为用户表、收入项目表、支出项目表。并且因为收入和支出都必须是用户表中的用户,并且每一项支出和收入都仅有一个用户,所以将用户表的主键设置为收入表和支出表的外键。并且将收入表和支出表的用户姓名级联到用户表的姓名,以便编辑用户资料时同步更新。

下图为本系统数据库设计的图:

图3 数据库设计图

2 系统的实现

主界面是本系统的主操作界面,提供到各个功能模块的按钮,以及对权限进判判断。另外界面中还显示登录人员的信息和收支相关信息。

主界面模块实现方法:

通过Form1的对象调用get方法得到登录人员的姓名和权限,在页面构造函数中判定登录模块传过来的姓名和权限并根据它查找数据库中的相关数据并显示在主页面上,同时将登录时间存入在数据库中。

存登录时间部分代码为:

DateTime logindate=DateTime.Now;

string str2="update user set lastlogindate='"+logindate+"'where username='"+name+"'";

主页面的其余实现方法均为调用其他页面,在菜单栏中也可实现重新登录以及其他操作。

重新登录方法实现为:

f21.clearFaileInfo();

this.Close();

Close()会触发关闭窗口事件。会让隐藏的登录窗口重新出现:

触发的关闭窗口事件代码为:

private void Form2_FormClosing(object sender,FormClosingEventArgs e)

{

f21.clearFaileInfo();

f21.Show();

}

主页面还有getName(),getAuth(),getUser_id()三个方法,用于全局变量传送数据方便其他页面调用。

收入项目模块实现方法:

收入项目界面使用了水晶报表控件,直接调用报表文件CrystalReport6.rpt。

数据源设置为testdata的IN_ITEM表,将数据库中已存在的收入项目列在报表中,水晶报表还自带了刷新和文本查找功能,方便用户操作。

收入项目界面的添加,删除,编辑按钮事件分别绑定了跳转页面。

3 结束语

本文设计并实现了一个简单易用的桌面财务管理系统,系统能对财务进行有效的管理并进行简单的财务分析。系统解决了一般普通用户的财务管理困难,降低了管理财务所需的成本。系统的模块化设计可以使以后功能扩展更容易,方便系统的改进升级。系统还存在功能不够丰富操作不够方便等缺点,以后还可以更完善。

参考文献:

[1]梁冰,吕双,王小科.C#程序开发范例宝典(第2版)[M].北京:人民邮电出版社,2009.

[2]陈得友,刘远超.家庭财务管理系统[J].科技创新导报,2009(02):233-234.

[3]龚元进.家庭财务管理系统的设计与实现[J].科协论坛,2009(11):156.

[4]孙根琴,吴俊萍.家庭财务管理信息系统的设计与实现[J].电脑知识与技术,2008(04):37-41.

[5]刘娅,王芬.家庭财务管理系统的设计与实现[J].福建电脑,2006(01):168-169.

[6]王皓.基于PowerBuilder的个人财务管理系统设计[J].科协论坛,2008(07):131-132.

作者简介:朱剑明(1987-),数据库管理员,助理工程师,本科,研究方向:软件工程。

作者单位:民航西南空中交通管理局气象中心,成都 610202