个人事务标准管理系统_第1页
个人事务标准管理系统_第2页
个人事务标准管理系统_第3页
个人事务标准管理系统_第4页
个人事务标准管理系统_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

个人事务标准管理系统PAGE****&工程学院毕业论文基于Java平台的个人事务管理系统的算法及实现姓名**院(系)***学院专业班级****学号********指导教师***职称讲师论文答辩日期****年5月9日****工程学院教务处制

学生承诺书本人郑重承诺:该毕业论文从选题、设计提纲、初稿、修订稿等环节均为我本人在指导老师指导下独立完成;论文所使用的相关资料、数据、观点等均真实可靠,除已注明的引用他人观点、材料外,本论文没有剽窃或不正当引用他人学术成果。如违反上述要求,本人愿承担一切后果。毕业论文作者签名:日期:年月日摘要本论文主要阐述了个人事务管理系统的流程以及Java高级程序设计语言实现的概况。重点介绍了个人事务管理系统的实现过程:包括系统概述、系统分析、数据流程分析、功能设计、数据库设计、系统实现、系统测试和调试,包括功能需求描述、数据库设计等内容。本系统主要包含着两大功能:个人信息管理功能和用户信息管理功能。个人信息管理包括个人财务管理、人脉信息管理、备忘录信息管理、个人事件管理、应用小工具集等。用户信息管理主要包括用户注册、登录、修改密码、忘记密码后找回密码等功能。本系统主要是用可视化插件VE做的界面,使用Java语言开发,Mysql数据库作为数据库存储方案,Java利用JDBC访问数据库,实现对个人信息综合查询、增加、修改和删除基本功能的个人事务管理。关键词:个人事务管理系统JavaMysqlJDBC可视化插件VE

目录1前言 11.1选题背景 11.2现有系统存在问题的分析 11.3个人事务管理系统的现实意义 11.4个人事务管理系统的开发目标 21.5本系统的功能和作用 21.6课题研究的主要内容以及个人任务 32相关技术介绍 32.1Java概述 32.1.1Java编程语言技术概述 32.1.2Java编程语言的优势 32.1.3Java与数据库访问 42.2Mysql数据库的介绍 42.2.1Mysql的概述 42.2.2Mysql的特性 53系统分析 63.1可行性分析 63.1.1经济可行性 63.1.2技术可行性 63.1.3操作可行性 73.2需求分析 73.3系统设计背景 73.4系统的功能简介 73.5系统开发的目标 83.6系统设计的总体规划 84系统设计 84.1个人事务管理系统总体结构设计 84.1.1结构设计 84.1.2数据流程图 94.1.3数据字典 114.2数据库设计 114.2.1数据库的基本概念及其结构设计 114.2.2数据库逻辑设计 134.3系统功能分析和流程图设计 144.3.1个人事务管理系统的功能分析 144.3.2系统流程图的设计 155系统实现 165.1登陆界面设计 165.2主界面设计 195.2.1财务管理 205.2.2人脉信息管理 215.2.3备忘录信息管理 235.2.4记事 245.2.5工具 246结论 26参考文献 27Abstract 28附录 29致谢 34仲恺农业工程学院毕业论文(设计)成绩评定表 35PAGE361前言1.1选题背景现代社会,每个人总是与周围的事务存在着各种各样的联系,个体要处理的事务也是很繁杂的,人工处理相当麻烦,需要耗费大量的时间与精力,而且由于需要处理的事务杂乱无章,经常容易出错,导致其他的事务无法正常进行。使用计算机软件来管理个人事务,在时下来讲是很必要的。通过开发一个“个人事务管理系统”的软件,可以方便快捷的管理各项个人事务,使得各项工作能够高效率、高质量的进行。同时也可以与其他的系统建立紧密的联系,与周围的人或者事及时沟通,获取信息。那么个人事务的管理就不能仅仅只靠手工的记录,更应该结合信息技术的支持。因此可见,随着我国经济的迅速发展,信息技术在其中的作用会更加地广泛和深入。1.2现有系统存在问题的分析目前,存在于市场上的个人事务管理系统很少,而且大多数都是以单方面的信息管理为目标的,比如说通讯录管理软件或记事本等。对于二十一世纪的今天,计算机的发展是日新月异的,但是很多人对个人事务的管理只见眼前利益,不关心,甚至不敢尝试新兴的事物。信息技术的应用还十分落后。所以机器代替人力是必然的历史发展趋势,只有人们的重视和支持才能从人工管理改为计算机管理。事物的人工管理必将被计算机代替。有些人虽使用了计算机,甚至管理系统,但是仍存在很多问题,问题一日不解决,个人办事的效率就一日提不上去。1.3个人事务管理系统的现实意义目前,个人的事务管理基本上靠个人大脑记忆或者自己动手用纸笔记录,无论在效率,还是在事务管理等方面都存在很大问题,这些无疑制约了个人的工作效率和办事效率,使个人事务显得杂乱无章。在传统的个人事务管理模式中,用纸笔记录及人工管理是其主流方式。这种方式具有数据可靠性差,运行效率低下,统计分析难度大等缺点,很难对自身的现状和当前事务状态做出准确分析,特别是随着信息化时代的到来,中国经济已经到了一个快速腾飞发展的时代,采用先进管理模式来增强个人竞争力,迎接信息化革命是摆在每个人面前很现实而且很重要的问题。如何在效益、效率上取得提升已经成为一个很关键问题。个人事务管理系统是个人事务管理非常重要的一个环节,个人事务管理的系统化、信息化,已经成为每个人生活中很重要的一个组成部分,能否实现这一步关心到每个人的办事效率和工作效率。因此,个人事务管理系统就逐渐受到重视,并在当前的信息管理中占据了越来越重要的分量。个人事务管理软件主要用个人事务的管理,通过标准的作业流程和统一的管理模式,管理个人的财务现状和通讯录等,通过计算机的帮助实现智能化的管理和操作,从而在此基础上建立起现代化的事务管理模式。1.4个人事务管理系统的开发目标本系统是将现代化的计算机技术和传统的事务管理工作相结合,按照个人事物所包括的模块设计完成的。为了使系统在个人事务管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:系统应具有实用性、可靠性和适用性,同时注意到先进性。对各个数据库进行动态管理,防止混乱。能够按照用户选择的不同的条件进行简单的查询和修改。方便用户的操作,尽量减少用户的操作。1.5本系统的功能和作用个人事务管理系统是为个人提供账户并实现个人事务的管理等功能,主要是对个人信息的记录、查询、增加、修改、删除,是基于计算机软件的应用系统。它可以让个人信息不断积累,并实现智能管理,一方面极大地减轻了人们对自身事务的工作量,另一方面使数据的安全性得到了保证,避免了大数据的流失和混乱,是个人数据保存的可靠性大大加强。本系统是利用eclipse与Mysql技术开发的个人事务管理系统。它使用方便,操作简单,用户登录,个人财务信息管理,个人人脉信息管理等功能。希望本系统能够使个人的信息和数据得到更好的安全性和可靠性,为人们在生活中减轻负担。1.6课题研究的主要内容以及个人任务研究个人事务管理系统作用在于:更科学地测试学生的动手能力、软件开发个方面的协调能力,了解学生掌握知识的情况、提高学生学习的积极性。个人事务管理系统:个人使用自己的账号登录进去,然后根据需要对个人信息进行管理,包括事件的记录、查询和统计等。课题研究的价值:通过对个人信息的分类管理可以很清晰地了解到个人的相关信息和具体事件的信息。传统的管理系统功能都比较单一,对个人的集成事务操作不方便,也容易造成数据混乱和重要数据的丢失,从而不能促使个人更好的管理事务;不能提高个人的办事效率,最后使个人信息混乱,个人信誉也受到严重的影响。而本管理系统可以根据不同的管理模块实现对不同事务的管理。同时对不同信息进行记录、保存修改,有效的保证了数据的安全性和准确性,这样,就可以使人们节约了时间和精力,从而使个人的办事效率和办事风格都得到了很大的提高。2相关技术介绍2.1Java概述2.1.1Java编程语言技术概述Java语音是一种面向对象的语音,它通过提供一套简单却完整的语音要素来完成指定的任务。只需要理解一些基本的概念,就可以用它编写出适合于各个不同平台的应用程序。Java语音的设计集中于对象及其接口,它比C++更加面向对象,提供了简单的类机制以及动态的接口模型,略去了多重继承等复杂的继承机制。状态变量以及相应的方法只能放置于类内部,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。2.1.2Java编程语言的优势如果读者有使用过C、C++之类的语言,就会发现Java在网络编程方面提供的类库有多么的强大且易用。在基础网络方面Java提供了Socket编程API,在高级网络应用方面,提供了标准的Servlet、Ejb包供用户使用。同时,有大量的开源服务器以及第三方软件公司开发的功能强大的应用服务器供用户选择。

Java是可收集无用的存储单元的,用C及C++写软件的编程人员必须仔细所用的内存块。当一个块不再使用时,他们务必让程序释放它,从而方可再用。在大的项目中,这可能很困难,并往往成为出错和内存不足的根源。在Java的情况下,编程人员不必为内存管理操心。Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。2.1.3Java与数据库访问Java语言是目前广泛使用的网络数据库编程语言,JDBC给数据库应用开发人员提供了一种标准的应用程序设计接口,使数据库开发人员可以用纯Java语言编写完整的数据库应用程序。Java和JDBC结合真正实现一次编写,处处运行。

Java程序利用JDBC访问数据库的几种不同途径:

第一种方法使用JDBC-ODBC桥实现JDBC到ODBC的转化,转化后就可以使用ODBC的数据库专用驱动程序与某特定数据库相连。这种方法借用了ODBC的部分技术,使用比较简单,但是同时也因C程序的引入而丧失了Java的跨平台特性。

第二种方法是JDBC与某数据库专业的驱动程序相连,限制了前端应用与其他数据库系统的配合使用。

第三种方法是JDBC与一种通用的数据库协议驱动程序相连,然后再利用中间和协议解释器将这个协议驱动程序与某种具体的数据库系统相连。这种方法的优点是程序不但可以跨平台,而且可以连接不同的数据库系统,有很好的通用性。2.2Mysql数据库的介绍2.2.1Mysql的概述Mysql是一个小型关系型数据库管理系统,开发者为瑞典MysqlAB公司。目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库。Mysql是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行和标准化的数据库语言。Mysql是以一个客户机/服务器结构的实现,它是由一个服务器守护程序Mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时Mysql也足够快和灵活以允许你存储记录文件和图像。Mysql主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,Mysql就开发出来。自1996年以来,我们一直都在使用Mysql,其环境有超过40个数据库,包含10000个表,其中500个表超过7百万行,这大约有100GB的关键应用数据.2.2.2Mysql的特性使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2、Wrap、Solaris、Windows等多种操作系统。为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程,充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。3系统分析3.1可行性分析可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源、社会条件等。可行性分析必须分析几种主要的可能解决法的利弊,从而判定原定的系统规模和目标是否实现,系统完成后所带来的效益是否值得去开发这个系统等。一般来说,可行性分析应包括经济可行性、技术可行性、运行可行性、法律可行性和开发方案可行性等方面。3.1.1经济可行性个人事务管理系统的编写只需要一台个人微型计算机机即可,目前个人计算机的配置均能满足个人事务管理系统的编写和使用的要求,所有的开发工具都可以找到免费的,并且开发环境也是免费的,所以在开发环境和开发工具上是可行的。而本系统的主要消耗成本在人力方面,所以在在经济可行性上能够达到要求。3.1.2技术可行性该软件的开发只需在WindowsXP或者Windows7操作系统下进行,利用java和mysql进行开发,在计算机上只需安装一般的处理软件和一些支持软件,不需要大型的系统软件和应用软件来支持。该系统是一个数据库管理系统,对数据库进行操作不需要高配置的计算机,只要在该计算机上能够运行WindowsXP操作系统和一般的处理软件就可行。作为一个java开发的系统而言,本系统所用到的技术在在这方面已经非常成熟,在用到的mysql数据库中,由于需要储存的信息都是按照用户来划分的,并且需要用到的表并不多,所以在数据库方面的要求也能达到。我作为一名专业为软件开发方面的的学生,经过长期的学习和实验,对编写程序已经具备独立的动手操作能力,所以相对于目前的技术要求是完全可以胜任的。3.1.3操作可行性目前,大多数PC机都能够运行该系统,并且该系统所占的系统资源也对PC没有任何影响。该系统的安装、调试、运行不会改变原计算机系统的任何设置,该系统只是一个小型的个人事务管理系统,使用起来简单方便,易于操作。所以,相对于用户而言,只要他接触过计算机,能够简单地使用计算机,那么他就能很容易的对本系统进行操作。3.2需求分析通过调查分析,该个人事务管理系统应该具备以下的一些功能:用户登录和注册模块。在用户登录后能看到自己的储存的所有个人信息,并对

自身信息能够操作。个人登录后主界面模块应包括个人中心、记账,记事,人脉管理,事件管理,备忘录管理等管理模块。方便的个人所有信息的记录、查询、修改等。个人密码修改功能,忘记密码后用验证问题找回密码等。3.3系统设计背景在当前的信息化社会,很多的办公系统已经普及到了社会的各个角落,而且市场也也已经相继出现一些关于个人事务管理方面的软件,但是,目前存在于市场上的此类软件功能都比较单一,并且各个管理模块都比较分散。本项目名称:个人事务管理系统。本软件基本上能具体化、合理化得管理个人信息,用结构化程序设计的思维方式去了解计算机的基本工作原理和高级程序语言设计。本系统最大的特点是对个人所要处理的个人事务进行了一次集合,并在本软件中一次性的实现了许多对个人事务管理的模块。3.4系统的功能简介系统主要实现功能模块:个人中心模块:此模块主要提供进入各个管理模块下子模块的快捷方式,另外还包括个人密码修改模块和主页面的便笺。记账模块:主要包括收入管理、账户管理、支出管理等。记事模块:主要实现记事本功能、事件搜索等功能。人脉模块:包括添加人脉关系、人脉分类管理、人脉列表等功能。个人备忘录模块:主要实现各种个人备忘功能,例如各种网站的注册名和密码、银行卡相关信息、家务管理信息等。事件模块:对所有事件进行浏览,管理事件的分类等。工具模块:提供计算机、日历等一些工具。3.5系统开发的目标个人信息管理系统实现了管理的信息化,它记录着个人每日的重要信息,能记录、提示用户有关信息。出于本系统是个人事务管理的的一个综合性系统,本系统的设计目标将最终定位于完成以上所述的系统主要任务的基本模型。3.6系统设计的总体规划作为一个软件管理信息系统,该平台必须具有自身的设计规则,在本系统中,它主要体现在一下方面:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个系统来说是非常重要的。针对性:该平台是后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台记录个人的基本信息,具有良好的实用性。稳定性:作为个人事务信息管理系统,本系要具有良好的数据储存稳定性和运行稳定性。4系统设计4.1个人事务管理系统总体结构设计4.1.1结构设计图1功能结构图4.1.2数据流程图用户登录:图2用户登录图用户注册:图3用户注册图用户添加/修改信息:图4添加/修改用户图用户浏览信息:图5数据流图4.1.3数据字典数据流图描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,这还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。这就要引入数据字典这个概念。数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。4.2数据库设计设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需求分析。数据库概念结构设计。数据库逻辑结构设计。4.2.1数据库的基本概念及其结构设计在系统中利用数据库是为了更方便的管理个人信息和数据,而建立一个个人事务管理系统是有一定的数据作为备用,因此一定要有数据库来管理这些数据。在个人事务管理系统中的数据库主要用于存储个人的各种信息、用户的基本信息、用户记录的事件信息等等。下面将介绍下数据库的基本概念和发展:

数据(Data):数据实际上就是描述事物的符号记录。数据库(Database,简称DB):数据库是长期存储在计算机内有结构的大量的共享的数据集合。数据库管理系统(DatabaseManagementSystem,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库系统(DatabaseSystem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库系统管理员(DatabaseAdministrator,简称DBA):负责数据库的建立、使用和维护的专门的人员。本系统的数据库用户为HZ,密码为888888

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需要的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这样实体包含各种具体信息,通过相互之间的作用形成数据的流动。事件基本信息管理集中,它的属性有事件名、事件、内容、分类。每一个事件都有唯一的ID,所以直接使用它作为这个实体的主键。事件基本信息E-R图如下:

图6事件基本信息E-R图实体用户管理集中,只属于用户登录,所以该系统用户设置了用户名和密码,密码提示问题和密码验证问题,且都是唯一的。系统用户信息E-R图如下:

图7系统用户信息E-R图账户信息管理集中,它的属性有账户名、账户余额、备注等。账户信息信息E-R图如下:图8账户信息E-R图联系人信息管理集中,它的属性有联系人姓名、分类、电话、家庭、生日、备注等属性。联系人信息信息E-R图如下:图9联系人信息E-R图4.2.2数据库逻辑设计逻辑设计将所有的E—R图的数据库概念结构转化为Mysql数据库系统所支持的实际数据模型,即数据库的逻辑结构个人信息管理系统数据库中各个表的设计结果如下表格所示。每个表格表示数据库中的一个表。表1用户信息表列名数据类型备注idint(20)编号,自动增长主键usernamechar(20)用户名passwordvarchar(20)密码miamtsvarchar(20)密码提示mimayzvarchar(20)密码验证表2事件信息表列名数据类型备注idint(20)编号,自动增长主键thingnamevarchar(20)事件名timedatetime时间contentlongtext内容sortvarchar(20)分类表3财务账户表列名数据类型备注idint(20)编号,自动增长主键namevarchar(40)账户名balancedouble账户余额remarkvarchar(40)备注表4联系人信息表列名数据类型备注idint(20)编号,自动增长主键namevarchar(40)联系人姓名sortvarchar(40)分类phonebigint电话homevarchar(40)家庭birthdaydate生日hobbyvarchar(40)喜好忌讳remarkvarchar(40)备注4.3系统功能分析和流程图设计4.3.1个人事务管理系统的功能分析经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:事件管理:能够完成事件基本信息录入、修改、查询和删除。财务管理:能够完成收支管理,账户管理,分类管理等基本信息录入、修改、查询和删除。记事本功能:根据用户的的需要对事件进行记录,能够完成事件的添加,修改,删除,搜索等功能。人脉管理:实现对联系人的分类管理,个人信息记录等功能。4.3.2系统流程图的设计用户通过用户名和密码登陆系统,然后根据个人信息对功能进行选择,总的流程图如下:

图10系统流程图5系统实现5.1登陆界面设计登陆界面是用户进入系统的通道,登录系统主要是验证登username的用户名和password是否和数据库里边的一致,如果不一致则不能进入系统,这是系统安全中很重要的一个组成部分。用户名是单行编辑框中输入,而密码却是用掩码显示即将属性PassWord设置为●,避免因为显示密码的具体内容而造成密码失窃,给用户造成不必要的麻烦。界面设计:界面注明使用该应用系统的新用户可以注册,忘记密码的用户可以点击“忘记密码”以找回密码。使系统登录界面更加友好,更加人性化。图11登录界面

图12注册界面图13注册提示图14注册成功图15忘记密码图16找回密码5.2主界面设计主界面的设计主要包括对个人事务管理的八个子模块,用户可以按照自己的需要进入自己想要管理的模块。图17主界面设计图18主界面用例图5.2.1财务管理主要是对个人财务的各种基本信息管理,例如收支管理账户管理等。财务信息管理主界面截图如下:图19财务信息管理图20财务信息管理用例图图21添加账户图22修改账户5.2.2人脉信息管理人脉信息主要是对个人的人脉信息进行管理,并实现人脉的分类管理。主要包括人脉列表、分类管理,还有对人脉信息的综合查询、修改、增加、和删除等功能。人脉信息管理主界面截图如下:图23人脉信息管理图24人脉信息管理用例图图25修改联系人5.2.3备忘录信息管理备忘录信息主要是对个人比较零散的信息进行管理,并实现各种备忘事件的分类管理。备忘录信息管理主界面截图如下:图26备忘录信息管理图27备忘录信息管理用例图5.2.4记事图28添加事件5.2.5工具图29工具界面图30五指棋小游戏6结论本系统在设计之初,我对Java和Mysql有一定的了解,在老师和同学的帮助下,根据所学的关于软件工程的知识,从最初的数据库设计到最后系统前台界面的设计及代码的实现经历了一个月的时间,在这一个月的时间中,我按照软件工程的生命周期方法学来完成设计,即系统的需求分析、总体设计、程序设计、系统调试等开发步骤,分阶段地完成各设计任务。在设计之初,首先对所使用的工具eclipse和Mysql进行了全面的复习。接着,根据自己的设计任务书的要求,对自己需要完成的部分进行了系统的规划,根据需求分析的要求,对数据库即数据库中的表进行设计规划,Java和JDBC结合真正实现编码,并使用了可视化插件做的界面,对系统进行了详细设计、编码和测试工作,整个过程是本设计的核心部分。在设计基本完成之后,用了大概两周的时间改进系统的性能和技术文档的编写整理,最后完成毕业设计。在整个设计过程中是不断学习的过程,我体会到:软件开发是一个不断学习新鲜实物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性,这对于将来我真正走上工作岗位具有重要意义。由于前期工作的不彻底,对系统的需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。设计过程中,经常会遇到困难,我学会了通过老师和同学给出的其它系统代码来理解语言的含义,然后根据自己的设计要求编写代码。设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系。在完成本设计的过程中,也总结了以下一些经验:一个详细周密的计划对于完成一项任务的重要性。学习一门程序语言,实践是最好的办法。要学会运用互联网工具。互联网是一个具有大量资源的信息宝库。我深刻体会到要做好一件事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。

参考文献[1]张海藩.《软件工程导论》.北京:清华大学出版社,2002年.[2]叶小平,汤庸,汤娜,刘玉葆等.《数据库系统教程》,北京:清华大学出版社,2005年.[3]贾蓉生.《Java2入门与网站数据库设计》.北京:清华大学出版社,2004年.[4]HerbertSchildt.《Java参考大全》.北京:清华大学出版社,2008年.[5]唐红亮,郝建民,刘亚姝,张哲.《SQLServer数据库设计与系统开发教程》,北京:清华大学出版社,2007年.[6]张桂元,贾燕枫.《Eclipse开发入门与项目实践》,北京:人民邮电出版社,2010年.[7]叶达丰.《Eclipse编程技术与实例》,北京:人民邮电出版社,2009年.[8]李劲东,姜遇姬,吕辉.理信息系统原理[M],西安:电子科技大学出版社,2003年.[9]廖若雪.JSP高级编程[M],北京:机械工业出版社,2001年.[10]赵毅.跨平台程序设计语言——Java[M],西安:西安电子科技大学出版社,2006年.[11]朱喜福.Java程序设计[M],北京:人民邮电出版社,2005年.

[12]王路群.Java高级程序设计[M],北京:中国水利水电出版社,2006年.[13]丁宝康.数据库实用教程,北京:清华大学出版社,2004年.[14]汪诗林等.数据结构算法与应用,北京:机械工业出版社,2005年.[15](美)埃克尔著,陈昊鹏.Java编程思想,北京:机械工业出版社,2007年.[16]冯博琴.面向对象分析与设计,北京:机械工业出版社,2003年.

TheAlgorithmandRealizationofSystemofaPersonalaffairsManagementbasedonJavaHuangZhi(CollegeofComputerScienceandEngineeringZhongkaiUniversityofAgricultureandEngineering,Guangzhou510225,China)

Abstract:ThisthesismainlyexpoundstheprocessofthedevelopingPersonalaffairsmanagementsystemandthegeneralsituationofJavaprogrammingdesignofhigh-levellanguages.ItmainlyintroducestheimplementationprocessofthedevelopmentPersonalaffairsmanagementsystem,includingsystemoverview,systemimplementation,systemtestinganddebugging,includingfunctionrequirementdescription,databasedesign,etc.Thissystemmainlycontainsfourbigfunctions:thefunctionofthethinginformationmanagementandtheuserinformationmanagement.Thissystem`sinterfaceismadeofvisualplug-ins,usingtheJavalanguagetodevelop,Mysqldatabaseassolutiontostoreanalyticalfactors.TheJavausestheJDBCaccessdatabase,implementingsomebasicfunctionasquery,add,modifyanddeleteinthepersonalaffairsmanagementsystem.Keyword:Personalaffairsmanagementsystem;Java;Mysql;JDBC;visualizationplugin

附录关于主界面的部分的关键代码privateJButtongetJButton(){ if(jButton==null){ jButton=newJButton(); jButton.setBounds(newRectangle(652,167,87,25)); jButton.setText("注册"); jButton.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ Regreg=newReg();//初始化注册界面 reg.setVisible(true); } }); } returnjButton; } //验证并登录 privateJButtongetJButton1(){ if(jButton1==null){ jButton1=newJButton(); jButton1.setBounds(newRectangle(496,268,102,31)); jButton1.setText("登录"); jButton1.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ SwingUtilities.invokeLater(newRunnable(){ publicvoidrun(){ Zjmzjm=newZjm(); zjm.setVisible(true);//设置Zjm为可见 zjm.setTitle(getJTextField().getText()); dispose(); } }); } }); } returnjButton1; } privateJPasswordFieldgetJPasswordField(){ if(jPasswordField==null){ jPasswordField=newJPasswordField(); jPasswordField.setBounds(newRectangle(495,224,135,25)); } returnjPasswordField; } privateJButtongetJButton2(){ if(jButton2==null){ jButton2=newJButton("忘记密码"); jButton2.setBounds(newRectangle(652,223,87,25)); jButton2.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ Stringun=getJTextField().getText(); if(un.equals("")){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"请输入用户名!","Warning", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } else{ try{ Class.forName("com.mysql.jdbc.Driver"); Connectionconnection=DriverManager.getConnection ("jdbc:mysql://localhost/grsw","HZ","190288"); Statementstatement=connection.createStatement(); ResultSetresultSet=statement.executeQuery("selectmimatsfromuserwhereusername='"+un+"'"); Stringmimats; while(resultSet.next()) { mimats=resultSet.getString(1); Wjmmwjmm=newWjmm(); wjmm.setVisible(true); wjmm.jL5.setText(mimats); } } catch(Exceptione1){ e1.printStackTrace(); } } } }); } returnjButton2; } privateJTextFieldgetJTextField(){ if(jTextField==null){ jTextField=newJTextField(); jTextField.setBounds(newRectangle(495,167,135,25)); } returnjTextField; } publicstaticvoidmain(String[]args){ SwingUtilities.invokeLater(newRunnable(){ publicvoidrun(){ LgthisClass=newLg(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } }); } publicLg(){ super(); initialize(); } privatevoidinitialize(){ this.setSize(750,400); this.setContentPane(getJPanel()); this.setTitle("登录"); this.setResizable(false); //设置窗口大小不可改变 this.setLocationRelativeTo(null); //设置初始位置居中 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置框架关闭时结束程序 }}个人用户注册部分的关键代码jB.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ if(getJTF1().getText().equals("")){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"请输入用户名!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } elseif(String.valueOf(getJPF1().getPassword()).equals("")){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"请输入密码!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } elseif(String.valueOf(getJPF2().getPassword()).equals("")){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"请重复输入密码!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } elseif(String.valueOf(getJPF1().getPassword()).equals(String.valueOf(getJPF2().getPassword()))!=true){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"两次输入的密码不同!请重新输入!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); }else{ try{ Class.forName("com.mysql.jdbc.Driver"); Connectionconnection=DriverManager.getConnection ("jdbc:mysql://localhost/grsw","HZ","190288"); Stringusername=getJTF1().getText();//获取用户名 Stringpassword=String.valueOf(getJPF1().getPassword());//获取密码输入 Stringmimats=getJTF2().getText();//获取提示问题 Stringmimayz=getJTF4().getText();//获取验证答案 Statementstatement=connection.createStatement();//数据库操作 Statementstate=connection.createStatement(); ResultSetresultSet=state.executeQuery ("selectusernamefromuserwhereusername='"+username+"'"); if(resultSet.next(){//判断用户名是否已经存在,若存在则提示 Stringun=resultSet.getString(1); if(username.equals(un)){ Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"该用户名已存在!请更换!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } } else{//注册用户 statement.executeUpdate("insertintouservalues"+ "('"+username+"','"+password+"','"+mimats+"','"+mimayz+"',null)"); Object[]options={"确定"}; JOptionPane.showOptionDialog(null,"注册成功!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); dispose(); } } catch(Exceptione1){ e1.printStackTrace(); } } } }); } returnjB; }找回密码的关键代码privateJButtongetJB(){ if(jB==null){ jB=newJButton("确定"); jB.setBounds(newRectangle(222,138,72,29)); jB.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ Stringmmyz=getJTF3().getText(); if(getJTF3().getText().equals("")){ Object[]options={"确定","取消"}; JOptionPane.showOptionDialog(null,"请输入密码验证问题!","提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); } else try{ Class.forName("com.mysql.jdbc.Driver"); Connectionconnection=DriverManager.getConnection ("jdbc:mysql://localhost/grsw","HZ","190288"); Statementstatement=connection.createStatement(); ResultSetresultSet=statement.executeQuery("selectpasswordfromuserwheremimayz='"+mmyz+"'"); while(resultSet.next()) { Stringpassword=resultSet.getString(1); Object[]options={"确定","取消"}; JOptionPane.showOptionDialog(null,"您的密码是:"+password,"提示", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE, null,options,options[0]); dispose(); } } catch(Exceptione1){ e1.printStackTrace(); } } }); } returnjB; }个人信息显示的关键代码privateJTablegetJTable(){ if(jTable==null){ jTable=newJTable(); jTable.setFont(newFont("Dialog",Font.BOLD,14)); jTable.setRowSelectionAllowed(false); jTable.setShowHorizontalLines(true); jTable.setShowVerticalLines(false); jTable.setColumnSelectionAllowed(false); jTable.setEnabled(false); jTable.setRowHeight(30); DefaultTableModelJTableModel=newDefaultTableModel(); JTableModel.addColumn("账户名称"); JTableModel.addColumn("账户余额"); JTableModel.addColumn("备注"); jTable.setModel(JTableModel); try{ Class.forName("com.mysql.jdbc.Driver"); }catch(Exce

温馨提示

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

评论

0/150

提交评论