軟件體系結構的描述方法

字號:

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