《财务标准管理系统.doc》由会员分享,可在线阅读,更多相关《财务标准管理系统.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C# 程 序 设 计财务收支管理系统姓 名杨宗坤学 院信息与电气工程学院专 业计算机科学与技术年 级学 号指引教师周树森 年 12月12财务收支管理系统杨宗坤(信息与电气工程学院,计算机科学与技术,级2班,2212694) 摘 要:当今社会越来越朝着信息化和数字化方向发展,计算机应用领域使咱们生活越来越以便和快捷,可以说咱们每个人生活都离不开计算机协助了。越来越各种人应用软件成为了人们重要助手,也在潜移默化变化着咱们生活。财务管理系统是每一种单位管理财务收入和支出不可缺少一种管理信息系统, 市场上财务管理软件大多数都面向公司并价格昂贵,或是专门偏向于某一特殊领域,免费财务管理软件更是少之又少,
2、为了满足中小公司及个体经营者需求,运用C#语言、ASP.NET、Visual Studio和数据库等开发软件和工具,设计开发了一种具备简朴收支管理、登帐记录和查询等基本功能财务管理系统,通过测试表白,系统可以较为稳定实现这些基本功能。核心词:财务管理系统;ASP.NET ;SQL Server;程序设计;Abstract:Financialmanagementisanimportantworkofthecompany,usingcomputertomanagethecompanyfinancial,notonlycansavetimeandmanpower,morefully,effectiv
3、elygraspthebasicsituationofcorporatefinance,timelyaccesstothelatestaccuratedataandinformation.Thissystemisfortheusertoprovidepowerfuldatamanipulationfunctions,friendlyinterface,simpleandconvenienttouse,basedon(client/server)mode,Thedesignisreasonable,functionrelativelycomplete,thetestrunstability,ca
4、nmeettheneedofthework。Keywords:C # .net,Financialmanagementsystem,SQL Server。1 引言 信息化飞速发展,促使电脑和网络已经日益影响到了人们寻常和工作过程中,给咱们带来了很大以便,也使人们对电脑依赖性越来越强。各种各样应用软件系统成为了人民重要助手和有效工具,明显变化着人民生活。随着网络普及,通过手写方式在纸张上记录某些收支做法已经逐渐被裁减,已逐渐被在电脑上记录自己收支状况做法所取代。通过Visual Studio 工具使用 和面向对象C#语言等知识,对财务管理系统设计慢慢理解,进一步学习,从而达到纯熟掌握.NET基本
5、构造以及C#语言基本知识和技能;基本掌握面向对象程序开发基本思路和办法;依照课题规定,给出解决问题方案,通过度析问题、分解问题来解决问题,最后达到纯熟掌握C#语言运用和Visual Studio工具使用。2 系统分析2.1 系统需求财务收支管理工作随着国内市场经济发展,在各个公司管理中扮演着越来越重要角色,徐徐起到不可代替核心作用。对于大型公司集团来说,财务管理显得更为重要,财务管理系统建立将直接受到公司集团管理方式影响,并直接影响公司管理效率与经济效益。如何在既有经营环境下选取最佳财务管理模式,使用最优财务管理系统,实现公司管理目的,适应公司信息化发展需要,是一种值得研究和探讨问题。Micr
6、osoft公司 C# 是Windows应用程序开发工具,是当前广泛、易学易用面向对象开发工具。Visual 提供了大量控件,并且这些控件可用于设计界面和实现各种功能,减少了编程人员工作量,也简化了界面设计过程,从而有效提高了应用程序运营效率和可靠性。因而实现本系统Visual 是一种相对较好选取。关系型数据库实现:SQL Server 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。SQL Server 长处在于它能使用数据表达图或自定义窗体收集信息,并能对有关系表进行视图连接,建立视图后可屏蔽某些数据使数据更为安全,并可以建立存储过程以便可以简化前台程序编写。数据表达可以使
7、数据库一目了然。此外,SQL Server 顾客设定自已密码保护数据安全性。SQL Server 提供对各种数据约束,使顾客输入数据符合正规逻辑,并提供各种数据与数据之间有关性连接,可以级联更新某些有关数据,更特别是提供了触发器功能。SQL Server 是一种关系数据库工具,关系数据库是已开发最通用大型数据库之一,运营在服务企上更加安全。如上所述,SQL Server 作为关系数据库开发具备了许多长处。(2)技术可行性随着国内软件开发日益发展壮大,各种中小企事业单位已具备独立开发各种类型软件能力,可以满足不同行业特别需求。而这个系统尽管其在组织关系上存在着很大复杂性,繁琐性,但是就整个系统技
8、术构成上来看,它还是属于一种数据库应用类系统。其基本操作还是对存在数据库进行添加、删除、查询、修改等。因此就单纯数据库应用来看,暂不存在太大技术问题。(3)经济可行性对于整个系统而言,在系统未运营之前,初期投资比较大,耗费相对而言比较多。各部门必要配备电脑、服务器、打印机、传真机及有关网络设备,但是在整个系统投入运营之后,由于当前计算机已经普及了,有关人员培训费可以减少诸多。而同步又减少了数据流通环节,不必要耗费那么多时间,也就是说最重要是就是提高了效率,而又保证了各项数据精确性,也避免了工作人员流动导致收据丢失等问题,适应了当前发展形式。(4)管理可行性随着时代发展,人员素质己逐渐提高,无论
9、是对于电脑系统基本操作还是对于系统维护均有了一定基本。同步还可以配备专业电脑维护人员来维护电脑,不必紧张电脑故障问题。2.2 顾客需求公司管理模式选取应当是在对整体发展战略、经营状况、公司类型和子公司进行系统分析基本上进行,同步公司应充分依照自身发展需要设计财务管理模式。设计时必要应当遵循如下原则:1.安全性 安全性分为系统内部安全、访问安全及与其她系统对接时安全性。内部安全体当前系统数据库安全以及非法数据屏蔽等,可通过防火墙、划分网段来防范非法程序对数据库破坏,对数据库做筹划,进行备份,对录入数据进行核查,对不满足条件内容提示修改,对非法数据进行屏蔽。访问安全体当前对各个部门、各个顾客按管理
10、人员安全方略进行分组管理、控制各组访问权限以及信息流向。与其她系统连接时,既要保证内部数据安全,隔离内外部信息通道,又要对外部信息资源进行访问控制。为保证整个系统正常运营,必然要保证系统信息绝对安全和可靠。 2.实用性 财务信息管理系统是一种工程项目,而不是研究或实验课题。系统建设最后目是服务于财务管理需要,服务于公司在允许范畴内对财务信息需求。系统建设应为应用服务。因而,系统设计和建设应能满足需求并对的无误地高效地运营。 3.灵活性 系统应设计任意组合模糊查询功能,提供多方面查询,以满足各个时期报表。对复杂数据构造应实现修改一表数据即可自动修改有关表中数据,删除一表数据即可自动删除与之有关其
11、她表数据,保证数据库中无冗余数据。 2.3 系统功能 通过顾客需求分析,依照公司财务工作流程分析,本着模块划分原则,把系统抽象为3个模块,分别文献系统、顾客管理、财务管理。下面是各模块功能:1. 文献系统:显示登录信息,存储登陆日记,修改密码,退出系统。2. 顾客管理:显示顾客列表,添加和修改顾客,公司部门管理,角色管理,工作性质简介。3. 财务管理:账单列表,添加和修改账单,显示收支信息以及账单性质。3 系统设计登 陆3.1 模块流程图程序主窗口文献系统顾客管理财务管理登陆日记修改密码员 工 信 息部 门 管 理账 单 列 表登 录信息收 支 明 细账 单 性 质 模块流程图采用构造化程序设
12、计思想,其有如下长处:(1).自顶向下逐渐求精思想与人类求解复杂问题思维规律相符,有助于软件系统分析与设计。(2).采用先抽象后详细、先宏观后微观、先总体后细节开发过程,使得程序层次构造清晰,可读性好。(3).单入口、单出口控制构造,可以保证程序静态构造与其动态执行流程基本相似,程序可维护性好。(4).良好模块化特性支持软件部件重用。3.2 模块功能阐明1.登录窗口:验证顾客后打开程序管理窗口;2.程序管理主窗口:为父窗体,在此窗体内显示财务管理及重要功能模块;3.程序管理子窗口:主窗口各模块下子功能窗体;4.登陆信息修改窗口:对顾客信息进行修改。4 系统模块4.1 登陆设计模块图1 登陆界面
13、本界面是顾客登录系统界面,当顾客提交登录信息,对顾客进行身份及权限判断,再转入不同页面。当顾客名或密码、权限输入错误,会提示错误。输入顾客名或密码错误后会显示如下界面:图2 登陆界面4.2 主界面模块窗口设计图3主窗口该窗口为父窗体,可以在此窗口内显示财务管理系统三个重要模块信息.顾客在登陆界面按了输入对的账号密码登陆按钮就可以转到此界面。4.3 登录信息窗口 图4登录信息窗口 该窗口为顾客登陆信息显示窗口,能显示顾客登陆时间,员工账号,上次登陆时间等信息。4.4 顾客管理窗口图5顾客列表窗口该窗口显示员工信息,部们编号,职位等信息。图6修改员工信息窗口该窗口可以修改员工顾客各种信息。图7员工
14、性质查询窗口 该窗口可以查询员工性质名称,类别以及显示工作性质列表。图8收支列表窗口该窗口显示公司以及各员工收支明细,涉及收支人,时间地点,以及增删查改等操作。可以清晰显示该公司收支状况。图9财务性质管理窗口该窗口可以对公司财务收支性质信息进行管理。4.4 修改顾客密码窗口图10密码修改窗口该窗口可以修改顾客密码。5 核心代码描述5.1 c#连接数据库方式:(1)配备文献链接。运用VS.NET开发平台进行开发时候将会经常遇到要和数据库打交道,存取数据。这就涉及到和数据库连接问题,.NET开发平台为咱们提供了一种简朴方式来定义和数据库连接字符串。这就是在Web.Config文献中添加连接字符串。
15、(2)代码连接。#是一种语言,ASP.NET是一种平台,上面支持用C#或者VB.NET写代码。连接Access,SQL Server,Oracle,尚有Excel数据库。本程序采用第一种连接方式,下面是重要源代码: 其中,name 值ctionStrings代表字符串名称,Data Source代表数据库实例名,User ID和Password分别代表顾客名和密码。如果有各种数据库连接,还可以在标签之下添加各种节。这样只需在配备文献中定义一次就可以在之后数据库存取中多次重复运用这个设立。5.2 登陆界面重要代码namespace WinForm public partial class Frm
16、Login :Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem.Model.Employee model = new MySystem.Model.Employee(); MySystem.DAL.EmployeeLoginLog dallog = new MySystem.DAL.EmployeeLoginLog(); MySystem.Model.EmployeeLoginLog modellog = new MySystem.Model.EmployeeLoginLog(); public Frm
17、Login() 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
18、 SqlCommand(sqlstr,conn) try conn.Open(); if (parameters != null) foreach (SqlParameter para in parameters) cmd.Parameters.Add(para); int rows = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return rows; catch (System.Data.SqlClient.SqlException e) throw e; 在编程中经常需要给程序制作一种登陆界面,在顾客打开程序后一方面弹出登陆窗口,如果输
19、入对的顾客名和密码,才干登陆成功进入正式程序界面。5.3修改顾客账号密码namespace WinForm public partial class FrmUpdatePassword :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 voi
20、d FrmUpdatePassword_Load(object sender,EventArgs e) BindDataList(); private void BindDataList() 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.
21、Text.Trim() MessageBox.Show(请输入原密码); return true; if (string.IsNullOrEmpty(txt_NewPassword.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()
22、MessageBox.Show(两次输入新密码” return true; return false; #endregion private void btn_OK_Click(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.LoginPas
23、sword = txt_NewPassword.Text.Trim(); int rows = dal.Update(model); if (rows 0) BindDataList(); MessageBox.Show(成功); else MessageBox.Show(失败); private void btn_Cancel_Click(object sender,EventArgs e) this.Hide(); 5.3 c#三层架构 using System.Reflection; using System.Runtime.CompilerServices; using System.
24、Runtime.InteropServices; assembly:AssemblyTitle(MySystem.DAL) assembly:AssemblyDescription() assembly:AssemblyConfiguration() assembly:AssemblyCompany(super8) assembly:AssemblyProduct(MySystem.DAL) assembly:AssemblyCopyright(Copyright super8 ) assembly:AssemblyTrademark() assembly:AssemblyCulture()
25、assembly:ComVisible(false) assembly:Guid(e0d8d0ee-bd5b-4811-8268-30c6e0397bd4) assembly:AssemblyVersion(1.0.0.0) assembly:AssemblyFileVersion(1.0.0.0) DAL Data Access Layer 数据访问层,这个层应当是负责程序与数据中心(除了数据库,尚有存储数据文献等)交互,也就是将数据增删改查操作封装起来供其他层直接使用,这样一来,做此层开发人员只需要关怀数据,而不用关怀业务逻辑; BLL Business Logic Layer 业务逻辑层
26、,这个层是负责程序业务逻辑,也就是对程序详细功能模块和程序执行流程实现。此层开发人员只需要关怀程序业务逻辑,而不需要关怀数据是哪里来,是怎么获得等问题; 而DbHelp,这个也应当是包括在DAL里面(注意是包括,而不是说DbHelp就是DAL),DbHelp普通是一种类,此类普通会提供数据库访问通过属性和办法。 简朴说,DAL需要做是从数据源取数据和向数据源存数据,并将这些按需要提成不同办法提供应其他层(如BLL);BLL需要做是将程序功能实现,需要数据时候调用DAL提供取数据办法,保存数据时候调用 DAL 存数据办法。代码中DAL重要是对数据库中内容操作,在这里就是向数据库中添加顾客。BLL
27、则重要是调用DAL层操作,返回DAL层添加顾客成果(true或者false)。这样也就是在客户端与数据库中加了一种中间层,使得两层依赖性减小。UI层则重要完毕响应顾客需求,去调用BLL层实现adduser办法,DAL层就是实实在在做这件事情操作。6 总结在设计这个课题过程中,面对着极其错综复杂问题,人主观结识不也许完全符合客观现实,在本次设计过程中,我采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完毕一种功能,就进行测试,尽量早发现并纠正差错,完毕模块测试之后再进行系统测试。在这次设计中遇到了诸多实际性问题,在实际设计中才发现,课本上理论性东西与在实际运用中还是有一定出入,因此有
28、些问题不但要进一步地理解,并且要不断地改正此前错误思维。一切问题必要要靠自己一点一滴解决,而在解决过程当中你会发现自己在飞速提高。对于教材管理系统,其程序是比较简朴,重要是解决程序设计中问题,而程序设计是一种很灵活东西,它反映了你解决问题逻辑思维和创新能力,它才是一种设计灵魂所在。因而在整个设计过程中大某些时间是用在程序上面。诸多子程序是可以借鉴课本上,但如何衔接各个子程序才是核心问题所在,这需要对系统构造很熟悉。因而可以说系统设计是软件和硬件结合,两者是密不可分。通过这次课程设计我也发现了自身存在局限性之处,虽然感觉理论上已经掌握,但在运用到实践过程中仍故意想不到困惑,通过一番努力才得以解决
29、。这也激发了我此后努力学习兴趣,我想这将对我后来学习产生积极影响。另一方面,这次课程设计让我充分结识到团队合伙重要性,只有分工协作才干保证整个项目有条不絮。通过这次设计,我懂得了学习重要性,理解到理论知识与实践相结合重要意义,学会了坚持、耐心和努力,这将为自己此后学习和工作做出了最佳榜样。我觉得作为一名计算机科学与技术专业学生,这次课程设计是很故意义。更重要是如何把自己平时所学东西应用到实际中。虽然自己对于这门课懂并不多,诸多基本东西都还没有较好掌握,觉得很难,也没有很有效办法通过自身去理解,但是靠着这一种多礼拜“学习”,在小组同窗协助和解说下,徐徐对这门课逐渐产生了些许兴趣,自己开始积极学习并逐渐从基本慢慢开始弄懂它。7参照文献1 王珊,萨师煊数据库系统概述,高等教诲出版社.2 C#高档程序设计,清华大学出版社. 3C#从入门到精通(第3版)清华大学出版社道谢在此道谢如下人员在我编写程序时对我协助1. 参照于百度懂得2. 参照于csdn,论坛3. 最重要是感谢周树森教师在这一学期里辛勤辅导,在此谢谢周教师。本来对这个工程完全没有头绪,慢慢开始进一步进去,最后完毕。同样感谢那些协助我指引我同窗,你们付出对我协助很大。后来我要再接再厉,学习刚多,弥补自己基本功不好劣势
限制150内