似乎每家生产软件开放工具或平台的供应商都宣称他们的工具或平台可以用来进行快速应用程序开发(RAD)但是却很少用证据来支持这一说法 什么是 RAD? 除了是一种市场称谓之外RAD 还可以用来描述在到天之内设计和开发的应用程序James Martin 于上个世纪年代中期在Dupont工作时提出了这个概念就是在那里他和Scott Shultz 使用一个他们称之为快速交互性生产原型的方法学形式化地提出了一个开发应用程序的系统这种原型使用流程图来设计程序和应用程序 Martin 被认为是计算机辅助设计之父并且他最初的成果已经成长增大和扩展为我们目前所知道的设计准则 RAD经过多年的发展RAD 已经成长为包括很多用于定义 RAD 项目的基本原则 首先RAD 项目使用原型来刻画特征RAD 原型帮助我们快速步入设计过程并演示应用程序的观感并减少为确定特性和功能而从用户那里收集需求的时间 RAD 的概念是通过一组来自用户的基本需求开发人员通常可以在工作室环境下快速地构建一个原型用户可以与这个原型交互并建议特性功能增强等而这个原型则作为联合需求设计(JRDjoint requirements planning)或联合应用程序开发(JRDjoint application development)过程的一部分所以任何被吹捧为 RAD 工具的开发工具或开发平台应该能够方便地从一个 JRD 工作室收集用户需求并应该能够快速地创建能够在 JAD 工作室中供用户查看和修改的应用程序原型 一个好的 RAD 工具还应该为开发人员提供使用基于组件的架构来快速添加和删除特性的工具而添加和删除特性要在不须要大量重新编写代码的情况下完成除了在 RAD 项目的过程中更改用户需求之外多数项目是有时间限制的即为项目完成设置了一个时间期限在这个时间期限内有任何不能交付的特性或功能都应该被删除或推迟到将来的发布中 使用 RAD 方法创建应用程序的第二个特点是可能同时有很多开发人员正在同一个应用程序上工作并且这些开发人员能够在他们的团队中扮演很多角色例如可能有一个开发人员已经为正在讨论的应用程序创建了架构并设计了用户界面和后台代码而同一个资源可能还在被用于开发成测试计划用于测试应用程序书写文档以及最终培训用户在更正式的项目中这些角色可以在多种资源中分配在一个 RAD 项目中时间和资源限制通常意味着这些(或更多)角色通常必须由单个开发人员所担任对于支持 RAD 这一方面的 IDE它必须适应不同的角色相反开发人员必须担任和支持这些角色中的一个 除了支持团队中的不同角色外RAD 工具还必须能够支持使用第三方组件来交付用户需求在构建与购买的争论中开发人员必须能够购买他们没有时间去构建或不倾向于自己构建的组件例如如果一个开发人员正为一个应用程序进行编码和界面设计两种工作那么他必须能够集成那些可以减少每个任务所需时间的组件(比如代码库UI 组件等) 最后也是最重要的一点是对使用 RAD 方法创建的应用程序的最后检验是看这些应用程序是否符合特定的商业用途在使用严格意义上的软件开发周期(SDLCsoftware development lifecycle)创建应用程序的一般阶段中在这个周期中有很多可交付品(deliverable)必须交付包括正式的访谈详细的设计文档与现有系统审的语义映射流程文档等 在一个 RAD 项目中在项目结束时首要的问题是这个应用程序符合它被创建的商业过程吗?如果答案是肯定的那么项目就被认识是成功的出于这一目的RAD 工具应该提供以下能力即能够快速创建能够解决即将到来的商业问题的应用程序虽然有一些 SDLC 要素包括在 RAD 项目中但这不是首要问题例如对于一个真正的 RAD 工具生成过程流图或数据库方案的能力并不像交付商业过程所需的功能那么重要 对五种 RAD 工具的测试 在查看不同的开发工具和开发平台来进行实地测试时我们分析对比了典型的 RAD 项目元素包括快速和简单数据录入窗体以及绑定到后台的一个简单的数据库表根据 RAD 方法学我们使用每个工具构建了原型标注出一个工具在哪些地方提供效率哪些地方有待提高我们还分析了 IDE 对RAD 设计原则以及所需任务适应性的特性和功能的支持 Microsoft Visual StudioNET Visual StudioNET 可以用来为 NET Framework 以多种语言创建 Web 和 Windows 应用程序它支持的语言包括 C#VBNETC++J# 和其它支持 CLR 兼容的语言从图可以看出作为 RADVisual 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 |