面向对象数据库的应用范围和优缺点

面向对象数据库的应用范围和优缺点
面向对象数据库的应用范围和优缺点

面向对象数据库面向谁? 它的市场在哪里?

陶伟编译

当今冠以面向对象的东西很多,什么面向对象分析,面向对象设计,面向对象语言,面向对象操作系统,面向对象软件工程,等等,诸如此类,不胜枚举。似乎凡是和面对象挂上了边,就要好卖得多。其实面向对象也不是包治百病的灵丹妙药,数据库加上了面向对象同样不可能解决所有的问题,它不是大街上的冰棍,人人都可以买,它有自己独特的应用领域和特有的用户群。向不懂C++或Smalltalk的人兜售面向对象数据库,无异于对牛弹琴。

面向对象数据库的用户主要是从事系统软件和高级应用软件开发的程序员和系统设计人员,它不是大众数据库,在这方面它有别于关系数据库面。面向对象数据库好比是医生用的手术刀,干的是"细活儿",和家庭主妇用的菜刀(关系数据库)不一样,那是用来干"粗活儿"的。面向对象数据库是什么? 面向对象数据库=数据库系统+面向对象系统面向对象数据库必须满足两条准则:首先,它是一个数据库管理系统,其次它是一个面向对象系统。第一条准则可以翻译成六条特征:持久性、缓冲管理、数据共享、数据可靠性(事务管理和恢复)、即席查询以及模式修改。第二条准则可以翻译成:封装性、继承性、多态、对象标识、计算完整性、复杂对象和可扩展性。除了基本定义之外,为了满足所谓的非常规应用领域,还要引入一些扩展的特征:如版本管理、长事务、协同工作、触发和约束等。其中最重要的是封装性、继承性、多态,它们充分体现了面向对象的特征。面向对象数据库的应用领域面向对象数据库的应用面比较窄,主要集中于系统级的软件开发,以及数据密集的、复杂的应用软件开发,包括: ▲计算机辅助设计CAD ▲计算机辅助制造CAM ▲计算机集成制造系统CIMS ▲计算机辅助软件工程CASE ▲超大规模集成电路设计VLSI Design ▲地理信息系统GIS ▲决策支持系统DSS 这些应用领域和传统的商业应用领域有着显著不同,它们表现为复杂的数据类型,而不是简单的二维表,复杂的数据结构上定义着复杂的操作语义,需要不同层次的数据抽象能力,这些均是传统数据库系统所无法满足的。面向对象数据库与文件系统和关系数据库的区别文件系统存贮的数据格式因程序员的设计的不同而不同,一般不能保证数据的一致性和完整性,也很难多个用户共享。关系数据库存贮的是二维表,能保证数据的一致性与完整性,但只能用关系数据模型去描述世界。面向对象数据库则用面向对象数据模型去映射客观世界,存贮的不仅是数据,而且存贮了定义在数据上的操作语义,以及对象之间的复杂引用和约束关系。相对于文件系统和关系数据库而言,面向对象数据库的特点可以做以下的形象描述:面向对象数据库提供了一种存贮对象的更好方法,因为它提供了传统数据库的全部服务,然而却无存储和检索对象时对象的拆卸与装配的开销,比较关系数据库和面向对象数据库存储复杂对象,后者好似直接把汽车开进车库存放,而前者则是把汽车拆成零部件来保存。如何应用面向对象数据库面向对象数据已进入了商业应用领域,但没有取代现有的数据库系统,通常是在处理非常复杂的数据,或者数据很难被分解为关系数据库二维表的情况时,才采用面向对象数据库。一般认为图像数据的处理,使用面向对象数据库非常合适,其实还有许多数据类型可以用面向对象数据库来存储。就目前使用情况看,计算机辅助设计CAD是面向对象数据库最大的应用领域,现在电信、金融服务、医疗保健、制造过程控制等诸多领域,也开始推广使用。主要的面向对象数据库厂商主要的面向对象数据库厂商有以下几家。·Object Design,Inc. ·Gemstone System,Inc. ·O2 Technology,Inc. ·Objectivity,Inc. ·Versant Object Technology

Corp. ·Ontos,Inc. 此外关系数据库厂商,例如:Informix和Oracle也发布了自己具有面向对象数据库功能的关系数据库产品。这些产品多以支持大二进制块对象Blobs(binary large objects)为特征。当然Blobs在性能上无法和"纯的"面向对象数据库匹敌。同时,还有一组混合型的关系/面向对象数据库进入市场 ,它们填补了关系数据库和面向对象数据库之间的空白。虽然市场上出现了许多面向对象数据库产品,但到现在为止,面向对象数据库仍缺乏支持商业应用的基本特征。例如:数据库加锁,防止两个用户同时修改同一数据;回滚,当一个事务被意外中断时,把数据库恢复到原始的一致状态。此外,说服企业的信息系统负责人采用面向对象数据库,也不是一件轻而易举的事,许多公司都不愿意公开宣扬自己在使用面向对象数据库技术,因为害怕用户不赞同,而损害本公司的竞争力。下面我们介绍一些用户公司在采用面向对象数据库时面临的问题、遇到的挑战和解决的方法。金融服务业问题金融企业在进行投资决策时,往往时间紧迫,同时又要考虑投资的风险和回报等诸多方面,这些因素涉及复杂的、大量的数据信息,很难用传统的关系数据库来建模。传统的关系数据库查询慢,描述能力差,基于关系数据库的决策支持系统往往不能满足用户的需要。美国Chemical Back Corp.在1988年就开始采用面向对象的程序设计。但是由于缺乏有效的面向对象数据库支持,搞得焦头烂额。其副总经理Dante Dewitt在回忆时这么评论,"当时我们知道采用面向对象数据库会带来许多便利,但是当时市场上还没有用起来顺手的家伙"。解决方案去年,Chemical Bank Corp.采用了Object Design的Objectstore,因为Objectstore是市场上最领先的面向对象数据库系统。"现在我们认为面向对象数据带来的好处远远超过它带来的问题。"Dante Dewitt认为。好处面向对象数据库用一种统一的方式去处理复杂的关系。在决策的过程中需要考虑各种复杂的关系,需要不同的视图。而面向对象数据库可以提供多种视图去访问数据,却不用编制复杂的查询语句。面向对象数据库还提供了一种数据模式演进的方便途径,保证当数据库模式改变时,程序仍能正常运行。而关系数据库修改了数据库的模式后,会造成向后兼容的问题。上述技术问题,一旦采用了面向对象数据库,就风消云散。面向对象数据库把数据与操作封装起来,提供了类层次结构,建立了不同层次的数据抽象,使用户可以采用统一的模式去处理数据对象。电信问题 "在电信企业决策时,往往要涉及许多工程因素。任何因素都有可能影响最终的选择。"San Cinquegrani这样认为,他是Objectware Corp.的总裁。该公司是位于Chi-cago的一家系统集成商,正在用面向对象数据库为Ameritech Advanced Data Services公司开发应用软件,这些决策软件的决策模型涉及一系列的复杂关系。例如,供应系统的组织和应用户的服务请求选购电信设备,都需要在商业上和技术上做复杂的权衡与比较后,才能做出决择。解决方案开始,供应系统采用的是关系数据库,由于关系系统的局限性,许多决策因素的处理无法在系统中实现。而在面向对象数据库中,决策的因素和方法可以嵌入到对象和关系中去。供应系统可以在较高层次对开关、线路、设备以及设备性能进行处理,以组合起来帮助用户决策。好处过去一个服务请求,往往要经过数天之后,才能得到回答,而今天由于采用了面向对象数据库,一般只需要几个小时。数据库通过使用继承可以非常容易地获得所有和决策相关的数据。Ameritech通过大量的测试后,选择了Versant,抛弃了Gemstone和Objectstore,之所以不采用Objectstore是因为它没有Smalltalk的接口。医疗保健问题 "我们的病人信息来源很杂,我们需要把这些信息合理地存放,以便使用时随手可取"一家医疗保健公司的信息系统负责人介绍。病人的信息类型包括:声音、视频、数字图象和传统数据等。这些均是关系数据库很难处理的。解决方案如果采用关系数据库存贮这些信息,也未尝不可,但是用户更希望把一些方法放入数据库,以便基于这些信息而采取正确的行动。该公司为医疗保健建立了一个面向对象模型,使每个数据对象都有一组相关的方法,

大大方便了病人信息的管理。最后,他们采用了Gemstone。好处虽然整个系统尚未开发完成,但公司希望借此来提高医疗保健的速度和质量,因为医生和护士能更快、更准确地获得病人的资料,而无需为收集资料四处奔波。混合型面向对象数据库面向对象数据库和关系数据库采用不同的数据模型,两者同时使用有很大的断层。关系数据库是大多数管理信息系统采用的底层支持系统,面向对象数据库要赢得更大的市场份额,和现有信息技术的系统集成是致关重要的方面。混合型面向对象数据库的提出就是为弥补关系数据库和面向对象数据库之间的断层。混合的方法有多种,包括中间件和关系数据库的面向对象前端。主要的混合型面向对象数据库厂商是: ·Persistence Software, Inc. ·UniSQL Software,Inc. ·Illustra, Inc. ·Hewlett Packard Co. 美国Shell Exploration and Production Technology Co.Co.采用的就是混合型面向对象数据库Persistence。Shell公司Persistence使它的用C++编制的应用程序可以访问以前存在关系数据库里的数据。Persistence是一种中间件而不是一个数据库,它保护了Shell公司在关系数据库Oracle上的投资。在采用Persistence之前,Shell 公司的关系数据库和面向对象数据库是分开维护的,而现在面向对象数据的应用程序和关系数据库系统共存于一体。 RWD Technologies,Inc.是另一个采用混合型面向对象数据库的公司,它们采用了Illustra,它是一个通过扩展SQL而具备对象功能的关系数据库。使用Illustra可以允许用户用SQL来访问空间数据和图象。RWD公司开发的应用程程序是为一家邮件速递公司服务的。这个应用程序包括地理信息系统和传送路径的数据,通过SQL找出最短的传送路径。Illustra为SQL扩充处理特殊数据和函数的能力。Illustra可以和Sybase一块儿使用。使用面向对象数据库最头痛的问题管理面向对象数据库应用程序开发的项目经理一致认为"建立本领域的专业知识"和"确认面向对象数据库所能带来的好处"是最难的两件事。调查了66个项目经理,可以有多个回答。 @@I1;表1@@ 真正用的有几家? 66个信息系统经理主管的面向对象数据库项目中,有一半投入使用。 @@I2;表2@@ 面向对象数据库厂商面临的主要障碍与挑战由于面向对象数据库是一种系统级的开发工具,曲高和寡,在整个数据库市场中只占很小的份额。许多开发者承认采用面向对象数据库也有它本身的问题,这就是把对象映射到关系数据库的处理往往非常耗费时间与精力,并会导致性能上的严重问题。虽然面向对象数据库系统为面向对象应用程序提供了最佳的性能和映射服务,但是仍缺乏对标准的报表和查询的支持。现在一般的做法是通过第三方厂家提供的转换程序,许多严肃的面向对象开发者已认识到面向对象数据和关系数据之间的转换是何等的困难,希望厂家能够提供相应的处理程序。今天,面向对象数据库厂商面临着三大挑战:消除采用面向对象数据库所带来的风险,和已装机的关系数据库应用程序和开发商竞争,支持标准的数据访问和报表功能,为迎接这些挑战,各面向对象数据库厂商采取了不同的策略: ● Gemstone System,Inc.仍集中于Smalltalk市场,它拥有一批用户,证明了在大型的、关键的应用系统用Gem-stone是成功的。它的主要目标是这样的一些Smalltalk用户,它们已经认识到把面向对象应用系统映射到关系数据库的缺陷。为了和其它面向对象数据库以示区别,Gemstone称自己的产品为"应用程序服务器",允许应用程序在面向对象的环境去访问关系数据库中的数据。● ObjectStore,Inc.在整个面向对象数据库市场份额中占33%,是排名第一的面向对象数据库厂商,但它的形势也不容乐观。该公司最近为了保证利润解雇了一批人,这件事给面向对象数据库界以很大的震动,这至少说明了面向对象数据库市场存在着很大的问题。最近该公司也发布一些新产品,如SQL Client和RDBMS gateway。其它的一些独立开发商的参与也巩固了ObjectStore的地位。● Objectivity,Inc.主要目标是C++市场,并联合大批的增值销售商和独立的软件开发商。在许多方面,Objectivity似乎太钟爱自己的技术,而忽略了市场的需

求。它提供了Smalltalk,C++和Objectivity SQL三种选择。在Smalltalk、C++市场上,它并不突出,但是这个市场在信息系统方面增长很快。● Ontos,Inc.,传统上注重面向对象数据引擎,现在则强调对象集成服务(Object Integration Service)。它为C++应用程序提供映射工具,把对象无缝地存入标准的关系数据库中。Ontos希望抢占由UniSQL Software,Inc., Persistence Software,Inc.占领的一部分市场,同时在VMark Software,Inc.,Hewlett Packard Co.以及Rogue Ware所属市场争一席之地。从长远的观点来看,用户会逐步认识到在维护一个映射环境时,他们必须要做出某种妥协,会有一部用户会采用面向对象数据库引擎。

● Versant Object Technology Corp.采取两面战略,一方面向电信领域和网络管理用户提供一个高性能的面向对象数据库引擎,另一方面为大型机应用系统的软件开发提供基于Smalltalk的工具。这一双元策略有助于增加Versant的装机量,但也要求更多的技术支持和消耗更多的开发资源。● 关系数据库厂商如Oracle、Sybase和Informix则承诺在未来的产品中提供对象的持久性存贮机制。当然,它们提供的是一种混合型环境,许多关系数据库用户正在等待着这些产品的推出,而不去购买现有的纯的面向对象数据库,以期在他们现有关系库上去支持面向对象应用程序。关系数据库的解决方案尚需实践来验证,而面向对象数据库的高性能和强大的对象模型已得到了开发者的承认。风险最大的是映射工具开发厂商,它们受到了"纯"和"混合型"面向对象数据库的两面夹击。面向对象数据库用可靠性和速度来赢得用户面向对象数据库系统不如关系数据库应用得广泛,并不是因为它们没有满足用户的需求。许多使用面向对象数据库的公司认为面向对象数据库非常可靠,性能上也非常优异,和已有的关系数据库能较好地共容。当然从另一面看,面向对象数据库仍然要克服易用性方面的障碍。美国Computerworld在1995年10月雇用了Texas Anstin的First Market Research Corp.对面向对象数据库市场做了一次调查,这一次调查与以往不同之处在于,它是调查用户对面向对象数据库的整体满意程度,而不单个产品。一共调查了66个经理,他们正在使用10个不同的品牌的面向对象数据库产品,或正在考虑使用。最引起用户注目的三个产品是Hewlett Packard Co.的OpenODB, Object Design,Inc.的ObjectStroe和Versant Object Technology Corp.的Versant。当问及对面向对象数据库的满意程度时,大多数被调查者认为是"好"或"非常好"。甚至有些用户认为HP的OpenODB性能已超过他们的期望值。他们同时表示,面向对象数据库也表现出一些问题,主要是学习周期长,"当然会用之后,我们会发现它存储复杂数据对象能力是关系数据库远远不及的"。易于使用调查中发现,面向对象数据库并不那么易用,即使是开发程序的老手也不例外。许多人反应面向对象数据库在易用方面"一般"。San Francisco 的United Airlines的高级商业分析家Mike Rodger这样评论"在我们的开发人员生产效率提高之前确实需要相当长的一段时间。"一旦开发人员熟悉系统后,面向对象编程会大大缩短开发时间,特别是在开发人员开始重用对象时。速度速度是面向对象数据库厂商整天不厌其烦地宣传的方面。但用户们却并不认为这是一个问题。30个用户在速度方面的评语是"好"或"很好",速度成为用户的最为满意的一个方面。一旦面向对象数据库的继承机制开始工作,其它任何数据库在速度上不能与之匹敌。关系数据库依赖于关联访问,由于查询许多表,必然降低了速度,而面向对象数据库采用和层次数据库类似的导航式查询,消除了表的访问过程。至于可扩展性方面,情况则不太妙。当用户增加时,面向对象数据库的性能满意程度陡然下降,从扩展到30用户、30~99用户、100用户以上三个方面来看,满意的用户从45%降低到11%。兼容性从调查结果来看,用户对面向对象数据库和系统软件的兼容性并不担心。14个用户评价为"很好",这是所有调查项目中最高的。评价为"好"的用户认为面向对象数据库和现有系统软件不冲突。即使是评价为"一般"的用户也没有抱怨有什么问题。虽然兼容性方面得分很高,

但和关系数据库的兼容性尚不清楚,用户和关系数据库的接口大部分依赖于面向对象数据库提供。例如:UniSQL,Inc.的UniSQL/X是一个混合型数据库,允许用户访问多个品牌的数据库的数据。对于有些用户,集成是一件琐碎的事。"我们设计和实现了一个非常特别的程序后,我们关系数库才能运行起来"一个OpenODB的用户反映。HP把Open ODB设计成一个独立产品,没有和它的姐妹产品Odapter"捆"到一块儿。Odaptor可以帮助开发人员开发带有关系视图的的面向对象应用程序。可靠性许多用户认为可靠性是他们最关心的问题,不过厂商已满足了他们的要求。"我们已经习惯了高可靠性,我们没有准备要接受一丁点儿的差距"。Rachel Lohr 认为,他是Wisconsin大学的一个信息处理方面的咨询专家。 "Gemstone的可靠性和数据完整性非常好,至今我们尚未发现一个错误",他接着评价。Lohr的观点代表了大多数用户。25个用户评价为"好"或"很好"。数据完整性的满意得分更高,有32个用户表示满意,其中16人认为"非常好"。唯一的一个批评来自Poole,此君在多个Server上运行分布式数据库,惹了不少麻烦。Poole说,在分布式环境中出了许多严重问题,但他搞不清楚为什么。"我确信问题一半是我们造成的,另一半则是别人的,但我不知如何划分"他说。 @@I3;表3@@

java面向对象知识点总结

j a v a面向对象知识点总 结 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1 类和对象 类: 类是用来描述一类事物的共性内容的, 类是抽象的; 创建类,如何描述 属性功能 用变量来描述属性 用方法来描述功能 对象: 就是现实中具体的事物,对象是具体的; 创建对象 类名对象名 = new 类名(); 如何通过对象访问类中属性和方法呢 对象名.变量名 对象名.方法名(); 只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间匿名对象 创建的对象没有赋值给具体的变量; 所以给匿名对象的属性赋值是没有任何意义的; 匿名对象使用场景

1 调用方法 2 作为参数传递 3 添加进容器中 This 关键字 This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象, 普通方法, 创建对象调方法, 谁调用就代表谁 This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项: 1 this() 只能是构造函数的第一条执行语句 2 this() 不能在构造函数之间相互调用 3 this() 不能调用自己 构造函数(方法) 构造函数的作用 用来给对象进行初始话的(初始化就是指给对象的各个属性赋值) 构造函数何时执行 对象一创建就会调用与之相对应的构造函数

构造函数语法 修饰符没有返回值类型类名(参数列表){ 具体执行的代码 } 构造函数自动添加 当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造, 如果我们指定了,就不添加了 构造函数和普通函数的区别 执行时机不同 对象一创建就会调用与之相对应的构造函数 普通函数只有被调用才会执行 return 1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致) 2 即便方法的返回值类型是void,方法中也可以出现 return; 3 构造函数中也可以有return关键字 成员变量和局部变量 1 作用范围不同, 成员变量是定义在类中的,在整个类中都起作用 局部变量是定义在方法中的,在所在代码块起作用

各种发电方式的优缺点对比

火力发电: 火电厂是利用煤、石油、天然气作为燃料生产电能的工厂,它的基本生产过程是:燃料在锅炉中燃烧加热水使成蒸汽,将燃料的化学能转变成热能,蒸汽压力推动汽轮机旋转,热能转换成机械能,然后汽轮机带动发电机旋转,将机械能转变成电能 火电的缺点 火电需要燃烧煤、石油等化石燃料。一方面化石燃料蕴藏量有限、越烧越少,正面临着枯竭的危险。据估计,全世界石油资源再有30年便将枯竭。另一方面燃烧燃料将排出二氧化碳和硫的氧化物,因此会导致温室效应和酸雨,恶化地球环境。 水力发电: 以水具有的重力势能转变成动能的水冲水轮机,水轮机即开始转动,若我们将发电机连接到水轮机,则发电机即可开始发电。如果我们将水位提高来冲水轮机,可发现水轮机转速增加。因此可知水位差愈大则水轮机所得动能愈大,可转换之电能愈高。这就是水力发电的基本原理。 能量转化过程是:上游水的重力势能转化为水流的动能,水流通过水轮机时将动能传递给汽轮机,水轮机带动发电机转动将动能转化为电能。因此是机械能转化为电能的过程。 由于水电站自然条件的不同,水轮发电机组的容量和转速的变化范围很大。通常小型水轮发电机和冲击式水轮机驱动的高速水轮发电机多采用卧式结构,而大、中型代速发电机多采用立式结构。由于水电站多数处在远离城市的地方,通常需要经过较长输电线路向负载供电,因此,电力系统对水轮发电机的运行稳定性提出了较高的要求:电机参数需要仔细选择;对转子的转动惯量要求较大。所以,水轮发电机的外型与汽轮发电机不同,它的转子直径大而长度短。水轮发电机组起动、并网所需时间较短,运行调度灵活,它除了一般发电以外,特别适宜于作为调峰机组和事故备用机组。 水电的缺点 水电要淹没大量土地,有可能导致生态环境破坏,而且大型水库一旦塌崩,后果将不堪设想。另外,一个国家的水力资源也是有限的,而且还要受季节的影响。 太阳能发电 利用太阳能发电的方法有三种: 其一为利用光电池,直接将日光转换为电流。(也称光伏发电) 基本原理就是“光伏效应” 光子照射到金属上时,它的能量可以被金属中某个电子全部吸收,电子吸收的能量足够大,能克服金属内部引力做功,离开金属表面逃逸出来,成为光电子。 “光生伏特效应”,简称“光伏效应”。指光照使不均匀半导体或半导体与金属结合的不同部位之间产生电位差的现象。它首先是由光子(光波)转化为电子、光能量转化为电能量的过程;其次,是形成电压过程。有了电压,就像筑高了大坝,如果两者之间连通,就会形成电流的回路。 光伏发电,其基本原理就是“光伏效应”。太阳能专家的任务就是要完成制造电压的工作。因为要制造电压,所以完成光电转化的太阳能电池是阳光发电的关键。 太阳能电池,通常称为光伏电池。目前的主要的太阳能电池是硅太阳能电池。用的硅是“提纯硅”,其纯度为“11个9”,比半导体或者说芯片硅片“只少两个9”;

uml学习心得体会

uml学习心得体会 篇一:UmL学习心得耿庆博 UmL学习心得 (一)UmL(UnifiedmodelingLanguage,统一建模语言)是一组用于描述ooad过程的图形化表达方式。 UmL为交流面向对象的设计中的需求,行为、体系结构的实现提供了一套综合的表示法。 (二)UmL由9个不同类型的图组成: 用例图:显示了系统的外部可视行为。 用例图描述了系统外的人员和系统的交互动作,以及系统的响应,该类型的图可以用于描述系统的功能需求。 活动图:显示系统行为的峡谷纳西描述。 活动图描述了单个功能需求内部的细节行为,包括基本的场景和一些可选的场景。 组件图:显示了系统的体系结构。 组件图描述了系统的可部署单元(可执行文件,组件,数据存储和其他一些内容)以及一些借口,可部署单元通过这些接口进行交互,该图可以用于研究系统的体系结构。 顺序图:显示了对象随着时间的交互。 顺序图描述了某个功能需求的路径或场景内相对时间的详细行为,该

图可用于理解系统元素之间的消息流程。 协作图:显示了对象的交互,强调对象之间的关系。(在UmL2.0里面找不到了) 类图:显示了类的定义和关系。 类图描述了系统设计中的类和接口,以及他们之间的关系。该图可用于定义内部的,面向对象的代码结构。 状态图:显示了响应时间的状态改变。 状态图描述了系统如何改变状态以相应内部的和外部的事件,确保每个事件都被适当的处理。 部署图:显示了系统的物理体系结构。 部署图描述了系统的可部署单元(应用,组件,数据存储等)如何被赋予不同的节点,这些节点如何交互通信,用于系统映射和负载的研究。 包图:显示了设计的层次结构。 包图描述了设计的相关元素如何按组结合在一起,以及他们之间的关系。 (三)各种图的作用 1.用例图(Usecasediagram) 它是UmL中最简单也是最复杂的一种图。说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。用例图表示了角色和用例以及它们之间的关

三大主流数据库对比 哪个更有优势

三大主流数据库对比哪个更有优势 Oracle Oracle 能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持,Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展Windows NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要,用户可以把数据库移到UNIX中。Oracle 的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。Oracle获得最高认证级别的ISO标准认证.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录Oracle多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。 Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。提供了多种开发工具,能极大的方便用户进行进一步的开发。Oracle良好的兼容性、可移植性、可连接性和高生产率是Oracle RDBMS具有良好的开放性。 Oracle价格是比较昂贵的。据说一套正版的Oracle软件早在2006年年底的时候在市场上的价格已经达到了6位数。所以如果你的项目不是那种超级大的项目,还是放弃Oracle 吧。 SQL Server SQL Server 是Microsoft推出一套产品,它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,逐渐成为Windows平台下进行数据库应用开发较为理想的选择之一。SQLServer是目前流行的数据库之一,它已广泛应用于金融、保险、电力、行政管理等与

面向对象的数据库技术

面向对象的数据库技术 肖阳辉 摘要:面向对象的数据库极有可能是数据库发展的方向,关系型数据库已显得力不从心,面向对象技术已经渗透到了数据库领域,把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库的技术机理并不高深,但它的设计思想却极有价值。论文关键词:关,键,词,数据库,面向对象,技术 随着应用的日趋复杂和智能化,传统的关系数据库的缺点一点点的暴露出来,人们迫切希望产生一种新的数据库解决方案来适应这些复杂需求。一种新的解决方案呼之欲出。而这个解决方案极有可能就是面向对象数据库技术。面向对象数据库的技术机理并不高深,但它的设计思想却极有价值。在传统的面向对象应用开发中,由于传统的关系数据库开发风格完全不同于面向对象风格,使得许多程序员难以从复杂的SQL编程中解脱出来(尽管已经有一些成熟的ORM技术框架,如Hibernate,但程序员仍需要做大量的数据库代码工作),从而也无法从实质上提高工作效率。 1、面向对象数据库技术概述 面向对象是当前计算机界关心的重点,面向对象是一种新的方法学,也是一种认知方法学。它是一种支持模块化设计和软件重用的实际可行的编程方法,它把程序间的逻辑活动建立在对象间的消息传递之上,且设计上更加符合现实世界,更加自然,所以面向对象方法得到了更广泛的应用。 面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。在数据库中提供面向对象的技术是为了满足特定应用的需要。随着许多基本设计应用(如MACD和ECAD)中的数据库向面向对象数据库的过渡,面向对象思想也逐渐延伸到其它涉及复杂数据的应用中,其中包括辅助软件工程(CASE)、计算机辅助印刷(CAP)和材料需求计划(MRP)。这些应用如同设计应用一样在程序设计方面和数据类型方面都是数据密集型的,它们需要识别于类型关系的存储技术,并能对相近数据备份进行调整。 还有许多应用要求多媒体数据库。它们要求以集成方式和文本或图形信息一起处理关系数据,这些应用包括高级办公室系统的其它文档管理系统。 面向对象数据库从面向程序设计语言的扩充着手使之成为基于面向对象程序设计语言的面向对象数据库。例如:ONTOS、ORION等,它们均是C++的扩充,熟悉C++的人均能很方便地掌握并使用这类系统。 面向对象数据库研究的另一个进展是在现有关系数据库中加入许多纯面向对象数据库的功能。在商业应用中对关系模型的面向对象扩展着重于性能优化,处理各种环境的对象的物理表示的优化和增加SQL模型以赋予面向对象特征。如UNISQL、O2等,它们均具有关系数据库的基本功能,采用类似于SQL的语言,用户很容易掌握。 2.面向对象数据库的优点 面向对象数据库是数据库技术与面向对象程序设计方法相结合的产物,由于同是面向对象方法学,所以其具有了所有面向对象的优点。同时,由于数据库主要操作的是集合(而不是单个数据),所以其又具有自身的特点和优点。 (1)提高数据库开发效率

完成Java面向对象程序设计实验课的心得体会范文

Java面向对象程序设计实验课的心得体会经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中,我从认识到熟悉,而后到能够自主运用。通过对Java的了解,我发现它确实有很多方便之处,它集抽象性、封装性、继承性和多态性于一体,实现了代码重用和代码扩充,提高了软件开发的效率。对于我们这个专业来说学好Java语言是很重要的,所以在实验的过程中我都尽力理解java编程思想、掌握基本技巧,尽量学到最多的知识。 学习程序设计的基本目的就是培养描述实际问题的程序化解决方案的关键技能,Java面向对象程序设计是一门实践性比较强的课程,在实际中,我们必须把理论和实践结合起来。在实验中,我们理解理论课上的知识,然后运用到实际的操作中,我们必须在现有的理论的基础上,进行实践。多次实验后,也让我看到了现在学习的一个很大弱点:只听不练,永远不会熟练运用;空记技巧,忽略思想,会在多变的习题中十分无奈。 Java思想:Java是一门面向对向语言,他定义一切都是对象面向对象,就是面对现实; 现实中的一切都是对象,他们有分类,就产生了“类”; 他们有不同,类和类之间的不同,使用类来区分; 同一个类中不同的对象的区别,使用成员区分。

所以,面向对象的内部逻辑是分类。 面向对象编程思想就象数学上的一些概念,如:空间、群、环、域等 原始的编程思想就象古典数学,人们只在一个集合上探讨问题,没有系统的方法(即运算)定义,于是仁者见仁、智者见智,这样在一定程度上造成了理论的一种混乱局面,不利于科学的发展。于是近代数学向公理化发展,这是什么意思呢?就是说,人们除了在限定论域(即上面的集合,面向对象也有此概念)外,还在此论域上加进了一套通用的、公认的运算(方法);集合加上集合上定义的运算就构成了数学上的空间、群等,在计算机领域里,就变成为“类”。这种集合上定义了操作的东西利用起来就方便多了,这使得人们讨论问题时都在给定集合的运算能力上下工夫,即有通用性可事半功倍。 面向对象的编程思想就要想近世代数的分析思想,首先要确定“论域”,即工程所涉及到的所有的“对象”,然后要分类处理,把隶属同一类别的对象集合在一起(做成一个集合),定义他们之间的运算性质及可以进行的操作,这样就构建了一个类,当然以后用到这个类的对象时都要通过已经定义了的操作来完成各项功能,这就是常要求的类的“类的成员变量要通过共有函数来操作”。 我想真正的面向对象编程思想不应该是编程思想,应该是面向对象的分析方法才对! 我的理解: 1、将分析过程为抽象的过程:简言之:分成多个小问题(组成部分),

试述数据库系统的特点

1、试述数据库系统的特点。 (1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 (2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统, (3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。 (4)数据由DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。 2、数据库管理系统的主要功能有哪些? 答: ( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理; ( 4 )数据库的建立和维护功能。 3、试述数据模型的概念、数据模型的作用和数据模型的三个要素。 数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。 因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 4、试述概念模型的作用。

概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 5、试述数据库系统三级模式结构 数据库系统的三级模式结构由外模式、模式和内模式组成。 特点:(1)数据结构化。(2)数据的共享性高,冗余度低,容易扩展。(3)数据独立性高。(4)数据有DBMS统一管理。 6、试述数据库系统的组成。 数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 7、DBA 的职责是什么? 负责全面地管理和控制数据库系统。具体职责包括:①决定数据库的信息内容和结构;②决定数据库的存储结构和存取策略;③定义数据的安全性要求和完整性约束条件;④监督和控制数据库的使用和运行;⑤改进和重组数据库系统。 8、试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成 9、试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类: (1)关系代数语言。

面向对象数据模型

第三节面向对象数据模型 1、传统数据模型存在的主要问题 已于前述,目前非空间数据最主要的数据模型是层次模型、网状模型和关系模型。这里,我们分别介绍它们用于GIS地理数据库的局限性 (1)层次模型用于GIS地理数据库的局限性 层次模型反映了地理世界中实体之间的层次关系,在描述地理世界中自然的层次结构关系时简单、直观,易于理解,并在一定程度上支持数据的重构。它用于GIS地理数据库存在的主要问题是: 1)、很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余; 2)、对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询; 3)、数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除; 4)、层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径; 5)、基本不具备演绎功能和操作代数基础。 (2)网状模型用于GIS地理数据库的局限性 网状模型是层次模型的一般形式,反映了地理世界中常见的多对多关系,在一定程度上支持数据的重构,具有一定的数据独立和数据共享特性,且运行效率较高。用于GIS地理数据库的主要问题如下: 1)、由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置; 2)、网状数据操作命令具有过程式性质,存在与层次模型相同的问题; 3)、不直接支持对于层次结构的表达; 4)、基本不具备演绎功能和操作代数基础。 (3)关系模型用于GIS地理数据库的局限性

关系模型表示各种地理实体及其间的关系,方式简单、灵活,支持数据重构;具有严格的数学基础,并与一阶逻辑理论密切相关,具有一定的演绎功能;关系操作和关系演算具有非过程式特点。尽管如此,关系模型用于GIS地理数据库也还存在一些不足。主要问题是: 1)、无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱; 2)、用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理; 3)、由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高。 不难看出,关系模型的根本问题是不能有效地管理复杂地理对象。 2、面向对象的概念 面向对象的基本概念是在本世纪70年代萌发出来的,它的基本做法是把系统工程中的某个模块和构件视为问题空间的一个或一类对象。到了80年代,面向对象的方法得到很快发展,在系统工程、计算机、人工智能等领域获得了广泛应用。但是,在更高级的层次上和更广泛的领域内对面向对象的方法进行研究还是90年代的事。 (1)基本思想和基本概念 面向对象的基本思想是通过对问题领域进行自然的分割,用更接近人类通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出的软件能尽可能地直接表现出问题的求解过程。因此,面向对象的方法就是以接近人类通常思维方式的思想,将客观世界的一切实体模型化为对象。每一种对象都有各自的内部状态和运动规律,不同对象之间的相互联系和相互作用就构成了各种不同的系统。 在面向对象的方法中,对象、类、方法和消息是基本的概念。 对象——含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。对于一个对象,应具有如下特征: ·具有一个唯一的标识,以表明其存在的独立性; ·具有一组描述特征的属性,以表明其在某一时刻的状态; ·具有一组表示行为的操作方法,用以改变对象的状态。

常见数据库及其特点

常见数据库及其特点 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。 (免费,体积小,速度快,成本低,开源,适用于中小型网站) MySQL是最受欢迎的开源SQL数据库管理系统,它是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用。MySQL具有以下优势: (1)MySQL是一个关系数据库管理系统。(2)MySQL是开源的。 (3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。 (4)MySQL服务器工作在客户/服务器或嵌入系统中。 Server(流行于Web) SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。(功能齐全,大型,专业,企业级,其开发工具全部用JAVA来写的) 目前,Oracle产品覆盖了大、中、小型机等多种机型,Oracle成为世界上使用最广泛的关系数据系统之一。 (1)可联结性:Oracle能与多种通讯网络相连,支持客户机/服务器方式和各种协议(TCP/IP、DECnet、等)。 (2)开放性:Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。 (3)名符其实的大型数据库:ORACLE建立的数据库,最大数据量可达几百GB; (4)共享SQL和多线索服务器体系结构:这两个特性的结合,减少ORACLE的资源占用,增强处理能力,能支持成百甚至上千个用户。 (5)跨平台能力:ORACLE数据库管理系统可以运行在100多个硬件和软件平台上,这一点为其它PC平台上的数据库产品所不及。 (6)分布式数据库:可以使物理分布不同的多个数据库上的数据,被看成是一个完整的逻辑数据库。

java面向对象精华总结

Java面向对象精华总结 面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。 面试官若问什么是面向对象(开放式问题,回答必须有自己的体会): 1、面向对象是一种思想,可以使复杂的问题简单化,可以使我们从执行者变成指挥者 2、结合实际场景举个例子说明:面试官就是在用面向对象的思想思考问题,公司里面现在 有招人的需求,说明公司现在的业务量比较大,代表着公司在蓬勃发展,你需要找一些具有专业编程经验的人来帮你完成公司的工作,我就是那个对象,我具备专业编程的功能,你就是在指挥我做事情,就是使用我的功能,来为公司创造效益。【万物皆对象】面向对象三大特征:封装、继承、多态 类和对象的关系: 类:对现实生活中事物的描述 对象:就是这类事物,实实在在存在个体 描述事物就是描述事物的属性(对应类中变量)和行为(对应类中方法),属性和行为共同称为类的成员(成员变量和成员方法) 成员变量作用于整个类中,局部变量作用于函数中,或者语句中 成员变量在堆内存中,因为对象的存在,才在内存中存在,局部变量:存在栈内存中 封装(Encapsulation):是指隐藏对象的属性和实现细节,仅对外提供公共访问方式 好处:将变化隔离、便于使用、提高重用性、提高安全性 封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问private(私有):权限修饰符,用于修饰类中的成员(成员变量,成员函数),私有只在本类中有效。 static用于修饰成员(成员变量和成员函数) 被修饰的成员:随着类的加载而加载,优先于对象存在,被所有对象所共享,可以直接被类名调用。类名.静态成员【方法区、共享区、数据区】----存放类中的方法和共享数据。什么时候定义静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的,用类名直接调用。 Eg:获取数组的最大值 class ArrayTool { public static void main(String[] args) { int[] arr={5,8,4,1,3,5,8,77,55,99}; int max=GetMax.getMax(arr); System.out.println("max="+max); } } class GetMax { public static int getMax(int[] arr) { int max=0; for(int x=0;x

传统的数据库的优劣势v1.0

1.传统数据库的优劣势 数据库技术产生于20世纪60年代末期,是计算机领域中最重要的技术之一,是一种比较理想的管理技术。数据库(Data Base)可以看作是与现实世界有一定相似的模型,是认识世界的基础,是集中、统一存储和管理某个领域信息的系统,它根据数据间的自然联系而构成,数据较少冗余,且具有较高的数据独立性,能为多种应用服务。而传统的数据库是指关系型数据库,如MySQL、Oracle、SqlServer等。 1.传统数据库的优势 ●灵活性和建库的简单性:从软件开发的前景来看,用户与关系数据库编 程之间的接口是灵活与友好的。目前在多数RDDMS产品中使用标准查询 语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。 与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准 的数据存取方法。 ●结构简单:从数据建模的前景看,关系数据库具有相当简单的结构(元 组),可为用户或程序提供多个复杂的视图。数据库设计和规范化过程也 简单易行和易于理解。由于关系数据库的强有力的、多方面的功能,已 经有效地支持许多数据库纳应用。 ●易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性) 大大减低了数据冗余和数据不一致的概率。 2.传统数据库的劣势 ●数据类型表达能力差:从下一代应用软件的发展角度来看,关系数据 库的根本缺陷在于缺乏直接构造与这些应用有关的信息的类型表达能 力,缺乏这种能力将产生以下有害的影响,例如:大多数RDBMS产品 所采用的简单类型在重构复杂数据的过程中将会出现性能问题;数据 库设计过程中的额外复杂性;RDBMS产品和编程语言在数据类型方面 的不协调。 大多数现代的RDBMS产品已成熟地用于商务和财政方面,而这些领域不要求很高和很复杂的数据模型。虽然这些产品多多少少克服了 一些以上所述的缺点,但从理论上看关系数据模型不直接支持复杂的

JAVA实践心得体会

心得体会 此次只实训了短短的三周。虽说时间很短,但其中的每一天都使我收获很大、受益匪浅, 它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对java有了全新的认识, 在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说 受益非浅。除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好 地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这也是第一 次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧! 这次实训对于我以后学习、找工作也是受益菲浅的,在短短的三周中相信这些宝贵的经验会 成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。 这次实训虽然是我们的第一次,不过同学们表现不错,由此看来,我们在进入大学的这 几个月里学到了不少的专业知识,只是自己感觉不到而已。对于所学专业,我们不能过于自 卑和担忧,否则会妨碍自己学习。实训是学习java的重要环节,有利于我们巩固专业知识、 掌握工作技能,提高就业筹码。 我把本次为期三周的实训看作是“理论与实践相结合的桥梁”。通过这周的实训和学习, 我知道了此次实训的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学 的专业知识不能够很好地运用于实践操作。正所谓“百闻不如一见”,经过这次自身的切身实 践,我才深切地理会到了“走出课堂,投身实践”的必要性。平时,我们只能在课堂上与老 师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致 我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络 知识水平的提高。但是课本上所学到的理论知识是为我们的实际操作指明了方向、提供相应 的方法,真正的职业技巧是要我们从以后的实际工作中慢慢汲取的。而针对实际操作中遇到 的一些特殊的问题,我们不能拘泥于课本,不可纯粹地“以本为本”。 在这次实训中我得到了许多收获,我第一次体会到java工程师的工作是什么样子的,也 发现了很多不曾注意到的细节,在实训的演示过程中,我对作为一名java工程师注意的事项 应该从小事做起、从基本做起。把职业能力训练与职业素质有机的结合起来。相信这对我接 下来学习专业知识会起到很有效的帮助,在接下来的几个月里,我会以作为一名职业人的身 份在这几个方面要求自己,严格自我,向java工程师靠近。 而经过这次实训,让我明白如果是一个完整项目的开发,必须由团队来分工合作,否则, 即费力又费时还做不好这个项目。因此不管在工作中还是在生活中要和老师、同学保持良好 的关系是很重要的。做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做 人的一个最基本的问题。对于自己这样一个即将步入社会的人来说,需要学习的东西很多, 他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。 实训结束了感觉虽然辛苦,但很充实。我想这就是java工程师的工作。我也体会到java 工程师成功地完成一个任务的那种兴奋,那种小有成就的感觉是只有置身其中的人才能 体会的。 总之,这次实训为我提供了与众不同的学习方法和学习体会,从书本中面对现实,为我 将来走上社会打下了扎实的基础。作为在校计算机专业的学生,现在我能做的就是吸取知识, 提高自身的综合素质,提高自己的职业技能,自己有了能力,到时候才会是“车到山前必有 路”。我相信在不久的未来,会有属于我自己的一片天空。 我希望计算机专业的同学在以后的学习或工作中以务实的态度给提供更多的机会锻炼自 己,为大家的成才与就业奠定坚实的基础;并希望同学们要做好角色定位,将自己所学的知识, 学熟、学精。 多学习和收集与项目有关的资料,来提高自己的业务水平,同时多请教经验丰富的老师, 使他们好的经验能够对自己起到借鉴作用,在他们的帮助下,能够很快的培养自己的管理技

面向对象数据库的应用范围和优缺点

面向对象数据库面向谁? 它的市场在哪里? 陶伟编译 当今冠以面向对象的东西很多,什么面向对象分析,面向对象设计,面向对象语言,面向对象操作系统,面向对象软件工程,等等,诸如此类,不胜枚举。似乎凡是和面对象挂上了边,就要好卖得多。其实面向对象也不是包治百病的灵丹妙药,数据库加上了面向对象同样不可能解决所有的问题,它不是大街上的冰棍,人人都可以买,它有自己独特的应用领域和特有的用户群。向不懂C++或Smalltalk的人兜售面向对象数据库,无异于对牛弹琴。 面向对象数据库的用户主要是从事系统软件和高级应用软件开发的程序员和系统设计人员,它不是大众数据库,在这方面它有别于关系数据库面。面向对象数据库好比是医生用的手术刀,干的是"细活儿",和家庭主妇用的菜刀(关系数据库)不一样,那是用来干"粗活儿"的。面向对象数据库是什么? 面向对象数据库=数据库系统+面向对象系统面向对象数据库必须满足两条准则:首先,它是一个数据库管理系统,其次它是一个面向对象系统。第一条准则可以翻译成六条特征:持久性、缓冲管理、数据共享、数据可靠性(事务管理和恢复)、即席查询以及模式修改。第二条准则可以翻译成:封装性、继承性、多态、对象标识、计算完整性、复杂对象和可扩展性。除了基本定义之外,为了满足所谓的非常规应用领域,还要引入一些扩展的特征:如版本管理、长事务、协同工作、触发和约束等。其中最重要的是封装性、继承性、多态,它们充分体现了面向对象的特征。面向对象数据库的应用领域面向对象数据库的应用面比较窄,主要集中于系统级的软件开发,以及数据密集的、复杂的应用软件开发,包括: ▲计算机辅助设计CAD ▲计算机辅助制造CAM ▲计算机集成制造系统CIMS ▲计算机辅助软件工程CASE ▲超大规模集成电路设计VLSI Design ▲地理信息系统GIS ▲决策支持系统DSS 这些应用领域和传统的商业应用领域有着显著不同,它们表现为复杂的数据类型,而不是简单的二维表,复杂的数据结构上定义着复杂的操作语义,需要不同层次的数据抽象能力,这些均是传统数据库系统所无法满足的。面向对象数据库与文件系统和关系数据库的区别文件系统存贮的数据格式因程序员的设计的不同而不同,一般不能保证数据的一致性和完整性,也很难多个用户共享。关系数据库存贮的是二维表,能保证数据的一致性与完整性,但只能用关系数据模型去描述世界。面向对象数据库则用面向对象数据模型去映射客观世界,存贮的不仅是数据,而且存贮了定义在数据上的操作语义,以及对象之间的复杂引用和约束关系。相对于文件系统和关系数据库而言,面向对象数据库的特点可以做以下的形象描述:面向对象数据库提供了一种存贮对象的更好方法,因为它提供了传统数据库的全部服务,然而却无存储和检索对象时对象的拆卸与装配的开销,比较关系数据库和面向对象数据库存储复杂对象,后者好似直接把汽车开进车库存放,而前者则是把汽车拆成零部件来保存。如何应用面向对象数据库面向对象数据已进入了商业应用领域,但没有取代现有的数据库系统,通常是在处理非常复杂的数据,或者数据很难被分解为关系数据库二维表的情况时,才采用面向对象数据库。一般认为图像数据的处理,使用面向对象数据库非常合适,其实还有许多数据类型可以用面向对象数据库来存储。就目前使用情况看,计算机辅助设计CAD是面向对象数据库最大的应用领域,现在电信、金融服务、医疗保健、制造过程控制等诸多领域,也开始推广使用。主要的面向对象数据库厂商主要的面向对象数据库厂商有以下几家。·Object Design,Inc. ·Gemstone System,Inc. ·O2 Technology,Inc. ·Objectivity,Inc. ·Versant Object Technology

各种工作分析方法的优缺点及使用范围比较表

各种工作分析方法的优缺点及使用范围比较表 方法优点缺点试用情况 访谈法简单、有效;访谈的过程是一个双向沟 通的过程,具有灵活性和参与性;不仅 能了解到工作本身的信息,还能了解到 工作者的工作态度与工作动机等深层 次的内容;有助于员工了解工作分析目 的,消除抵触情绪 访谈花费大量时间和精力,成本 很高;访谈法需要工作分析人员 具有专门的技巧,需要经过培 训;员工可能由于不了解工作分 析的真正目的而故意隐瞒或歪 曲信息 适合于工作样本数量少时使 用;常用于收集工作描述、工 作分类、工作范围、工作所需 要能力、知识和技能等方面内 容的信息 问卷调查法规范化、数量化;调查范围广;速度快、 能在较短时间内收集到大量信息 问卷设计成本较高;被调查者在 填写调查表时单独进行,缺乏沟 通和交流;信息真实性可能会受 影响 问卷调查法之一用于工作范 围、职务任职资格等方面的信 息 资料分析法成本低;工作效率高;能为进一步工作 分析提供基础资料、信息 缺乏灵活性;一般收集到的信息 不够全面,尤其是小型企业或管 理落后的企业,往往无法收集到 有效、及时的信息 适用于比较常见、正规且有一 定历史的工作;一般不能单独 使用,要与其他工作分析法结 合使用 观察法客观性和可信度较高;更全面、更深入 地了解工作的要求会影响员工的行为;员工在主观 上可能调整自身工作节奏,工作 顺序等,影响信息的真实性;不 能获得任职者资格的相关信息 用于收集工作内容、工作环境、 体力要求等相关信息;适用于 以体力劳动为主的工作周期 短、有标准化工序的工作;不 适用于脑力劳动为主的、工作 周期长且主观性强的工作 工作日志发经济,花费少;日志记录提供了详细具 体的工作内容和过程,信息遗漏少,可 靠性高 监控不力会造成填写信息不够 详细;流水式的记录使得信息凌 乱繁杂,整理工作量大;任职者 可能会不按照要求时间填写,会 造成信息不完整 适用于确定有关工作职责、工 作内容、工作关系、劳动强度 等方面的信息;适用范围局限 于周期较短、状态稳定、复杂 琐碎的工作 职位分析问卷 法(PAQ)便于工作之间的比较,并据此制定出薪 酬等级;不需要修改就可用于不同组 织,不同工作 问卷的设计时间成本高;填写人 员要接受专门的培训以帮助他 们准确理解和填写问卷;描述因 素重要程度的尺度之间刻画不 清楚,阅读能力差的人不适用 适用范围较广 管理职位描述问卷法(MPD Q)能将数据信息转化为信息报告和表格, 信息充足、简单易懂;能运用于人力资 源的其他职能领域 成本比较高;投入比较大针对管理层的工作分析 职能工作分析法(FJA)详细分析工作任务要求,能全面具体地 描述工作内容;能对工作进行分类和等 级划分,为确定工作的报酬等级和培训 内容提供依据 需要对每项任务做详细分析,消 耗大量精力和时间 适用于对目标职位的功能性要 素分析

学习心得《面向对象》

面向对象课程学习心得 这学期的面向对象课程对我来说是收获匪浅的一门课。通过老师课件的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。 面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。 OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复用、可扩展、可维护性、弹性。 OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。 面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。 在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。 访问一个聚合对象的内容而无需暴露它的内部表示。

数据库综合练习一及答案

数据库综合练习一 一、选择题 1.描述事物的符号记录称为___B_____。 A、信息 B、数据 C、记录 D、记录集合 2._C___是长期存储在计算机的有组织,可共享的数据集合。 A、数据库管理系统 B、数据库系统 C、数据库 D、文件组织 3.__A___是位于用户与操作系统之间的一层数据管理软件。 A、数据库系统 B、数据库管理系统 C、数据库 D、数据库应用系统 4.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和__D___。 A、数据库管理系统 B、数据库应用系统 C、数据库应用系统; D、各类相关人员 5.在人工管理阶段,数据是_B____。 A、有结构的 B、无结构的 C、整体无结构,记录有结构 D、整体结构化的 6.在数据库系统阶段,数据是_D____。 A、有结构的 B、无结构的 C、整体无结构,记录有结构 D、整体结构化的

7.在文件系统阶段,数据__B___ A、无独立性 B、独立性差 C、具有物理独立性 D、具有逻辑独立性 8.数据库系统阶段,数据__D___。 A、具有物理独立性,没有逻辑独立性 B、具有物理独立性和逻辑独立性 C、独立性差 D、具有高度的物理独立性和一定程度的逻辑独立性 9.非关系模型中数据结构的基本单位是___C__。 A、两个记录型间的联系 B、记录 C、基本层次联系 D、实体间多对多的联系10.数据的正确、有效和相容称之为数据的__B___。 A、安全性 B、一致性 C、独立性 D、完整性 11.在数据模型的三要素中,数据的约束条件规定数据及其联系的___B__。 A、动态特性 B、制约和依存规则 C、静态特性 D、数据结构 12.___B__属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。 A、数据模型 B、概念模型 C、E-R图 D、关系模型 13.在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除。这是由层次模型的_C____决定的。 A、数据结构 B、数据操作 C、完整性约束 D、缺陷

各种培训方法的优缺点比较表

各种培训方法的优缺点比较表

角色扮演法 1. 有助于训练基本动作和技能 2. 提咼人的观察能力和解决冋题的 能 力 3. 活动的集中,有利于培训专门技 能 4. 可训练态度,仪容和言谈举止 5. 能在一个安全的学习环境中联系 技 巧 6. 面对挑战有机会回顾过去的行为 7. 探索并实践新的行为 8. 在语言和非语言行为上获得反馈 的 机会 9. 促进新的想法,策略和价值以改 进效果 1. 人为性太强 2. 过于强调个人 3. 容易影响态度不易影 响 行为 4. 角色扮演的设计有局 限 性 5. 角色扮演的实施有局 限 性 案例研究法 1. 他提供了一个系统的思考模式 2. 在案例研究的学习过程中,接受 培训可得到另一些有关管理方面 的知识于原则 3. 有利于使接受培训者参与企业实 际 问题的解决 4. 正规案例分析使学生得到经验和 锻 炼机会 5. 容易养成积极参与和他人学习的 习 惯 6. 直观 7. 填补理论于实践之间的空白 8. 激发创造力,寻求多种解决方式 9. 对实际生活加以回顾,而不必修 改任何显示中的个人 10. 通过思考.讨论和反馈加深理解 11. 强调复杂问题通常需要较多的行 动 12. 学习者通过表达其观点,锻炼了 表 达及交流能力 13. 有助于打破成见和僵化的态度 14. 提供了从学习到改变行为的过渡 15. 可用于探讨更广泛性的主题,如: 方针的设计和执着 16. 加强和突出主题的技巧 1. 案例过于概念化并带 有 明显的倾向性 2. 案例的来源往往不能 满 足培训的需要 3. 需时较长,对受训者和 培训者要求较高 4. 引导和组织讨论需较 高 的技巧,对培训者提 出了挑战.

相关文档
最新文档