计算机论文

更新时间:2024-04-25 23:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于B/S的家庭财务管理系统的设计与开发

摘要:

经济全球化和居民生活需求的变化以及计算机技术不断发展的今天,人们生活水平越来越高,财务管理也变得越来越重要,理财直接影响着人们的生活,本系统应用于B/S结构的平台,本研究课题的主要目的是提供财务数据统一管理和做出合理的财务决策,其界面友好,操作简单,除具备基本的财务信息管理外,还提供了数据统计,数据查询,图表自动统计等功能?

为方便操作,从多方面把用户的家庭收入?家庭支出?统计节余等财产管理的数据,以及他们的生活结余和消费统计,用科学统计的方法把这些数据存储在财务管理软件之中?以饼图形式说明收入?支出?节余三者之间的相互关系,为家庭的财产的有效管理和合理分配提供帮助?本文着重论述了该系统的功能与实现,如:数据流程与存储?管理等功能,并对关键的技术作了较详细的介绍?

关键词:B/S结构;数据查询;家庭理财

Abstract:

Economic globalization and changes in the demands of residents, as well as the continuous development of computer technology today, people's living standard is getting higher and higher, financial management has become increasingly important, for the management of a direct impact on people's lives, the system applies to B / S the structure of the platform, the main purpose of research is to provide unified

management of financial data and make a reasonable financial decision-making, and its user-friendly, simple operation, with the exception of basic financial information management, it also provided statistical data, data queries, charts statistical features such as automatic?

To facilitate the operation, from the many users of household income, household spending, savings and other statistical data on property management, as well as the balance of their lives and consumption statistics, statistics with scientific methods to the data stored in the financial management software to? pie chart form of income, expenditure, savings of the inter-relationship between the family's property

management and rational allocation and effective help? This article focuses on the function of the system and to achieve, such as: data flow and storage, management, etc. functions, key technologies and a more detailed presentation made?

Key words: B / S structure; data query; family financial management

第一章 概述

1.1选题意义及背景

当今计算机已经成为学习和工作的得力助手,计算机给人们带来了大量信息的同时也为家庭的生活带来了方便,特别是在家庭理财方面计算机更是应用广泛,资金的合理计划和分配直接关系到整个家庭经济支出和收入的平衡。运用简单的数学方法来核算整个家庭的财务状况是一项不容易完成的工作。建立家庭财务管理系统为完成这项工作提供了计算机化技术支持。

目前,国内外大部分的家庭理财系统都是采用ASP.net技术作为服务器端脚本,实现与数据库和其它应用互动的Web网页。但是ASP.net采用的是解释执行的方式,执行效率不高;部分理财系统性能低下,同时支持在线测试数量较少,远远达不到系统运行时的规模化效应。对于一个家庭来说,由于理财引起的网络风险不是他们愿意面对的,而且它在健壮性、可重用性等方面还有比较大的缺陷。 为了解决上述问题,本毕业设计采用C#可视化集成开发语言编写程序,利用SQL2000构建数据库,通过大部分数据库组件提供的接口技术来实现C#与数据库的连接。

当今社会的发展使人们越来越清楚地看到家庭理财方面的最关键问题,它直接决定这个家庭各方面的经济问题。只有让顾客更好的了解家庭经济的现状,才能让他们更好的了解财务管理的重要性,也更好的体现本软件的实际意义。所以财务管理软件将在现在家庭理财中发挥越来越重要的作用。通过对目前软件市场的分析可知,大多的家庭理财软件,功能方面不能满足客户的需求,为了满足软件市场的需求,需要开发更多功能齐全的相关软件,促进整个市场的良好发展。 随着计算机技术的发展, 随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用.管理信息系统(MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效率为目的,支持企业高层决策、中层控制、基层运作的集成化的人机系统。因此,管理信息系统绝不仅仅是一个技术系统,而是把人包括在内的人

机系统,因而它是一个管理系统,是个社会系统。

计算机已经成为我们学习和工作的得力助手,使用计算机可方便地管理家庭财务。今天,计算机的性价比提高了很多,它已经被应用于许多领域。 然而,现在我国的家庭财务管理水平还停留在纸笔操作的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然会被以计算机为基础的信息管理所取代。

改革的总设计师邓小平同志说过“科学技术是第一生产力”,所以本人希望编制出一个实用的程序来帮助家庭进行账务管理。 为将来家庭上网做好准备。 根据2005年6月中国电信的调查报告显示我国的上网人数已达到1.3亿,互联网已经十分普及,况且现在各个银行已经建起了个人网上银行,家庭财务管理系统为家庭账务的网络化做了先期工作,比如计算机的财务管理模式的建立。 因此开发家庭财务系统,使人们对家庭财务的管理更加快捷简便。 1.2 系统所要实现的功能

任何管理活动在信息系统中均有其投影,家庭财务管理系统也不例外。家庭财务管理信息系统成功的关键在于,用户可以通过这个系统,清楚地了解收来源和消费支出的详细情况,以及家庭的资金流动状况,对收支做出更具体的规划,有利于家庭做好投资计划,更好地规划家庭的生活,提高人们的生活水平。 家庭财务管理系统包括系统设置管理、账户信息管理、收支信息管理、明细查询管理和统计分析管理五个模块。

1.3系统分析

可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。

(1) 经济可行性:主要是对项目的经济效益进行评价,本系统开发经费对于本单位在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,有助于学院完全实现信息化管理。所以本系统在经济上是可行的。

(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成

开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Browser/Server模式进行开发。三层的Browser/Server体系结构具有许多传统Client/Server体系结构不具备的优点,而且又紧密的结合了

Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用Microsoft Access数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

(3) 时机可行性:目前,网络已经遍布全球,人们与人们之间的竞争日趋激烈,人们与人们之间的竞争已经上到一个新的高度,那就是信息化战争。最新的信息就是最好的竞争手段的实力,网上聊天系统就是获取最新信息的一个好途径。因此,建立一个网上聊天系统是事在必行。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。

1.4 需求分析

在可行性分析阶段已经粗略的研究了该项目的需求,并分析了开发平台及软件的可行性,但为了准确的确定目标系统必须做什么,了解用户的明确需求,在相关部门进行了详细的调研,进一步明确了作者所实现子系统的功能。

P第二章 软件可行性研究及其技术

2.1可行性研究

在实施一个项目之前,首先要对将要实施的项目进行可行性分析,确定项目是否值得进行。并不是所有的问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行解的话,那么花费在这项工程上的任何时间、资源、人力和经费都是浪费的。

可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题能否解决。可行性研究的目的不是解决问题,而是确定问题是否值得去解。如果是正确的就加以肯定。可行性分析的实现,不能靠主观猜想,只能客观分析达到这个目的,所以就必须分析几种方法解决可能的弊端,从而判断原定的系统目标和规模是否实现,系统完成后所能带来的价值是否大于开发这个系统的投资价值。因此,可行性研究实质上是要进行一次大大的压缩简化了系统分析和设计的过程。我们应该给出系统的逻辑模型,然后从系统逻辑模型出发,寻找可供选择的解法,研究每一种解法的可行性。一般说来,应从技术可行性、经济可行性、操作可行性等方面进行研究。

2.2技术可行性

技术可行性是最难决断和最关键的问题。根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。本系统采用的是.NET家族的ASP.NET技术和ADO.NET 技术。众所周知,.NET现在已经日趋成熟、稳定,被认为是计算机领域最有前途的技术之一。同时数据库采用的是SQL Server 2005,继SQL Server 2000之后的SQL Server 2005 更加可视化、稳定化,并且安全化。将ASP.NET,ADO.NET以及SQL Server 2005结合起来开发一套学生信息管理系统,必定是可行并且高效的。

2.3经济可行性

经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。看软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开的这套系统正是考虑为用户提高工作效率,节省工作时间,方

便操作与管理而设计。本系统的开发在经济上是完全可行的。开发此软件不需要大量的经费,而且是个人独立设计的,可以节省许多费用,同时也可提高个人的实际动手能力。

估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否会高于项目预期的全部经费。

① 支出: ·基础投资: 硬件设备:PC机

软件设备:WINDOWS2000/XP、Visual Studio 2005、SQL Server2005 ·其它一次性支出: 软件设计和开发费用 ·经常性支出:

软件维护费用、软件使用费用。

② 效益:

系统投入运行后可以使学生信息管理实现科学化、规范化。提高了学生信息管理人员的工作效率。

2.4操作可行性

由于现在的科技的飞速发展,计算机早已普及世界的方方面面,便利的科技条件,给人们带来优越的工作环境,这也使人们对工作效率及可操作性都有了更高的要求。因此,管理形式的计算机是社会发展的必然趋势,各种智能化的软件层出不穷,减少了原来人工操作的费时费力的状况,从而提高了工作效率和准确度。本系统用户平台直接面向管理员和普通用户,界面简单、明了,采用可视化界面,普通用户只需用鼠标和键盘就可以查看信息;多数的数据输入与数据维护是由管理员完成的。由于该系统的操作简便、易懂,对于初次使用此系统的用户,不必经过复杂的培训和学习就可以掌握系统的操作流程。由此可见,开发此软件在操作上是可行的。

第三章 所用技术

本系统采用b/S模式,后台使用SQL Sever作为后台的数据管理系统,而在前台使用SQL Sever的Command组件来调用存储过程的。SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。它具有简单,高效,功能强大等特点,一直是广大程序员喜爱的编程工具,并且运用C#作为编程语言,C#代码在.net框架提供的受控环境下运行,不允许直接操作内存。C#具有面向对象编程语言所应有的的一切特性,如封装,继承和多态。在 C#众多的优势中,它在数据库方面的特长显得尤为突出:适合于多种数据库结构,从客户/服务机模式到多层数据结构模式,而且C#编写的代码具有更好的可读性,而且减少了发生命名冲突的可能。

3.1 ASP.NET 简介

ASP.Net2.0是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译。ASP.Net2.0构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.Net2.0强大化软件支持的一小部分。

因为ASP.Net2.0是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.Net2.0的Web应用中。ASP.Net2.0同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.Net2.0。

ASP.Net2.0使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为\Local

Administration\的哲学观念使ASP.Net2.0的基于应用的开发更加具体,和快捷。一个ASP.Net2.0的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。

ASP.Net2.0已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.Net2.0应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。 ASP.NET优越性主要体现在以下几个方面:

(1)效率,ASP.NET是建立在.NET Framework之上的,可使用Visual Basic ,C++这样的模块化程序设计语言,在第一次执行后不须重新编译就可直接运行,所以速度和效率比ASP这种只能用VBScript或JavaScript这样的非模块化语言来编写的脚本编程语言提高很多。

(2)是可重用性ASP.NET不再像ASP那样将ASP代码与HTML混合在一起,而是实现代码与内容的完全分离,可重用性强。

(3)是代码量.ASP对所有要实现的功能通过编写代码来实现,而ASP.NET只须预先说明,就可自动实现,所以,实现同样的功能,ASP.NET要比ASP代码量小的多。

3.2 面向.NET的开发工具C#

C#是.NET的关键性语言,c#是一种简单的,类型安全的,现代的,和面向对象的程序开发语言。C#使用了很多C++的功能,如语句,表达式和操作符,另外C#参考了许多Java的技术规则。C#使用命名空间来组织,不同的命名空间可以包含不同类的相同名字,降低了名字的冲突性。C#有一个虚拟机(CLR)--公用语言运行环境,其对象具有层次性。C# 与Windows的体系结构相似,可以使用全部的Win32 API,因而是C#很容易被开发人员所熟悉。使用c#语言设计的组件能够用于Web服务,通过Internet可以被运行于任何操作系统上任何编程语言所调用

3.3 C#语言的特点

C#是专门为.NET应用而开发出的语言,他具有语法简洁,面向对象,面向Web,功能强大,灵活性与兼容性,完整的安全性与错误处理等特点。

⑴ 语法简洁 C#

OLE_COLOR,VARIANT_BOOL,DISPID_XXXXX等)使用起来

很方便。 ⑵ 面向对象

C#是面向对象的语言,所以具有封装性,多态性和单继承性。C#中常量和变量

还有函数等被封装在类中,提高了代码的可读性,降低了冲突。 ⑶ 面向Web

C#可以将大多数组件转换为Web服务,并允许他们通过Internet被运行在任何

操作系统上的任何语言所调用。 ⑷ 功能强大

C#可以开发控制程序,图形程序NT服务程序,普通组件,Web组件,Web页面,Web服务等

⑸ 灵活性和兼容性

C#是一种既灵活又高效的开发语言,为开发人员提供了灵活而快速的开手段,C#遵守.NET

公用语言规范,保证了C#组件与其它语言组件之间的相互操作。

3.4 SQL Server数据库简介

⑴ SQL Server为用户提供了完整的数据库解决方案,该软件功能强大、使用方便,已为越来越多的人所信赖。SQL Server支持并发连接,允许多个用户同时访问数据,完全能够满足用户的需求。SQL提供了强大的数据存储功能,高效率的数据查询技术、方便易用的向导和工具,友好亲切的用户界面,是制作该系统后台的很好的UY工具。

⑵ SQL Server 特点

① 真正的客户机/服务器体系结构。

②丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 ③ SQL Server与Windows NT完全集成,利用了NT的许多功能. SQL Server

也可以很好

地与Microsoft BackOffice产品集成。

④ SQL Server 具有很好的伸缩性,提供数据仓库功能。

⑤ 对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上 ,图形化

用户界面,使系统管理和数据库管理更加直观、简单。

3.5 HTML

HTML的英文全称是\中文译为“超文本标记语言”。“超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字的元素。在几年前作为SGML的一个子集开发的。

一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。虽然HTML是一种语言,但HTML不是程序语言,如 C++ 和 Java 之类,它只是标示语言,你只要明白了各种标记的用法便算学会了HTML.HTML 的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。

在编辑器中输入html代码即可完成对网页的设计,如果在其中加入VB,JAVA等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查询,从而生成动态网页的一部分。

3.2.6 ASP.NET AJAX

微软把自己的AJAX实现命名为ASP.NET AJAX。微软已经有了一个开发Web站点的ASP.NET平台,用户可以非常简单的在这个平台上增加AJAX开发环境。

今天人们关注AJAX的主要原因有: ① 用户响应时间短 ② 减少回发数据 ③ 丰富的用户体验

在传统的Web站点中,用户提交数据后需要等待,直到页面完成后数据回发相应结果。这意味着用户需要等待更长的时间。而在AJAX中,页面的处理从本质上来说是异步的。自然,Web页也就能更快的响应用户的操作。

在传统的Web应用程序中,Web页经常要频繁的将数据回发到服务器,即使只是一小部分需要改变也不例外。这样就导致了需要更多的网络流量,以及更长的时间来显示页面。而在AJAX中只是这个页面的一小部分才刷新,从而避免了整个页面的数据都回发至服务器,自然改善了性能和用户体验。

所有的ASP.NET AJAX由两部分组成:服务器端组件和客户端组件。服务端组件包括:服务器控件,Web服务,服务器控件扩展。ASP.NET AJAX允许你在你的应用程序中使用服务器控件来完成AJAX的一些功能。ASP.NET AJAX也允许你开发自己的AJAX服务器控件。这些控件也能有客户端行为,也能根据你的需求提供丰富的自定义功能。

ASP.NET AJAX客户端组件由JavaScript脚本库组成,这些脚本库全部是面向对象的JavaScript,而且相较于传统的JavaScript功能上有了很大的增强。ASP.NET AJAX客户端组件的另一个好处就是它不依赖于某一种浏览器,而是可以在几乎所有流行的浏览器中工作,如IE,FireFox等。

第四章 系统分析

4.1实现概述

该网站将采用三层体系结构将应用程序划分为三个逻辑层面,因为三层结构有很多优点,具体而言主要有以下几点:

首先,通过将整个系统分为不同的逻辑块,大大降低了应用系统开发和维护的成本。其次,系统的扩展性大大增强。模块化使得系统很容易在纵向和水平两个方向拓展:一方面可以将系统升级为更大、更有力的平台,同时也可以适当增加规模来增强系统的网络应用。最后,三层机构的中间层还提供全程交易保护功能,即要么全部提交要么全部放弃,数据具有高度的完整性和安全性。这三个逻辑层在本网站系统的具体功能如下:

(1)用户服务层(User Services Tier),也称为表现服务(Presebtation Services),是用户与应用程序进行交互的端点。通常由WIN32或者基于浏览器的图形用户界面应用构成。在该层用户可以查看、输入和处理数据。从用户的角度来看,用户服务层就是整个应用。在该网站系统中,用户服务层由asp.net web forms构成,它可以提供用户浏览和查询服务,查看他们的感兴趣的企业或是个人的信息,并且进行互动。

(2)商务服务层,也称为中间层或者应用服务层,它负责封装事务处理、商务规则、数据访问及其他的核心应用逻辑。商务服务层可以有效地作为前台用户服务层和后台数据服务和数据存储之间的桥梁。在网站系统中,商务服务层将由在windows组件服务中执行的事务处理和非事务处理.net服务组件构成。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。

(3)数据服务层,该层负责检索和操作在一个或者多个数据存储中存储的数据。通过将数据访问和操作分离到独立的逻辑层中,就可以将商品服务层从附属数据存储的细节中抽象出去。在该网站系统中,数据服务层定义和维护数据的完整性和安全性,响应访问数据的请求,它接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。

整个网站系统的逻辑体系结构如图2所示:

用户服务 用户交互 页面导航 数据表现 业务服务 事务处理逻辑 业务规则定义 数据访问 数据服务 数据检索 数据操作 数据验证 数据存储 数据存储 数据关系 数据完整性 图2 网站系统的逻辑体系结构图

数据库 SQL SERVER的存储过程 .NET的服务器组件 ASP.NET的web服务 ASP.NET的Web Forms 4.2 软件的运行环境设计

服务端硬件要求: 站点最低配置

PIII 500 MHz 以上

256 MB

600MB 以上

* 1

站点推荐配置

PIII 500 MHz 以上

512 MB

1GB 以上

* 2

服务端操作系统及软件要求: 1,服务器要求:

Windows NT Server With Server Pack4 and Microsoft Internet Explore SP1 以上 Windows 2000 系列

2, Web 服务器:

Microsoft IIS 5.0 以上 3, 数据库服务器: SQL server

客户端硬件及软件要求: 主频 最低配置

赛阳 300 MHz 以上 标准配置 PII 400 MHz 以上

128 MB 以上

IE 5.5

64 MB 以上

IE 5.0

内存

浏览器

本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4.1所示:

执行过程请求客户端回发验证Web服务器传送数据库检索

图 4.1 系统工作原理图

4.3 系统功能模块设计

功能结构图如下:

4.4数据库需求分析

数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。我采用了SQL server2000数据库管理系统,建立的数据库名为FinancialManagement。

4.5 数据库结构设计

4.5.1 F_Money (财务信息表)

主要用于保存财务的基本信息,该表的结构如表2所示

4.5.2 Users (家庭人员信息表)

主要用于保存家庭人员的基本信息,该表的结构如表2所示

4.5.3 Type (记账类型信息表)

主要用于保存记账类型的基本信息,该表的结构如表2所示

4.6功能模块

4.6.1用户登陆模块

家庭成员需要登陆才能使用系统。

涉及到的代码有:

private void chkUser() {

if (TxtUserName.Text == \ && TxtPassword.Text == \) {

Alert.AlertAndRedirect(\没有输入账号和密码!\, \);

} else {

dr = data.GetDataReader(\ + TxtUserName.Text.Trim() + \ + TxtPassword.Text.Trim() + \); if (dr.Read()) {

Session[\] = dr[\].ToString();

Response.Redirect(\);

}

else {

Alert.AlertAndRedirect(\账号或者密码不对请重新登陆!\, \); } } }

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) {

chkUser(); }

protected void ImageButton2_Click(object sender, ImageClickEventArgs e) {

TxtPassword.Text = \; TxtUserName.Text = \; }

protected void LinkButton1_Click(object sender, EventArgs e) {

Response.Redirect(\);

}

4.6.2 账目管理模块

查看,修改,删除 管理账目信息。

涉及到的代码有:

protected void gvFilms_RowDeleting(object sender, GridViewDeleteEventArgs e) {

SqlHelper mydata = new SqlHelper();

string ID = gvFilms.DataKeys[e.RowIndex].Values[0].ToString(); try {

mydata.RunSql(\ + ID + \);

Label4.Text = \删除成功!\; gvFilms.EditIndex = -1; Get_Article(); } catch {

Label4.Text = \删除失败!\; } }

private void Get_Article() { try {

gvFilms.DataSource = GetCodeBy(0); gvFilms.DataBind(); } catch {

} }

protected void gvFilms_PageIndexChanging(object sender, GridViewPageEventArgs e) {

gvFilms.PageIndex = e.NewPageIndex; Get_Article(); }

protected void gvFilms_RowDataBound(object sender, GridViewRowEventArgs e) {

//鼠标移动变色

if (e.Row.RowType == DataControlRowType.DataRow) {

//当鼠标放上去的时候 先保存当前行的背景颜色 并给附一颜色 e.Row.Attributes.Add(\,

\tWeight='';\);

//当鼠标离开的时候 将背景颜色还原的以前的颜色 e.Row.Attributes.Add(\,

\); }

//单击行改变行背景颜色

if (e.Row.RowType == DataControlRowType.DataRow) {

e.Row.Attributes.Add(\, \this.style.color='buttontext';this.style.cursor='default';\); } }

public DataSet GetCodeBy(int iCount) {

SqlHelper date = new SqlHelper(); string strTop = \; if (iCount > 1) {

strTop = \ + iCount.ToString(); }

string sql = \ + strTop + \; SqlConnection con = new SqlConnection(SqlHelper.connstring); SqlCommand cmd = new SqlCommand(sql, con);

SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = null; try {

con.Open(); ds = new DataSet(); da.Fill(ds);

}

catch (SqlException ex) {

throw ex; }

catch (Exception ex) {

throw ex; } finally {

con.Close(); }

return ds; }

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) {

Response.Redirect(\); }

protected void ImageButton2_Click(object sender, ImageClickEventArgs e) {

Response.Redirect(\);

}

4.6.3 添加账目模块

家庭成员登陆后可以在这里添加账目信息。

涉及到的代码有:

Alert alert = new Alert();

SqlHelper data = new SqlHelper(); public string DownPath;

protected void Page_Load(object sender, EventArgs e) {

if (!IsPostBack) {

Type(); Users();

} }

private void Type() {

drpParentItem.DataSource = data.GetDataReader(\); drpParentItem.DataTextField = \; drpParentItem.DataValueField = \; drpParentItem.DataBind(); }

private void Users() {

drpUserName.DataSource = data.GetDataReader(\); drpUserName.DataTextField = \; drpUserName.DataValueField = \; drpUserName.DataBind(); }

protected void IbnOk_Click(object sender, ImageClickEventArgs e) {

data.RunSql(\ + drpParentItem.SelectedItem.Text + \ + drpSubItem.SelectedItem.Text + \ +

drpUserName.SelectedItem.Text + \ + TxtMoney.Text + \ + TxtStatement.Text + \);

Alert.AlertAndRedirect(\添加成功!\, \); }

protected void IbnCanel_Click(object sender, ImageClickEventArgs e) {

Response.Redirect(\);

}

4.6.4 查找账目信息

家庭成员登陆后可以按时间对账目信息进行查询。

涉及到的代码有:

protected void IbnOk_Click(object sender, ImageClickEventArgs e) {

string beingtime = txttime1.Value; string endtime = Text1.Value;

Response.Redirect(\+beingtime+\+endtime); }

protected void IbnCanel_Click1(object sender, ImageClickEventArgs e) {

Response.Redirect(\);

}

4.6.5 家庭人员管理模块

添加,删除,修改,家庭人员信息。

涉及到的代码有:

protected void ImageButton2_Click1(object sender, ImageClickEventArgs e) {

Response.Redirect(\); }

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) {

data.RunSql(\ + TextBox4.Text + \ + TextBox3.Text + \ + TextBox2.Text + \);

Alert.AlertAndRedirect(\添加成功!\, \);

}

4.6.6 账目类别信息管理

添加,修改,删除账目类别信息。

涉及到的代码有:

protected void InitData() {

SqlHelper mydata = new SqlHelper();

GridView1.DataSource = mydata.GetDataReader(\); GridView1.DataBind(); }

//GridView控件RowDeleting事件

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {

SqlHelper mydata = new SqlHelper();

string ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString(); try {

mydata.RunSql(\ + ID + \); Label4.Text = \删除成功!\; GridView1.EditIndex = -1; InitData(); } catch {

Label4.Text = \删除失败!\; }

}

4.6.7账目统计信息

可以查询账目信息,可以到出道Excel 进行打印。

涉及到的代码有:

public DataSet GetCodeBy(int iCount) {

SqlHelper date = new SqlHelper(); string strTop = \; if (iCount > 1) {

strTop = \ + iCount.ToString(); }

string sql = \ + strTop + \; SqlConnection con = new SqlConnection(SqlHelper.connstring); SqlCommand cmd = new SqlCommand(sql, con);

SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = null; try {

con.Open(); ds = new DataSet(); da.Fill(ds);

}

catch (SqlException ex) {

throw ex; }

catch (Exception ex) {

throw ex; } finally {

con.Close();

}

return ds; }

private void DisableControls(Control gv) {

LinkButton lb = new LinkButton(); Literal l = new Literal();

string name = String.Empty;

for (int i = 0; i < gv.Controls.Count; i++) {

if (gv.Controls[i].GetType() == typeof(LinkButton)) {

l.Text = (gv.Controls[i] as LinkButton).Text; gv.Controls.Remove(gv.Controls[i]); gv.Controls.AddAt(i, l); }

else if (gv.Controls[i].GetType() == typeof(DropDownList)) {

l.Text = (gv.Controls[i] as DropDownList).SelectedItem.Text; gv.Controls.Remove(gv.Controls[i]); gv.Controls.AddAt(i, l); }

if (gv.Controls[i].HasControls()) {

DisableControls(gv.Controls[i]); } } }

public override void VerifyRenderingInServerForm(Control control) { }

protected void Button1_Click(object sender, EventArgs e) {

DisableControls(gvFilms);

Response.ClearContent();

Response.AddHeader(\, \); Response.ContentType = \;

StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw);

gvFilms.RenderControl(htw); Response.Write(sw.ToString()); Response.End();

}

五 系统测试

5.1单元测试

我们测试了网站系统中的每一个模块,测试内容包括模块的前台以及后台。每个模块作为一个独立体运行时,运行正常。

5.2集成测试

在进行完网站系统的单元测试后,我们进行了系统集成测试,集成测试的结果除了速度之外效果与单元测试一样。

5.3联网测试

我们将此系统发布到机房的服务器上,让超过40人次浏览该网站,除了速度之外,其他无任何异常。同时让一个人以管理员身份登录,并修改数据,也可以实现。只是,只有当用户刷新网页之后才可以看到更新的数据库信息。但同一时刻只能有一个人以管理员身份登录,并修改数据库,若同时有两个或两个以上的人以管理员身份登录系统将有提示信息,提示 “此刻正有用户以管理员身份登录,请稍候!”。

5.4浏览器测试

我们在不同浏览器上对网页进行了测试,结果表明此系统适合我们所选的浏览器。

5.5系统测试

我们分别在Windows 2000和Windows XP 两种操作系统环境下对网站系统进行了系统测试,在这两种操作系统下网站的运行完全正常。

六 总结与展望

通过这次毕业设计,我大致了解了进行软件开发工作的基本过程,并且从中获得了许多实际的、有意义的知识,其中我对以下几点有深刻的体会: (一)编程中定义窗体及变量的名称时,一定要规范,要让其他编程人员能够看懂,必要时可以加注释。

(二)对各个控件的属性、事件要了解清楚,这样才能在编程的过程中熟练的应用。

(三)在编程的过程中要不断的思考,对每一个可能出现的问题都尽量在编程中处理掉,避免以后的麻烦。

(四)对编程中用到的函数,要将其变量的含义了解清楚,这样才能顺 利应用,以实现函数的功能。

(五)程序编好后调试是非常重要的,它的意义在于通过调试可以逐步完善它的功能,改正程序中的错误,使程序尽量达到尽善尽美,在调试的过程中尽量不要以编程时的思想去调试,要以一个普通用户的思维去思考。

七 结束语

经过这一个月来对系统的分析、设计,使我对基于WEB的家庭财务管理系统有了全面的了解与认识,同时对基于WEB的药品流通管理系统做了具体的解剖。 我认为基于WEB的家庭财务管理系统成功的关键在于以下几方面:

导航界面的清晰,简单设计。界面的清晰简单可以使学习用户一目了然,轻松的找到自己浏览本系统的目的所在。不需要在花费大量时间来寻找本系统的内容,浪费用户时间,甚至打消用户的积极性。

系统的易管理性。系统的管理对于系统的维护来说很重要,社会是不断进步与发展的,用户对于网上娱乐的要求也会越来越高。因此系统要随着用户的需求而不断发生变化,不断更新系统的内容来满足用户更多的需求。本系统是利用ASP.Net2.0编程语言和SQLServer数据库编译设计的,运行环境简单,一般的浏览器都可进行浏览。

本系统的大部分模块已经实现,并且也符合以上几个特性。但是,一个完整的系统仅仅靠两月的分析、设计来开发是远远不够的,它需要更长的时间来测试并完善。因此,本系统仍然存在着一些需要改进和不足的问题。比如系统的整体设计需要进一步的美观,系统的自适应性还不够完善还需要进一步的改善和加强,系统的内容需要更加丰富和多样化。随着研究的进行,可能还会出现其他一些问题,我会继续努力,逐步改善和不断完善本系统。

八 致谢词

在老师和同学的帮助下,我所开发的系统得到顺利的完成与实现。 感谢我所有的同学和朋友。在学习生涯中,他们给了我许多帮助,带给我无限的快乐 。是他们陪我一起走过学生时代,和我同舟共济,共同迎接困难和挑战,他们对我的种种支持和帮助,最是感激不尽。

最后,感谢所有的老师。是他们传授给我了宝贵知识,是他们使我学会了奋斗与拼搏,同样是他们使我懂得了坚强与自信。他们在我的大学期间付出了很多的心血与精力,在我的学习道路中,他们孜孜不倦的教诲和鼓舞是促进我不断进取的重要精神动力。

八 参考文献

[1]《asp.net2005入门和提高》 清华大学出版 [2]《基于internet/intranet的科技期刊管理系信息系统的设计与实现》 中国科技期刊研

究 2005 vol16 No.6 p517-520

[3]《ASP.NET网页制作教程》 王国荣 著 华中科技大学出版社 2002年8月第1版

[4]《ASP.NET+ SQL server动态网站开发案例精选》 刘斌 张军 编著 清华大学出版社

2005年10月 第一版 [5]《ASP.NET编程实例与技巧集粹》 肖健 编著 北京希望电子出版社 2003年5月 第一

[6]《ASP 网络编程技术》肖金秀 编著 清华大学出版社 2001年

[7]《软件工程概论》 郑人杰 殷人昆 编著 清华大学出版社 2004年 6月

本文来源:https://www.bwwdw.com/article/826p.html

Top