家庭财务管理系统_第1页
家庭财务管理系统_第2页
家庭财务管理系统_第3页
家庭财务管理系统_第4页
家庭财务管理系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

家庭财务管理系统

(说明书)题目:家庭财务管理系统设计与实现姓名: 李卫杰 编号:()字号平顶Q工Q取Q技术孽皖年月日平顶山工业职业技术学院毕业设计(论文)任务书姓名 专业 任务下达日期年月设计(论文)开始日期年月设计(论文)完成日期年月设计论文题目 A.编制设计 B.设计专题(毕业论文) 指导教师 系(部)主任 年月日平顶山工业职业技术学院毕业设计(论文)评语第页TOC\o"1-5"\h\z共 页学生姓名:,专业年级毕业设计(论文)题目: 评阅人: 指导教师:(签字) 年 月 口成绩: 系(部)主任:(签字) 年 月 口毕业设计(论文)及答辩评语:平顶山工业职业技术学院毕业设计(论文)答辩委员会记录系 专业,学生 于年月日进行了毕业设计(论文)答辩。设计题目:专题(论文)题目:指导教师:答辩委员会根据学生提交毕业设计(论文)材料,根据学生答辩情况,经答辩委员会讨论评定,给予学生 毕业设计(论文)成绩为 。答辩委员会人,出席人。答辩委员会人,出席人。答辩委员会主任(签字):答辩委员会副主任(签字):答辩委员会委员:毕业设计中文摘要全球经济蓬勃发展带来了金融理财领域巨大变革和创新,尤其对现代家庭与个人传统理财观念有着较大革新。改革开放以来,我国社会经济发展和居民收入水平得到了很大提高,家庭财务管理活动已成为居民生活重要内容。因此,人们迫切需要一个能充分利用计算机优势,快捷、方便、高效、易操作管理系统来管理家庭财务收支。按照家庭成员对自身财产管理要求,根据相关管理经验,以记录信息、提示信息,提供良好操作平台为根本目,并将收入管理、支出管理、借贷管理、银行账户管理等方面有机组成一个整体。本论文主要介绍了家庭财务管理系统开发过程和所涉及到问题及解决方法。本家庭财务管理系统采用C#语言在MiciosoRVisualStudio2005平台下开发而成,整个系统是一个单机系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询。最后经过测试,系统能正常运行,功能完善,性能较高。总得来说这个系统开发是比较成功。关键词:家庭财务管理系统C#MicrosoftVisualStudio2005毕业设计英文摘要Boomingglobaleconomyhasbroughtgreatchangesinthefieldoffinancialplanningandinnovation,especiallyintraditionalmodernfamilyandpersonalfinancialmanagementconceptswithgreaterinnovation.Sincereformandopening,China'ssocialeconomicdevelopmentandpeople'sincomelevelhasbeengreatlyimproved,familyfinancialmanagementactivitieshavebecomeanimportantpartofliving.Therefore,thereisanurgentneedforacomputertotakefoiladvantageoftheuse,fast,convenient,efficient,easymanagementsystemtomanagethefamilyfinancesandexpenditureFamilymembersownpropertyinaccordancewithregulatoryrequirements,inaccordancewithrelevantmanagementexperience,torecordinformation,tips,provideagoodplatfonnfbrthefundamentalpurpose,andrevenuemanagement,expendituremanagement,loanmanagement,bankaccountmanagement,organicFormawhole.Thispaperintroducesafamilyfinancialmanagementsystemdevelopmentprocessandtheissuesinvolvedandtheirsolutions.ThefamilyfinancialmanagementsystemusingC#languageinMierosoftVisualStudio2005developmentplatformismade,theentiresystemisastand-alonesystem,theoperatorcanrecordthehouseholdincome,expenditiire,etc.,canbequeriedinvariousways.Finally,aftertesting,thesystemwilloperatefiillyfiinctional,highperformance.Generallyspeakingthedevelopmentofthissystemismoresuccessfill.Keywords:FamilyFinancialManagementSystemC#MicrosoftVisualStudio2005目录第一章绪论1课题背景1课题简介1国内外研究现状1设计目标2任务概述2本章小结 2第二章关键技术3NET简介3C#简介5开发工具介绍8本章小结11第三章需求分析13任务概述13系统功能需求13性能需求14运行需求14安全性需求15可用性需求15本章小结16第四章总体设计17系统功能模块设计17建立E・R图18数据库设计20数据流图23本章小结25第五章系统实现27数据库连接27登陆界面27管理员界面29个人信息管理模块29家庭成员信息管理模块30收入、支出模块设计 32存款信息管理模块33借入、借出信息管理模块35本章小结36第六章综合测试37测试方法37测试用例37测试环境与配置38测试总结39本章小结39结论40致谢41参考文献42第一章绪论L1课题背景近几年来,随着我国城乡居民收入增加和生活水平提高,家庭理财已成为人们居家过日子重要内容。社会学家细心观察到,时下家庭财务管理比之计划经济年代,开始发生微妙变化。现在城乡家庭生活发生了明显变化,人们收入逐渐拉开档次,消费水平也高了。大多数家庭关注是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当娱乐活动、社会交际、智力开发等方面开支。为此,不少家庭就有中长期财务预算,有基本建设规划。总说来,家庭财务必须以量入为出为原贝以财产保值增值为目标,处理好积累和消费关系。因此,开发一个家庭财务管理系统具有很强实用性,能够达到对家庭财务合理有效管理。课题简介家庭财务管理系统是每一个家庭管理家庭财务收入和支出不可缺少一个管理信息系统,它内容对于家庭管理者来说是至关重要,所以家庭财务管理系统应该能够为每一个家庭管理者提供充足信息和快捷查询手段,大大方便家庭管理者合理理财。随着科学技术不断提高,计算机科学日渐成熟,其强大功能已被人们深刻认识,它已进入人类社会各个领域并发挥着越来越重要作用。作为计算机应用一部分,使用计算机对家庭财务进行管理,具有手工管理所无法比拟优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理效率,也是家庭理财科学化、正规化管理,与先进科学技术接轨重要条件。国内外研究现状随着现代计算机技术蓬勃发展,用C#等各种程序语言开发家庭财务管理系统软件应运而生,每套系统开发都有其针对性解决了一系列家庭财务管理问题。市场上出现了一些优秀并被客户认可系统软件。如:北京财富软件公司开发“财富大家”软件在产品研制开发及功能设计等各个方面,都对家庭理财过程予以考虑,并且与银行、保险公司等进行深入合作,在软件中加入了中国银行电子钱包等功能,使电子货币应用特别是在网上购物过程中应用得到充分体现。除此,外国商家也不落其后,相继开发了许多针对家庭财务管理可行性系统软件。如:直觉公司(Intuit)Quicken软件使客户从家里联机到网上办理付账、购物和理财业务;美国微软Money系列家庭财务软件,其中个人财务软件"Money2005"可提供4种版本,很容易进行帐户管理三种主要操作一一追踪余额、支出管理以及账单结算。设计目标家庭财务管理系统用户使用本系统进行管理,能够感到方便,系统操作简单,功能基本符合其管理要求,方便对日常收入、日常支出、现金借入及借出进行管理,了解家庭当下财力状况等。同时本系统还要求查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大提高管理操作效率,节省了很大一部分时间,可以让用户做更多别有意义事情。任务概述这个毕业设计最终目标是设计、实现一个功能完善家庭财务管理系统。这个系统是用C#语言开发。我负责整个系统架构设计、编码、测试等。这篇论文我主要先对课题做简要介绍,然后介绍了开发本系统所用到新技术,接着对整个系统进行系统需求分析设计、系统概要设计、系统详细设计、综合测试,最后演示完整系统。本章小结本章主要介绍了该系统研究背景急意义,针对该系统分析,国内外研究发展现状;并且简要介绍了课题研究内容及研究目标。第二章关键技术本系统采用ASP.NET+MicrosoftSQLServer2005模式来订制一个基于Web家庭财务管理系统。本章将介绍系统开发中应用关键技术、工作环境等,包括开发系统所使用ASP和ASP各种对象及过程、MicrosoftSQLServe12005、VisualStudio2008等,这些技术在后面系统实现中都会使用到。2.1NET简介.NET具有两个主要组件:公共语言运行库和.NET类库。公共语言运行库是.NET基础。可以将运行库看作一个在执行时管理代码代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格类型安全以及可提高安全性和可靠性其他形式代码准确性。事实上,代码管理概念是运行库基本原则。以运行库为目标代码称为托管代码,而不以运行库为目标代码称为非托管代码。.NET另一个主要组件是类库,它是一个综合性面向对象可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供最新创新应用程序(如Web窗体和XMLWebservices)o.NET可由非托管组件承载,这些组件将公共语言运行库加载到它们进程中并启动托管代码执行,从而创建一个可以同时利用托管和非托管功能软件环境。.NET不但提供若干个运行库宿主,而且还支持第三方运行库宿主开发。1、公共语言运行库功能公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。这些功能是在公共语言运行库上运行托管代码所固有。至于安全性,取决于包括托管组件来源(如Intemet、企业网络或本地计算机)在内一些因素,托管组件被赋予不同程度信任。这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用功能,也可能不能够执行这些功能。运行库强制实施代码访问安全。例如,用户可以相信嵌入在Web页中可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们个人数据、文件系统或网络。这样,运行库安全性功能就使通过Intemet部署合法软件能够具有特别丰富功能。运行库还通过实现称为通用类型系统(CTS)严格类型验证和代码验证基础结构来加强代码可靠性。CTS确保所有托管代码都是可以自我描述。各种MiciosoR和第三方语言编译器生成符合CTS托管代码。这意味着托管代码可在严格实施类型保真和类型安全同时使用其他托管类型和实例。此外,运行库托管环境还消除了许多常见软件问题。例如,运行库自动处理对象布局并管理对对象引用,在不再使用它们时将它们释放。这种自动内存管理解决了两个最常见应用程序错误:内存泄漏和无效内存引用。运行库还提高了开发人员工作效率。例如,程序员可以用他们选择开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写运行库、类库和组件。任何选择以运行库为目标编译器供应商都可以这样做。以.NET为目标语言编译器使得用该语言编写现有代码可以使用.NET功能,这大大减轻了现有应用程序迁移过程工作负担。尽管运行库是为未来软件设计,但是它也支持现在和以前软件。托管和非托管代码之间互操作性使开发人员能够继续使用所需COM组件和DLLo运行库旨在增强性能。尽管公共语言运行库提供许多标准运行库服务,但是它从不解释托管代码。一种称为实时(JIT)编译功能使所有托管代码能够以它在其上执行系统本机语言运行。同时,内存管理器排除了出现零碎内存可能性,并增大了内存引用区域以进一步提高性能。.NET类库,NET类库是一个与公共语言运行库紧密集成可重用类型集合。该类库是面向对象,易于学习与使用。此外,第三方组件可与.NET中类无缝集成。例如.NET集合类实现一组可用于开发自定义集合类接口。自定义集合类将与.NET中类无缝地混合。正如面向对象类库所要求那样.NET类型能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案类型。C#简介C#是专门为.NET应用而开发出语言。这从根本上保证了C#与.NET框架完美结合。在.NET运行库支持下.NET框架各种优点在C#中表现得淋漓尽致。C#比较突出特点包括:1、简洁语法在缺省情况下,C#代码在.NET框架提供“可操纵”环境下运行,不允许直接地内存操作。它所带来最大特色是没有了指针。与此相关是,那些在C++中被疯狂使用操作符(例如:“::”、“・>”和已经不再出现。C#只支持一个对于用户来说,现在需要理解一切仅仅是名字嵌套而已。C#用真正关键字换掉了那些把活动模板库(ActiveTemplateLibraiyALT)和COM搞得乱糟糟伪关键字,如OLE_COLOR、BOOL、VARIANT.BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。语法中冗余是C++中常见问题,比如"const"和"#deflne”、各种各样字符类型等等。C#对此进行了简化,只保留了常见形式,而别冗余形式从它语法结构中被清除了出去。2、精心地面向对象设计有一定软件开发经验人都知道,从Smalltalk开始,面向对象话题就始终缠绕着任何一种现代程序设计语言。确,C#具有面向对象语言所应有一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件绝对选择。在C#类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)机制来完成这种操作,而不给使用者带来麻烦。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义混乱。C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切一切,都必须封装在一个类之中。使用C#编写出来代码将具有更好可读性,并且减少了发生命名冲突可能。整个C#类模型是建立在.NET虚拟对象系统(VisualObjectSystem,VOS)基础之上,其对象模型是.NET基础架构一部分,而不再是其本身组成部分。在下面将会谈到,这样做另一个好处是兼容性。借助于从VB中得来丰富RAD经验,C#具备了良好开发环境。结合自身强大面向对象功能,C#使得开发人员生产效率得到极大提高。对于公司而言,软件开发周期缩短将能使它们更好应付网络经济竞争。在功能与效率杠杆上人们终于找到了支点。4、与Web紧密结合.NET中新应用程序开发模型意味着越来越多解决方案需要与Web标准相统一,例如超文本标记语言(HypertextMarkupLanguage,HTML)和XMLo由于历史原因,现存一些开发工具不能与Web紧密地结合。SOAP使用使得C#克服了这一缺陷,大规模深层次分布式开发从此成为可能。由于有了Web服务框架帮助,对程序员来说,网络服务看起来就象是C#本地对象。程序员们能够利用他们已有面向对象知识与技巧开发Web服务。仅需要使用简单C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Intemet被运行在任何操作系统上任何语言所调用。举个例子,XML已经成为网络中数据结构传递标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效处理各种数据。5、完整安全性与错误处理语言安全性与错误处理能力,是衡量一种语言是否优秀重要依据。任何人都会犯错误,即使是最熟练程序员也不例外:忘记变量初始化,对不属于自己管理范围内存空间进行修改。这些错误常常产生难以预见后果。一旦这样软件被投入使用,寻找与改正这些简单错误代价将会是让人无法承受。C#先进设计思想可以消除软件开发中许多常见错误,并提供了包括类型安全在内完整安全性能。为了减少开发中错误,C#会帮助开发者通过更少代码完成相同功能,这不但减轻了编程人员工作量,同时更有效地避免了错误发生。.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码ID来配置安全等级。在缺省情况下,从Internet和Intranet下载代码都不允许访问任何本地文件和资源。比方说,一个在网络上共享目录中运行程序,如果它要访问本地一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中垃圾收集机制减轻了开发人员对内存管理负担。.NET平台提供垃圾收集器(GarbageCollection,GC)将负责资源释放与对象撤销时内存清理工作。变量是类型安全。C#中不能使用未初始化变量,对象成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向有效性;C#中提供了边界检查与溢出检查功能。6、版本处理技术C#提供内置版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中组件(模块)是一件容易产生错误工作。在代码修改过程中可能对现存软件产生影响,很有可能导致程序崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在C++或java中经常发生那样不经意地被进行,这可以防止代码级错误和保留版本化特性。另一个相关特性是接口和接口继承支持。这些特性可以保证复杂软件可以被方便地开发和升级。7、灵活性和兼容性在简化语法同时,C#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认状态下没有指针等等,但是,这并不影响其使用灵巧性。正是由于其灵活性,C#允许与C风格需要传递指针型参数API进行交互操作,DLL任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(CommonLanguageSpecification,CLS),从而保证了C#组件与其它语言组件间互操作性。元数据(Metadata)概念引入既保证了兼容性,又实现了类型安全。开发工具介绍SQLServe12005SQLSeiver2005是一个全面数据库平台,使用集成商业智能(BI)工具提供了企业级数据管理。SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠存储功能,可以为用户构建和管理用于业务高可用和高性能数据应用程序。SQLServei2005数据引擎是本企业数据管理解决方案核心。此外SQLServel2005结合了分析、报表、集成和通知功能。这使企业可以构建和部署经济有效BI解决方案,帮助企业团队通过记分卡、Dashboard>Webseivices和移动设备将数据应用推向业务各个领域。与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新开发工具包(包括BusinessIntelligenceDevelopmentStudio)紧密集成使SQLServer2005与众不同。无论是开发人员、数据库管理员、信息工作者还是决策者,SQLSei-ver2005都可以为其提供创新解决方案,帮助用户从数据中更多地获益。SQLSeiver2005引入很多具有价值新功能,这些功能将有助于用户在以下三个主要方面提高业务:1、企业数据管理SQLServer2005针对行业和分析应用程序提供了一种更安全可靠和更高效数据平台。SQLServeI最新版本不仅是迄今为止SQLServe】最大发行版本,而且是最为可靠安全版本。2、开发人员生产效率SQLSeiver2005提供了一种端对端开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。3、商业智能SQLSeiver2005综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序价值。构建于SQLSei-ver2005BI解决方案使所有员工可以及时获得关键信息,从而在更短时间内制定更好决策。在安全性方面,SQLSex-ver2005增加了很多新特性,主要包括默认关闭、权限控制、用户与计划分离、强口令策略等。(1)默认关闭SQLServer2005默认将只会启用少数核心功能和服务,这样,就限制了暴露“表面积”,并且,管理员只会启用那些他们环境所必需服务和功能。在SQLServe】2005中默认被禁用服务和组件包括:.NET框架、ServiceBroke】•网络连接组件、分析服务HTTP连接组件。其他一些服务,例如SQLServer代理、全文检索、新数据转换(DTS)服务,被设置为手动启动,并且请求直接启动,则会被设置为自动启动。(2)细化权限控制SQLSeiver2005中新安全模型允许管理员在某个细化等级上,和某个指定范围内管理权限,这样,管理权限更加容易,并且权限最低原则得到遵循。(3)用户和计划分离SQLSeiver2005通过切断了用户和他所拥有数据库对象之间隐式链按,简化了安全管理操作。例如,在SQLServer以前版本中,如果您想移除一个用户,您不得不首先移除这位用户所拥有数据库对象,或重新指派其所有权,这显而易见地会使整个过程变得复杂,并有可能影响到很多应用程序使用。而在SQLServe12005新安全模型中,移除用户不会要求更改任何一个应用程序。(4)为标准登录提供强制口令策略管理员能够对标准登录帐号指定和WindowsServe1中密码策略风格一样策略,这样,同一个策略就能应用到域中所有帐号上。(5)在模块上执行关联文本SQLSeiver2005允许为一个模块中语句执行指定关联文本。这个功能同时也在细化权限管理时起了非常好作用。(6)数据定义语言(DDL)触发器在SQLSeiver2005中,能为DDL操作指定触发器,提供了审核DDL操作补充机制选择。(7)数据库内数据加密SQLSeiver2005本身就具有加密功能,完全集成了一个密钥管理架构。(8)集群身份验证SQLSeiver2005集群支持针对虚拟服务器Keibeios身份验证。(9)多代理帐号SQLSeiver2005代理服务支持多个代理帐号(每个作业子系统一个)。(10)不依赖本地安全验证(LSA)数据库SQLServe[代理使用代理帐号时不再需要访问LSA。因此,代理服务不再需要以本地管理员身份启用了。(IDSQL事件探查器不再需要系统管理员权限SQLServer2005提供了一个新权限,允许没有系统管理员权限用户运行事件探查器。(12)分析服务器通讯加密与服务器端定义策略一致默认情况下,客户端/服务器之间通讯是被加密。为了保证安全,服务器端策略可定义为拒绝不加密通讯。(13)分析服务器中细化管理角色SQLSeiver2005中将会有更多权限可供选择。除了在线分析处理(OLAP)管理员之外,数据库管理员能够在一个单独数据库上下文中支配管理权限。新对象权限能允许用户只看到对象定义(而不能访问对象)和只能处理对象。(14)SQLServe】代理作业角色改进了SQLServe[代理支持以更细化方式针对作业指派权限。(15)改进针对分析服务审核功能SQLSei-ver2005分析服务将包含与SQL事件探查器集成新审核功能。本系统对安全性具有很高要求,SQLServel2005这些新安全特性为系统安全提供了保障。VisualStudio2008VisualStudio是微软公司出品一款大型应用软件,从最初VisualStiidio97开始就成为编程重要工具。VisualStudio开发经历了VisualStudio97,VisualStudio6.0,VisualStiidio.NET(2002),VisualStudio2005,VisualStudio2008o本部分将会对VisualStudio进行简要介绍。进行.NET开发工具并非只有VisualStudio,最常见如Windows自带记事本实用程序也可以实现.NET程序开发。事实上VisualStudio成为了.NET开发首选工具。VisualStudio是一套完整开发工具集,包含了大量功能。它主要用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同集成开发环境(IDE)。利用此IDE可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同语言共同开发。另外,这些语言利用了.NETFramewoik功能,通过此框架可使用简化ASPWeb应用程序和XMLWebSeivices开发关键技术。VisualStudio2008集成开发环境中为开发人员提供了大量实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等等。相比较于VisualStudio2005,VisualStudio2008不仅仅是在.NET版本支持上发生了变化,其在许多方面都提供了改进乃至全新功能。本章小结本章简单阐述了系统开发中应用关键技术、工作环境等,包括开发系统所使用ASP和ASP各种对象及过程、SQLServe】、VisualStudio等,这些技术在后面系统实现中都会使用到。第三章需求分析对于软件开发人员来说,他所设计软件是否成功不仅仅取决于该软件能否正常运行,更重要是看它能否更好地满足用户需求。因此,在设计这个图书管理系统之前,进行需求分析是非常必要。任务概述开发目标首先,开发过程中要严格按照统一标准设计数据库、信息源、通讯出口,以保证数据共享实现。其次,系统操作界面要友好且风格统一,便于用户有效使用各项数据信息,提高工作效率和准确度。第三,充分利用网络资源,减少冗余,确保系统安全、可靠与高效。同时数据处理要及时准确,使管理决策层能及时获取到这些信息。运行环境1、操作系统:MicrosoftWindows2000以上/windowsXP;2、支持环境:ns5.0;3、数据库:SQLServeI2005o4、开发工具:系统功能需求收支管理是一个家庭和个人日常生活中不可或缺一部分,也是家庭财务管理系统重要组成部分。它内容对于家庭财务管理者来说至关重要,所以家庭理财管理系统应该能够为用户提供完整、正确、灵活理财信息和快捷分析手段。但一直以来人们使用传统人工方式文件、纸质记账管理模式,这种管理模式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量文件和数据,这给查找、更新和维护带来了很多困难。鉴于当前计算机技术在日常管理中应用,结合家庭财务管理功能需求,开发一个小型管理系统来对家庭财务进行行之有效管理,本系统具备收支管理、借入款管理、查询、修改、删除等功能,符合家庭用户对操作简单、界面友好、灵活、实用和安全要求。

统计花费资金审核储蓄款项借出资金信息表支出信息表一一庭里活期账户表定期账户表口口上、小4t统计花费资金审核储蓄款项借出资金信息表支出信息表一一庭里活期账户表定期账户表口口上、小4t以

k生力匚一一rrrr-具体收入到支出,收入又去银行储蓄,银行储蓄又分为定期福遣|前活期储蓄,收入还可以再借出,但是相对于借款一般就到期取出存款型外借了。流程图如图34所示图3/系统业务流程图性能需求(1)客户端一般响应时间不超过1秒。(2)报表统计时间不超过30秒。(3)支持2000名用户信息一次性导入,导入时间不超过300秒。(4)支持5000名用户并发使用,并保证性能不受影响。运行需求系统运行环境Intel486以上系列、AMDK6以上系列等PC台式机和便捷式电脑;运行时占用内存:或1MB;所需硬盘空间:W5MB;软件平台:中文Windows95/98/NT4.0或更高版本并安有JAVA虚拟机操作系统。用户界面描述需要用户界面逻辑特征。这些特征包括但不限于:图形用户界面(GUI)标准:具有良好人机交互界面,方便用户使用;产品风格:采用淡蓝色为主题背景,辅以各种色彩功能按钮;标准按钮:查询信息按钮,帮助按钮,返回主菜单按钮;④增加功能:权限不同又有增删改等功能按钮;⑤快捷键:无;⑥错误信息提示:弹出对话窗体。对于用户界面细节,例如特定对话框布局,在这里不必详细描述,以免由于过分细节规定影响项目开发进度以及开发人员创造能力。软件接口软件系统与其他外部组件连接,包括数据库、操作系统、工具软件、开发平台等。明确在软件组件之间交换数据目,描述所需要服务以及内部组件通信性质。确定将在组件间共享数据。软件接口名称:外部组件名称版本号接口描述数据库:SQLServe】MicrosoftSQLSeiver2005简体中文企业版操作系统:WindowsXPWindowsXPSp3官方简体中文版工具软件:VisualStudioMicrosoftVisualStudio2005简体中文企业版开发平台:ASP.NET2.0版本安全性需求(1)权限控制根据不同用户角色,设置相应权限,用户重要操作都做相应日志记录以备查看,没有权限用户禁止使用系统。普通用户只可查看和修改个人资料和收支项目,管理员只可查看普通用户相关资料并可对其进行修改。(2)重要数据加密本系统对一些重要数据按一定算法进行加密,如用户口令、重要参数等。可用性需求(1)方便操作,操作流程合理尽量从用户角度出发,以方便使用本产品。如:新增用户信息时,敲入回车键光标自动跳转、输入法自动转换,信息检索时输入汉语简拼快速检索到结果等。可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。(2)支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验用户均能方便地使用本系统。(3)控制必录入项本系统能够对必须录入项目进行控制,使用户能够确保信息录入完整。同时对必录入项进行有效统一提示。(4)容错能力系统具有一定容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够提示信息帮助用户有效正确地完成任务。(5)操作完成时有统一规范提示信息(6)用户可自定义为了满足业务不断变化,一些重要参数应该可以灵活设置。本章小结本章对系统设计时功能需求,运行环境需求、性能需求等进行了分析,在家庭财务管理系统设计中将会得到详细要求和实现。第四章总体设计本章主要对家庭财务管理系统前台管理与后台管理功能设计,以及系统所需数据库概念结构与逻辑结构设计进行了详细介绍。系统功能模块设计家庭财务管理系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等模块组成。具体如下:系统管理模块(1)验证用户登陆:验证即将登陆系统用户用户名和密码正确性。(2)密码修改:实现用户密码修改。(3)重新登录:更换用户重新登录。(4)退出:注销退出当前用户登录。4.L2基础数据管理模块(1)家庭成员管理:实现家庭成员添加、删除、修改。(2)收支项目管理:实现收支项目添加、删除、修改。日常收支管理(1)日常收入:实现日常收入添加、删除、修改。(2)日常支出:实现日常支出添加、删除、修改。银行储蓄管理模块(1)活期账户:对银行活期账户进行管理,实现添加、删除、修改功能。(2)定期账户:对银行定期账户进行管理,实现添加、删除、修改功能。借还钱管理模块(1)借出款:记录家庭成员各项借出款情况。(2)借入款:记录家庭成员各项借入款情况。理财分析模块图图4・6收入信息实体E・R图理财分析理财报告查询明细家庭财务管理系统银行储蓄管理借还钱管理日常收支管理系统管理 基础数据管理借入款—H定期账户

-B4

上活期账IPI

ghl常支皿

L厂IIAIBP常收入

pl收支项目管

系—H部成员管借出款5士退出重新登录修改密码支出详情支出编号支出金额支出口期支出类型支出人员图4-11定期账户信息实体E・R图综合以上E-R图模型,得出如图4-12所示整个系统E-R关系图:活图错误!未找到引用源。整个系统E-R关系图4.3数据库设计数据库名:sj表1:借入款信息表(Borrowlnfb)序号列名数据类型 长度小数位主键允许空说明1BorrowIDint40是否借入编号2FromNamenvarchar500是借款人3BorrowDatedatetime83是借入口期4BorrowMoneymoney84是借入金额5BorrowReasonnvarchar2000是借入原因6Borrownvarchar500是借款来源表2:定期存款表(Fixlnfo)序号列名数据类型长度小数位主键允许空说明1FixIDint40是否存款编号2Fixnamenvarchar500是存款人3FixMoneymoney84是存款金额4FixDatedatetime83是存款时间5EndDatedatetime83是到期时间6FixDressnvarchar500是存款银行表3:收入项目表(Iiilnfo)序号列名数据类型长度小数位主键允许空说明1InlnfoIDint40是否收入编号2InTypeIDint40是收入类型3InDatedatetime83是收入时间4InMoneymoney84是收入金额5InFromnvarchar200是收入人员6Textnvarchar2000是收入详情表4:收入项目类型表(InType)序号列名数据类型长度小数位主键允许空说明1InTypeIDint40是否收入类型编号

2InTypeNamenvarchar500是收入类型名称表5:借出款信息表(Lendlnfb)序号列名数据类型长度小数位主键允许空说明1LendIDint40 是否借出编号2TonNamenvarchar500是借出人3LendDatedatetime83是借出口期4LendMoneymoney84是借出金额5LendReasonnvarchar2000是借出原因6Lendnvarchar500是借款去向表6:活期存款表(Livelnfb)序号列名数据类型长度小数位主健允许空说明1LivelDint40 是否活期存款编号2LiveNamenvarchar500是存款人3LiveMoneymoney84是存款金额4LiveDatedatetime83是存款口期5LiveDressnvarchar500否存款银行表7:支出项目表(Outlnfb)序号列名数据类型长度小数位主键允许空说明1OutlnfoIDint40 是否支出编号2OutTypelDint40是支出类型3InDatedatetime83是支出时间4InMoneymoney84是支出金额5InFromnvarchar200是支出人员6Textnchar2000是支出详情图图4-1收支管理模块表8:支出项目类型表(OutType)序号列名数据类型长度小数位主键允许空说明1OutTypelDint40是否支出类型编号2OutTypeNamenvarchar500是支出类型名称表9:家庭成员表(Userinfb)序号列名数据类型长度小数位主键允许空说明1UserIDint40是否成员ID2UserNamenvarchar500是姓名3UserPwdnvarchar500是密码4Sexnvarchar20是性别5Agenvarchar500是年龄6BrithDaynvarchar500是出生口期7UserTypelDint40是成员类型表10:家庭成员类型表(UserType)序号列名 数据类型 长度小数位主键允许空 说明

图4-2日常操作此流程图解释了用户日常操作过程,包括支出信息和收入信息过程,在此过程中都要对财务信息数据库进行操作,并要求系统对此信息做好记声I声I、/石 PI-X-/DILrE1<十系外”对收入信息表进行操作 第二层图二'千II.-T-H、11/LA77gX—、口rtn对■成员信息表进行操作第二层图图4・3第二次数据流图4.4.3系统总数据流图本系统数据流图概括如下,整个系统包括了系统管理、基础数据管理、日常收支管理、账户与储蓄管理、查询和理财报告分析共六个加工部分,每个部分包含了各个业务部门以及与之相关外部项、数据库之间业务数据来源和去处。图4-4系统总数据流图4.5本章小结根据本章主要分析家庭财务管理系统数据库设计与实现,以及数据库整体结构设计,全面分析了这个系统所使用实现功能,以及各个模块之间存在内在联系,具体即将在系统上得以实现。第五章系统实现5.1数据库连接本系统采用SQLServe12005数据库。在程序中专门设计了连接字符串模块,其代码如下所示:<appSettings>〈addke尸"ConnectionStiing"value="DataSource=PC-201110221551[H'/>taS(户到551[H'/>taS(户到K))Session.Add(nK))Session.Add(nUserID,\UserID.Text);Maticsoft.Model.UserlnfbUserinfb=newMaticsoft.Model.UserInfb();图5・1用户和管理员使用同一个登陆界面,根据其类型不同,进入相应界面,代码如下所示:if(Session[HCheckCodeH].ToString()==YZM.Text.Trim().ToUppeusername=Convert.ToInt32(UserID.Text);password=UserPwd.Text.Trim();Maticsoft.BLL.Userlnfbuserinfb=newMaticsoft.BLL.Userlnfb();DataSetmyDtb=newDataSet();myDtb=userinfb.GetList(nUserID=n+username+"andUserPwd=H+password);if(myDtb.Tables[O].Rows.Count>0)(Session[nUserNameH]=myDtb.Tables[0].Rows[0][l].ToStringO;Session[',UserTypeIDn]=myDtb.Tables[0].Rows[0][6].ToStringO;if(Conveit.ToInt32(Session[uUserTypeIDn])<11){Response.Redirect(nManger/Default.aspxn);)else{Response.Redirect(nUser/Default.aspxn);))elsereturn;

庭财务管理个人_信息.管理家庭成员信息曾理

收入信息营理

支出信息管理

存款恬息管理

惜入、惜出信息管理退出系统理】用户ID理】用户ID: "009001用户名:际~输入原密码巳]新密码:匚新密码确认:一确认确认取消图5・3确定功能:单击【确认】按钮,如果新密码与确认密码相同,则修改成功,否则修改失败。代码如下所示:stringUserName=this.UserName.Text;stringUserPwd=this.NewPassWord.Text;intUserID=Convert.Tolnt32(this.UsersID.Text);Maticsoft.Model.Userlnfbmodel=newMaticsoft.Model.Usermodel.UserName=UserName;model.UserPwd=UserPwd;model.UserlD=UserID;Maticsoft.BLL.Userlnfbbll=newMaticsoft.BLL.UserInfo();

1976-3-6密码:性别:年龄,生日:1976-3-6图5-4进入此页面时,自动提取个人信息,并且显示到相应文本框中,除了编号以外,用户可以修改自己资料。提取显示信息代码如下:privatevoidShowlnfb(intUserID)Maticsoft.BLL.Userlnfbbll=newMaticsoft.BLL.UserInfo();Maticsoft.Model.Userlnfbmodel=bll.GetModel(UserlD);this.id.Text=model.UserID.ToString();this.per.Text=model.UserName;this.pwd.Text=model.UserPwd;this.sex.Text=model.Sex;this.age.Text=model.Age;this.birthday.Text=model.BrithDay;5.5家庭成员信息管理模块在主界面中选择【家庭成员信息管理】|【添加新成员信息】命令菜单,即可进入家庭成员管理界面。用户可以在这里添加、修改和删除家庭成员。单击【添加新成员】按钮会显示出添加界面(如图5・5),填写完信息后单击【确定】按钮进行提交,添加成功后则返回信息显示页面(如图5・6)。修改时,点击修改就可对其信息进行修改(如图5・8)。成员类型:

「确定—一I寥消]图5-5添加功能代码:strErr="”;Maticsoft.BLL.UserlnfbUserlnfb=newMaticsoft.BLL.Userlnfo();Maticsoft.Model.Userlnfbmodel=newMaticsoft.Model.UserInfo();model.UserName=this.userName.Text.Trim();model.UserPwd=this.userPwd.Text.Trim();model.Sex=this.sex.Text.Trim();model.Age=tliis.age.Text.Triin();model.BritliDay=this.briday.Text.Trim();model.UserTypelD=Conveit.ToInt32(this.UserTypeId.Text.Trim());flag=Userlnfb.Add(model);if(flag>=1)(strErr+="添加成功\\n";MessageBox.Show(this,strErr);Response.Redirect(MAddMangerInfb.aspxH);)else家庭成员信息添加新成员成员ID姓名密码性别年龄2009001sss111勇4320090021X1X1X2009003aaa2009004eee1X1X1X1X111X出生日期成员类型删除操作I976-3-610I除编辑1976-12-1510II990-7-2IIII990-7-8IIit除编辑2118用户ID:

姓名:

密码:

性别:

年龄:出生日期:

成员类型:图5-85.6收入、支出模块设计收入模块在主界面中选择【收入信息管理】|命令菜单,即可进入日常收入管理界面,如5・9用户可以在这里添加、修改和删除日常收入。输入需要添加内容,其中带*号内容为必填项,单击【确定】按钮则添加成功;选择一条数据信息后,单击【修改】按钮,跳转到修改页面修改信息,再单击【确定】按钮,就修改成功。收入信息查询f收入信息收入信息编号收入类型编号 时间 收入金额收入人员详情删除操作10000 1 2011-12-50:00:002350.0000aaa 删除编辑图5-9支出信息查询界通容,据俏、j添加新支出信息界通容,据俏支出信息编号支出类型编号支出时间 支出金额支出人员详情删除操作10000000042011-9-50:00:005400.0000SSS333删除编辑10000000122011-3-90:00:00333.0000aaa111鲤鲤图5-105.7存款信息管理模块存款信息管理分为定期存款信息管理和活期存款信息管理两个部分。在主界面中选择【存款信息管理】|【活期存款信息】命令菜单,即可进入活期账户管理界面,如图5・11所示。在活期账户界面中,用户可以添

加、单F跳车功。活期存款信息查询添加存款信息存款编号存款人员存款金额存款日期存款地址删除操作1SSS5000.00002011-12-60:00:00中国建设银行加、单F跳车功。活期存款信息查询添加存款信息存款编号存款人员存款金额存款日期存款地址删除操作图5-11修改信息部分代码:protectedvoidButton1_Click(objectsender,EventAigse)if(this.per.Text==stiBi+="存款人员不能为空!\\n";)stringLiveName=this.per.Text.Trim();0);DateTimeLiveDate=Convert.ToDateTime(this.date.Text.Trim0);doubleLiveMoney=Conveit.ToDouble(tliis.money.Text.Trim0);DateTimeLiveDate=Convert.ToDateTime(this.date.Text.Trim0);stringLiveDress=this.adress.Text.Trim();intLivelD=Convert.ToInt32(this.id.Text.TrimQ);Maticsoft.Model.Livelnfbmodel=newMaticsoft.Model.Livemodel.LiveName=LiveName;model.LiveMoney=Conveit.ToDecimal(this.money.Text.Trim0);model.LiveDate=Conveit.ToDateTime(this.date.Text.Trim());model.LiveDress=LiveDress;model.LivelD=LivelD;Maticsoft.BLL.Livelnfbbll=newMaticsoft.BLL.LivelnfbQ;bll.Update(model);strErr+=”资料修改成功!”;MessageBox.Show(this,strErr);TOC\o"1-5"\h\zI 借入髓查询 !添加借入信息即上 口删隹 角F1借入编号借入人员 借入时间 借入翁借入原因借款来源,赊操作编车1aaa201M2-70:00:005000.0000买房刘明0^5图5-12删除功能是用SqlDataSouice控件DELETE语句来实现,其删除命令为:DELETEFROMBorrowinfoWHERE(BorrowID=@BorrowID)5.9本章小结本章叙述了系统开发详细过程,首先明确了系统所使用开发环境和运行环境,即采用ASP为开发平台,数据库采用SQLSerer2005o然后根据上一章系统需求分析和总体设计,分别详细实现了家庭财务管理信息系统。第六章综合测试本章对系统进行了功能测试'、性能测试和安全测试,对系统每个界面进行了测试,并针对测试结果作出相应系统设计调整,最终达到系统最初预计需求和效果。测试方法软件测试中最基本方法是黑盒测试和白盒测试。(1)黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有功能,通过测试来检测每个功能是否能正常使用。黑盒法着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。黑盒法是穷举输入测试,只有把所有可能输入都作为测试情况使用,才能以这种方法查出程序中所有错误。实际上测试情有无穷多个,不仅要测试所有合法输入,而且还要对那些不合法但是可能输入进行测试。(2)白盒测试与黑盒子测试法相反,折盒测试法密切相关处理细节,针对每一条逻辑路径都要分别设计测试实例,检查分支和循环情况。乍一看,只要定义出所以逻辑路径,并为每一路径设计一个测试实例,通过仔细评价测试结果,即能给出百分之百正确程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论