首页 百科知识 应用程序开发方法

应用程序开发方法

时间:2022-10-09 百科知识 版权反馈
【摘要】:应用程序开发周期只是包含项目每一个方面如质量管理和质量保证等的更大的方法中的一个小部分。自顶向下法、面向对象的分析和设计法、联合应用程序开发法、快速应用程序开发法、快速循环原型法和商业过程设计法。如图9-4所示给出了RIP方法的思想。联合应用程序开发是快速循环原型的一种扩展形式,其中联合开发小组由开发和终端用户小组组成。其思想是项目人员的配备应使用户最大限度地利用开发人员。

9.2 应用程序开发方法

开发成功的商业应用程序要求用户建立一个在项目的整个生存周期都要用到的完整开发过程。在分布式环境(如两级客户机服务器应用程序)下开发应用程序的用户利用周期开发来创建、维护和改进自己所提供的解决方案。应用程序开发周期只是包含项目每一个方面如质量管理和质量保证等的更大的方法中的一个小部分。

应用程序开发方法包括三个主要阶段。

1.重设计过程(process reengineering)

从某种程度上说是已有问题及其解决方案的发现和定义。重设计的基础就是要捕捉当前过程并确定在何处以及是否可以用基于计算机的解决方案来改进该过程。作为这个过程的一部分,用户收集当前情况下应用程序问题的信息和确定解决这些问题的优化方案,包括将这些方案融入系统内,并通过问题的发现、定义和解决过程不断地管理和提高系统。

2.结构基础(architectural foundations)

确定实施在重设计过程中定义的解决方案所使用的工具。它包括了应用程序的软件包的定义以及应用程序、数据源和外部接口之间的相互作用。它还负责监控和优化数据库的性能和应用程序的资源利用。

3.系统开发(system development)

系统开发是建立解决方案以便进一步开发和提供优化解决方案的阶段。该阶段包括定义一个用于系统的设计、创建及实现的计划和要求。要实现的系统则通过维护和开发不断地得到监控和提高。尽管这些阶段相互作用,但每个阶段都有自己的开发生存周期,在其中考虑到了发现、创造和增强。这些阶段实质上是一个循环过程,用户可以在对系统有意义的任一点开始。用户可以从纸上开始然后到计算机上,或者重新设计已有的计算机系统。这个过程如图9-2所示。

img155

图9-2 具有单独生存周期的应用程序开发方法

有很多分析和设计的方法。其中一些是经过试验和测试成熟的方法;而另一些则是较新的不太成熟的方法。

一些方法比较适合于特定的场合和设计小组,因此值得加以研究。最常用的一些方法有:

自顶向下法、面向对象的分析和设计法、联合应用程序开发法(JAD)、快速应用程序开发法(RAD)、快速循环原型法(RIP)和商业过程设计法。

许多工具如计算机辅助软件工程(CASE)能帮助开发小组实现这些处理过程。

9.2.1 自顶向下的开发方法

自顶向下的方法通常被认为是传统的或“经典”的软件生存周期。在开发上,它沿袭了结构化分析和结构化设计的方法。自顶向下方法的模型如图9-3所示。

img156

图9-3 自顶向下的开发方法模型

此模型的第一步是对用户需求的分析和定义,然后在需求规范文档中确定软件的需求,这完全是从系统的外部行为来描述的(注意这不是描述系统内部怎样工作)。在该设计阶段中一个重要的因素是系统的行为。详细设计用Program Design Lange(PDL)符号完成,PDL也称为Structured English或伪代码。详细设计用于表达意图和结构而不是实施细节。

自顶向下方法的两个重要内容是:测试和建立文档。测试是在整个软件开发过程中不断地进行的。而文档也是通过每一个阶段不断创建和更新的。因此,自顶向下模型生成了许多文档:规范文档、设计文档、代码文档和许多其他文档,包括数据库、用户和操作手册。这些文档是系统维护和更新必不可少的。

这种开发生存周期方法存在一些固有的问题,最重要的是只有在工作系统建立以后才能对项目需求进行正确的测试。而且只有到那时,才能使需求与功能相匹配。显然这一阶段所提供的解决方案可能无法满足最终用户的期望和要求。在需求规范文档中的问题只有到这时才能发现,因而问题的解决须付出很大代价,因为整个同周期不得不重新开始。由于工作模型出现在开发生存周期中较晚的阶段,主要的设计或性能问题直到系统几乎完成后才能遇到。

在当今的商业中,用户正在寻找能够快速和有效地产生的系统。由于自顶向下法在开发周期的后期才产生工作模型,因此开发人员发现这种方法不能满足新的应用程序开发方法要求。解决使用自顶向下法所带来的问题的一个方法就是原型法。

9.2.2 原型方法

原型方法是一个偏重于设计的方法,在该方法中系统设计人员和一组选定的终端用户在一起非常紧密地工作。他们共同参加交流会,在这种会议中,设计不同的系统方案,然后将其模型化、修改、更新,直到系统设计人员完全明白了系统的要求。

这种方法的明显优点就是用户和系统设计人员紧密地结合在一起,用户看到系统功能并能立即提出反馈意见。用户可提供有关系统切中要害的见解,而这些见解在传统的最终用户评审期间系统设计人员必须花费很大精力才能发现。这种原型有时可进一步细化以生成最终产品,但更常见的情况还是分阶段进行以便能将实际的编码框架放置到合适的位置。文档也是这种方法的一部分。利用用户提供的反馈,可以随原型一起创建修正的需求规范文档。

1.快速循环原型法

快速循环原型(RIP)方法充分利用了自顶向下方法模型,再加上原型循环。在原型循环周期终点,最终的需求规范和原型将受到开发小组和用户小组的认可,从而分析阶段也可告一段落。如图9-4所示给出了RIP方法的思想。

img157

图9-4 快速循环原型开发方法模型

由于明显地得到了终端用户的高度参与,因此这种方法非常适合于终端用户可以分配足够时间与开发小组一起工作的机构。这种时间投资可能得到的回报之一就是可以大大缩短新系统所要求的培训时间,因为许多用户已经熟悉了应用程序。

2.联合应用程序开发

联合应用程序开发(JAD)是快速循环原型的一种扩展形式,其中联合开发小组由开发和终端用户小组组成。理想情形是,小组领导应该由两个组以外的人担任,此人对项目的产出没有既得利益,而纯粹是一个协调人和中介者的角色。

联合小组主动接近终端用户小组的需求,并通过开发快速原型提供屏幕显示和报表。这个小组的目标之一是生成需求规范文档。

显然,这种方法要求开发小组和用户小组都必须有大量的投入,但成功的回报应该由双方共享,因此在项目及其成功中将拥有双方既得利益。

3.快速应用程序开发

快速应用程序开发(RAD)是若干技术的集成,其目标是高质量系统的快速开发。

RAD的组成部分有:

(1)项目规划。

(2)需求规划和开发。

(3)原型化。

(4)可重用代码。

项目规划的概念是使项目使用最少的人员。其思想是项目人员的配备应使用户最大限度地利用开发人员。规划还允许用户根据系统的相互依赖性和开发小组实施规划所投入的时间确定项目的持续时间。相互依赖性可能使项目持续时间比原来预计的要长得多。这些关键步骤可能阻碍进一步的开发直到它们成功地完成为止。

需求规划和开发由终端用户和开发小组共同的成果组成,用于进行结构化分析和应用程序设计。

原型化是RAD的中心议题。原型有助于建造最终的系统,因为原型将用作应用程序的基础。

计算机辅助系统工程(CASE)工具主要用在RAD中,因为它们能集成现有的可重用模块中的代码。这些工具帮助获取商业规则和功能,根据指定关系将其转化为电子格式,并能够根据听众(如终端用户和高级管理人员)快速地显示各种格式。

9.2.3 面向对象的分析和设计

面向对象的分析和设计(OOA和OOD)将重点放在对象的开发上而不是对过程的开发上。这个方案是建立在模块化概念的基础上。模块化允许系统设计人员将系统分解成小的更容易管理的单元,并在它们之间定义了完善的接口。

使用模块化的概念,面向对象的方法将信息封装在单独的模块中,以便更容易定义和管理。信息封装有助于实现信息隐藏的概念,这是一个防止使用全局访问信息的技术。这使这些模块(或对象)是自我包含的、可管理、可更新,最重要的是可重用的。

面向对象的方法包含三个概念:

(1)对象(Objects)。

(2)类(Classes)。

(3)继承(Inheritance)。

利用这种方法,对象成为被封装的功能和信息的一般实现。对象就是用户可以对其进行操作和与其交互的程序,它有状态和行为。对象通过消息而不是通过直接访问和调用进行通信。

类是具有共同的行为和共同的功能的对象集合。用户可以用继承对类进行特殊化处理,这是一种在类之间共享和重用属性的机制。

子类通过添加新的或重新定义已存在的特殊和行为来采纳其父类的封装的属性和行为。

这种方法用于收集问题定义和解决的信息。随着更多的面向对象编程和开发环境及工具的出现,看起来对大多数机构的分析和设计来说,这是最有生命力的方案。有关该主题的进一步的探讨,请参看Grady Booch编著的《面向对象的分析和设计》一书。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈