现在的位置: 首页 > 综合 > 正文

[置顶] 后可视化编程时代

2012年09月27日 ⁄ 综合 ⁄ 共 3173字 ⁄ 字号 评论关闭

概述

可视化编程技术的出现是软件开发领域里的一次伟大的变革。它大大提高了程序员的工作效率;它使得我们可以更容易地开发大型的应用系统。

但与此同时,客户对自己的应用系统的要求也越来越高,系统变得越来越庞大,随之而来的是程序员的工作量的成倍增长,这使得可视化编程也有些力不从心了。于是,开始有人思考如何弥补可视化编程的一些不足,并将这些内容整理成体系,后可视化编程时代即将到来。

什么是可视化编程

在很久以前,人们编写的程序中的每一行代码都是自己手写的,包括界面的设计、各种功能的实现等等。实现一个小的功能也需要大量的开发。

后来,出现了一种全新的开发方法:可视化编程!这个太帅了。是的,这个简直就是开发人员的救世主,这对于编程领域来讲是具有划时代的意义的。

所谓可视化编程,亦即可视化程序设计:以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。

可视化编程的不足

而我们今天已认知到,用鼠标拖拽只能是最方便的,而绝非是最高效的。用鼠标在一个窗体上拖上3、5个控件,还是很好的,但如果是拖上几十甚至上百个控件就不好玩了,而在今天的大型的项目中,大部分是这个规模的,恶梦从此开始。我们光是把这上百个控件用鼠标放整齐了,按要求摆好了,就花掉了我们大半天的时间,然后每一个控件还需要进行check验证以及页面上的其它工作,这可能又花去了我们一天的时间,暂且不说后台的程序逻辑开发,只是在接收这些参数值的时候,我们可能要写上几百行的程序,这可能就又花去了我们一天的时间……

可视化编程给我们带来了很多的好处,但同时也让我们看到了可视化编程在面对大型项目时的不足之处。

标准化的引入

与此同时,由于我们项目越来越庞杂,这促进了另一个领域的不断进步。在项目的开发过程中,对工程的管理越来越重要,这使得软件工程管理不断的完善。这并不是我们今天要讨论的重点,但我们要从中抽取出一个成果:标准化!我们经过分析发现,影响可视化编程效率的问题在于可视化编程并没有一个详尽的标准(当然,这并非是必须的)。于是标准化开发与可视化编程的结合有可能产生一种全新的开发方式。

标准化与可视化的第一次撞击

后可视化编程:标准化体系下的可视化编程。它的关键词是:标准的代码由机器来完成。最初的时候,人们为了提高可视化编程的效率开发出了一些代码生成工具,这提高了我们的开发效率。后来,人们对代码的生成工具进行完善,现在好一点的代码生成工具,可以生成一些控件和部分代码。生成的程序大部分是只能运行在本公司的框架下的(当然这个是可以解决的)。

我们认真分析一下,不难发现有规则的就可以用代码生成器来完成。如果我们把除了具体的业务逻辑之外的其它代码都规则化,也就是标准化,这些代码是不是就都可以由生成器来完成了呢?答案是肯定的!但这将是一个系统工程,这意味着我们要从新给软件开发制定标准,这些标准是全面的、具体的、成体系的。再配合现在的可视化开发工具一起使用。这将使大型项目不在大型!

详解标准化

下面说说标准化吧,前文中谈到了工程管理。通过工程管理学我们可以抽取出一些标准化的概念。标准化是指:为在一定的范围内获得最佳秩序,对实际的或潜在的问题制定共同的和重复使用的规则的活动。它包括制定、发布及实施标准的过程。对于我们来说,我们要给需求分析、概要设计、详细设计、数据库设计(如果有数据库的话)制定标准;我们需要对具体的程序进行标准化的制定如:如何定义变量、变量与数据库字段是否存在某种关联、什么是标准的check、什么是标准化的控件;我们需要制定什么是标准的数据库操作,如:增、删、改、查,以及细节问题;如何定义对象、如何处理对象的关系(一对一、一对多、多对多)等的标准化处理等。有了这些,将使我们的开发工作进入一个全新的境界:程序是用想出来的。

开始讲得有些啰嗦,后来有点不太明白,继续看下去,你一定可以清楚这一全新的概念。我相信我的表述能力。

后可视化编程在不同的工程接段的表现情况

为了能够涵盖上文说的各个方面的标准化,我们以开发过程为主线进行说明。

首先,我们接到一个任务,需要到客户那里去了解一下具体的要求,这个过程基本上就是需求调研的过程。这往往是我们初次与客户接触的机会,能够给客户留下专业、认真、可信任的印象非常重要。那么如何从专业的角度来尽量做得更好呢?你有没有过从客户那里回来了以后发现有几个问题还没有问清楚?如果有,说明你你调研不够标准,有了标准化的模板,让你的调研可以更充分、思考更完善。这是能给客户留下专业印象的基础。

我们有了需求,对需求进行认真的分析,并出据了《需求分析说明书》。我们通过对需求的分析,可以初步总结出该需求包括几个模块,模块之间的边界,各模块的功能、系统重点、系统难点等,从而形成《概要设计》。(《概要设计》完成以后,可以开始着手进行UI设计。)自此之前,都是一些思考性的内容。后面将是思考的不断成熟与部分程序的出现的接段,会有一些提高生产效率的内容出现。

在《概要设计》与《需求分析》的基础上,我们可以按照敏捷开发的思想一部分、一部分的思考与开发,我们以某个模块为例进行说明,在这个模块中,我们抽像出这个需求由哪些对象组成,每一个对象由哪些属性组成等。我们需要把对“对象”的说明进行记录,记录后形成的文档是《数据字典》。数据字典中记录某个需求包括哪些对象,这些对象包括哪些属性,每个属性的性质以及对象之间的关系等内容,从而形成了数据库的表结构和程序中的bean对象。然后是完成《详细设计》文档。在详细设计文档的整理过程中我们会发现更多的细节问题,这些细节会导致数据字典的变更,也有可能会导致之前已完成的一些《详细设计》文档的变更。这时,我们都应实时的对应这种变更。这也是为什么在详细设计完成之前不能进行实质性的开发的一个因素。

有了详细设计后,我们就可以进行代码开发了,与此同时也可以开始进行测试用例的整理工作,从而使今后的开发与测试均源于同一个详细设计,从而使软件的测试效果在理论上得以保障。

同时,在条件允许和项目需要的情况下,我们也应在正式开发之前作一套业务逻辑演示程序,与客户进行沟通,从而进一步提高咱们所开发出来的系统与客户的愿望的一致程度。而这种演示就是程序的业务逻辑骨架,这些可以通过标准的详细设计文档直接得到,而这种程序即可以用于给客户的Demo演示,同时也可以用于下一步的实际开发,我们的实际开发将不是从新创建一个工程,然后一步一步的开发,而是已有一个工程,这个工程中的内容包括所有的对象的标准化操作、所有表的标准的数据库操作、根据实际业务逻辑要求的所有的页面、以及每个页面中的所有控件、元素是都存在的,甚至页面中元素可以输入的数据类型、长度等的check也都是存在的,且可以直接运行甚至是不必测试的,我们要做的是在可视化的环境中,从新审视哪些地方需要修改、并真正的将业务逻辑的后台程序实现。这种方式正好弥补了可视化编程的一些不足。让我们用标准化的开发体系来进行可视化编程,这就是后可视化编程的时代。

后可视化编程的概念及优势

后可视化编程时代是标准化体系下的可视化编程。它更注重标准化开发,因此它将更有利于大型项目的工程管理;由于标准化的程度很高,因此我们可把更多的工作交由计算机来直接完成,提高了工作效率;标准化的代码的质量是很高的,标准化的程度越高,代码质量就越高,不需要测试的代码比例就越大。当然啦还有一些其它的好处,如:更容易培养团队的统一的书写风格、使文档与标准代码保持一种依附关系等等。后可视化编程时代是可视化编程的一种极有益的补充。我们要从新制定一套全面的、具体的、成体系的标准来迎接这精彩的时代的到来。

家德瑞已在这方面作了一些有益的尝试,可以访问blog.csdn.net/home_dear关注相关信息。

抱歉!评论已关闭.