翻新时间:2023-04-18
基于耦合度的分布问题研究
基于耦合度的分布问题研究 基于耦合度的分布问题研究 基于耦合度的分布问题研究基于耦合度的分布问题研究 中共广州市委办公厅自动化中心 汪胜 广州工程总承包集团有限公司 时亚弘
【摘要】 本文主要讨论分布式应用系统中基于耦合度的用户分布、功能分布和数据分布问题。
【关键词】用户分布,功能分布,数据分布,耦合度,领域知识,自动构造
随着Client/Server结构应用系统复杂和扩大,其数据、功能和用户的分布问题变得日益突出。合理有效地设计MIS系统模型是MIS系统能否有效发挥效率的关键。通常处理这些问题都是软件开发人员根据其以往的开发经验,设计的好坏受人为因素影响很大,且方案因人而异。本文提出了基于耦合度的分布过程解决方案,并在此基础上实现了一个分布的自动生成工具。
一、 分布问题
当我们根据系统的需求信息来设计基于三层Client/Server模型的MIS系统的时候,一个很重要的工作就是需要确定MIS系统由多少个客户端、应用程序服务器和数据库服务器组成,用户、功能和数据是如何分布在客户端、应用程序服务器和数据库服务器上的。
本文所要讨论的分布问题包括用户分布(User Distribution)、功能分布(Function Distribution)和数据分布(Data Distribution)。用户分布指的是根据系统的需求,决定如何在客户端各个平台上分配用户,即每个客户端允许哪些用户使用。功能分布也称处理(process)分布、事务(business)分布、逻辑(logic)分布,指的是如何在应用程序服务器各个平台上分配功能,即决定哪些功能适合在哪些平台上完成。数据分布的粒度大小可以是数据库、数据表、行、列等,我们这里讨论的数据分布逻辑单元是数据表(以下简称数据),数据分布指的是如何在数据库服务器各个平台上分配数据,即如何在服务器上组织这些数据。
二、耦合度的计算
在分布式MIS系统中,之所以有不同的客户端、应用程序服务器和数据库服务器,是因为用户之间、功能之间和数据之间也存在着一种类似的不同“吸引力”。我们将这种“吸引力”取名为耦合度(Coupling Degree)。我们将两个用户分在同一个客户端的可能性称之为用户耦合度,两个功能分在同一个应用程序服务器的可能性称之为功能耦合度,两个数据分在同一个数据库服务器的可能性称之为数据表耦合度。这里讨论耦合度,是因为耦合度是分布式MIS系统网络节点划分的依据。耦合度是不同种因素的函数。
两个用户相距400米以内肯定比两个用户相距1公里以上分在同一个客户端可能性要大。两个用户相距越近,其耦合度越大,用户相距远近给予不同的权值,以折算为耦合度值。针对企业的一些特殊要求,我们用程度词来说明两个用户分在同一个客户端的可能性,常见的程度词如必须、尽可能、不可能、不能等等,我们给不同的程度词以不同的权值,以折算为耦合度值。
数据耦合度 功能存取数据的关系对数据耦合度影响较大。其它影响数据耦合度大小的因素包括数据库系统的特殊要求、MIS系统要求等。
三、 分布过程
具体步骤如下:
第一步,计算用户之间耦合度。这里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 > | " ui, uj ? U 且 RF(ui, uj)3 Lu }
第三步,求Ru的等价关系Ru挕?
Ru? t(Ru)
第四步,客户端划分C。
C=U/ Ru?/P>
分布是一个权衡的过程,不存在唯一正确的方案。必须兼顾目标与限制,综合考虑所有方面的因素。
四、分布的自动生成工具
我们设计和实现了一个MIS系统辅助开发环境NDTool(Node Distributed Tool),这是一个基于耦合度和领域知识的用户、功能和数据分布的自动生成工具。该系统设计过程贯穿了我们所提出的思想和方法。
ECSL(Enterprise Concept Structure description Language)是一个企业概念结构描述语言,主要用于获取最终用户所提供的企业的需求信息。采用中文的类自然语言形式,面向最终用户。
DKDL(Domain Knowledge Description Language)是一个领域知识描述语言,主要用于获取领域专家在MIS系统开发上所积累的经验,并将所得到的领域知识存放于领域知识库中。该语言面向领域软件专家。
领域知识库用于存放领域知识。由DKDL获取的领域专家的开发经验,经过分析、组织,所得到的结果保存在领域知识库中。我们提供一组领域知识库的操作接口,用于领域知识库的存取和维护工作。
MADL(MIS System Architecture Description Language)是一个分布式MIS系统体系结构描述语言,主要用于描述MIS系统中的用户、数据和功能的分布情况。它是NDTool系统最后生成的结果。该语言面向软件开发人员。
NDTool系统的工作流程。首先,将领域软件专家所掌握的领域知识,描述成DKDL文本,经过DKDL编译器的编译,并调用领域知识库的接口将所分析的结果存入领域知识库中。当需要开发MIS系统时,企业最终用户将他的需求信息用ECSL语言描述出来。通过ECSL编译器进行编译,参考领域知识库的有关领域知识,计算用户、功能和数据耦合度,再根据耦合度进行网络节点的划分,最后将结果用MADL语言描述出来。提供给开发人员进行数据模型和模块设计。
五、 结束语
本文围绕基于耦合度的Client/Server结构应用程序的分布过程及其自动生成工具的实现进行了讨论。分布问题具有一个不确定性的特点,同时分布将耗费开发者大量的精力。如何合理地设计分布构造方法以及设计分布的自动生成工具是Client/Server系统开发过程中一个重要问题。
参考文献:
[1] 陆汝钤,金芝,万荣林,夏幼明 基于领域知识的需求信息获取软件学报,Vol.7,No. 3,1996
[2] 赵洪彪,周立柱 Client/Server结构系统中的处理分布计算机科学,Vol. 24,No.5,1997
[3] 张左梁 C/S应用系统设计的新概念和新技术计算机科学,Vol.24,No.1,1997
下载文档
网友最新关注
- 告诉学弟学妹们一点经验
- 我的妈妈
- 给爸爸的一封信
- 堆雪人
- 发现了除去污渍的好方法
- 松树的遗书
- 小升初,奥数和英语是敲门砖
- 我爱家乡的特产
- 迷迷糊糊考入101,我是幸运儿
- 我的文具盒
- 我的好妈妈
- 状物作文】我爱家乡的特产
- 第一次去海上游泳
- 〈小抄写员〉缩写
- 仅用半年我就考出了优异成绩
- 外企面试常见问题及回答技巧
- 有消息通知你…?学会解读“招聘语言”
- 面试第五阶段应注意哪些问题
- 面试应答技巧:把紧嘴巴 三思而答
- 求职兵法:面试十大难题的样板回答
- 这些问题如何回答?面试必备15问
- 面试声音技巧
- 应对棘手问题,面试致胜的几个“诀窍”
- IBM铺设蓝色之路
- 如何应对用人单位特意设置的道具面试?
- 自我介绍一下?精心设计面试开头5分钟
- 做好面试准备--人事经理最爱问的15个问题
- 面试应该注意哪些问题?细数面试七忌
- 打工手册:面试题的错答与分析
- 对症下药——去外企求职面试的成功法宝
- 油画艺术中整体性之作用
- 分析美术馆、公共艺术机构、艺术学院14%
- 油画艺术的色彩运用思索
- 论走向现代英国美术300年
- 小议民间美术的进展
- 美术行业经济投资价值
- 对油画构图艺术剖析
- 油画艺术的主客观色彩转换
- 持之以恒的教研活动与民主和谐的教研氛围
- 论美术行业经济投资价值
- 浅论伦勃朗与维米尔绘画的差异性
- 国画大师向总理要酒喝
- 澳门美术扫描
- 巴蜀书法奇才蔡永成
- 国内女性油画家探索
- 《刷子李》重点字词的意思
- 《人物描写一组》随堂练习——基础篇
- 《人物描写一组》老师语录
- 《人物描写一组》趣味故事
- 《刷子李》重难点分析
- 《刷子李》老师语录
- 《刷子李》同步作文 写作指导
- 《人物描写一组》教学设计之二
- 《人物描写一组》教学设计之一
- 《人物描写一组》美文赏析一
- 《刷子李》重点字词梳理
- 《刷子李》作家作品及写作背景
- 《人物描写一组》美文赏析二
- 《刷子李》教学设计二
- 《刷子李》同步作文 训练素材