APP下载

基于可视化技术的软件体系结构教学

2013-04-12束永安

合肥师范学院学报 2013年3期
关键词:体系结构虚拟世界视图

束永安

(安徽大学 计算机科学与技术学院,安徽 合肥230039)

1 引言

大规模软件系统相当复杂,具有大量的质量需求。在此背景下,软件体系结构及其教学变得十分重要。但由于软件体系结构是从较高层次把握和理解复杂软件的整体系统结构设计,课程内容抽象。另外,学生在学习该课程之前大都缺乏大规模软件开发经验,对课程的重要性认识不足,导致学生没有学习兴趣。为提高软件体系结构教学的质量,在教学过程中能够引起学生学习兴趣的教学方法尤为重要。

3D虚拟世界(VWs:virtual worlds)技术提供真实的三维环境,为用户提供参与、互动及身临其境的体验,这也为软件体系结构教学工作创造了新的机会。这些机会既与3D虚拟世界展现的教育活动的可靠性有关,也与3D虚拟世界提供的较高的互操作性有关。由于3D虚拟世界具有视觉呈现上的娱乐性、直接性,是对真实世界的仿真,能够提供在现实世界中不可能、不划算甚至是危险的全新的体验,因此,3D虚拟世界在软件体系结构教学中具有独特优势。本文利用3D虚拟世界技术,创建学生感兴趣的软件体系结构学习环境SAVS 3D,提高教学质量。

2 相关研究

3D设计吸引人,整个设计过程充满趣味[1]。这种视觉上的魅力可用于展示的场合,比如向潜在的客户解释软件设计。如果在三维空间把软件系统作为图形对象显示,将有助学生理解复杂的软件系统。以前的研究表明,使用3D进行UML可视化非常实用。Gil和Kent[2]在综合几个熟悉的2D图形的基础上,描述了一组3D图形标记。与SAVS 3D类似,Radfelder和Gogolla[3]的工作主要运用了静态图。Mcin-tosh等[4]针对UML的可视化方面进行研究,并把它作为向观察者传递信息的工具。Lange等[5]提出一种支持面向任务建模的框架,并开发视图及可视化技术。GEF3D框架[6]建立在Eclipse Graphical Editor Framework基础上,把已有的Eclipse 2DUML编辑器扩展至3D。SAVS 3D方法的主要不同之处在于利用3D环境为理解复杂软件体系结构提供手段。在SAVS 3D中,基本的思想是使3D可视图像象2D一样熟悉,给人以直觉感。SAVS 3D方法使用图表视图从不同的角度对系统进行可视化。

3 SAVS3D方法

目前,SAVS3D为大规模系统模型提供静态视图,强调系统的静态结构,不过将来计划表示行为。

3.1 基本系统原理

Jacobson等[7]根据近期学习系统模型和近期教育及复杂系统所取得的成功及面临的挑战,描述了创建学习环境和工具的一组常用设计原理。SAVS3D系统对这些原理进行拓展。

(1)SAVS3D支持学生参加开发复杂项目。市场上发现的设计通常是大的系统,具有高性能、高可靠性、低成本和高质量的需求,但学生大多没有处理复杂系统的经历。SAVS3D增强了很多组学生同时对系统建模的功能,支持学生对团队协作的理解,从而促进学生对系统整体的理解。当理论出现在具体的实例中,学生常常理解得最好。

(2)SAVS3D缩小理论与实践的差距。与理论相联系,支持理论的实践给课堂带来巨大的活力,吸引学生更有意义的参与。

(3)SAVS3D支持学生在消化知识和技巧过程中的活动。SAVS3D有助于加强团队成员间的交流,有助于团队里任务的组织和划分。SAVS3D把单个人的结果集成为一个团队的活动,从而协作完成复杂任务。文献[8]对这些问题作了系统的综述。

(4)SAVS3D吸引学生。SAVS3D提供一个探索的环境,这个直觉的环境既有助于学生探索发现,也会使他们面临挑战,并对他们的交互作出响应。

(5)最简单最好。这个可视化工具的主要目的是简单、易于使用和高效。由于软件体系结构教师和学生学习新的概念的时间有限,如果需要花费很多时间和精力来熟悉这个工具,他们也许会失去使用这个工具的兴趣。

(6)SAVS3D的目标3D图有一个相似的2D源图的景象,这样它就变成一个经过扩展使用的熟悉的景象。即使在不同的表示形式下,用户也能够轻易地辨认出用户自己的图。

(7)SAVS3D用视觉增强来区分探索和交互的额外信息。3.3节讨论使用深度和颜色表示新的视图。

(8)SAVS3D隐藏属性、方法、关联名等细节以减少视觉污染。对于很大的图,只在用户请求的时候显示,但显示清晰。

3.2 系统概述

SAVS3D由三个主要模块构成:体系结构模块、增强现实模块和虚拟现实模块。

作为一门日常课程,教师通过墙上投影等手段展示一个大而复杂的系统图。在不同的抽象层次,它显示特性、构件、连接件等细节,可能使用不同的体系结构风格。在使用SAVS3D前,所研究的软件体系结构必须在一个软件体系结构编辑器内被创建并文档化。在体系结构模块,图必须用一个外部的UML编辑器建立并输出到一个XMI文件中。SAVS3D能够读这个储存的UML图。

SAVS3D首先使用3D可视化增强现实技术,利用ARToolKit库[9],来捕捉和辨识2D投影或打印的软件体系结构(教师的图),帮助教师和学生识别并快速访问增强现实模块获取的这个结构。SAVS3D可以通过网络摄像机把一个图形模式捕获进学生的电脑。SAVS3D使用这个特性识别正在研究的体系结构和这个体系结构的精确视点。增强现实模块使用户更好地接近研究的对象,在课堂活动中很自然地把它们集成在一起,帮助学生学习。

在识别了用2D显示的软件体系结构后,虚拟现实模块据此自动产生一个等价的3DUML图。这个结果图应与2D图等价,在没有限制的空间显示,同时具有一点深度。

3.3 SAVS3D功能

作为一个虚拟环境,SAVS3D支持学生用鼠标进行环境开发,鼠标可以在空间左右上下移动,远离或靠近平面,并进行旋转运动。

在图标和色彩的帮助下,学生能从不同的角度和距离观看3D体系结构。SAVS3D也必须允许学生接近观察,领会更多上下文信息的存在。这一特性允许从一个新的角度分析软件体系结构,这样就有可能发现该图各个部分间的相似性,理解更复杂的关系、不同的技术和不同的体系结构风格。在3D可视化环境中,数据探索的巨大空间促进了在不同抽象层次或在不同人设计的版本上对图的理解。

一个体系结构设计的形成常常产生大量的文档以及项目不同风险承担者进行协商而形成的初始决策的记录。这些信息对于软件架构师,特别是对于象学生这类新手理解体系结构创建及软件开发的整个过程非常重要。通过使用SAVS3D,可以从2D自动产生3D体系结构并与上下文信息一起显示,包含声音、影像和视频形式的多媒体文档。当学生浏览体系结构时,他们在模型空间移动,能够访问这些叠加信息。

视点的功能促进了学生在预定义兴趣点上的移动。教师或学生能在体系结构中选择(定义)一个位置作为一个新的视点,用户能在这些视点之间快速移动,即使它们在体系结构中相距很远。

SAVS3D提供的另一个功能是查找代理,即允许通过关键词或过滤器查找文件。查找结果可以是链接表,也可以是通过颜色或标志形成的可视化图形。这个子系统允许快速而容易地访问与所研究的体系结构相关联的各种信息。系统还支持变焦技术,为特定视图上的数据提供更多的细节。

除了允许在所有的图之间遍历,SAVS3D还可以定义视图表示不同形式的可视化,目的是改善课程质量,与文献[10]讨论的内容保持一致。SAVS3D利用图的视图从不同的角度对软件系统进行可视化处理。一个复杂的系统不可能仅从一个角度达到全面理解。主要思想是可以通过选择正确的一组视图独立地聚焦系统的不同方面。这些视图包括以下内容。

一个类图视图(One class diagram View):要全面理解模型中的一个类元素,有必要探索这个体系结构元素在不同图中的属性、方法和关联。在这种可视化中,当用户从一个图变化到另一个图中,选择的类元素位于屏幕的中央。

包视图(Package View):包视图把体系结构元素汇集在一个包中。

度量视图(Metric View):SAVS3D把已有的UML类图的设计与可视化度量相结合,使用颜色、体积和形状对值进行可视化。

属性视图(Properties View):用户把光标移到体系结构元素上,它的属性、方法和关系名在被请求时以可读的大小显示在一个窗口中。

作者视图(Author View):在远处,彩色图标指示体系结构元素的作者。

文档化视图(Documentation View):当遍历体系结构时,学生在模型空间移动,他们能够访问这个叠加的信息。文档中图标、色彩或标志表示的意义应容易理解。当用户选择阅读一个文档,与此相关联的一个以上的体系结构元素将被标记出来。

注释视图(Annotation View):通过自发、有时甚至是游戏场景,学生能够探索、创建、特别是能同其他同学或老师交流以获得新的信息,通过使用注释共享发现、疑问或简单信息来建立自己的学习过程。

练习视图(Exercise View):这个视图允许教师和学生通过练习进行互动,提高学生的理论知识。

4 结论

本文提出SAVS3D方法。本文主要描述如何利用3D空间的优点通过用户有吸引力的体验来支持理解复杂系统。

SAVS 3D使用3D可视化技术,如虚拟现实和增强现实,它是一个可视化并理解一个复杂软件系统体系结构的新颖方法。使用该方法,教师和学生有很多机会去探索一个3D环境,该环境强调在说教背景下的直觉理解。由于学生有巨大动力去看操作的实际结果,SAVS 3D针对实际经验的需要,桥接理论与实践间的差距,同时重点构建集体推理以理解具体的场景。SAVS 3D也注重在图形接口应用和文档化上的开发以鼓励学生并产生较优的学习曲线。

该方法让用户探索不同的场景,无需强迫他们遵循指定的路线。这考虑到更多的创造性,由此产生有趣的观察。在探索过程中,用户能发现错误,检查错误并从错误中学习。

为使软件体系结构课程更有趣和鼓励人,SAVS3D目标是学生重获通过愉快的方式掌握知识的体会。其思想是给课堂注入巨大的活力,导致学生更有意义的参加。

然而,该工作仍在进行中,目前还没有进行评价。下一步是完成原型的实现,包括在我们团队的环境下与其它研究成果的集成,制定计划并进行评价以便在具体的场景中检查SAVS3D的优缺点,如它的效率和吸引力的等级等。

[1]Loe Feijs,Roel de Jong,“3Dvisualization of software architectures”,Communications of the ACM,41(12),1998:73-78.

[2]J.Gil,S.Kent,“Three dimensional software modeling”,In:Proceedings of the 20th International Conference on Software Engineering,IEEE Computer Society,Kyoto,Japan,1998:105-114.

[3]O.Radfelder,M.Gogolla,“On better understanding UML diagrams through interactive three-dimensional visualization and animation”,In:Proceedings of the Working Conference on Advanced Visual Interfaces,ACM Press,New York,USA,2000:292--295.

[4]P.Mcintosh,M.Hamilton,R.Van Schyndel,“X3D-UML:enabling advanced UML visualization through X3D”,In:Proceedings of the 10th International Conference on 3DWeb Technology(Web3D2005),ACM Press,Bangor,U.K.,2005:135-142.

[5]C.F.J.Lange,M.A.M.Wijns,M.R.V.Chaudron,“A Visualization Framework for Task-Oriented Modeling Using UML”,In:Proceedings of the 40th Hawaii International Conference on System Sciences,IEEE Computer Society,Los Alamitos,CA,USA,2007:289a-298a.

[6]GEF3D,“GEF3DEclipse Project Website”[OL].http://www.eclipse.org/gef3d/,2012.

[7]Jacobson,M.and Working Group 2Collaborators,Complex Systems and Education:Cognitive,Learning,and Pedagogical Perspectives,[OL].http://www.necsi.edu/events/cxedk16/cxedk16-2.html,2012.

[8]C.S.C.Rodrigues,C.M.L.Werner,“Software Architecture Teaching:A Systematic Review”,In proceedings of the 9th World Conference on Computers in Education(WCCE 2009),Bento Goncalves,Porto Alegre,Brazil,2009:1-10.

[9]H.Kato,“ARToolkit”,Human Interface Technology Laboratory,University of Washington,[OL].http://www.hitl.washington.edu/artoolkit,2012.

[10]M.Shaw,“Software Engineering Education:A Roadmap”,In:Proceedings of the Conference on the Future of Software Engineering,22nd ICSE,Limerick,Ireland,2000:371-380.

猜你喜欢

体系结构虚拟世界视图
5.3 视图与投影
视图
虚拟世界和真实世界的纽带
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
虚拟世界大门正启
拥抱虚拟 珍惜现实
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计