业务对象范文(精选9篇)
业务对象 第1篇
随着信息时代的飞速发展以及市场竞争的加剧, 许多企业为了适应市场、组织结构以及技术的不断变化, 被迫或主动重新评估和调整其业务处理结构。这就是所谓的业务流程重组 (BPR, Business Process Reengineering) 。除了企业自身的BPR之外, 另一种重组方式也越来越得到人们的关注, 这就是由几个关联企业组成虚拟企业 (network structure) 之后, 企业之间业务结构的整合, 虚拟企业能对市场做出更灵敏的反应, 从而提升总体的市场竞争力, 但是前提是企业间的BPR必须顺利完成。
BPR受诸多方面的限制, 其中比较主要的是系统耦合度。现代信息系统的开发多采取模块化设计, 系统内部存在着多层次 (比如模块层、组件层) 、多类型的耦合关系。这种耦合关系可分为业务耦合和技术耦合两大类。前者是系统固有的, 除非业务结构发生改变, 一般是无法消除;而技术耦合是由于所采用的技术限制所导致的耦合, 是可以消除的。因此从技术实现的角度出发, 尽可能消除技术耦合, 可以降低BPR的成本[1]。
二、几种流行的分布式技术对BPR的支持
分布式对象技术旨在建立一个开放式的软件总线结构, 从而满足异构环境下系统的集成。分布式应用系统能运行于各种软件和硬件平台, 能够将旧的应用同新的应用集成起来并且使原有的架构继续得到利用。另外, 企业级的分布式应用在伸缩性、高可用性、易管理性、高性能及数据的完整性等方面也得到实现[2]。
虽然分布式技术最早是为了解决异构访问而提出的, 但是其固有的开放结构为系统开发提供了较小的技术耦合, 从而使BPR成为可能。J2EE环境中比较流行的分布式技术包括EJB (Enterprise Java Bean, 企业Java bean) 、WEB SERVICES和SPRING (严格地说, SPRING是一种J2EE框架, 不是纯粹的分布式技术, 但它对分布式有很好的支持, 这里将其作为分布式技术进行讨论) 。
EJB技术以Java Bean技术为基础, 充分利用Java的跨平台能力, 结合接口技术的应用, 能够使服务以一种"黑盒"方式进行调用, 因此调用者与被调用服务之间的耦合度大大降低。
EJB组件技术保证了系统的可扩展性的提高, 利于BPR的实现。
WEB SERVICES以SOAP (Simple Object Access Protocal, 简单对象访问协议) 通信协议为基础, 在服务提供者与调用者之间实行一种弱绑定, 同时服务利用标准WSDL (Web Service Description Language, web服务描述语言) 对服务进行描述并定义访问接口, 在方法调用层次上实现了较高的松耦合度, 比EJB的组件层更灵活。实际上目前很多实现BPR的企业均是采用WEBSERVICE模式。
SPRING是一种优秀的J2EE框架, 其技术基础--依赖注入 (dependence injection) 以及面向切面编程AOP (Aspect Oriented Programing) 分别从类层次与方法层次降低耦合度, 同时SPRING支持的JMS (Java Message Service, Java消息服务) 、Remoting和WEBMVC等也可以用于构建松耦合度的信息系统。
以上各种分布式技术各有特点, 分别从不同的方面消除了系统的技术耦合。这些技术都是建立在面向对象编程OOP (Object Oriented Programing) 的基础之上, OOP主要是为了解决面向问题域的开发以及代码重用问题的, 因此不可能对BPR有足够的支持, 下面着重探讨OOP体系在BPR实现方面的限制以及如何对OOP进行改良, 以便适应BPR的需要。
三、面向对象技术与BPR
OOP技术发展至今已有近20年的历史, 从最早的simula到如今的面向切面开发, OOP技术都是J2EE信息系统开发的主要技术支撑。OOP技术主要是为了解决软件复用性问题而提出的, 其三大特性封装、继承及多态与两种基本体系 (基于继承、基于接口) 相互配合, 的确大大增加了代码的可重用度, 同时提高了系统的可扩展性。但纯粹的OOP技术对于BPR却没有足够灵活的支持, 造成BPR实现的困难[3]。
造成上述现象的主要原因是在传统OOP基础上开发出来的系统其各个构件之间的耦合度过高 (这里的构件是主要指OOP层次的, 传统信息系统要在模块层次才具有较低的耦合) BPR的关键就是各个构件的耦合度尽可能的低。
构件可以指代各种不同的耦合层次, 由下到上分别是:方法、类、组件、功能、模块等。不难看出, 在构件层次中, 越靠下的层次的耦合度越低, 就越容易实现BPR。
一般而言, 可以将J2EE系统抽象成五个部分:边界类、业务逻辑类、控制类、业务实体类、业务数据实体类。业务实体类是对企业业务流程中的业务对象进行建模得到的, 企业的任何业务都是在实体之间触发的;业务数据实体是业务实体中特殊的一种, 是对业务数据模型的抽象, 业务逻辑类是一种规定在业务数据实体之上的"运算法则", 是业务规则的抽象;控制类用于控制、调度逻辑类对业务数据实体类的运算并协调各种其他业务实体的关系;边界类用于界定业务逻辑类或控制类的作用范围, 同时定义业务实体类及业务数据实体类的可见性和生命周期。
对于任一业务系统而言, 业务可以视为“数据+逻辑”的组合, 在OOP的层次上, 即对应业务数据实体类及业务逻辑类。前者是业务数据的载体, 后者是业务数据的映射关系, 因此可以将业务系统Business定义成如下集合:
B={x, f|x∈X, f∈F, 并且满足对任意x, 至少存在f, 使得f (x) ∈X}
该定义中, X是业务数据的集合, F是业务逻辑的集合。该定义表明, 假若某业务数据实体经过业务逻辑运算后, 该实体储存的数据仍然符合业务逻辑, 所以在其上进行业务逻辑运算仍是可行的。
现在考虑B1、B2两个业务系统, 如果存在B3, 使得, 有 (a, f) ∈B3并且 (b, f) ∈B3, f∈F, F是B3的映射集合, 则称B1、B2是可完全重组的。
另外, 对于B1、B2两个业务系统, 如果存在B3, 使得有 (a, f) ∈B3并且 (b, f) ∈B3, f∈F, F是B3的映射集合, 则称B1, B2是可部分重组的。
无论哪一种重组形式, 当B3=B1或B3=B2时, 则称B1、B2是可自动重组的。这时无需构建B3, 就可以实现重组。完全不用更改系统实现的BPR是几乎不存在的, 但可以把仅对系统做简单的修改就实现BPR就视为可自动重组。
根据前面的讨论, 要实现可自动重组, 关键是构造出耦合度足够低的业务系统, 以集合角度出发, 不难看出如果系统中, f对x有较强的依赖, 则该系统是比较难进行自动重组的, 这种依赖性体现在OOP中就是业务逻辑类与业务数据实体类的耦合度, 耦合度越低, 就越容易进行自动重组。
根据传统的设计耦合度由高到低分别是:
1数据实体类是逻辑类的属性, 整体采用聚合体系
2数据实体类是逻辑类方法的参数
3数据实体类接口是逻辑类的属性, 整体采用聚合体系
4数据实体类接口是逻辑类方法的参数
第四种形式耦合度仍然太高, 逻辑类的实现仍依赖于数据实体类的结构, 事实上数据实体类不包含任何逻辑, 仅是业务数据载体, 那么两个实体类只要拥有相同的数据运载能力, 则可以视为相同的, 称为数据实体类的同构。
比如 (作者按:下面例子采用Java代码形式)
两个类是同构的, 即使他们拥有不同的原型。传统OOP若要让逻辑类能够同时处理这两个类, 可以令两个类均继承同一父类, 或者实现同一接口, 其缺点是两个类必须有共性, 还必须有设计上的前瞻性。扩展后的OOP必须突破这种限制, 能处理某个类, 必能处理与其同构的类, 不需要借助父类或接口。
要实现这种扩展, OOP中必须引入新的机制———类的映射, 它能将两个类映射成同构类, 而类方法能够处理一切经过映射而同构的类, 具体的映射可由开发者控制。
如果两个类中同类型属性不止一个, 或者两个类拥有的属性数量不一样, 则映射就显得特别重要, 如下图所示:
不同类型的属性也可以建立映射关系, 关键是加入类型转换器。当映射关系建立后, 类型转换器负责将关联的属性值进行类型转换。
传统OOP中, 类属性都有访问范围, OOP利用它来实现封装, 如果映射的属性具有不同的访问范围, 则逻辑类进行处理时仍会出现问题, 在业务系统中, 类属性的访问范围一般不是用于实现纯粹的OOP封装特性, 更重要的是访问权限的配置, 这一般是通过角色/账户等机制实现的, 没有一定的账户权限, 即使逻辑类拥有对数据实体类完全的访问, 仍是没有意义的。权限机制在这方面与访问范围功能上有所重复, 因此在数据实体中, 完全可以不考虑属性访问范围, 而利用权限分配得到保障。
经过类的映射机制, 逻辑类与实体类的耦合度进一步降低了, 耦合仅在于映射中。但传统信息系统难以进行BPR的另一重要原因是逻辑类之间的耦合度太高, 通常一个比较复杂的事务常常需要几个逻辑类进行协同工作, 伴随着逻辑类之间方法的相互调用, 这时便形成一条调用链, 这个调用链的任何一环都是通过类名以及类方法签名紧密耦合的, 因此任何对这两者的改变 (无论是调用者或被调用者) , 都会引起调用链的脱节。在一个松耦合的系统中, 调用链是可以运行时配置的 (软配置) , 可并发的调用链分别封装在不同的边界类中, 如下图:
调用链可以灵活的方式进行配置, 比如在用调用链中的方法A中的可以连接到方法B从而组成新的调用链, 组成调用链的方法隶属于某一边界类的分类原则不是固定的, 应根据企业的业务情况改变而改变, 大体上有两大原则, 一是以业务实体类作为分类原则, 一般适用于DSS等, 另一是以事务功能为分类原则, 比如ERP;前者业务数据实体会对业务方法产生影响, 后者则主要在于体现事务功能, 对于系统中不同的业务实体都是一样的。无论在哪一种体系中, 配置型调用链都必须要有一种机制来保证方法调用的正确性, 称之为约束, 在这种体系中, 约束也是以配置文件形式出现的, 将原本阻碍方法之间进行调用的部分分离出来作为独立的因素, 可以提高系统的松耦合度, 进行BPR时可以优先考虑对约束进行修改, 以便适应新的业务需求。
调用链还有一个好处是, 可以方便地进行回滚操作, 传统系统设计中, 只有在事务的操作里才支持回滚, 问题是事务和回滚是两个垂直的概念, 两者之间也不是充要条件, 在很多情况下, 系统需要在更大范围内对某业务实体的操作进行回滚, 由于调用链中储存了这些操作, 因此很容易利用它进行回滚。另外在不同的边界类中的方法理论上不能进行对接, 这是出于对系统松耦合要求作出的限制, 但是当必须做出跨边界对接时, 可以采用让边界A申请某个Session, 然后与边界B建立起暂时的虚拟通道, 这种操作有利于边界类的管理和安全。
速度与灵活性是两个互相制约的因素, 大多数的系统处于以下矩阵中的A、C位置, D位置则难以实现 (见下图) , 速度和灵活性的两极分化是个难题, 这种分化早在编译器就已存在, 编译器具有较快的速度及较小的生成文件, 但对运行时的配置支持则很不够, 解释性编译器能够进行灵活的配置以及具有较好的扩展性, 但速度和安全又是一大瓶颈[4]。
Java的bytecode编译模式很好地将两者进行触发, 就会通过网络或短信实时给管理人员发送信息。
4、医院信息系统中应用的探讨
根据医疗行业及其应用系统的特点, 以操作行为的正常规律和规则为依据, 对相关计算机系统进行的操作行为产生的动态或静态痕迹痕迹进行监测分析, 发现和防范内部人员借助信息技术实施的违规和犯罪。对信息系统运行有影响的各种角色的行为过程进行实时监测, 及时发现异常和可疑事件, 避免内部人员的威胁而发生严重的后果。
4.1合法权限滥用的监控
系统对非夜班科室工作站在班外时间段由于业务操作引发的数据库访问, 应用模块在非设定的工作站上发生了相关操作引发的数据库访问, 出现业务系统之外的仿冒应用程序对业务数据库进行访问以及数据库管理人员在业务窗口进行远程数据库访问等进行实时监控。
4.2存储过程的管理
存储过程调用在网络上传输的是参数, 没有具体的SQL语句, 审计系统很难根据SQL语句的特征进行监控, 对其监控主要是设置白名单, 并对名单设置审计规则。出现业务系统约定以外的存储过程调用、合法存储过程调用时出现参数异常或者调用场所异常等进行实时监控。
4.3历史操作的重现
重点监控工作站 (收费处工作站、医生工作站、药房工作站等) 发生异常时, 可以根据审计系统中记录的数据重现错误发生过程的场景, 有利于异常原因的跟踪。
4.4人为高危操作访问数据库的监控
删除数据库表、无条件批量删除或修改数据等数据库操作的监控审计。
4.5敏感数据库表的操作访问的监控
对进行客户信息数据中的患者姓名、电话、余额等, 财务信息数据中的科目余额等, 药品使用情况等敏感数据的修改、删除、查询、统计等操作的监控。
4.6应用系统级监控的定制
根据应用需求配合医院信息系统实现重复登记预交金表、重复记费、药品一次性耗材异常调价、某住院账户被大额退款或累计大额退款、住院未结帐病人被大量退款并结帐等系统经常发生又缺乏有效监控的异常操作进行应用级监控。
4.7应用系统调优的应用
对数据库应用的来源、类型、流量、压力、性能、效率等方面的分析, 可对应用系统的数据操作层进行详细的诊断, 反作用于应用系统设计合理性的验证。
5、总结
基于旁路监听的数据库安全审计方案, 只要主交换满足端口镜像功能即可, 不需要开销其他网络和系统资源。在保证应用系统的正常运行的前提下, 监控操作员是否对合法权限的滥用、非授权访问和敏感数据的查询统计。根据审计记录所反映的SQL语句效率, 有针对性的对应用系统进行优化。
参考文献
[1].Orlikowski, W.I., CASE tools as organizational change:investigating in-cremental and radical changes in systems development, MIS Quarterly, 17 (3) , p309-340.[J]
[2].Nutt, P.C., Tactics of implementation, Academy of Management Journal, 29 (2) , p230-261.[J]
[3].Gersick, C.I.G., Revolutionary change theories:a multi level exploration of the punctuated equilibrium paradigm, Academy of Management Review, 16 (1) , p10-36.[J]
[4].Sirkka L.Jawenpaa, Donna B.Stoddard, Business Process Redesign:Rad-ical and Evolutionary Change, Journal of Business Research, 1998, 141, p15-27.[J]
业务对象 第2篇
1、南有乔木,不可休思,汉有游女,不可求思。
2、一江明月,回首少了谁;一杯浊酒,相逢醉了谁;一年春事,桃花红了谁;一眼回眸,尘缘遇了谁。
3、真爱一世情,浪漫相扶老。
4、即使生命如尘,仍愿岁月如歌。
5、花开并蒂莲,生生世世好。
6、你是我心头上的朱砂痣,床头前的白月光。
7、年来多梦少年事,唯梦闲人不梦君。
8、风月入我相思局,怎堪相思未相许。
9、乍见之欢,一相逢,金风玉露。久处不厌,暖浮生,天下无双。
10、一笔一划诉春秋,一撇一捺绣温柔,一动一静情无限,一生一世牵你手。
11、爱你是围城,愿一生心疼。
12、心中藏之,何日忘之。
13、爱上了你,我才领略思念的滋味、分离的愁苦和妒忌的煎熬,还有那无休止的占有欲。
14、此情不过烟花碎,爱别离酒浇千杯。
15、纵然相思入骨,纵然万劫不复,我只愿你眉眼如初,风华如故。
16、倾我一生,许你一座花开不败的城;尽我一世,予你一场万年不醒的梦。
17、纵然万劫不复,纵然相思入骨,我也待你眉眼如初,岁月如故。
18、在天愿作比翼鸟,在地愿为连理枝。
19、身无彩凤双飞翼,心有灵犀一点通。
20、百千夜尽,谁为我,化青灯一座,谁倚门独望过千年烟火。
21、思君如满月,夜夜减清辉。
22、洞房花烛夜,甜蜜浴爱河。
23、生死契阔,与子成说。
24、天青等烟雨,而我在等你。
25、我为你青丝高挽,你带我纵马天下。
26、奈何桥畔轮回转,定携素手至桑田。
27、相思树底说相思,思郎恨郎郎不知。
28、何为思念?日月,星辰,旷野雨落。可否具体?山川,江流,烟袅湖泊。可否再具体?万物是你,无可躲。
29、自君之出矣,明镜暗不治。思君如流水,何有穷已时。
30、情不知所起,一往而深。
31、青青子衿,悠悠我心。
32、你是无意穿堂风,却偏偏引山洪。我是垂眉摆渡翁,却独独偏爱侬。
33、与你十指相扣,不求地老天荒,只求莫失莫忘。
34、君之我所系,卿之我所意。
35、世间对错本无凭,自古多有痴情人,只是,君为江山我为君。
36、山有木兮木有枝,心悦君兮君不知。
37、愿得一心人,白首莫相离。
38、衣带渐宽终不悔,为伊消得人憔悴。
39、曾经沧海难为水,除却巫山不是云。
业务对象 第3篇
当前软件开发过程在技术和方法上有多种选择。传统的结构化方法和信息建模方法,是从功能和数据的角度来分析与构造系统。这种方法最大的缺点就是概念抽象性高,客观世界中不能直接找到与之对应的事物。对象建模技术(OMT)是目前最为成熟和实用的面向对象建模方法之一,它从系统中涉及到的对象出发构建系统,解决了传统方法面临的抽象性问题。本文深入研究了OMT的建模方法及对象之间关系的描述策略,在该方法的指导下设计了自动售货机模型,最后进行了原型实现。可以得出结论:OMT是一种高效、规范的面向对象建模工具,利用OMT技术可以使开发过程更规范、可视性更强、开发人员与用户的沟通更直观,可以在开发阶段之间实现无缝链接、平滑过渡,较好地提高了系统设计与实现的效率。
1 问题描述
根据与客户沟通,本文要设计的自动售货机主要用于销售饮料、香烟等日常商品,需满足以下功能要求:
(1)货贺上放置若干不同品种的饮料、啤酒、香烟,每种商品最多能够放50件。投币口可以接收的货币面值为0.5元、1元、2元、5元、10元。即时地向用户显示已投币总金额,若某种商品已售完能及时提示顾客,能够给顾客提供友好的使用指导。
(2)顾客投入钱后,首先经累加器累加,若投币总金额大于或等于某种商品的售价,则顾客可以购买该商品,待顾客选择某种商品,并确认购买后,商品由取物口掉处,同时自动进行该笔交易结算找零,顾客可以继续购买售价小于或等于余额的物品,或者取走找零结束交易。
(3)顾客投入货币后,在确认购买商品之前可以拉退币杆取消交易,收回已投入的货币。
2 OMT方法研究
2.1 OMT的三种模型
OMT方法用三种类型的模型刻画一个系统:对象模型、动态模型和功能模型。对象模型描述系统中的对象和它们之间的联系;动态模型描述系统对象间的相互作用;功能模型描述系统中数据的变化。每种模型应用于开发的不同阶段,以几种不同的观点来刻画不同的模型,一个软件系统的完全描述要求包含所有这三种模型。
(1)对象模型。
对象模型是三种模型中最重要的,通过描述系统中的对象、对象之间的联系、属性以及刻画每个对象类的属性和操作来表示系统的静态结构。系统建模围绕对象来构造系统而不是围绕功能来构造系统,对象模型更接近实际应用,而且容易修改,能快速地对变化做出反应。对象模型提供一种直观的图形表示,并且文档化系统结构有利于与用户之间进行有针对性的交流,从而有利于系统模型的修改和完善。
(2)动态模型。
动态模型描述了系统时间空间内对象的变化和对象之间关系的变迁,即系统所关注的时序关系。动态模型的主要概念是表示外部触发的事件和表示对象值的状态,它采用状态图来描述一个特定类的事件、状态和状态变迁的模式。状态图就是状态和事件的网络,动态模型由多个状态图组成,从而显示了整个系统活动的模式。
(3)功能模型。
功能模型描述系统内的计算。功能模型由多个数据流图组成,这些数据流图描述数据流从外部输入值,经过计算和内部数据存储,再向外部输出的全过程。功能模型也包含了对象模型中值之间的约束。三种模型的关系如图1所示。
2.2 OMT模型中对象之间的关系
(1)链接和关联。
链接(Link)和关联(Association)是建立对象之间、类之间以及对象和类之间的联系。链接是在对象实例之间的一种物理或概念连接。在数学上,一个链接是一个元组,即一个对象实例的有序列表。一个链接是一个关联的实例。关联描述了具有公共结构和共同语义的链接的组合。所有在关联中的链接都与相同类的对象组连接。关联和链接经常在问题叙述中以动词身份出现,一个关联描述了用相同方式的可能的链接的集合,这种方式就是一个类描述所有可能的对象的一个集合。在类图中每个关联相对应于实例图的链接集合,就好像每个类相对应于对象集合一样。一个关联的OMT表示是在类与类之间画一条线,连接是在对象与对象之间画一条线,关联名用斜体字。如果类与类之间只有一种关联(单一关联),则关联名可以省略。
(2)概括和继承。
概括(Generalization)和继承(Inheri-tance)是在类与类之间相似与共享的强有力的抽象,并保留它们自己的不同之处。概括是描述在一个类和提取该类的一个或更多版本之间的关系。这个被提取的类称为“超类”(Super Class),而每个被提取的版本称为子类(Sub Class)。把子类的公共属性和操作放在超类,可以被每个子类共享;每个子类则继承它所属超类的特征。因为子类的一个实例同时也是超类的一个实例,因此概括也称为“is-a”关系。
概括和继承可以蕴含在任意层次之中,术语祖先和子孙涉及多层次的一类概括,子类的一个实例同时也是所有它的祖先类的一个实例,一个实例的状态包含了每个祖先类的每个属性的一个值。在任一祖先类上的任一操作可用于一个实例,每个子类不仅继承所有祖先的特征,而且还可以加入它自己本身的属性和操作。
3 基于OMT的系统模型设计
3.1 识别对象模型
目标是找出系统中所有对象及其关联,抽取对象的方法是从问题描述中找出名词或名词词组。从上述问题描述中可以抽取自动售货机的对象有:顾客(用户)、售货机、金额累加器、商品、按钮、退币杆、存料计算器。具体如下:
(1)顾客:
消费者,持有钱,拥有货物及交易成交与否的选择权。
(2)售货机:
顾客投入钱时判断所投钱面值是否有效,若有效进行累加,显示总投钱金额,待顾客确认购买后,掉出货物。
(3)选择按钮:
不同的货物有不同的价格,待顾客投币总金额达到货物售价后,按钮可用,等待顾客选择,顾客摁下按钮后,把选择传给售货机。
(4)退币杆:
在顾客摁下选择键前或单笔交易成交后,可以拉动退币杆,把收回。
(5)金额计算器:
把投入的钱进行累加,并及时地把结果付给售货机显示。
(6)存量计算器:
售货机掉出物品后,对该货物存量递减,同时判断存量是否为零,如果为零则售完灯亮,对应的货物选择按钮不可用。
(7)货物:
顾客购买的对象,不同的货物有不同的价格,每种货物都有相应的存量。
系统对象模型图如图2所示。
3.2 建立动态模型
动态模型显示了整个系统活动的模式。建立系统动态模型的前提是对系统中可能发生的事件进行全面的梳理。根据系统功能要求,我们得到系统中事件有:投钱、计算并显示总额、金额足够、选择按钮可用、顾客选择某货物、掉出货物、顾客取货、结算、找零、扣除存量、选择按钮不可用。具体描述如下:
(1)投入钱:
货物已事先存放完毕,顾客投入钱,售货机判断面值正确后,进行累加并显示总金额;售货机持续要求投钱,直到总金额达到足够的金额;
(2)选择货物:
选择按钮可用,顾客要选择货物,按选择按钮并确认购买后,掉出货物,提示顾客取货,并进行单笔交易结算、找零;同时货物存量递减;
(3)归零回到运营状态:
如果被选择的物品存量大于0,则回到初始状态,等待继续购买;否则,该货物选择按钮不可用,回到初始状态。
根据上述事件描述,最终得到系统的事件追踪图(如图3)和整个系统事件状态图(如图4)。
3.3 建立功能模型
功能模型描述系统内的计算,描述系统中数据流从外部输入值,经过计算和内部数据存储,再向外部输出的全过程。根据系统功能设计,得到系统功能模型如图5、图6、图7所示。
4 原型实现
在深入研究对象建模技术(OMT),并以此为指导完成了自动售货机系统对象模型、动态模型和功能模型之后,实现了系统原型,对整个研究进行了验证(如图8)。
5 结论
本文深入研究了OMT的建模方法及对象之间关系的描述策略,在该方法的指导下设计了自动售货机系统的对象模型、动态模型和功能模型,并进行了原型实现。研究结论如下:OMT是一种高效、规范的面向对象建模工具,利用OMT技术可以使开发过程更规范、可视性更强、开发人员与用户的沟通更直观,可以在开发阶段之间实现无缝链接、平滑过渡,较好地提高了软件系统设计与实现的效率。
摘要:面向对象的软件开发方法的关键是对问题域的理解,对象建模技术(OMT)在面向对象的软件系统建模中具有较好的性能。本文研究了OMT的三种模型、对象之间关系的描述策略,以OMT方法为指导设计了一个自动售货机模型,并进行了原型实现。研究结果表明:基于对象建模技术的系统构建过程更直观、开发人员易沟通,各开发阶段使用统一的概念模型,减少了相互转换过程中的错误和冗余。
关键词:面向对象程序设计,软件建模,对象建模技术,自动售货机
参考文献
[1] 石彦芳, 石建国, 周檬. 基于OMT技术的简历收集与就业跟踪系统设计与实现[J]. 煤炭技术, 2010(03) : 235-237.
[2] 龚佑华, 于永利, 张柳. 基于HLAOMT设计军用仓库模型[J].科学技术与工程, 2006(23) : 4792-4794.
[3] 张浩. 基于OMT和软构件技术的作物生产潜力系统研究[D]. 解放军信息工程大学, 2009.
[4] 王又军. 基于OMT的师资培训管理系统分析[J]. 企业技术开发, 2008(11) : 57-59.
[5] 田宝杰, 卓斌, 张赛娜. 基于面向对象建模技术构建服装企业管理信息系统[J]. 电脑知识与技术, 2008(29) : 280-282.
[6] 王力群. 面向对象建模技术的研究与应用[J]. 电脑知识与技术, 2009(32) : 8935-8936.
[7] 蒋俊. 基于UML的面向对象建模技术的研究[J]. 信息与电脑(理论版), 2010(04) : 148.
主体的对象化与对象的主体化 第4篇
主体的对象化与对象的主体化 --兼论《1844年经济学哲学手稿》对当代美学文艺学的现实意义
主体的对象化与对象的主体化是两个互动、互补的动态化过程,前者强调历史主体性和实践基础,其理论渊源于马克思<1844年经济学哲学手稿>;后者则强调主体的自主性和独立性,在此基础上还深入研究了一种“主体间性”理论.在历史主体性和实践论基础上,“主体间性”理论对当代美学文艺学产生了巨大影响,尤其是两个动态化过程中产生的超越性的`二元思维和多元思维,极大地推动了当代美学文艺学的思维方式转型.
作 者:胡鹏林 作者单位:华中师范大学中文系,湖北,武汉,430079 刊 名:贵州师范大学学报(社会科学版) 英文刊名:JOURNAL OF GUIZHOU NORMAL UNIVERSITY(SOCIAL SCIENCE) 年,卷(期): “”(5) 分类号:B83 关键词:主体的对象化 对象的主体化 异化理论 主体间性 超越性思维业务对象 第5篇
持久(Per si st ence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件、XML数据文件中等等。
2 为什么要持久化
持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。
(1)通过持久化技术可以减少访问数据库数据的次数,增加应用程序执行速度;
(2)代码重用性高,能够完成大部分数据库操作;
(3)松散耦合,使持久化不依赖于底层数据库和上层业务逻辑的实现,更换数据库时只需修改配置文件而不用修改代码。
3 什么是对象-关系映射(ORM)
对象-关系映射(Obj ect/Rel at i on Mappi ng,简称ORM),是随着面向对象的软件开发技术的发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
4 除了ORM技术,还有以下几种持久化技术
4.1 主动域对象模式
它是在实现中封装了关系数据模型和数据访问细节的一种形式。在J2EE架构中,EJB组件分为会话EJB和实体EJ B。会话EJ B通常实现业务逻辑,而实体EJ B表示业务实体。实体EJB又分为两种:由EJB本身管理持久化,即BMP(Bean-Managed Per s i s t ence);由EJ B容器管理持久化,即CMP(Cont ai ner-Managed Per si st ence)。BMP就是主动域对象模式的一个例子,BMP表示由实体EJB自身管理数据访问细节。
主动域对象本身位于业务逻辑层,因此采用主动域对象模式时,整个应用仍然是三层应用结构,并没有从业务逻辑层分离出独立的持久化层。
4.2 J DO模式
J ava Dat a Obj ect s(J DO)是SUN公司制定的描述对象持久化语义的标准API。严格地说,JDO并不是对象-关系映射接口,因为它支持把对象持久化到任意一种存储系统中,包括关系数据库、面向对象的数据库、基于XML的数据库,以及其他专有存储系统。由于关系数据库是目前最流行的存储系统,许多JDO的实现都包含了对象-关系映射服务。
4.3 CMP模式
在J2EE架构中,CMP(Cont ai ner-Managed Per si stence)表示由EJB容器来管理实体EJB的持久化,EJB容器封装了对象-关系的映射及数据访问细节。CMP和ORM的相似之处在于,两者都提供对象-关系映射服务,都把对象持久化的任务从业务逻辑中分离出来。区别在于CMP负责持久化实体EJB组件,而ORM负责持久化POJO,它是普通的基于Java Bean形式的实体域对象。
4.4 POJO
一般把基于Java Bean形式的实体域对象称为POJO(Plain Old Java Object),意为既普通又古老的Java对象的意思。随着各种ORM映射工具的日趋成熟和流行,POJO又重现光彩,它和基于CMP的实体EJB相比,既简单又具有很高的可移植性,因此联合使用ORM映射工具和POJO,已经成为一种越来越受欢迎的且用来取代CMP的持久化方案。POJO的缺点就是无法做远程调用,不支持分布式计算。
5 为什么要做持久化和ORM设计
在目前的企业应用系统设计中,MVC,即Model(模型)-View(视图)-Control(控制)为主要的系统架构模式。MVC中的Model包含了复杂的业务逻辑和数据逻辑,以及数据存取机制(如JDBC的连接、SQL生成和Statement创建,还有ResultSet结果集的读取等)等。将这些复杂的业务逻辑和数据逻辑分离,以将系统的紧耦合关系转化为松耦合关系(即解耦合),既是降低系统耦合度迫切要做的工作,也是持久化要做的工作。MVC模式实现了架构上将表现层(即View)和数据处理层(即Model)分离的解耦合,而持久化的设计则实现了数据处理层内部的业务逻辑和数据逻辑分离的解耦合。ORM作为持久化设计中的最重要也是最复杂的技术,是目前业界研究的热点技术。
6 目前流行的ORM产品
其中:TopLink是Oracle的商业产品,其他均为开源项目。
目前,Hibernate的轻量级ORM模型逐步确立了在Java ORM架构中的领导地位,甚至取代复杂而又繁琐的EJB模型而成为事实上的Java ORM工业标准。而且其中的许多设计均被J2EE标准组织吸纳而成为最新EJB 3.0规范的标准,这也是开源项目影响工业领域标准的有力见证。
摘要:在阐述持久化和对象关系映射概念的基础上,介绍了为什么要持久化,为什么要做持久化和ORM设计,并介绍了目前流行的ORM产品。
关键词:持久化,对象关系映射,对象
参考文献
[1]计磊,李里,周伟.精通J2EE Eclipse Structs Hibernate Spring整合应用案例[M].北京:人民邮电出版社,2006,1.
[2]夏昕.深入浅出Hibernate[M].北京:电子工业出版社,2005,6.
浅析犯罪对象 第6篇
德国著名刑法学家汉斯·海因里希·耶赛克和托马斯·魏根特所著的《德国刑法教科书》中指出, 符合构成要件的行为所涉的现实对象, 被叫做行为客体或攻击客体。行为客体主要有人、物和非物质对象, 它们可以以不同形态出现:可作为身心的统一 (人的身体或生命) 作为社会价值 (被侮辱者的名誉要求) 作为经济价值 (财产) 作为物 (可狩猎之物) 作为现实的状态 (物的可使用性) 等等。[1]
日本刑法学者木村龟二认为, 行为客体是作为构成要件内容的行为对象。例如盗窃罪的行为客体是“他人的财物”, 杀人罪的行为客体是“人的肉体”。行为客体并不存在于所有的犯罪当中, 有的犯罪没有行为客体。行为客体是人的肉体、建筑物、财物、书信等感觉的对象。行为客体相同时, 法益不一定相同, 法益相同时行为客体不一定相同。[2]
意大利刑法学界普遍认为, 犯罪客体一词可以具有两重含义:一是指犯罪行为所侵犯的“刑法规范所保护的个人或集体的利益”, 一是指犯罪行为所直接作用的人或物。前者即“犯罪的法律客体”, 后者为“犯罪的物质客体”, 即犯罪对象。[3]
二、我国刑法理论关于犯罪对象的观点
目前我国刑法理论关于犯罪对象主要存在如下几种观点:
第一种观点认为, 犯罪对象是指刑法分则条文规定的犯罪行为直接作用的具体的人或物。其中人是社会关系的主体, 而物则是具体社会关系的物质表现或承担者, 这是我国关于犯罪对象概念的传统观点。这种观点将犯罪对象作为与犯罪客体有密切联系的事物, 认为犯罪对象属于犯罪客体要件的内容。
第二种观点认为, 犯罪对象也称行为对象, 是主体的犯罪行为所侵犯或者直接指向的具体人、物或者信息。这种观点认为犯罪对象不属于犯罪客体的构成要素, 而是属于犯罪客观方面要件的构成要素。
第三种观点认为, 犯罪对象就是犯罪客体, 指的是具体的人或者物, 犯罪对象应该与行为、结果紧密联系在一起。
第四种观点认为, 犯罪对象是指犯罪分子在犯罪过程中对之直接施加影响的, 并通过这种影响使某种客体遭受侵犯的具体的人或物。[8]
三、对犯罪对象的一些认识
第一, 犯罪对象属于客观的现象范畴。一经犯罪行为作用或指向, 就成了具有法律意义的, 不以人们的意志为转移的客观存在。犯罪行为对犯罪对象的作用或指向的具体情况, 通过受作用时的属性、状态的变化以及其他的影响记录于犯罪对象, 这种记录首先说明某种犯罪行为已经发生, 刑法所保护的一定社会关系受到了实际的侵害。某种客观事物在它受犯罪行为作用或指向以前, 还不是犯罪对象, 只是一种客观的自然存在, 只有当它受到犯罪行为的作用时才可能成为犯罪对象, 因此犯罪对象是与犯罪行为密切联系的事物。其次, 进一步说明谁的社会关系受到了侵害及侵害的程度。由于犯罪行为是具体的, 决定了犯罪对象也是具体的人的生命、健康、人格尊严、国家的主权、领土、物、注册商标等, 都可以成为犯罪对象。但在实际分析中受犯罪行为作用或指向的往往是张某的生命的停止、王某的财物丢失、某国家机关的正常活动的阻碍等这些个别的、具体的犯罪对象状态的变化。这些具体的犯罪对象是具体的权利义务关系的物质载体, 因此受犯罪行为影响的犯罪对象则可以表明具体主体的社会关系受侵害情况。再次, 反映犯罪行为的性质、激烈程度以及其他附随情况, 如时间、地点、手段、方法、使用工具等。犯罪行为的性质取决于受到侵害社会关系的性质, 犯罪对象又是认识一定主体社会关系的物质形态, 因此通过对犯罪对象及其具体内容的分析和研究, 结合犯罪构成理论, 就能判断出犯罪行为的性质及严重程度。同时通过对犯罪对象受到犯罪行为影响的外部表现的分析、推理、判断, 确定犯罪时间、地点、手段、方法、使用工具等, 从而为案件的侦破提供证据。
第二, 犯罪对象的具体人和物相同, 但其所处的状态不同, 也必然构成不同的罪行。如同是盗窃电缆的行为, 有的是盗窃仓库里的电缆, 有的是盗窃通信线路上的电缆, 犯罪对象都是电缆, 但前者体现的是财产的所有权, 构成盗窃罪, 后者体现的是公共的通信安全, 构成破坏通信设备罪。如果单纯从物的外表看, 都是电缆, 完全相同, 但是对犯罪对象的认识仅停留在这个层面, 是无法说明为什么犯罪行为作用了同一种具体物, 却侵犯了不同的犯罪客体, 构成不同的犯罪行为。物具有位置、形状、存在、归属关系等客观属性, 这些客观属性才是不同的社会关系客观存在的现象形态, 储存在仓库里的电缆处于备用状态, 是财产使用权的物质表现, 通信线路上的电缆处于使用状态, 是公共通信安全的物质表现。由于电缆的存在状态不同, 表明两者的犯罪客体是不相同的, 进而说明犯罪行为侵害的社会关系也不相同, 因此分别构成了不同的罪行。
第三, 犯罪对象状态的量变是犯罪构成中客观方面的重要指标。例如, 侵犯生命健康类型的犯罪中, 根据被害人身体由健康到, 轻微伤害、重大伤害直至死亡的身体健康的由轻到重的不断量变, 而来判断犯罪行为人客观上对他人造成多大伤害, 进而来确定是构成一般行政处罚、故意伤害罪行还是故意杀人罪行。我们可以通过作为犯罪对象的被害人的身体健康的状态的不断变化, 来确定客观方面。同时, 在客观方面认定时, 也是由于犯罪对象的状态变化量界定不同, 在司法理论界也出现多种争议, 例如, 关于盗窃罪的既遂标准, 理论上有接触说、转移说、隐匿说、失控说、控制说、失控加控制说。具体盗窃罪既遂标准适用那种说法, 在此不做过多阐述。
摘要:刑法学界一直对犯罪对象概念研究不够。在刑法体系中, 一般只在谈到犯罪客体时, 才附带对犯罪对象作一些解释说明, 长久以来犯罪对象这一概念并没有一个明确的定位。近年来, 虽然法学界对犯罪对象概念提出了一些全新的观点, 但零散而不成体系。笔者试图研习国内外有关研究发展成果, 理性思考, 阐述一些个人的观点。
关键词:犯罪对象,犯罪客体,社会关系
参考文献
[1][德]汉斯·海因里希·耶赛克和托马斯·魏根特:《德国刑法教科书》 (总论) , 徐久生译, 中国法制出版社2001年版, 第335页.
[2]张明楷:《法益初论》, 中国政法大学出版社2001年版, 第146页.
浅谈对象感 第7篇
关键词:对象感,意念,交流呼应
对象感对播音员来讲不是可有可无的东西。有了对象感, 就有了播音员的语气态度, 使语言的目的性增强。有了对象感, 对语速快慢的把握就有了顾及, 声音强弱的变化、高低的变化就有了依托。
那么, 我们怎么样来设想对象呢?这就要对听众观众分析研究, 了解他们的需求, 以便较为准确地把握住对象感。
对接受对象进行分析研究, 可从质的方面和量的方面进行。质的方面指交流对象的文化教育素养、道德水平、心里特点等个性特征。量的方面指交流对象的性别、年龄、职业、人数等一般情况。具体设想可这样进行。
一、根据节目设想对象。
电台、电视台在设置节目的时候, 就为收听群设计了具体的栏目、板块。比如:红绿灯、农村天地、青苹果乐园、老爸老妈等栏目。还有知识性节目、综艺性节目、服务性节目、省市新闻、国内新闻、国际新闻等等。有了具体的栏目、板块, 有了具体的收听群, 就有了目的和针对性的不同。既有收听对象的共同点, 又有收听对象的个性特征。我们在播音的时候感受就会具体, 态度就会鲜明, 目的就会明确。
二、依据具体内容设想对象。
也就是说内容对什么人最合适、最有用、最能解决问题, 由此来激发我们的内心运动。比如, 在新闻节目中, 涉及的面很广, 有政治的、经济的、科技的、工业的、农业的、文化、卫生、教育、社会新闻等。具体内容不同, 我们设想的具体对象的特点就有所变化。由此造成了我们内心反馈的差别, 使我们在播音的时候重点更突出, 感情更准确, 语言更有变化。
我们并不强求设想对象的统一性, 只要设想的具体对象能激发起我们的播讲愿望, 能更好地落实播讲目的就可以了。
怎样来把握对象感呢?
(一) 要解决与听众观众关系问题。
一般来讲, 我们与设想的具体对象是平等的融洽的关系。我们就应该坚持不卑不亢, 落落大方。既不盛气凌人, 又不唯唯诺诺。报以热情、诚恳、自信、直言的态度。另外, 在一般的关系里, 我们还应该注意某些特殊性。比如, 对犯罪分子, 对腐败分子就应报以截然不同的态度。
(二) 面对具体对象要产生具体感情态度。
在设想对象时, 我们依据节目和具体内容设想出具体对象。面对他们, 我们的内心要反应积极, 应唤起与之相一致的感情态度, 与他们交流呼应。只有这样, 我们节目做起来才会有血有肉, 才能让人感觉真正与对方交流起来了, 真实可信, 并在播的过程中与这种情绪相呼应。只有当你感觉到了听众的存在, 你的播音才会很丰富、很活跃, 有根有据。否则, 你的播音尽管表面上很热情, 但因为没有对象感, 就变得对空发言或自言自语。播音员与听众之间在思想感情上有给予、有接受、有呼应, 确实感觉到听众在听、在想, 并且随着内容的发展, 随着思想感情的运动, 产生着思想感情的共鸣, 我们似乎感觉到了听众的喜、怒、哀、乐等等反应, 而这些反应又激起我们强烈的播讲愿望, 激发出我们更加饱满的热情, 于是对象感就更强了, 在我们的感觉上似乎和听众之间建立起了相互激励、相互鼓舞的无形默契。用这些设想把“目中无人”无法和听众直接交流的遗憾弥补过来, 在自我感觉上找到与听众的交流。
(三) 对象感要稳定。
同一篇稿子不同的人播, 可以设想不同的对象。但一旦设计了某些对象后, 在播这篇稿子的时候, 这个对象应该是从始至终我们面对的, 而不能在同一篇稿子中, 一会儿觉得要对这类人说, 一会儿觉得应对那类人说。因为我们设想了具体对象后, 必然要产生与之相符合的感情态度, 产生了相应的语气。面对不同的对象, 感情运动状态也会有所不同, 如果具体对象不稳定, 必然造成感情运动的不连贯, 影响与听众观众的交流。
最后应注意的是, 声音的强弱、高低、明暗、虚实以及气息的变化。
1. 在播音创作过程中, 不必追求交流对象形象的清晰度, 可清晰, 可模糊。
追求设想交流对象的清晰度, 往往会干扰我们感情的运动, 会忽略对象的要求和对对象特定的把握, 以致造成内心无法引动与相应的心理状态, 达不到感情运动的连贯与变化。
2. 播音当中, 对象感可以时隐时现, 时强时弱, 但不能时有时无。
在播音时, 应牢牢把握住听众观众的存在, 心理上总是保持着对他们说的感觉。不管在与听众观众有直接呼应的词句上, 还是在直接交流不那么显露的地方, 都应该感觉到具体对象的存在、反映以及在我们内心产生的刺激, 这种刺激可以时强时弱, 但不能时有时无。
3. 在话筒前一定要把握好对象感。
对象感要贯穿始终, 表达时可以时隐时现, 但不能时有时无。
播音中出现对象感时有时无的现象, 多是因为对内容驾驭得不好, 才顾此失彼, 顾了内容, 忘了听众。如果对稿件吃透, 化稿件的话为自己的话, 那么播到与听众直接呼应的话语时会说得由衷自然, 听众会感到亲切爱听。
4. 要给听众观众留下思考、想象、回味的余地。
播音时感情调动起来以后, 就有了想对人说的愿望, 但在说的过程中, 容易忽略听众观众的接受能力。我们必须根据具体内容具体对象的特点把握好播音的轻重缓急, 只有听众观众听明白了, 才能达到交流的效果, 才能使播讲目的得到落实, 才能说到人家心上。■
参考文献
[1]张颂著《播音创作基础》北京广播学院出版社, 1999年9月
浅析研究对象的选择 第8篇
一、研究对象不明显
例1 如图1所示, 若拉着中间物体M以速度v竖直匀速下降, 那么在如图位置, 定滑轮两侧绳子上质量为m的物体的瞬时速度v1和v2的大小是 ( ) .
undefined、v1=v2=vcosθ
undefined。31mm
解析:本题有很多同学的典型错误是以中间物体M为研究对象, 将物体的速度沿两根绳子的方向分解, 如图2所示, 得undefined而选了B选项.错误的原因就在于研究对象选择得不对, 我们以左边一根绳子上与物体接触的点为研究对象, 该点速度与物体速度相同, 而该点参与了绳子的伸长和绳子的转动, 所以将该点速度分解到沿绳子方向和垂直于绳子方向, 如图3所示, 得v1=vcosθ, 而沿绳子方向的分速度就是m的速度, 同理研究右边物体与中间物体M速度关系时, 以右边绳子上与物体接触的点为研究对象可得v2=vcosθ, 在绳子末端速度分解的问题中由于研究对象的不明显, 往往会使研究对象选择错误, 所以在解决这类问题时, 我们应该以绳子上与物体接触的点为研究对象进行速度的分解.
二、研究对象较多
例2 如图4所示, 光滑水平面上放置质量分别为m和2m的四个木块, 其中两个质量为m的木块间用一不可伸长的轻绳相连, 木块间的最大静摩擦力是μmg.现用水平拉力F拉其中一个质量为2m的木块, 使四个木块以同一加速度运动, 则轻绳对m的最大拉力为 ( )
undefined
解析:本题涉及到的研究对象较多, 一共有四个物体, 所以有些同学不知该以哪个物体或哪几个物体为研究对象.下面我们对该题分析, 看看应该如何选择研究对象.
根据牛顿第二定律,
对ABCD:F=6ma ①
对BCD:fAB=4ma ②
对CD:T=3ma ③
对D:fCD=2ma ④
当绳子拉力最大时, 由③式得a最大, 比较②和④式可知此时AB之间先达到最大静摩擦力, 所以我们应该以BCD整体为研究对象, 由②式得:undefined所以undefined选项正确.若将CD之间的最大静摩擦力改为undefined, 其余条件不变, 则比较②和④式可知此时CD之间先达到最大静摩擦力, 所以我们应该以CD整体为研究对象, 由④式得:undefined所以undefined.由此可见, 当题中条件发生变化时, 研究对象的选择也要发生变化.所以当题目中的研究对象较多时, 我们应认真分析题目, 根据题中所给条件合理地选择研究对象.
三、研究对象发生变化
例3 如图5所示, 长度为L的矩形木板以速度v沿光滑的水平面子动时, 垂直滑向宽度为l的粗糙地带, 板从开始受阻到停下来, 所经过的路程为s, 而l
解析:本题学生的典型错误是以整个木板为研究对象, 认为它所受的摩擦力不变, 从而运用动能定理undefined解得:undefined.实际上在木板进入粗糙地带时, 对地面的压力有一部分是粗糙面承
受, 而另一部分由光滑面承受, 所以摩擦力f=μN中的N为木板对粗糙部分的压力, 所以该题我们应该以进入粗糙面的那部分木板为研究对象来计算摩擦力, 从undefined随x均匀变化所以undefined, 木板完全进入粗糙面后, 从l→s∶f恒为undefined, 所以undefined
对象识别研究模型分析 第9篇
关键词:对象识别,上下文相关,多层联系,依赖关系
1 概述
由于存在于网络中的信息自身所具有的分散性,基于网络信息的数据集成是基于WEB的一个非常重要的应用。但是,不同的数据源对于对象的描述往往不尽相同,同一对象在不同时间段的属性也会有不同。因此,基于不同数据源的数据集成中对象识别是目前的一个研究热点。他所研究的主要问题是如何判断哪些记录对应着同一个对象。对象识别属于数据清洗的过程,一个数据库只有进行完对象识别才能很好的进行分析。在信息集成中构建统一数据库的过程尤其需要对象识别。最初也正是由于需要识别多个数据源中的数据的匹配问题才提出了对象识别。
对象识别工作是与信息领域中的应用密切相关的。不同的应用系统会有不同的对象识别优化工作。但是,从整体上来讲,对象识别工作可以分成两个部分:如何计算记录间的相似度和如何减少比较的数量。在计算记录间的相似度时,大量的研究工作集中在如何计算对应属性的相似度上,然后使用一定的公式合成各个属性的相似度。减少比较的数量,可以加快对象识别的进行。
2 对象识别模型
随着计算机的应用越来越广泛,信息集成也越来越多,导致在数据库中进行对象识别的需求也越来越多。因此近年来数据库中进行对象识别的技术收到研究人员的广泛关注,已经开发出来了大量的系统,提出了大量的模型。
2.1 上下文相关的对象识别
文献[1]是新加坡国立大学的研究工作,提出采用作者表象的上下文属性来进行对象识别,判断两个不同名的表象是否对应同一个人。在论文数据库中,作者表象的信息非常有限,在大部分情况下只是一个名字,没有邮箱,身份证号码等区别信息。Mong L Lee等人第一次提出了“上下文属性”(context attributes)的概念,也就是在论文数据库中,论文的标题、发表时间,所属国际会议(杂志)、作者、出版社等属性中,到底哪些属性和要识别的作者属性是相关的。只有识别出相关的属性后,才能利用这些相关属性进行对象识别。
论文中提出了采用关联规则来查找属性值之间的相关性:一个属性的某个值与其他属性的某个值是否经常共同出现。在查找到的所有关联规则中,如果某一个属性的值和作者属性的值会产生很多的关联规则,那么这个属性就是作者属性的一个相关属性。例如,作者A和作者B经常一块出现,作者C和作者D经常一块出现。这样的规则频繁出现,可以知道合作者就是作者的关联属性。在判断过程中,由于一个作者通常会参加多个国际会议,作者和国际会议之间的支持度不是很高。例如,"Andrew Mc Callum"参加的国际会议包括"SIGKDD","ICML"和“NIPS”等。但是,"SIGKDD"、"ICML"和“NIPS”等国际会议都在相近的研究领域中。论文中提出由领域专家给定国际会议对应的研究领域概念层次树,如图1所示,然后判断作者和研究领域之间是否存在关联规则。
当把国际会议用它对应的更高层次的研究领域来替代后,研究领域也是作者的一个关联属性。获得作者属性(也就是要识别的属性)的相关属性后,利用这些属性判断两个表象是否同一个对象时,首先计算它们各个对应属性的相似度,而后合成两个表象的相似度,计算公式如下:
其中,Col Sima是相关属性a的相似度,iw是领域专家给出的相关属性i的权重。利用上面的公式计算出两个表象的相似度后,判断和领域专家设定阈值T的大小关系。论文是第一次提出利用关联规则查找表象的相关属性,并利用这些属性进行作者识别。但是,该文的工作需要领域专家手工的给出国际会议的概念层次树,计算公式也需要领域专家的手工设定权重,在实际大规模的数据上并不实用。
2.2 基于多层联系的对象识别
基于表象的上下文进行判断,只是利用了和表象直接联系的上下文信息,没有注意到表象上下文的上下文对于表象的识别也是非常重要的。Glen Jeh等人在文献[2]中提出了Sim Rank模型,提出利用对象关系图中点与点之间的联系来计算两点之间的相似度。Wensi Xi等人[4]在2005年国际信息检索大会上提出Sim Fusion模型,对Sim Rank进行了改进。从严格意义上,这两个工作并不是解决对象识别问题的,而是用来判断两个对象之间的相似度。但是他们提供了一个计算两点之间相似度的框架模型。对象识别工作[5]等就是基于这样的工作进行的改进。
在Sim Rank模型中,如果两个对象被相似的对象引用,那么他们的相似度增加,也就是两个点的相似度可以被它们邻近点之间的相似度来增强。作为对象识别的基础,一个点和自身最相似,相似度为1。Sim Rank采用迭代的方法计算两个对象的相似性,公式如下所示:
其中,A(a)是与对象a连接的对象,A(b)是与对象b连接的对象。Wc,d,a,b是对象间的联系权重。
Sim Fusion使用不同类型对象之间的随机行走模型进行节点相似度的判断。与Sim Rank相比,Sim Fusion可以利用多种类型对象之间的关系来计算两个对象的相似性。在Sim Fusion中,同一种类型的对象集合称为是一个数据空间,多个数据空间构成一个统一的关系模型矩阵,公式如下所示:
其中,Li表示同一种类型的对象i之间的关系矩阵,Lij表示不同的数据空间从i到j之间的关系矩阵。在关系矩阵中,每一个子矩阵的行和为1。由于Lurm看成是一个随机行走的单步转移矩阵,因此对于任意的。在统一的数据空间中,不同的对象(不管是否在同一个数据空间)之间的相似性的值定义成为一个统一的相似性矩阵USM。初始化为:
在定义了URM和USM之后,整个Sim Fusion的过程可以看成一个相似度互相增强的过程,即一个迭代的过程:
迭代结束后,分析相似性矩阵USM可以获得两个对象间的相似度。
采用基于Sim Rank或者Sim Fusion的方法计算两点之间的相似度时,只有对象间的关系非常完整才能获得很好的判断结果。而且,算法的空间复杂度是O(n2),需要计算任意两个点之间的相似度,算法的代价很大。
2.3 基于依赖关系的对象识别
在论文数据库中,多种对象之间存在依赖关系。进行对象识别时,首先识别出来的对象可以向正在识别的表象对提供有用的信息,而传统的对象识别工作没有考虑这样的依赖关系。例如,表1所示的例子。
表1所示的数据中,每一篇论文都具有3个属性值(1)标题Title(2)作者Author(3)国际会议Venue。传统的对象识别工作在计算两条对应记录的相似度时,首先计算对应属性的相似度,然后合并多个属性的相似度得到两条记录的相似度,如图2所示。在图中对象节点表示“表象1和表象2是否同一个对象?”证据节点是属性Ai和Aj的相似度大小。利用传统的对象识别工作,b1和b2两篇论文由于标题相同,作者的名字也一样,那么可以认定这两条记录指向同一个论文对象。在判断b3和b4时,虽然两篇论文的名字相同,但是他们的作者不一样,而且会议名字也不相同,计算获得的这两条记录的相似度偏低,所以不能认定这两条记录对应同一个论文对象。所以,传统的对象识别方法可以判断出b1和b2是一个匹配,但是b3和b4是一个模糊匹配。
然而,在上面的分析中可以发现,判断出b1=b2后,就可以知道KDD-2003和9th SIGKDD是相同的国际会议了。利用这个信息可以知道b3和b4是在同一个国际会议发表的同名论文,它们是两篇不同论文的概率是很小的,因此可以认定b3和b4也是一个匹配。同理可以判断Bill Johnson和William Johnson是同一个人。通过这个判断也知道了“Bill”和“William”在人名里可以互换。这样的知识也可以用来识别另外的对象。基于依赖关系的识别过程如图3所示。
文献[6]等是基于依赖关系进行对象识别的工作。在利用依赖关系进行对象识别时,首先需要在各个对象节点和证据节点间建立联系。在建立依赖关系图时,任意一个模糊匹配建立一个对象节点,这个模糊匹配的对应属性构成证据节点,多个对象节点通过证据节点进行连接。使用这样的依赖关系图,一个对象节点识别后获得的信息可以辅助其他对象节点的识别。一般说来,一个对象节点会有3种邻居节点:(1)实数类型的邻居节点(2)强逻辑关系的邻居节点(3)弱逻辑关系的邻居节点。一个对象节点的相似度是这三部分之和,总是介于0到1之间。
在进行对象识别时,对于实数类型的证据节点,采用下面的公式进行合成:
其中,λi是第i个证据类型的相似度,是其对应的权重。
对于逻辑关系的节点,不管它是强逻辑关系还是弱逻辑关系,使用下面的公式进行计算:
其中,|N bv|是对应的逻辑关系的个数。g是对应的权重,在公式中,强逻辑关系具有比弱逻辑关系更大的权重。
建立了依赖图后,在进行对象识别工作时需要使用迭代的方法进行计算。容易识别、连接强度大的模糊匹配首先被成功识别,然后在下一次的迭代中就可以使用这样的识别知识了。为了提高对象识别的速度,在基于依赖图进行对象识别时,如果一个节点中的两个表象被判为是属于一个对象,合并这两个表象,并立即触发它周围点的再次判断。
利用依赖关系图进行对象识别时,如果一个匹配的两个表象没有被建立为一个对象节点,那么这个匹配就没有被判断出来的可能性。所以这样的方法高度依赖于建立依赖关系图的方法,对于模糊匹配的选择要求很高。而且,由于一个表象会在依赖图中构成多个节点,导致依赖图非常庞大,程序运行的速度缓慢。
2.4 利用基于辅助数据源的对象识别
对于许多的模糊匹配,如果能够找到新的相关信息,完全可以判断出它们到底是匹配还是不匹配。例如,对于两个人名“Bob Smith”和“Robert Smith”,采用字符串相似度判断时会被认为是一个模糊匹配。但是在英文里作为人名的一部分时,“Bob”和“Robert”是一对可以互相交换的词。如果有辅助数据源可以提供这样的信息,那么就可以判断出这个模糊匹配是一个匹配。[7]中提出了一种利用多个辅助数据源查找辅助信息,结合已有信息进行判断的方法。系统中首先产生所有的模糊匹配,然后利用辅助数据源进行判断。系统模型图如图4所示。
从图中可以看出,系统中存在多个辅助数据源,当产生一个模糊匹配时,系统首先判断需要查询哪个数据源,然后再进行查询判断。例如,如果系统需要判断两个人名是否相同时,可以查询人名统计数据库;如果需要判断两个饭店的地址是否相同(街道是否有曾用名),可以利用地理数据库等。如果通过辅助数据源判断出两条记录对应着同一个对象,那么这个模糊匹配就是一个匹配。
由于查询辅助数据源会导致延迟,而且还可能会导入错误等,系统只是在产生模糊匹配的时候才会去利用中间件进行查询。采用这样的模型,可以提高对象识别的查全率。但是,论文中的辅助数据源是一些特定的数据源,需要提前知道数据源的模式,获得使用权限等。这样的要求大大限制了论文中模型的适用范围,不能作为一种通用的模型进行推广。
2.5 利用网络数据进行判断
论文[8]中研究了如何在网络搜索的网页中找到特定人网页的问题,提出一种利用网络搜索结果进行对象识别的方法。假设多个人TH={th1,th2,…,th N}之间存在社会关系,利用一个通用搜索引擎(例如Google)下载每一个人名的前k个网页。那么对于网页集合D中的N*k个网页,每一个网页d都和一个人名thi相关联:名字thi是从搜索引擎中检索出页面d的查询。
对于这样的网络人名识别问题,可以描述为在给定的模型下,如何判断两个网页是否属于同一个人。模型可以表示为f(d,h|M(K):在给定背景知识K的情况下,如何根据推导出来的模型M判断网页d是否属于某一个人h。通常情况下,存在社会关系的人之间的网页会存在交叉(interconnection)关系:或者内容相关,或者网页的超链接相关,而这些对象的同名对象(namesakes)之间则不会存在这样的关系。论文中提出利用这样的关系进行对象识别,找到所有的属于TH={th1,th2,…,th N}中人的网页。
在进行人名的对象识别时,首先可以根据网页之间的超链接关系进行判断。对于Google返回的网页,可以根据他们的地址栏获得相应的有效连通地址。例如,两个网页如果都属于相同的地址www.ibm.com,那么,这两个网页是连通的。在计算页面之间的超链接结构时,使用页面完整的URL作为有效连通地址会过于严格,而只采用域就显得过于宽松。论文中计算网页间的超链接关系时,页面的URL保留第一级子目录作为有效连通地址。例如,一个页面http://www.cs.umass.edu/~ronb/timeline.htm,返回的有效连通地址是http://www.cs.umass.edu/~ronb/。论文中提出对网页的有效连通地址进行聚类计算,生成多个连通子图。在众多的连通子图C1,C2,…,CM中,定义最大连通子图为包含多个不同人名的最大连通网页图。如果一个连通子图与最大连通子图的距离低于d,就认为这个连通子图符合连通模型,公式如下所示:
利用这样的连通模型,以最大连通子图为中心的众多连通子图构成相关网页的集合,而其他的网页就可以认为是不相关网页。
除了利用页面之间的超链接关系,作者提出利用BIB(Bootstrapped Information Bottleneck)聚类方法对于众多的网页根据内容进行聚类。在检索出的网页中,相似的文档应该具有类似的关键词,而类似关键词的文档分布也大致相同。在计算网页的聚类时,首先把所有的关键词放入一个大的聚类中,同时每一篇文档都作为一个独立的聚类。然后,关键词的聚类根据他们在文档中的分布进行分裂,而文档根据他们对应关键词的特点进行合并。这样,两个聚类方向互相进行启发,直到聚类完成。
采用上面的两种方法单独建立的聚类结果,可以进行合并。在BIB聚类方法中,选择和超链接分析中的最大连通子图大小最相似的聚类C,利用和这个聚类C存在覆盖关系的链接分析中的聚类,生成一个新的聚类0C*作为最大连通子图聚类。使用0C*替换公式(2-8)中的0C,可以获得更加准确的相关网页结果。
3 总结
在大量的基于不同数据源的数据集成应用中,对象识别的准确性直接决定了集成后获得的全局数据库的可用性。该文比较全面的介绍了目前对象识别问题中研究人员提出的典型识别模型,包括:上下文相关的对象识别、基于多层联系的对象识别、基于依赖关系的对象识别、利用基于辅助数据源的对象识别、利用网络信息的对象识别模型。并对上述识别模型进行了比较深入的分析。
参考文献
[1]Lee M,Hsu W,Kothari V.Cleaning the spurious links in data[J].IEEE Intelligent Systems,2004.
[2]Glen Jeh,Widom J.SimRank:A measure of structural-context similarity[C].Proc.Of SIGKDD,2010.
[3]Xi W,Fox E A,Fan W.SimFusion:Measuring Similarity using Unified Relationship Matrix[C].Proc.of SIGIR,2005.
[4]Xi W,Fox E A,Fan W.SimFusion:Measuring Similarity using Unified Relationship Matrix[C].Proc.of SIGIR,2008.
[5]Dmitri V Kalashnikov,Sharad Mehrotra,Zhaoqi Chen.Exploiting relationships for domain-independent data cleaning[C].SIAM Internation al Conference on Data Mining(SIAM SDM),2005.
[6]Dong X,Halevy A,Madhavan J.Reference econciliation in Complex Information Spaces[C].Proc.Of SIGMOD,2008.
[7]Michalowski M,Thakkar S,Knoblock C A..Exploiting secondary sources for unsupervised record linkage[C].IIWeb,2008.