摘 要:軟件的網(wǎng)絡(luò)化互聯(lián)網(wǎng)軟件領(lǐng)域的一場(chǎng)巨大革命,大眾用戶可以通過(guò)網(wǎng)絡(luò)獲得了各種其資源的應(yīng)用服務(wù),軟件也成為了一種全局性的資源,這也帶來(lái)了軟件的盈利模式、產(chǎn)品形態(tài)、應(yīng)用模式和計(jì)算模式的轉(zhuǎn)變。這也使得網(wǎng)絡(luò)化的軟件系統(tǒng)成為了一個(gè)復(fù)雜系統(tǒng),軟件系統(tǒng)的開發(fā)受到了網(wǎng)絡(luò)的影響。本文對(duì)軟件系統(tǒng)的復(fù)雜網(wǎng)絡(luò)研究進(jìn)展進(jìn)行了簡(jiǎn)要的分析。
關(guān)鍵詞:軟件系統(tǒng);復(fù)雜網(wǎng)絡(luò);研究進(jìn)展;
文章編號(hào):1674-3520(2015)-07-00-01
由于互聯(lián)網(wǎng)的普及和軟件技術(shù)的發(fā)展,軟件系統(tǒng)也變得越來(lái)越復(fù)雜,軟件產(chǎn)品的質(zhì)量難以得到保障,這就需要對(duì)軟件的復(fù)雜性進(jìn)行管理、度量、認(rèn)識(shí)和控制。軟件系統(tǒng)的可靠性、性能和其它功能都受到系統(tǒng)拓?fù)浣Y(jié)構(gòu)的影響。因此要合理有效的量化軟件結(jié)構(gòu),把握軟件的本質(zhì)。
一、軟件系統(tǒng)具有復(fù)雜性
摩爾定律是計(jì)算機(jī)硬件性能發(fā)展中的一個(gè)穩(wěn)定定律,這也使得硬件的體積越來(lái)越小,價(jià)格也不斷的降低。然而對(duì)于軟件來(lái)說(shuō),其發(fā)展卻具有復(fù)雜性。例如微軟公司開發(fā)的windows軟件,在九年時(shí)間內(nèi)從windows3.1發(fā)展到了windows2000,卻只有九倍左右的源代碼行數(shù)增長(zhǎng)。這也造成了資源要求和軟件系統(tǒng)的實(shí)際性能提升不成比例。由于軟件這較高的硬件配置要求,而且經(jīng)常出現(xiàn)安全漏洞,造成了軟件系統(tǒng)的復(fù)雜性[1]。
軟件的復(fù)雜性包括構(gòu)建軟件過(guò)程中認(rèn)知的復(fù)雜性、認(rèn)知方式造成的翻譯復(fù)雜性、軟件系統(tǒng)本身多元素和多狀態(tài)的復(fù)雜性,以及與描述問(wèn)題域的復(fù)雜性。復(fù)雜性會(huì)隨著時(shí)間的推移而增加,對(duì)軟件的二次開發(fā)、維護(hù)和過(guò)程管理造成影響,甚至成為軟件錯(cuò)誤的主要原因。
二、復(fù)雜網(wǎng)絡(luò)造成的軟件的復(fù)雜系統(tǒng)
隨著互聯(lián)網(wǎng)的發(fā)展,出現(xiàn)了超大規(guī)模的軟件系統(tǒng),在改變?nèi)藗兊墓ぷ魃罘绞降耐瑫r(shí)也改變了軟件的形態(tài)。從單一的軟件系統(tǒng)工作發(fā)展為群體軟件之間的協(xié)同與交互,從為系統(tǒng)服務(wù)向?yàn)榫W(wǎng)絡(luò)服務(wù)轉(zhuǎn)變。在這種趨勢(shì)下,網(wǎng)絡(luò)軟件不斷融合,軟件的盈利模式、產(chǎn)品形態(tài)、應(yīng)用模式和計(jì)算模式都發(fā)生了改變。需要對(duì)軟件系統(tǒng)的復(fù)雜性進(jìn)行有效的控制。由于可以用網(wǎng)絡(luò)拓?fù)鋪?lái)表示軟件的自身結(jié)構(gòu),因此在軟件的維護(hù)、運(yùn)行和開發(fā)中可以使用可度量、規(guī)范化、系統(tǒng)化的方法[2]。當(dāng)然軟件工程并非以物理定律和基本物理量的測(cè)度為依據(jù),因此要對(duì)網(wǎng)絡(luò)工程化進(jìn)行優(yōu)化、預(yù)測(cè)和評(píng)價(jià),就必須對(duì)軟件和刻畫軟件屬性的量化方法進(jìn)行理解。
當(dāng)前對(duì)軟件系統(tǒng)和復(fù)雜網(wǎng)絡(luò)理論的研究主要是開放源代碼系統(tǒng),也就是從程序代碼出發(fā),到系統(tǒng)類圖,再到網(wǎng)絡(luò)模型,這也是一種反向的研究途徑??梢詫?duì)組織結(jié)構(gòu)進(jìn)行分析,發(fā)現(xiàn)其中的網(wǎng)絡(luò)復(fù)雜特性。
三、分析軟件系統(tǒng)的拓?fù)浣Y(jié)構(gòu)
2002年在軟件系統(tǒng)拓?fù)浣Y(jié)構(gòu)分析中引進(jìn)了復(fù)雜網(wǎng)絡(luò)方法。其研究對(duì)象為軟件系統(tǒng)中的類圖,將軟件系統(tǒng)的結(jié)構(gòu)用無(wú)向網(wǎng)絡(luò)來(lái)表示,也就是網(wǎng)絡(luò)模型中的節(jié)點(diǎn)代表類。在2003年,有關(guān)專家對(duì)原軟件進(jìn)行分析和研究中也發(fā)現(xiàn)了無(wú)標(biāo)度的現(xiàn)象。這也說(shuō)明系統(tǒng)中的控制流可以通過(guò)軟件系統(tǒng)模塊之間的調(diào)用和協(xié)作來(lái)得到反映,網(wǎng)絡(luò)中邊的方向具有意義,在刻畫軟件系統(tǒng)結(jié)構(gòu)時(shí)不能僅使用無(wú)向網(wǎng)絡(luò)模型[3]。因此,在本次研究中建立了軟件系統(tǒng)的有向網(wǎng)絡(luò)模型,并對(duì)六個(gè)開放源代碼的軟件系統(tǒng)進(jìn)行了分析,其中面向?qū)ο筌浖念悈f(xié)作圖有三個(gè),結(jié)構(gòu)化程序設(shè)計(jì)軟件調(diào)用圖有三個(gè)。在該研究中,不僅發(fā)現(xiàn)了無(wú)標(biāo)度和小世界的特性同樣在軟件有向網(wǎng)絡(luò)中存在,而且還指出了在面向?qū)ο筌浖到y(tǒng)中軟件網(wǎng)絡(luò)的出路堵密率分布的冪指數(shù)存在差別。也就是路途分布函數(shù)的冪指數(shù)小于初度分布函數(shù)的冪指數(shù)。在軟件網(wǎng)絡(luò)的節(jié)點(diǎn)中,出度分布函數(shù)的冪指數(shù)與入度分布函數(shù)的冪指數(shù)存在負(fù)相關(guān)的關(guān)系,也就是入度較小的節(jié)點(diǎn)出度大,出度較小的節(jié)點(diǎn)入度大。
總而言之,當(dāng)前國(guó)內(nèi)外已經(jīng)將軟件網(wǎng)絡(luò)模型建立起來(lái),并且對(duì)一些軟件網(wǎng)絡(luò)的普遍拓?fù)涮匦赃M(jìn)行了一定的解釋。然而現(xiàn)有的軟件網(wǎng)絡(luò)模型仍然不夠完善,不能提供軟件的完整視圖,也沒(méi)有體現(xiàn)軟件組成元素之間的關(guān)系。例如已有的軟件模型中就沒(méi)有體現(xiàn)面向?qū)ο筌浖蓄愔g的依賴關(guān)系存在的不同。在軟件的重用指標(biāo)中依賴關(guān)系非常重要,要對(duì)面向?qū)ο筌浖到y(tǒng)的拓?fù)浣Y(jié)構(gòu)進(jìn)行描述可以使用加權(quán)有向網(wǎng)絡(luò)。與此同時(shí),當(dāng)前一般使用無(wú)權(quán)有向或者無(wú)向的網(wǎng)絡(luò)模型來(lái)標(biāo)識(shí)軟件系統(tǒng),一定程度上忽視了網(wǎng)絡(luò)中的節(jié)點(diǎn)屬性。因此必須深入地研究軟件系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。
四、形成將系統(tǒng)復(fù)雜網(wǎng)絡(luò)特性的機(jī)理
對(duì)真實(shí)系統(tǒng)的網(wǎng)絡(luò)模型的刻畫是復(fù)雜網(wǎng)絡(luò)研究的一個(gè)重要領(lǐng)域,將網(wǎng)絡(luò)模型創(chuàng)建出來(lái),能夠使人們更好地理解網(wǎng)絡(luò)特性產(chǎn)生的原因。在工程領(lǐng)域、生物領(lǐng)域、社會(huì)網(wǎng)絡(luò)、商業(yè)領(lǐng)域的都發(fā)現(xiàn)了復(fù)雜網(wǎng)絡(luò)的特性,也就是無(wú)標(biāo)度和小世界。無(wú)標(biāo)度指的是遵循冪率分布來(lái)進(jìn)行節(jié)點(diǎn)的度的分布,而小世界指的是網(wǎng)絡(luò)中具有較大的平均聚集系數(shù)和較小的平均最短路徑。
有研究認(rèn)為形成無(wú)標(biāo)度網(wǎng)絡(luò)的主要原因使優(yōu)先連接機(jī)制和生長(zhǎng)性,也就是網(wǎng)絡(luò)在不斷的生長(zhǎng)。該研究用適應(yīng)性競(jìng)爭(zhēng)模型、節(jié)點(diǎn)加速增長(zhǎng)模型、非線性擇優(yōu)連接模型等對(duì)無(wú)標(biāo)度網(wǎng)絡(luò)進(jìn)行解釋。其他研究者還提出了最優(yōu)化設(shè)計(jì)機(jī)制、層次增長(zhǎng)機(jī)制,用來(lái)對(duì)網(wǎng)絡(luò)的演化進(jìn)行解釋。然而現(xiàn)有的研究還是沒(méi)有對(duì)軟件系統(tǒng)的開發(fā)設(shè)計(jì)中的組織原則進(jìn)行深入的分析,因此仍然還有一些復(fù)雜網(wǎng)絡(luò)特性的軟件系統(tǒng)難以得到解釋。
五、結(jié)語(yǔ)
本文對(duì)軟件系統(tǒng)的復(fù)雜網(wǎng)絡(luò)研究進(jìn)展進(jìn)行了簡(jiǎn)要的分析,在最新的研究成果中,對(duì)軟件的復(fù)雜性進(jìn)行了分析。盡管對(duì)軟件系統(tǒng)的復(fù)雜網(wǎng)絡(luò)研究的數(shù)量較多,然而當(dāng)前的研究中也仍然存在一些問(wèn)題和不足,需要研究者對(duì)其繼續(xù)進(jìn)行深入的研究,從而使人們能夠?qū)浖膹?fù)雜性本質(zhì)進(jìn)行深入的理解。
參考文獻(xiàn):
[1]方錦清.迅速發(fā)展的復(fù)雜網(wǎng)絡(luò)研究與面臨的挑戰(zhàn)[J]. 自然雜志. 2012(05)
[2]鄧丹,李南,田慧敏. 基于小世界網(wǎng)絡(luò)的NPD團(tuán)隊(duì)交流網(wǎng)絡(luò)分析[J]. 研究與發(fā)展管理. 2011(04)
[3]王林,戴冠中. 復(fù)雜網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)——理論與應(yīng)用[J]. 科技導(dǎo)報(bào). 2012(08)