似乎每家生產軟件開放工具或平台的供應商都宣稱他們的工具或平台可以用來進行
快速應用程序開發(RAD)
但是卻很少用證據來支持這一說法
什麼是 RAD? 除了是一種市場稱謂之外
RAD 還可以用來描述在
到
天之內設計和開發的應用程序
James Martin 於上個世紀
年代中期在Dupont工作時提出了這個概念
就是在那裡他和Scott Shultz 使用一個他們稱之為快速交互性生產原型的方法學形式化地提出了一個開發應用程序的系統
這種原型使用流程圖來設計程序和應用程序
Martin 被認為是計算機輔助設計之父
並且他最初的成果已經成長
增大和擴展為我們目前所知道的設計准則 RAD
經過多年的發展
RAD 已經成長為包括很多用於定義 RAD 項目的基本原則
首先
RAD 項目使用原型來刻畫特征
RAD 原型幫助我們快速步入設計過程並演示應用程序的觀感
並減少為確定特性和功能而從用戶那裡收集需求的時間
RAD 的概念是
通過一組來自用戶的基本需求
開發人員通常可以在工作室環境下快速地構建一個原型
用戶可以與這個原型交互並建議特性
功能增強等
而這個原型則作為聯合需求設計(JRD
joint requirements planning)或聯合應用程序開發(JRD
joint application development)過程的一部分
所以任何被吹捧為 RAD 工具的開發工具或開發平台應該能夠方便地從一個 JRD 工作室收集用戶需求
並應該能夠快速地創建能夠在 JAD 工作室中供用戶查看和修改的應用程序原型
一個好的 RAD 工具還應該為開發人員提供使用基於組件的架構來快速添加和刪除特性的工具
而添加和刪除特性要在不須要大量重新編寫代碼的情況下完成
除了在 RAD 項目的過程中更改用戶需求之外
多數項目是
有時間限制的
即為項目完成設置了一個時間期限
在這個時間期限內有任何不能交付的特性或功能都應該被刪除或推遲到將來的發布中
使用 RAD 方法創建應用程序的第二個特點是可能同時有很多開發人員正在同一個應用程序上工作
並且這些開發人員能夠在他們的團隊中扮演很多角色
例如
可能有一個開發人員已經為正在討論的應用程序創建了架構
並設計了用戶界面和後台代碼
而同一個資源可能還在被用於開發成測試計劃
用於測試應用程序
書寫文檔
以及最終培訓用戶
在更正式的項目中
這些角色可以在多種資源中分配
在一個 RAD 項目中
時間和資源限制通常意味著這些(或更多)角色通常必須由單個開發人員所擔任
對於支持 RAD 這一方面的 IDE
它必須適應不同的角色
相反
開發人員必須擔任和支持這些角色中的一個
除了支持團隊中的不同角色外
RAD 工具還必須能夠支持使用第三方組件來交付用戶需求
在構建與購買的爭論中
開發人員必須能夠購買他們沒有時間去構建或不傾向於自己構建的組件
例如
如果一個開發人員正為一個應用程序進行編碼和界面設計兩種工作
那麼他必須能夠集成那些可以減少每個任務所需時間的組件(比如代碼庫
UI 組件等)
最後也是最重要的一點是
對使用 RAD 方法創建的應用程序的最後檢驗是看這些應用程序是否符合特定的商業用途
在使用嚴格意義上的軟件開發周期(SDLC
software development lifecycle)創建應用程序的一般階段中
在這個周期中有很多可交付品(deliverable)必須交付
包括正式的訪談
詳細的設計文檔
與現有系統審的語義映射
流程文檔等
在一個 RAD 項目中
在項目結束時首要的問題是
這個應用程序符合它被創建的商業過程嗎?
如果答案是肯定的
那麼項目就被認識是成功的
出於這一目的
RAD 工具應該提供以下能力
即能夠快速創建能夠解決即將到來的商業問題的應用程序
雖然有一些 SDLC 要素包括在 RAD 項目中
但這不是首要問題
例如
對於一個真正的 RAD 工具
生成過程流圖或數據庫方案的能力並不像交付商業過程所需的功能那麼重要
對五種 RAD 工具的測試 在查看不同的開發工具和開發平台來進行實地測試時
我們分析對比了典型的 RAD 項目元素
包括快速和簡單數據錄入窗體
以及綁定到後台的一個簡單的數據庫表
根據 RAD 方法學
我們使用每個工具構建了原型
標注出一個工具在哪些地方提供效率
哪些地方有待提高
我們還分析了 IDE 對RAD 設計原則以及所需任務適應性的特性和功能的支持
Microsoft Visual StudioNET Visual Studio
NET
可以用來為
NET Framework 以多種語言創建 Web 和 Windows 應用程序
它支持的語言包括 C#
VB
NET
C++
J# 和其它支持 CLR 兼容的語言
從圖
可以看出
作為 RAD
Visual Studio 的一個最獨特的優點就是多語言支持
這一特點使開發人員能夠構建具有由不同語言編寫的組件的應用程序
使組織能夠有效利用組織內現有的技能
對於快速創建原型
Visual Studio 的表現也相當突出
因為它提供了很多工具和組件
可以用來快速地創建數據驅動的應用程序
與 SQL Server 的緊密集成也是一個亮點
雖然需要訪問保存在其它平台中的信息的開發人員可能會發現連接到他們的底層數據比較麻煩
目前很多數據庫供應商已經提供了嵌入到Visual Studio 的工具
包括 Oracle 和 DB
這樣就使得數據庫集成不再麻煩
除數據庫支持外
針對Visual Studio 的第三方組件的發展也很迅速
這樣就使開發人員能夠購買提供他們所需功能組件
從而節省時間
也無須再掌握構建這種功能的技能
將Visual Studio 看成 RAD 工具的一個主要缺點是
微軟為工作於一個項目的開發人員團隊所提供的工具不盡如人意
對於版本和源代碼控制
多數Visual Studio 開發人員會使用微軟的 Source Safe
這一工具很難跨多個地點或工作場所使用
此外
Visual Studio 不提供對其它開發人員角色(架構師
測試員等)的很多支持
所以你需要使用微軟其它的工具或第三方工具來滿足這些角色的獨特需要
微軟最近宣布說它將在Visual Studio
的發布中捆綁很多新工具
這些工具主要提供給架構
單元測試以及團隊開發使用
但是很顯然目前這個版本和 RAD 項目缺少這些工具
你可能沒有時間去等新版本出來
圖Microsoft Visual StudioNET
From:http://tw.wingwit.com/Article/program/net/201311/13936.html