開發工具和軟體工程 : 你的選擇是什麼?

12月27日

 
 
 
開發工具和軟體工程 : 你的選擇是什麼?
 

我知道BDS 2006VS 2005最近都在眾人的期盼之下推出了,對於Borland來說另外一個令人矚目的開發工具將是下一代的JBuilder。對於這些新的開發工具和即將現身的開發工具而言,最令開發人員興奮的功能大概都是新的程式語言特性,新的架框,新的IDE以及新的元件功能等等。事實上這些領域長久以來都是驅動開發工具不斷創新的主要動力。

 

10幾年前開發工具之間的編譯器/連結器的大戰,到整合發展環境的戰爭,再到現在主流的元件和架框的爭雄,都緊緊扣住了開發人員的心弦。最近沈寂許久的程式語言和程式語言特性又由於Java.NET的競爭,Internet/Intranet應用形成普世價值而呈現百家爭鳴的現象。從JavaPHPPerlC#VB.NETRubyC++/CLI以及其他小眾的程式語言,程式語言界這幾年熱鬧的情景似乎重溫了70年代程式語言美好的歷史一樣。特別是Java.NET平台的競爭讓JavaC#最近都以快速的步驟進步中,而C#語言在.NET平台對於其他程式語言的刺激也讓.NET平台上的程式語言呈現百花齊放的形勢。

 

但是另外一股影響開發工具未來開發方向的勢力也在隱然的形成之中,那就是軟體工程。

 

典型的代表就是UML了,現在的開發工具之中或多或少都開始影響或是融入當今的開發工具之中,開始進入每一個開發人員的日常工作之中,也印證了筆者3年前於Borland傳奇中的預測一樣,UML和建模能力終將從IT金字塔頂端進入底層開發人員的生活中。然而開發軟體就是這麼有趣,有了建模的理論,工具和流程之後,並不是每一個開發人員都喜歡或是接受這種觀念和做法,因此TDD的出現便成為影響現今開發工具的另一個軟體工程的濫觴:

 

Test Driven Development: By Example

 

謝謝TDD的出現,所以我們現在可以在開發工具中看到各種不同的測試架框來幫助我們,從JUnitNUnit,到DUnit,聽說即將會有CUnit(for C/C++)。此外TDDPeer Programming的概念和支援的功能也正式出現在JBuilder 2006中,形成了完美實作TDD觀念的典範。

 

從去年MDA/DDA的標準規範和實作的工具出現之後,這股新的軟體工程力量也開始影響了開發工具,BorlandJBuilderTogether,和BDS 2006都開始支援MDA/DDA。這又是軟體工程引導開發工具趨勢的另外一個證據。

 

 

最近我也發現有愈來愈多不同的軟體工程書籍出現在市場上,而且也愈來愈受到架構師,分析師,設計師和開發人員的喜歡。就我個人而言利用空閒的時間閱讀不同的軟體工程書籍,看看各種不同的想法,觀念,流程和實作的場景也令我相當的愉快,更重要的是這會讓我思考它們對於開發工具,甚至是未來軟體發展的趨勢將會是什麼? 這是很有趣的一個沈思之旅。例如在最近我休假的幾天之中我就準備看看ICONIX Process這本書。

 

n       MDA Explained: The Model Driven Architecture--Practice and Promise(已閱)

n       MDA Distilled(已閱)

n       Model Driven Architecture: Applying MDA to Enterprise Computing(已閱)

n       A Practical Guide to Feature-Driven Development(Not Yet)

n       Agile Development with ICONIX Process: People, Process, and Pragmatism(Reading…)

 

如同80年代的資料庫曾經是主導產品和專案開發的主要力量,902000年代是由中介軟體決定產品和專案開發的架構。軟體工程也將在現在以及未來的數年之中形成軟體開發的主要力量之中。特別是在開發工具領域,軟體工程將加入平台,程式語言,架框,元件以及整合發展環境功能同時成為影響開發工具的主要力量。也許在不久的未來當某些架構師和開發人員在選擇開發工具之時,決定他們選擇使用那一個開發工具的最重要因素將會是軟體工程,而軟體工程也將和未來的開發工具有著愈來愈濃得化不開的整合能力。

 

就像這次我在發表Delphi 2006時,雖然許多的參加人員都對Delphi 2006新的整合發展環境功能,新的架框,新的元件和新的程式語言特性有興趣之外,我發現也有愈來愈多的朋友喜歡ECO,喜歡Together。那麼這是不是代表開發工具之中內嵌的軟體工程已經開始成功的吸引了一些開發人員的心思,也代表軟體工程已經開始在一些開發人員的心中發芽了呢? 這是一個值得在未來數年之中觀察的重要現象!

你可能感兴趣的:(其他人的Blog存档)