1
 软件工程
1.4.3.8 2.3.8 第四代技术过程模型

2.3.8 第四代技术过程模型

第四代技术(4GT)包含一系列的软件工具,其共同点是能使软件工程师在较高级别上说明软件的某些特征,之后工具根据开发者的说明自动生成源代码。毫无疑问,软件在越高的级别上被说明,就能越快地建造出程序。4GT模型应用的关键在于说明软件的能力,它用一种特定的语言来完成或以一种用户可以理解的描述方法来阐述待解决的问题。

目前,支持4GT模型的软件开发环境及工具有数据库查询的非过程语言、报告生成器、数据操纵、屏幕交互及定义,以及代码生成;高级图形功能;电子表格功能。最初,上述的许多工具仅能用于特定应用领域,但目前4GT环境已经扩展,能够满足大多数软件应用领域的需要。

像其他模型一样,4GT也是从需求收集这一步开始的。理想情况下,用户能够描述出需求,而这些需求能被直接转换成可操作原型。但这是不现实的,用户可能不能确定需要什么;在说明已知的事实时,可能出现二义性;可能不能够或是不愿意采用一个4GT工具可以理解的形式来说明信息。因此,其他模型中所描述的用户对话方式在4GT中仍是一个必要的组成部分。

对于较小的应用软件,使用一个非过程的4GT有可能直接从需求收集过渡到实现。但对于较大的应用软件,就有必要制订一个系统的设计策略。对于较大的项目,如果没有很好地设计,即使使用4GT,也会产生与不用任何方法来开发软件所遇到的同样问题(低的质量、差的可维护性、难以被用户接受)。

4GT的生成功能使得软件开发者能够以一种方式表示期望的输出,这种方式可以自动生成符合该输出的代码。很显然,相关信息的数据结构必须存在,且能够被4GT访问。要将一个4GT生成的功能变成最终产品,开发者还必须进行测试,写出有意义的文档,并完成其他软件工程模型中所要求的集成活动。此外,采用4GT开发的软件还必须考虑是否能够迅速实现维护。

像其他所有软件工程模型一样,4GT也有优点和缺点。支持者认为它极大地缩短了软件的开发时间,并显著提高了开发软件的效率;反对者则认为目前的4GT并不比程序设计语言更容易使用,这类工具生成的结果源代码是“低效的”,并且使用4GT开发的大型软件系统的可维护性是令人怀疑的。

综上所述,第四代技术模型的特点可概括如下。

(1)4GT发展得很快,且目前已成为适用于多个不同应用领域的方法。与计算机辅助软件工程(CASE)工具和代码生成器结合起来,4GT为许多软件问题提供了可靠的解决方案。

(2)从使用4GT的公司收集来的数据表明:在中小型的应用软件开发中,4GT使软件开发周期大大缩短,且使小型应用软件的分析和设计所需的时间也减少了。

(3)在大型软件项目中使用4GT,需要同样的甚至更多的分析、设计和测试才能节省有效的开发时间,这主要是通过减少编码量来赢得的。