《軟件架構理論與實踐》 —3.5 軟件架構建模方法的發展趨勢分析
3.5 軟件架構建模方法的發展趨勢分析

20世紀80年代出現的面向對象技術是軟件技術的一次革命,系統分析人員開始借助面向對象技術對將要建造的軟件系統建模。這些模型元素幾乎與代碼元素相同,所以從模型生成代碼成為可能。而且用模型代替代碼使得開發人員可以在更高的抽象層次上討論問題,避免了對代碼語法不必要的糾纏。隨著軟件架構建模技術的發展,建模領域也出現了一些問題:工具開發商不得不耗時費力地在同一個工具里支持大量不同的圖形、符號、表示法,而軟件開發人員面對眾多的方法、工具則顯得無所適從。若要解決這些問題,需要提出一個完備的、靈活的、精確的、可擴展的架構建模解決方案,這也是學術界和工業界共同的奮斗目標。下面我們來分析架構建模技術是如何向這一奮斗目標發展的。
在軟件開發過程中有一個模型成熟度級別(Modeling Maturity Level,MML)的概念[77],用來衡量模型的效率和模型的層次級別。通過這種衡量,可構建出更加優良的模型,從而提高軟件開發的效率,減少人力成本。MML有六層示意圖,分別如下:
第0層:沒有標準,模型存在于開發者的頭腦中。
第1層:文本表達,用自然語言描述想法。
第2層:文本和圖,用自然語言以及一些圖形來描述想法。
第3層:模型和圖,用建模語言描述的圖來表達模型,用自然語言加以輔助。
第4層:精確的模型,用一致而又連貫的文本/圖來精確地描述模型,它們是沒有歧義的,可以直接映射到編程語言。
第5層:只有模型,此時的模型是對系統的完備、一致、詳細和精確的描述。它足以完成全部代碼的生成工作,生成的代碼無須任何改動即可運行。
這里結合MML的層次概念來分析軟件架構建模技術的發展趨勢。從原始的文本建模(第1層)到目前廣泛應用的UML建模(第3層),技術的發展核心都是如何讓架構模型能夠更完備地反映出架構的設計決策,重心在模型本身。從第4層開始,人們的關注點轉移到如何將模型精確、完備地轉換成代碼,這里應用了形式化的建模技術,重心在于模型到代碼的轉換過程。第5層是人們的一種設想,模型取代程序代碼成為軟件開發過程中的產品,建立精確的模型后可以直接生成全部代碼,無須修改即可交付。這里的層次只是一種方法論的劃分,軟件架構建模技術并不是順序地從一個層次發展到下一個層次,而是各個層次上的技術都在不斷進步、共同發展。圖3-27是軟件架構建模的技術發展路線。
圖3-27 軟件架構建模的技術發展路線
3.5.1 第1層:文本模型
第1層是文本模型,從原始的自然語言文檔化到以XML為代表的有固定規范、結構的文檔化,都是通過文本文件來描述軟件架構。由于對結構化文本的語法分析、處理和編輯等相關技術的研究已經持續數年,當使用一種元語言來定義文本的句法時,許多工具能夠生成程序庫來對使用該語言的文本文檔進行句法分析和檢查。文本符號可以很好地描述線性和層次結構,但是描述類圖結構時不易理解。
軟件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。