在“隨需應變”的浪潮下,2004年IBM推出了軟件開發平臺(SDP),可以把它看成一個支撐環境,也可以看成是一個業務流程(個人覺得更像一個Rational產品集合)。軟件開發從最開始的CASE到后面的應用程序生命周期(ADLC),再到軟件開發生命周期(SDLC),直至現在的軟件開發平臺,其實經歷的時間并不長。IBM想把它推廣成象HR,CRM,SCM這樣的業務流程一樣,成為軟件開發公司不可或缺的支撐平臺。
其實并不是什么新技術,它本著四項原則“迭代化開發,以架構為中心,持續地質量驗證,管理軟件資產和變更”。
迭代化開發:也就是RUP
以架構為中心:模型驅動開發(MDD),采用基于構件和面向服務的架構,用可視化的建模技術搭建系統構架,為設計提供藍圖。
持續地質量驗證:顧名思義也就是盡早測試,可以降低風險,因為軟件一旦部署之后就需要花上百倍的代價來修正問題。
管理軟件資產和變更:對軟件開發過程的管理是很重要的,以前的軟件開發團隊往往忽視了這一點,而造成軟件質量差或是進度延誤。
以人為本,以開發過程中人的角色為劃分,分別指定了他們的職責和可選的工具。

1)業務分析員。WebSphere Business Integration Modeler & Monitor, Rational RequisitePro, Rational Rose XDE.
負責業務建模,模擬和監控業務流程。(WBI以前是Websphere家族的,現在因為它的作用納入了這個平臺),RequisitePro可以實現更有效的管理和溝通需求,可以集中管理需求,設置需求優先級,記錄修改歷史,可視化追蹤關系。過程大致是建立業務流程->找出IT優化途徑->在業務和系統之間共享知識->通過IT項目開發來驅動業務發展->監控企業項目實施后流程執行情況。通過業務建??梢詭椭鷺I務分析員找出瓶頸,對項目心里有數。
2)系統架構師。主要負責建立系統模型和數據模型(數據庫),設計系統結構。推薦工具有Rational XDE Modeler, XDE Developer plus。Rational XDE family是對IDE的擴展 eXtended Development Enviroment,是一個開放、可集成的完整的MDD環境,它可以進行需求、設計,集中于構建(build),而不是運行。它不僅可與外面的WASD或.NET等開發環境集成,它也自帶了Eclipse開發環境。一般推薦的是Rose XDE和WASD的組合。
3) 軟件工程師。負責建立UML模型,設計模型,編寫代碼,以及進行代碼測試。軟件工程師其實是個角色組合,不單單有程序員、測試員,還包括設計師(designer)??捎霉ぞ哂蠿DE Developer Java/Visual Studiio, Rational Rapid developer(適用于對業務熟悉但對軟件開發不熟悉的人員),以及用于單元測試的Rational PurifyPlus family,它是一個完整級的代碼級測試解決方案,可以測試內存占用、內存泄漏、運行時性能、代碼測試覆蓋率。
4)測試工程師:負責測試計劃,測試實施(測試用例)以及測試執行。工具有自動化測試的Rational Functional Tester for Java and Web(功能測試), Rational Performance Tester(性能測試),以及Rational Robot。Rational FT通過記錄和回放,自動化測試過程而加快測試速度生成Java腳本,集成入Eclipse IDE或WASD,使開發人員完成代碼后馬上可以開始測試,容易調試并修改結構。而Performance Tester顯然是一個性能測試工具,它可以保證系統上線前滿足性能要求。它通過Rational Robot生成VU測試腳本,通過圖表指出性能瓶頸。
SDP中還有一個很重要的TUP(Rational Team Unified Platform)團隊合作平臺,這是每個開發參與者都需要的工具,這是一個基礎的共享平臺,集成了Rational ClearCase(配置管理),RequisitePro(需求管理),ProjectConsole(項目管理), TestManager(測試管理), ClearQuest(缺陷和變更管理),RUP(項目控制)。
這些工具的使用細節和作用將在后面陸續介紹。值得指出的是,Rational SDP是一個設計和構建平臺,而不是一個運行平臺(Websphere)。
下一此先學習MDD。