版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C# 程 序 设 计财务收支管理系统姓 名杨宗坤学 院信息与电气工程学院专 业计算机科学与技术年 级2012学 号694指导教师周树森2015 年 12月12财务收支管理系统杨宗坤(信息与电气工程学院,计算机科学与技术,2012级2班,694) 摘 要:当今社会越来越朝着信息化和数字化方向发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统, 市场上的财务管理软件大多数都面向企业并价格昂贵,或是专门偏向于
2、某一特殊领域,免费的财务管理软件更是少之又少,为了满足中小企业及个体经营者的需求,利用C#语言、ASP.NET、Visual Studio和数据库等开发软件和工具,设计开发了一个具有简单收支管理、登帐统计和查询等基本功能的财务管理系统,经过测试表明,系统可以较为稳定的实现这些基本功能。关键词:财务管理系统;ASP.NET ;SQL Server;程序设计;Abstract: Financial management is an important work of the company, usi
3、ng computer to manage the company financial, not only can save time and manpower, more fully, effectively grasp the basic situation of corporate finance, timely access to
4、 the latest accurate data and information.This system is for the user to provide powerful data manipulation functions, friendly interface, simple and convenient to use, based&
5、#160;on (client / server) mode,The design is reasonable, function relatively complete, the test run stability, can meet the need of the work。Keywords: C # .net, Financial management sys
6、tem,SQL Server。1 引言 信息化的飞速发展,促使电脑和网络已经日益影响到了人们的日常和工作过程中,给我们带来了很大的方便,也使人们对电脑依赖性越来越强。各种各样的应用软件系统成为了人民的重要助手和有效工具,明显改变着人民的生活。随着网络的普及,通过手写的方式在纸张上记录一些收支的做法已经逐渐被淘汰,已逐渐被在电脑上记录自己的收支情况的做法所取代。通过Visual Studio2010 工具的使用 和面向对象C#语言等知识,对财务管理系统的设计慢慢了解,深入学习,从而达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;根据课题的要求,
7、给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和Visual Studio2010工具的使用。2 系统分析2.1 系统需求财务收支管理工作随着我国市场经济的发展,在各个企业的管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。对于大型企业集团来说,财务管理显得更为重要,财务管理系统的建立将直接受到企业集团管理方式的影响,并直接影响企业的管理效率与经济效益。如何在现有经营环境下选择最佳的财务管理模式,使用最优的财务管理系统,实现企业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题。Microsoft公司的 C# 是Windows应用程序
8、开发工具,是目前广泛的、易学易用的面向对象的开发工具。Visual 2010提供了大量的控件,并且这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此实现本系统Visual 2010是一个相对较好的选择。关系型数据库的实现:SQL Server 2008就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。SQL Server 2008 的优点在于它能使用数据表示图或自定义窗体收集信息,并能对相关系的表进行视图连接,建立视图后可屏蔽一些数据使数据更为安全,并可以建立存储过程以便能够简化前台程序的编写。数
9、据表示可以使数据库一目了然。另外,SQL Server 2008用户设定自已的密码保护数据的安全性。SQL Server 2008提供对各种数据的约束,使用户输入的数据符合正规的逻辑,并提供各种数据与数据之间的相关性连接,能够级联更新一些相关的数据,更特别的是提供了触发器功能。SQL Server 2008是一种关系数据库工具,关系数据库是已开发的最通用的大型数据库之一,运行在服务企上更加安全。如上所述,SQL Server 2008作为关系数据库开发具备了许多优点。(2)技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需
10、求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查询、修改等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。(3)经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的
11、流动造成的收据丢失等问题,适应了当前的发展形式。(4)管理可行性随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。2.2 用户需求企业管理模式的选择应当是在对整体发展战略、经营情况、企业类型和子公司进行系统分析的基础上进行的,同时企业应充分根据自身发展的需要设计财务管理模式。设计时必须应当遵循以下原则: 1.安全性 安全性分为系统内部安全、访问安全及与其他系统对接时的安全性。内部安全体现在系统数据库的安全以及非法数据屏蔽等,可通过防火墙、划分网段来防范非法程序对数据库的破坏,对数
12、据库做计划,进行备份,对录入数据进行核查,对不满足条件的内容提示修改,对非法数据进行屏蔽。访问安全体现在对各个部门、各个用户按管理人员的安全策略进行分组管理、控制各组的访问权限以及信息的流向。与其他系统连接时,既要保证内部数据的安全,隔离内外部的信息通道,又要对外部信息资源进行访问控制。为保证整个系统的正常运行,必然要保证系统信息的绝对安全和可靠。 2.实用性 财务信息管理系统是一个工程项目,而不是研究或实验课题。系统建设的最终目的是服务于财务管理的需要,服务于企业在许可范围内对财务信息的需求。系统的建设应为应用服务。因此,系统的设计和建设应能满足需求并正确无误地高效地运行。 3.灵活性 系统
13、应设计任意组合的模糊查询功能,提供多方面的查询,以满足各个时期的报表。对复杂数据结构应实现修改一表的数据即可自动修改相关表中的数据,删除一表的数据即可自动删除与之相关的其他表数据,保证数据库中无冗余数据。 2.3 系统功能 通过用户需求分析,根据企业财务工作流程分析,本着模块划分的原则,把系统抽象为3个模块,分别文件系统、用户管理、财务管理。下面是各模块的功能:1. 文件系统:显示登录信息,存储登陆日志,修改密码,退出系统。2. 用户管理:显示用户列表,添加和修改用户,公司部门管理,角色管理,工作性质介绍。3. 财务管理:账单列表,添加和修改账单,显示收支信息以及账单性质。3 系统设计登 陆3
14、.1 模块流程图程序主窗口文件系统用户管理财务管理登陆日志修改密码员 工 信 息部 门 管 理账 单 列 表登 录信息收 支 明 细账 单 性 质 模块流程图采用结构化程序设计的思想,其有以下优点:(1).自顶向下逐步求精的思想与人类求解复杂问题的思维规律相符,有助于软件系统的分析与设计。(2).采用先抽象后具体、先宏观后微观、先总体后细节的开发过程,使得程序的层次结构清楚,可读性好。(3).单入口、单出口的控制结构,可以保证程序的静态结构与其动态执行流程基本相似,程序的可维护性好。(4).良好的模块化特性支持软件部件的重用。3.2 模块功能说明1.登录窗口:验证用户后打开程序管理窗口;2.程
15、序管理主窗口:为父窗体,在此窗体内显示财务管理及主要功能模块;3.程序管理子窗口:主窗口各模块下的子功能窗体;4.登陆信息修改窗口:对用户信息进行修改。4 系统模块4.1 登陆设计模块图1 登陆界面本界面是用户登录系统的界面,当用户提交登录信息,对用户进行身份及权限判断,再转入不同的页面。当用户名或密码、权限输入错误,会提示错误。输入用户名或密码错误后会显示如下界面:图2 登陆界面4.2 主界面模块窗口设计图3主窗口该窗口为父窗体,可以在此窗口内显示财务管理系统三个主要模块信息.用户在登陆界面按了输入正确账号密码的登陆按钮就可以转到此界面。4.3 登录信息窗口 图4登录信息窗口 该窗口为用户登
16、陆信息显示窗口,能显示用户登陆的时间,员工账号,上次登陆时间等信息。4.4 用户管理窗口图5用户列表窗口该窗口显示员工信息,部们编号,职位等信息。图6修改员工信息窗口该窗口可以修改员工用户各种信息。图7员工性质查询窗口 该窗口可以查询员工的性质名称,类别以及显示工作性质列表。图8收支列表窗口该窗口显示公司以及各员工收支明细,包括收支人,时间地点,以及增删查改等操作。能够清楚的显示该公司的收支情况。图9财务性质管理窗口该窗口可以对公司财务收支性质信息进行管理。4.4 修改用户密码窗口图10密码修改窗口该窗口可以修改用户密码。5 核心代码描述5.1 c#连接数据库的方式:(1)配置文件链接。利用V
17、S.NET开发平台进行开发的时候将会经常遇到要和数据库打交道,存取数据。这就涉及到和数据库的连接问题,.NET开发平台为我们提供了一种简单的方式来定义和数据库连接的字符串。这就是在Web.Config文件中添加连接字符串。(2)代码连接。#是一个语言,ASP.NET是一个平台,上面支持用C#或者VB.NET写代码。连接Access,SQL Server,Oracle,还有Excel数据库。本程序采用第一种连接方式,下面是主要源代码:<xml version="1.0" encoding="utf-8" ><configuration&g
18、t; <configSections> </configSections> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=OHU0SRPYXFXPE5O;Initial Catalog=MySystem;User ID=sa;Password=123456" providerName="System.Data.SqlClient" /> </connectionStrin
19、gs></configuration>其中,name 的值ctionStrings代表字符串的名称,Data Source代表数据库的实例名,User ID和Password分别代表用户名和密码。如果有多个数据库的连接,还可以在<appSettings>标签之下添加多个<add .>节。这样只需在配置文件中定义一次就可以在之后的数据库存取中多次重复利用这个设置。5.2 登陆界面主要代码namespace WinForm public partial class FrmLogin : Form MySystem.DAL.Employee dal = ne
20、w 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 FrmLogin() InitializeComponent(); private voi
21、d 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) try conn.Open
22、(); 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; 在编程中经常需要给程序制作一个登陆界面,在用户打开程序后首先弹出登陆窗口,如果输入正确的用户名和密码,才能登陆成功进入正式的程序界面。5.3修改用户账号密码n
23、amespace 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 void FrmUpdatePassword_Load(object send
24、er, 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.Text.Tri
25、m() 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(tx
26、t_NewPassword2.Text.Trim() 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.S
27、how("原密码输入错误"); return; model.LoginPassword = 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#的三层架构 usin
28、g System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; assembly: AssemblyTitle("MySystem.DAL") assembly: AssemblyDescription("") assembly: AssemblyConfiguration("") assembly: AssemblyCompany("super8") assembly: Assemb
29、lyProduct("MySystem.DAL") assembly: AssemblyCopyright("Copyright © super8 2015") assembly: AssemblyTrademark("") assembly: AssemblyCulture("") assembly: ComVisible(false) assembly: Guid("e0d8d0ee-bd5b-4811-8268-30c6e0397bd4") assembly: AssemblyV
30、ersion("") assembly: AssemblyFileVersion("") DAL Data Access Layer 数据访问层,这个层应该是负责程序与数据中心(除了数据库,还有存储数据的文件等)的交互,也就是将数据的增删改查的操作封装起来供其它层直接使用,这样一来,做此层的开发人员只需要关心数据,而不用关心业务逻辑; BLL Business Logic Layer 业务逻辑层,这个层是负责程序的业务逻辑,也就是对程序具体功能模块和程序执行流程的实现。此层的开发人员只需要关心程序的业务逻辑,而不需要关心数据是哪里来的,是怎么取得的等问题
31、; 而DbHelp,这个也应该是包含在DAL里面的(注意是包含,而不是说DbHelp就是DAL),DbHelp一般是一个类,此类一般会提供数据库访问的通过属性和方法。 简单的说,DAL需要做的是从数据源取数据和向数据源存数据,并将这些按需要分成不同的方法提供给其它层(如BLL);BLL需要做的是将程序的功能实现,需要数据的时候调用DAL提供的取数据方法,保存数据的时候调用 DAL 的存数据方法。代码中DAL主要是对数据库中的内容的操作,在这里就是向数据库中添加用户。BLL则主要是调用DAL层的操作,返回DAL层添加用户的结果(true或者false)。这样也就是在客户端与数据库中加了一个中间层,使得两层的依赖性减小。UI层则主要完成响应用户的需求,去调用BLL层实现的adduser方法,DAL层就是实实在在做这件事情的操作。6 总结在设计这个课题的过程中,面对着极其错综复杂的问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《软件测试与质量》2021-2022学年期末试卷
- 吉林艺术学院《数字音频创作》2021-2022学年第一学期期末试卷
- 吉林艺术学院《电影短片实务》2021-2022学年期末试卷
- 佣人合作协议书范文范本
- 吉林师范大学《学前教育专业创业指导》2021-2022学年第一学期期末试卷
- 2024年大批量租房合同范本
- 2022年公务员多省联考《申论》真题(河北县级卷)及答案解析
- 全省小学美术教师赛课一等奖人美版美术二年级下册《艺术作品中的动物》课件
- 吉林师范大学《史学史》2021-2022学年第一学期期末试卷
- 特殊形状包装盒采购合同
- 译林牛津版六年级英语上册-Unit5-Signs-Story-time课件
- 施工过程安全监督管理流程图
- 初中化学鲁教九年级上册(2023年新编)探秘水世界《探秘水世界》复习教学设计
- 肢体离断伤的护理查房
- 初中生不可不读的经典英语美文范文
- 一年级上册心理健康教育课件-我是快乐小天使 全国通用(共19张PPT)
- 人教版九年级化学 第一单元课题2 化学是一门以实验为基础的科学 课时1 对蜡烛及其燃烧的探究课件(20张PPT)
- 心电监护-PPT课件 (2)
- 幼儿园家园共育培训PPT课件
- 4.2《各种各样的土壤》教案公开课
- 学会面对陌生人PPT学习教案
评论
0/150
提交评论