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

下载本文档

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

文档简介

1、毕业设计(论文)论文题目:家庭财务管理系统所 在 系 电信系 姓 名 罗时聪 专 业 软件技术 班 级 10软件 指导老师 王敏 2013年 4 月 20 日目 录第1章 绪论11.1 课题背景及选题意义11.2 课题简介11.3 系统的开发目的和意义21.4 系统开发工具与数据库介绍21.4.1 b/s模式介绍21.4.2 javabean介绍31.4.3 jsp技术介绍31.4.4 hibernate技术介绍41.4.5 “容器”tomcat应用服务器介绍41.4.6 oracle数据库介绍51.4.7 开发框架技术mvc61.5 系统开发理论介绍61.5.1 系统规划阶段71.5.2 系

2、统分析阶段71.5.3 系统设计阶段71.5.4 系统实施阶段71.6 运行环境8第2章 系统需求分析92.1系统目标92.2 系统可行性分析92.2.1 技术可行性92.2.2 经济可行性92.3系统需求分析方法102.3.1系统需求分析概述102.3.2系统需求分析方法112.4系统功能需求分析11第3章 系统总体设计133.1 系统设计方法133.2 系统架构133.3 系统功能模块细分153.4 系统数据库的设计163.4.1 数据库分析163.4.2 数据库概念结构设计163.4.3 数据库逻辑结构设计18第4章 系统特性194.1 框架文件配置194.2 系统主界面214.3家庭成

3、员管理收支项目234.3.1 查看收支项目234.3.2编辑收支项目234.3.3 删除收支项目234.3.4 技术23第五章 结 论27第1章 绪论1.1 课题背景及选题意义近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容。社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。为此,不少家庭就有中长期财务预算,有基本建

4、设规划。总的说来,家庭财务必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。1.2 课题简介家庭财务管理系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭财务管理系统应该能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大的方便家庭的管理者的合理理财。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对家庭财务进

5、行管理,具有手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件。1.3 系统的开发目的和意义家庭理财管理系统是为满足当代家庭理财管理的需要而设计开发的一个财务管理系统。它针对家庭理财的需要,开发出一个能实现管理家庭财务收支以及统计分析等功能的实用型软件,能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大方便家庭管理者合理科学有效的理财。伴随着信息时代的到来,信息的种类、数量越来越多,容量也越来越大,在竞争越来越激烈的今天,随着科学技术

6、的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。而使用计算机对家庭财务进行管理,已经成为一种趋势,与传统的手工式家庭财务管理相比,利用计算机软件对家庭财务实行管理具有检索迅速、查找方便、可行性高、存储量大、保密性好、寿命长、成本低等优点。家庭理财管理系统正是在这种环境下应运而生,其开发的整体任务是实现家庭财务管理的系统化、规范化、科学化,从而达到有效管理家庭财务的目的。因此,开发这样一个系统在当今社会中是很有必要的。1.4 系统开发工具与数据库介绍1.4.1 b/s模式介绍伴随着internet的迅速发展,计算机技术正在由基于c

7、/s(client/ server)模式的应用系统转变为基于b/s模式的应用系统。过去,网络软件的开发都采用c/s(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:(1) 系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。(2) 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。(3) b/s模式带来了巨大的好处:开发成本及维护成本降低。由于b/s架构管理软件只安装在服务器端(server)上,即应用程序在部署

8、、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(server)端完全通过www浏览器实现,极少部分事务逻辑在前端(browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。(4) 良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过dbms来访问数据库,从而大大减少了数据直接暴露的风险。1.4.2 javabean介绍用户可以使用javabean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的js

9、p页面、servlet、其他javabean、applet程序或者应用来使用这些对象。用户可以认为javabean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。最初,javabean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(ide)下使用的java软件部件。这些包括如grid控件,用户可以将该部件拖放到开发环境中。从此,javabean就可以扩展为一个java web 应用的标准部件,并且javabean部件框架已经扩展为企业版的 bean(ejb)。1.4.3 jsp技术介绍jsp的全称是java server pages,它是sun推出

10、的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入java程序片段和jsp标记,就构成了jsp页面。jsp具有以下的优点:(1) 将业务层与表示层分离:使用jsp技术,网络开发人员可充分使用html来设计页面显示部分(如字体颜色等),并使用jsp指令或者java程序片段来生成网页上的动态内容;(2) 能够跨平台:jsp支持绝大部分平台,包括现在非常流行的linux系统,应用非常广泛的apache服务器也提供了支持jsp的服务;(3) 组件的开发和使用很方便:如asp的组件是由c+,vb等语言开发的,并需要注册才能使用;而jsp的组件是用java开发的,可以直接使用

11、;(4)一次编写,处处运行:作为java开发平台的一部分,jsp具有java所有优点,包括write once , run everywhere.1.4.4 hibernate技术介绍hibernate是一个免费的开源java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。 hibernate不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何不可思议的接口以便能够持续存在。惟

12、一需要做的就是创建一份 xml“映射文档”,告诉hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。与其他解决方案相比,它几乎已经很完美了。运行时,hibernate读取映射文档,然后动态构建java类,以便管理数据库与java之间的转换。在hibernate中有一个简单而直观的api,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉hibernate保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉hibernate有关它们

13、的信息,这样就能在数据库中保存它们。hibernate api学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它,就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾难,但是借助于hibernate,只需要简单地修改hibernate配置文件即可。1.4.5 “容器”tomcat应用服务器介绍目前支持jsp的应用服务器是较多的,tomcat是其中较为流行的一个web服务器,被javawor

14、ld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。 tomcat是一个免费的开源的serlvet容器,在tomcat中,应用程序的部署很简单,你只需将你的war放到tomcat的webapp目录下,tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的jsp时,通常第一次会很慢,因为tomcat要将jsp转化为servlet文件,然后编译。编译以后,访问将会很快。tomcat也具有传统的web服务器的功能:处理html页面。但是与apache相比,它的处理静态html的能力就不如apache。我们可以将tomcat和apache集成到一块,让apach

15、e处理静态html,而tomcat处理jsp和servlet。tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。1.4.6 oracle数据库介绍oracle 是以高级结构化查询语言(sql)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的b/s体系结构的数据库之一。oracle7.x以来引入了共享sql和多线索服务器体系结构。这减少了oracle的资源占用,并增强了oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(rol

16、e)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。提供了与第三代高级语言的接口软件pro*系列,能在c,c+等主语言中嵌入sql语句及过程化(pl/sql)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 power build、sql*forms、visia basic 等,可以快速开发生成基于客户端pc 平台的应用程序,并具有良好的移植性。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。oracle数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用程序的增大而变化。

17、oracle数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的oracle应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。物理上存放于网络的多个oracle数据库,逻辑上可以看成一个单个的大数据库。用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协调工作过程。由网络相连的两个oracle数据库之间通过数据库

18、链接(db-links)建立访问机制,相当于一方以另一方的某用户远程登录所做的操作。但oracle采用的一些高级管理方法,如同义词(synonme)等使我们觉察不到这个过程,似乎远端的数据就在本地。数据库复制技术包括:实时复制、定时复制、储存转发复制。对复制的力度而言,有整个数据库表的复制,表中部分行的复制。在复制的过程中,有自动冲突检测和解决的手段。1.4.7 开发框架技术mvc对于框架技术,我们采用struts+ struts+hibernate的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用jav

19、a技术在web的应用。struts是应用比较广泛的一种表现层框架struts是一个为开发基于模型(model)视图(view)控制器(controller)(mvc)模式的应用架构的开源框架,是利用servlet,jsp和custom tag library构建web应用的一项非常有用的技术。由于struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将javabeans从jsp/servlet中分离出来,而使用表现层框架则可以将jsp中剩余的javabeans完全分离,这部分javabeans主要负责显示相关信息,一般是通过标签库(taglib)实现,不同框架有不同自己

20、的标签库,struts是应用比较广泛的一种表现层框架。1.5 系统开发理论介绍软件的生命周期指从提出软件产品开始,直到该软件产品被淘汰的全过程。信息系统在使用过程中随着其生存环境的变化,要不断维护、修改,当它不再适应的时候就要被淘汰,就要有新系统代替老系统,这种周期循环称为信息系统的生命周期。信息系统的生命周期可以分为系统规划、系统分析、系统设计、系统实施、系统运行和维护等五个阶段。1.5.1 系统规划阶段系统规划阶段的任务是对各家庭理财的环境、目标及现行系统的状况进行初步调查,根据家庭理财目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约

21、束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性分析报告。可行性分析报告审议通过后,将新系统建设方案及实施计划编写成系统设计任务书。1.5.2 系统分析阶段系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。这个阶段又称为逻辑设计阶段,他是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别所在。该阶段的工作成果体现在系统说明书中,这是系统建设的必备文件。它既是给用户看的,也是下一

22、阶段的工作依据。因此,系统说明书既要通俗,又要准确。用户通过说明书可以了解未来系统的功能,判断是不是其所要求的系统。系统说明书一旦讨论通过,就是系统设计的依据,也是将来验收系统的依据。1.5.3 系统设计阶段简单地讲,系统分析阶段的任务是回答系统“做什么”的问题,而系统设计阶段要回答的问题是“怎么做”。该阶段的任务是根据系统说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也即设计新系统的物理模型。这个阶段又称为物理设计阶段,可分为总体设计和详细设计两个阶段。这个阶段的技术文档是“系统设计说明书”。1.5.4 系统实施阶段系统实施阶段是将设计的系统付诸实施的阶段。这一阶段的

23、任务包括计算机等设备的购置、安装和调试,程序的编写和调试,人员培训,数据文件转换,系统调试与转换等。这个阶段的特点是几个互相联系、互相制约的任务同时展开,必须精心安排、合理组织。系统实施是按实施计划分阶段完成的,每个阶段应写出实施进度报告。系统测试之后写出系统测试分析报告。1.6 运行环境操作系统windows xp 软件环境数据库:oracle10g开发工具:myeclipse8.5第2章 系统需求分析2.1系统目标本系统要达到的目标有以下几点: 验证用户和密码的正确性再登入,以及修改密码和退出系统; 保存每次输入的收支记录,并提供两种查询方式:种类法和编号法; 整个收支记录库可以导出为文本

24、文件,以便做其它工作; 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。2.2 系统可行性分析可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。从现在应用的技术方面、管理者和用户的操作方式方面研究智能家庭理财系统的可行性和必要性。智能家庭理财系统的实施,将很大程度上提高现代家庭的理财效率,使得现代家庭能够更加方便的对自己的财务进行个性化的管理。2.2.1 技术可行性技术可行性研究的任务,是从总体上鉴别和选择技术系统,是研究现有的技术条件能否顺利完成开发工作,硬、软件配置能否满足开发的需求等等。本系统的开发使用myeclipse 作为系统开

25、发的开发环境,它作为一种现代化的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障,为开发满足客户要求的系统保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统为一个小型的家庭理财系统,所耗费的资源非常的小,现行的电脑无论是硬件还是软件都能够满足条件,因此,本系统在技术上是可行的。2.2.2 经济可行性 进行软件开发项目成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性。如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越底。本系统也是这样,开发成本较低,只

26、是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但并不会因为开发成本低而造成系统功能性能的下降。相反,随着计算机技术的发展,各种实用软件的性能日渐提高。家庭理财管理系统廉价的开发成本,却能够为居民带来相当大的实惠和方便。主要表现在:(1)本系统是一个拥有多种实用功能的家庭理财管理信息系统,它集成了家庭成员管理、收入管理、支出管理、密码管理等多种功能,具有较强的实用性和方便性。(2)本系统的运行可以大大提高居民管理财务的效率,减少不必要的人力和物力。(3)本系统还具有查询和统计功能,能够查询到用户在一段特定时间内收入和支出的情况,特别是支出情况,有时往往会让用户在月底吓一跳,大大超

27、出预算,还弄不清钱都花到哪里了。有了家庭理财系统,不仅使用户对口袋里钱的去向一目了然,而且可以帮助用户渐渐感悟到一些心得,摸清哪些花费是必要的,哪些“意外开支”是可以避免的,哪笔开支是可继续评估其必要性的。(4)本系统的运行可以大大的提高家庭的工作效率,并可以使敏感文档更加安全。由此可以得出,本系统在经济上是具有可行性的。2.3系统需求分析方法2.3.1系统需求分析概述在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时,为描写新系统的目的、范围和定义所要做的所有的工作。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础

28、上确定新系统的功能。它是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师必须确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。如果在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。2.3.2系统需求分析方法在管理信息系统开发实践中,系统分析人员使用了多种系统分析方法,主要有结构化分析方法(structured analysis简称sa)、面向数据结构的分析方法以及面向对象的分析方法等。其中,结构化分析方法自从20世纪70年代末提出以后,由于其简单、清晰、易于学习、掌握和使用的特

29、点,成为长期以来被广泛使用的分析方法。结构化系统分析是指用一组标准的准则和工具从事分析工作,即有组织、有计划、有规律地进行分析。它是一种利用系统工程的思想和有关结构的概念、自顶向下划分模块、逐步求精的分析方法。该方法把研究对象看成一个系统,用分解和抽象这两个基本策略来控制系统的复杂性。它有三个要点:(1)分解和抽象;(2)图表描述;(3)模型转换。结构化系统分析常用的工具有:数据流程图(dfd)、数据字典(dd)、数据库存储结构规范化法;数据立即存取图;处理逻辑的表达方法(决策树、判定表、结构式语言)2.4系统功能需求分析家庭理财管理系统是典型的信息管理系统,其开发功能主要包括:通过计算机管理

30、个人财务,实现无纸化理财;通过查询分析,统计出各项数据,分析出生活中的浪费和节约的地方,通过强大的查询和索检高效的索检出数据,提高办事效率。本系统主要有以下功能: 对家庭成员资料的管理及对使用权限的管理。相关信息存在“家庭成员信息表”中,普通用户可以对自己的密码进行修改,系统管理员在密码修改功能上的基础上可以添加或删除成员; 对理财项目可以进行编辑。理财项目包括日常收入来源和支出类型,相关信息存在“收入来源表”、“支出类型表”、“活期账户信息表”均可以实现添加、删除、修改功能; 日常财务管理,包括日常收入和日常支出,即记下日常的收入和日常的支出。相关信息存入“收入信息表”和“支出信息表”中,均

31、可以实现添加、删除、修改功能。 理财分析,实现分类查询,即按类别查询收支明细,而且可以看到收支的财务分析报告,并可打印; 数据维护:包括数据库的备份、数据库的导入/出,方便用户保存和早期查询;第3章 系统总体设计3.1 系统设计方法系统设计是对整个管理系统功能进行分析,并划分和构建系统功能模块。模块化程序设计就是把一个大程序按一个人能理解的规模进行分解的一种方法。模块化指的是把一个程序按功能分解成若干彼此具有一定独立性同时也具有一定联系的组成部分,这些组成部分称为模块。系统设计是本系统开发的重要阶段,它直接影响到目标系统的质量,是整个开发工作的核心。系统设计阶段的主要任务是:在系统分析提出的逻

32、辑模型的基础上,科学合理地进行物理模型设计。本系统在设计过程中,充分考虑了系统的稳健性、适应性和效率性,符合系统设计的原则。3.2 系统架构通过对家庭理财功能的分析,本系统分为系统登录界面、系统主程序界面、导出数据库界面、导入数据库界面、收支项目管理界面、家庭成员管理界面、日常收入管理界面、日常支出管理界面、查询明细界面。系统结构设计图如下:图3.1 系统结构图数据库家庭理财管理系统登录系统主界面家庭成员管理界面收支项目管理界面日常收支管理界面查询明细界面3.3 系统功能模块细分根据上述系统总体架构思想的分析,可将系统分为以下六大部分: 登录管理模块用户登录管理 账簿管理模块可以新增、修改、删

33、除记账 家庭成员管理可以设置家庭成员、修改、删除 收支项目管理可以设置收入和支出 报表管理 退出管理最后得到如图示系统功能模块图:家庭理财管理系统账簿管理查找账簿信息修改账簿信息目删除账簿信息家庭成员管理收支项目管理增加家庭成员修改成员信息日常收入日常支出添加、删除、修改日常收入添加、删除、修改日常支出删除成员信息退出管理登录管理图3.2 系统功能模块图3.4 系统数据库的设计3.4.1 数据库分析l 成员信息:编号,称呼,姓名,密码,权限;l 收入项目信息:编号,收入来源;l 支出项目信息:编号,支出类型;l 日常收入信息:编号,日期,方式,金额,项目,来源,人员,备注;l 日常支出信息:编

34、号,日期,方式,金额,项目,去向,人员,备注;3.4.2 数据库概念结构设计得到上面的数据项和数据结构后,即可设计满足用户需求的各种实体,以及它们之间的关系。根据上述设计规划出以下各个实体及其e-r图:成员信息编号权限姓名密码称呼图3.3 成员信息图收入项目收入来源编号支出项目支出类型编号图3.4收入支出项目图日常收入信息项目备注人员来源编号日期方式金额图3.5 日常收入信息图综合以上e-r模型,得到整个系统的e-r关系图,如下示:支出类型收入项目查询查询日常支出日常收入管理管理用户图3.6 e-r关系图3.4.3 数据库逻辑结构设计系统模型的逻辑结构设计的任务是把概念结构设计好的基本的e-r

35、图转换为支持关系模型的dbms相符合的逻辑结构。家庭理财管理系统数据库各表具体定义如下:表3.1 家庭成员信息表序号列名类型备注1idnumber(7)主键,自增长2namevarchar2(50)真实姓名3loginnamevarchar2(50)登录名4passwordvarchar2(50)口令表3.2 收入项目信息表序号列名类型备注序号1idnumber(7)主键,自增长12namevarchar2(50)项目名称2表3.3收入信息表序号列名类型备注序号1idnumber(7)主键,自增长12useridnumber(7)家庭成员id23itemidnumber(7)项目id34amo

36、untnumber(10,2)收支金额45accountdatedate收支日期,缺省值当前系统日期56remarksvarchar2(256)说明,可以空6第4章 系统特性4.1 框架文件配置spring+hibernate的配置 comambowffmsentityentity.hbm.xml org.hibernate.dialect.oracledialect false true sprint+struts的配置(在web.xml中添加如下配置) contextconfiglocation/web-inf/applicationcontext*.xml,classpath*:appl

37、icationcontext*.xml org.springframework.web.context.contextloaderlistener struts2 org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter struts2 /* 4.2 系统主界面用户进入系统时要输入正确的用户名和密码,系统从数据库用户表中检索是否有相对应的数据信息,若输入正确则进入主界面,否则提示错误,需重新输入。选择取消退出登陆系统。若连续三次输入的用户名和密码都无法与数据库中的数据匹配,则强制推出系统。模块流程图如图4.1所示

38、:退出失败3次进入系统用户登录开始图4.1 登录模块流程图登陆窗体如图4.2所示:图4.2 登录窗体输入正确的用户名和密码登录,进入系统主界面,如下图示:图4.3 系统主界面4.3家庭成员管理收支项目4.3.1 查看收支项目使用者:用户目的:查看收支具体信息基本事件流:1、进入收支项目管理界面,点击查看,本用例开始。2、查看具体项目收支情况。3、点击确定,用例结束。4.3.2编辑收支项目使用者:用户目的:编辑收支条目基本事件流:1、进入收支项目管理界面,点击编辑,用例开始。2、对当前选中的收支条目进行修改编辑。3、编辑完后点确定,用例结束。4.3.3 删除收支项目使用者:用户目的:删除条目基本

39、事件流:1、进入收支项目管理界面,点击删除,本用例开始。2、对当前选中的收支条目进行删除操作。3、点击确定删除,用例结束。4.3.4 技术package com.ambow.ffms.service;import java.util.arraylist;import java.util.collections;import java.util.list;import java.util.set;import org.springframework.context.applicationcontext;import org.springframework.context.support.clas

40、spathxmlapplicationcontext;import com.ambow.ffms.dao.itemdao;import com.ambow.ffms.entity.account;import com.ambow.ffms.entity.item;public class itemservice / 约定类型父id为0private final static long type_pid = 0;/ 收入类型,项目id,即收入项目的父idprivate final static long income_id = 1;/ 支出类型,项目id,即支出项目的父idprivate fin

41、al static long payment_id = 2; private itemdao itemdao;public itemservice() public itemdao getitemdao() return itemdao;public void setitemdao(itemdao itemdao) this.itemdao = itemdao;public item getitembypk(long id)return itemdao.getitembypk(id);/ 保存item对象public void save(item item) itemdao.save(item

42、);/ 修改item对象public void update(item item) itemdao.update(item);/ 删除一个项目public void delete(long id) itemdao.delete(id);/ 批量删除public void delete(string ids) itemdao.delete(ids);/ 首先判断这些项目中是否有子项目,或是否已有帐目,如有则不可以删除public boolean candelete(string ids) for(string s : ids)/long id = new long(s);long id = lo

43、ng.parselong(s);list sitems = itemdao.getsubitems(id);set accounts = itemdao.getitembypk(id).getaccounts();if(sitems.size()!=0|accounts.size()!=0)return false;return true;/ 根据父项目id获得其子项目集合public list getallitems() return itemdao.getallitems();/ 根据父项目id获得其子项目集合public list getsubitems(long pid) return itemdao.getsubitems(pid);/通过 id 得到所有的pidpublic item getpitem(long id) return itemdao.getitembypk(itemdao.getitembypk(id).getpitem().getid();/*判断id是否是pid的后代,一个简单的递归public boolean isdescendant(long pid,long id)return itemda

温馨提示

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

评论

0/150

提交评论