业务构件中的可复用模式及其代码封装技术_第1页
业务构件中的可复用模式及其代码封装技术_第2页
业务构件中的可复用模式及其代码封装技术_第3页
业务构件中的可复用模式及其代码封装技术_第4页
业务构件中的可复用模式及其代码封装技术_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、业务构件中的可复用模式及其代码封装技术REUSABLE PATTERN AND ITS CODE PACKAGING TECHNOLOGY FOR BUSINESS COMPONENT哈尔滨工业大学2010 年 6 月号:TP315 UDC:621.3学校代码:10213密级:公开业务构件中的可复用模式及其代码封装技术:导师:战德臣教授申请学位:工学学科:计算机科学与技术所在:计算机科学与技术学院期:2010 年 6 月:哈尔滨工业大学答辩日授予学位Classified Index: TP315U.D.C.:621.3Disserion for the Master Degree in Eng

2、ineeringREUSABLE PATTERN AND ITS CODE PACKAGING TECHNOLOGY FOR BUSINESS COMPONENTCandidate: Supervisor:Academic Degree AppWang WeiProf. Zhan Dechen Master of EngineeringComputer Science and Technologyd for:Spelty:Affiliation:SchoolofComputerScienceandTechnologyJune, 2010Date of Defense:Degree Confer

3、ring Institution:Harbin Institute of Technology摘要摘要在企业管理务构件可以通过参数化和配置技术被复用以适应业务需求的变化,这种构件粒度大、可变参数多、结构复杂,难以开发。业务构件是所要处理的业务对象(如业务单据)的软构件实现结果,包含对象的数据信息及相关的业务活动等,是一种具有完整业务语义的大粒度构件。对于这种大粒度的软构件,其开发过程存在着大量的重复劳动,且其庞大的代码影响着自身的快速重构。为了提高业务构件的开发效率、确保开发的正确性、在一定程度上解决构件粒度的平衡问题,本文研究了业务构件中的可复用模式及其代码封装技术,从而极大地减少了业务构件

4、的开发量,有利于业务构件的复用,提高了业务构件的快速重构能力。本文首先以企业应用系统中的业务构件为出发点,着重分析了业务构件的概念、特性、模型、复用特点以及业务构件之间的关系。基于以上的分析结果,从已有应用系统中抽取业务构件的典型的可复用模式,详细地给出这些模式的分析、设计与实现过程。最后,以哈工大(威海)企业与服务智能计算技术的 I开发集成为研发,对这些典型的可复用模式进行实现,并且验证了其对于提高业务构件开发效率和复用性能方面的有效性和实用性。:复用;业务构件;可复用模式;代码封装IAbstractIn large scale software for entrise, business

5、component is reused to adaptrequirement changes by parameterization and configuration in large scale software forentrise, but it is difficulty to develecause of the large granularity, variousparameters and complexity of the structure. The business component is the softwareimplemenion of the prosing

6、business object, such as entrise bills. With datainformation and related profesal activity included, the business component is abusiness semsegrated and large granularity component. The development of thelarge granularity soft component takes much repeat work and the components ponderouscode frustra

7、tes its quick refectory.This pr presents reusable pattern and its code packaging technology for thebusiness component to improve the efficiency and correctness of development and in a certain degree resolve the balance of component granularity. So it largely decreases thelabor cost for business comp

8、onent development, makes for reuse of business componentand enhanThis pthe ability of quick refactoring.r starts from business component of entrise applications systems,mainly studied the concept, characteristics, m, reuse characteristics of businesscomponent and the relationship betn business compo

9、nents.According to all above, the typical reusable patterns are abstracted from the existingcomponent: dpattern. This p detail.orrelation pattern,usererface pattern and authority configurationr proedysis, designing and realizing pros of these patterns inFinally, base on Iplatform of research center

10、onelligent Computing forEntrise & Serviin Harbin Institute of Technology at Wei Hai for R & D platform,reusable ms and code packaging are implemented. Meanwhile, the feasibility andeffectiveness of the reuse rate of business component get a good validation.Keywords: software reuse, business componen

11、t, reusable pattern, code packagingII目录摘要IAbstractII第 1 章 绪论11.11.21.31.41.51.6课题来源1课题背景1研究目的和意义1国内外研究现状2目前的主要问题3本的主要工作内容4第 2 章 业务构件的相关分析52.12.22.3业务构件的概念5业务构件的基本 6业务构件模型8业务构件模型的描述8业务构件模型的元模型8本章小结10第 3 章 业务构件中的可复用模式113.1 引言113.2 业务构件中可复用模式的分析与提取113.2.13.2.23.2.33.2.4可复用模式的定义12用户界面模式13数据关联模式16权限配置模式2

12、03.3 本章小结24第 4 章 业务构件中可复用模式的实现与代码封装254.1 用户界面模式的实现与代码封装274.1.14.1.24.1.3用户界面管理27简单查询编辑界面模式28主从表耦合界面模式30III4.1.4 主从表分离界面模式314.2 数据关联模式的实现与代码封装324.2.1 JSP程序的结构324.2.24.2.3数据关联模式的实现34查询操作的执行优化与代码封装344.3 权限配置模式的实现与代码封装364.3.14.3.24.3.3权限定义36权限配置36角色权限管理374.4 本章小结39第 5 章 可复用模式的应用与验证405.15.25.3用户界面模式在场站管理

13、系统中的应用40数据关联模式在场站管理系统中的应用42应用效果分析435.4 本章小结43结论44参考文献45哈尔滨工业大学哈尔滨工业大学性 50使用书50致谢51IV第 1 章 绪论1.1 课题来源本课题来源于山东省自然科学基金重点项目“模型驱动的智能化软构件生成技术研究”(项目号:2007ZRA10003)。1.2 课题背景的企业应用开发,在传统的“构件+数据库开发”的基础上,正向“大粒度构件开发”的方向发展1。而业务构件(Business Component,BC)就是一种具有完整业务语义的大粒度构件,称其为大粒度构件是相对于小粒度构件(例如一般概念上的EJB、CORBA、DOC等分布式

14、构件)而言的,它是企业生产和经营过程中所处理的业务对象(如业务单据)的软构件实现结果,包含对象的数据信息及相关的业务活动等。对于基于业务构件的企业应用开发,各种业务构件之间存在着一定程度的相似性,程序员开发业务构件需要耗费大量的时间和精力在重复劳动上,影响了企业应用的开发效率。同时,企业外部环境和组织结构的经常性变动迫使企业应用中的各种业务构件更改其实现,以适应新的业务需求。为了提高业务构件的开发效率、确保开发的正确性、在一定程度上解决构件粒度的平衡问题,本文研究了业务构件中的可复用模式及其代码封装技术,从而极大地减少了业务构件的开发量,有利于业务构件的复用,提高了业务构件的快速重构能力。1.

15、3 研究目的和意义的发展成为制约计算机系统发展的主要,摆脱作坊式的开发模式提高的生产效率和质量成为当前的研究重点。解决这些问题最好的办法是从过去的项目中吸取经验,抽象出公共的部分,并在以后的项目中重用它们,形成设费计模式 2, 3 。复用可以提高生产率,缩短开发周期,降低开发和用,生产更加标准化的,提高开发质量,增强系统的互操作性。作为软件重用的一种有效,基于构件的复用技术成功地完成了将系统开发的重点从程序设计转移到对已有的构件的选取、调整、组装和升级的转换。在构件模型的支持下,通过重用已有的构件,开发者可以“即插即用”地快速构造应用系统,从而提高工作效率,产生更加规范可靠的应用。基于构件的开

16、发改变传统的信-1-息系统开发方法。针对将要开发的领域进行分析,根据该领域的特征找出或者设计符合条件的业务构件,然后将这些构件有机的组装起来成为一个系统4。一旦企业业务活动和业务流程发生改变,便找出相对应的业务构件进行修改或者重新设计,而不需要对整个信息系统进行重构,这样则大大的节省了人力和财力,构件技术就是在此种情况下应需而产生的。本文根据业务构件的复用特点,尤其是大粒度构件的复用特点,讲述了可复用模式的概念,将业务构件的共性抽象为模式,从业务构件中抽取出典型的可复用模式,并对这些可复用模式进行代码封装,因此较大地提高了业务构件的开发效率和可复用度,在一定程度上解决了构件粒度的平衡问题;缩短

17、了业务构件开发的周期,减少了大量重复代码的编写,降低了开发费用,提高了生产率;更易配置最优的解决方案,可选择的复用模式使得业务构件的功能丰富、完备;减少了出错风险,因为用于组装构件的可复用模式均已各自通过了测试和验证,保证了开发的质系统的开量;提高了系统的灵活性,缩短了系统的开发时间,减少了发和费用,是最终实现复用的现实可行的技术。1.4 国内外研究现状目前,基于构件的开发已经越来越广泛的应用起来,并且实践证明是一种行之有效的工业化方法。在开发过程中普遍存在研发成本高、实施成本高、集与应用 (Entrise software &成成本高、实施周期长等问题,在企业 Applications ,E

18、SA)管理开发过程中,这些问题尤为突出。基于构件的开发已经成为降低开发成本的重要方法之一5。在工业界,应用比较成构件技术有微软公司的组件对象模型(Component Object M,COM)/分布式组件对象模型(Distributed Component Object M, DCOM)、SUN公司的JavaBeans/企业级JavaBean (Entrise Java Bean ,EJB)或对象管理组织(Object Management Group ,OMG)的公共对象请求结构(Common Object Request Broker Architecture, CORBA)等,当前业务构

19、件大多是基于这些构件开发并组装而成的6。在对这些业务构件可重用性的研究务构件的粒度用来衡量其包含功能的多少,是影响其可重用性的关键。业务构件的粒度可以很大(如对整个表单的处理),也可以很小(增加一个数据项操作)。小粒度构件的优点是易于定义和开发,粒度小,通用范围广,可在较多应用中进行复用,但其众多小粒度构件的组装过程较为繁琐,会导致复用效率低;反之,构件的粒度越大,构件组装时需要的步骤就越少,可复用效率越高,但其复用范围也越受限7。在提高构件的复用度方面,文献8提出了一种基于业务策略的构件设计模型,-2-刻画影响复用性能的多个指标,以实现复用最优化的目标函数。也有研究将模式概念引入构件复用领域

20、,通过模式化构件共性,以提高其抽象度和复用度。文献9利用预定义的模式进行构件识别和选择,提高复用效率;文献10提出一种基于模式的元模型优化建模方法。部分研究也开始关注大粒度业务构件的复用性能,文献11从企业级开发的视点提出了基于大中粒度业务组件的开发思维框架;文献12认为,业务构件是位于分布式系统体系结构不同层次上软构件的集成体,并提出一种基于分层的业务构件元模型;文献13提出基于形态、层次、描述三个维度的可复用构件模型,用其优化构件的描述、规约模型,指导企业的系统性复用;文献14提出一种基于跨业务领域的功能构件复用方法,给定编译与运行参数实例化成特定领域和具体功能的构件。除此之外,文献15通

21、过领域分解抽象出企业构件,建立了具有可配置性的体系结构风格,以适应需求变化性。1.5 目前的主要问题上述各种方法通过不同抽象层次提取构件、优化构件模型设计来提高构件复用性能,但这些方法存在以下问题:构件优化偏重于细粒度对象层次4-6,不能适用于大粒度构件的复用,而大粒度构件具有复用效率高的特点,其复用的灵活性同样重要,当前的研究并未侧重这一点;对大粒度构件的抽象层次越高,虽然扩大了可复用范围,但适配工作量增大,复用效率随之降低;大多数研究是统计分析构件使用频率,对可使用性方面的优化和有用性的关注较少,优化程度有限,也缺乏对大粒度构件开发效率的改善。为使基于构件组装的ESA能够适应更广泛的业务变

22、化,需要保证构件具有较高复用效率和较大有用性,需要提高大粒度构件复用度16。虽然目前构件重用还没有在设计领域得到全面推广,但是真正的工厂还未形成,仍然存在一些问题,如大的构件库的建设、构件的分类和检索、构件的装配与集成等,使得构件的重用仍处在较低的水平17。然而构件由于其本身的诸多特性,正在成为开发的一个热点,基于构件的开发方法被视为解决、提高生产效率和质量的一条现实可行的途径18。构件重用的目标是达到需求、分析、设计、编码、测试的重用。在不同层次上,构件均可以将底层的多个逻辑组次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现,从而使人装配

23、定制而成19,20。像硬件一样,能任这些研究主要集中在系统的结构、开发框架、基础构件的应用机制与方法及基于业务构件的复用上,并没有对业务构件中的可复用模式进行分析、归纳、整理和概括,形成可以满足业务需求变化、实现业务构件灵活配置的系统需求。有些-3-研究将模式的概念引入构件复用领域,通过模式化构件共性,以提高其抽象度和复用度;也有一部分研究对业务构件中的模式做了简单的划分,但是没有系统、具体的对其进行分类和整理,抽象出共性部分,形成可复用模式。为了增强市场竞争力,企业的业务需求总是不断变化的,这就要求管理必须具有柔性以适应持续变化的业务需求21。随着面象技术的成熟,构件化的软件体系结构和基于构

24、件的企业管理开发方法也逐渐成为解决此问题的首选方案。构件的复用与重构技术可以构件的适应能力,其中参数化与动态配置技术可用于开发具有适应性的构件,使其在应用过程中满足持续变化的需求22,23。目前,构件的粒度是影响业务构件复用性能的重要24,构件提取与构件粒度是密不可分的。粒度是一个难以清晰定义的概念,它表征了复用体的规模与复杂程度25。构件所处的粒度层次越高、所能提供的功能多,其粒度就越大。构件粒度越大,一些不需要的功能就可能越多26。细粒度层次的构件复用范围较大,但复用这类构件以进行系统构造时,需要将数目众多的构件进行组合,因而复用效率较低;反之,处于粗粒度层次的构件具有较高的复用效率,但复

25、用度较低27。如果能够尽可能的将业务构件中相对稳定的、共有的可复用模式封装为一个粒度更大的构件,从而可以在保证构件不需频繁发生调整的情况下充分利用大粒度所带来的优越性,以提高复用性能。这也是对业务构件中可复用模式进行研究的一个重要应用。1.6 本的主要工作内容基于上述问题,本课题研究了业务构件中的可复用模式,以解决小粒度构件复用效率低,提高大粒度构件的复用度,在一定程度上解决了构件粒度的平衡问题,并且通过对可复用模式进行代码封装,极大地减少了在业务构件的开发过程中重复代码的编写,提高了业务构件的可复用性。本课题研究的主要内容有:(1)(2)(3)业务构件的分析和研究。业务构件中的可复用模式分析

26、与提取。业务构件中可复用模式的实现与代码封装。本文首先以企业应用系统中的业务构件为出发点,着重分析了业务构件的概念、特性、模型、复用特点以及业务构件之间的关系。基于以上的分析结果,从已有应用系统中抽取业务构件的典型的可复用模式:用户界面模式、数据关联模式和权限配置模式,详细地给出这些模式的分析、设计与实现过程。最后,以哈工大(威海)企业与服务智能计算的 I开发集成为研发,对这些典型的可复用模式进行实现,验证了其对于提高业务构件开发效率和复用性能方面的有效性和实用性。-4-第 2 章 业务构件的相关分析2.1 业务构件的概念首先理解业务构件,在实际的开发过程务构件是如何识别、提取的。其次通过对大

27、量业务构件的分析,采用正确、有效的提取方式,对其中相对稳定的、共有的、可复用的成分进行识别,抽象为可复用模式。业务构件最早是由Peter Herzum 和Oliver Slimes 在其专著The BusinessComponent (1998.9)给出:“业务构件是一个独立的、自治的(自包容的)业务概念或者处理流程的实施,它由所有必要的单元组成,这些、实施和扩展所给定的业务,是组成信息系统的独立的、可重用性”28。在企业生产和经营过程务构件(Business Component,BC)是所要处理的业务对象(如业务单据)的软构件实现结果,包含对象的数据信息及相关的业务活动等29。业务构件是一种

28、具有完整业务语义的大粒度构件,称其为大粒度构件是相对于小粒度构件而言的,例如一般概念上的EJB、CORBA、DOC等分布式构件可看作是小粒度构件。网络环境下的业务构件大都采用分层的结构,每个层次分别由若干小粒度构件组装而成,且在各自的环境(客户端或服务器端)中运行,相互衔接为用户提供完整的服务。从上面的定义可以看出,业务构件是业务对象和构件的融合,是业务对象实现所形成的自治业务概念和可复用的单元。业务构件的主要对象是业务概念,可以是一个独立的业务概念,也可以是一个业务的处理过程,它是构件化信息系统可重用的基本单元30。业务构件是对业务的抽象,每个业务都包括一些业务进程和业务行为31。业务构件的

29、设计既要满足系统需求,又要具备高内聚、低耦合、易重用的特点。根据业务构件的特性,可以将业务构件做出如下定义:业务构件 BC=(BC_N,BC_I,BC_S,BC_Q),其中:(1) BC_N 表示业务构件名,其命名应具有色。名规则,并能体现其业务特BC_I 表示业务构件的接口。业务构件接口是一组相关操作的集合,它向用户展示了该构件提供服务的名称。BC_S 是业务构件特性的详细描述,它可采用自然语言的形式形成业务构件的文本说明,信息等。业务构件的开发环境、运行环境、业务功能、使用环境及可重用-5-(4) BC_Q是业务构件的质量属性。由于业务构件是为了实现某一项业务处理功对其进试20。BC_Q能

30、,因此设计完成后,要依照企业业务流程的实际主要是描述该业务构件的实现功能、可复用的范围等信息。BCquality levelquality mode-description-description-methodServiceQualityerfacequality factorquality propertyb-usiness pros property-name-description-valuecontext-method-BP descriptiontechnology m-function-descriptionerfatandard+()+ver()+function()+descr

31、iption()+keyword()图 2-1 基于业务流程的业务构件描述模型通过以上对业务构件的介绍,可以了解到构件的使用价值和复用的价值与其粒度相关较大粒度构件的功能比较齐全,复用更节省系统开发的工作量,但是耦合性比较高,可重用性比较差,而且抽象的难度也比较大;而较小粒度的构件则比较容易获得,耦合性比较低,但是节省的工作量较小,功能较少,即小粒度构件在成本方面就相对较弱。因此,要根据企业自身的情况,合理的设计业务构件的粒度边界。目前的趋势是大粒度构件复用,但粒度也并非越大越好。2.2 业务构件的基本业务构件是业务对象和构件的融合,是业务对象实现所形成的自治业务概念和可复用的单元。业务构件的

32、主要对象是业务概念,可以是一个独立的业务概念,也可以是一个业务的处理过程,它是构件化信息系统可重用的基本单元。业务构件是对业务的抽象,每个业务都包括一些业务进程和业务行为。业务构件的设计既要满足系统需求,又要具备高内聚、低耦合、易重用的特点。业务构件的如图 2-2 所示。-6-操作转发程序图 2-2 业务构件的示意图业务构件清楚而完整地表示了业务单据中的数据,业务单据中的主数据集、子数据集在业务构件中都有对应的分区实现;同时,业务构件实现了关于业务单据的所有操作,包括查询、新增、删除、修改、审核确认等;业务构件中有专门的字段保存业务单据的状态,以业务单据的整个生命周期;并且,业务构件集成了业务

33、单据的所有业务流程,比如单据的编制、审核、下达等,因此业务构件能够为业务单据的多个处理功能。业务构件以 jsp、java、class 和 xml 等文件集合的形式存在,具体包括前台 JSP程序、操作转发程序、业务处理逻辑、class 文件、全局静态配置文件、用户个性化配置文件。-7-前台JSP程序Javaclass业务处理逻辑数据库封装操作XMLJspXMLXML构件描述构件配置文件文件持 久 层模 型 层控 制 层展 示 层单据状态:正在编制 第0页/共0页扩展操作012345n修改新增清空删除单据名称属性1 属性2属性3 属性4重置查询业务构件子数据集关联数据集数据集生命周期单据审核单据下

34、达单据编制操作集新增 修改 删除 审核确认查询主数据集2.3 业务构件模型2.3.1 业务构件模型的描述业务构件是企业应用中各种单据的实现,可由表示层、业务逻辑层和数据层组成的三层架构来实现。其中,表示层刻画了用户模式,其可变性主要包括布局和操作模式可变属性,前者影响构件用户界面的显示风格和效果,如数据控件的显示顺序、可显性、可用性等布局信息,后者用于控制和规范用户操作流程;业务逻辑层提供了业务对象的处理接口,可变性主要包括与权限控制相关的属性,如控制数据存取范围的权限信息;数据层可变性主要提供了可变的外部数据接口定义,可以通过变更构件的数据定义或结构来适应同一构件到不同企业数据表的。业务构件

35、包含了一组界面,每一个界面又划分为几个功能操作相对独立的分区,分区内又包含了各种类型的数据项和操作项。同时各分区之间还存在着“父子关系”或者“关联关系”。此外,业务构件还有对应的数据模型。基于业务构件的概念,业务构件模型需要描述如下几方面内容:(1) 业务构件的基本信息,包括业务构件的ID、名称、构件功能、版本号、所属领域、创建组织、作者、创建日期、技术;(2) 业务构件的前逻辑,即业务构件的界面、界面的分区、分区的数据项集合、分区的操作项集合、分区之间的关联等信息;(3) 业务构件的数据模型,包括业务构件所用的数据表,数据字段的定义以及数据表的约束情况。业务构件的模型为了满足上述要求,界面给

36、出了业务构件模型的元模型,如图 2-3 所示。每一个界面体现了业务构件的一种用户模式,界面之间存在着相界面的包含了若干个分区,分区间存在关联关系;(2) 分区用关系,分区是界面内一组数据项和操作项的集合,这些数据项的内容之间有很紧密的关系,共同描述了单据某一方面的信息,而操作项也与分区内的数据项高度相关;(3) 数据项数据项是一组编辑控件的集合,这些编辑控件共同组成了业务单据的某一项数据。同时,数据项也是权限控制的最小之一;-8-*11111 11*1111111*11111*11block/分区1111111*11*111*11图 2-3业务构件模型的元模型编辑控件编辑控件是业务构件内最小的

37、数据处理单元,对应于数据表的一个字段。编辑控件可以包含选择按钮、校验条件和计算公式;操作项操作项是对业务构件上一组数据项的业务处理逻辑。同时,操作项也是权限控制的最小之一。业务构件提对业务的抽象,每个业务都包括一些业务进程和业务行为。故可知一个业务构件的基本组成部分是业务对象(Business Object,简称 BO)、业务行为(Business Behavior,简称 BB)及业务进程(Business Tenor,简称 BT)。一个业务进程可以分解为多个业务行为,每一个业务行为要求业务对象作为输人数据,要处理得到的业务对象作为输出数据。由此 业务构件模型如图 2-4 所示。-9-edit

38、control/编辑控件editcontrols/编辑控件集合extendOp/扩展操作extendOp/扩展操作dat1aitem*/数据项generalOpSet/常规操作集合extendOpSet/扩展操作集合*Keydatas/关键数据项Dataset/数据项集合editRelations/编辑控件关系集relation/分区关系blockRelations/分区关系集erfa/界面inputInfo/输入信息BasicInfo/基本信息BC/业务构件erfa/界面集合DbSchema/数据模型da able/数据表图 2-4 业务构件的模型一般对业务对象的操作有生成(Create,简

39、写为 C)、编辑(Edit,简写为 E)、检索(Index,简写为 I)。对这些操作进行分析可以发现,检索操作只是一个只读操作,故可以将这些操作分为两类:高级操作(生成,编辑)、低级操作(检索)。高级操作的联系程度较高,低级操作的联系程度较低。业务行为之间的交互活动实际上是属于不同业务行为的业务对象之间的交互。由于业务对象的操作有三种(生成、编辑、检索),故业务行为之间的交互有以下几种:C-C 或 C-E 交互:这种业务行为之间的交互即对每个业务行为中的业务对象进行生成或编辑操作,显然以这种形式进行交互的业务行为之间的联系程度极高,故应将它们构造成同一业务构件。C-I 交互:对其中一个业务行为

40、中的业务对象进行生成操作,对另外一个业务行为中的业务对象进行检索操作,应将以这种形式进行交互的业务行为构造为不同的业务构件。如果两个业务行为没有公共的业务对象,则显然应将它们构造为不同的业务构件。2.4 本章小结本章以企业应用系统中的业务构件为出发点,分析和研究了业务构件的概念、特点、及其模型。通过对大量业务构件的分析,采用正确、有效的提取方式,便于对其中相对稳定的、共有的、可复用的成分进行识别和提取。-10-BO1BB1BO3BB3BO2BB2BO4BB4BB4BB2BTBB3BB1BT4BT3BCBT2BT1第 3 章 业务构件中的可复用模式3.1 引言在业务构件的开发和复用过程中,发现,

41、一方面对于基于业务构件的企业应用开发,各种业务构件之间存在着一定程度的相似性,程序员开发业务构件需要耗费大量的时间和精力在重复劳动上,影响了企业应用的开发效率。同时,企业外部环境和组织结构的经常性变动迫使企业应用中的各种业务构件更改其实现,以适应新的业务需求;另一方面,构件的使用价值和复用的价值与其粒度相关32。较大粒度构件的功能比较齐全,复用更节省系统开发的工作量,但是耦合性比较高,可重用性比较差,而且抽象的难度也比较大;而较小粒度的构件则比较容易获得,耦合性比较低,但是节省的工作量较小,功能较少,即小粒度构件在成本方面就相对较弱。在企业与应用管理开发过程中,上述问题会常常遇到,并且在企业应

42、用中包含了大量这样的业务构件。通过上一章节对业务构件的相关分析,了解到这些业务构件之间体现了一些共性的东西,可以将这些共性的东西提取出来形成模式。这样,一方面可以提高业务构件的开发效率,减少不必要的重复劳动;另一方面可以在一定的程度上平衡构件识别的粒度,弥补大粒度构件复用性能较差的缺点。从用户的角度,模式体现了业务构件的使用场景、界面风格和对该界面的操作步骤;从实现的角度,模式体现了业务构件的组成情况以及各部分的程序结构;从权限配置的角度,模式体现了业务构件对于“角色集到控制单元集”的建立方式,这就是本文研究的内容业务构件中的可复用模式。3.2 业务构件中可复用模式的分析与提取对于模式,早期C

43、hristopher Alexander 曾提出“每个模式描述了一个在周围不断重复发生,以及该问题解决方案的,这样,你就能一次一次地使用该方案而不必做重复劳动”33 。事实上,工程中存在着多种模式,如架构中的Cnt/ Server 模式、三层和多层结构模式;企业应用的构造技术,如View Control ,MVC) 模式、工作流技术34, 35;在具体的模型- 视图- 控制(M开发技术层面也包含很多模式,如数据源架构模式、对象延迟加载模式等36。通过对系统中的各种单据及其业务处理的研究发现,几乎所有的表单处理都存在许多共性的内容。例如,很多表单都是通过对数据的查询、增加、删除、修-11-改这几

44、个基本操作完成表单处理,都是一个主表附带若干子表(如订单) 。这些共性的特征形成了业务构件的各种处理模式。根据模式所面向方向的不同,可以将这些模式分为:面向用户特征的用户模式、面向系统实现特征的实现模式、面向功能映射和权限配置方面的权限配置模式37。3.2.1 可复用模式的定义本文所论述的业务构件中的可复用模式就是解决粒度平衡问题、实现构件复用的一种重要方式。业务构件中的可复用模式,是指从不同的业务构件或业务构件之间的关联中抽象出来的共同特性,而不考虑各种业务构件的具体特性。可复用模式的提取是将业务构件中相对稳定的、可复用的成分抽取出来,形成重复使用的构件单元模式,以便以后开发业务构件时使用。

45、详细分析抽象出来共有业务的业务处理过程和信息流向,确定业务对象,按照一定的业务规则构建模型。抽象出业务构件的可复用模式,可以忽略业务流程执行方式的改变给企业带来的风险,提高系统的柔性。可复用模式的提取如图3-1所示。业务构件同特性的抽象程度决定了模式的可复用度和复用效率。抽象程度高意味着模式很容易应用于不同的具体环境,但表达能力上则减弱,即复用效率低;抽象程度低表明模式包含了的具体特性,却难以应用于不同的环境中,即可复用度低。模式的提取隐含着一个重要的原则,就是避免或降低对具体应用环境的依赖性。第 N 层模 式可复用模式?模式1?模式2?模式p第 2 层复用效率可复用度.?模式 1?模式2?模

46、式 m?模式 3第 1 层运行模式业务流程业务功能.业务构件1 业务构件2业务构件3业务构件n第 0 层图 3-1 可复用模式的提取示意图-12-抽象层次3.2.2 用户界面模式许多有经验的界面设计下意识的使用成问题解决方案,但是设计很少对解决方案进行形式化的描述和归纳。于是,不精确的设计模式和形式化的设计模式同时并存。形式化的模式能够作为收集并形式化用户界面设计知识段。用户界面模式表达了合理的信息和对于类似的项目来讲较为成设计。然而,它不能作为设计知识的单一的资源,必须由传统的信息资源作为补充,必须作为相互联系的模式的语言的一部分,能够互相参与和支持。用户界面设计模式首先在文献38中提出,并

47、模式如何被移植到用户界面交互设计中。文献39模式关注于问题的上下文和设计方案,这个方案引导设计者应用设计知识解决问题。文章探索了如何建立用户界面设计模式,以便使界面设计模式成为设计者的有效的、可用的工具,提出了用户界面设计模式的组成结构,并给出了具体的一个实例。We重于分类和简单描述,未挖掘将设计模式分类收集,并给出具体设计模式,其侧原理,未涉及具体实现和使用。PD. MBUI将模式与模型结合40,克服基于模型界面开发的局限性,但只提供界面基本元素的设计模式。当前存在的用户界面模式主要从工作模式上考虑,针对某一个应用问题给出一个设计模式。同时,对于业务构件中经常使用的界面设计没有形式化的描述,

48、将其通用部分提取和表示出来,不利于用户界面的复用,从而降低了构件的开发效率。 用户界面模式分析从本质上看,界面展示单元是为了完成用户与业务数据对象的某种交互而存在的,所以业务数据对象是界面展示单元的内涵定义所在;从外观上看,界面展示单元是多种控件的布局和排列,通过不同的组合方式和布局策略,多种展示风格来展示业务对象的数据信息,所以界面风格是界面展示单元的外延表现;从实现机制上看,界面展示单元是完成业务对象和用户之间交互的桥梁,每次交互任务都是通过各种逻辑操作来完成的,并且体现了该业务对象的操作流程及整个生命周期。所以,把任何一个界面展示单元都可表示成为一个三元组:PU:= 其中,Busines

49、s Objects代表所要展示的数据对象,Behaviors代表所提供的操作或服务,Presenion Style代表外在展示风格。从设计者的角度来看,界面展示单元是一个可用的界面构件,因而可以作为有效的界面设计知识来使用。与其它界面设计知识相比,界面展示单元在保持成分语义可用性的基础上,缩小了界面-13-成分的粒度,并依据界面区域的逻辑来划分,因此粒度较为。界面展示单元涵盖了业务对象、操作行为和展示风格的描述,因此,本文以界面展示单元PU(Presenion Unit)作为可复用的界面设计研究的重要切入点。 用户界面模式的形式化描述本文所示单元,从的用户界面模式,是从界面角度分析常用的业务构

50、件的界面展模型、交互行为和展示风格三个方面来描述的语法框架。任何一种界面模式都是某一类界面展示单元的抽象描述和全面规范。用户界面模式(Usererface Pattern)是一个三元组,可形式化描述为:,Operation Set,Presenion StyleUIP:=erior M模型IM (erior M),是对需要展示的业务数据对象的需求规范,在定制具体的界面展示单元时,可以选择要展示的对象及其属性字段;操作集合OS (Operation Set),是对用户在界面展示单元上所能进行的操作的需求规范,包括来自和服务;模型和外部展示控件的以及所能提供的其它接口展示风格PS(Presenio

51、n Style),是满足某种展示风格的、所有可定制的展规范。如表格展示形式中各种与表格展示相关的属性控制。示属模型所谓模型,就是需要在界面展示单元上展示和操作的业务对象或者业务对象的集合,并且建立了各属性字段与抽象展示控件的关系。其中,对象由属性集合来确定。属性是需要展示的基本数据,它由名称、数据类型、抽象展示控件集合(完成属性展示所需要的控件)和控件的大小组成。模型规范了一个或者多个能够用某一展示风格PS展示的对象(集合)。业务对象明确了需要展示的数据,它可以是来自数据库中的对象,如普通对象;也可以是仅仅需要展示而不需要对其操作的基本数据类型对象。 展示风格展示风格,是对常用的界面展示形式的

52、总结和规范,体现了界面设计中固定部分的复用。展示风格由多种原子控件按照不同的布局形式组合而成,不包含任何关于交互行为的描述。Presenion Style:=其中,PSName表示展示控件名称,如Grid(表格形式)。任何展示风格都包括对-14-展示控件的边距(margin)、外观(appearance)、布局(1ayout)、超(hyperlink)等内容的控制,因此把这些属性称为公共属性集合(Public Property Set)。除了公共属性之外,各展示风格还具有区别于其它风格的特有属性,称为特殊展示属性集合(Specific Property Set)。展示风格类型一旦确定,这种风格

53、相应的 Specific Property Set中的所有属性也就确定了。例如,树形展示形式中根节点文字、连接线样式等。公共展示属性集合(PPS)和特殊展示属性集合(SPS),这些参数关注的是展示风格的整体展示效果的控制。独立于任何业务系统,仅对界面展示形式进行分析,界面上常用的展示风格有格式、树形、图形、表格形式、菜单、多页展示形式等。 操作集合操作集合体现了用户界面模式的交互特性,描述了该模式上能够提供的所有操作。Operation Set:=其中,IMOperation表示来自模型的操作,如添加、修改、删除、查询等对数据库的操作;PSOperation表示来自展示控件的,如表格展示形式中

54、表格响应的各种事件;erOperation表示模式为完成某些特定功能或者交互任务所提供的操作或服务,如体现业务构件的整个生命周期的操作或者工作流服务等。模型、展示风格和操作集合,作为用户界面模式的描述框架,提取了常用界面展示单元各部分的所有不变属性和可变属性,并予以规范,目的是建立可复用的界面设计解决方案。通过实例化模式各部分的特征参数,建立满足用户需求的界面展示单元,然后根据它们之间的交互关系进行语义组合,最终建立可复用的用户界面。 用户界面模式的分类基于上面模式框架,可以构建不同的用户界面。在企业应用系统中的业务构件,其界面样式是有限种的,业务处理操作也是有规律的。在企业应用系统的开发过程

55、中,需要编写大量的重复代码,为此从企业应用系统抽取出若干种典型的界面和业务操作并定义为用户界面模式是非常必要的。在企业应用的开发过程中,发现了三种具有代表性的用户界面模式,它们是简单查询编辑模式、主从表耦合模式以及主从表分离模式。其中,最经常使用的是主从表的耦合及分离模式,该界面模式实现了“一个主表和多个子表的复杂业务对象”的处理界面,如采购申请单、采购计划单等。该模式的意图就是定义一-15-种“能够在同一页面内或者跳转到另一页面查询并处理父子表数据”的界面。由于展示风格依赖模型,而模式上的操作又决定于模型和特定展示风格,所以,可以依据模型来对模式进行分类。简单查询编辑模式。该模式对应的模型一

56、般为单一的业务对象,所描述的界面展示单元分为两个区域:查询区和数据显示区。包含的操作主要为简单的查询操作,展示风格多为表格的形式,并且可以对满足查询条件的业务对象行添加、修改、删除等编辑操作。进主从表耦合模式。该模式所对应的模型通常为多个相对简单的业务对象的集合,包含对主从表的查询和编辑操作,主要特点是这些功能在同一页面的展示和完成,体现了对业务对象操作的连贯性。主从表分离模式。该模式所对应的模型为多个复杂的业务对象的集合,包含对主从业务对象的查询和编辑操作,与主从表耦合模式不同的是对主子表的操作分为两个页面进行。主页面为索引页面,对主表的业务对象进行查询和编辑操作;跳转页面是对每条主表的业务

57、对象相关字表的业务对象进行相应的操作。其展示风格多为卡片与表格形式的组合,方便用户对复杂的主从业务对象的数据处理。3.2.3 数据关联模式 数据关联模式分析从用户角度而言,业务对象是指用户所、传递和处理的表单、单据和报表等文档,以及在其上的状态处理和操作处理的集成体。从系统角度,业务对象是指具有独立标识的、具有一定生命周期的、由若干数据集和操作集象。的一个集成对在业务构件的开发过程中,对于业务对象的数据查询操作以及业务对象之间的数据关联操作应用的非常频繁。这些查询构件作为属性和操作的集成体,包括固定部分和可变部分。其中查询界面的设计在一定的时期和范围内是相对稳定的,可以把这些固定部分抽象为模式

58、,用于复用;而查询的操作方式和数据的显示方式这些可变部分可以通过参数化与配置转化为不变特征来完成复用,进而增强了模式适应业务需求变化的能力,实现了最大程度的复用,极大地提高了业务构件的开发效率。从这两方面来看,模式是规律性和可变性的有效组合。-16- 数据关联模式的形式化描述数据关联模式(Data Assotion Pattern)描述:在业务构件的开发过程中,一个业务构件通常需要关联到其他的业务构件,并要求所关联的业务对象显示出符合用户要求的数据以及数据的显示方式,并将所获取的业务对象集合关联到这个业务构件上。其相似之处在于:(1)(2)(3)(4)对数据库中的某个数据表进行;根据设置的查询

59、条件,检索出用户需要的数据; 按照某种数据组织方式显示给用户,供用户选择;将用户选择的数据结果集按照某种关联方式返回给调用者。本文将数据关联模式形式化定义为一个六元组:DCP: =其中 DAP_id 表示关联的唯一标识;DBO_id 表示目标业务对象实例标识;DBO_attr 表示目标业务对象的关联属性;SBO_id 表示源业务对象实例标识;SBO_attr 表示源业务对象的关联属性;ASS_value 表示关联的值。 界面风格分析企业应用系统中的业务构件,其界面样式是有限种的,业务处理操作也是有规律的。数据关联模式的显示界面分为两个区域:数据查询区和数据显示区。查询区的功能是输入并提交查询条

60、件。位于该分区顶部是操作区域,包括了“查询”操作和“重置”操作。其中“查询”操作校验并提交用户的查询条件,“重置”操作清空所有查询条件的编辑控件;位于该分区主置的是查询条件区域,包括了多个数据项。每个数据项设定一个查询条件,其编辑控件可以是文本框、下拉列表框,编辑控件可以绑定选择按钮,用来选择日期或者打开单选或多选界面。查询结果区是一个数据表格,显示了用户的多条查询结果。位于该显示区的上方的操作区域,包括“选取”和“排列方式”两种操作方式。其中“选取”操作是用户用来选择所需数据;“排列方式”操作是显示数据的组织方式。数据表格的第一行是标题行,显示了各列的名称。下面各行是数据行,显示查询结果。数

温馨提示

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

评论

0/150

提交评论