个人财务管理系统设计毕业论文.doc_第1页
个人财务管理系统设计毕业论文.doc_第2页
个人财务管理系统设计毕业论文.doc_第3页
个人财务管理系统设计毕业论文.doc_第4页
个人财务管理系统设计毕业论文.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

个人财务管理系统个人财务管理系统设计毕业论文目 录摘 要IAbstract1引 言41 开发目的和核心技术介绍51.1 系统目的和目标51.2 开发工具简介61.2.1 Microsoft Visual Studio简介61.2.2 C#简介61.2.3 ASP.NET简介71.2.4 SQL Server102 系统分析102.1 可行性分析102.2 用户需求分析122.3 业务流程分析122.4 数据流程分析133 系统总体设计143.1 系统总体结构设计153.2 功能模块设计153.3 数据类的设计173.4 数据库设计213.4.1 概念结构设计223.4.2 逻辑结构设计234 系统详细设计264.1 用户管理模块264.2 系统管理模块284.3 收支管理模块314.4 借贷管理模块334.5 待购管理模块344.6 资金管理模块364.7 财务统计模块375 系统实现375.1 界面实现375.2 功能实现396 系统测试416.1 测试目的和意义416.2 测试原则426.3 测试用例43结 论45参 考 文 献46致 谢47引 言在平时的生活中,我们很多人缺乏财务管理的意识。我们有多少钱,我们的钱都存在哪儿,我们把钱花在了哪儿,花的值不值,这些问题,只有一个模糊的认识。由此常常会出现钱不够花的状况。所谓开源节流,科学的财务管理对于我们来说非常重要。如今社会高速发展,个人财务管理的重要性日益突出,当今社会越来越朝着信息化数字化发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们每个人的生活都离不开计算机的帮助了。越来越多的个人应用软件成为人们重要的助手,也在潜移默化的改变着我们的生活。许多软件研发人员开始着手于财务管理系统的开发。个人的财务管理也向着系统化、电子化发展。但现今市场上个人的财务管理软件确很少且不完善,实际生活中经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提高我们生活的质量和品质。我在在大学学到的编程方面的基本知识,加上实习过程中掌握的网络方面、ASP.NET,C#等新知识,使得开发一款能实现基本功能的个人财务管理系统成为可能。这样可以帮助我们可以在之后利用计算机来管理日常开支、借贷等个人财务方面的工作。在减轻个人财务管理的压力的同时,使财务管理更加专业化,自动化,理性化,以提升个人的生活态度、生活质量等。 1 开发目的和核心技术介绍1.1 系统目的和目标企业财务管理很重要,同样,个人的理财也占据同等甚至更高的地位。日子就是靠过出来的,得精打细算。因此,设计一款简单使用的个人财务管理系统来管理日常开支、借入借出、收支统计等十分有必要性。个人财务管理系统主要解决的问题,及设计此款软件的目的由以下所述:(1)计算机记录个人日常财务支出、借入借出、收入等相关信息,可以节省许多人力和物力,方便管理,由此可以减少纸笔等不必要的开支。(2)系统生成财务统计相关信息,能够准确的统计用户在特定时间财务方面的相关信息。个人财务的管理包括收入、支出、统计、预算等各个方面。我通过对同事、同学调查问卷的方式调查身边人对财务管理方面的相关信息发现,身边大部分人没有严格的个人财务管理的概念,而其他部分人也仅仅是流水账的形式,对工资、支出等做统计,数据相对比较混乱,不易统计,由此,以年轻人为对象,设计一款能够科学地记账、财务统计、预算的软件来满足用户个人理财的需要。此系统提供用户信息管理、开支收入记录、借入借出统计、账务查询、预算管理等功能,实现以下几个目标:(1)系统界面简洁美观,易使用、易维护,能够适用于非计算机人员使用。能够完成对用户基本财务状况的存储和查询,并提供数据备份等系统维护功能,可以查找、修改、添加和删除用户个人财务信息。从而使用户面对一个庞大的用户财务数据库,可以全面、准确、有效的处理财务管理的各种信息,及时掌握财务信息的动态变化,更方便地管理个人财务。(2)可扩展性和包容性强。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资,特别是在应用需求变化时,有一个较好的应用平台,能容易地加以调整。系统易于扩充升级,既能满足当前业务的需求,又能为今后的扩充留有空间。(3)为用户提供良好方便的信息服务。在财务信息标准化、规范化的基础上,对信息进行合理的布局,在提供优质、高效的业务管理和事务处理的同时,能够按照用户要求进行高效率的计算统计任务,使用户可以在这个平台上了解个人财务信息,自主的按分类查找信息,并且可以提供统计信息,使用户及时真实的了解自己的收入、支出和债务情况。(4)可靠运行,安全保密。可以使用网络加密保护,用来帮助尽可能地减少在公用网络和专用网络上传输敏感信息所带有的风险和权限限制等。因此系统建设应具有安全高效的通信机制、身份认证、权限检查,以解决财务管理系统的安全性、保密性问题,防止非法侵入和信息泄密。1.2 开发工具简介本次毕业设计个人财务管理系统基于ASP.NET,以C#作为编程语言, 以SQL Server 2012作为数据库工具,以Visual Studio 2012作为开发平台。1.2.1 Microsoft Visual Studio简介Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。Visual Studio是目前最流行的Windows平台应用程序开发环境。最新版本为 Visual Studio 2012 版本,基于.NET Framework4.5。1.2.2 C#简介C#是Microsoft在2000年七月推出.NET Framework 的第1版时提供的一种全新语言1,是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。1.2.3 ASP.NET简介ASP.NET(Active Server Page.NET)是微软公司基于.NET 4.0框架的新一代网络编程语言,也是目前最新的web技术之一。3ASP.NET是M的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 J)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 ADO.NET简介本系统数据存储在数据库中。利用我们学过的SQL语法可以直接操纵数据库的数据,但系统页面也必须提供一个接口,以便连接数据库并执行SQL指令。在.NET技术中协助我们连接数据库并执行SQL指令的机制就是ADO.NET。4在web的系统开发中,数据的操作占据了开发大量的工作,要操作的数据包括几个方面:存储在数据库中的数据、存储在文件中的数据以及XML数据,这其中最普遍的是操作存储在数据库中的数据。ADO.NET提供了ADO.NET技术,是一组面向.NET 编程人员公开的数据访问服务的类。ADO.NET提供了对关系数据、XML和应用程序数据的访问,是.NET Framework 不可缺少的一部分。ADO.NET支持多种开发需求,包括创建由应用程序、工具、语言和Internet浏览器使用的前端数据库客户端和中间层业务对象。ADO.NET 组件是将数据访问与数据处理进行分离。它通过两个主要的组件:.NET数据提供程序(data provider)和Dataset 来完成。下图1.1说明了数据访问与数据处理分离的概念。图1.1 ADO.NET的组件结构图图1.1是ADO.NET 的组件结构图,除了可以很清楚的看到其内部组成,还可以看到数据访问一般有两种方式:一是通过DataReader对象来直接访问的,另一种则是通过DataSet和DataAdapter来访问的。ADO.NET 体系结构的一个核心元素是. NET数据提供程序,它是专门为数据处理以及快速地只进、只读访问数据而设计的组件,包括Connection、 Command、 DataReader和DataAdapter 对象的组件。具体如表1.1所示。表1.1 数据提供者的对象对象名称描述Connection提供与数据源的连接Commander用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令DataReader从数据源中提供高性能的数据流DataAdapter提供连接DataSet对象和数据源的桥梁,使用Command 对象在数据库中执行SQL命令,以便将数据加载到DataSet中,并对DataSet中数据的更改与数据源保持一致DataSet是ADO.NET 体系的另一个核心组件,它专门为各种数据源的数据访问独立性而设计的,所以它可以用于多个不同的数据源、XML数据或管理应用程序的本地数据、如内存中的数据高速缓存。DataSet包含一个或多个DataTable 对象的集合,这些对象由数据行、数据列以及有关DataTable对象中数据的主键、外键、约束、关系信息组成。它本质上是一个内存中的数据库,但从不关系它的数据是从数据库、XML文件中、还是从这两者中或从其他什么地方获得。1.2.4 SQL ServerSQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。5在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX操作系统上的应用。SQL Server 2012主要版本包括新的商务智能版本,增加Power View数据查找工具和数据质量服务,企业版本则提高安全性可用性,以及从大数据到StreamInsight复杂事件处理,再到新的可视化数据和分析工具等,都将成为SQL Server 2012最终版本的一部分2 系统分析2.1 可行性分析通过对个人财务管理系统的开发具有一定了解之后,现对开发此系统的可行性进行分析。(1)技术的可行性分析 主要从事项目实施的技术角度,合理设计技术方案,并进行比选和评价;本系统主要采用数据库管理技术,SQL Server支持SQL Server 2000及之后各个版本,有相应操作系统与之匹配。SQL Server能够处理相对大量的数据,它具备的灵活性、安全性、易用性等为数据库编程提供条件;硬件方面,该个人财务管理系统的运行功能相对比较简单,编码简洁,对内存、CPU占用都很小,对操作系统没有特殊要求,Window XP、Vista、Windows Server 各个版本都支持。根据对个人财务管理系统基本需求分析,设计出系统基本功能,之后进行数据库相关设计,对其进行E-R图设计,得到几个基本实体,实体间关系及实体的基本属性,然后建立基本数据库及表。系统设计平台选择visual studio,基于ASP.NET,用C#编程语言进行编程,设计个人财务管理系统各个界面,及其功能实现,如用户注册,登陆,功能主界面等。所以,从技术的可行性上分析,本个人财务管理系统的设计是完全可行的。(2)经济可行性分析经济可行性分析需要估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用;估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。该个人财务管理系统是课程设计,所以无需考虑成本及运行后维护费用等投入,而本系统完成后,通过个人财务管理系统管理个人收入、消费、借入借出等财务信息,可以节省很多人力物力,且方便管理、备份及保存,提高管理效率,与此同时,应用该系统后,可以使得个人财务管理更加系统后、自动化,所以从经济可行性上分析是完全可行的(3)法律及社会可行性分析由于本系统应用正版软件开发,且不存在剽窃,在图书馆查询相关资料,因此不存在侵权等相关的法律问题。个人财务管理系统是简单的财务管理方面的小程序,操作简洁、灵活,只需有基本计算机操作能力的用户就可以简单上手,界面友好,社会可行性高综上所述,我开发的个人财务管理系统,技术、经济、技术和法律社会可行性都具备,可以进行设计与开发。2.2 用户需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。唯一不变的是变化本身。,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。软件需求定义是软件设计开发阶段的输入,为需求被翻译成为可以使软件建构功能的代码发挥作用。2.3 业务流程分析用户首次使用个人财务管理系统,首先进入注册页面注册新用户,成功注册后,用注册用户登陆到系统主界面。进入主界面后需首先到系统管理里面去添加账户类型,消费类型,收入类型,然后添加账户,之后再进入系统主界面去选择需要的功能。如果要添加用户或修改密码进入用户管理模块进行相应操作;如果要记录及统计收支情况,进入收支管理模块,输入收入及消费支出的条目,及其所对应的账户名,系统会生成相应表格并自动同步账户中余额;如果要进行借贷管理,首先要进入联系人管理模块加入联系人相关信息,之后进入借贷管理模块,根据需求加入借入或借出条目,同样会生成表格及同步账户余额,待还款或收款后更改条目状态,账户余额会及时同步;如果最近有什么想要买的东西,可进入待购管理模块,加入相应记录,等资金允许进行购买后,可修改记录状态,同样会自动更新账户余额信息;如果要进行自己账户内部完成上述记录输入后,在首页会有相应提醒,如某联系人要过生日了,准备礼物、催还款或收款等2.4 数据流程分析数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。通过上述业务流程的分析来画个人财务管理系统的数据流程图,来确定系统数据的具体流入及流出,确定外部实体,划分个人财务管理系统具体模块及功能,主要模块分为资金管理模块、收支管理模块、借贷管理模块、待购管理模块、财务统计模块、系统管理模块、用户管理模块,其中用户管理及系统管理是其他模块的前提,经过分析绘制出出如下个人财务管理系统的数据流程图。(1) 个人理财管理系统的顶层数据流图,如图2.1所示,图2.1 个人财务管理系统顶层DFD(2) 个人财务管理系统数据流图第一层如图2.2所示。图2.2 个人财务管理系统第一层3 系统总体设计个人理财管理系统主要的工作流程就是输入相关记录信息,经过系统处理得到处理后的相关信息。系统总体设计这一节就是来说明个人财务管理系统具体是用来做什么的,是如何实现其相关功能的。即通过给出该系统的物理模型的方式来描述个人财务管理系统如何实现在系统分析中设计的各个功能。系统总体设计阶段的主要内容包括:结构设计、数据库设计等3.1 系统总体结构设计系统总体分为资金管理,收支管理,接待管理,代购管理,财务统计,系统管理,用户管理,七个主模块。图3.1为其功能模式图,图3.1功能模式图3.2 功能模块设计根据系统分析中个人财务管理系统包含的功能,个人财务管理系统分为7个主模块,7个模块又可以分为多个子模块。系统管理模块分为类别管理模块,账户管理模块,联系人管理模块。类别管理模块是用来添加消费类型,收入类型,以及账户类型的,在使用此个人财务管理系统,这一模块必须要提前设置。账户管理系统是添加目前资金分布所在的账户信息的,此项跟类型管理模块一样,必须提前设置。联系人管理系统是用来存储与登录用户相关的人员信息的,其中包含姓名,手机号,E-mail ,生日等信息,若要使用借贷管理模块功能,此项必须提前设置,若要使用首页的生日信息提醒功能,联系人中需要添加生日项纪录用户管理模块分为注册模块,登陆模块,以及密码修改模块,在使用本系统是首先要注册一个用户,否则不能登陆到本系统。注册完成后可以选择登陆,信息正确,登陆成功。密码修改模块是用来修改当前登陆用户的密码的。收支管理模块分为收入管理模块跟支出管理模块,分别记录收入跟支出的相关信息。记录信息后,可以根据信息的id修改记录的相关信息。并可以根据时间、类型、账户等信息来检索所需条目的信息。借贷管理模块分为借入管理模块跟借出管理模块,分别记录借入跟借出的相关信息,如金额,取自账户或存入账户、借贷状态等信息,并可以时间、对象、状态来检索条目。待购模块是用来记录当前未买而想要在之后购买或支出的条目信息,类似于购物网站的收藏夹,条目记录有金额、类型等信息,可以进行修改及删除,当购买后,信息会存入到支出模块,账户余额随之变化。财务统计模块分为收支年度统计模块。收支年度统计模块是以柱状图的方式来统计所选年份,收支的情况,方便之后更好的进行财务的管理。资金管理模块分为资金分布模块和资金转账模块。资金分布模块是以饼图的方式来显示当前自己拥有金钱的具体分布情况及比例,能让用户准确的知道自己到底有多少钱,自己的钱在哪。资金转账模块是用来管理各账户间资金的转账。系统的总体功能结构图如图3.2所示,图3.2 总体功能结构图3.3 数据类的设计在系统分析阶段已经得出了个人财务管理系统数据的流程,现在具体对数据进行设计,得到如下的数据字典表3.1为用户信息的数据字典,包括用户名,密码两个属性表3.1用户信息的数据字典数据项名内容举例类型取值范围备注用户名KiraChar最多50个字符唯一密码123char最多50个字符表3.2为消费类型的数据字典,包括,类型名,用户名,类型编号三个属性表3.2 消费类型的数据字典数据项名内容举例类型取值范围备注类型名衣服char最多50个字符唯一用户名kirachar最多50个字符类型编号2int自动生成表3.3为收入类型的数据字典,包括类型名,用户名,类型编号三个属性表3.3收入类型的数据字典数据项名内容举例类型取值范围备注类型名基本工资char最多50个字符唯一用户名kirachar最多50个字符类型编号2int自动生成表3.4为账户类型的数据字典,包括类型名、用户名、类型编号三个属性。表3.4账户类型的数据字典数据项名内容举例类型取值范围备注类型名借记卡char最多50个字符唯一用户名kirachar最多50个字符类型编号2int自动生成表3.5为状态的数据字典,只有状态名这一个属性表3.5 状态的数据字典数据项名内容举例类型取值范围备注状态名已还char最多20个字符唯一表3.6为账户的数据字典,属性包含账户编号、账户名、用户卡号或用户名、余额账户类型备注。表3.6账户的数据字典数据项名内容举例类型取值范围备注账户编号2int4随机生成编号账户名中国银行char50个字符账户卡号或用户名6222023400015741578char50个字符银行卡号或支付宝等用户名余额1000float账户类型借记卡char50个字符备注工资卡char500个字符表3.7为收入信息的数据字典,属性包括:用户名、收入编号、日期、金额、存入账户、类型、说明。表3.7 收入信息的数据字典数据项名内容举例类型取值范围备注用户名KiraChar最多50个字符收入编号3int自动生成不重复编号日期2013/5/08datetime金额5000float存入账户中国银行char50个字符类型基本工资char50个字符说明继续努力char500个字符 表3.8为联系人信息的数据字典,包含属性:用户名、联系人生日、联系人姓名、关系、性别、E-mail、电话、说明表3.8联系人信息的数据字典数据项名内容举例类型取值范围备注用户名kirachar50个字符联系人姓名大奎char50个字符生日1989/03/15Datetime关系朋友char50个字符性别男char20个字符Echar50个字符电har50个字符说明12年认识的char500个字符表3.9为借入信息的数据字典,属性包括用户名、借入编号、日期、金额、对象、存入账户、状态、备注。表3.9借入信息的数据字典数据项名内容举例类型取值范围备注用户名kirachar50个字符借入编号5int整数随机生成日期2013/08/16Datetime金额1000float对象大奎char50个字符存入账户现金char50个字符状态已还char20个字符备注有借有还,再借不难char500个字符表3.10是借出信息的数据字典,属性包括用户名、借出编号、日期、金额、对象、存入账户、状态、备注表3.10借出信息的数据字典数据项名内容举例类型取值范围备注用户名kirachar50个字符借出编号5int整数随机生成日期2013/08/16Datetime金额1000float对象大奎char50个字符存入账户现金char50个字符状态已还char20个字符备注有借有还char500个字符表3.11待购信息的数据字典,属性包括用户名、待购类型、价格、数量、消费需求备注。 表3.11 待购信息的数据字典数据项名内容举例类型取值范围备注用户名kirachar50个字符待购类型化妆品char50个字符价格195float数量1int消费需求备注夏季衣服要多字符型50个汉字3.4 数据库设计数据库设计是根据对用户的需求等的分析,对某一数据库管理系统上设计数据库的结构和建立数据库的过程。个人理财管理系统数据库设计过程如下(1)根据之前对用户需求分析,确定数据库中要保存的信息的具体内容,了解数据库数据的流程(2)设计数据库的概念模型。概念模型是现实世界的抽象反应,它表示试题类型及实体间的联系,是独立与计算机系统的模型,是实现世界到机器世界的一个中间单位。(3) 逻辑结构设计。逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式,3.4.1 概念结构设计概念模型中最著名的和使用最为广泛的是E-R图模型。E-R模型直接从现实世界中抽象出试题类型和是体检的联系,是对现实世界的一种抽象,他的主要成分是实体、联系和属性。根据上面业务流程分析、数据流程分析、功能模块的分析分析以及对数据类的设计,设计出个人理财管理系统的E-R图如下图3-4-1-1所示,图3.3个人理财管理系统E-R图3.4.2 逻辑结构设计逻辑结构设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。其一般分为三步进行:将E-R图转化为关系数据模型,关系模式的优化,设计用户外模式。根据数据类的设计及E-R图的设计,得到以下的关系模式账户类型accounttype(用户名UserName,账户类型名AccountTypeName,账户类型编号AccountTypeID)消费类型costtype(用户名UserName,消费类型名CostTypeName,消费类型编号CostTypeID)收入类型incometype(用户名UserName,收入编号IncomeID,收入类型名IncometypeName)用户User(用户名UserName,用户密码Password)联系人people(用户名UserName,联系人姓名PeopleName,联系人生日Birthday,电话Tel,关系Relationship,邮箱Email,性别Gender,备注Comment)账户Account(用户名UserName,账户类型AccountType,账户名AccountName,余额Balance,备注Comment)消费cost(用户名UserName,消费编号CostID,位置Location,日期Date,类型Type,数量Count,金额Amount,账户Account,备注Comment)收入income(用户名UserName,编号IncomeID,日期Date,类型Type,金额Amount,存入账户Account,备注Comment)借入borrow(用户名UserName,借入编号BorrowID,日期Date,金额Amount,账户Account,目标Target,状态Status)借出lend(用户名UserName,借出编号LendID, 日期Date,金额Amount ,取自账户Account,目标Target,状态Status)待购Need(用户名UserName,待购编号NeedID,金额Amount,数量count,类型Type)得到以下数据基本表格:表3.12为用户信息的表设计及条目信息举例表3.12UserInfo 记录用户信息UserNameUserNamePasswordUser01Aeolia1qaz2wsxE表3.13为收入信息的表设计及条目信息举例表3.13 Income 记录收入信息UserNameIncomeIDDateAmountAccountCommentTypeUser01Income12013/06/102500中国银行卡年终奖奖金表3.14为消费信息的表设计及条目信息举例表3.14Cost 记录消费信息UserNameCostIDDateLocationTypeCountAccountAmountCommentUser01Cost12013/06/10乐 购衣服2现金360衬衫表3.15为借入信息的表设计及条目信息举例表3.15 Borrow 记录借出信息UserNameBorrowIDDateAmountTargetAccountCommentStatusUser01Borrow12013/06/10100Tom现金早饭钱未还表3.16为借出信息的表设计及条目信息举例表3.16 Lend 记录借入信息UserNameLendIDDateAmountTargetAccountCommentStatusUser01Lent12013/06/10100Kitty现金代付班费已还表3.17为存储待购信息表的设计及示例表3.17 Need 记录待购信息UserNameNeedIDTypeAmountCountCommentUser01Need1衣服2002好久没买衣服了表3.18为存储账户信息表的设计及示例表3.18 tb_account 记录账户信息UserNameAccountNameTypeBalanceCardIDCommentUser01中国建设银行借记卡500fairymydream工资卡,尾号66993表3.19为存储账户类型的表设计及其示例表3.19 tb_accounttype 记录账户类型信息UserNameAccountTypeIDAccountTypeNameUser011借记卡表3.20为存储收入类型信息表的设计及其示例表3.20 tb_incometype 记录收入类型信息UserNameIncomeTypeIDIncomeTypeNameUser011奖金表3.21为存储支出类型表的设计及其示例表3.21 tb_costtype 记录消费类型信息UserNameCostTypeIDCostTypeNameUser011衣服表3.22为存储联系人信息表的设计及其示例表3.22 tb_People 记录联系人信息PeopleIDTelPeopleNameBirthdayRelationshipE-MailUser01aaaaa銀時1989.10.4朋友4 系统详细设计详细设计是软件工程中软件开发的一个步骤,就是对总体设计的一个细化,详细的设计出每个模块实现的算法以及界面。在结构化系统设计中,各个模块都是按照功能区划分的,称作功能模块。功能模块的划分是否合理能够显著的影响系统效率以及系统的可维护性及可拓展性。过程设计的工具能够指明控制流程、处理功能、数据结构以及其他方面的实现细节,从而在编码阶段能把设计的描述直接翻译成程序代码。5在这里选中流程图来了解和设计各个功能模块的具体功能及其流程4.1 用户管理模块用户管理模块是用来注册新用户,登陆,注销以及修改用户密码。图4.1 登陆及注册流程图(1) 用户登录用户打开财务管理系统 ,首先会进入登陆界面,输入用户名跟密码,点击登陆按钮,若用户及密码正确择通过验证,进入到个人财务管理系统主界面,若用户名或密码错误,则会给出提示用户名或密码错误。点击取消会清空已键入的用户名及密码信息。 (2)用户注册若用户第一次登陆,需点击注册链接进入用户注册界面,键入要注册的用户名,点击右侧的验证按钮,验证此用户是否已存在,存在则提示用户名已存在,不存在则提示用户名可用,键入密码,确认密码,点击注册,提示注册成功;点击重置则会情况以输入的信息。(3)修改密码 在(1)登陆成功后,点击系统管理下密码修改,进入密码修改界面,若原密码正确,且新密码跟确认密码相同,点击修改后会成功修改密码。4.2 系统管理模块分为类型管理,联系人管理,账户管理三个功能,为借贷管理模块、收支管理模块、待购管理模块等提供条件。(1) 类型管理进入账户管理界面显示已添加的支出类型、账户类型、收入类型,若要添加类型点击添加按钮,在要添加的类型处键入类型名,点击添加,若已存在重名类型,会给出该类型名已存在的提示,若不存在择添加成功,返回类型管理主界面。若要删除类型,则选择要删除的类型的类型名,点击删除按钮,点击确定,成功删除图4.2 类型管理流程图(2)联系人管理点击联系人管理进入联系人管理模块界面显示以添加的联系人的信息。若要添加联系人,则点击添加按钮,进入添加联系人界面,输入联系人姓名、生日、性别等信息,点击添加,若该联系人姓名已存在则给出改联系人已存在,请重新输入的提示,若不存在,则添加成功,返回联系人管理界面;若要删除联系人,则在下拉单里选择要删除的联系人的姓名,点击删除按钮,点击确认,成功删除。若要修改联系人信息,则点击修改按钮,从下拉单里选择联系人姓名,然后输入更新的信息,点击修改修改成功。图4.3 联系人管理流程图(3)账户管理点击账户管理进入账户管理模块界面显示以添加的账户的信息。若要添加账户,则点击添加按钮,进入添加账户界面,输入账户名、余额等信息,点击添加,若该账户名已存在则给出改账户已存在,请重新输入的提示,若不存在,则添加成功,返回账户管理界面;若要删除账户,则在下拉单里选择要删除的账户名,点击删除按钮,点击确认,成功删除。若要修改账户信息,则点击修改按钮,从下拉单里选择账户名,然后输入更新的信息,点击修改修改成功。图4.4 账户管理流程图4.3 收支管理模块(1)收入管理点击收入管理进入收入管理界面,界面显示已添加的收入条目,可按照界面上给出的时间范围、存入账户、收入类型条件来检索所需要的条目信息。若要添加记录,则点击添加按钮,进入添加界面,键入日期、类型、金额、存入账户、备注等信息,点击确认,添加成功,后台会按照存入账户和金额的信息来修改存入账户的余额。若要删除条目则先检索条目或遍历条目,得到要删除的条目的编号,然后输入编号,点击删除,点击确认删除,成功删除。若要清空条目,则直接点击清空按钮,点击确认清空,成功清空。(2)支出管理点击支出管理进入支出管理界面,界面显示跟收入管理基本类似,不再详细描述,区别是后台实现上,当添加记录后,后台会相应修改账户的余额,若余额充足,账户余额相应减少,否则会给出提示“余额不足,请更换账户”。图4.5 收支管理流程图4.4 借贷管理模块(1)借入管理借入管理是用来管理向其他人或单位借款的相关事务。见图4-6 借入管理流程图。点击借入管理进入借入管理界面,界面显示之前添加的记录。可以填入或选择相关内容来对记录进行检索。若要添加记录则点击添加按钮,进入添加记录界面,键入借款对象,借款金额,及存入账户,点击添加,成功添加,页面跳转到借入管理页面,后台会修改存入账户中的余额为之前余额与借入余额的值。若要还款则选择借入编号,还款账户,若账户中余额充足,则成功还款,并相应的修改还款账户的余额,否则会给出“账户余额不足,请更换账户的提示”。若要删除记录则选择借入编号,点击删除,点击确认,成功删除。(2)借出管理借出管理是用来管理向他人或单位借出资金的事务。流程与借入管理类似,区别为,当添加记录时,后台会查询取款账户的余额是否大于借款金额,若大于,则成功添加记录,账户余额会相应减少;否则给出“账户余额不足,请重新选择账户”的提示。收款时,选择相应账户,点击收款按钮,成功收款,收款账户余额会相应增加。图4.6 借入管理流程图4.5 待购管理模块待购管理模块是用来记录目前想买却因为某些状况暂时不买的相关记录,类似于购物网站的收藏夹功能。具体实现见图4-7 待购管理流程图。点击待购管理链接,进入待购管理界面,界面显示之前添加的相关记录。可通过金额及类型来检索想要查看的记录。若要对条目进行购买操作,选择账户,后台连接数据库,取出账户余额与待购物品价格进行比较,若余额充足,则会购买成功,支出模块会相应多一条记录,待购模块相应记录被删除。若要进行添加、删除、清空等操作,点击相关按钮,按照提示完成操作即可。图4.7 待购管理流程图4.6 资金管理模块资金管理模块分为资金分布及资金转账两个小模块,具体实现见图4-8 资金管理流程图。点击资金管理链接进入资金管理界面,界面显示当前账户基本信息,资金分布位置,若需要资金转账业务,则选择起始账户,目的账户,若起始账户余额充足,点击转账,点击确认转账成功,否则提示“起始账户余额不足,请更换账户”的提示。图4.8 资金管理流程图4.7 财务统计模块财务统计模块分为年度收支统计柱状图跟资金分布统计饼图两个部分。年度收支统计柱状图以图的形式直观的进行收入跟支出的比较,为用户更好的管理个人财务提供分析依据。资金分布饼图能够把用户“到底有多少钱,钱都在哪”这个问题,清晰直观的反馈给用户,使用户更能清楚的了解自己当前经济状况。5 系统实现5.1 界面实现界面代码是基于ASP.NET 编写的,主要工作是设计界面的布局以及将数据库中取出的数据按照特定方式显示给用户。附图为实现的部分界面图片图5.1是个人财务管理系统登陆的界面。图5.2是个人财务管理系统主界面图5.1 用户登录界面图5.2个人财务管理系统主界面图5.2 借出管理界面5.2 功能实现功能的实现主要是去连接数据库,提取数据库中信息,按照界面操作发出的指令,去进行相应的操作完成对数据库表数据的添加、修改、删除,并将数据返回并在界面以指定格式显示。以下附关键的几处代码。(1)登陆实现代码首先连接数据库,比较数据库user表中是否有条目的user与输入用户名一致,不一致的话,给出提示“抱歉,你没有权限操作!”,有一致的的话,比较输入密码与user表中密码是否一致,不一致的话,给出“输入密码不正确”的提示,一致的话,页面跳转到ManagerFrame界面。protected void Button1_Click(object sender, EventArgs e) string str; str = select Password from tb_user where UserName=name;SqlConnection con=new SqlConnection(ConnectionString);SqlCommand cmd= new SqlCommand(str,con);cmd.Parameters.Add(name,SqlDbType.VarChar,20);cmd.Parame

温馨提示

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

评论

0/150

提交评论