基于Java企业财务管理系统的设计与开发.docx
《基于Java企业财务管理系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于Java企业财务管理系统的设计与开发.docx(34页珍藏版)》请在冰点文库上搜索。
![基于Java企业财务管理系统的设计与开发.docx](https://file1.bingdoc.com/fileroot1/2023-5/18/dd109f00-58df-4781-b032-6879a9294a4b/dd109f00-58df-4781-b032-6879a9294a4b1.gif)
基于Java企业财务管理系统的设计与开发
摘要
随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。
对此企业必须实现财务管理系统的设计与开发。
该系统提供员工管理、部门管理、岗位管理、工资管理等功能。
员工管理对公司的人事信息进行增删改查,部门管理对公司的部门进行增删改查,工资管理对员工的工资能进行编辑、统计和打印。
通过此系统,公司可以轻松迅速了解公司内部员工的在职、公司相关部门、员工工资的发放等情况。
使公司的总体管理更上一个台阶。
关键词:
财务管理系统;JavaWeb;MySQL;B/S(浏览器/服务器)
Abstract
Alongwiththecomputerandnetworkinthewideapplicationofenterprise,enterprisedevelopmentspeedisaccelerating,inthiskindofcompetitioninthemarketimpactofenterprisefinancialmanagementsystemmustgivefirstprioritytothedevelopment,sothatwecanguaranteeatacompetitiveadvantage.Thisenterprisemustrealizethefinancialmanagementsystemisdesignedanddeveloped.
Thissystemprovidesstaffmanagement,managementofdepartment,postmanagement,salarymanagementetc.Function.Employeesofthecompany'spersonnelmanagementinformation,checktheauthorizationforthecompany'sdepartmentmanagementdepartmentofthecheck,salarymanagementtoremovingthepayofemployeecanedit,statisticsandprint.Throughthissystem,thecompanycaneasilyunderstandthecompany'sinternalemployeesquicklyon-the-job,therelevantdepartment,staffsalaries,etc.Thecompany'soverallmanagementtothenextlevel.
Keywords:
Financialmanagementsystem,JSP,MySQL,B/S(Browser/Server)
1.绪论
在信息时代,各企业都紧跟时代步伐,转变着企业的经营模式、办公模式。
与此同时,企业的传统的管理模式也在逐步由人工管理向自动化管理模式转变,财务管理系统就是在这样的大背景下应运而生。
无论是政府还是企事业单位,内部成员相互之间的信息沟通对于提高工作效率,更好的完成工作都显得很重要。
此外,每个单位都希望能和异地的分支机构、各个部门等保持实时联系,进行统一管理,因此,建立一个财务管理系统是可行的。
在针对现有的系统进行调查之后,拟开发一套财务管理系统以适应信息化时代的财务管理需求。
1.1财务管理系统开发的背景
我国的生产企业发展十分迅速。
但企业的信息化管理一直是影响我国企业进一步发展的难点。
企业信息化是企业应用信息化的过程,是指在企业的生产、经营、管理等各个层次、各个环节和各个方面,应用先进的计算机、通信、互联网和软件等信息化技术和产品,并充分整合、广泛利用企业内外的信息资源,提高企业生产、经营和管理水平,增强企业竞争力的过程。
结合我国目前的国情来看,改革开放以来,我国的中小企业得到了迅速发展。
这些中小企业存在着一定的普遍特征:
资金不是十分雄厚,管理不是非常完善,信息化基础普遍较差,面临着异常激烈的市场竞争。
随着信息时代的到来,中小企业的生存和竞争环境发生了根本性的变化。
当前中小企业信息化具有宽广和深刻的内容,其中管理信息化是一个重要方面。
如何运用信息技术增强企业的管理,如何制定企业信息化发展战略来提升企业的核心竞争力,如何把信息化系统融入日常的管理工作为企业带来效益,是当前我们所面临的重要课题。
1.2财务管理系统开发的目的和意义
财务管理系统的开发不仅可以减少企业人员的工作量,还可以为企业节约许多人力物力,可以使企业向科学化、现代化、规范化的方向发展,达到提高企业的生产效率的目的。
1.3本设计主要完成的工作
本论文共分为5章。
第1章绪论,介绍了本课题的选题背景、开发的目的和意义。
第2章介绍了开发工具及其特点,数据库技术和特点。
第3章主要做了需求分析和系统的功能模块设计。
从经济、技术和操作可行性方面做了分析,并且介绍了系统的各模块的基本设计。
第4章主要介绍了数据库的设计,包括数据库的创建、数据表的设计以及各个数据表之间的关系。
第5章为系统的详细设计,对登录及修改密码模块、系统首页的设计、部门管理模块、岗位管理模块、员工管理模块、工资管理模块分别进行了详细设计的介绍。
最后为本课题完成成果和发展期望作了总结。
2.财务管理系统开发的技术基础和相关工具
2.1基于Web的应用系统开发
2.1.1Web服务器
Web服务器是Web环境中的主角。
过去主要用于存储及管理公众网站。
现在,正成为一种独立应用系统开发及安装环境,管理和控制其中的网站和组件,并有一些服务器从Web服务器中独立开来,主要承担运行应用系统(而不是公众网站)的任务,这类服务器被称为应用服务器。
这一变化的着眼点在于把复杂的“胖”PC客户环境改造成为“瘦”客户端,而把复杂的应用程序移到Web服务器上。
Web服务器的特征为:
由于采用“瘦”客户端,使面向用户的复杂性将从客户端移至Web服务器。
由于“瘦”客户端易学易懂,使用者将越来越多,Web服务器必须有能力在任何时间内同时面向众多的使用者。
如今最流行的Web服务器产品为微软的IIS及Netscape的NES。
NES(NetscapeEnterpriseServer)可以在WindowsNT及各类流行的Unix上运行。
其主要功能有:
带有客户端授权的SSL(SecureSocketsLayer)、Verity的集成式检索器、SNMP、出色的数据库连接功能及Web网站内容管理等。
NetscapeONE(OpenNetworksEnvironment)是一个建立在开放式Internet标准之上的应用开发环境,提供有Netscape组件模式、JavaBeans以及各种通用组件,并可以在各类新老版本的操作系统上运行。
这是NES的一大特点。
IIS(InternetInformationServer)的设计目标是提供适应性强的Internet和Intranet服务器功能。
通过围绕WindowsNT所做的优化,IIS具有很高的执行效率、出色的安全保密性、易于管理及启动迅捷等特点。
其中,IIS因其速度快正越来越热门。
另一个值得一提的全新产品是JavaWebServer,它由SunJavasoft公司推出。
除此之外,Oracle的WebApplicationServer提供了很强的数据库管理功能,但运行效率有待改进。
O’Reilly’s的WebSite是一个网页存取快速、低廉、易用的产品,适用与单机独立的Web服务器,但其数据库存取效率低。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器.Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能.
2.1.2服务器组件
基于Web的应用系统特征之一是与其他任何第三方软件产品的完全互通性。
然而,究竟如何方便、平滑地与第三方软件产品互通,以便建立一个全新、有效地集成化业务系统,这一问题的彻底解决还有待于今后的努力。
对象管理小组(OMG)在80年代提出了基于对象的电脑结构,即所谓的CORBA(CommonObjectRequestBrokerArchitecture),微软则在最近推出了DCOM/ActiveX技术,两者都试图解决分布式应用组件的问题。
CORBA在不同语言及操作系统平台的互通方面处于领先地位,微软的ActiveX只能在WindowsNT上运行,不过它的市场占有率相当可观。
可以预见,基于Web的应用系统将会推动以上两项技术的发展。
另外,面向对象的程序语言Java之所以近年来越来越流行也同上书应用组件问题有关。
组件模式定义了组件的基本结构体系,描述出组件与Container及其它组件之间的界面和沟通机制。
目前有三种流行模式可供选择:
ActiveX以微软的COM(ComponentObjectModel)为基础,器组件可以由任何Windows语言来编写,诸如VB、Delphi、PowerBuilder、C、C++、Java,并可在任何Windows平台上运行。
其采用的标准为DCOM(DistributedCOM)。
CORBA其组件可由C、C++、Java、SmallTalk及Ada语言编写,具体使用哪种语言,取决于CORBA的实现版本。
CORBA组件可以在Windows、Unix及其它多种平台上运行,采用的标准为IIOP(InternetInter-ORBProtocol)。
JavaBeans以JavaSoftJavaBeans的定义为基础,其组件由Java语言编写,并可在任何Java平台上执行。
它采用多变的沟通机制,包括JavaRMI(RemoteMethodInvocation)及IIOP,与ActiveX亦能沟通,因而大大扩展了其适用范围。
2.1.3数据库访问技术
数据库(DataBase,DB)是存储在计算机中有组织、可共享的数据的集合,可通过数据库管理系统进行管理,并能生成相应的数据库文件。
数据库的数据模型发展至今,已有3种类型:
层次数据库、网状数据库、和关系型数据库。
目前最重要也是应用最广泛的是关系型数据库。
数据库是实现交互式动态网站的基础。
在网页中检索并显示存储在数据库中的信息是ASP动态网站建设的重要内容之一。
在动态网页的设计中,除了和用户进行交互以外,服务器还需要收集用户的相关信息。
常见的动态网站,如留言簿、论坛、会员系统、新闻系统等。
这些都需要接收并保存信息。
网站通过与数据库系统相连接,对其中的数据进行存取,创建和设置以数据展示为基础的交互式网页。
2.2C/S结构与B/S结构
由于网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java技术以及网络分布式对象技术的飞速发展,因而有很多网络应用系统的体系结构从C/S结构向更加灵活的B/S多级分布结构演变。
根据实际情况正确选用合适的应用系统结构,对于财务管理系统的成功开发是非常关键的。
2.2.1C/S结构介绍
C/S结构,即Client/Server(客户机/服务器)结构。
此结构把数据内容放在远程的服务器上,而在客户机上安装相应软件。
C/S软件一般采用两层结构,有两部分构成:
前端是客户机,即用户界面(Client)结合了表示与业务逻辑,接受用户的请求,并向数据库服务提出请求,通常是一个PC机;后端是服务器,即数据管理(Server)将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。
还要提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同时访问同一个数据库。
在这种结构中,服务器的硬件必须具有足够的处理能力,这样才能满足各客户的要求。
2.2.2B/S结构介绍
B/S结构。
即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browser)运行软件。
它是随着Internet技术的兴起,对C/S结构的一种变化和改进。
主要利用了非常成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript…)和ActiveX技术,是一种全新的软件系统构造技术。
B/S三层体系结构采用了三层客户/服务器结构,如图2-1所示,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。
中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:
负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。
随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。
2.2.3C/S结构与B/S结构的比较
上面对C/S结构和B/S结构做了简要介绍,如表2-1所示,下面从系统的可维护性、实现功能的复杂程度等几个方面对这两种结构进行专门的对比。
表2-1C/S结构与B/S结构的比较
Intranet
Client/Server结构
Browser/Server结构
对客户端硬件配置要求
根据系统规模需要较高的硬件配置
需要一般的硬件配置,没有特殊要求
要专门安装客户端软件
需要安装专门的客户端软件
客户端只需要浏览器,不需要安装专门的客户端软件
系统的可维护性
系统维护复杂
良好的系统维护性,代价很小
实现功能的复杂程度
能够根据用户需求定置复杂的应用
可以定置大型复杂的系统应用,成本较高
系统功能的可扩展性
一般系统一旦定置好,扩展性较差
具有良好的系统扩展性,可随用户需求增加新的功能
系统使用的难易程度
一般要经过专门的培训才能使用
不需要专门的培训
数据控制的灵活性
对操纵数据的控制灵活
对操纵数据的控制不太灵活
与Internet的集成
与Internet较难集成
与Internet的集成平滑,代价为零
未来技术的发展趋势
不是未来技术发展的主流
是未来技术发展的主流
综上所述,C/S技术是20年前的主流开发技术,它主要局限于内部局域网的需要,因而缺乏作为应用平台的一些特性,难以扩展到互联网这样的环境上去,而且要求开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。
这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。
这使得应用程序的维护、移植和互操作变得复杂。
因而目前的网站大多数都采用B/S结构技术。
2.3Java语言及其特点
在Java出现以前。
Internet上的信息内容都是一些乏味死板的HTML文档。
这对于那些迷恋于WEB浏览的人们来说简直不可容忍。
他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。
对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。
后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++。
和其他开发工具相比较,Java具有以下优势:
平台无关性平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
安全性Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
面向对象Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
分布式Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
键壮性Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自已操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能。
这些功能特征大大提高了开发Java应用程序的周期。
Java提供:
Null指针检测、数组边界检测、异常出口、Bytecode校验。
2.4JSP技术特点
Jsp是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp(JavaServerPage)。
JSP可以在Servlet和JavaBean的支持下,完成功能强大的站点程序。
(1)将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来产生页面上的动态内容。
产生内容的逻辑被封装在标识和JavaBean群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。
如果核心逻辑被封装在标识和Beans中,而不影响内容的产生。
在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有利于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的安全可用性。
(2)强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化的开发努力中得到平衡。
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。
JavaServerPage技术封装了许多功能,这些功能都是在易用的、与JSP相关的XML标识中进行动态内容所需要的。
标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
通过开发定制标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其他工作人员可以为常用功能建立自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2EE的一个成员,JSP技术能够支持更复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的储存管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。
随着越来越多的供货商将JSP支持加入到他们的产品中,你可以使用自己所选择的服务器和工具,修改工具或者服务器并不影响目前的应用。
JSP同PHP3类似,几乎可以执行于所有平台。
如WinNT。
Linux。
在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能够支持JSP。
知名的Web服务器Apache以及能够支持JSP。
虽然现在的NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。
从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译。
因为Java字节码都是标准的与平台无关的。
与ASP、PHP相比,JSP应该是未来发展的趋势。
世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。
比较出名的IBM的E-bussiness,它的核心是采用JSP/Servlet的WebSphere。
它们都是通过CGI来=提供支持的。
但从它推出后Enfinity,一个采用JSP/Servlet的电子商务ApplicationServer,而且声言不再开发传统软件。
2.5MySQL数据库
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。
MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MySQL是MySQLAB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL具备以下特点:
1)MySQL是一个数据库管理系统
一个数据库是一个结构化的数据集合。
它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。
如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。
从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分