畢業(yè)論文寫(xiě)作:基于耦合度的分布問(wèn)題研究
【摘要】 本文主要討論分布式應用系統中基于耦合度的用戶(hù)分布、功能分布和數據分布問(wèn)題。【關(guān)鍵詞】用戶(hù)分布,功能分布,數據分布,耦合度,領(lǐng)域知識,自動(dòng)構造 隨著(zhù)Client/Server結構應用系統復雜和擴大,其數據、功能和用戶(hù)的分布問(wèn)題變得日益突出。合理有效地設計MIS系統模型是MIS系統能否有效發(fā)揮效率的關(guān)鍵。通常處理這些問(wèn)題都是軟件開(kāi)發(fā)人員根據其以往的開(kāi)發(fā)經(jīng)驗,設計的好壞受人為因素影響很大,且方案因人而異。本文提出了基于耦合度的分布過(guò)程解決方案,并在此基礎上實(shí)現了一個(gè)分布的自動(dòng)生成工具。
一、 分布問(wèn)題當我們根據系統的需求信息來(lái)設計基于三層Client/Server模型的MIS系統的時(shí)候,一個(gè)很重要的工作就是需要確定MIS系統由多少個(gè)客戶(hù)端、應用程序服務(wù)器和數據庫服務(wù)器組成,用戶(hù)、功能和數據是如何分布在客戶(hù)端、應用程序服務(wù)器和數據庫服務(wù)器上的。對于一個(gè)MIS系統來(lái)說(shuō),我們都可以將它抽象分解為用戶(hù)集 U={u1,u2,..,ul}、功能集F={f1,f2,..,fm}和數據集T={t1,t2,..,tn}。用戶(hù)通過(guò)調用功能集中的一些功能模塊,來(lái)存取數據集中的數據表。我們可以用圖1說(shuō)明它們之間的關(guān)系:本文所要討論的分布問(wèn)題包括用戶(hù)分布(User Distribution)、功能分布(Function Distribution)和數據分布(Data Distribution)。用戶(hù)分布指的是根據系統的需求,決定如何在客戶(hù)端各個(gè)平臺上分配用戶(hù),即每個(gè)客戶(hù)端允許哪些用戶(hù)使用。功能分布也稱(chēng)處理(process)分布、事務(wù)(business)分布、邏輯(logic)分布,指的是如何在應用程序服務(wù)器各個(gè)平臺上分配功能,即決定哪些功能適合在哪些平臺上完成。數據分布的粒度大小可以是數據庫、數據表、行、列等,我們這里討論的數據分布邏輯單元是數據表(以下簡(jiǎn)稱(chēng)數據),數據分布指的是如何在數據庫服務(wù)器各個(gè)平臺上分配數據,即如何在服務(wù)器上組織這些數據。
二、耦合度的計算在分布式MIS系統中,之所以有不同的客戶(hù)端、應用程序服務(wù)器和數據庫服務(wù)器,是因為用戶(hù)之間、功能之間和數據之間也存在著(zhù)一種類(lèi)似的不同“吸引力”。我們將這種“吸引力”取名為耦合度(Coupling Degree)。我們將兩個(gè)用戶(hù)分在同一個(gè)客戶(hù)端的可能性稱(chēng)之為用戶(hù)耦合度,兩個(gè)功能分在同一個(gè)應用程序服務(wù)器的可能性稱(chēng)之為功能耦合度,兩個(gè)數據分在同一個(gè)數據庫服務(wù)器的可能性稱(chēng)之為數據表耦合度。這里討論耦合度,是因為耦合度是分布式MIS系統網(wǎng)絡(luò )節點(diǎn)劃分的依據。耦合度是不同種因素的函數。耦合度=f(因素1,因素2,…,因素n)用戶(hù)耦合度 用戶(hù)之間所屬關(guān)系、距離和特殊要求等因素都可能影響用戶(hù)耦合度大小。企業(yè)的部門(mén)和職務(wù)之間的所屬關(guān)系構成一棵部門(mén)職務(wù)關(guān)系樹(shù)或森林,葉結點(diǎn)為用戶(hù)。直接同屬一個(gè)部門(mén)的兩個(gè)用戶(hù)肯定比間接同屬一個(gè)部門(mén)的兩個(gè)用戶(hù)分在同一個(gè)客戶(hù)端的可能性要大。我們將兩個(gè)用戶(hù)到它們最近共同祖先的最大距離定義為兩個(gè)用戶(hù)之間的疏遠度,當兩個(gè)用戶(hù)分屬于兩棵關(guān)系樹(shù)時(shí),它們的疏遠度為¥ 。如圖2所示的部門(mén)職務(wù)關(guān)系樹(shù)中,用戶(hù)u1(職務(wù)1)和u4(職務(wù)3)之間的疏遠度為2,用戶(hù)u1和u3(部門(mén)6)之間的疏遠度為3 。疏遠度越大其耦合度越小,我們給不同的疏遠度以不同的權值,這樣就可以折算為耦合度值。兩個(gè)用戶(hù)相距400米以?xún)瓤隙ū葍蓚(gè)用戶(hù)相距1公里以上分在同一個(gè)客戶(hù)端可能性要大。兩個(gè)用戶(hù)相距越近,其耦合度越大,用戶(hù)相距遠近給予不同的權值,以折算為耦合度值。針對企業(yè)的一些特殊要求,我們用程度詞來(lái)說(shuō)明兩個(gè)用戶(hù)分在同一個(gè)客戶(hù)端的可能性,常見(jiàn)的程度詞如必須、盡可能、不可能、不能等等,我們給不同的程度詞以不同的權值,以折算為耦合度值。功能耦合度 很明顯,調用功能1的所有用戶(hù)和調用功能2的所有用戶(hù)之間的關(guān)系越緊密,這兩個(gè)功能分在同一應用程序服務(wù)器的可能性就越大。這種用戶(hù)調用功能的關(guān)系對功能耦合度影響較大,但其它因素也影響功能耦合度大小。數據耦合度 功能存取數據的關(guān)系對數據耦合度影響較大。其它影響數據耦合度大小的因素包括數據庫系統的特殊要求、MIS系統要求等。
三、 分布過(guò)程用戶(hù)、功能和數據分布主要是確立Client/Server系統結構。我們這里主要討論基于耦合度的用戶(hù)、功能和數據劃分過(guò)程,用戶(hù)、功能和數據耦合度是我們進(jìn)行網(wǎng)絡(luò )節點(diǎn)劃分的依據。用戶(hù)、功能、數據分布需要解決兩個(gè)問(wèn)題:1)MIS系統由多少個(gè)網(wǎng)絡(luò )節點(diǎn)組成。2)用戶(hù)、功能、數據是如何在這些網(wǎng)絡(luò )節點(diǎn)上分配的。這兩個(gè)問(wèn)題的解決又是統一的,即如何進(jìn)行網(wǎng)絡(luò )節點(diǎn)的劃分。下面我們以用戶(hù)分布為例,來(lái)說(shuō)明分布過(guò)程的具體步驟。設企業(yè)的用戶(hù)集合U={u1,u2,…um},Lu為客戶(hù)端分組劃分的用戶(hù)耦合度下限。我們的目標是找出一個(gè)最小個(gè)數客戶(hù)端集合C={C1, C2, C3,…, Ck},客戶(hù)端C1, C2, C3,…, Ckí U,滿(mǎn)足(1) C1,+C2+ C3+…+Ck =U。(2)任意Ci∈ C,Cj∈C,i≠j 有Ci∩Cj=φ。(3)若RF(ui,uj)>=Lu,則用戶(hù)ui,uj 就在同一客戶(hù)端。具體步驟如下:第一步,計算用戶(hù)之間耦合度。這里RFd (ui,uj) 、RFc (ui,uj) 、RFs (ui,uj)分別表示用戶(hù)ui和uj之間由于距離、所屬關(guān)系、特殊要求等因素影響的耦合度。RF(ui,uj)= RFd (ui,uj) +RFc (ui,uj) +RFs (ui,uj)+…第二步,求用戶(hù)二元關(guān)系Ru。Ru={ | " ui, uj ? U 且 RF(ui, uj)3 Lu }第三步,求Ru的等價(jià)關(guān)系Ru挕?Ru? t(Ru)第四步,客戶(hù)端劃分C。C=U/ Ru?/P>分布是一個(gè)權衡的過(guò)程,不存在唯一正確的方案。必須兼顧目標與限制,綜合考慮所有方面的因素。
四、分布的自動(dòng)生成工具我們設計和實(shí)現了一個(gè)MIS系統輔助開(kāi)發(fā)環(huán)境NDTool(Node Distributed Tool),這是一個(gè)基于耦合度和領(lǐng)域知識的用戶(hù)、功能和數據分布的自動(dòng)生成工具。該系統設計過(guò)程貫穿了我們所提出的思想和方法。ECSL(Enterprise Concept Structure description Language)是一個(gè)企業(yè)概念結構描述語(yǔ)言,主要用于獲取最終用戶(hù)所提供的企業(yè)的需求信息。采用中文的類(lèi)自然語(yǔ)言形式,面向最終用戶(hù)。DKDL(Domain KnowledgeDescription Language)是一個(gè)領(lǐng)域知識描述語(yǔ)言,主要用于獲取領(lǐng)域專(zhuān)家在MIS系統開(kāi)發(fā)上所積累的經(jīng)驗,并將所得到的領(lǐng)域知識存放于領(lǐng)域知識庫中。該語(yǔ)言面向領(lǐng)域軟件專(zhuān)家。領(lǐng)域知識庫用于存放領(lǐng)域知識。由DKDL獲取的領(lǐng)域專(zhuān)家的開(kāi)發(fā)經(jīng)驗,經(jīng)過(guò)分析、組織,所得到的結果保存在領(lǐng)域知識庫中。我們提供一組領(lǐng)域知識庫的操作接口,用于領(lǐng)域知識庫的存取和維護工作。MADL(MIS System Architecture Description Language)是一個(gè)分布式MIS系統體系結構描述語(yǔ)言,主要用于描述MIS系統中的用戶(hù)、數據和功能的分布情況。它是NDTool系統最后生成的結果。該語(yǔ)言面向軟件開(kāi)發(fā)人員。NDTool系統的工作流程。首先,將領(lǐng)域軟件專(zhuān)家所掌握的領(lǐng)域知識,描述成DKDL文本,經(jīng)過(guò)DKDL編譯器的編譯,并調用領(lǐng)域知識庫的接口將所分析的結果存入領(lǐng)域知識庫中。當需要開(kāi)發(fā)MIS系統時(shí),企業(yè)最終用戶(hù)將他的需求信息用ECSL語(yǔ)言描述出來(lái)。通過(guò)ECSL編譯器進(jìn)行編譯,參考領(lǐng)域知識庫的有關(guān)領(lǐng)域知識,計算用戶(hù)、功能和數據耦合度,再根據耦合度進(jìn)行網(wǎng)絡(luò )節點(diǎn)的劃分,最后將結果用MADL語(yǔ)言描述出來(lái)。提供給開(kāi)發(fā)人員進(jìn)行數據模型和模塊設計。
五、 結束語(yǔ)本文圍繞基于耦合度的Client/Server結構應用程序的分布過(guò)程及其自動(dòng)生成工具的實(shí)現進(jìn)行了討論。分布問(wèn)題具有一個(gè)不確定性的特點(diǎn),同時(shí)分布將耗費開(kāi)發(fā)者大量的精力。如何合理地設計分布構造方法以及設計分布的自動(dòng)生成工具是Client/Server系統開(kāi)發(fā)過(guò)程中一個(gè)重要問(wèn)題。參考文獻:[1] 陸汝鈐,金芝,萬(wàn)榮林,夏幼明 基于領(lǐng)域知識的需求信息獲取軟件學(xué)報,Vol.7,No. 3,1996[2] 趙洪彪,周立柱 Client/Server結構系統中的處理分布計算機科學(xué),Vol. 24,No.5,1997[3] 張左梁 C/S應用系統設計的新概念和新技術(shù)計算機科學(xué),Vol.24,No.1,1997
相關(guān)推薦:
【畢業(yè)論文寫(xiě)作:基于耦合度的分布問(wèn)題研究】相關(guān)文章:
基于Hadoop分布式文件系統的單點(diǎn)問(wèn)題的研究論文12-17
大學(xué)生畢業(yè)論文寫(xiě)作問(wèn)題12-06
基于問(wèn)題導引的探究式教學(xué)研究論文02-20
當前畢業(yè)論文寫(xiě)作暴露出的問(wèn)題12-06
畢業(yè)論文寫(xiě)作存在的問(wèn)題及對策(精選12篇)06-07
企業(yè)招聘問(wèn)題研究畢業(yè)論文提綱11-16
基于嵌入式技術(shù)的分布式系統研究及應用論文03-16
畢業(yè)論文寫(xiě)作四大常見(jiàn)問(wèn)題11-14
基于新會(huì )計準則背景下企業(yè)利潤操縱問(wèn)題研究畢業(yè)論文03-20
- 相關(guān)推薦