财务管理系统(12页).doc

上传人:1595****071 文档编号:37801618 上传时间:2022-09-02 格式:DOC 页数:12 大小:162.50KB
返回 下载 相关 举报
财务管理系统(12页).doc_第1页
第1页 / 共12页
财务管理系统(12页).doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《财务管理系统(12页).doc》由会员分享,可在线阅读,更多相关《财务管理系统(12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-财务管理系统-第 12 页C# 程 序 设 计财务收支管理系统姓 名杨宗坤学 院信息与电气工程学院专 业计算机科学与技术年 级2012学 号20122212694指导教师周树森2015 年 12月12财务收支管理系统杨宗坤(信息与电气工程学院,计算机科学与技术,2012级2班,20122212694) 摘 要:当今社会越来越朝着信息化和数字化方向发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统, 市

2、场上的财务管理软件大多数都面向企业并价格昂贵,或是专门偏向于某一特殊领域,免费的财务管理软件更是少之又少,为了满足中小企业及个体经营者的需求,利用C#语言、ASP.NET、Visual Studio和数据库等开发软件和工具,设计开发了一个具有简单收支管理、登帐统计和查询等基本功能的财务管理系统,经过测试表明,系统可以较为稳定的实现这些基本功能。关键词:财务管理系统;ASP.NET ;SQL Server;程序设计;Abstract:Financialmanagementisanimportantworkofthecompany,usingcomputertomanagethecompanyfi

3、nancial,notonlycansavetimeandmanpower,morefully,effectivelygraspthebasicsituationofcorporatefinance,timelyaccesstothelatestaccuratedataandinformation.Thissystemisfortheusertoprovidepowerfuldatamanipulationfunctions,friendlyinterface,simpleandconvenienttouse,basedon(client/server)mode,Thedesignisreas

4、onable,functionrelativelycomplete,thetestrunstability,canmeettheneedofthework。Keywords: C # .net, Financialmanagementsystem,SQL Server。1 引言 信息化的飞速发展,促使电脑和网络已经日益影响到了人们的日常和工作过程中,给我们带来了很大的方便,也使人们对电脑依赖性越来越强。各种各样的应用软件系统成为了人民的重要助手和有效工具,明显改变着人民的生活。随着网络的普及,通过手写的方式在纸张上记录一些收支的做法已经逐渐被淘汰,已逐渐被在电脑上记录自己的收支情况的做法所取代

5、。通过Visual Studio2010 工具的使用 和面向对象C#语言等知识,对财务管理系统的设计慢慢了解,深入学习,从而达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;根据课题的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和Visual Studio2010工具的使用。2 系统分析2.1 系统需求财务收支管理工作随着我国市场经济的发展,在各个企业的管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。对于大型企业集团来说,财务管理显得更为重要,财务管理系统的建立将直接受到企业集团管理方式的

6、影响,并直接影响企业的管理效率与经济效益。如何在现有经营环境下选择最佳的财务管理模式,使用最优的财务管理系统,实现企业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题。Microsoft公司的 C# 是Windows应用程序开发工具,是目前广泛的、易学易用的面向对象的开发工具。Visual 2010提供了大量的控件,并且这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此实现本系统Visual 2010是一个相对较好的选择。关系型数据库的实现:SQL Server 2008就是关系数据库开发工具,数

7、据库能汇集各种信息以供查询、存储和检索。SQL Server 2008 的优点在于它能使用数据表示图或自定义窗体收集信息,并能对相关系的表进行视图连接,建立视图后可屏蔽一些数据使数据更为安全,并可以建立存储过程以便能够简化前台程序的编写。数据表示可以使数据库一目了然。另外,SQL Server 2008用户设定自已的密码保护数据的安全性。SQL Server 2008提供对各种数据的约束,使用户输入的数据符合正规的逻辑,并提供各种数据与数据之间的相关性连接,能够级联更新一些相关的数据,更特别的是提供了触发器功能。SQL Server 2008是一种关系数据库工具,关系数据库是已开发的最通用的大

8、型数据库之一,运行在服务企上更加安全。如上所述,SQL Server 2008作为关系数据库开发具备了许多优点。(2)技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查询、修改等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。(3)经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传

9、真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。(4)管理可行性随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。2.2 用户需求企业管理模式的选择应当是在对整体发展战略、经营情况、企业类型和子公司进行系统分析的基础上进行的,同时企业应充分根据

10、自身发展的需要设计财务管理模式。设计时必须应当遵循以下原则: 安全性分为系统内部安全、访问安全及与其他系统对接时的安全性。内部安全体现在系统数据库的安全以及非法数据屏蔽等,可通过防火墙、划分网段来防范非法程序对数据库的破坏,对数据库做计划,进行备份,对录入数据进行核查,对不满足条件的内容提示修改,对非法数据进行屏蔽。访问安全体现在对各个部门、各个用户按管理人员的安全策略进行分组管理、控制各组的访问权限以及信息的流向。与其他系统连接时,既要保证内部数据的安全,隔离内外部的信息通道,又要对外部信息资源进行访问控制。为保证整个系统的正常运行,必然要保证系统信息的绝对安全和可靠。 财务信息管理系统是一

11、个工程项目,而不是研究或实验课题。系统建设的最终目的是服务于财务管理的需要,服务于企业在许可范围内对财务信息的需求。系统的建设应为应用服务。因此,系统的设计和建设应能满足需求并正确无误地高效地运行。 系统应设计任意组合的模糊查询功能,提供多方面的查询,以满足各个时期的报表。对复杂数据结构应实现修改一表的数据即可自动修改相关表中的数据,删除一表的数据即可自动删除与之相关的其他表数据,保证数据库中无冗余数据。 2.3 系统功能 通过用户需求分析,根据企业财务工作流程分析,本着模块划分的原则,把系统抽象为3个模块,分别文件系统、用户管理、财务管理。下面是各模块的功能:1. 文件系统:显示登录信息,存

12、储登陆日志,修改密码,退出系统。2. 用户管理:显示用户列表,添加和修改用户,公司部门管理,角色管理,工作性质介绍。3. 财务管理:账单列表,添加和修改账单,显示收支信息以及账单性质。3 系统设计登 陆3.1 模块流程图程序主窗口文件系统用户管理财务管理登陆日志修改密码员 工 信 息部 门 管 理账 单 列 表登 录信息收 支 明 细账 单 性 质 模块流程图采用结构化程序设计的思想,其有以下优点:(1).自顶向下逐步求精的思想与人类求解复杂问题的思维规律相符,有助于软件系统的分析与设计。(2).采用先抽象后具体、先宏观后微观、先总体后细节的开发过程,使得程序的层次结构清楚,可读性好。(3).

13、单入口、单出口的控制结构,可以保证程序的静态结构与其动态执行流程基本相似,程序的可维护性好。(4).良好的模块化特性支持软件部件的重用。3.2 模块功能说明1.登录窗口:验证用户后打开程序管理窗口;2.程序管理主窗口:为父窗体,在此窗体内显示财务管理及主要功能模块;管理子窗口:主窗口各模块下的子功能窗体;4.登陆信息修改窗口:对用户信息进行修改。4 系统模块4.1 登陆设计模块图1 登陆界面本界面是用户登录系统的界面,当用户提交登录信息,对用户进行身份及权限判断,再转入不同的页面。当用户名或密码、权限输入错误,会提示错误。输入用户名或密码错误后会显示如下界面:图2 登陆界面4.2 主界面模块窗

14、口设计图3主窗口该窗口为父窗体,可以在此窗口内显示财务管理系统三个主要模块信息.用户在登陆界面按了输入正确账号密码的登陆按钮就可以转到此界面。4.3 登录信息窗口 图4登录信息窗口 该窗口为用户登陆信息显示窗口,能显示用户登陆的时间,员工账号,上次登陆时间等信息。4.4 用户管理窗口图5用户列表窗口该窗口显示员工信息,部们编号,职位等信息。图6修改员工信息窗口该窗口可以修改员工用户各种信息。图7员工性质查询窗口 该窗口可以查询员工的性质名称,类别以及显示工作性质列表。图8收支列表窗口该窗口显示公司以及各员工收支明细,包括收支人,时间地点,以及增删查改等操作。能够清楚的显示该公司的收支情况。图9

15、财务性质管理窗口该窗口可以对公司财务收支性质信息进行管理。4.4 修改用户密码窗口图10密码修改窗口该窗口可以修改用户密码。5 核心代码描述5.1 c#连接数据库的方式:(1)配置文件链接。利用VS.NET开发平台进行开发的时候将会经常遇到要和数据库打交道,存取数据。这就涉及到和数据库的连接问题,.NET开发平台为我们提供了一种简单的方式来定义和数据库连接的字符串。这就是在Web.Config文件中添加连接字符串。(2)代码连接。#是一个语言,ASP.NET是一个平台,上面支持用C#或者VB.NET写代码。连接Access,SQL Server,Oracle,还有Excel数据库。本程序采用第

16、一种连接方式,下面是主要源代码: 其中,name 的值ctionStrings代表字符串的名称,Data Source代表数据库的实例名,User ID和Password分别代表用户名和密码。如果有多个数据库的连接,还可以在标签之下添加多个节。这样只需在配置文件中定义一次就可以在之后的数据库存取中多次重复利用这个设置。5.2 登陆界面主要代码namespace WinForm public partial class FrmLogin : Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem.Model.E

17、mployee model = new MySystem.Model.Employee(); MySystem.DAL.EmployeeLoginLog dallog = new MySystem.DAL.EmployeeLoginLog(); MySystem.Model.EmployeeLoginLog modellog = new MySystem.Model.EmployeeLoginLog(); public FrmLogin() InitializeComponent(); private void FrmLogin_Load(object sender, EventArgs e)

18、 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) try conn.Open(); if (parameters != null) foreach (SqlPar

19、ameter para in parameters) cmd.Parameters.Add(para); int rows = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return rows; catch (System.Data.SqlClient.SqlException e) throw e; 在编程中经常需要给程序制作一个登陆界面,在用户打开程序后首先弹出登陆窗口,如果输入正确的用户名和密码,才能登陆成功进入正式的程序界面。namespace WinForm public partial class FrmUpdatePasswor

20、d : Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem.Model.Employee model = new MySystem.Model.Employee(); public int Eid = 0; public FrmUpdatePassword() InitializeComponent(); private void FrmUpdatePassword_Load(object sender, EventArgs e) BindDataList(); private void BindData

21、List() model = dal.GetModel(Eid); if (model = null) btn_OK.Enabled = false; MessageBox.Show(没有此员工信息, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); public bool CheckParams() if (string.IsNullOrEmpty(txt_Password.Text.Trim() MessageBox.Show(请输入原密码); return true; if (string.IsNullOrEmpty(txt_NewPass

22、word.Text.Trim() MessageBox.Show(请输密码); return true; if (string.IsNullOrEmpty(txt_NewPassword2.Text.Trim() MessageBox.Show(请确认新码?); return true; if (!txt_NewPassword.Text.Trim().Equals(txt_NewPassword2.Text.Trim() MessageBox.Show(两次输入新密码” return true; return false; #endregion private void btn_OK_Cli

23、ck(object sender, EventArgs e) bool b = CheckParams(); if (b) return; if (!string.Equals(txt_Password.Text.Trim(), model.LoginPassword.Trim(), StringComparison.Ordinal) MessageBox.Show(原密码输入错误); return; model.LoginPassword = txt_NewPassword.Text.Trim(); int rows = dal.Update(model); if (rows 0) Bind

24、DataList(); MessageBox.Show(成功); else MessageBox.Show(失败); private void btn_Cancel_Click(object sender, EventArgs e) this.Hide(); c#的三层架构 using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; assembly: AssemblyTitle(MySystem.DAL) assembly: AssemblyDesc

25、ription() assembly: AssemblyConfiguration() assembly: AssemblyCompany(super8) assembly: AssemblyProduct(MySystem.DAL) assembly: AssemblyCopyright(Copyright super8 2015) assembly: AssemblyTrademark() assembly: AssemblyCulture() assembly: ComVisible(false) assembly: Guid(e0d8d0ee-bd5b-4811-8268-30c6e0

26、397bd4) assembly: AssemblyVersion(1.0.0.0) assembly: AssemblyFileVersion(1.0.0.0) DAL Data Access Layer 数据访问层,这个层应该是负责程序与数据中心(除了数据库,还有存储数据的文件等)的交互,也就是将数据的增删改查的操作封装起来供其它层直接使用,这样一来,做此层的开发人员只需要关心数据,而不用关心业务逻辑; BLL Business Logic Layer 业务逻辑层,这个层是负责程序的业务逻辑,也就是对程序具体功能模块和程序执行流程的实现。此层的开发人员只需要关心程序的业务逻辑,而不需要关心

27、数据是哪里来的,是怎么取得的等问题; 而DbHelp,这个也应该是包含在DAL里面的(注意是包含,而不是说DbHelp就是DAL),DbHelp一般是一个类,此类一般会提供数据库访问的通过属性和方法。 简单的说,DAL需要做的是从数据源取数据和向数据源存数据,并将这些按需要分成不同的方法提供给其它层(如BLL);BLL需要做的是将程序的功能实现,需要数据的时候调用DAL提供的取数据方法,保存数据的时候调用 DAL 的存数据方法。代码中DAL主要是对数据库中的内容的操作,在这里就是向数据库中添加用户。BLL则主要是调用DAL层的操作,返回DAL层添加用户的结果(true或者false)。这样也就

28、是在客户端与数据库中加了一个中间层,使得两层的依赖性减小。UI层则主要完成响应用户的需求,去调用BLL层实现的adduser方法,DAL层就是实实在在做这件事情的操作。6 总结在设计这个课题的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,在本次设计过程中,我采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一

29、切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学

30、习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名计算机科学与技术专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。7参考文献1 王珊,萨师煊数据库系统概述,高等教育出版社.2 C#高级程序设计,清华大学出版社. 3C#从入门到精通(第3版)清华大学出版社致谢在此致谢以下人员在我编写程序时对我的帮助1. 参考于百度知道2. 最重要的是感谢周树森老师在这一学期里的辛勤教导,在此谢谢周老师。本来对这个工程完全没有头绪,慢慢的开始深入进去,最终完成。同样感谢那些帮助我指导我的同学,你们的付出对我帮助很大。以后我要再接再厉,学习刚多,弥补自己基本功不好的劣势

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁