耦合度分布

一、分布问题

当我们根据系统的需求信息来设计基于三层Client/Server模型的MIS系统的时候,一个很重要的工作就是需要确定MIS系统由多少个客户端、应用程序服务器和数据库服务器组成,用户、功能和数据是如何分布在客户端、应用程序服务器和数据库服务器上的。

对于一个MIS系统来说,我们都可以将它抽象分解为用户集U={u1,u2,..,ul}、功能集F={f1,f2,..,fm}和数据集T={t1,t2,..,tn}。用户通过调用功能集中的一些功能模块,来存取数据集中的数据表。我们可以用***1说明它们之间的关系:

本文所要讨论的分布问题包括用户分布(UserDistribution)、功能分布(FunctionDistribution)和数据分布(DataDistribution)。用户分布指的是根据系统的需求,决定如何在客户端各个平台上分配用户,即每个客户端允许哪些用户使用。功能分布也称处理(process)分布、事务(business)分布、逻辑(logic)分布,指的是如何在应用程序服务器各个平台上分配功能,即决定哪些功能适合在哪些平台上完成。数据分布的粒度大小可以是数据库、数据表、行、列等,我们这里讨论的数据分布逻辑单元是数据表(以下简称数据),数据分布指的是如何在数据库服务器各个平台上分配数据,即如何在服务器上组织这些数据。

二、耦合度的计算

在分布式MIS系统中,之所以有不同的客户端、应用程序服务器和数据库服务器,是因为用户之间、功能之间和数据之间也存在着一种类似的不同“吸引力”。我们将这种“吸引力”取名为耦合度(CouplingDegree)。我们将两个用户分在同一个客户端的可能性称之为用户耦合度,两个功能分在同一个应用程序服务器的可能性称之为功能耦合度,两个数据分在同一个数据库服务器的可能性称之为数据表耦合度。这里讨论耦合度,是因为耦合度是分布式MIS系统网络节点划分的依据。耦合度是不同种因素的函数。

耦合度=f(因素1,因素2,…,因素n)

用户耦合度用户之间所属关系、距离和特殊要求等因素都可能影响用户耦合度大小。企业的部门和职务之间的所属关系构成一棵部门职务关系树或森林,叶结点为用户。直接同属一个部门的两个用户肯定比间接同属一个部门的两个用户分在同一个客户端的可能性要大。我们将两个用户到它们最近共同祖先的最大距离定义为两个用户之间的疏远度,当两个用户分属于两棵关系树时,它们的疏远度为¥。如***2所示的部门职务关系树中,用户u1(职务1)和u4(职务3)之间的疏远度为2,用户u1和u3(部门6)之间的疏远度为3。疏远度越大其耦合度越小,我们给不同的疏远度以不同的权值,这样就可以折算为耦合度值。

两个用户相距400米以内肯定比两个用户相距1公里以上分在同一个客户端可能性要大。两个用户相距越近,其耦合度越大,用户相距远近给予不同的权值,以折算为耦合度值。针对企业的一些特殊要求,我们用程度词来说明两个用户分在同一个客户端的可能性,常见的程度词如必须、尽可能、不可能、不能等等,我们给不同的程度词以不同的权值,以折算为耦合度值。

功能耦合度很明显,调用功能1的所有用户和调用功能2的所有用户之间的关系越紧密,这两个功能分在同一应用程序服务器的可能性就越大。这种用户调用功能的关系对功能耦合度影响较大,但其它因素也影响功能耦合度大小。

数据耦合度功能存取数据的关系对数据耦合度影响较大。其它影响数据耦合度大小的因素包括数据库系统的特殊要求、MIS系统要求等。

三、分布过程

用户、功能和数据分布主要是确立Client/Server系统结构。我们这里主要讨论基于耦合度的用户、功能和数据划分过程,用户、功能和数据耦合度是我们进行网络节点划分的依据。用户、功能、数据分布需要解决两个问题:1)MIS系统由多少个网络节点组成。2)用户、功能、数据是如何在这些网络节点上分配的。这两个问题的解决又是统一的,即如何进行网络节点的划分。下面我们以用户分布为例,来说明分布过程的具体步骤。

设企业的用户集合U={u1,u2,…um},Lu为客户端分组划分的用户耦合度下限。我们的目标是找出一个最小个数客户端集合C={C1,C2,C3,…,Ck},客户端C1,C2,C3,…,CkíU,满足(1)C1,+C2+C3+…+Ck=U。(2)任意Ci∈C,Cj∈C,i≠j有Ci∩Cj=φ。(3)若RF(ui,uj)>=Lu,则用户ui,uj就在同一客户端。

具体步骤如下:

第一步,计算用户之间耦合度。这里RFd(ui,uj)、RFc(ui,uj)、RFs(ui,uj)分别表示用户ui和uj之间由于距离、所属关系、特殊要求等因素影响的耦合度。

RF(ui,uj)=RFd(ui,uj)+RFc(ui,uj)+RFs(ui,uj)+…

第二步,求用户二元关系Ru。

Ru={|"ui,uj?U且RF(ui,uj)3Lu}

第三步,求Ru的等价关系Ru挕?

Ru?t(Ru)

第四步,客户端划分C。

C=U/Ru?/P>

分布是一个权衡的过程,不存在唯一正确的方案。必须兼顾目标与限制,综合考虑所有方面的因素。

四、分布的自动生成工具

我们设计和实现了一个MIS系统辅助开发环境NDTool(NodeDistributedTool),这是一个基于耦合度和领域知识的用户、功能和数据分布的自动生成工具。该系统设计过程贯穿了我们所提出的思想和方法。

ECSL(EnterpriseConceptStructuredescriptionLanguage)是一个企业概念结构描述语言,主要用于获取最终用户所提供的企业的需求信息。采用中文的类自然语言形式,面向最终用户。

DKDL(DomainKnowledgeDescriptionLanguage)是一个领域知识描述语言,主要用于获取领域专家在MIS系统开发上所积累的经验,并将所得到的领域知识存放于领域知识库中。该语言面向领域软件专家。

领域知识库用于存放领域知识。由DKDL获取的领域专家的开发经验,经过分析、组织,所得到的结果保存在领域知识库中。我们提供一组领域知识库的操作接口,用于领域知识库的存取和维护工作。

MADL(MISSystemArchitectureDescriptionLanguage)是一个分布式MIS系统体系结构描述语言,主要用于描述MIS系统中的用户、数据和功能的分布情况。它是NDTool系统最后生成的结果。该语言面向软件开发人员。

NDTool系统的工作流程。首先,将领域软件专家所掌握的领域知识,描述成DKDL文本,经过DKDL编译器的编译,并调用领域知识库的接口将所分析的结果存入领域知识库中。当需要开发MIS系统时,企业最终用户将他的需求信息用ECSL语言描述出来。通过ECSL编译器进行编译,参考领域知识库的有关领域知识,计算用户、功能和数据耦合度,再根据耦合度进行网络节点的划分,最后将结果用MADL语言描述出来。提供给开发人员进行数据模型和模块设计。

五、结束语

本文围绕基于耦合度的Client/Server结构应用程序的分布过程及其自动生成工具的实现进行了讨论。分布问题具有一个不确定性的特点,同时分布将耗费开发者大量的精力。如何合理地设计分布构造方法以及设计分布的自动生成工具是Client/Server系统开发过程中一个重要问题。

【摘要】本文主要讨论分布式应用系统中基于耦合度的用户分布、功能分布和数据分布问题。

【关键词】用户分布,功能分布,数据分布,耦合度,领域知识,自动构造

随着Client/Server结构应用系统复杂和扩大,其数据、功能和用户的分布问题变得日益突出。合理有效地设计MIS系统模型是MIS系统能否有效发挥效率的关键。通常处理这些问题都是软件开发人员根据其以往的开发经验,设计的好坏受人为因素影响很大,且方案因人而异。本文提出了基于耦合度的分布过程解决方案,并在此基础上实现了一个分布的自动生成工具。

转载请注明出处学文网 » 耦合度分布

学习

小学安全管理制度

阅读(16)

本文为您介绍小学安全管理制度,内容包括小学安全工作领导机构管理制度,小学实验室安全管理制度。一、学校成立安全工作领导小组,校长任组长,副校长、教导主任、业务管理教师、后勤教师为成员,负责学校安全工作的指导、督促、检查、考核和管

学习

初中英语教学

阅读(36)

本文为您介绍初中英语教学,内容包括初中英语教学资料完整版,初中英语文本教学。摘要:从什么是“以活动为中心,学生自主学习”、为什么用“以活动为中心,学生自主学习”、《新目标英语》为实施“以活动为中心,学生自主学习”提供了教学可行性

学习

章琳:变性人纸婚年里的甜滋酸味

阅读(86)

24岁时,在家人的安排下,章琳非常不情愿地跟一位姑娘结了婚。婚后,章琳一直不习惯夫妻生活。在女儿12岁时,章琳和妻子离了婚。

学习

医学分子生物学

阅读(21)

本文为您介绍医学分子生物学,内容包括医学分子生物学名词解释总结,医学分子生物学教材。2001年诺贝尔生理学/医学奖卢义钦

学习

智能无线电技术

阅读(27)

本文为您介绍智能无线电技术,内容包括无线电技术与应用,无线电技术历史。随着软件无线电技术的发展,智能无线电技术逐渐成为通信领域关注热点,并给无线通信带来新的发展空间。讲座将分为3期对智能无线电技术技术进行介绍:第1期讲述智能无线

学习

少林内功五拳

阅读(51)

本文为您介绍少林内功五拳,内容包括少林内功五拳之鹤拳,少林正宗内功五拳电子书。白氏之意,谓人之一身,精、力、气、骨、神皆须加以锻炼,使互相为用,方克臻上乘。盖精不练不固,力不练不强,气不练不聚,骨不练不坚,神不练不凝也。五拳者,即可以练精

学习

药物牙膏知多少

阅读(31)

本文为您介绍药物牙膏知多少,内容包括药物牙膏的细分标准,药物牙膏什么牌好。随着科技的发展及技术的进步,各种类型的药物牙膏相继问世,改变了牙膏单一的清洁功能。

学习

学会使用秒表

阅读(21)

本文为您介绍学会使用秒表,内容包括秒表计时器在线使用,秒表的使用方法和读数。时间的国际单位是秒,符号是s,常用的单位还有小时、分等.换算关系式是

学习

观千剑而识其器 操千曲而后晓声

阅读(19)

本文为您介绍观千剑而识其器 操千曲而后晓声,内容包括闻千曲而后晓声观千剑而后识器,观千剑而后识器听千曲而后晓声。一:简单描述

学习

浅谈“学案”导学的作用

阅读(20)

本文为您介绍浅谈“学案”导学的作用,内容包括导学案的作用及操作要求,导学案教与学的关系。“学案”导学把教学重心从研究教材的教法上转变到研究学生的学法上,促使教师进行角色转换。它要求教师从主演变为导演,把主演位置让给学生,走下讲

学习

工程材料采购合同

阅读(21)

本文为您介绍工程材料采购合同,内容包括材料采购合同范本,工程材料采购合同样本3篇。甲

学习

生物习性种群分布

阅读(24)

摘要:双蕊兰是兰科最原始的孑遗植物,是世界上唯老秃顶子独有物种。腐生习性,终生不具绿叶腐生小草本,与某一类真菌共生,它的分布区域极其狭窄,种群数量出现逐年减少现象。双蕊兰的发现,进行生物习性观测、调查,采取保护措施,将对其特殊生境及其生

学习

酵母样真菌的分布及药敏分析

阅读(42)

本文为您介绍酵母样真菌的分布及药敏分析,内容包括真菌病临床及病原菌分析,诊断侵袭性真菌的微生物标准。摘要:目的:探讨广东省阳东县人民医院院内酵母样真菌感染的常见菌种分布、标本来源及药敏分析情况,以指导临床合理用药。方法:收集201

学习

分布式计算技术介绍

阅读(20)

本文为您介绍分布式计算技术介绍,内容包括分布式计算的基本原理,分布式计算是什么意思。摘要:作为使用低成本的硬件来达到高性能计算机性能的一项技术,分布式计算技术近年来发展迅速,并且在科研、数据搜索、复杂数据计算等方面发挥了重要作

学习

浅谈控制性详细规划

阅读(27)

本文为您介绍浅谈控制性详细规划,内容包括浅谈控制性详细规划的心得体会,文晖单元控制性详细规划。摘要:控制性详细规划以城市总体规划或分区规划为依据,确定建设地区的土地使用性质、使用强度等控制指标、道路和工程管线控制性位置以及空

学习

中国地震带分布

阅读(18)

本文为您介绍中国地震带分布,内容包括深圳地震带分布区域,郯庐地震带分布城市。我国位于世界两大地震带――环太平洋地震带与欧亚地震带的交汇部位,新生代主要受印度板块的挤压,地震断裂带十分发育。

学习

详细解读《国家纺织品基本安全技术规范GB18401—2010》

阅读(49)

[摘要]2011年6月14日,国家标准化委员会,复函中国纺织工业协会(国标委办工二函[2011]17号):“GB18401-2010《国家纺织品基本安全技术规范》国家标准延期至2012年8月1日实施,自2012年8月1日起,不符合GB18401-2010《国家纺织品基本安全技术规范》

学习

分布式计算

阅读(16)

本文为您介绍分布式计算,内容包括并行与分布式计算,分布式计算教材。AjayD.Kshemkalyani

学习

测试方法详细介绍

阅读(16)

本文为您介绍测试方法详细介绍,内容包括测试接地线有效的方法,附着力测试方法的标准。比重