计算机科学与技术毕业设计企业固定资产管理系统.doc
毕业论文毕业设计课题:企业固定资产管理系统学 院:信息工程与自动化学院专 业:计算机科学与技术班 级:08级计科1班姓 名:孙永星学 号:200810405130指导教师单位:信息工程与自动化学院指 导 教 师:资滔Graduation project (thesis)Graduation Project Subject: Enterprise Assets Management SystemCollege: College of Information Engineering and AutomationSpecialty: Computer Science and TechnologyClass: 2008-01Name: Yongxing SunNumber: 200810405130Guide Teachers Unit:College of Information Engineering and AutomationTeachers name: Tao Zi目录摘要IVAbstractV前言VI1 课题背景及发展前景VI2 课题意义以及应用范围VII3 固定资产介绍VII3.1 固定资产的分类VII3.2 固定资产折旧IX第1章 需求分析11.1 系统实现目标11.2 需求描述11.3 需求分析21.3.1 系统的总体需求31.3.2 功能模块需求31.3.3 用户信息需求61.3.4 数据的完整性和准确性61.3.5 数据的安全性需求61.3.6 系统的数据需求71.3.7 其他需求71.4 可行性分析71.4.1 经济可行性81.4.2 系统技术可行性91.5 开发工具简介101.5.1 Eclipse 和MyEclipse101.5.2 PostGreSQL111.5.3 Java121.5.4 Java EE131.5.5 ExtJs16第2章 系统概要设计172.1 开发环境以及应用平台172.1.1 开发模式172.1.2 框架选择172.1.3 系统分层182.2 面向对象分析192.3 系统实体关系(E-R)图212.4 系统用况建模262.5 部分用况描述27第3章 系统详细设计293.1 数据库设计293.1.1 系统数据库的概要设计293.1.2 系统数据库详细设计303.2 系统流程图353.2.1 档案管理业务流程图353.2.2 资产管理业务流程图373.2.3 查询管理业务流程图393.2 系统包层次划分41第4章 编码及实现434.1 编码434.1.1 登录实现434.1.2 注销实现444.1.3 资产查询444.2运行结果474.2.1登录界面474.2.2 主界面484.2.3 资产查询484.2.4 统计分析49第5章 测试515.1 测试的任务及目标515.2 测试方案515.3 登录模块测试53结论55总结与体会56谢辞58参考文献60附录61附录1 外文资料原文或原文复印件61附录2 外文资料的中文翻译66摘要EAM(Enterprise Assets Management System)固定资产管理系统是依托计算机网络技术,以计算机软件平台作为支撑,以整合实物和财务为核心的一种软件系统。在保证资产的帐卡一致、信息同步、数据共享的前提下,提高固定资产的管理效率,减少固定资产的流逝,最终实现企业固定资产的规范化、科学化、信息化的工作目标。能够为企业进行数据分析、决策和评估提供全方位的先进管理平台。本文首先介绍了固定资产管理系统的产生背景,以及开发该系统的意义,系统的适用范围;然后是介绍了开发环境的选择、以及在开发中用到的相应的软件和框架的简单介绍。然后根据软件工程的顺序,详细介绍了开发该软件的过程,其中包括需求分析、概要设计、详细设计、数据库实现、编码实现、测试以及相应的运行结果。关键词:EAM,固定资产管理系统,面向对象,系统开发AbstractEAM(Fixed Asset Management System) is to rely on computer network technology, as the support of computer software platform to integrate physical and financial core of a software system. Under the premise of assets debit card, the information synchronization, data sharing, improve the efficiency of the management of fixed assets, reducing the passage of fixed assets, and ultimately to achieve the standardization of corporate fixed assets, scientific and information technology objectives. To data analysis, decision-making and evaluation of a full range of advanced management platform.This paper first introduces the background of Fixed Assets Management System, as well as the significance of the development of the system, the system's scope of application; then the choice of development environment, as well as the software framework used in the development brief. Then according to the sequence of software engineering, detail the process of developing the software, including requirements analysis, preliminary design, detailed design, database implementation, coding, implementation, testing, and the corresponding operating results.Key Words:EAM, Fixed Asset Management System, facing the target, Systematic development前言1 课题背景及发展前景随着计算机技术的飞速发展,计算机技术已经渗透到了各行各业,它早已成为各行业不可或缺的一部分。计算机软件在企业中的重要性显得越来越重要。固定资产管理在企业管理中占有重要比重,企业中的固定资产具有数量多、种类多、价值高、使用周期长等特点。固定资产管理面临大量的数据抄写、填表、资料的保存和查询等重复操作。早期的企业,由于没有固定资产管理软件系统(EAM)的支撑,在企业固定资产管理过程中,经常会出现的情况就是帐、物、卡不相符。由于资产资料众多,导致对资料的操作处理缓慢低效。有时候领导往往不是特别清楚自己有多少财产,不知道各个资产的所在位置,这就导致很难实现资产的调拨、维修、借用、报废,导致财务上无法及时销账。由于没有统一的报废处理程序,导致折旧计算很复杂,准确度不高。总之在早期的固定资产管理模式下,要实现资产的有效管理是很困难的。随着企业不断的壮大,固定资所产涉及处理的数据越来越多,传统的固定资产管理模式已经无法满足企业的管理需求,所以固定资产管理系统应运而生。固定资产管理系统实现了对固定资产的有效管理,它将复杂的管理程序自动化,实现资产的统计分析、计算,以及制作或打印各种报表,简化了在管理中的很多环节。实现了资产的快速查询、统计和调拨。实现了审批的无纸化,办公移动化。通过先进的条码技术对固定资产实物从购置、领用、转移、盘点、清理到报废等方面进行全方位监管,结合资产分类统计等报表真正实现“帐、卡、物”相符。 通过资产有效评估,提高了资产的采购质量。2 课题意义以及应用范围提高工作效率,减轻劳动强度 在手工固定资产管理过程中,资产相关的数据处理基本上是靠人工来操作完成的。因此这就很容易导致数据处理的效率低、错误多、工作量大等现象的出现。实现固定资产管理系统自动化管理以后,只要把资产实行条码编制,然后采用条码识别技术对资产进行盘点。再把相关数据按照规定的数据格式输入计算机以后,计算机软件便自动、快速、准确的完成数据的校验、处理、转移、存储、检索和输出工作。这样不仅可以把管理人员从繁琐的工作中解锁出来,而且由于计算机的数据处理速度远远高于手工操作处理的速度,这将也大大的提升了会计工作者的工作效率,使得更能及时的提供固定资产信息。全面、准确、及时的提供固定资产信息 在手工操作处理固定资产信息的情况下。固定资产的核算工作无论是在信息的系统性及时性,还是准确性方面都完全无法适应大型企业管理需要。实施固定资产管理系统后,大量固定资产信息可以得到及时准确的输出,也可以根据管理需要,按年、季度、月份提供丰富的核算信息和分析信息。随着企业网络的建立,固定资产管理系统中的资产数据可以快速的传递到企业的各个部门,使得管理者能及时掌握固定资产使用的最新情况并发现存其中在的问题,从而采取相应的改革处理措施。促进职能的转变 实施固定资产管理系统后,无疑可以使企业的管理着从繁琐的手工核算中解脱出来,提高工作效率,减轻劳动强度,使企业的管理者能有更多的时间参与资产利用情况的管理分析。这也给企业领导利用企业内部管理信息和外部信息,进行管理、分析和决策提供良好的机遇固定资产管理系统可以应用于各种企业。3 固定资产介绍3.1 固定资产的分类 固定资产可以按其经济用途、使用情况、产权归属、实物形态和使用期限进行分类核算。 1.按经济用途分为生产经营用和非生产经营用两类 生产经营用固定资产是指直接服务于生产经营全过程的固定资产,如厂房、机器设备、仓库、销售场所、运输车辆等。非生产经营用固定资产是指不直接服务于生产经营,而是为了满足职工物质文化、生活福利需要的固定资产,如职工宿舍、食堂、托儿所、幼儿园、浴室、医务室、图书馆以及科研等其他方面使用的房屋、设备等固定资产。 2.按使用情况分为使用中、未使用、不需用三类 使用中固定资产是指企业正在使用的各种固定资产,包括由于季节性和大修理等原因暂时停用以及存放在使用部门以备替换使用的机器设备。未使用固定资产是指尚未投入使用的新增固定资产和经批准停止使用的固定资产。不需用固定资产是指企业不需用、准备处理的固定资产。 3.按产权归属分为自有、接受投资和租入三类 自有资产是指企业拥有所有权的各种固定资产。租人固定资产是指企业从外部租赁来的固定资产,租人固定资产又可分为经营租赁资产以及融资租赁固定资产,经营租赁资产所有权不属于承租人,而融资租赁固定资产,在到期后,所有权归承租人,承租人可以视为自有资产进行管理,要计提折旧。 4.按实物形态分为房屋及建筑物、机器设备、电子设备、运输设备及其他设备五大类 5.按固定资产最短使用期限分为5年、10年、20年 最短使用期为5年的如电子设备和火车、轮船以外的运输工具,以及与生产经营有关的器具、工具、家具等固定资产;最短使用期限为10年的如火车、轮船、机器、机械和其他生产设备;最短使用期为20年的如房屋、建筑物等固定资产。企业在对固定资产最短使用期限分类时,不能将不同使用年限的固定资产划为一类,以免影响固定资产折旧计提的正确性。 3.2 固定资产折旧固定资产折旧指一定时期内为弥补固定资产损耗按照规定的固定资产折旧率提取的固定资产折旧,或按国民经济核算统一规定的折旧率虚拟计算的固定资产折旧。它反映了固定资产在当期生产中的转移价值。各类企业和企业化管理的事业单位的固定资产折旧是指实际计提的折旧费;不计提折旧的政府机关、非企业化管理的事业单位和居民住房的固定资产折旧是按照统一规定的折旧率和固定资产原值计算的虚拟折旧。企业计提固定资产折旧的方法有多种,基本上即可以分为两类,即直线法(包括年限平均法和工作量法)和加速折旧法(包括年数总和法和双倍余额递减法),企业应当根据固定资产所含经济利益预期实现方式选择不同的方法.企业折旧方法不同,计提折旧额相差很大. 企业应当按月计提固定资产折旧,当月增加的固定资产,当月不计提折旧,从下月起计提折旧;当月减少的固定资产,当月仍计提折旧,从下月起停止计提折旧。提足折旧后,不管能否继续使用,均不再提取折旧;提前报废的固定资产,也不再补提折旧。第1章 需求分析1.1 系统实现目标21世纪的今天,计算机已经成为我们办公学习以及休闲娱乐不可或缺的得力助手,计算机不再像几十年前是一种奢侈品,它价格低廉性能优越。计算机已经应用于各行各业,帮助人们处理解决了很多复杂计算的问题,帮助人们信息的存储和管理。该系统旨在通过计算机软件代替传统手工的固定资产管理模式。利用计算机企业局域网作为网络平台,开发固定资产管理系统,代替低效的手工资产管理模式,实现优质高效和全方位管理固定资产。并对企业固定资产的盘点、变动、调拨等各项管理程序进行优化。建立与固定资产相关的数据库。实现固定资产的实时监控,采购申请、资产查询等。固定资产管理系统主要是完成对系统资产信息管理、资产变更管理、权限管理、资产用途管理和资产类别管理。1.2 需求描述固定资产是每个企业的重要资源,它包括生产性与非生产性的资产。固定资产在企业中占很大比重,所以对固定资产的管理是企业的一项相当重要基础工作。固定资产是企业的主要劳动手段,它的数量、质量、技术结构都标志着企业的生产能力水平,也标志着整个企业生产水平。固定资产的管理及核算是企业财务管理核算的一个重要组成部分,在很多企业里实物管理和价值核算都是分开的,分别由设备部门和财务部门负责,所以企业固定资产的核算和管理,是一项非常复杂的工作。运用现代化信息技术手段加强固定资产的管理,可以大大地减轻资产核算的工作量,加快资产信息的收集速度,通过加强管理,提高和保护固定资产完整性,充分挖掘资产潜力,不断的改进固定资产利用情况,从而提高固定资产的使用经济效益,不仅有利于企业降低产品成本、增大产品产量、提高产品质量、增加产品品种,并且还可以大大节约企业基本建设投入资金,以有限的资金不断扩大企业资产规模,实现固定资产的保值增值。在固定资产的日常管理工作中,通常会涉及“采购申请”、“采购审批”、“资金分配”、“资产调拨”、“资产报废”等相关工作,按照传统的管理方式,采购申请人要找审批人审批,然后再找财务处要钱。调拨的时候也是需要从大量的资产记录中找到对应的资产表格,然后修改资产信息。在这些工作过程中都包含长时间的人员走动,和手工的信息查找,导致浪费了大量的人力资源,工作效率也是非常低的。为了有效减少人力资源的损失,并提高工作效率,急需一种自动化,网络化的方法来改善这种低效手工管理模式。1.3 需求分析需求分析是软件系统定义时期的最后一个阶段,其基本任务是解决“系统必须做什么?”这个问题。根据可行性阶段的分析,已经可以得出固定资产管理系统的开发完全可行这个结论。已经基本上知道这个系统应该具备的功能。可行性研究阶段产生的文档,特别是用例,是需求分析的出发点。用例图中基本上已经划分出系统必须完成的许多基本功能。在需求阶段结束时交出的分析文档中应该包括详细的用例,数据字典和简明的算法描述。需求分析的结果是系统开发的重要基础,关系到软件工程的成败和最终软件产品的质量。因此,必须使用一些行之有效的办法来对软件的需求分析进行严格的审查和验证。需求分析数据的需求分析数据库的设计功能模块的需求分析功能模块的设计系统调试运行系统运行与维护图1-1 需求分析过程1.3.1 系统的总体需求固定资产管理系统主要是完成对系统员工管理、资产查询管理、统计分析、运营管理、财务接口、系统扩展、系统管理、系统定义。因为系统维护可以登录系统对系统的审批流、权限、系统字典、系统参数、机构、部门、人员等进行配置。普通用户包括市公司和县级分公司可通过查询界面对资产卡片进行相应的查询。在本系统中系统维护管理员具有最高权限。本固定资产管理系统大大提高了员工的工作效率,既方便了员工,也使管理人员从繁杂的体力劳动中解脱出来,为实现固定资产管理的合理化、可靠化、效率化、提供了强有力的技术手段。1.3.2 功能模块需求根据以上分析,下面对系统各模块的功能进行描述。系统模块的描述主要是描述出系统模块的功能。主要是用文字描述。根据本系统的功能,管理员管理子系统主要设计如下模块:1.列表信息:列表信息主要是对该部门或机构下的固定资产进行查询。包括基本查询和高级查询。2.统计分析:按各种条件对资产进行统计分析,包括静态分析和动态分析。3.运营管理:对资产的配置定义,包括资产属性和资产类别。4.财务借口:对资产的盘点管理,包括数据管理和项目管理。5.系统扩展:对资产相关合同进行管理,以及供应商和品牌的管理。6.系统管理:对系统菜单、系统字典、系统参数、机构、部门和人员等进行详细配置。7.系统定义:包括对审批流,列表信息,资产补充信息进行管理配置。固定资产管理系统的功能模块流程图如图3-2所示。图1-2 固定资产管理功能模块图1-3 固定资产管理系统总模块划分图1-4 查询管理、运营管理、统计分析图1-5 财务接口、系统扩展、系统管理图1-6 系统定义1.3.3 用户信息需求本系统是为了帮助企业快速、方便、准确的管理学院的固定资产而建立,可以用来实现:登记新购买的资产、记录进行过维修的资产、记录进行了报废处理的资产以及对现有的资产进行统计和核查。1.3.4 数据的完整性和准确性为确保数据的完整性和准确性必须及时的保存数据和及时更新数据,所有需要使用固定资产管理系统的部门都需要在综合管理办公室设置专柜用于存放本部门所有固定资产的信息,然后将所有的信息全部输入计算机中,方便以后的使用、查询、管理等操作。同时应坚持每天将数据库信息备份,以防系统出现意外故障。1.3.5 数据的安全性需求为了确保数据和系统的安全性,用户需要满足一下要求。(1)用户必须通过用户名及密码才能登陆系统,对系统进行操作。行使自己的权限。(2)不同的用户有不同的系统权限,不允许用户进行超过自身权限的操作。1.3.6 系统的数据需求该系统是针对企业固定资产管理进行设计,故该系统将会具体对系统中各个模块的功能和应用流程进行分析和设计。在需求分析中将针对用户对系统功能的两种需求进行介绍;在系统功能描述中将会对系统中的各模块的应用进行介绍;在功能模块划分中将对系统的应用模块进行划分和描述。固定资产管理系统体现了系统管理员在固定资产整个使用活动过程中的关键流程。该系统可以有效地提高统计资产的效率,减少人力,节省时间,让固定资产的管理工作更加快捷和精确。用户对系统的需求功能如下:资产卡片查询:对资产的现有情况进行查询。1.3.7 其他需求(1) 界面要求要求界面美观,通用性较强。具有优秀的可移植性;可伸缩的系统架构,易于扩展;功能丰富,可以灵活裁减;广泛的应用领域等。(2) 性能要求软件系统必须要有很强的健壮性,不能因为大量用户并发使用而造成系统崩溃。系统建成后,当50位用户同时在线时,要求响应时间不超过3秒。1.4 可行性分析开发一个计算机软件的系统必然会受到时间或者资源等相关因素的限制。所以在开发软件之前,都必须根据可利用支配的时间以及资源等条件进行可行性研究分析。可行性研究工作的主要任务并不是研究如何去解决问题,而是要用研究如何花费最小的代价在最短的时间内确定该项目是否具有开发的可行性。以决定是否需要进一步开发。可行性主要包括经济可行性,系统技术可行性,运行、操作可行性,法律可行性和开发方案的选择。可行性研究应从以下几步进行:(1)复查初步分析结果。对系统初步得到的分析结果和报告书等进行再次查,改正含糊和不确切的叙述,重新确定系统的目标和规模,清晰地描述对软件系统的所有约束条件。(2)研究现有的条件。找出其基本信息和基本功能,指出其中存在缺点以及局限性。(3)导出新系统高层逻辑模型。使用某种高级图形工具导出系统的高层逻辑模型,并与现有软件系统进行比较。(4)导出新系统的高层物理解法,提出多个供选择的解决方案,并对每一个方案可行性进行比较。(5)得到推荐方案。如果系统分析员认为值得开发,则应指出开发该软件的价值、推荐方案的理由,并为推荐的方案拟出一份初步开发计划,并提交可行性分析报告等相关文档。若分析员认为不值得开发,也应拿出充分的理由。(6)评审、复审和决策。可行性分析最后需要通过技术评审和管理复审,开发方和客户方或使用部门负责人根据 成本-效益分析 等各项可行性分析的结论决定是否继续这项工程。而对于我的本次毕业设计来说可行性分析就是主要从以下两个方面考虑,一是经济可行性研究;二是自身的软件开发技术水平,即技术可行性研究。1.4.1 经济可行性固定资产管理系统为企业提供更加方便快捷的资产管理方式, 可以解决当前企业资产管理所遇到的人力以及资金消耗大,管理内容繁复,资产易丢失等问题,为企业创造更多的盈利机会。本系统的开发周期为2个月,资金耗费较少,实用价值高,各类企业及学校等部门都可以使用,所以具有经济可行性。1.4.2 系统技术可行性固定资产管理系统是一个企业不可缺少的软件,它对于企业的决策者和管理者来说都至关的重要,所以该系统至少应该能够为用户提供充足的信息以及快捷的查询手段。在对固定资产管理系统进行开发之前,必须首先运用软件工程的方法,对系统进行整体的规划和设计,否则就会导致系统的开发工作量大,不符合客户要求。更糟糕的是,还有可能会导致系统功能不完善或整个系统根本就无法运行的情况出现。因此,系统的总体规划与设计是系统设计与实现必备且首要的步骤。具体到本固定资产管理统而言,就是要根据企业的经营目标、内容、性质、规模、现有的基础配置等具体情况,对进行系统可行性分析,明确固定资产管理系统开发目标、规划系统整体的物理结构。对系统进行可行性分析是系统规划过程的关键步骤,必须是在可行性报告通过后,才可以进入实质性的系统应用分析阶段。1企业固定资产管理现状随着市场经济的飞速发展,企业固定资产的数量越来越多,品种也越来越复杂,同时固定资产具有价值成本高,使用周期长、使用地点不集中等特点,所以这导致管理难度也越来越大。前我国企业资产信息化管理的观念还比较落后,大部分企业、高校、机关的固定资产管理用人工的,这将导致管理工作量大的问题。固定资产的转移、租赁、停用、增加、减少、闲置、封存、报废和调拨等不易不便管理。2系统优点和意义作为计算机软件应用的一部分,使用计算机对固定资产进行有效管理,具有手工管理模式所无法比拟的优越性.例如:检索查询迅速、查找方便快捷、操作可靠性高、内容存储量大、资料保密性好、使用寿命长、成本低等特点。这些优点都能够极大地提高固定资产管理的管理效率,这也是科学化、正规化管理固定资产的重要条件。固定资产管理系统通过采集固定资产日常管理工作中所产生的各种原始数据,根据固定资产管理的要求,对收集到数据进行分类、统计、分析,建立程序化、制度化、规范化的固定资产管理系统。其中包括了固定资产的一般特性、状态数据和能力数据,及时准确地提供各种报表,为固定资产管理提供了一个现代化的高效管理手段,可以强化和规范对固定资产的管理。便于财务、计划、审计等管理部门的介入,形成严格的监督、约束机制。随着计算机技术的不断提高,计算机软件技术日渐成熟,管理的系统化、信息化已为人们所深刻认识,并已进入各个领域并发挥着越来越重要的作用。3结论固定资产管理系统的理念其实很简单,就是将繁琐低效的人工手动管理转变为简单高效的计算机软件信息管理,它能在简单方便的模式下为企业提高工作效益。因此从社会经济发展和企业的需求提升这两个方面来看,固定资产管理系统绝对完全可行的。1.5 开发工具简介1.5.1 Eclipse 和MyEclipseEclipse 是一个开放源代码的、基于 Java 语言的可扩展软件开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。 Eclipse不仅仅是Java集成环境, Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。MyEclipse 是Eclipse的一款插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Struts designer、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。1.5.2 PostGreSQLPostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。从技术角度来讲,PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C+,ESQL 等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方便方面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,目前,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。1.5.3 Java它最初被命名为Oak,目标设定在家用电器等小型系统的嵌入式编程语言,来解决诸如电视机、闹钟、电话、烤面包机等家用电器的控制和通讯问题。由于这些智能化家用电器的市场需求并没有预期的高,Sun公司放弃了该项计划。就在Oak几乎宣告失败之时,由于互联网的迅速发展,Sun看到了Oak语言在计算机网络上的广阔前景,于是改造了Oak语言,并以“Java”的名称正式发布。 Java 编程语言的风格十分接近C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心特点,Java舍弃了C +语言中容易引起错误的指针并以引用取代、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能,用于回收不再被引用的对象所占据的多余浪费的内存空间,使得程序员不用再为内存管理而担忧,实现了垃圾的自动收集处理。在 发布Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节(bytecode),然后依赖各种不同操作系统平台上的Java虚拟机来解析执行,从而实现了“一次编译、到处执行”的平台特性。不过,每次的Java编译执行需要消耗一定的时间,这也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。与传统程序语言不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号,并获得了广大软件开发商的认同认可。这与微软公司所倡导的注重精英和封闭式的模式截然不同。 Sun 公司对 Java 语言的解释是:Java语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 1.5.4 Java EEJava EE(Java Platform,Enterprise Edition)是sun由公司推出的企业级应用程序版本。以前被称为 J2EE。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。Java,是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。所包含的技术包括:JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。 JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。JMF(Java Media Framework API), 她可以帮助开发者把音频、视频和其他一