但是,在Fowler眼里,軟件工程和其它工程是不同的。
首先,對建筑工程來說,工程師一般都有多年的經驗并且對所用的各種工程符號了如指掌,而UML的設計可能在紙上畫出來看著很好,真正編程時卻會發現很多問題。另外,在建筑工程上,關鍵設計都是可以經過數學分析進行驗證的;而在UML設計中,類似的手段只有同行評審,雖然有一定作用,卻并不能避免錯誤的發生。
另外,在成本比例方面,軟件設計和其它領域的工程也是截然不同的。舉修橋的例子來說吧,設計成本可能也就占全部成本的 10%,而在軟件設計中,這個比率是50%。
UML最早是由Rational公司提出的,但已經被很多公司使用,這里面最重要的就是OMG。公眾對UML的接受刺激了以模型為中心的開發,OMG提供了支持這種開發的一系列標準的框架MDA(Model-Driven Architecture)。MDA的關鍵特點就是軟件開發的重點和輸出不再是程序,而是各種模型,開發人員的工作是不斷拓展模型,只有到了最后階段才會考慮將其實現。
OMG認為,利用MDA可以得到更好的“高層抽象”設計框架,更好地得到針對今天各種語言的“通用化”代碼。和正在醞釀之中的基于XMI的數據交換一樣,基于MDA的數據交換方法將給開發商和用戶雙方帶來好處。
XMI(XML Metadata Interchange)試圖通過XML語言為程序員和其它用戶提供一種交換元數據信息的標準途徑。XMI希望能夠幫助使用各種語言和開發工具的UML開發人員自由地交換數據模型,另外,XML也可以用于數據倉庫信息的交互;最重要的是,XMI制定了描述各種元數據定義的統一標準,并要求跨行業和跨操作環境的用戶使用一致的方法讀取數據。
今年6月,包含OMG MDA標準,促進模型交互的UML基礎庫修改版已經正式提交討論。參與討論的包括用戶熟悉的很多開發商,包括I-Logix, Oracle, Rational, Telelogic and Computer Associates等等。
UML2.0中還將包括對組件建模的改進。近幾年來,隨著J2EE和微軟的.NET技術的出現,組件技術得到很大發展。這方面,UML2.0中將考慮如下內容:如何更好地描述組件描述的語意以及構建.NET和企業JavaBeans的專門模塊。
Jim Duggan ,artner公司的副總裁和研發總監,認為UML2.0中要處理的首要問題就是保證標準的擴展性,他認為現行的標準中擴展機制定義得不夠,導致各開發商使用了不同的擴展方法。另外,還必須提供對組件開發、面向服務的框架以及web services的支持。
有人提倡,UML的發展應該是向下兼容的,要保證過去基于UML1.x的用戶和工具開發商所做的努力不會全部作廢。UML2.0中應該提高精確度,可以選擇加入少量的一些新特性,要避免導致“語言膨脹”的困境。而現在有一個不妙的苗頭: UML將變得越來越大,而在最初,OMG聲稱的目標本來是簡單化的。
Gartner公司的Duggan認為,“新的規約正在變得越來越復雜,變得非常大,難以管理、理解和實施。標準委員會曾經說過將要把物理模型和邏輯模型分開。但是,一旦規約復雜化了,要做到這一點就不大可能,而且規約本身也開始失去作用!
Alistair Cockburn,Humans and Technology的顧問,在他的論文中表達了同樣的意思!霸谲浖_發中把人也當成了非線性的、第一位的組件”,Cockburn認為那些重量級的開發方法中試圖為一切建模,這是導致成功率不高的重要原因。他認為在軟件開發中人是最重要的,在設計符號中把人當成一個組件,就是最大的失敗之源。
文章來源于領測軟件測試網 http://www.kjueaiud.com/