1、滨 江 学 院数据库系统课程设计报告课程名称:jsp系统课程设计 题 目:家庭财务分析系统院 系: 计算机系 班 级:计科1学 号:20122308018姓 名:乔洲指导教师:陈遥第一章 引言改革开放以来,中国经济得到了迅速的发展,家庭收入也与日俱增,随着房产热、私家车、出国游等走入寻常百姓家,如何规划财富,如何让财富增值,如何享受财富也日渐成为每个家庭关注的话题.家庭财务管理系统以家庭理财的概念、理论、本质为基础,剖析了家庭的经济结构,并对理财市场和理财产品进行了分析,在此基础上提出了家庭理财的模式及如何进行家庭理财规划。 家庭理财系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信
2、息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭理财系统应该能够为一个家庭的管理者提供充足的信息和快捷的查询手段,方便家庭的管理者的合理理财。作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件. 第二章 需求分析2。1系统设计目标现代社会家庭的理财观念进一步提高,理财手段变得更加丰富。随着生活水平和文化水平的提高,家庭购买电脑的能力和应用电脑的能力开始提高。电脑及其应用的普及
3、化,人们应用电脑进行家庭财务管理的观念增强,因此,开发一个通用性家庭财务管理软件已经成为社会需求。本系统是一个家庭通用型理财软件,系统目标是把适合家庭化管理的各种理财手段及家庭日常收支管理实现计算机化管理,使对家庭及家庭成员的收支活动更好地进行记录并加以统计分析成为可能,也使家庭理财变得方便、快捷、全面.2。2系统数据分析家庭理财的中心内容账务管理.人们几乎每一天都会经过许多次货币活动。其中包括了买入卖出实物,娱乐消费,起居饮食消费,还有发放工资等。如果能把各类不同的活动进行分类,分别对活动进行管理,那么无论现在还是将来,你的账务就会清楚明白了.现在我们把这些工作放到程序里去实现,就是这样的操
4、作。日常生活中,当我们要对一周来收支的情况进行了解,就非常困难,而观察一个月里的利率走势就更加是问题。做到程序里,把它存放到一个数据表里就可以了.归结后,用户的操作一般如下:增加,减少,查找,统计。因而有了相应的操作来管理的账务,依据需要一个统计分析的过程.我定义这样一个过程,分析数据,生成表。比如日常收支统计。建立日常收支表,以收支类型,时间段分类统计也可综合统计。时间上可按年收支,月收支,日收支进行统计。在理财的大道上,我们也需要随时了解自己所处的位置,在终极目标的指引下,实现一个个短期的目标。而这一切也正是软件中统计表要告诉用户的。图21数据流图家庭理财系统首先要求用户进行系统登录验证.
5、用户要输入用户名和密码。输入正确则进入,否则给出反馈信息要求用户重新输入。合法性验证通过后,进行系统的各项收支信息的录入和统计,正确的数据会写入后台数据库中进行存储,同时会在页面中以表格的形式显示给用户查看.收支统计会根据一些特定的条件给出统计信息和理财信息提示。2.3系统问题分析家庭理财系统主要由日常记账管理和应用各种理财手段进行理财实现家庭资金的最大增值.按用途有效的进行消费计划和统计.主要为各家庭成员对家庭财产的增加和减少活动进行跟踪和记录,这样随时可以对家庭的财产拥有状况进行浏览,查询,方便家庭财产的添置和管理。2。4系统功能需求浏览选择功能:对系统进行浏览,查看账户余额,消费类型。安
6、全性功能:用户可为系统设置密码,防止非法用户进入系统,破坏数据或查看信息.系统退出功能:关闭整个系统,保存数据,安全退出.收支记账:日常收支活动进行记录.对每天的消费及时入账。便于以后对家庭收支或个人收支的查询和统计。它记录了收支活动的日期,收支类型,活动说明,收入金额,支出金额,余额,及消费者.收支分类:收支分类主要为各种收支活动按一种统一的标准进行分类,便于对各类收支进行分类统计整理.用户可以用收支分类表自行添加新的收支类型,删除不需要的或模糊的类目,并可查询和浏览系统中所有类目信息。收支类型信息作为系统信息为各种记账活动提供选择。2。5系统性能分析2。1。1易用性要求系统采用目前普遍使用
7、的窗体显示模式,整个系统为彩色界面,力求界面的美观,简洁明了,富于人性化目标。系统界面尽量符合用户实际操作的要求,它是能否吸引用户的重要方面.数据输入可直接在数据输入框输入。系统把一些比较固定的常用信息供用户在输入时选择,方便输入和加快了速度2。1。2系统安全性系统涉及到一个家庭的财务和账务信息,安全性比较重要,系统应有密码设置,防止家庭财务信息外泄或不想被人知道的信息外露.可在每次进入系统前要求输入用户名和密码。2.6可行性分析2。1。1经济和市场可行性分析现在,人们的生活水平和文化素质普遍提高,并且开始注重生活质量.随着市场经济的快速发展,观念的不断更新,个人理财意识普遍增强,特别是家庭理
8、财意识得到很大发展,在意识上,一方面,人们对家庭和个人的各方面消费有想进行统计和分析的愿望,以便更好地做好家庭收支计划,和家庭财务管理.另一方面,各种理财手段不断丰富,如何把各种理财手段统一起来,并且能更加方便的操作成为要求。在物质基础上,计算机的应用开始普及,人们购置计算机和使用计算机的能力增强,人均计算机拥有量将快速提高。这些条件说明,人们有购买一个家庭理财软件的要求。在一个可接受的价格范围内,将购买这种软件,因此具有市场潜力。开发一个小型财务软件,用快速开发工具可在几个月内由几个人的开发小组完成.经过以上分析,开发一个通用型家庭理财软件具有在经济和市场可行性。2.1。2技术可行性分析开发
9、一个通用型家庭理财软件,项目规模可以在适合大多数家庭的基础上进行开发。技术上主要涉及界面设计和数据库设计.在开发工具方面,可采用应用软件快速开发工具ECLIPSE8。6,它是一个高度集成化开发环境,具有丰富的组件,尤其在数据库开发方面具有很大优势。ECLIPSE8。6能够支持大多数数据库的连接,通过数据库连接组件可方便快捷的实现数据库连接,并进行高效访问。本系统为B/S结构。也就是系统的的客户端采用的是浏览器,不用再另外编写客户端软件.系统部署在TOMCAT下运行,开发时的调试环境为TOMCAT6。0,开发工具为myeclipse,数据库采用了SQL SERVER2005.系统采用MVC模式。
10、该模式是现在最流行的一种设计模式。MVC包括3类对象,简单地说,MODEL是应用对象,VIEW是它在屏幕上的表示。CONTROLLER定义用户界面输入的相应方式2.1。7开发环境Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP技术是目前网上最流行的在服务器端运行的脚本技术.JSP具有跨平台、安全、强大的可伸缩性的特点,而果硬要挑一些毛病,JSP相对别的脚本更加难掌握,因为精通JSP必须精通Java语言,对于中小型项目,我们要考虑开发人员、开发速度、开发成本等
11、问题。 本系统采用了SQL Server。SQL Server是新一代大型关系型数据库管理系统,可为数据管理者提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性.家庭理财系统在上述的应用环境中,系统的实现在技术上具有可行性。第三章 系统设计3。1总体设计3.1。1总体设计的主要任务通过在软件需求分析时撑握的文档,制定最佳方案,用系统流程图,组成系统物理元素清单,系统的进度计划,供日后详细设计时使用。确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块(如食品消费模块、着装消费模块、行车消费模块,家居消费模块等).确定模块间的联系,确定
12、数据结构、文件结构、数据库模式.3。1。2系统功能模块系统的功能模块分为:登录模块, 消费模块, 统计模块,收入模块。登录模块的功能:主要是对用户的管理权限进行验证。决定用户是否有权限进行本系统。消费模块的功能如下:食品消费:完成日常生活中食品类商品消费项目的统计。着装消费:完成日常生活中服装衣物类商品消费项目的统计。家具消费:完成日常生活中家居用品类商品消费项目的统计.行车消费:完成日常生活中交通消费项目的统计。统计模块的功能如下:当日汇总:对当日消费情况进行汇总.月份汇总:对当月消费及收支情况进行汇总,并计算节余。根据收支情况给出一些简单的理财建议。年份汇总:记录每年收支情况,并计算节余,
13、根据收支情况给出一些简单的理财建议。收入模块的功能:对家庭的收入进行统计。根据以上分析,该系统考虑将整个系统分解成如下功能模块图:3。2详细设计3.2。1详细设计的任务确定应该怎样具体地实现所要求的家庭理财系统,经过这个阶段的设计工作,应该得出对家庭理财系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用jsp程序设计语言书写的程序。3.2。2程序流程图3.3。1数据库表设计数据库设计中设计了表,一张是日期表FAMILY_RECTIME,记录有消费记录的日期,一张表是MYTABLE是具体的消费,收入数据记录表,一张表TBUSER是用于登录本系统的用户名和密码核对表,一张表是XIAOFEIG
14、是用于记录消费品属性的表3.3。2 E-R图 收支实体图 用户实体图 消费品实体图数据库ER图。第四章 编码设计4。1系统登录模块的设计与实现系统登陆时为防止非法用户进入系统而设计,主要用于辨认用户的身份,以确定其适用权限。系统登陆模块运行界面如下图所示:图41 家庭理财系统登录界面系统登陆模块的主要任务就是验证用户输入的用户名和密码是否正确。如果验证通过,就根据登陆用户所拥有的访问权限分配可用功能。反之,则不允许登陆.代码如下:pagelanguage=java”contentType=”text/html; charset=utf8”pageEncoding=gb2312”%!DOCTYP
15、EhtmlPUBLIC”-/W3C/DTD HTML 4。01 Transitional/EN”http:/www.w3。org/TR/html4/loose.dtdhead用户登入/title/headbody用户登入/h1hr/br/密 ;nbsp;码inputtype=text”size=”20”name=passwd”/form/html4。2主界面的设计与实现系统的主页面用于数据的收集工作,它实现一个框架,这个框架分为三个界面布局.每部分是独立的JSP页面。导航窗口页面:它主要是完成框架左侧的展示工作,同时在单击左边不同的链接的时候,在框架的中部显示不同的收集数据的页面.这样
16、设计的目的是:以后需要修改框架左侧页面的展示情况时不要修改多个地方,只需要修改该页面就可以达到目的.头页面:它的主要作用是实现框架头的展示功能,显示系统的时间和展示系统的标题。显示页面:该页面是一个空页面,就是该页面里面没有具体实现什么展示的工作,该页面是承载其他页面。利用其他页面进行数据的收集工作。图4-2 家庭理财系统主界面4。3消费模块的设计与实现所有的页面数据在收集到了以后都是提交到页面相对应的SERVLET去处理的,页面中控制根据页面代码中表单提交的地址提交到某个页面后者SERVLET中。数据传到SERVLET后,SERVLET执行的操作流程是:获取提交数据判断操作数据封闭执行数据库
17、操作。所有的消费记录的处理流程都基本类似,不同是就是页面收集到的数据发送到了SERVLET以后是调用不同的处理方法来对其进行处理,在这里就不作详细的介绍了。图43 家庭理财系统消费界面在对页面数据的流转进行了配置以后,所有的页面的数据都会按照配置好的发送到相应的XiaofeiClServlet中去处理.小结家庭理财系统的设计实现了预期的功能,对家庭的日常消费进行分类别的记录,家庭的收入进行统计,对家庭的收支进行汇总并给出相应的理财提示信息。在这次的家庭财务管理系统设计中将理论知识应用到实际中使得对理论知识的理解有了更进一步的理解,如果仅仅只是运用理论知识,是远远不够的。必须理论联系实际,才能很
18、好的将各门课程学好,并用于实际案例中。同时,经过这次毕业设计,我发觉自己的动手操作能力变强了,也为自己对以后的科研、工作充满信息和希望打下了良好的基础.这次设计使我的编程水平提高了一大步,使我充分的认识到合作的可贵。由于这次设计涉及到数据库,我的学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解.这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识还很肤浅。所以今后我的学习道路还是很漫长的.参考文献郑阿奇编著,SqlServer实用教程(第3版),电子工业出版社汪诚波 编著,网络程序设计jsp,清华大学出版社致 谢经过半年的忙碌和工作,本次毕业设计已经接近尾
19、声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的. 在这里首先要感谢我的指导老师孙少波老师.老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是老师仍然细心地纠正其中的错误.除了敬佩老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 其次要感谢和我们寝室的同学,她们在本次设计中给了我许多的帮助如果没有她们的帮助,此次设计的完成将变得非常困难。然后还要感谢大学几年来所有的老师,为我们打下计算机专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励.此次毕业设计才会顺利完成. 最后感谢我的母校-西安文理学院对我的大力栽培。9