财务管理系统
C# 程序设计
财务收支管理系统
杨宗坤
姓名
学院信息与电气工程学院专业计算机科学与技术年级2012
学号694
指导教师周树森
2015 年 12月12
财务收支管理系统
杨宗坤
(信息与电气工程学院,计算机科学与技术,2012级2班,694)
摘要:当今社会越来越朝着信息化和数字化方向发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统,市场上的财务管理软件大多数都面向企业并价格昂贵,或是专门偏向于某一特殊领域,免费的财务管理软件更是少之又少,为了满足中小企业及个体经营者的需求,利用C#语言、、Visual Studio和数据库等开发软件和工具,设计开发了一个具有简单收支管理、登帐统计和查询等基本功能的财务管理系统,经过测试表明,系统可以较为稳定的实现这些基本功能。
关键词:财务管理系统;;SQL Server;程序设计;
Abstract:Financial management is an important work of the company, using computer to manage the company f inancial, not only can save time and manpower, more fu lly, effectively grasp the basic situation of corporate finance, timely access to the latest accurate data an d system is for the user to provide powerful data m
anipulation functions, friendly interface, simple and con venient to use, based on (client / server) mode,The de sign is reasonable, function relatively complete, the te st run stability, can meet the need of the work。
Keywords: C # , Financial management system,SQL Server。
1 引言
信息化的飞速发展,促使电脑和网络已经日益影响到了人们的日常和工作过程中,给我们带来了很大的方便,也使人们对电脑依赖性越来越强。各种各样的应用软件系统成为了人民的重要助手和有效工具,明显改变着人民的生活。随着网络的普及,通过手写的方式在纸张上记录一些收支的做法已经逐渐被淘汰,已逐渐被在电脑上记录自己的收支情况的做法所取代。
通过Visual Studio2010 工具的使用和面向对象C#语言等知识,对财务管理系统的设计慢慢了解,深入学习,从而达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;
根据课题的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和Visual Studio2010工具的使用。
2 系统分析
系统需求
财务收支管理工作随着我国市场经济的发展,在各个企业的管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。对于大型企业集团来说,财务管理显得更为重要,财务管理系统的建立将直接受到企业集团管理方式的影响,并直接影响企业的管理效率与经济效益。如何在现有经营环境下选择最佳的财务管理模式,使用最优的财务管理系统,实现企
业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题。
Microsoft公司的 C# 是Windows应用程序开发工具,是目前广泛的、易学易用的面向对象的开发工具。Visual 2010提供了大量的控件,并且这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此实现本系统Visual 2010是一个相对较好的选择。
关系型数据库的实现:
SQL Server 2008就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。SQL Server 2008 的优点在于它能使用数据表示图或自定义窗体收集信息,并能对相关系的表进行视图连接,建立视图后可屏蔽一些数据使数据更为安全,并可以建立存储过程以便能够简化前台程序的编写。数据表示可以使数据库一目了然。另外,SQL Server 2008用户设定自已的密码保护数据的安全性。SQL Server 2008提供对各种数据的约束,使用户输入的数据符合正规的逻辑,并提供各种数据与数据之间的相关性连接,能够级联更新一些相关的数据,更特别的是提供了触发器功能。SQL Server 2008是一种关系数据库工具,关系数据库是已开发的最通用的大型数据库之一,运行在服务企上更加安全。如上所述,SQL Server 2008作为关系数据库开发具备了许多优点。
(2)技术可行性
随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查询、修改等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。
(3)经济可行性
对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网
络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。
(4)管理可行性
随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。
用户需求
企业管理模式的选择应当是在对整体发展战略、经营情况、企业类型和子公司进行系统分析的基础上进行的,同时企业应充分根据自身发展的需要设计财务管理模式。设计时必须应当遵循以下原则:
1.安全性
安全性分为系统内部安全、访问安全及与其他系统对接时的安全性。内部安全体现在系统数据库的安全以及非法数据屏蔽等,可通过防火墙、划分网段来防范非法程序对数据库的破坏,对数据库做计划,进行备份,对录入数据进行核查,对不满足条件的内容提示修改,对非法数据进行屏蔽。访问安全体现在对各个部门、各个用户按管理人员的安全策略进行分组管理、控制各组的访问权限以及信息的流向。与其他系统连接时,既要保证内部数据的安全,隔离内外部的信息通道,又要对外部信息资源进行访问控制。为保证整个系统的正常运行,必然要保证系统信息的绝对安全和可靠。
2.实用性
财务信息管理系统是一个工程项目,而不是研究或实验课题。系
统建设的最终目的是服务于财务管理的需要,服务于企业在许可范围内对财务信息的需求。系统的建设应为应用服务。因此,系统的设计和建设应能满足需求并正确无误地高效地运行。
3.灵活性
系统应设计任意组合的模糊查询功能,提供多方面的查询,以满足各个时期的报表。对复杂数据结构应实现修改一表的数据即可自动修改相关表中的数据,删除一表的数据即可自动删除与之相关的其他表数据,保证数据库中无冗余数据。
系统功能
通过用户需求分析,根据企业财务工作流程分析,本着模块划分的原则,把系统抽象为3个模块,分别文件系统、用户管理、财务管理。下面是各模块的功能:
1.文件系统:显示登录信息,存储登陆日志,修改密码,退出系统。
2.用户管理:显示用户列表,添加和修改用户,公司部门管理,角色管理,工作性质介绍。
3.财务管理:账单列表,添加和修改账单,显示收支信息以及账单性质。
3 系统设计
模块流程图
模块流程图
采用结构化程序设计的思想,其有以下优点:
(1).自顶向下逐步求精的思想与人类求解复杂问题的思维规律相符,有助于软件系统的分析与设计。
(2).采用先抽象后具体、先宏观后微观、先总体后细节的开发过程,使得程序的层次结构清楚,可读性好。
(3).单入口、单出口的控制结构,可以保证程序的静态结构与其动态执行流程基本相似,程序的可维护性好。
(4).良好的模块化特性支持软件部件的重用。
模块功能说明
1.登录窗口:验证用户后打开程序管理窗口;
2.程序管理主窗口:为父窗体,在此窗体内显示财务管理及主要功能模块;
3.程序管理子窗口:主窗口各模块下的子功能窗体;
4.登陆信息修改窗口:对用户信息进行修改。
4 系统模块
登陆设计模块
图1登陆界面
本界面是用户登录系统的界面,当用户提交登录信息,对用户进行身份及权限判断,再转入不同的页面。当用户名或密码、权限输入错误,会提示错误。
输入用户名或密码错误后会显示如下界面:
图2登陆界面主界面模块窗口设计
图3主窗口
该窗口为父窗体,可以在此窗口内显示财务管理系统三个主要模块信息.用户在登陆界面按了输入正确账号密码的登陆按钮就可以转到此界面。
登录信息窗口
图4登录信息窗口
该窗口为用户登陆信息显示窗口,能显示用户登陆的时间,员工账号,上次登陆时间等信息。
用户管理窗口
图5用户列表窗口
该窗口显示员工信息,部们编号,职位等信息。
图6修改员工信息窗口
该窗口可以修改员工用户各种信息。
图7员工性质查询窗口
该窗口可以查询员工的性质名称,类别以及显示工作性质列表。
图8收支列表窗口
该窗口显示公司以及各员工收支明细,包括收支人,时间地点,以及增删查改等操作。能够清楚的显示该公司的收支情况。
图9财务性质管理窗口
该窗口可以对公司财务收支性质信息进行管理。
修改用户密码窗口
图10密码修改窗口
该窗口可以修改用户密码。
5 核心代码描述
c#连接数据库的方式:
(1)配置文件链接。利用开发平台进行开发的时候将会经常遇到要和数据库打交道,存取数据。这就涉及到和数据库的连接问题,.NET开发平台为我们提供了一种简单的方式来定义和数据库连接的字符串。这就是在文件中添加连接字符串。
(2)代码连接。#是一个语言,是一个平台,上面支持用C#或者写代码。连接Access,SQL Server,Oracle,还有Excel数据库。
本程序采用第一种连接方式,下面是主要源代码:
providerName="" /> 其中,name 的值ctionStrings代表字符串的名称,Data Source代表数 据库的实例名,User ID和Password分别代表用户名和密码。如果有多 个数据库的连接,还可以在 库存取中多次重复利用这个设置。 登陆界面主要代码 namespace WinForm { public partial class FrmLogin : Form { dal = new model = new dallog = new modellog = new public FrmLogin() { InitializeComponent(); } private void FrmLogin_Load(object sender, EventArgs e) { } private void btn_OK_Click(object sender, EventArgs e) { public static int ExecuteNonQuery(string sqlstr, params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr)) { using (SqlCommand cmd = new SqlCommand(sqlstr, conn)) { { (); if (parameters != null) { foreach (SqlParameter para in parameters) { } } int rows = (); return rows; } catch e) { throw e; } 在编程中经常需要给程序制作一个登陆界面,在用户打开程序后首先弹出登陆窗口,如果输入正确的用户名和密码,才能登陆成功进入正式的程序界面。 修改用户账号密码 namespace WinForm { public partial class FrmUpdatePassword : Form { dal = new model = new public int Eid = 0; public FrmUpdatePassword() { InitializeComponent(); private void FrmUpdatePassword_Load(object sender, EventArgs e) { BindDataList(); } private void BindDataList() { model = (Eid); if (model == null) { = false; ("没有此员工信息", "错误", , ; } public bool CheckParams() { if { ("请输入原密码"); return true; } if { ("请输密码"); return true; } if { ("请确认新码"); return true; }