记账系统设计毕业论文.doc_第1页
记账系统设计毕业论文.doc_第2页
记账系统设计毕业论文.doc_第3页
记账系统设计毕业论文.doc_第4页
记账系统设计毕业论文.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

大连交通大学2012届本科毕业设计(论文)记账系统设计毕业论文第一章 概述1.1 引言 随着计算机网络的日益发展和广泛应用,以及数据库技术的应用,人们传统的一些方式发生了巨大的改变,银行的业务从单一的吸收存款,发放贷款,发展为综合财务业务。由于我国实行严格的金融分业经营,商业银行投资渠道狭窄,各商业银行推出的个人理财业务,拓宽经营范围。而近些年银行理财服务开始像网络化转变。银行个人记账系统应运而生。 银行个人理财就是银行管理自己的财富,是自己私有理财顾问,合理的规划自己的财务的盈亏,进而提高财富的效能的经济活动。理财也就是对资本金和负债资产的科学合理的运作。通俗的来说,理财就是赚钱、省钱、花钱之道。理财就是打理钱财。说起来理财是一件非常平凡的事情,但实际上却非常有学问。个人理财是一门新兴的实用科学,它是以经济学为指导(追求极大化目标)、以会计学为基础(客观忠实记录)、以财务学为手段(计划与满足未来财务需求、维持资产负债平衡)的边缘科学。既然个人理财是门科学,我们就必须以科学、理性的态度来对待它。只有这样,才能达到理财的目标。因为以往的理财方法比较单调和麻烦,所以本论文中的记账系统就是要建立一个综合的、系统的理财软件,进而开发出一个完整的计划和全权负责一项个人理财业务。作为计算机应用的一部分,使用计算机对个人财务信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够将您的资产就会一目了然,便于您对于所持有资产的分配管理。在面向对象编程技术中,Eclipse凭借着其强大的功能和快速开发的特点,应用越来越广泛。本文介绍了个人理财的概念及 Eclipse的有关技术,并探讨了记账系统的设计思路和构成,然后详细分析了本子模块的实现过程,并给出了用 Eclipse实现的关键代码。该记账系统能够完成数据的输入、修改、删除、查询与统计等基本功能,适用于现代普通个人的财务管理。顺应这种趋势,本次毕业设计主要是分析、设计和实现了记账系统,实现了个人理财中的用户管理、资产管理、债权债务管理、债券投资,股票投资等功能,能够实现网络化的个人理财管理。本文主要探讨个人资产债权债务模块的分析、设计和实现。1.2记账系统研究内容简介理财是一个范畴很广的概念。从理财的主体来说,个人、公司、政府部门至国家等都有理财活动,但本文所阐述的主要是个人通过银行理财。个人理财、个人理财实际上是同一个概念。在国外,普通叫个人理财(可能与西方国家尊重个人自由、个体独立有关;或者是从理财中介的角度来说的,因为他们面对的是个人成员中的个体),在国内,我们主要叫个人理财比较合适,因为中国是一个重视个人、家族观念比较重的国家,以个人为主体进行理财的活动更加普遍。 所谓个人理财从概念上讲,就是学会有效、合理地处理和运用钱财,让自己的花费发挥最大的效用,以达到最大限度地满足日常生活需要的目的。简而言之,个人理财就是利用企业理财和金融的方法对个人经济(主要指个人收入和支出)进行计划和管理,增强个人经济实力,提高抗风险能力,增大个人效用。从广义的角度来讲,合理的个人理财也会节省社会资源,提高社会福利,促进社会的稳定发展。 从技术的角度讲,个人理财就是利用开源节流的原则,增加收入,节省支出,用最合理的方式来达到一个个人所希望达到的经济目标。这样的目标小到增添家电设备,外出旅游,大到买车、购屋、储备子女的教育经费,直至安排退休后的晚年生活等等。个人理财就是管理自己的财富,进而提高财富的效能的经济活动。理财也就是对资本金和负债资产的科学合理的运作。通俗的来说,理财就是赚钱、省钱、花钱之道。理财就是打理钱财。1.3 国内外研究现状及发展趋势随着社会的不断进步,个人收入的不断增长,个人理财已经是一个不可回避的话题。但是国内居民一般容易混淆的两个概念是投资和投机,对理财投资中的风险话题也表现出了强烈的回避态度。对个人理财风险的不同理解,也使得目前国内居民对个人理财市场的参与不如发达国家那样普遍。理财行业在中国目前的现状是正在起步,或者说还处于市场的培育阶段。目前大家所接触到的所谓理财大多是出于宣传或者炒作的需要,真正的理财并没有出现。当然大家可能现在会看到如理财周刊上面的一些案例分析,这些都是十分之粗糙和简陋的,并不能称作是一个严格意义上的理财方案。改革开放以来,中国经济得到了迅速的发展,个人收入也与日俱增,随着房产热、私家车、出国游等走入寻常百姓家,如何规划财富,如何让财富增值,如何享受财富也日渐成为每个个人关注的话题。中国统计年鉴的资料表明,近13年来,中国物价上涨率平均达到了65,这一数字意味着,如果不用于投资理财,我们手头的现金每年就会减少6.5。从20世纪90年代国内第一家银行推出个人理财产品,到目前几乎所有的银行都拥有了个人理财部,有些甚至引进了更高层次的贵宾理财;保险公司基金公司以及一些第三方理财机构也纷纷推出自己的理财规划师;报纸杂志各种媒体更是大篇幅地宣传与普及理财知识;各大金融机构也在近20个城市开展了“个人理财节”活动,如,2006年湖北首届金融理财文化节、2005年4月22日至24日大连市民理财节、民生银行2005年11月19日至20日在沪首家独家举行“个人理财节”等,金融市场的活跃动作与发展方向可见一斑。随着金融市场的全面开放,国外的金融机构,如,花旗银行、汇丰银行、荷兰银行、渣打银行和东亚银行等,也纷纷登陆中国,并将其成功成熟的经验借鉴到开拓中国市场上。此外,由于在我国个人理财刚刚起步不久,因此,目前国内个人理财机构提供的品种与国外相比也显得过于单一。此外,由于国内对金融安全的考虑,因此,在一定程度上也限制了国内个人理财中投资的范围,目前国内开展的个人理财服务基本上只能选择国内的投资项目,因此,这也是国内个人理财与国外个人理财的最大不同。理财专家说,国内居民理财观念有偏颇、个人理财投资范围有限,以及理财产品的单一,也是约束理财市场的几大障碍。现在国外的公司大举进军中国也加大了个人理财的国内居民对个人理财的重视,这也必将加速国内理财市场的发展。1.4 ECLIPSE概述 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。2.2SQL SERVER数据库简介目前市场上数据库的主流厂商及产品有IBM DB2、Microsoft SQL SERVER 2000、ORACLE 9i、Sybase。本系统采用SQL Server 2000数据库进行数据管理。SQL Server作为微软在Windows系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐。Microsoft Windows Server 2000是最新的、功能强大的、面向商业用户的操作系统,它的特点是易于使用,具有灵活性、可靠性的优点。它具有学习操作简单,兼容性良好,适用于电子商务建设,增加了数据仓库的特性,增强了建设在线商务方面的功能等优点。区别于FoxPro、Access小型数据库,SQL Server是一个功能完备的数据库管理系统。SQL Server的事务处理量大,响应速度快,并能为数百或更多用户维持这种高性能。SQL Server 2000 也是当今网络编程中使用的比较多的一个数据库系统,java是目前最流行的编程语言,在编程中涉及的比较多也比较重要的就是数据库问题,java自身提供了对各类主流数据库系统的支持,通过java.sql 库,提供了统一的接口,使得可以在java环境下不必对程序作大规模的修改,只要更改相应的驱动程序,即可实现对各类数据库的操作,从而提高软件的生存周期和降低软件的开发成本和维护费用。所以本系统采用SQL Server2000数据库进行开发。1.5 JAVA编程语言简介Java是一种语法简洁、清晰的语言,它的程序运行需要一个解释器,也就是所谓的“虚拟机”。虚拟机以某种高速算法解释执行Java的面向对象语言代码。Java是基于WWW开发的,主要分为客户端和服务器端两大类型。Java客户端软件包括Applet应用小程序,传统的客户端图形界面程序、各类加点设备的客户端应用程序。服务器端软件则包括利用Socket套接字或使用封装了Socket功能函数的Java高级网络流类编写的Server并发程序、Servlet程序、JSP网页程序和服务器端的EJB组件等。根据Sun的Java语言白皮书中的归纳和总结,简单地说,Java语言有如下特点:1简单(Simple)。程序较小,编写容易,能够在小型机器上执行,基本的解释器约为40KB,若加上基本的程序库,约为215KB。2面向对象(Object-Oriented)。一个对象的状态只由对象自己可知的变量定义。Java把这些变量称为数据域或者成员变量。数据域对对象来说是私有的,除非显示地使用关键字来定义它们的作用域,使它们对其他类可见。一个对象的行为是由它上面的操作定义的。在Java中,这些操作被叫做方法。方法可以改变一个对象的状态,创建新对象,实现实用的功能等。3分布式(Distributed)。Java有一个庞大的程序库,且容易地与HTTP和FTP等TCP/IP通信协议相配合。4健壮性(Robust)。有Java所编写的程序,在多数情况下执行稳定。Java与C/C+最大不同是Java通过一个指针模型来排除内存被覆盖和毁损数据的可能性。5安全性(Secure)。Java是被设计用于网络及分布式的环境中,Java拥有数个阶层的互锁保护措施,能有效地防止病毒的侵入和破坏行为的发生。6结构中立(Architecture Neutral)。Java的编译器产生一种结构中立的目标文件格式,这使得编译码得以在很多种处理器中执行。7解释执行(Interpreted)。Java解释器能直接在任何机器上执行Java位元码,这对于缩短程序的开发过程,有很大的帮助。8高性能(High Performance)。Java位元码可迅速地能被转换成机器码,从位元码转换到机器码的性能与C和C+几乎没有分别。9多线程的(Multi threaded)。Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助的。 10动态性(Dynamic)。Java比C或C+语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新而必须重新编译程序。1.6 JSP编程语言简介在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun 的说法,JSP能够适应市场上包括Apache WebServer 、IIS4.0在内的85%的服务器产品。JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。 ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。 执行 JSP 代码需要在服务器上安装 JSP 引擎。此处我们使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。为便于学习,这个软件包提供了大量可供修改的示例。安装 JSWDK 之后,只需执行 startserver 命令即可启动服务器。在默认配置下服务器在端口 8080 监听,使用 http:/localhost:8080 即可打开缺省页面。 在运行 JSP 示例页面之前,请注意一下安装 JSWDK 的目录,特别是 work 子目录下的内容。执行示例页面时,可以在这里看到 JSP 页面如何被转换成 Java 源文件,然后又被编译成 class 文件(即 Servlet )。 JSWDK 软件包中的示例页面分为两类,它们或者是 JSP 文件,或者是包含一个表单的 HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样, JSP 中的 Java 代码均在服务器端执行。因此,在浏览器中使用查看源文件菜单是无法看到 JSP 源代码的,只能看到结果 HTML 代码。所有示例的源代码均通过一个单独的 examples 页面提供。Java Servlet是一种开发Web应用的理想构架。 JSP以Servlet技术为基础,又在许多方面作了改进。JSP页面看起来象普通HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP技术非常相似。利用跨平台运行的JavaBean 组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有力竞争者。第二章 需求分析2.1 需求分析生命周期是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。好的软件必须要有一个合理,科学的需求分析。有人经统计发现,在不成功的软件项目中有一半左右是由于需求分析不周造成的,可见把建立完善的需求分析作为第一条基本原理是吸取了前人的教训而提出来的。2.2功能需求2.2.1个人管理模块 用户管理模块是对用户进行管理的,主要实现的功能有用户的注册,用户的登陆,用户信息的更新和用户密码修改等功能。2.2.2收支分析模块 收支分析主要是对个人的收入和支出的一种合理管理,另外提供了理财报警功能,如果支出大于收入则系统将会给用户警报。2.2.3资产管理模块 资产管理模块主要是对个人买入和卖出个人资产的一种管理。总体上来说就是对现金的支出和收入进行管理,让用户对自己的资产能够一目了然,也能够更好的计划个人的开支。2.2.4债券管理模块 债券管理主要是对债券的买入金额,收益率等的记录,并且根据买入金额和收益率可以计算出收益金额。2.2.5股票管理模块 股票管理模块主要是为了能够帮助个人更好的管理股票信息的模块,并且可以计算出股票的盈利情况。2.2.6保险投入模块 保险投入模块主要是记录个人投保信息。2.3记账系统的性能需求该系统在性能功能上应达到如下需求: 操作简单、界面友好:录入数据简单易操作,主要实现的个人理财的收支分析,资产管理,债券管理,股票投资,保险投入。收支分析主要是为了给用户提供一个平衡收支的一个平台,如果收支失衡,则系统会提示用户合理理财;债券管理主要是对个人债券信息进行录入,系统会根据你债券的情况买入价格和收益率计算出盈利金额;资产管理主要是对用户的买入和卖出的资产进行整合分析,最后计算出资产的合计金额;股票投资主要是对个人买入股票的价格和数量以及卖出的价格进行计算,最好得出盈利金额;保险投入主要是对个人保险信息的一个记录。 即时可见:对个人理财信息的处理(包括录入、修改、删除)将立即在系统界面显示出来,达到“即时发布、即时见效”的功能; 系统运行应该快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。2.4 运行环境2.4.1硬件环境(1)服务器端服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务的性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本网络系统服务器端的配置如下:l 处理器:Inter Pentium 4 1.86GHz或更高l 内存:1GBl 硬盘空间:80GBl 光驱:CD-ROM 48Xl 显卡:SVGA显示适配器 (2)用户端因为用户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置。l 处理器:Inter Pentium 166 MX或更高l 内存:32MBl 硬盘空间:1GBl 光驱:CD-ROM 48Xl 显卡:SVGA显示适配器2.4.2 软件环境 (1)服务器端l 操作系统:Windows xpl 网络协议:TCP/IPl Web服务器:Tomcat 5.0l 数据库:SQL SERVER2000l 浏览器:Internet Explore 5.0以上 (2)用户端l 操作系统:Windows 98/ME/2000/XP/Vistal 网络协议:TCP/IPl 数据库:SQL SERVER2000l 浏览器:Internet Explore 5.0以上建议分辨率为1024768像素第三章 总体设计3.1记账系统的模型结构该系统的模型结构如图3-1所示: 图3-1 记账系统机构图图示该系统结构分为三个逻辑层:三层架构:模型层主要是为了联接显示层和业务层,本系统遵循MVC三层架构,模型层起到一个传递数据和存储数据的作用,而客户端浏览器相当于显示层,主要是为了给用户展现数据,而业务层是对用户的需求的一种动作执行。3.2记账系统的功能模块简介图3-2列出系统的功能模块:图3-2 系统模块工作流程为:打开该系统,用户注册个人帐号,根据个人帐号登录系统,每个人登录系统后只可以对个人理财信息进行操作,本系统为单机版记账系统,即用户注册即为系统管理员,用户可以任意对自己的理财信息进行增加,修改和删除。并且可以对个人密码进行修改。收支分析模块主要是对用 户收支情况的分析,用户可以录入自己的收支信息,并且可以对自己的信息进行修改和删除操作,用户收支情况是系统自动计算得出的,用户,如果用户的支出大于收入,则点击收支分析则会出现系统警报;债券管理主要是用户对个人债券信息的录入,如果需要变动则可以对债券信息进行修改,并且只要填写用户债券数和盈利率就可以得出债券的盈利金额。资产管理模块:资产管理模块主要是对个人买入和卖出个人资产的一种管理。总体上来说就是对现金的支出和收入进行管理,让用户对自己的资产能够一目了然,也能够更好的计划个人的开支;股票管理模块:股票管理模块主要是为了能够帮助个人更好的管理股票信息的模块,并且可以计算出股票的盈利情况;保险投入模块:保险投入模块主要是记录个人投保信息。整个记账系统开发的总目标是让用户可以轻易的对个人收入与支出进行管理。可以对自己的金钱进行大胆的规划,对自己应该做出怎样的投资也不用在头疼,通过该软件,用户可以在进行参考后较为轻易的做出决定。该系统运用简单,操作方便,可以使用户节约记账的时间,克服纸张不容易保存的缺点。可以通过资产管理模块,实现用户对个人资产的记录、统计、规划。可以建立各种账户类型,以便管理各种账户的财务状况。对资产,股票,保险的基本信息存入数据库,可以进行检索。有方便的查询方法,如:日期,状态等信息进行检索。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。3.3数据库设计数据库的设计是MIS系统的核心部分,设计数据库,首先要进行需求分析,然后进行数据库 的概念结构设计、逻辑结构设计、数据库结构实现等步骤。本套记账系统采用的Microsoft SQL Server2000作为访问数据库的服务器,用它来对数据进行存储,在数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的问题。我们在这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪个表格中,各个表的结构如何以及各个表之间的关系。数据库结构的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。3.3.1数据库设计数据库逻辑设计分为三个阶段,分别是:收集和分析用户要求、建立E-R 模型和数据库模式设计。数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。 逻辑设计第二阶段建立E-R 模型分两步,首先应进行局部E-R 模型设计,然后进行总体E-R 模型的设计。账 户债券收益率购买日期债券编号投资人债券代码买入金额社会保险账户名称投保人账户号真实姓名地址地址密码备注备注金额保险类型编号社会保险单号创建时间保险名称股票股票编号投资人股票名称股票代码买入价格卖出价格股数备注创建日期商业保险创建时间商业保险号备注金额保险类型编号保险名称投保人关联关联关联关联 n n 11邮件1 1 n n 图 3-3.1 总体ER图逻辑设计第三阶段在数据库模式设计阶段分两步进行,第一步初步设计:把ER 图转换为关系模型,第二步优化设计:对模式进行调整和改善。我们所要进行研究的是逻辑设计的第三步即将E-R图像关系模型转化。实体转换出的关系模式:账户表账户号,账户名称,电话,邮箱,地址,密码债券记录表投资人,债券名称,债券代码,买入金额,收益率,赢利金额股票记录表投资人,股票名称,股票代码,买入价格,股数,卖出价格,赢利金额社会保险记录表社会保险单号,投保人,日期,保险类型,金额,备注商业保险记录表社会保险单号,投保人,日期,保险类型,金额,备注保险类型记录表保险类型编号,保险类型名称1:n联系转换出的关系模式:不转换为表,而将1端实体的主键放到n端的实体作为n端实体的外键。3.3.2数据库结构设计数据库物理设计包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。主要解决选择文件存储结构和确定文件存取方法的问题。在数据库中访问数据的路径主要表现为如何建立索引。如要直接定位到所要查找的记录,应采用索引方法存取方法(索引表)。顺序表只能从起点进去向后一个个访问记录。数据库的物理实现取决于特定的DBMS,在规划存储结构时主要应考虑存取时间和存储空间,这两者通常是互相矛盾的,要根据实际情况决定。索引并不是越多越好。虽然索引能提高查询效率,但由于是对数据表的映射,所以进行DML操作(增、删、改)时效率就会降低。经常查询的字段应该建索引,数据量庞大,查询的结果记录很少也需要建索引。在上面的实体以及实体之间关系模式的基础上,形成数据库中的表以及各表之间的关系。通过合理规划,需要设计7个数据库表来保存需要更新的数据:账户表(表31)、债券记录表(表32)、股票记录表(表33)、社会保险表(表3-5)、商业保险表(表3-6)。其结构如下:表31:账户表(Account)字段名说 明类 型长 度可否为空主键user_id账户号int4否是user_name账户名称varchar30是Password密码varchar30是real_name真实姓名varchar30是Email邮件varchar30是Address地址varchar60是Phone电话varchar30是表32:债券记录表(Bond_buy)字段名说 明类 型长 度可否为空主键bond_id债券编号int4否是user_id投资人int4否是Code债券代码varchar20否是Name债券名称varchar9,2是Money买入金额float4是interest_rate收益率float8是create_date 购买日期datetime8是表33:股票记录表(Stock_buy)字段名说 明类 型长 度可否为空主键user_id投资人int4否是stock_id股票编号int4否是Code股票代码char10否是Name股票名称char10是first_price买入价格float8是last_price卖出价格float8是stock_num股数int4是Remark备注varchar2000是create_date创建日期datetime8是表35:社会保险表(Insurance_social)字段名说 明类 型长 度可否为空主键ins_id社会保险单号int4否是user_id投保人int4否Name保险名称varchar4否insurance_id保险类型编号int4是Money金额float8是Remark备注varchar20是create_date创建时间datetime9,2是表36:商业保险表(Insurance_social)字段名说 明类 型长 度可否为空主键ins_id商业保险单号int4否是user_id投保人int4否Name保险名称varchar4否insurance_id保险类型编号int4是Money金额float8是Remark备注varchar20是create_date创建时间datetime9,2是第四章 系统详细设计及实现4.1系统登录 登录页面:主要功能是用户利用用户名和密码登录,并且可以注册新用户。已存在用户可直接登录。新用户需点击“注册”进行注册账号。点击注册后,页面跳转到“web/enterAddUserAction.do”。如图4-1所示:关键代码:public class LogoutAction extends BaseAction public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) HttpSession session = request.getSession();session.invalidate();return actionMapping.findForward(success); 图4-1 登录页面截图4.1.1注册新用户 提交用户名密码(英文数字支持),填写真实姓名,邮箱,地址,电话(可以为空值)。点击提交,可以注册新账户。点击后退可以返回登录界面。如图 4-1.1 所示: 图 4-1.1 新用户注册截图 系统登录成功页面:系统登录成功后可以看到系统的所有功能菜单以及欢迎语句,在此页面可使用系统功能:个人管理、收支分析、资产管理债券投资、股票投资、保险投入。点击功能“button即可触发功能,跳转到功能页面 如图4-2所示: 关键代码:public class EnterLoginAction extends BaseAction public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) UserForm userForm = (UserForm) actionForm; return actionMapping.findForward(success); 图4-2 登录成功页面截图4.2用户管理模块 用户登录后可以修改个人信息、用户名、邮箱、地址、电话。填写新的信息后,点击修改,即可完成修改个人信息的操作 。点击“后退”取消修改。如图4-2.1所示: 关键代码: public class EnterSysAdminAction extends BaseAction public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) UserForm userForm = (UserForm) actionForm;IdentityBean bean = this.getIdBean(request);UserForm form = DBController.getMemberById(Integer.parseInt(bean.getUserId();try BeanUtils.copyProperties(userForm, form); catch (IllegalAccessException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (InvocationTargetException e) / TODO Auto-generated catch blocke.printStackTrace();return actionMapping.findForward(success); 图4-2.1用户管理截图4.2.1 修改密码 点击“修改密码”button,页面跳转到“web/changePasswordAction.do?userId=1”。用户进行修改密码操作,点击“后退”取消修改。关键代码:public class ChangePasswordAction extends BaseActionpublic ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) UserForm userForm = (UserForm) actionForm; return actionMapping.findForward(success);4.3收支录入模块收支录入页面:用户成功登陆后可以对自己的个人收支情况进行系统录入,和修改操作。对收支情况进行修改。输入查询日期范围查询收支详情。点击“添加信息”进行收支情况录入。选择收支条目,进行删除操作。如图4-3所示:关键代码:public class SearchFeeAction extends BaseAction public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) TechContentForm form = (TechContentForm) actionForm;IdentityBean idBean = this.getIdBean(request);List list = null;String forward = ;if (this.isButton(request, save1) list = DBController.getMaxRate(idBean.getUserId(), form.getCreateDate(), form.getEndDate(); else if (this.isButton(request, save2) list = DBController.getMaxFee(idBean.getUserId(), form.getCreateDate(), form.getEndDate(); else list = DBController.getFeeList(idBean.getUserId(), form.getCreateDate(), form.getEndDate();if (list != null & !list.isEmpty() TechContentForm form2 = (TechContentForm) list.get(list.size() - 1);form.setTotalFee(form2.getTotalFee();form.setTotalRate(form2.getTotalRate();form.setTechList(list);return actionMapping.findForward(success); 图4-3 收支情况输入页面截图4.3.1 收支信息添加点击“添加信息”button,页面跳转到“web/enterAddFeeAction.do?path=Y”日期栏选择支出日期(系统自动弹出日期选择对话框),选择收支原因 (下拉list给出备选选项) 工资,奖金,分红,额外津贴,其他收入,生活费,交通费,服装费,休息娱乐,电话费,医疗保险,其他费用,备注录入支出具体原因。点击提交进行提交。点击后退,取消录入。如图4-3.1所示:关键代码:public class AddFeeAction extends BaseAction public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception TechContentForm form = (TechContentForm) actionForm;IdentityBean idBean = this.getIdBean(request);if (StringUtils.isEmpty(form.getNoId() DBController.addFee(Integer.parseInt(idBean.getUserId(),form); else DBController.updateFee(form); if (Y.equals(form.getPath() return actionMapping.findForward(success);return actionMapping.findForward(success2);添加收支分析主要是对用户的收入和支出进行记录,单击添加按钮的单击事件主要程序如下:public class AddFeeAction extends BaseAction public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) throws Exception TechContentForm form = (TechContentForm) actionForm;IdentityBean idBean = this.getIdBean(request); if (StringUtils.isEmpty(form.getNoId() /执行插入操作的方法 DBController.addFee(Integer.parseInt(idBean.getUserId(),form); else DBController.updateFee(form); if (Y.equals(form.getPath() /执行成功页面的转向 return actionMapping.findForward(success);return actionMapping.findForward(success2); 图 4-3.1添加支出信息截图4.3.2收支分析报警模块 收支分析报警页面:如果用户支出大于则系统会进行报警。如图4-3.2所示: 图4-3.2收支报警页面截图4.4股票模块 股票列表页面:股票管理主要是对股票的信息的买入和卖出价格的计算,卖出价格减去买入价格乘以股数即为股票盈利金额。点击日期范围输入要查询的股票日期,或输入股票代码进行股票信息查询,或输入股票名称进行股票信息查询。如果输值不存在,显

温馨提示

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

评论

0/150

提交评论