基于耦合度的分布問(wèn)題研究_第1頁(yè)
基于耦合度的分布問(wèn)題研究_第2頁(yè)
基于耦合度的分布問(wèn)題研究_第3頁(yè)
基于耦合度的分布問(wèn)題研究_第4頁(yè)
基于耦合度的分布問(wèn)題研究_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第頁(yè)共頁(yè)基于耦合度的分布問(wèn)題研究基于耦合度的分布問(wèn)題研究【【摘要】:^p】本文主要討論分布式應(yīng)用系統(tǒng)中基于耦合度的用戶分布、功能分布和數(shù)據(jù)分布問(wèn)題?!尽娟P(guān)鍵詞】:^p】用戶分布,功能分布,數(shù)據(jù)分布,耦合度,領(lǐng)域知識(shí),自動(dòng)構(gòu)造隨著client/server構(gòu)造應(yīng)用系統(tǒng)復(fù)雜和擴(kuò)大,其數(shù)據(jù)、功能和用戶的分布問(wèn)題變得日益突出。合理有效地設(shè)計(jì)mis系統(tǒng)模型是mis系統(tǒng)能否有效發(fā)揮效率的關(guān)鍵。通常處理這些問(wèn)題都是軟件開(kāi)發(fā)人員根據(jù)其以往的開(kāi)發(fā)經(jīng)歷,設(shè)計(jì)的好壞受人為因素影響很大,且方案因人而異。本文提出了基于耦合度的分布過(guò)程解決方案,并在此根底上實(shí)現(xiàn)了一個(gè)分布的自動(dòng)生成工具。一、分布問(wèn)題當(dāng)我們根據(jù)系統(tǒng)的需求信息來(lái)設(shè)計(jì)基于三層client/server模型的mis系統(tǒng)的時(shí)候,一個(gè)很重要的工作就是需要確定mis系統(tǒng)由多少個(gè)客戶端、應(yīng)用程序效勞器和數(shù)據(jù)庫(kù)效勞器組成,用戶、功能和數(shù)據(jù)是如何分布在客戶端、應(yīng)用程序效勞器和數(shù)據(jù)庫(kù)效勞器上的。對(duì)于一個(gè)mis系統(tǒng)來(lái)說(shuō),我們都可以將它抽象分解為用戶集u={u1,u2,..,ul}、功能集f={f1,f2,..,fm}和數(shù)據(jù)集t={t1,t2,..,tn}。用戶通過(guò)調(diào)用功能集中的一些功能模塊,來(lái)存取數(shù)據(jù)集中的數(shù)據(jù)表。我們可以用圖1說(shuō)明它們之間的關(guān)系:本文所要討論的分布問(wèn)題包括用戶分布(userdistribution)、功能分布(functiondistribution)和數(shù)據(jù)分布(datadistribution)。用戶分布指的是根據(jù)系統(tǒng)的需求,決定如何在客戶端各個(gè)平臺(tái)上分配用戶,即每個(gè)客戶端允許哪些用戶使用。功能分布也稱(chēng)處理(process)分布、事務(wù)(business)分布、邏輯(logic)分布,指的是如何在應(yīng)用程序效勞器各個(gè)平臺(tái)上分配功能,即決定哪些功能合適在哪些平臺(tái)上完成。數(shù)據(jù)分布的粒度大小可以是數(shù)據(jù)庫(kù)、數(shù)據(jù)表、行、列等,我們這里討論的數(shù)據(jù)分布邏輯單元是數(shù)據(jù)表(以下簡(jiǎn)稱(chēng)數(shù)據(jù)),數(shù)據(jù)分布指的是如何在數(shù)據(jù)庫(kù)效勞器各個(gè)平臺(tái)上分配數(shù)據(jù),即如何在效勞器上組織這些數(shù)據(jù)。二、耦合度的計(jì)算在分布式mis系統(tǒng)中,之所以有不同的客戶端、應(yīng)用程序效勞器和數(shù)據(jù)庫(kù)效勞器,是因?yàn)橛脩糁g、功能之間和數(shù)據(jù)之間也存在著一種類(lèi)似的不同“吸引力”。我們將這種“吸引力”取名為耦合度(couplingdegree)。我們將兩個(gè)用戶分在同一個(gè)客戶端的可能性稱(chēng)之為用戶耦合度,兩個(gè)功能分在同一個(gè)應(yīng)用程序效勞器的可能性稱(chēng)之為功能耦合度,兩個(gè)數(shù)據(jù)分在同一個(gè)數(shù)據(jù)庫(kù)效勞器的可能性稱(chēng)之為數(shù)據(jù)表耦合度。這里討論耦合度,是因?yàn)轳詈隙仁欠植际絤is系統(tǒng)網(wǎng)絡(luò)節(jié)點(diǎn)劃分的根據(jù)。耦合度是不同種因素的函數(shù)。耦合度=f(因素1,因素2,…,因素n)用戶耦合度用戶之間所屬關(guān)系、間隔和特殊要求等因素都可能影響用戶耦合度大小。企業(yè)的部門(mén)和職務(wù)之間的所屬關(guān)系構(gòu)成一棵部門(mén)職務(wù)關(guān)系樹(shù)或森林,葉結(jié)點(diǎn)為用戶。直接同屬一個(gè)部門(mén)的兩個(gè)用戶肯定比間接同屬一個(gè)部門(mén)的兩個(gè)用戶分在同一個(gè)客戶端的可能性要大。我們將兩個(gè)用戶到它們最近共同祖先的最大間隔定義為兩個(gè)用戶之間的疏遠(yuǎn)度,當(dāng)兩個(gè)用戶分屬于兩棵關(guān)系樹(shù)時(shí),它們的疏遠(yuǎn)度為¥。如圖2所示的部門(mén)職務(wù)關(guān)系樹(shù)中,用戶u1(職務(wù)1)和u4(職務(wù)3)之間的疏遠(yuǎn)度為2,用戶u1和u3(部門(mén)6)之間的疏遠(yuǎn)度為3。疏遠(yuǎn)度越大其耦合度越小,我們給不同的疏遠(yuǎn)度以不同的.權(quán)值,這樣就可以折算為耦合度值。兩個(gè)用戶相距400米以?xún)?nèi)肯定比兩個(gè)用戶相距1公里以上分在同一個(gè)客戶端可能性要大。兩個(gè)用戶相距越近,其耦合度越大,用戶相距遠(yuǎn)近給予不同的權(quán)值,以折算為耦合度值。針對(duì)企業(yè)的一些特殊要求,我們用程度詞來(lái)說(shuō)明兩個(gè)用戶分在同一個(gè)客戶端的可能性,常見(jiàn)的程度詞如必須、盡可能、不可能、不能等等,我們給不同的程度詞以不同的權(quán)值,以折算為耦合度值。功能耦合度很明顯,調(diào)用功能1的所有用戶和調(diào)用功能2的所有用戶之間的關(guān)系越嚴(yán)密,這兩個(gè)功能分在同一應(yīng)用程序效勞器的可能性就越大。這種用戶調(diào)用功能的關(guān)系對(duì)功能耦合度影響較大,但其它因素也影響功能耦合度大小。數(shù)據(jù)耦合度功能存取數(shù)據(jù)的關(guān)系對(duì)數(shù)據(jù)耦合度影響較大。其它影響數(shù)據(jù)耦合度大小的因素包括數(shù)據(jù)庫(kù)系統(tǒng)的特殊要求、mis系統(tǒng)要求等。三、分布過(guò)程用戶、功能和數(shù)據(jù)分布主要是確立client/server系統(tǒng)構(gòu)造。我們這里主要討論基于耦合度的用戶、功能和數(shù)據(jù)劃分過(guò)程,用戶、功能和數(shù)據(jù)耦合度是我們進(jìn)展網(wǎng)絡(luò)節(jié)點(diǎn)劃分的根據(jù)。用戶、功能、數(shù)據(jù)分布需要解決兩個(gè)問(wèn)題:1〕mis系統(tǒng)由多少個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)組成。2〕用戶、功能、數(shù)據(jù)是如何在這些網(wǎng)絡(luò)節(jié)點(diǎn)上分配的。這兩個(gè)問(wèn)題的解決又是統(tǒng)一的,即如何進(jìn)展網(wǎng)絡(luò)節(jié)點(diǎn)的劃分。下面我們以用戶分布為例,來(lái)說(shuō)明分布過(guò)程的詳細(xì)步驟。設(shè)企業(yè)的用戶集合u={u1,u2,…um},lu為客戶端分組劃分的用戶耦合度下限。我們的目的是找出一個(gè)最小個(gè)數(shù)客戶端集合c={c1,c2,c3,…,ck},客戶端c1,c2,c3,…,ckíu,滿足〔1〕c1,+c2+c3+…+ck=u?!?〕任意ci∈c,cj∈c,i≠j有ci∩cj=φ?!?〕假設(shè)rf(ui,uj)》=lu,那么用戶ui,uj就在同一客戶端。詳細(xì)步驟如下:第一步,計(jì)算用戶之間耦合度。這里rfd(ui,uj)、rfc(ui,uj)、rfs(ui,uj)分別表示用戶ui和uj之間由于間隔、所屬關(guān)系、特殊要求等因素影響的耦合度。rf(ui,uj)=rfd(ui,uj)+rfc(ui,uj)+rfs(ui,uj)+…第二步,求用戶二元關(guān)系ru。ru={"ui,uj?u且rf(ui,uj)3lu}第三步,求ru的等價(jià)關(guān)系ru挕?ru?t(ru)第四步,客戶端劃分c。c=u/ru?/p》分布是一個(gè)權(quán)衡的過(guò)程,不存在唯一正確的方案。必須兼顧目的與限制,綜合考慮所有方面的因素。四、分布的自動(dòng)生成工具我們?cè)O(shè)計(jì)和實(shí)現(xiàn)了一個(gè)mis系統(tǒng)輔助開(kāi)發(fā)環(huán)境ndtool(nodedistributedtool),這是一個(gè)基于耦合度和領(lǐng)域知識(shí)的用戶、功能和數(shù)據(jù)分布的自動(dòng)生成工具。該系統(tǒng)設(shè)計(jì)過(guò)程貫穿了我們所提出的思想和方法。ecsl(enterpriseconceptstructuredescriptionlanguage)是一個(gè)企業(yè)概念構(gòu)造描繪語(yǔ)言,主要用于獲取最終用戶所提供的企業(yè)的需求信息。采用中文的類(lèi)自然語(yǔ)言形式,面向最終用戶。dkdl(domainknowledgedescriptionlanguage)是一個(gè)領(lǐng)域知識(shí)描繪語(yǔ)言,主要用于獲取領(lǐng)域?qū)<以趍is系統(tǒng)開(kāi)發(fā)上所積累的經(jīng)歷,并將所得到的領(lǐng)域知識(shí)存放于領(lǐng)域知識(shí)庫(kù)中。該語(yǔ)言面向領(lǐng)域軟件專(zhuān)家。領(lǐng)域知識(shí)庫(kù)用于存放領(lǐng)域知識(shí)。由dkdl獲取的領(lǐng)域?qū)<业拈_(kāi)發(fā)經(jīng)歷,經(jīng)過(guò)分析^p、組織,所得到的結(jié)果保存在領(lǐng)域知識(shí)庫(kù)中。我們提供一組領(lǐng)域知識(shí)庫(kù)的操作接口,用于領(lǐng)域知識(shí)庫(kù)的存取和維護(hù)工作。madl〔missystemarchitecturedescriptionlanguage〕是一個(gè)分布式mis系統(tǒng)體系構(gòu)造描繪語(yǔ)言,主要用于描繪mis系統(tǒng)中的用戶、數(shù)據(jù)和功能的分布情況。它是ndtool系統(tǒng)最后生成的結(jié)果。該語(yǔ)言面向軟件開(kāi)發(fā)人員。ndtool系統(tǒng)的工作流程。首先,將領(lǐng)域軟件專(zhuān)家所掌握的領(lǐng)域知識(shí),描繪成dkdl文本,經(jīng)過(guò)dkdl編譯器的編譯,并調(diào)用領(lǐng)域知識(shí)庫(kù)的接口將所分析^p的結(jié)果存入領(lǐng)域知識(shí)庫(kù)中。當(dāng)需要開(kāi)發(fā)mis系統(tǒng)時(shí),企業(yè)最終用戶將他的需求信息用ecsl語(yǔ)言描繪出來(lái)。通過(guò)ecsl編譯器進(jìn)展編譯,參考領(lǐng)域知識(shí)庫(kù)的有關(guān)領(lǐng)域知識(shí),計(jì)算用戶、功能和數(shù)據(jù)耦合度,再根據(jù)耦合度進(jìn)展網(wǎng)絡(luò)節(jié)點(diǎn)的劃分,最后將結(jié)果用madl語(yǔ)言描繪出來(lái)。提供應(yīng)開(kāi)發(fā)人員進(jìn)展數(shù)據(jù)模型和模塊設(shè)計(jì)。五、完畢語(yǔ)本文圍繞基于耦合度的client/server構(gòu)造應(yīng)用程序的分布過(guò)程及其自動(dòng)生成工具的實(shí)現(xiàn)進(jìn)展了討論。分布問(wèn)題具有一個(gè)不確定性的特點(diǎn),同時(shí)分布將消耗開(kāi)發(fā)者大量的精力。如何合理地設(shè)計(jì)分布構(gòu)造方法以及設(shè)計(jì)分布的自動(dòng)生成工具是client/server系統(tǒng)開(kāi)發(fā)過(guò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論