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

第一章 绪论
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单元测试的简介
  单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
  在开发每一个模块后,为了保证程序正常运行,一定要对模块进行单元测试。单元测试在开发中非常重要,只有通过单元测试才能发现模块中存在的不足之处,才能及时更正程序中出现的错误。
1.4.3 测试的目的
  一般来说,软件系统的测试一般包含以下目的:
  第一,软件测试是为了发现错误而执行程序的过程;
  第二,测试是为了证明程序有错,而不是证明程序无错误;
  第三,一个好的测试用例是在于它能发现至今未发现的错误;
  第四,一个成功的测试是发现了至今未发现的错误的测试。
1.5本课程设计的意义
  本课程设计具有如下几点现实意义:
  第一,开发一个简单的但是较为完善、扩展性强、稳定性好的财务管理系统,能够有良好的人机交互功能,用户界面直观、友好、简便。
  第二,可以为小企业和个体经营者能够清晰自己的现金流状况、工资发放情况,以及财务专员的财务统计。
   第三,财务管理系统完全实现无纸化的运作流程,节约人力成本,避免造成不必要的浪费,方便统计以及打印输出。
第二章 开发技术及开发工具简介
  本章对本系统在开发过程中所用到的开发技术和开发工具进行简单介绍,主要包括ASP.NET 、Visual Studio 2010和SQL Server 2008的简介,并在介绍这些技术和工具的过程中通过分析其优点或与其他同类产品的比较来论述选择它们的原因。
2.1 ASP.NET 简介
  本系统选择了微软.NET技术框架平台作为主导,一方面考虑到当前的微软的发展飞速,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
  .NET首先是一个开发平台,它定义了一个公共语言子集CLS (Common Language Specification)即公共语言规范,这是一种为符合其规范的语言与类库之间提供无缝集成的混合语。.NET统一的编程类库,提供了对下一代网络通信标准可扩展标记语言(Extensible Markup Language,XML)的完全支持,使用应用程序的开发变得更容易,更简单。因为.Net不使用注册表,所以很多应用可以用简单的拷贝命令来实现,不需开发安装程序。另外,应用程序不会锁定assembly,所以升级DLL时不用不关闭应用程序。
  在兼容性上,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的浏览器/服务器结构

  浏览器端口可以通过发送一条消息或一个操作来启动服务器与数据库之间的交互,而服务器在获取数据后通过返回消息进行响应。
  对于SQL Server,它能够满足如今的商业环境所要求不同类型的数据库解决方案。它是一种应用广泛的数据库管理系统,优点在于:用于决策支持的数据仓库功能、良好的性价比、易用性、适合分布式组织的可伸缩性、与许多其他服务器软件紧密关联的集成性等。
  综上,本系统的开发采用的语言:C#
  开发工具:Microsoft Visual Studio 2010
  操作系统:Windows XP professional
  后台数据库:Microsoft SQL Server 2008
第三章 系统需求分析
  软件开发中一个至关重要的问题是需求分析。然后继续弄清用户需求,这样子之后才可以开发出满足用户需要的系统,发挥系统作用,避免了开发人员在开发过程中因与用户需求的不一致,而导致的浪费。
3.1财务管理系统的流程描述
  本系统主要有三种角色,分别为管理员、财务专员和员工。职能如下,
  1)管理员:可以进行本系统任何一项操作,工资设定等。
  2)财务专员:除了基本信息编辑外,其他的都可以操作。
  3)员工:只能查看自己的工资情况以及公司简介
3.2功能描述
  本财务管理系统的功能包含以下几个方面:
  1)信息编辑
  对于信息编辑主要有三个角色的用户,分别为管理员、财务专员以及员工。只有管理员方可操作,能对三种角色进行添加、更新、删除等一系列基本操作。本系统三种角色的用户信息统一存在一张表,表中有字段用来区分为何种角色。
  2)登账模块
  只有管理员以及财务专员的角色,才可以操作此模块的内容,可以先设置登账的类型,比如工资支出或是财务收入,然后方可选择进行登帐,登账记录金额等相关信息。
  3)工资设定
  只有管理员以及财务专员的角色,才可以操作此模块的内容,每个月只能设定一次,设定错误可以删除,重新设定。
  4)其他设置
  给公司建议或者意见。
3.3 系统功能结构
  了解系统的业务流程之后,根据系统的业务流程及总体规划设计的功能结构图如下:
  
系统功能结构图 3-1
第四章 数据库设计
4.1系统数据流图
  财务管理系统的数据流图举例如下:

图4-1用户综合管理流图
  
4.2数据库结构设计
4.2.1数据库概念结构
  由于管理系统在本质上是处理信息的系统,所以,在软件的整个开发过程中,都应该考虑这两方面:“数据”和对数据的“处理”。在需求分析阶段则即要分析用户需要有哪些数据,数据间有何种联系,数据本身有哪些性质,数据的结构等,又要分析用户的处理品要求,包括对数据进行哪些处理,每个处理的逻辑功能等。
  为了能够把用户的需求都表达出来,在这时候系统分析员需要建立一个信息模型的概念性的数据模型。概念性模型是一种面向问题数据模型,是按照用户的要求来对数据信息建模。并且是从用户角度看到的数据,并且与在软件系统中的实现方法没有关系。
  通常,软件系统中有许多数据是需要长久存储的,为了修改简化数据过程,减少数据冗余,应该对数据进行规范化。财务管理系统E-R图如下所示:

第五章 系统详细设计及测试
  本系统主要包含以下几个方面,系统登录、管理员首页、公司简介、工资列表信息、基本信息显示及添加、登帐记录和查询以及系统设置。
5.1 系统登录
  系统登录,如图5-1所示:

图5-1系统登录图

  在登录登录页面中,使用了验证码来验证,防止恶意登录,造成系统崩溃,如图5-2所示。在点击按钮进行登录的过程如下:
  (1)利用JQuery判断是否输入用户名、密码、和验证码,避免浪费不必要的时间与服务器进行验证;
  (2)当用户名、密码和验证码都有值时,判断验证码文本框的值与用session记录下来的验证码的值是否一致,一致则进行下一步;
  (3)判断用户名是否存在;
  (4)判断密码是否正确;
  (5)当输入的信息与数据库某条记录一致,即可登录本系统,本系统将采用cookie来记录登录信息,并且跳到主界面。

原创文章,作者:Editor,如若转载,请注明出处:http://www.diyilunwen.com/lwfw/cwgl/1467.html

(0)
EditorEditor
上一篇 2014年10月14日
下一篇 2014年10月14日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注