通用条件逻辑可视化开发框架设计2011-10-02 ibm 蔡龙军背景可视化编程发展随着计算机快速应用与发展,计算机软件迅速普及到各行各业的各个领域,快速开发出满足客户需求 的软件越来越迫切,然而随着软件应用逐步深入到行业业务的深层,随需而变的客户要求也变得越来越难 以满足。古人曰:“工欲善其事,必先利其器”,基于传统的文本编程越来越不能应对这些挑战。功能强 大的 IDE( 集成开发环境 ) 应运而生,强大的 IDE 提供了高效的可视化编程环境,不同的应用领域可视 化编程环境提供的可视化程度也有所不同。有的提供了界面构造的可视化,而有的甚至提供了程序流控制 的可视化编程,极大地增强了在对应的应用领域的业务开发能力,提高了应用领域信息化程度。可视化 IF 条件逻辑编程需求传统的可视化 IDE 的设计理念多为编程元素可视化,即将编程中的元素转化为多个小的可视化对象, 然后开发支持可视化编辑器来编辑这些编程元素。在很多成熟的可视化编程 IDE 中,对于 IF/Else 表达 逻辑采取了一种避重就轻的态度,因为 IF/Else 为程序流条件控制,并非直接的可视化编程元素,因此 很多成熟的 IDE 都支持基于可视化元素的 IF 条件表达,而不能直接表达 IF/Else 逻辑。这种表达的不 直接性造成了对于 IF/Else 条件逻辑 IDE 表现手法和传统程序员程序开发习惯的大相径庭,此外这种不 直接性造成了可读性差、复用性差、维护困难、学习困难、存在潜在风险等诸多问题,这些问题在实际的 开发应用中极为明显。随着成熟 IDE 大量投入使用,在实际应用中这种低效率的可视化矛盾愈发突出, 使 IDE 实现对于这种 IF/Else 条件逻辑表达的可视化支持也变得日益迫切。对于已经较为成熟的 IDE,如果直接修改和增加会带来较大的风险和难度,基于这几点考虑,需要寻 求一种间接的方式来获得支持,使得成熟的 IDE 也能够较为容易的支持可视化的 IF/Else 逻辑表达的开 发。根据已有的开发经验和设计理念,采用一个独立支持 VIE(Visual IF/Else) 编程的框架和已有的 IDE 相接合使用,可以降低开发难度和风险,提高开发效率。VIE 解决方案面临的问题根据文献[1](见 参考资源)中对于可视化编程的论述,本文认为对于一个可视化框架而言,一般需 要解决两方面的问题,一方面在可视化方面,要提供一个足够满足需要的灵活的编辑器,进行高效便捷的 展现和编辑可视化元素以及可视化元素之间的关系;另一方面要解决可视化编辑器背后的逻辑关系的对应 ,关于逻辑关系的一致性对应问题上,包括编辑器运行时的对应和系统编辑后的对应。对于编辑器运行时 的对应问题,即在用户可视化的改变编辑器中图形元素的时候,这些操作包括拖拽、双击、移动、拉伸、 连接等等,要灵活的响应这种处理逻辑和处理方式,保证对应的逻辑关系发生相应的改变。对于系统编辑 后的对应问题,即要解决在 IDE 关闭后的逻辑关系保存,IDE 启动后的逻辑关系读取、生成程序的成功 构建和生成程序按照设计的逻辑成功运行。