电子设计报告个人财务管理系统_第1页
电子设计报告个人财务管理系统_第2页
电子设计报告个人财务管理系统_第3页
电子设计报告个人财务管理系统_第4页
电子设计报告个人财务管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、电子综合设计实验报告题 目个人账户管理系统学生姓名程双佳学 号 100910056系 部计算机与信息工程系专业班级电信1002班指导教师苏岱安职 称副教授2013年11月电子综合设计实验报告评审表姓 名 程双佳专业班级电信1002班学号100910056题 目:个人账户管理系统评审意见成 绩程双佳签名:评审时间: 2013年 11月 26 日电子综合设计实验报告 内容摘要对于生活在经济光速发展时代的人们,收支日趋多元化使得传统的理财方式早已无法满足人们的需求,人们开始追求一种高效安全的理财工具。随着信息大爆炸时代的到来,越来越多的资金管理软件成为人们生活理财中的重要助手。本文所介绍的PFMS软

2、件也由此应运而生。本系统实现了对个人财务进行系统化的管理,使我们的理财更加方便和理性化,提升了我们的理财效率和生活质量。本文共分四部分。首先从业务需求、技术原理上分析系统设计的可行性,进而挖掘出微型的个人理财系统相较于其他大型银行管理系统、金融管理系统的区别,以及自身独到优势。其次,本文介绍基于JAVA Swing、JDBC等技术开发的集用户管理和数据传输于一体的PC应用程序的构成与工作原理,给出系统的需求分析和数字字典,探讨系统的核心开发技术。再次,本文针对系统的关键研究技术之一C/S开发模式,重点讨论了本文所介绍的理财系统前台客户端带给用户的独特操作体验,以及GUI设计的特色之处。最后,总

3、结本文的创新与不足,介绍项目研究的后续工作,对C/S开发模式和当前十分流行的B/S开发模式做出比较后的感受,以及对基于JAVA技术开发的PC应用程序发展前景的展望。在附录中,本文还将给出一些重要的程序源代码,供参考之用。关键词 理财系统;用户界面;C/S结构;MVC设计模式;JAVA开发语言;SQL电子综合设计实验报告 目 录1. 绪 论11.1 项目研究的意义11.2 个人理财系统的研究现状与发展方向21.3 国内外研究现状简介.1.4 研究方法.2. 相关理论基础82.1 C/S结构模式82.2 MVC设计模式82.3 JDBC技术介绍82.4 结构化查询语句SQL介绍112.5 Swin

4、g工具包133. 用户需求分析154. 系统功能设计和实现154.1 系统设计结构示例图154.2 数据库设计224.3 数据库表之间的联系.234.4 系统核心功能模块设计.255. 系统运行效果展示156. 个人感受157. 谢辞.16参考文献33附录1 数据处理层代码展示36附录2 业务逻辑层代码展示37附录3 用户界面层代码展示39MVC设计模式与C/S结构程序的开发1. 绪 论 对于软件开发人员来说,数据库的出现使得软件开发逐步趋向于将数据显示和业务逻辑进行分离处理,因此产生了经典的数据业务分离的设计模式MVC设计模式。而站在用户的立场,他们更乐意接受简单清晰的操作界面,而不关心操作

5、所对应的内部数据是如何处理的,因此客户端与服务端分离的C/S结构便大行其道。本文主要介绍基于MVC设计模式和C/S结构的个人理财系统的开发背景、意义以及前景展望。1.1 项目研究的意义一个有经济头脑的人,在日常生活和投资中,都会对自己的支出和开销做 到心里有数,以便于制定出自己的一套理财计划,达到合理的经济统筹,有理 财习惯的人可以从以往的统计中看到自己主要消费方向,看出自己的消费是否合理,由此制定出一套合理的经济计划方案,从而可以不断的长进自己的经济头脑,对自己的财富积累、合理投资有着不可或缺的帮助。近年来,随着我国经济不断地持续高速发展,人们的收入已不再如以前一样单纯来自于职业岗位收入。日

6、趋多元化的收入使得人们的私人经济账目随之混杂,传统的纸笔简单记录生活收支的理财方式早已无法满足人们的生活需求。与此同时,IT技术的高速发展也使得理财软件走出了会计所、银行、金融系统等专业理财场所,逐步走进人们的生活当中,成为人们改善生活环境的重要工具。1.2 个人理财系统的研究现状与发展方向进行个人理财的统计,首先,如果每天手工纸笔统计的话, 用于统计的账本和记录册会越来越多,不利用保管,容易造成丢失;其次,随着纪录的增多,如果要查找以前的记录,会变的越来越困难。个人理财系统即为实现电子化理财,针对于传统理财的繁琐和缺乏安全性来改善理财方式。因此,个人理财系统的研究点即在实现方便快捷、安全即时

7、的数字化理财,其发展方向则在于可移动性不依赖于硬件设施的地点、即时性随时随地可以登录个人理财系统、安全性不会泄漏个人账户信息。1.3 国内外研究现状简介 从查阅资料来看,在一些比较发达国家,人们在生活中对个人财务有着很严谨的规划。 他们将个人财务管理视作如同吃饭睡觉一样,是日常生活必须的一项活动。因此在国外,个人理财软件相对来说比较普遍,软件系统的开发也比较完善。国内关于理财系统的软件,主要偏重于办公和财会软件,而针对个人理财和家庭理财方面的则比较少。从个体来讲,将理财软件拿到生活中应用,可以大大提高经济生活的效率;从市场层面来看,个人理财软件在国内的不流行,同时也制造了该软件行业的一个潜在市

8、场,这样一来,个人理财类型的软件或者管理系统的开发就变得十分必要了。1.4 研究方法 本文所介绍的,就是一个基于 C/S 结构的个人理财系统,凭借设计的软件 系统,通过数据库的连接和访问,进行相关数据的统计和查询,还可以通过相 应的计算功能,完成一些经济方面的实用计算。 本系统的特点是:通过系统的数据录入,可以将数据保存在相应的数据库里面,而数据库的设计方式,使录入的数据更加有效、合理。对数据的统计有比较完善的设计,对各种输入错误的情况有着比较合理的考虑,通过代码提示用户输入完整,合理的数据,以便于查找、统计。 在记录中有计算统计功能,避免用户手动计算出错;有相关的用户登陆, 密码检测,密码修

9、改以及用户数据备份和还原的功能,保护用户数据的安全性。 本文将介绍基于C/S 结构的个人理财系统的设计和应拥有MVC设计模式的开发实现。因此将详细说明开发结构原理,以及贯穿项目始终的Swing、JDBC和SQL技术。2 相关理论基础 本文主要介绍在实际开发过程中,系统所必需的一些技术支持,以及相关设计技术的理论介绍。2.1 C/S结构模式C/S (Client/Server,客户机/服务器)模式又称 C/S 结构,是软件系统 系结构的一种。C/S 模式简单地讲就是基于企业内部网络的应用系统。与 B/S (Browser/Server,浏览器/服务器)模式相比,C/S 模式的应用系统最大的好 处

10、是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。 交互性强是C/S 结构固有的一个优点。在C/S 中,客户端有一套完整的 应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。C/S 模式同时提供了更安全的存取模式。由于 C/S 是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议(例如:NT 的 NetBEUI 协议),安全性可以得到较好的保证。 此外,采用C/S 模式将降低网络通信量。这是因为C/S 只有两层结构,网络通信量只包括 Client与 Server之间的通信量。这样一来,使得C/S 处理大量信息的能力为 B/S 所无法比拟。而

11、逻辑结构在速度上的优越性也让C/S 更利于处理大量的数据。 2.2 MVC设计模式 MVC设计模式,全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,它强制性的使应用程序的输入、处理和输出分开,是一种用于组织代码用一种业务逻辑和数据显示分离的方法。这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。模型视图控制器(MVC)是Xerox P

12、ARC在二十世纪八十年代为编程语言Smalltalk80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。2.3 JDBC技术介绍 JDBC(

13、Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序

14、等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。

15、JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macinto

16、sh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。2.4 结构化查询语句SQL介绍 结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的

17、接口。结构化查询语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。结构化查询语言包含6个部分:一:数据查询语言(DQL:Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HANG。这些DQL保留字常与其他类型的SQL语句一起使用。二:数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和

18、删除表中的行。也称为动作查询语言。三:事务处理语言(TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。四:数据控制语言(DCL):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。五:数据定义语言(DDL):其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动

19、作查询的一部分。六:指针控制语言(CCL):它的语句,如DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。2.5 Swing工具包Swing 用户界面是一个用于开发Java应用程序的用户界面的开发工具包。它以抽象的窗口工具包(AWT)为基础,使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的Swing代码就可以利用Swing丰富、灵活的功能和模块化组建来设计优雅、美观的用户界面。总体来说,Swing是JAVA开发语言中GUI图形用户接口包的名称。利用Swing创建用户图形界面一般有以下步骤:导入S

20、wing包、选择界面风格、设置顶层容器、设置按钮和标签、将组件放到容器上、为组件增加边框、处理事件辅助技术支持3. 用户需求分析通过用户对于个人理财软件的功能需求分析,初步设计软件应当具备的功能模块,并基于此对软件的总体框架进行设计,这个过程称为用户需求分析过程。 本文主要介绍个人理财系统的主要功能模块,模块设计宏观图如下图3。图3 系统总体模块设计3.1 银行卡管理功能模块 该模块用于实现用户的银行卡账户管理。用户可以通过该功能添加、删除、修改或者查询自己的每一个银行卡账户信息,包括开户银行、开户时间、开户地点以及对该账户的操作记录等。3.2 银行卡存取款功能模块 该模块用于实现用户对某一个

21、选定的银行卡账户进行款项的增加和删除。在该功能下,不能对选定银行卡以外的其他账户信息做修改,只能更改本银行卡存款信息。3.3 银行卡转账功能模块该模块用于实现不同银行卡之间的款项转移功能,即将一个银行卡中的款项转移到另外一张银行卡中,对参与转账的银行卡数据都将产生影响。3.4 银行流水账功能模块 该模块主要用于记录用户所有已存在的银行账户中与账户金额变动有关的全部即时操作信息,包括变动金额数目、操作时间、涉及账户名称等。用户无法对该模块中的信息进行修改,只能作为操作记录去查阅。对于拥有软件系统管理员权限的用户,可以执行记录清除的操作,以删除选定条款的记录或者清空全部记录。3.5 添加收支功能模

22、块用户根据自己的实际情况或者财政计划添加经济收入或者支出款项,所添加的款项需对应用户名下的一个明确银行卡账户。用户也可以对已存在的收支项目进行修改或删除操作,该模块的操作将影响到与收支项对应的银行卡账户金额。3.6 收支报表功能模块该模块主要用于记录用户所有的收入和支出项目信息,包括收支项所影响的银行卡账户、收支金额、资金变动时间以及该收支项的创建时间、创建者等信息。所有相关信息以报表形式显示在用户界面上,用户还可以将该报表以表格文件形式导出到个人电脑中。3.7 数据备份/还原功能模块该模块用于对已登录的用户数据进行备份或者还原。进行备份操作时,用户的所有账户信息、收支日志、转账记录、用户信息

23、等都将被写入存档文件,并由用户制定本地地址进行保存。执行还原操作时需选定对应的已保存过的备份文档。3.8 系统初始化功能模块该功能用于将软件系统还原至出厂状态,执行操作后所有用户信息将被清空,软件处于初始化状态,用户需要重新注册个人信息后方能使用。此外,初始化操作执行之后,用户的界面和风格的个性化设置也将被重置为系统初始状态,系统也将自动退出并跳回用户登录/注册界面3.9 用户管理功能模块该模块主要用于用户的注册和注销,以及用户信息的修改、查看、删除等操作。对于不同权限的用户,在该模块中享有的操作权限也不相同。普通用户只能修改与自身相关的信息,对于其他用户信息只能查看到用户名和注册日期。而系统

24、管理员权限的用户则可以对所有在该软件中注册过的用户信息进行修改和删除,并能查看看到所有用户的全部详细信息。4 系统功能结构设计和实现本文主要介绍系统的总体设计流程图,数据库设计,图标设计,系统功能实现以及和界面介绍等相关的内容。4.1 系统设计结构示例图系统功能模块设计结构如下图41所示:图4-1 系统总体结构4.2 数据库表设计根据需求分析,本系统所设计的数据库表共有9个,详细信息如下表42所示:银行卡信息表PFMS_CARD银行卡流水账表PFMS_CARD_BLOTTER银行卡存取记录表PFMS_IO转账记录表PFMS_CARD_TRAN收入项目表PFMS_INCOME收入业务表PFMS_

25、INCOME_BIZ支出项目表PFMS_OUTLAY支出业务表PFMS_ OUTLAY _BIZ用户信息表PFMS_USER表4-2 系统数据库表统计表下面给出各个表的详细用例信息:银行卡信息表(PFMS_CARD): 该表用于存储用户对银行卡进行操作的详细信息,包括操作的时间和操作的具体数据对象等。 字段名字段说明数据类型字段约束备注PC_ID银行卡编号NUMBER主键自增PC_SN银行名缩写VARCHAR2(20)PC_TN银行全称VARCHAR2(20)PC_ADDR银行地址VARCHAR2(20)PC_TEL银行电话NUMBER PC_MONEY卡上余额NUMBER(10,2)PC_U

26、SERID用户编号NUMBER表4-2-1 银行卡信息表银行卡流水账表(PFMS_CARD_BLOTTER):该表用于存储用户对银行卡进行操作的相关信息,并记录下操作者的用户名。字段名字段说明数据类型字段约束备注PCB_ID银行卡编号INTEGER主键自增BANK_NAME银行名称VARCHAR2(20)MONEY收支余额NUMBERB_DATE操作日期DATETYPE操作类型VARCHAR2(20)USER_NAME用户编号VARCHAR2(20)表4-2-2 银行卡流水账表银行卡存取表(PFMS_CARD_IO): 该表用于存储对某个账户进行金额存取操作的相关信息。字段名字段说明数据类型字

27、段约束备注PCIO_ID存取项目IDNUMBER主键PCIO_SN存取银行卡简称VARCHAR2(20)PCIO_TYPE存取项目类型VARCHAR2(20)PCIO_MONEY存取金额NUMBER(10,2)PCIO_DATE存取项目时间DATEPCIO_USERID存取用户IDINTEGERPCIO_COMMENT备注NVARCHAR(200)表4-2-3 银行卡转账信息表银行卡转账表(PFMS_CARD_TRAN): 用于记录银行卡直接的转账信息,包括参与转账的银行卡信息以及进行转账操作的用户信息。字段名字段说明数据类型字段约束备注PCT_ID转账业务IDNUMBER主键PCT_INCA

28、RDID转入银行卡号INTEGERPCT_OUTCARDID转出银行卡号INTEGERPCT_MONEY转账金额NUMBER(10,2)PCT_DATE转账时间DATEPCT_COMMENT备注VARCHAR2(200)PCT_USERID用户IDINTEGER表4-2-4 银行卡转账信息表收入项目表(PFMS_INCOME): 用于存储收入项目以及收入用户信息字段名字段说明数据类型字段约束备注PI_ID收入项目IDNUMBER主键PI_NAME收入项目名VARCHAR2(20)PI_USERID收入用户IDINTEGER表4-2-5 收入项目表收入业务表(PFMS_IN_BIZ) 用于存储收

29、入项目的详细内容以及备注信息字段名字段说明数据类型字段约束备注PIB_ID收入项目IDNUMBER主键PIB_NAME收入项目名称VARCHAR2(20)PIB_MONEY收入金额NUMBER(10,2)PIB_TYPE收入类型VARCHAR2(20)PIB_DATE收入项目时间DATEPIB_COMMENT备注VARCHAR2(200)PIB_USERID用户IDINTEGER表4-2-6 收入业务表支出项目表(PFMS_OUTLAY): 用于存储支出项目及对应的用户信息字段名字段说明数据类型字段约束备注PO_ID支出项目IDNUMBER主键PO_NAME支出项目名称VARCHAR2(20)

30、PO_USERID用户IDNUMBER表4-2-7 支出项目表支出业务表(PFMS_OUT_BIZ): 用于存储支出项目详细信息字段名字段说明数据类型字段约束备注POB_ID支出业务IDNUMBER主键POB_NAME支出项目名称VARCHAR2(20)POB_MONEY支出金额NUMBER(10,2)POB_TYPE付款方式VARCHAR2(20)POB_DATE支出当前项目时间DATEPOB_COMMENT备注VARCHAR2(100)POB_USERID用户IDNUMBER表4-2-8 支出业务表用户信息表(PFMS_USER): 用于存储在系统中注册过的用户的详细信息以及相关操作的时间

31、字段名字段说明数据类型字段约束备注PU_ID用户IDNUMBER主键PU_NO用户帐号VARCHAR2(20)PU_PWD用户密码VARCHAR2(20)PU_IDEN用户类型VARCHAR2(20)PU_STATUS用户状态INTEGERPU_DATE创建时间DATE表4-2-9 用户信息表4.3 数据库表之间的关系 数据库各个表之间的关系如下图4-3所示:图4-3 数据库表之间的关系4.4 系统核心功能模块的设计下面选取系统的几个核心功能模块进行逻辑设计原理的详细说明:4.4.1 用户登录在本模块中,用户输入的用户名和密码将被传送至数据处理程序,与数据库中已经存在的用户信息进行一一核对,如

32、果用户名没有匹配,则提示用户不存在;如果用户名匹配成功但是密码匹配不成功,则系统提示密码输入错误,请重新输入。信息输入错误之后,对应的输入框内容继而被清空,此时用户可以选择重新输入、注册新用户或者直击退出系统。图4-4-1 用户登录用例流程图4.4.2 用户密码修改在本模块中,要求用户先输入所要修改密码的用户名,输入信息随后传到数据处理层,与数据库中已经存在的用户名信息进行一一匹配,如果匹配失败则提示用户不存在;若匹配成功则转跳至密码确认界面。在密码确认界面,要求用户输入旧密码。用户输入的旧密码会在数据处理层与数据库中的密码进行匹配,如果密码匹配失败则提示密码输入失败,若匹配成功则会跳转至新密

33、码输入界面。这里会先对用户两次输入的密码信息进行对比,如果两次输入的信息不同则系统提示两次输入的密码不同,请重新输入,并清空密码框中的内容。两次密码输入均无误之后,系统会提示密码修改成功,同时数据处理层修改数据库中相关信息。在对密码进行相关操作时,密码输入框都会密文形式显示输入信息,不会看到明文,以保障用户信息安全。用例结束后返回用户登录界面。图4-4-2 用户密码修改用例流程图4.4.3 用户注册该模块要求用户先输入所要注册的用户名,在确认按钮的响应事件中会将输入的用户名与数据库中已有的用户名进行匹配,如果匹配到了符合的信息,则提示用户名已存在,请重新输入,并清空输入框。若用户名可用,则跳转

34、至密码输入框,要求用户输入新密码,并再次输入确认新密码。两次输入无误之后,提示用户注册成功,并将注册信息添加到数据库中,然后跳转至用户登录界面。图4-4-3 用户注册用例流程图4.4.4 收支查询该模块要求用户完成登录,并具有查询权限。确认信息无误之后,要求用户先选择所要查找的银行卡账户,数据处理层根据选择的银行卡将账户ID与数据库信息对比,找到对应的银行卡账户全部收支记录,并以列表形式在界面上显示出来。此时若信息过多,用户难以找到想要查阅的信息,还可以通过日期选择缩小查找范围。日期的选择由工具模块导入事先做好的日历插件,用户可以直观地从日历插件上选择要查询的起止时间。点击确认之后,数据处理层

35、通过选定的时间范围筛选出合格的信息,以列表形式重新显示在界面上。该模块用到日历插件,主要是避免用户自主输入时间时,格式不能与数据库数据格式匹配,导致查阅错误。图4-4-4 收支查询用例流程图5 系统运行效果示例此部分主要展示系统最终完成之后运行的效果示例图。图5-1 系统主界面图示图5-2 银行卡账户管理界面图5-3 收支报表界面图5-4 用户信息管理界面图5-5 收支日志(流水账)查询界面6 个人感受 此次课程设计,全部过程是在规范的公司开发模式下进行。我们有完整的开发小组,分工也很明确。对于文档和代码的编写都有十分明确的规范要求,这是与课堂学习氛围完全不同的另一种体验。我觉得这对于即将走入

36、职场的我们来说,是十分有益的。由于在课堂上学习的绝大部分都是理论知识,实际去做一个项目开发的时候,开始难免觉得难以入手,这时自学能力就派上用场了。通过网上查阅相关软件,下载之后查看别人的源代码,逐步就能上手了。在开发过程中也遇到不少的困难,往往不是某个人的能力就能解决的。这种情况下就少不了整个团队的配合。大家同时也在开发的过程中协调个人的任务分配,尽量去做自己拿手的模块,为此队员们也没少通宵奋战。实际开发过程往往遇到的都是学习过程中所没遇到过的问题,比如在做用户登录模块的时候,我们的想法是登录界面不显示windows的窗口边框,做成类似于QQ登录的界面,并且要做到可以随意拖拽。这写都是在学习过

37、程中所没有做过的,我们通过查阅Swing帮助文档找到对应的API,完成了该功能。不仅仅是技术上的困难,对于一群没有过实际开发经验的新手,队员之间的配合也是问题。刚接触SVN的时候,经常出现误删误改队友代码的情况。也有队员写出的代码独立于系统之外,成为了一个可以独立运行的小插件,这些都是在开发过程中队员之间缺乏沟通交流的体现,也是团队所最应当注重的一点。所幸的是在调试过程中问题一一得到解决。开发过程整体来讲比较成功,最终产品能够实现预期功能,这令我们感到十分有成就感。开发过程不仅是对已学知识的一个整合和复习的过程,还是一个自主学习和解决突发问题的过程。通过这个过程,我们不仅锻炼了自己的专业技能,

38、体验了公司开发氛围,还学到了解决问题的方法和思路。我相信下一次的实战开发一定会做的比此次更好!7 谢辞对于此次课程设计,首先要感谢学校为我们精心为我们准备了这样一场综合开发的实战机会。老师们不厌其烦的耐心指导是我们最终顺利完成设计开发的前提,在此对他们的新奇你付出表示衷心的感谢!其次要感谢开发组的全体队员,大家互相谅解、一起努力才有最终的成果。也要感谢其他同学在此次开发过程中给予我的指导和帮助!8 参考文献1BruceEckel.ThinkinginJavaM.UpperSaddleRiver,NewJersey,USA:PrenticeHall,20062陈道鑫,宋绍云,袁中旺,等.ExtJ

39、S框架在Web软件开发中的应用J.电脑知识与技术2011,07(9):2044-20473林信良.Spring2.0技术手册M.北京:电子工业出版社,20054(美)威尔德,斯尼德等著,赵利通译.SpringFramework2入门经典M.北京:清华大学出版社,20095林寒超,张南平.Hibernate技术的研究J.计算机技术与发展,2006,16(11):112-113,1166田珂,谢世波,方马.J2EE数据持久层的解决方案J.计算机工程,2003,29(22):93-957谭怀远.让Oracle跑得更快:Oracle10g性能分析与优化思路M.北京:电子工业出版社,2011附 录: 部

40、分源代码展示附录一:数据处理(DAO)层部分代码展示package com.sxt.yt.dao;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.HashMap;import java.util.Properties;/* * 数据库工具类 * * author Administrator * */public class DBUt

41、il / 用来存储数据库配置static HashMap dbMap = new HashMap();/* * 加载配置只调用一次 */static try / 新建一个属性文件对象Properties pro = new Properties();/ 加载文件pro.load(new FileInputStream(config/perties);/ 取属性值dbMap.put(driverClass, pro.getProperty(driverClass);dbMap.put(url, pro.getProperty(url);dbMap.put(username

42、, pro.getProperty(username);dbMap.put(password, pro.getProperty(password); catch (Exception e) e.printStackTrace();/* * 取得连接 * * return */public static Connection getConn() Connection conn = null;try Class.forName(dbMap.get(driverClass);String url = dbMap.get(url);conn = DriverManager.getConnection(

43、url, dbMap.get(username),dbMap.get(password); catch (Exception e) e.printStackTrace();return conn;/* * 关闭连接 * * param conn * param stat * param rs */public static void closeConn(Connection conn, Statement stat, ResultSet rs) try if (rs != null) rs.close();if (stat != null) stat.close();if (conn != null) conn.close(); catch (Exception e) e.printStackTrace();/* * 专用于执行增删改的普通用法 * * param sql * return */public static int executeUpd

温馨提示

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

评论

0/150

提交评论