您是一位試圖增加 IT 系統業務價值的領頭架構師或項目經理嗎?如果您是,本文可以爲您提供幫助。本文解釋了影響現代 IT 開發的業務推動力,並且向您介紹了模型驅動開發(model-driven development,MDD)。MDD 是主流軟件開發實踐的提高,並且讓您的 IT 系統能夠對業務推動力更加敏感。瞭解 MDD 方法以及您如何可以將其應用於實現業務價值最大化,並且減少解決方案開發的成本。利用 MDD,通過利用轉換和重複性的消除將實現模式自動化,並將低層次的開發工作自動化,您可以提高解決方案的一致性和質量。
瞭解您目前的業務環境
IT 開發不會孤立出現。IT 的目的是簡化業務運作,這意味着業務環境的需求推動着我們開發 IT 的方法。表 1展示了一些當前的業務推動力。
表 1. 當前的業務推動力
推動力 描述
隨需應變的業務 由於商家應該更具適應性和靈活性,所以 IT 系統要做得太多了。
業務關聯 大家強烈關注 IT 部門交付業務價值。軟件必須是與業務相關的。業務及 IT 人員之間的錯誤傳達會導致從 IT 交付觀點看成功的項目,被視爲業務上的失敗。
成本控制 根據承諾的力度對 IT 投資的時代早已過去。現在,IT 部門在強大的預算約束下運作,並且應該證明其金錢方面的價值。
不斷增加的複雜性 軟件系統在規模和複雜度上不斷的增加,從而滿足業務需要。對小規模開發有效的技術,不一定適用於按企業級的計劃。
技能可用性 當今 IT 平臺的成熟意味着交付軟件需要專家的經驗。許多組織努力尋找着有充足技能的專業人員支持它們的開發。項目常常依賴於一些關鍵的人物,如果這些人離開了,損失會很嚴重。
變化的中間件環境 現今的應用程序都部署到極爲多樣的中間件平臺上,平臺技術的變更率沒有表現出減慢的跡象。商家希望利用中間件中的先進技術,但不願意重複地編寫它們的應用程序。
回頁首
瞭解軟件開發的模型驅動方法
模型驅動開發(Model-driven development,MDD)是軟件開發的一種樣式,其中主要的軟件工件是模型,根據最佳實踐,可以從這些模型生成代碼和其他工件。模型是從特定角度對系統進行的描述,它省略了相關的細節,因此可以更清楚地看到感興趣的特性。例如,結構工程師會創建適合於確定建築物承載特性的模型。
在 MDD 中,我們引入了附加的標準,即模型必須是計算機可讀的。例如,我們必須能夠以自動化的方式估計模型的內容。模型的計算機可讀性是它能夠生成工件的必要條件。白板上的圖也許滿足作爲模型的其他標準。然而,直到我們以計算機可讀的方式獲取它時,才能夠在 MDD 工具系列中使用它。
軟件模型一般用統一建模語言(Unified Modeling Language,UML)表示。UML 是用於說明、可視化,並文檔化軟件系統的語言。它爲軟件模型提供了可視化的表示和基礎的語義。UML 還擁有用來確保自動化的標準化的計算機可讀的序列化格式。
軟件模型隱藏了技術實現的細節,因此,我們可以利用來自應用領域中的概念來設計系統。應用程序一般是利用 UML 建模工具,例如 IBM Rational® Software Architect,並使用與應用領域相關的概念進行設計的。例如,當我們工作於企業集成領域中時,我們會利用消息、代理和適配器這樣的概念爲應用程序設計建模。隨後,我們可以精練該軟件模型,並且爲其組件設計詳細內容。
作爲示意圖和藍圖的模型
利用模型來設計軟件是一個公認的實踐(儘管的確不普遍)。目前,模型大多用於通俗地傳達系統某個方面的示意圖,或用於描述您手動實現的詳細設計的藍圖。
將模型作爲文檔和規範是有價值的,但是這需要嚴格的規程來確保模型與實現進度保持一致。通常,時間約束意思是在沒有首先變更模型的情況下,對實現進行了更新。不準確的模型比沒有模型更有害。
在本文中,我們用術語 MDD 來表示由模型自動生成工件的方法。