资源描述
云南大学旅游文化学院本科生毕业论文题 目:家庭理财平台的设计与实现系 别: 专 业: 学 号: 姓 名: 指导教师: 完成时间: 摘要在分析了国内外理财软件开发现状的基础上,介绍了基于B/S的家庭理财平台的开发过程。该系统是主要针对家庭内部理财需要而开发设计出来的,是以Microsoft Visual Studio 2010作为开发平台,应用ASP.NET作为前台开发语言,应用SQL Server 2008数据库来作为后台的数据库对该系统用到的数据进行存储和提取。家庭理财系统基于B/S模式,能够记录家庭每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等;可以根据输入的月份查询每月的收支情况。因此,要求该系统必须具有以下几个功能模块:用户注册登录模块、收支模块、系统管理模块、账目统计模块以及查询模块。家庭理财系统是使用计算机进行信息管理,不仅提高了办事效率,而且操作简便、界面友好、实用性强、灵活变通,能够很好的满足家庭对财务管理方面的需要。关键字:家庭理财;理财平台;软件开发;C#程序设计;ASP.NETAbstractBased on analyzing thedomestic and foreign financialsoftware developmentpresent situation,introduced the developmentprocessof family financial managementplatform based on B/S.The system ismainly forfamilyinternal financingneed and the development ofdesign out,is based on MicrosoftVisualStudio 2010 as the development platform,using ASP.NETas the onstage developmentlanguage,using SQLServer 2008 database as the backgrounddatabase storageand extraction ofthesystem used for thedata.Based on the B/Smodelof family financial managementsystemthatcanrecord all thefamilymonthlyincomeand various expenses,including food consumption,rent,childrens educationfees,utilities,medical expenses,savings;can according to thebalance of payments situationqueryinput of themonthmonthly.Therefore,requires that thesystem must havethe following function modules: UserLogin registeredmodule,payment module,system management module,accounts statistics module,query module.Family financial managementsystem isthe use of computer informationmanagement,not only improves the efficiency,andhas the advantages of simple operation,friendly interface,strong practicability,flexibility,can be very good to meet theneedsoffamilyfinancial management.Key words:Family financial management;financing platform;software development; C# programming; ASP.NET目录摘要IAbstractII1引言11.1课题背景11.2家庭理财系统国内外的发展情况11.3课题研究意义21.4系统设计思想22开发环境42.1数据库系统42.2开发平台4 .NET Framework平台4 ASP.NET4 ADO.NET5 C#52.3硬件环境5开发环境5运行环境62.4软件环境6开发环境6运行环境63系统概述73.1系统可行性分析7技术可行性7经济可行性7操作可能性8社会可行性8法律可行性83.2系统需求分析8功能需求分析8非功能需求分析104系统设计124.1系统的设计目标124.2系统功能结构125数据库设计145.1结构设计14概念模型设计14逻辑结构设计15物理结构设计175.2运用设计18数据字典设计186系统设计与实现216.1系统登陆注册界面的设计216.2其它功能界面的设计247系统测试327.1测试方法327.2测试说明327.3测试结果327.4测试总结33致谢35参考文献361引言1.1课题背景随着社会的进步,生活的富裕,科学技术的不断提高,计算机科学日益成熟,电脑已经成为家庭必备的工具之一,利用计算机进行家庭理财不失为一种行之有效的方法,实用、美观、高效的同时也给用户带来了极大的便利,达到足不出户就能管理财富的目的。作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有手工管理所无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成品低等。这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件。家庭理财是以家庭为单位的财务规划,具体来说是按照家庭的实物性财产、现金收支流,围绕家庭的收入、消费、投资、风险承受能力、心理偏好等情况,形成一套以家庭财务自由化为目标的家庭财务安排1。从广义的角度来讲,合理的家庭理财会节省社会资源,提高社会福利,促进社会的稳定发展。从技术的角度来讲,家庭理财就是利用开源节流的原则,增加收入,节省支出,用最合理的方式来达到一个家庭所希望达到的经济目标2。现今国内已有成熟的C/S结构的理财管理系统,而B/S结构的在线实时管理的还尚不发达,因此该课题的研究目的在于开发基于B/S的家庭理财平台。1.2家庭理财系统国内外的发展情况家庭理财系统在国外很多地方已经相当的普遍,而且国外的家庭理财系统功能相当强大,比如系统里包含有股票的预测、基金的分析等等。在国内,尤其是在近几年,伴随着计算机的高度普及,家庭理财系统的使用范围逐步扩大,从最早的简单使用纸笔记录家庭、个人财务的收支情况,到现在用计算机对财务的收支、查询、汇总等等。巨大的市场需求也促使了很多公司加大了对家庭理财系统的研究。我国经济的飞速发展促使家庭理财工具的发展。现行的主流理财软件大多是单机安装版,此类软件需要占用用户计算机的硬件和软件资源。在社会飞速发展的今天,人们越来越追求方便、快捷、高效的软硬件服务。对于网络的服务,大众已经不喜欢把数据都下载和存储到本地计算机上,这样容易造成资源空间的紧张,数据也很可能随计算机的故障而丢失。因此,网络中提供的存储空间解决了这一问题,由专业的公司提供专业的软件来对自己的数据进行有序、安全的管理,可以为自己避免很多问题的出现。纵观近些年国内软件的发展,越来越朝着网络软件的方向发展,所以,该课题所要开发设计的基于B/S的家庭理财系统符合市场需求,在方便人们生活的同时,也具有良好的应用前景。国内比较健全的理财软件有佳盟个人信息管理软件,财智软件等。佳盟软件有“简易操作,轻松体验”,“快速记账,自由理财”的优势,它的用途广泛,具有智能发送祝福、合理安排时间和日程、记录活动/会议记录、制定工作目标等功能。财智软件可以自由定制首页,并与多家银行网银联网,能共享网银交易数据,可以做到随时随地轻松理财。财智软件的特色是财务诊断,预警用户的某项投资或收支异常,能完整掌握家庭理财信息、快速诊断家庭财务健康状况。国外最成功的理财软件有Quicken、Microsoft Money等。Quicken首次于1983年,长期以来一直是个人桌面财务软件的领导者,Quicken既可以处理复杂的预算,也可以处理简单的,它可以从你的银行或信用卡中获取报表,支持Windows和Mac平台。Microsoft Money发布于1991年,是微软对抗Quicken的工具,它的成功之处在于功能强大,支持账户管理、投资市场、税务、预算、分析、个人理财规划、支付等几乎所有金融管理的功能,使用了开放金融交换(Open Financial eXchange:OFX)协议,可以和各个银行的Web Banking和Online Banking系统,各个证券公司、基金公司、税务机构的各个系统进行联接,方便用户使用,给用户的所有资产管理提供了一个统一的管理入口3。1.3课题研究意义有很多家庭不善于理财,甚至不去理财,这样造成了财富的不合理运用,或者浪费;而有的家庭善于理财,对自己的收入和支出都一清二楚4。对于前者,应用家庭理财系统可以让他们清楚地看到自己的财富,了解自己的资产与负债,从而做出合理的规划;对于后者,应用家庭理财系统可以使他们放弃传统的纸张记账方法,只需点击鼠标,键盘输入,就可一目了然,非常方便。如何设计开发出功能强大,费用低廉,通用性强,适合我国国情的理财系统,这将是急需解决的一个重要课题。系统采用B/S结构,随时随地能用,不需要下载客户端,具有通用性,不必担心客户端的兼容性问题。课题采用C#语言,该语言是面向对象的编程语言,开发周期短,扩展性强,拥有ADO.NET的强大支持,便于数据管理,同时也具有较高的安全性,易用性。在人机交互的设计理念上更加完善,具有更高的开发效率,实现复杂的编程应用。类的设计和引用更利于程序的开发。C#采用代码和Html分离,具有更高的可读性。采用ASP.NET能在不更新整个页面的前提下维护数据,使得Web更为迅速的响应回应动作,实现即时更新。1.4系统设计思想每一个系统,都要有一个合适的设计思想和方法,这样才能保证系统的基本思想是贯彻适中的。选择合理的逻辑结构,物理结构,操作系统和外部开发环境,这些对系统的开发起着关键的作用。只有这样才能构成完善的整体的系统。该系统的设计按照下述原则进行。 实用性系统以用户需求为目标,以方便用户为原则。根据用户实际的需求情况,完成一个在线理财系统,并且将在统一的界面下提供各种实用功能,尽可能降低使用前的培训、实施和使用中的维护时间。 先进性该设计将充分应用现有成熟的计算机技术、网络技术、软件开发技术,为用户提供高性能的系统。系统将运用先进的客户机/服务器结构,采用SQL Server 2008数据库,可以方便的满足用户在线理财的需要。 高可靠性一个实用的系统同时必须是可靠的,该设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统的可靠性与容错性。 高安全性在设计中,将充分利用各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。 可扩展性及灵活性系统的设计以方便未来业务的扩展和系统扩充为目标。2开发环境2.1数据库系统SQL Server 2008在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,他都可以控制数据而不用管数据存储在哪里。强壮的事务处理功能,采用各种方法保证数据的完整性。SQL语言的主要功能就是同各种数据库建立联系,进行共同。但它的功能并不仅限于查询,可以创建、修改、删除、更新数据库,入、删除等功能5。按照美国国家标准协会(ANSI)管理系统的标准语言还可以完成数据的查询、排序、插入的规定,SQL被作为关系型数据库。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用TSQL语言作为数据库操作的标准语言。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create等以及Drop在内的标准的SQL命令仍然可以呗用来完成几乎所有的数据库操作。2.2开发平台2.2.1 .NET Framework平台Microsoft .NET Framework是微软公司的新战略,它包含微软公司对未来的核心战略、规划和洞察力。所有微软公司的产品都将围绕这个战略开发,此战略的核心就是.NET Framework,该框架提供了全面支持.NET的核心技术。.NET是一种新的计算机平台,他简化了高度分布式Internet环境中的应用程序开发。.NET Framework框架的基本思想是:把原有的重点从连接到互联网的单一网络或设备转移到计算机、设备和服务群组上,而将互联网本身作为新一代操作系统的基础。这样,用户将能控制信息的传送方式、时间和内容,从而得到更多的服务。.NET Framework具有两个主要组件:公共语言运行库和.NET Framework类库。总之,.NET Framework提供了一种更简单、更快捷、更廉价的方式,来获得高效的程序。.NET的目标是人们今后无论何时何地,都可以通过任何一台计算机或手机、掌上电脑等移动设备来处理个人数据、玩游戏或者上网冲浪。通俗地讲,.NET的核心内容之一就是要搭建第三代互联网平台。2.2.2 ASP.NETASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,6在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。ASP.NET具有以下几个重要特点: 强大性和适应性,ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。 简单性和易学性,ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。 高效可管理性,ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单,因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。2.2.3 ADO.NETADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。ADO.NET是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter7。 C#C#是微软开发的程序设计语言,它是一种最新的、面向对象的编程语言。8因此对于使用这种语言的开发人员来说,开发的基于Microsoft.NET平台的应用程序会得到很大的便利,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算和通讯领域。正事由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。C#使得C+程序员可以更快更好的进行程序开发,另外C/C+本身很好的处理方法也不会丢掉,这是两全其美的方法,因此正是因为存在这层关系,C#与C/C+有很多一样的地方,熟悉C或C+程序的软件人员可以很快的转向C#程序开发。2.3硬件环境 开发环境系统的开发环境如下:CPU:Intel 2.5GHz内存:4G硬盘空间:40G 运行环境系统只有在一定的环境下运行才能表现出稳定性和可靠性,该系统所需的基本运行环境如下:CPU:Intel双核2. 0GHz或以上(CPU越高越好,运行越流畅)内存:2G及以上硬盘空间:80G及以上分辨率:1024*768或以上2.4软件环境 开发环境操作系统:Windows XP/7数据库:SQL Server 2008开发平台:Microsoft Visual Studio 2010 运行环境操作系统:Windows XP/73系统概述3.1系统可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的。可行性取决于实现应用系统的资源和条件。可行性分析应具有预见性、公正性、可靠性、科学性的特点。系统分析是平台开发的一个不可缺少的环节,为了能够使该系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。技术可行性Microsoft Visual Studio 2010是目前最流行的Windows平台应用程序开发环境,此版本集成开发环境的界面被重新设计和组织,更加简单明了。使用VS2010作为开发工具使设计变得简单快捷。SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,他都可以控制数据而不用管数据存储在哪里。强壮的事务处理功能,采用各种方法保证数据的完整性。在软件方面,由于VS2010 和SQL server 2008 都两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。在技术难度方面,经常请教指导老师,加上对相关资料的参考,因此,开发过程中的困难和问题也可迎刃而解。由此得出该系统在技术上具有可行性。经济可行性如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越低。该系统开发成本较低,只是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但不会因为开发成本低而造成系统功能性能的下降。家庭理财系统廉价的开发成本,却能够为使用者带来简便快捷的功能。主要表现在: 该系统能提高家庭理财管理的效率,节省时间,减少投入不必要的人力与物力。 该系统拥有多种实用功能,包含了家庭成员管理,收入支出管理等多种功能,具有较强的实用性和方便性,是可以普及使用的。 该系统还有查询和统计功能,能够为使用者提供精确地收入和支出情况,让使用者对自己财务的来源和去向一目了然,并做好规划,避免不必要的开支。由此得出该系统在经济上具有可行性。操作可能性基于B/S的家庭理财系统,具有实用的功能设计和简单的操作,任何一个家庭的普通使用者均可很快的熟悉并熟练的使用此系统。社会可行性对于家庭理财系统来说,是值得推广、值得广泛使用的,算着计算机技术的飞速发展,家庭中拥有计算机是异常普遍的,再加上价格低廉,很容易普及和发展。所以该系统有用很大的发展前途。法律可行性该系统作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。3.2系统需求分析开发实现一个应用系统,系统的需求分析阶段是非常重要的,分析的成功与否,决定着整个系统功能的完善性以及稳定性,是开发的依据。通过需求分析,做到充分理解用户对系统的需求。需求分析的任务不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的需求。功能需求分析家庭理财系统是针对用户要求用计算机,对自己财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件。通过需求分析,该系统需要具备以下功能: 由于该系统是面对普通用户设计,那么该系统的操作界面必须通俗易懂、一目了然,使人一看就能理解,所以该系统要求具有一目了然的人机界面。 要能够记录家庭每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等; 可以根据输入的月份查询每月的收支情况。因此,要求该系统必须具有以下几个功能模块:用户注册登录模块、收支模块、系统管理模块、账目统计模块以及查询模块。各模块具体的需求描述如下: 用户注册登录模块用户注册:新用户通过填写信息进行注册。用户登录:验证用户的信息是否正确。 数据库备份模块对数据库里的数据进行备份。 收支模块对收支记录的添加、修改。 系统管理模块用户修改密码,添加账户与成员。 账目统计模块对总资产、总负债、净资产的统计管理等。 查询模块实现对收入记录、支出记录按时间查询等。系统的用例图如图1所示:图1 系统用例图非功能需求分析 性能需求系统处理的准确性和及时性系统的易用性系统的标准性 安全性需求系统保密性:只有授权的用户才能动用和修改信息,而且必须防止信息的非法、非授权的泄漏。系统的完整性:信息必须以其原形被授权的用户所用,也只有授权的用户才能修改信息。漏洞检测和安全风险评估:识别检测对象的系统资源,分析资源被攻击的可能指数,了解支撑系统本身的脆弱性,评估所有存在的安全风险。可用性和抗毁性:设置备份机制、容错机制,防止在系统出现单点失败时,系统的备份机制保证系统的正常运行。 可用性需求控制系统预置必有项目不可删除和修改操作完成时有统一规范的提示信息在进行理财记账开始,不可对账户和成员进行删除,只可进行添加或修改信息4系统设计4.1系统的设计目标系统必须要满足使用方便、操作灵活等设计需求。该系统在设计时应满足以下几个目标: 界面设计美观友好,人机交互简单明了,数据存储安全可靠。 能记录收入与各项开支情况。 为用户提供一个方便、快捷的查看所有记录的功能。 实现账目统计,财务分析功能。 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 系统最大限度地实现了易维护性和易操作性。 系统运行稳定安全可靠。4.2系统功能结构用户首次使用时需先进行注册,注册登录后可以进行对账户与家庭成员的设置,设置完成后即可开始使用该系统进行记账,完成日常记账、统计、查询等功能。系统的功能结构如图2所示:图2 系统功能结构图系统的流程图如图3所示:图3 系统使用流程图5数据库设计5.1结构设计概念模型设计家庭理财系统主要功能有用户注册登录,收入模块、支出模块等。因此,设计数据库表的时候设计了用户表、成员表、收支项目表、收支记账表等来存储相应的信息。数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。9E-R模型的基本概念:E-R图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。E-R图的理念是:项目所有参与者能理解E-R图。E-R图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间10。 实体:现实世界中的事物; 属性:事物的特性; 联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。该系统的E-R图如图4-图6所示:图4 系统E-R图1图5 系统E-R图2图6 系统E-R图3逻辑结构设计逻辑结构设计如表1-表6所示:表1 用户表字段名称数据类型字段大小字段说明usernamenvarchar16用户名passwordnvarchar64密码E-mailnvarchar50E-mail表2 成员表字段名称数据类型字段大小字段说明IDint长整型成员IDusernamenvarchar16用户名membernamenvarchar16成员名sexnvarchar2成员性别表3 收支账户表字段名称数据类型字段大小字段说明项目编码int整型项目编码项目名称nvarchar64隶属项目nvarchar4收入/支出/转账/负债上级项目编码int整型底层项目要写上级编码,本身顶层写本身是否顶层nvarchar2是/否是否底层nvarchar2是/否备注nvarchar64表4 收支记账表字段名称数据类型字段大小字段说明记账编码int长整型记账编号日期date短日期记账日期项目编码int整型隶属项目nvarchar4收入/支出/负债账户nvarchar64备注nvarchar64金额float整型用户名nvarchar16成员名nvarchar16表5 资产账户表字段名称数据类型字段大小字段说明IDint长整型名称nvarchar64所属人nvarchar16成员名类型nvarchar50现金/银行账户/第三方储值账户/投资账户/保险账户备注nvarchar64卡号等均可写在备注中表6 账户机构表字段名称数据类型字段大小字段说明namenvarchar64账户/机构名称类型nvarchar10账户/机构图7 逻辑关系结构物理结构设计在数据库中,数据的存储如图8-图13所示:图8 用户表图9 成员表图10收支项目表图11 收支记账表图12 资产账户表图13 账户/机构表5.2运用设计 数据字典设计数据字典11如表7-表12所示:表7 用户信息名字:用户表定义:用户注册时的信息描述:用户表 = username + password + E-mail位置:家庭理财表8 成员信息名字:成员表定义:注册用户自行添加的家庭成员描述:成员表 = ID + membername + sex + username位置:家庭理财表9收支项目信息名字:收支项目表描述:各种收入和支出的明细信息定义:收支项目表=项目编码 + 项目名称 + 隶属项目 + 上级项目编码 + 是否顶层 + 是否底层 + 备注位置:家庭理财表10 收支记账信息名称:收支记账表描述:收入和支出的来源和去向定义:收支记账表= 记账编码 + 日期 + 项目编码 + 隶属项目 + 账户 + 金额 + 备注 +用户名+ 成员名位置:家庭理财表11 资产账户信息名称:资产账户表描述:用户在记账是所用的账户定义:资产账户表 = ID + 名称 + 所属人 + 类型 + 备注 + 用户名位置:家庭理财表12 账户/机构信息名称:账户/机构表描述:各种银行机构或保险机构的名称以及卡号定义:账户/机构表 = ID + 名称 + 卡号 + 所有者位置:家庭理财6系统设计与实现6.1系统登陆注册界面的设计登陆界面运行结果如图14所示:图14 家庭理财系统登陆界面该页面是用户登陆页面,输入正确的用户名、密码和验证码点击登陆按钮则进入登陆后页面。若用户未注册点击注册按钮进入注册页面。 登录界面活动图图15 登录活动图其核心代码如下:conn.Open();cmd.CommandText = select Count(*) from 用户表 where username= + () + ;int result = Convert.ToInt32(cmd.ExecuteScalar();conn.Close();if (result 1) Label1.Text = 用户不存在,请注册或重新输入!;UserName.Focus();();cmd.CommandText = select Count(*) from 用户表 where username=A and password=B;(A, ();(B, ();conn.Open();int res = Convert.ToInt32(cmd.ExecuteScalar();conn.Close();if (res = 1)SessionUserName = ();Response.Redirect(UserMain.aspx);注册界面运行结果如图16所示:图16 家庭理财系统注册界面该界面是用户注册界面,填写完信息点击注册时会对所填信息进行验证,系统会将用户名与数据库内已存在的用户进行比对,会验证两次密码是否一致,会检测E-mail的书写格式是否正确,若都无问题即注册成功,并跳转回登陆界面。注册流程图如图17所示:图17 注册流程图其核心代码如下:conn.Open();cmd.CommandText = insert into 用户表(username,password,E-mail) values (uname,pwd,e); (uname, ();(pwd, ();(e, ();cmd.ExecuteNonQuery();conn.Close();Functions.Alert(注册成功!, UserLogin.aspx);6.2其它功能界面的设计由于功能模块较多,而模块中界面的实现过程都是类似的,所以,现在只介绍系统重点设计。系统内主界面运行结果如图18所示:图18 家庭理财系统主界面该界面是登陆成功后进入到系统的首个界面,如果已经开始记账,此界面应显示所有记账记录的详情。在该界面可以直接点击进入到其它功能模块的界面。账户管理界面、添加账户、修改账户界面运行结果如图19-图21所示:图19 家庭理财系统账户管理界面图20 家庭理财系统添加账户界面图21 家庭理财系统修改账户信息界面账户管理功包含三个界面,能对账户进行增删改查的操作,需要注意的是,账户和成员等基础设置要先进行,然后再开始记账。 账户管理模块活动图图22 账户管理模块活动图其核心代码如下:conn.Open();cmd.CommandText = delete from 资产账户表 where 名称= + GridView1.DataKeyse.RowIndex.Value.ToString() + ;cmd.ExecuteNonQuery();();cmd.CommandText = delete from 收支记账表 where 账户= + GridView1.DataKeyse.RowIndex.Value.ToString() + ;cmd.ExecuteNonQuery();();cmd.CommandText = select * from 资产账户表;修改密码界面运行如图23所示:图23 家庭理财系统修改密码界面该界面是修改密码界面,此界面会验证原密码是否正确,两次新密码是否一致,均无误后即可更改密码,下次登录时生效。图24修改密码流程图其核心代码如下:cmd.CommandText = Update 用户表 set password=A where username=B;(A, tbpwd1.Text.Trim();(B, SessionUserName.ToString();conn.Open();cmd.ExecuteNonQuery();conn.Close();日常收支界面运行结果如图25所示:图25家庭理财系统日常记账界面该界面是在完善初始的一些设置之后最先用到的功能模块,在进行记账是需要注意有“*”号的均是必填的,要先进行类别选择,选择后才会相应出现不同的项目,都填好后点击保存按钮,系统验证无误后即返回“添加记录成功!”字样的提示,并重新载入此界面。若点击重置按钮,则将所有填写或选择的数据清空。图26 记账流程图其核心代码如下:conn.Open();cmd.CommandText = insert into 收支记账表(日期,项目编码,隶属项目,账户,金额,备注,用户名,成员名) values (rq,xmbm,lsxm,zhh,jine,bz,uname,mname);/将数据传回收支记账表(mname, ddlFour.SelectedValue);cmd.ExecuteNonQuery();conn.Close();Functions.Alert(添加记录成功!, DIE.aspx);财务概况界面运行结果如图27所示:图27 家庭理财系统财务概况界面该界面直观的显示了用户的总资产,总负债及净资产。并通过柱状图将每月的收支情况呈现给用户。日常收支表界面运行结果如图28所示:图28 家庭理财系统日常收支表界面该界面通过对时间的筛选进行对指定时间段内的收入和支出进行统计查询。可以查到收入与支出总和,并且列举了各项收入或支出的总和。 日常收支模块活动图图29 日常收支表活动图7系统测试7.1 测试方法白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。12黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有经过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接受和正确的输出。它不管程序内部结构是什么样的,只是从用户出发,根据产品应该实现的实际功能和已定义好的产品规格来验证产品所应该具有的功能是否实现,每个功能是否都能正常使用,是否满足用户需求。单元测试:是指对软件中的最小可测试单元进行检查和验证。单元就是人为规定的最小的被测功能模块。单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。压力测试:是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。137.2测试说明测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,也本着容易实施的原则,该测试主要采用黑盒法进行测试,再用白盒法进行补充测试。没有进行压力测试。7.3测试结果因有些功能模块相类似,所以仅测试相似界面的其中一个界面,不进行全部测试。被测程序输入数据实际输出预期输出原因用户登录(UserLogin)用户名密码验证码验证用户名,密码,验证码都正确的可以登录,否则登录失败验证用户名,密码,验证码都正确的可以登录,否则登录失败验证用户名,密码,验证码都正确的才可以登录注册信息(UserRegister)用户名E-mail密码密码核对用户名不可重复,密码,密码核对一致,E-mail格式正确即为注册成功,否则注册失败用户名不可重复,密码,密码核对一致,E-mail格式正确即为注册成功,否则注册失败验证用户名不存在,两次密码必须一致,E-mail格式必须正确才可以注册修改密码(CP)原密码新密码新密码核对原密码无误,新密码,新密码核对一致,可修改密码,否则修改失败原密码无误,新密码,新密码核对一致,可修改密码,否则修改失败原密码无误,两次新密码一致才可以修改密码添加成员(MMadd)名称性别验证名称,不存在添加成功,否则添加失败验证名称,不存在添加成功,否则添加失败名称必须唯一才可添加成功添加账户(AMadd)名称所属人类型备注验证名称,选择所属人和类型,均可行添加成功,否则添加失败验证名称,选择所属人和类型,均可行添加成功,否则添加失败名称必须唯一,所属人与类型必须选择才可添加成功日常收支(DIE)类别收支项目账户金额备注成员名验证选择类别、项目、账户、成员名,确认输入金额,填写完整后添加记录成功,否则添加失败验证选择类别、项目、账户、成员名,确认输入金额,填写完整后添加记录成功,否则添加失败类别,项目,账户,成员名,金额为必填选项,均填写完整方可添加记录借入(Borrow)债权人借入金额成员(债务人)验证债权人,成员的选择,金额的输入,填写完整后添加记录成功,否则添加失败验证债权人,成员的选择,金额的输入,填写完整后添加记录成功,否则添加失败债权人,借入金额,成员均为必填选项,均填写完整后方可添加记录收回(TBack)债务人本金利息成员验证债务人,成员的选择,本金,利息填写完成,填写完整后添加记录成功,否则添加失败验证债务人,成员的选择,本金,利息填写完成,填写完整后添加记录成功,否则添加失败债务人,成员,本金,利息均为必填选项,均填写完整后方可添加记录日常收支表(DBS)时间段选择或输入时间段,时间段无误即可查询选择或输入时间段,时间段无误即可查询选择或输入时间段,时间段无误即可查询7.4测试总结经过测试之后基本确认该系统的开发基本已达到预定目标,各个模块的基本功能可以得到保证,但是基于测试环境和实际运行环境的差异,因此在实际应用中可能存在一些问题没有考虑到,在实际应用的时候可能会造成一些不定因素的问题。致谢大学生活转瞬即逝,回首走过的岁月,心中倍感充实。当我终于开始结束这篇论文之时,回首几个月的不懈努力,心中感慨万千。参考文献1 陈仕强、冯学勇.家庭理财指南.知识出版社,2009年1月:97-135页2 周华等编译.金钱赢家个人投资理财实务.中国物资出版社,2003年11月:79-125页3 4 吴治中、方金友.家庭投资理财1000问.安徽科学技术出版社,2002年:39-58页5 萨师煊、王珊.数据库系统概论(第三版).高等教育出版社,2000年2月:39-253页6 孟宗洁、蔡杰.ASP.NET程序设计项目式教程(C#版).电子工业出版社,2012年9月:163-205页7 尹增明等编著.ASP.NET Web应用开发(C#版).机械工业出版社,2008年1月:67-108页8 林成春、孟湘来、马朝东.C#数据库程序设计.清华大学出版社/北京交通大学出版社,2010年7月:89-123页9 赛奎村.ASP信息系统开发实例精选机械工业出版社,2005年4月:184-209页10 林邦杰.程序设计入门教程(第三版).清华大学出版社,2004年3月:162-229页11 陈季、马永杰、李振先.ASP.NET实例指南与高级应用.中国铁道出版社,2009年1月:83-109页12 梁建全、宋修舫、孙强.专家门诊ASP.NET开发答疑200问.人民邮电出版社,2004年:23-45页13 匡松、张淮鑫主编.ASP.NET开发宝典.中国铁道出版社,2009年7月:247-387页
展开阅读全文