另外,UML沒有對系統級、模塊級接口的考慮,這在大型復雜系統開發重視不可想象的,圖 10采用全程建模方法中數據匯總圖自動描述的系統之間的接口。
圖 10 采用全程建模方法中數據匯總圖描述的系統之間的接口
三、UML一盤散沙——沒有在細微之處建立建模圖形之間的聯系
UML建模圖形之間的內部聯系十分松散,這種隔閡造成了UML的第三大硬傷,由于篇幅的關系,這種硬傷造成的潛在危害不再討論,本文只是將“散沙”“羅列”如下:
1 狀態轉移圖中,事件與外部Actor、Class、Package等無關;
2無法從語法上建立狀態轉移圖與順序圖的聯系;
3 無法從語法上活動圖應與順序圖在流程描述關系;
4 協作圖和順序圖中與Message相伴的參數與類圖無關。
雖然UML有這樣那樣的問題,不過UML也是從版本0.9發展到現在的1.4版,我們期待UML的升級,但在將要發布的2.0版中卻沒有“改過”的跡象。
本文對UML攻擊頗多,實際上全程建模方法從UML及其前身OMT(Object Modeling Technique)獲益匪淺,作者也是經過對OMT、OOSE、UML以及OOA/OOD的深入剖析,取長補短而建立了全程建模方法,所以理所應當向相關的面向對象大師們表示敬意。
本文在寫作過程中得到了戰復東先生的熱情幫助,在此表示感謝。
=======================================================以下為很多的評論:
tata1 (2002-6-17 16:40:37)
感想: 高展先生的文章已引起不小的風波,有人認同,有人遲疑,有人反對。我認為,我們每個人都應該感想高先生,是他與作為“軟件開發標準技術”的UML唱了反調,他敢于挑起一場風波,而這場風波早應該發生了。 軟件開發是一個技術研究與應用實踐緊密結合的過程,程序員必需具備科學的研究精神,辯證的思考問題而不是沉迷于某項新技術,新思想的玩弄,或迷信于某個理論的說法。如果伽利略不敢否認亞里士多得,如果愛因斯坦不敢否認牛頓,那么今天會是怎么樣呢? 我敢肯定,即使那些擁護UML的人對UML也不全是很精通的。為什么所謂標準就無澥可擊了,聘什么認為老外做的東西就是好的?中國軟件應該發起一場革命,鏟除那些形而上學,教條主義的思想,建立統一的正確的認識。用哲學的發展,全面,辯證的思想來認識問題,認識軟件工程。
tata1 (2002-6-12 16:10:18)
UML手冊已經說明UML是一個建模符號體系,不適合完成全過程的設計應用。所以,高先生說UML“上不著天,下不著地,一盤散沙”有點偏激了。 我認為,UML確實存在使用,普及困難的問題。UML加上RUP后,內容太多,還要學習面向對象技術,確實使軟件開發難度很大。一個設計思想或設計工具的運用主要是為了縮短開發周期,提高代碼的利用率,可維護性等方面。
文章來源于領測軟件測試網 http://www.kjueaiud.com/