快速應用開發
出自 MBA智库百科(https://wiki.mbalib.com/)
- 快速應用開發(Rapid Application Development,縮寫RAD)
目錄 |
快速應用開發(以下簡稱RAD)是由電腦顧問和作家James Martin於1991年最早提出的,是一種試圖快速生成系統而不會犧牲質量的結構化開發方法。RAD與原型法有同樣的目標——對用戶需求做出快速反應,但它範圍更廣。該方法現在已經被廣泛應用於全球的先進IT社區,使用的單位從美國陸軍研究實驗室到香港特別行政區的信息技術服務部。RAD的目標是在60到90天的短時間內建立符合用戶要求的業務軟體。這一目標意味著用戶和開發者都需要做出一定的讓步。但是,由於80:20的指導原則(開發最重要的80%的功能所需要的時間往往只占整個開發周期的20%),這種妥協無礙大局。在用戶和開發者對擬開發的管理信息系統項目缺乏共識和目標的情況下,快速應用開發是一種行之有效的開發模式。
許多單位都經歷過代價沉重的管理信息系統開發項目。整個開發過程不僅耗費大量的時間和資源,而且最終交付使用的系統也往往無法達到用戶預期的要求。
傳統系統開發方法的第一步通常是收集用戶的業務要求。在此之後,用戶就可能要耐心等待結果。實際上,開發過程如此漫長,在此過程中,用戶的業務要求和期望均可能發生迅速的變化。從這種意義上說,傳統的方法就像一個“要麼全部,要麼什麼也沒有”的解決方案。當開發流程全部完成,系統交給用戶使用時,還是不能滿足當時的需求。RAD是解決這類問題的有效工具。
RAD基礎[1]
(1)軟體工具的發展,由第三代語言發展到第四代語言,集成化電腦輔助軟體工程(I-CASE)工具的出現。
(2)開發隊伍的變化,最終用戶全面介入開發過程,通過選拔與培訓組成的最終用戶人員參加的聯合需求規劃(Joint Requirement Planning,簡稱JRP)小組和聯合應用設計(joint Application Development,簡稱JAD)小組,成為開發隊伍的主體。
(3)富有成效的開發工作管理,強調開發生產率的控制與效益評估,保證RAD任務的順利進行,開拓具有革新精神的管理方法。
(4)基於信息工程方法論的最佳生命周期——需求計劃階段、用戶設計階段、系統建造階段和系統轉換階段。
必須強調指出,RAD是項目級的開發方法淪,而不是全組織MIS建設的方法論。只有在信息工程的MIS體繫結構的基礎之上,RAD才有用武之地;離開MIS體繫結構和總體數據模型,是搞不好RAD的。
(5)快速應用開發RAD提供一種降低成本並提高質量,更快速的開發系統的方法。具體實現方法是通過自動化系統開發生命周期(SDLC)的大部分功能,嚴格限制開發時間框架並重覆使用現有組件。
RAD模型[2]
快速應用開發模型是一個增量型的軟體開發過程模型,強調極短的開發周期。該模型是瀑布模型的一個“高速”變種,通過大量使用可復用構件,採用基於構件的建造方法贏得了快速開發。如果正確地理解了需求,而且約束了項目的範圍,利用這種模型可以很快創建出功能完善的信息系統。其流程從業務建模開始,隨後是數據建模、過程建模、應用生成、測試及反覆。RAD模型的工作過程如圖所示。
- 1)業務建模
確定驅動業務過程運作的信息、要生成的信息、如何生成、信息流的去向及其處理等,可以輔之以數據流圖。
- 2)數據建模
為支持業務過程的數據流查找數據對象集合、定義數據對象屬性,並與其他數據對象的關係構成數據模型,可輔之以E-R圖。
- 3)過程建模
使數據對象在信息流中完成各業務功能,創建過程以描述數據對象的增加、修改、刪除、查找,即細化數據流圖中的處理框。
- 4)應用程式生成
利用第四代語言(4GL)寫出處理程式,重用已有構件或創建新的可重用構件,利用環境提供的工具自動生成以構造出整個的應用系統。
- 5)測試與交付
對新創建的構件進行測試。而對於大量重用的構件,一般只做總體測試。
RAD生命周期[2]
下圖描述了Martin提出的四階段的RAD生命周期。Martin生命周期各階段的名稱與結構化開發方法有所不同,但其包括的工作順序是相同的。
在結構化開發方法中,來自信息系統部門的代表負責主要的工作,用戶僅在新系統與老系統交接階段參與。而在RAD方法中卻恰好相反,除了構建階段而外,用戶在各階段都起了主要作用,如下圖所示。Martin的基本邏輯就是,用戶的參與程度越高,尤其是早期階段,系統開發就越快。
RAD方法的基本要素[2]
- 1)管理
管理者尤其是高層管理者應該是喜歡用新的方式來做事的試驗者,或者是能很快知道如何使用新的方法的早期採用者。
- 2)人員
比起由單個小組開展所有的系統生命周期活動,RAD認識到由幾個專門小組完成工作會更為有效。這些小組的成員精通完成指定任務所需的方法及工具。Martin稱之為SWAT(Skilled With Advanced Tools)小組。
- 3)方法
基本的RAD方法就是RAD生命周期。
- 4)工具
RAD工具主要包括第四代編程語言、配合原型開發和代碼生成的CASE工具。CASE工具使用電腦來編製文檔,這些文檔可以轉換到操作軟體和資料庫中。
RAD方法的適用性分析[2]
RAD方法通過大量使用可復用構件加快了開發速度,對信息系統的開發特別有效。但是與所有其他開發方法一樣,RAD方法也存在一些缺陷,使其在一些場合下不能奏效。下表列出了對RAD方法的適用性分析結果。
適用RAD的情況 | 不適用RAD的情況 |
開發的軟體相對獨立.可以單獨使用 | 應用軟體必須與多個現有系統或程式協同工作 |
軟體可利用許多現有的類庫(APIs) | 幾乎沒有現成可用的組件 |
系統操作性能(如速度)並非關鍵的考慮因素 | 程式具有很高的操作性能指標 |
應用的開發可以使用高端的軟體開發工具 | 系統開發不能使用高端的軟體開發工具 |
系統用戶覆蓋面較窄(內部使用或面向垂直市場) | 系統用戶覆蓋面廣,數量大(面向水平市場或大眾) |
項目的範圍(“巨集觀”進度表)和時限(“微觀”進度 表)都受到較嚴格的控制 | BAD偏離目標,變成快速但粗製濫造的開發 |
系統可靠性並非關鍵的考慮因素 | 系統可靠性目標要求較高 |
系統可分解成多個獨立的模塊 | 系統無法模塊化(無法進行多組同步開發) |
所採用的技術相對成熟(已使用超過一年) | 使用過於“前衛”的技術,因而風險過高 |
華為快應用開發IDE不錯