基于ASP.NET的财务管理系统设计与实现 管理财务系统

【摘 要】当今社会越来越朝着信息化和数字化方向发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统, 市场上的财务管理软件大多数都面向企业并价格昂贵,或是专门偏向于某一特殊领域,免费的财务管理软件更是少之又少,为了满足中小企业及个体经营者的需求,利用C#语言、ASP.NET、Visual Studio和数据库等开发软件和工具,设计开发了一个具有简单工资发放、登帐统计和查询等基本功能的财务管理系统,经过测试表明,系统可以较为稳定的实现这些基本功能。

  【关键词】 财务管理系统;ASP.NET ;SQL Server;程序设计;

第一章 绪论

1.1课题来源

   信息化的飞速发展,促使电脑和网络已经日益影响到了人们的日常和工作过程中,给我们带来了很大的方便,也使人们对电脑依赖性越来越强。各种各样的应用软件系统成为了人民的重要助手和有效工具,明显改变着人民的生活。

   随着网络的普及,通过手写的方式在纸张上记录一些收支的做法已经逐渐被淘汰,已逐渐被在电脑上记录自己的收支情况的做法所取代。但是现在的问题是,当前市场中关于财务管理的软件系统大多数都是面向于企业需求,这些软件的价格都比较偏贵,也可能是专门针对某一领域而不具有通用性,免费的财务管理软件更是少之又少,为了满足中小企业及个体经营者的需求,特尝试开发此软件。

1.2系统结构模式的选择

   一个计算机的结构模式有C/S和B/S两种基本模式。C/S即为客户/服务器模式。一般来说,服务器一般为性能比较优良的个人电脑和小型机等,才用的数据库也较为高级,如Sybase、SQL Server和Oracle等。而客户端指在终端安装客户端软件。B/S即为浏览器/服务器模式。在终端只需要通过浏览器就可以访问服务器。也一般安装Sybase、SQL Server和Oracle等数据库。

   客户/服务器模式最主要的有点是可以利用终端计算机的处理能力,具有终端响应速度优越的特点,但是缺点也较为明显[1]:

   第一,这种模式只比较适合于局域网,而这种模式系统的扩展性较差又不适合互联网的飞速发展潮流。

   第二,需要在终端安装客户端程序。而这种程序的传输和携带都极为不便,很多数据信息都保存在了终端,对于终端设备的依赖性非常强,极其不方便。而且成本极高,不仅仅体现在软件程序上,还有使用的时间成本和方便性上。

   第三,对于操作系统的兼容性也较差。对于不同的操作系统可能产生不适应的情形,尤其是对于Linux这样的操作系统。

  而相应的,浏览器/服务器模式则完全不存在如上的3个缺点。

  B/S主要优点就是在每个地方都可以使用,只要有一台能上网的电脑就能使用,客户端都不用维护。系统的可以进行非常容易的扩展,只需要满足可以上网,然后管理员随机分一个用户名和密码,就可以用了[2]。也可以在线申请,通过公司内的安全认证后,不用人的参与,在我的这个系统可以自动分配给用户一个账号进入系统。由于B/S的种种优点,本系统采用了B/S模式。B/S结构维护方便,能够降低总体拥有成本。

1.3 核心框架三层架构

系统的核心框架三层架构指用户界面表示层(USL)、业务逻辑层(BLL)、数据访问层(DAL) ,BLL将USL与DAL隔开了,并且加入了业务规则。三层体系结构在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构。三层是指逻辑上的三层,即使这三个层放置到一台机器上, 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换[3]。

1.3.1 各层的作用

  各层作用如下:

  (1)数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。

(2)业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

  (3)表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

1.3.2 各层具体的区分方法

  数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

  业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

  表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

1.4 软件测试概述

1.4.1测试的重要性

   大型软件开发过程中,面对复杂的问题,人为的配合不可能没缺憾,因此,在软件生命周期的各个阶段难免会出现差错。如果在软件投入运行之前,没有发现并纠正软件中的大多数差错,这些问题就会迟早在生产过程中暴露,那时不仅改正这些差错的代价更高,而且会造成更严重的后果。测试的目的就是在软件投入生产性运行之前,尽可能地发现其中的错误。目前软件测试是保证软件质量的重要步骤,它是对软件的规格说明、设计和编码的最后复审。

1.4.2单元测试的简介

   单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。软件生命周期中,软件测试经过两个阶段。在编写出每个模块之后就对它作必要的单元测试,编码和单元测试属于软件生命周期的同一阶段,模块的编写者和测试者是同一个人。在这个阶段之后要进入软件生命周期中的另一个独立阶段——综合测试,通常由专门的测试人员来负责这项工作。软件测试的工作量占了整个软件开发的40%以上,对测试而言,是发现软件中的错误,但为了开发出最符合用户的需求,必须不断调试,对于测试结果也是软件分析的重要依据

   没有实际给多数用户测试的软件总是潜在着许多善未发现的问题。本系统虽然基本实现了其功能,满足了客户需求,但使用过程中还会存在一些问题,今后会更进一步优化,希望能被广大用户接受。

   

  在开发每一个模块后,为了保证程序正常运行,一定要对模块进行单元测试。单元测试在开发中非常重要,只有通过单元测试才能发现模块中存在的不足之处,才能及时更正程序中出现的错误。

1.4.3 测试的目的

  一般来说,软件系统的测试一般包含以下目的:

  第一,软件测试是为了发现错误而执行程序的过程;

  第二,测试是为了证明程序有错,而不是证明程序无错误;

  第三,一个好的测试用例是在于它能发现至今未发现的错误;

  第四,一个成功的测试是发现了至今未发现的错误的测试。

1.5本课程设计的意义

  本课程设计具有如下几点现实意义:

  第一,开发一个简单的但是较为完善、扩展性强、稳定性好的财务管理系统,能够有良好的人机交互功能,用户界面直观、友好、简便。

  第二,可以为小企业和个体经营者能够清晰自己的现金流状况、工资发放情况,以及财务专员的财务统计。

   第三,财务管理系统完全实现无纸化的运作流程,节约人力成本,避免造成不必要的浪费,方便统计以及打印输出。

第二章 开发技术及开发工具简介

  这一章主要是在开发过程中所用到的开发技术和工具来介绍,包括ASP.NET 、Visual Studio 2010和SQL Server 2008的简介,并在介绍这些技术和工具的过程中通过分析其优点或与其他同类产品的比较来论述选择它们的原因。

2.1 ASP.NET 简介

  本系统选择了微软.NET技术框架平台作为主导,一方面考虑到当前的微软的发展飞速,越来越多的企业将微软平台作为首选方案;另一方面来讲,微软平台上的应用在软件的部署上都非常容易,而且性能优越。

  在兼容性上,ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。同时,ASP.NET还是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。它可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。

2.2 Visual Studio 2010 简介

  Visualstudio.NET 2010里面有包含了很多高效率又智能的开发工具,然后不管你不是是为开发初学者,还是为了丰富经验的开发团队都提供了强大的作用。

2.3 SQL Server 2008数据库简介

  SQL全称是“Structured Query Language(结构化查询语言)”,它是用于与数据库通信的语言。SQL是一个非过程化的语言,它实行的是一次处理一个记录,对数据提供自动导航。它允许用户在高层的数据结构上工作,可操作数据集,SQL集合的特性允许一条SQL语句的结果作为另一条语句的输入。所有SQL语句使用查询优化器,决定对指定数据存取的最快的方法[11]。以下是SQL Server的浏览器/服务器结构,图2-1所示:

图2-1 SQL Server的浏览器/服务器结构

  浏览器端口可以通过发送一条消息或一个操作来启动服务器与数据库之间的交互,而服务器在获取数据后通过返回消息进行响应。

  综上,本系统的开发采用的语言:C#

  开发工具:Microsoft Visual Studio 2010

  操作系统:Windows XP professional

  后台数据库:Microsoft SQL Server 2008

第三章 系统需求分析

  软件开发中一个至关重要的问题是需求分析。然后继续弄清用户需求,这样子之后才可以开发出满足用户需要的系统,发挥系统作用,避免了开发人员在开发过程中因与用户需求的不一致,而导致的浪费。

3.1财务管理系统的流程描述

  本系统主要有三种角色,分别为管理员、财务专员和员工。职能如下,

  1)管理员:可以进行本系统任何一项操作,工资设定等。

  2)财务专员:除了基本信息编辑外,其他的都可以操作。

  3)员工:只能查看自己的工资情况以及公司简介

第七章 结束语

  学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。我开发的这个财务管理系统可以很好的帮助管理者对员工当月工资进行系统的管理,方便了管理者和员工,节省了时间,对于统计分析员工的工资也是有帮助的,这样员工就知道自己的工资情况,可以促进员工的工作积极性,使企业迅速发展。

  当今社会越来越多朝着信息化和数字化发展,计算机的应用领域使我们的生活越来越方便和迅捷,可以说我们的每个人生活都离不开计算机的帮助了。很多的个人应用软件已成为了人们重要的助手,也在潜移默化的改变着我们的生活。随着计算机的普及,现在几乎每家每户都有一台计算机,传统的人工记录工资的收入和支出已经不能满足时代的需求,这就需要我们开发一个财务管理系统,但市场上的这种软件,并不一定适合本公司,所以我专门开发了这款软件,方便员工查找自己的工资情况,以促进企业的发展。一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。不过由于经验不足,我设计的图形界面比较简单。只是对基本功能进行了开发。需要注意的是本系统开发时间仓促,所以还存在一定的不足,如页面过于简单,还望老师原谅。