面向对象的流程模块设计研究.ppt
2,图 1,动态组织流程模块的产生环境,面向对象技术及其特点 8,2.1,产品模块化的研究进行得比较广泛,主要包括模块化系,构化方法将过程和它所处理的内容分离为相互独立的实体,在,产品结构 4,模块化产品开发中的供应商关系 5 等等。相比较,任务的不一致的认识。,流程的协作设计6 和模块化组织结构 7 等。,流程模块化的实践在制造业有较长的历史。大约在一个多,间的相互作用和联系就构成了各种各样不同的系统,构成了我,、,、,、,、,面向对象的流程模块设计研究,刘汉进 陈俊芳 诸葛良,上海交通大学管理学院,上海 200052,摘要:面向对象的企业流程模块可以提高流程模块的可用性 独立性 可维护性和可重构性。文章说明了对象化流程模块的特点,提出了面向对象的流程模块设计方法,并分析了流程模块对象化设计的影响因素。关键词:流程;模块化;面向对象,中图分类号:TP391.72 文献标识码:A 文章编号:1001-2265(2004)08-0030-03,Object-oriented process module design,LIU Hanjin CHEN J unfang ZHUGE Liang,Abstract:By using object-oriented design method,the process module can be more independent.Also it can be more useable,maintainable and reconstructable.In this paper,the characters of object-oriented process module are illustrated,the object-oriented designmethod for process module design is approved,and the factors that may affect the efficient of the process module are analyzed.,Key words:process;modularity;object-oriented,代动态意义上的流程模块的产生。,引言,与静态流程模块相比,动态流程模块的产品与流程相分离,随着流程复杂程度的不断提高,在标准化和技术进步的推 具有较强的灵活性和产品适应性,可以在很大程度上缩短新产动下,流程的模块化设计和应用逐渐得到企业的重视,越来越多 品的流程建立时间,使产品迅速推向市场。如图 1 所表示的那的企业开始采用模块化组织结构,以应付环境的变化和竞争的 样,输入和需求的多样性对流程的动态性和灵活性提出了要求,加剧。然而,企业在流程模块的设计中主要采用了结构化方法,标准化程度的提高和技术的发展为动态流程模块化创造了条流程模块只具有相对的独立性,流程模块和它的服务对象之间 件,管理难度和竞争的加剧以及模块化可能取得的规模经济性存在大量的交互行为,这在很大程度上限制了模块化的优势。迫使和驱动企业采用更能适应市场需求和环境变化的动态流程,面向对象的技术较好地解决了流程模块的结构化方法存在 模块。,的问题,它采取模块封装和消息传递机制,并通过模块中流程能力和产品能力的结合,减少了流程模块和用户的交互行为,增强了流程模块可用性 独立性 可维护性和可重构性。,1 流程模块化及其发展,Sanchez 等人认为,模块化是一种特殊形式的设计,目的是通过标准化的组件接口规格在组件设计之间创造高度的独立性和松散耦合 1。Baldwin 等人认为,模块化是一种有效地组织复杂产品和流程的战略,它采用较小的可以独立设计子系统组合,成复杂的产品和流程2。前者所指的模块化的对象主要是产 2 流程模块的对象化,品,后者则将流程纳入了模块化的研究范围。,流程模块化设计可采用结构化方法和面向对象的方法。结统 2,模块化创新 3,模块化组件和模块化产品设计 1,模块化任务的执行中,过程的所有者和内容的所有者往往会产生对于产品模块化研究,流程模块化的研究进行得较少,主要有产品和面向对象的方法则认为:客观世界是由许多各种各样的对象组成,每个对象都有各自的内部状态和运动规律,不同对象之世纪前,生产商在制造产品时就常常将复杂的产品流程分成不,同的模块,如汽车制造商通常在不同的地点生产汽车的不同组 们所面对的客观世界。,件,然后再集中组装。对象主要具有模块独立性 动态连接性和易维护性等特性。然而,这只是一种传统的静态意义上的流程模块化,它的模 面向对象技术吸取了结构化的基本思想和主要优点,并且将过块化流程与产品往往是对应的,随着产品的产生而产生,也随着 程和内容作为一个相互依存 不可分割的整体来处理,避免了结产品的消亡而消亡。产品的多样性和产品竞争的加剧,使静态 构化方法存在的问题。流程模块越来越暴露出其缺乏灵活性的缺点,同时也促进了现,30 组合机床与自动化加工技术,1994-2006 China Academic Journal Electronic Publishing House.All rights reserved.http:/,、,、,、对,、,、,、,、,、,、,、,2.2 结构化流程模块与对象化流程模块的区别流程模块的结构化实现方法和对象化实现方法都实现了从传统的静态流程模块向动态流程模块的转变,但对象化流程模块在模块的可用性 独立性 可维护性和可重构性上比结构化流程模块具有更大的优势。它们之间的主要区别有以下三点:(1)过程调用与消息传递在结构化流程模块中,流程是一个独立实体,显式地为其使用者所见,顾客所需的服务通过调用流程模块而实现,在服务的实现中存在大量顾客与流程模块的交互行为。而在对象化模块中,任务的实现方法隶属于对象,是对象的功能的体现,服务的完成通过消息传递机制由对象流程模块单独进行,这使得顾客与流程模块之间的交互行为大大降低。(2)模块中产品能力与流程能力的关系在结构化流程模块中,流程中涉及产品内容的产品支持和维护属于流程的用户,因而模块中的产品能力与流程能力想分离。在对象化模块中,流程作为一般意义上的类而存在,通过接受用户的产品信息产生任务,流程中产品的支持和维护均封装,性创造条件。对象分析包括标识对象 结构和主题,定义属性(及实例连接)和服务(及消息连接)。对象分析完成后,流程模块即可用包括主题层 结构层、象层 属性层和服务层的五层模型来表示。(4)对象封装图 3 流程模块与对象模块的映射关系如果对象分析不能达到预期的目的,就需要重新进行模块分解;反之则可进行模块封装。对象的封装如图 4 所示,封装后的对象,在任务中,因而模块中产品能力是与流程能力相结合的,实现了任务产生之前流程与产品相分离,而任务产生之后流程与产品,具有 个清楚的边界,并提供和外部用户之间相互作用 请求和响应,图 4 流程对象的封装,相结合的动态流程调度机制。(3)模块的灵活性和可重构性模块中产品能力的加强以及消息传递机制的应用,使对象化流程模块在服务的实现中具有更大的独立性。一方面,对象化流程模块比结构化流程模块更能适应产品输入和需求的变化,具有较强的灵活性;另一方面,由于对象化模块的封装性,它也更能适应环境和组织变化所引起的组织重构。3 面向对象的流程模块设计3.1 流程模块对象化方法流程模块对象化的基本步骤如图 2 所示。图 2 流程模块对象化的基本步骤(1)流程模块的分解一个总的流程模块可以由若干个流程模块组成,这些流程模块又可以由若干个子模块组成,具体的任务则由模块或子模块通过顾客的产品需求实例化而产生。在这些流程 子流程以及任务之间存在的关系包括:继承关系 聚类关系 实例化关系。流程模块对象化首先要通过明确它们之间的关系,将总流程模块进行分解。(2)流程模块向对象模块的映射确定了流程模块内部的关系后,可以按照图 3 所示的方法将流程模块映射成对象模块。(3)对象分析对象分析的目的在于,提供对象设计和对象实现之间的桥梁,明确需要完成的任务(做什么)和如何完成任务(怎么做);在方便流程设计的同时,方便用户对流程模块的理解,使用户和流程模块能在对象与属性 分类结构和组装结构的框架上定义和交流系统的需求;显式地表示模块结构与内容,为系统的可重构2004 年第 8 期,的接口,其内部的实现细节受封装壳保护。对象封装后,用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。封装本身体现了模块件,将对象的使用者与执行者分开,将定义模块与实现模块分开,使模块的可维护性、可修改性大为改善。流程的封装包括从总流程到具体任务的所有对象类和对象实例的封装,封装后的流程模块通过所提供的接口和协议对外提供服务。3.2 对象化模块的信息传递机制对象化模块通过消息实现任务。消息传递机制有两种方式,一种是将整个职能封装为一个对象类,通过提供统一的接口处理消息;另一种是将总流程和子流程分别封装,各自处理消息。后者实现的方式比较简单,但增加了用户选择流程模块的难度;前者反之,降低了用户选择模块的难度,却增加了实现的复杂性。这时,流程模块可通过图 5 所示的一个层次服务接口模型来实现任务的分配:用户的服务需求经过层次服务接口后,根据服务所需要的流程被区别为大型任务 中型任务和小型任务,分别对应涉及不同流程层次的服务,再分别实例化成相应的任务,完成用户的服务需求。图 5 对象化流程模块的层次服务接口模型4 流程模块的可对象化性因素对象化流程模块在模块的可用性 独立性 可维护性和可重31,1994-2006 China Academic Journal Electronic Publishing House.All rights reserved.,http:/,、,、,、,中 低,、,、,、,、,、,、,、,组织战略。,参考文献,块,对于其它三种情形,可分别采取模块,edge management in product and organisation design.Strategic,合并、,模块拆分和模块重组的方法构造新,Management Journal,1996,17,(Winter Special Issue),6376.,的流程模块,再按照图 7 所示的原则重新,6 内聚度和,图,1 Sanchez,R,Mahoney,J.T.,.Modularity,flexibility,and knowl2,(2)产品(服务)的成熟度或专业度,熟(标准化程度高),在任务的执行中,流,能取得的效果就越好。,Graw-Hill,New Y,NY,1995.,ork,流程模块所提供服务的专业度越强,用户所能介入的程度,5 Hsuan,J,Impacts of Supplier-Buyer Relationships on Modular,越低,此时流程模块与用户之间所能产生的交互和反馈也越少,ization in New Product Development.European Journal of Purchas,同样,这样的流程模块的可对象化性也越强。,ing&Supply Management,1999,5:197209.,4.2,模块封装的接口资源,4 Ulrich,KT,Eppinger,S.,Product Design and Development.Mc2,and Process.McGraw Hill,New Y,ork.1989.,作者简介:刘汉进(1970-),男,江苏东台人,上海交通大学,个模块而言,可以减少接口资源在模块资源中的比例,提高模块,的资源利用率。,构性上比结构化流程模块具有更大的优势,但并非所有的流程模块都适合采用面向对象的方法。流程模块的对象化所取得的优势是通过牺牲资源而换取的,它建立在通信技术和管理信息系统的强大功能的基础上。影响流程模块可对象化性的因素包括模块间的信息处理 模块封装所需的资源和流程模块所提供的服务的运输和传递的方便性。4.1 模块间的信息处理对象化流程模块将模块和外部的交互和耦合转化成消息传递,所有的消息传递都须通过模块提供的接口进行,模块间大量的信息传递造成接口的通信能力瓶颈,信息通过接口中继产生的传输失真,并继而引起传输效率下降和成本增加。模块的耦合度和内聚度 产品(服务)的成熟度和专业度通过影响模块间信息流量而影响流程模块的可对象化性。(1)模块的内聚度与耦合度耦合度表示系统结构内不同模块彼此之间相互依赖(连接)的紧密程度,包括数据耦合 控制耦合 共用耦合和内容耦合,是对模块独立性的直接衡量指标。模块的耦合越松散,模块间的联系就越小,模块的独立性越强,模块间信息传输的数量和复杂性也就越低。内聚度表示一个模块内部各个元素彼此结合的紧密程度,用以衡量模块内部的整体统一性,它是信息隐蔽概念的自然扩展。根据模块内部构成情况,模块的内聚可以划分成高、三大类内聚。常见的内聚可分成:功能内聚 顺序内聚 通信内聚、过程内聚 时间内聚 逻辑内聚 偶然内聚七类,它们的内聚程度依此从高到低。流程模块的可对象化性与模块的耦,接口的复杂程度决定了接口实现的难易程度,复杂的接口需要系统配备更强的处理能力以满足系统的整体性能要求,因此需要更多的接口资源。接口和协议的设计应尽量降低接口的复杂性,使之易于实现。4.3 服务的传递和运输对象化模块的一个优势在于它能够适应的多样性输入和需求,为不同的用户的不同产品提供服务。但一个现实的情况是,不同的用户可能存在空间和地域上的差异,这就产生了服务的传递和运输。对服务的需求方,采用对象化模块流程提供的服务所取得的优势应足以抵消服务的传递所耗费的成本和时间。随着信息技术的发展,无形产品的传递成本大大降低,而传递速度则取得了很大的提高。因此,模块的对象化较易发生在法律 财务 人力资源等提供无形产品服务的流程上。而有形产品服务的流程模块的对象化主要发生在生产制造等具有明显规模经济和研发试制等产品传递和运输量较少的场合。5 结束语面向对象的流程模块设计采用封装 继承等方法和层次服务接口协议,使用消息传递机制,将模块的流程能力和产品能力相结合,利用技术和标准的发展,使流程模块获得了良好的可用性、独立性 可维护性和可重构性,充分体现了模块化带来的提高组织效率 适应变化与竞争的优势。在流程模块设计中,应全面考虑模块对象化所能取得的优势和它所带来的包括模块间的信息处理 模块封装所需的资源和流程模块所提供的服务的运输和传递等对组织成本和效率的影响,综合评估模块化战略的效果,实施有利于组织长远发展的,合度和内聚度之间的关系见图 6,适合对象化的模块为内聚度高但耦合度低的模2 Baldwin,CY,Clark,K.B.,Managing in an Age of Modularity评价。耦合度与流程模 J.Harvard Business Review,1997,Sept-Oct,8493.块对象化的关系 3 Christensen,C.M.,Rosenbloom,R.S.,Explaining the attacker用户所提供的产品或服务信息越成矩阵 s advantage:technological paradigms,organizational dynamics,and the value network.Research Policy 1995,24:233257.程模块与用户之间所需的交互和反馈越少,流程模块对象化所 6 James L Nevins,Daniel E.Whitney,Concurrent Design of Product影响模块封装所需接口资源的因素包括对象粒度和接口复杂性。7 Schilling M A,Steensma H K.The Use of Modular Organizations对象粒度指流程模块所包含的流程规模。在面向对象的系 Forms:And Industry-Level Analysis.Academy of Management统中,系统由若干个对象组成,对象粒度在两个方面影响系统性 Journal,2001,44(6):11491168.能:对象的规模经济性和对象封装所需的资源。对象粒度的增 8 朱海滨,阳国贵,刘仲.面向对象原理与应用 M.长沙:国防大也可以从这两方面提高系统效率。一般来讲,对象的规模经 科技大学出版社,1998济性随对象规模的增大而增大;大的对象粒度对系统而言,可以 收稿日期:2003-12-05减少系统中的对象数目,从而减少对象封装所需的资源;对于单管理学院博士研究生。陈俊芳(1945-),上海交通大学教授,博士研究生导师。(编辑 李秀敏)32 组合机床与自动化加工技术 1994-2006 China Academic Journal Electronic Publishing House.All rights reserved.http:/,