【IT168 技术文章】
时下,可视化已成为一个热门话题,笔者在google上用“可视化”为关键词进行搜索,得到符合的条目278万条。我顺次打开浏览,除去不能打开或需要登录(我从不打开这类条目)的条目外,大概阅读了40多条的内容,发现对于可视化的理解比较混乱,不同的理解之间相去甚远,甚至大相径庭。笔者认为,有必要对此进行梳理和归纳,本文就是笔者的一个尝试。
什么是可视化?从字面上理解就是可以看见,但实际上现在人们所说的“可视化”其真实的含义是把本来用文字、数字等表达方式改用图形、图像、动画等方式。
笔者认为,可视化是今后相当长的时期内计算机技术的一个重要发展方向。我们知道,计算机刚刚诞生时,计算机主要用于科学计算,后来发展为数据处理。随着互联网的普及,以及多媒体技术的发展和成熟,图像处理将成为计算机的重要用武之地。而可视化与图像处理是两个互相交叉又相互促进的领域,具有广阔的发展空间。
尽管人们对可视化的认识各异,但从功能上以及从应用主体上看,可以分为三种类型,即软件设计可视化、信息管理可视化和流程可视化。
一、软件设计可视化
(一)软件的图形辅助开发工具
在计算机诞生的初期,可视化就随着软件出现应运而生了。大概还是汇编语言刚问世不久,编程人员就开始绘制流程图来做辅助工具,使得程序设计更加方便快捷。以后,随着编程语言的升级(出现高级语言)和处理对象规模扩大,出现了各种图形辅助工具,例如,图形用户界面技术、可视化操作等。可以说,可视化是伴随着计算机科学和技术的发展与应用而发展起来的。
但在相当长的一段时期内,由于计算机技术的发展和应用的限制,可视化一直处于非常初级的阶段。直到近年来,随着因特网的普及,以及多媒体技术的成熟,才使得可视化技术逐步走向成熟。
(二)可视化建模技术
1、概念
20世纪90年代中期,对象管理组织OMG发布了统一建模语言UML(Unified Modeling Language)。伴随着面向对象技术的发展,可视化建模技术受到越来越多开发人员的追捧,其应用领域也在不断扩大,从传统的软件设计领域扩展到管理业务领域。现在,可视化建模技术已经成为一种成熟的软件开发标准。
一般说来,软件系统,特别是大型软件系统,都是极为复杂的系统。而软件系统最终的表现形式必为可执行代码。而最终可执行代码则更为复杂,包含了更多的细节,以至于再高明的软件人员也难于把握系统的全貌。这时就需要在软件总体构架与最终目标代码之间有一个中间过程,从而保证系统具有健壮性和可理解性。模型是对现实世界的复杂系统的简化和抽象,而可视化模型又可以把复杂模型简单化和直观化。因此,可视化模型就是这个中间过程。由于可视化建模采用面向对象方法,能够实现现实世界直接映射到对象模型之上,可以适应业务需求的不断变化,因此,可视化建模可以帮助软件设计人员加深对系统的认知,做到抓住问题的本质,并且滤掉众多非本质因素,从而有利于问题的解决。
2、意义
从技术实现的角度看可视化建模,可以发现它有很多好处:
一是可以有效管理系统的复杂度。一个现实世界的实体系统,往往是非常复杂的,相应地,它的对象模型经过简化,但其复杂度仍然非常大,有时甚至超出手工的处理能力。面向对象方法的最大优点就是抽象,通过可视化建模的抽象,使得概念系统大为简化,直至达到我们能够理解和处理的程度。特别地,可视化系统是一个层次系统,开发人员可以根据需要了解任何一个层次,粗到系统架构,细到最深层次的细节。
二是可以实现开发人员之间很好的沟通。我们知道,语言和文字是人们进行交流的主要手段,但是,语言和文字往往有歧义性,较难保证交流双方的理解完全一致。所以在工程技术领域,人们更多地是使用各种各样模型进行交流和沟通。因此,可视化模型能够比较好地保证交流者之间对问题理解的一致性。
三是可以提高系统设计的可重用性。可视化建模能够实现每个类的功能单一化和构件化,因而,很多构件都有重用的机会,从而提高系统设计和开发效率,降低成本。
四是增强系统的灵活性。应用可视化技术建立的模型由于其结构清晰、易于被理解,因而,系统比较易于修改和重构。
3、操作特点
(1)以构件为基础
可视化建模的基础是软件构件,它可以保证软件系统的最大灵活性,这是因为,软件构件的特点是构件内部的元素之间高内聚、构件之间低耦合,保证整个系统的功能由一组构件相互协作来完成,构件之间通过定义明确的接口来相互通信或服务。构件体现了面向对象技术中的封装和模块化思想,既能够适当隐藏细节信息,又可以在需要时随时查看系统的详细结构,从而有效管理系统的复杂度。
(2)保证模型和代码的一致性
凡是有软件开发经验的人都知道,保持系统设计与代码的一致性是软件开发的一大难题,因为,在软件的开发过程中,经常出现编码与系统设计不一致,而没有及时修改设计的现象,如果这种情况不断发展,就会导致系统设计与实际代码功能逐渐脱节,给以后系统维护埋下隐患;但是,如果靠手工维护,又会异常费时费力。而在可视化建模技术中,由于建模语言没有语义的歧义性,可以由软件工具实现模型与代码之间的同步,从而保证模型和代码的一致性。
4、可视化建模工具
随着可视化建模技术应用的普及,市场上出现了很多支持可视化建模工具,例如,IBM Rational的Rose和XDE等。这些工具可以全面支持UML。IBM Rose 和XDE都具有模型与代码的同步功能,即可以实现双向工程。此双向工程包括从模型自动生成代码的正向工程和根据代码的变化来自动地更新模型的逆向工程。
二、可视化信息管理
(一)可视化信息管理的意义和功能
当今世界,以计算机为工具进行信息管理的活动可以说无处不在,几乎所有的信息管理都能够与可视化搭上界,特别是大型信息系统进行可视化管理可以收到意想不到的效果,因而,可视化信息管理是信息系统开发的一个重要的发展方向,它改变了信息管理的现有模式,使管理者以直观的可视化方式,方便、简捷、清楚地把握信息管理过程,并提供辅助决策支持,使得用户管理、决策活动变得轻松方便。
可视化信息管理,具有快捷的查询与浏览能力,可实时显示信息、模拟实际状态、提供决策分析工具、完善统计和用户及权限管理等。一般来说,图形化的信息组织和表现形式更符合中国人的思维与行为方式,信息表现直观、形象;使用简捷,没有技能门槛,不需要了解太多的计算机知识,减少了相当一部分使用者对使用计算机技术的恐惧心理与障碍,有利于信息化管理水平的提高。
可视化信息管理的应用范围十分广泛,特别适用于具有地理属性的信息管理,例如,客户分布、渠道状况、仓储运输等进行信息的可视化和地图化,还可以在可视化的基础上进行各种统计分析和专题图表制作,使各种信息和分析结果一目了然。
通过以上分析,不难看到可视化信息管理,从用户角度看,是计算机技术的新的发展阶段。“用户友好”一直是信息系统开发的基本原则之一,但是直到可视化信息管理的普及应用后,才确确实实变成用户的真实感受;从开发者的角度看,可视化信息管理必将成为他们新的用武之地。因为,它本身必将得到迅速发展,并催生出更加丰富多彩的规范、技术、方法和工具,成为软件企业新的利润增长点。