軟件體系結(jié)構(gòu)的描述方法

字號(hào):

從軟件體系結(jié)構(gòu)研究和應(yīng)用的現(xiàn)狀來(lái)看,當(dāng)前對(duì)軟件體系結(jié)構(gòu)的描述,在很大程度上來(lái)說(shuō)還停留在非形式化的基礎(chǔ)上,很大程度上依賴(lài)于軟件設(shè)計(jì)師個(gè)人的經(jīng)驗(yàn)和技巧。在目前通用的軟件開(kāi)發(fā)方法中,其對(duì)軟件體系結(jié)構(gòu)的描述通常是采用非形式化的圖和文本,不能描述系統(tǒng)期望的存在于構(gòu)件之間的接口,更不能描述不同的組成系統(tǒng)的組合關(guān)系的意義。這種描述方法難以被開(kāi)發(fā)人員理解,難以適于進(jìn)行形式化分析和模擬,缺乏相應(yīng)的支持工具幫助設(shè)計(jì)師完成設(shè)計(jì)工作,更不能用來(lái)分析其一致性和完整性等特性。
    因此,形式化的、規(guī)范化的體系結(jié)構(gòu)描述對(duì)于體系結(jié)構(gòu)的設(shè)計(jì)和理解都是非常重要的。然而,要實(shí)現(xiàn)體系結(jié)構(gòu)設(shè)計(jì)、描述等的形式化并不是一蹴而就的,我們必須先經(jīng)歷一個(gè)非形式化的過(guò)程,在非形式化的發(fā)展過(guò)程中逐步提取一些形式化的標(biāo)記和符號(hào),然后將它們標(biāo)準(zhǔn)化,從而完成體系結(jié)構(gòu)設(shè)計(jì)、描述等的形式化。
    本文首先簡(jiǎn)單地介紹傳統(tǒng)的軟件體系結(jié)構(gòu)描述方法,然后再比較詳細(xì)地討論軟件體系結(jié)構(gòu)描述語(yǔ)言。
    一、傳統(tǒng)軟件體系結(jié)構(gòu)描述方法
    1、圖形表達(dá)工具
    對(duì)于軟件體系結(jié)構(gòu)的描述和表達(dá),一種簡(jiǎn)潔易懂且使用廣泛的方法是采用由矩形框和有向線(xiàn)段組合而成的圖形表達(dá)工具。在這種方法中,矩形框代表抽象構(gòu)件,框內(nèi)標(biāo)注的文字為抽象構(gòu)件的名稱(chēng),有向線(xiàn)段代表輔助各構(gòu)件進(jìn)行通訊、控制或關(guān)聯(lián)的連接件。例如:圖1表示某軟件輔助理解和測(cè)試工具的部分體系結(jié)構(gòu)描述。
    目前,這種圖形表達(dá)工具在軟件設(shè)計(jì)中占據(jù)著主導(dǎo)地位。盡管由于在術(shù)語(yǔ)和表達(dá)語(yǔ)義上存在著一些不規(guī)范和不精確,而使得以矩形框與線(xiàn)段為基礎(chǔ)的傳統(tǒng)圖形表達(dá)方法在不同系統(tǒng)和不同文檔之間有著許多不一致甚至矛盾,但該方法仍然以其簡(jiǎn)潔易用的特點(diǎn)在實(shí)際的設(shè)計(jì)和開(kāi)發(fā)工作中被廣泛使用,并為工作人員傳遞了大量重要的體系結(jié)構(gòu)思想。
    為了克服傳統(tǒng)圖形表達(dá)方法中所缺乏的語(yǔ)義特征,有關(guān)研究人員試圖通過(guò)增加含有語(yǔ)義的圖元素的方式來(lái)開(kāi)發(fā)圖文法理論。
    2、模塊內(nèi)連接語(yǔ)言
    軟件體系結(jié)構(gòu)的第二種描述和表達(dá)方法是采用將一種或幾種傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的模塊連接起來(lái)的模塊內(nèi)連接語(yǔ)言MIL(Module Interconnection Language)。由于程序設(shè)計(jì)語(yǔ)言和模塊內(nèi)連接語(yǔ)言具有嚴(yán)格的語(yǔ)義基礎(chǔ),因此他們能支持對(duì)較大的軟件單元進(jìn)行描述,諸如定義/使用和扇入/扇出等操作。
    MIL方式對(duì)模塊化的程序設(shè)計(jì)和分段編譯等程序設(shè)計(jì)與開(kāi)發(fā)技術(shù)確實(shí)發(fā)揮了很大的作用。但是由于這些語(yǔ)言處理和描述的軟件設(shè)計(jì)開(kāi)發(fā)層次過(guò)于依賴(lài)程序設(shè)計(jì)語(yǔ)言,因此限制了他們處理和描述比程序設(shè)計(jì)語(yǔ)言元素更為抽象的高層次軟件體系結(jié)構(gòu)元素的能力。