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

字號:

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