Uml示图的导航方法、系统和计算机程序的制作方法

文档序号:6569023阅读:201来源:国知局
专利名称:Uml示图的导航方法、系统和计算机程序的制作方法
技术领域
本发明涉及信息技术领域。更具体地,本发明涉及图结构的导航。
技术背景图通常用在计算机科学领域中,以表示多个不同的结构。非正式地, 图包括具有对应连接关系(弧或边)的一组对象(节点或顶点)。也可以 对每一个弧分配方向;在这种情况下,这个弧可用于从一个(源)节点移 动到一个(目标)节点。可表示为图的结构实例是通常在开发计算机软件(例如,大型软件应 用)的过程期间定义的模型复合体。每个模型都是一种抽象,其提供了要 被建立的对应真实工件(artifact)的简化表示。优选地,通过使用统一建 模语言(UML)来定义模型。UML是标准的建模语言,其提供了用以指 定与(特别地,用于面向对象类型的计算机软件的)开发过程相关的所有 方面的(图形和文本)语法和基本语义。在现有4支术中,有几个建才莫工具 可用于这种目的; 一般地,建模工具提供用以支持与每一个软件应用的构 建相关的各个阶段(例如,其需求定义、架构设计、编码规范等)的集成 开发环境(IDE )。商业建模工具的非常流行的实例是IBM公司的"Rational Rose"。模型辅助软件的开发者要精通开发过程的内在复杂性。具体地,通过 这种方式,在软件应用的实际实现之前,能够对软件应用进行可视化、评 估和显示(以降^氐相应的开发风险)。此外,才莫型可用于以非常简单、安 全和时间有效的方式来创建和维护软件应用的编码。计算机软件的建模过程中的问题在于在开发过程期间产生的工件的激 增。实际上,复杂软件应用一般包括多个模型的定义(例如功能模型、对^4莫型或动态模型),其典型地取决于不同开发者的贡献。并且,通过多 个示图(例如用例图、类图、对象图、部署图、顺序图、活动图、协作图 或状态图)来表示每个模型。结果,可用信息会非常混乱。为了帮助读者在示图之间移动,大部分建模工具一般都允许在示图中 插入超链接。在通用示图中的每一个超链接自动获取另一示图,并随后对 其进行显示。这样,可将多个示图组成一个图(该图可通过可用的超链接 从一个示图转换到另一个示图)。然而,每一个示图一般包括由不同开发者(例如最终用户、架构设计 师、设计者和程序员)插入的(到同一模型或其他模型的示图的)若干超 链接。因此,最后的结构非常混乱。在任一种情况下,在期望示图中超链接必须被硬编码。因此,这种操作很耗费时间;此外,任何改变都需要更新对应示图的定义,从而易于产 生错误。对于在(例如,具有分布式架构或要集成在其他系统中的)多层异构 环境中运行的复杂软件应用的开发过程来说,这些缺点尤为突出。所有上述缺点降低了建模过程的效率。这对整个开发过程的产出(从 而增加整个开发过程的长度和成本)和最后软件应用的质量带来有害影响。发明内容根据本发明,提出了用于定义对图结构导航的不同方式的构思。 具体地,本发明的一方面提出了一种图结构的导航方法。所述图结构包括多个节点,其中每一个节点具有图形表示。该方法开始于以下步骤 定义多个导航路径(其中每一个导皿径沿着对应顺序包含一组节点)。 然后,选择一个导航路径。该方法继续进行以下步骤遍历所选择导航路 径的节点。然后,显示每一个所遍历节点的图形表示。在本发明的优选实施例中,该结果通过以下步骤实现除了每一个所 遍历节点的图形表示之外还显示导航结构(其具有用于遍历对应顺序的一 个或多个导航命令)。典型地,所述导航命令包括前进命令(用于移动到下一节点)和/ 或后退命令(用于移动到前一节点)。在特定实施方式中,为此,将导航工具栏添加到窗口中,用以表示每 个所遍历节点的图形表示。优选地,将图和导皿径的定义存储到不同的存储结构中。在本发明的优选实施例中,将导航工具栏动态添加到每个所遍历节点 的图形表示中。作为另一改进,通过图形界面获得导M径的定义。例如,所提出的技术方案可用于UML示图。本发明的另 一方面提出了用于执行上述方法的计算枳^呈序。本发明的另一方面提出了对应的系统。在所附权利要求中提出了本发明的区别特征。然而,参照以下具体实 施方式部分能够获得对本发明本身、其他特征及其优点的最佳理解,其中 通过非限制性的描述给出以下具体实施方式
部分,并且可结合附图来阅读 该部分。


图1是可实施根据本发明实施例的技术方案的计算机的图示表示;图2、图3a-3c和图4是根据本发明实施例的技术方案的示例性应用的 示意性表示;以及图5示出了可用于实现根据本发明实施例的技术方案的主要软件组件。
具体实施方式
具体地,参照图1,其示出了计算机100 (例如PC)。计算机100包 括中心单元105,其容纳有用以控制计算机100运行的电子电路(例如 微处理器和工作存储器)。计算机100还配置有硬盘和CD-ROM 110的 驱动器。监视器115用于在屏幕120上显示图像。通过键盘125和鼠标130来控制计算机100的运行,其中键盘125和鼠标130以传统方式连接到中 心单元105。上述计算机100用于对软件应用进行建模。优选地,以UML格式定 义模型。具体地,UML支持功能模型(用于从其最终用户的视角指定软件 应用的操作)、对#^型(用于以面向对象的术语指定软件应用的结构)、 以及动态模型(用于指定软件应用的行为);典型地,通过对应的示图以 图形表示这些模型。例如(对于功能模型),用例图示出了在最终用户与 软件应用之间的交互。同样(对于对象模型),类图示出了软件应用的类 以及它们之间的关系,对象图示出了对应实例,部署图示出了软件应用的 硬件/软件组件。最后(对于动态模型),顺序图示出了软件应用的不同组 件之间随时间的交互,活动图示出了由组件执行的活动的顺序,协作图示 出了组件之间随时间的交互,状态图示出了组件的状态及其转换。例如,如图2所示,定义了具有5个模型MODi (其中i-l至5 )的通 用软件模型。每个模型MODi又包括多个示图DIAij,用圆来表示每一个 示图(其中,对于每一个模型MODi分别为j-l至5, j-l至9, j-l至5, j-l至3, j=l至5)。通过对应的超链接在模型MODi之间连接示图DIAij, 用(单向的或双向的)箭头表示每一个超链接。通用超链接表示为HYPij-ij, 其中第一对下标ij表示源示图DIAij,第二对下标ij表示目标示图DIAij; 例如在图中所示的超链接HYP35-43连接示图DIA35 (在模型MOD3中) 与示图DIA43 (在模型MOD4中)。这种模型MODi的组织构成图200 (其中示图DIAij是节点,超链接 HYPij-ij是弧)。因此,任何读者都可从一个示图DIAij移动到同一或另一 才莫型MODi中的另一示图DIAij。然而,如图所示,图200非常复杂和混 乱。这种结构在实际情况下4艮难处理,其中图200可包括由上千个示图 DIAij表示的上百个模型MODi。在根据本发明实施例的技术方案中,在图200中定义了不同的导航路 径NAVk (其中k>=2)。通过按期望顺序排列的一組选定示图DIAij来指 定每一个导航路径NAVk。导航路径NAVk提供图200的选择性视图。例如,导航路径NAVl与管理开发过程相关的(在不同模型MODi中的)示 图DIAij邻接;相反,导M径NAV2与软件应用的架构定义相关的示图 DIAij邻接。因此,每一个导航路径NAVk大大方便了对图200的阅读(像阿里阿 德涅(Ariadne)的线一样,在可用信息之间引导用户)。具体地,导皿 径NAVk允许根据不同可能的需求在图200中移动。例如,可以为开发者、 客户端、执行者等定义不同的导M径NAVk (其中每一个路径都以不同 的详细程度提供了处于开发下的软件应用的概览)。换句话说,通过上述 技术方案,任何读者都可以以非常简单的方式遍历图200,即仅接触他/她 实际感兴趣的示图DIAij。因此,对模型MODi的咨询不会被与特定目的 不相关的信息所干扰。转到图3a,在窗口 305中以图形表示模型MODi。具体地,窗口 305 示出每一个示图DIAij的图形表示,以;5U t其进行管理的不同命令(例如, 创建、编辑等)。此外,窗口 305还包括主工具栏(home bar) 310。主工 具栏310示出了用于每一个可用导航路径NAVk的选择按钮CMDk;在该 实例中,选择M CMDl与导皿径NAVl关联,而选择按钮CMD2与导 航路径NAV2关联。每当读者(用鼠标)点击特定选^^钮CMDk时,将提取并显示对应 导航路径NAVk的第一示图DIAij。例如,如图3b所示,如果读者选定了 选择按钮CMDl,则在窗口 305中示出(由307表示的)导航路径NAVl 中的第一示图DIAll的图形表示。同时,主工具栏被导航工具栏315代替。 导航工具栏315包括根按钮320,用于直接移动到第一示图DIAii;前 进按钮325,用于前进到下一示图DIAij;以及后退按钮330,用于返回前 一示图DIAij。这样,读者可使用简单和直接的命4K在选定导航路径NAVi 中)遍历感兴趣的示图DIAij。例如,如果读者点击前进按钮325,则提取 并在窗口 305中显示下一示图(在这种情况下为DIA22)的图形表示307, 如图3c所示。此外, 一旦当前导航路径NAVl结束,则对应的导航工具栏 315自动关闭,并且被主工具栏代替;例如,通过点击在最后示图(在这种情况下为DIA51)中的前进按钮325,通过点击在第一示图DIAll中的 后退按钮330,或者通过直接关闭导航工具栏315,来实现这种结果。现在考虑图4,典型地,通过4吏用窗口 405以图形方式定义导航路径 NAVk。具体地,窗口 405包括示图框架410,用于通过对应的图形对象(在该实例中为圆)来描述每一可用示图DIAij;优选地,将每一模型MODi 的示图DIAij的图形对象压缩成可在请求时扩展的另一对应图形对象。此 外,窗口 405还包括定义框架415。定义框架415包括选择框420,用 于创建新导航路径或编辑先前存在的导航路径(例如在该实例中的导M 径NAVl)。定义框架415的剩余部分示出在所选择的导私咯径NAVl中 包含的示图DIAij的图形对象(根据它们在对应序列中的顺序示出这些图 形对象)。现在,开发者可通过简单操作示图DIAij的图形对象来定义导 航路径NAVl。例如,可以选择框架410中的示图DIAij的图形对象,然后 将该图形对象拖拽到定义框架415 (的期望位置);此外,还可以将定义 框架415中的示图DIAij的图形对象移动到另一位置,或删除同一定义框 架415中的示图DIAij的图形对象。这种操作产生一系列标签,用于定义每个示图DIAij在不同导航路径 NAVk中的位置。优选地,以可扩展标记语言(XML)指定每一个示图 DIAij的定义,这允许创建用于任何期望目的的定制标签。在特定情况下, 示图DIAij的定义开始于标签"nodeName"(其助记符名称)和标签"id"(其唯一标识符DIAij)。对于经过示图DIAij的每一个导航路径NAVk, 标签"navigatorld,,指定其唯一标识符NAVk,标签"position"指示示图 DIAij在对应顺序中的位置。示图DIAij的定义结束于标签〈nodeNamO。 例如,图2中所示的示图DIA24通过以下标签定义<naLviga:to:i:I d H^V2w posit,ion鹏2^ 然后,上述标签可纟皮自动转换成所有导M径NAVk的XML表示。为此,每一个导航路径NAVk的定义开始于标签"Navigator name"(其 助记符名称)和标签"id"(其唯一标识符NAVk)。对于在导皿径NAVk 中包含的每一个示图DIAij,标签"nodeName"用于标识每一个示图DIAij, 用于移动到序列中的第一示图的超链接包含在标签〈homeName〉和 <\homeName>之间,用于移动到下一示图的超链接包含在标签 〈nextName〉和《nextName〉之间,以及用于移动到前一示图的超链接包含 在标签〈prevName〉和^prevName〉之间(在可用时)。导航路径NAVk 的定义结束于标签^Navigator、例如,图2中所示的导航路径NAVl通 过以下标签定义<Navigator riaines""Navigatio11 path NAVi" id NAVt>< roo tN'ame> < \ roo tName > <nextNa.me>DIAM< \riextName> <prevNa:me>'<\|>revName'>< nodeName DIA2 2 > "ootN柳e〉DlA,! <\roo tName> <nej<tName>DIAM<\iiextllaroe) <pr evNam€s>DIAi:i< \;prevName>< roo tWa:,>D:m:11< \ iro.otNajr e>< p r e v'N繊e > DI Aw,< \ p r @ vNane >应注意的是,导M径NAVk的定义完全独立,并且与模型MODi的 定义分开。因此,在不需要更新示图DIAij的情况下就可以实现期望的结 果。这使得导M径NAVk的维护变得非常简单(不存在对模型MODi带 来错误的风险)。现在,转到图5,示出了在计算机上运行以实现上述技术方案的总体 标记为500的主要软件组件。信息(程序和数据)典型地与操作系统和其 他应用程序(图中未示出) 一起存储在硬盘上,并且在程序运行时将所述 信息(至少部分地)加载到计算机的工作存储器中。初始地,从例如 CD-ROM将程序安装到硬盘上。具体地,计算机包括建模工具(例如,上述"Rational Rose")。 所迷工具的核心模块是模型管理器505,用于为开发中的每一个软件应 用(以UML格式)定义一系列模型MODi。将(用于每一个软件应用的) 具有对应示图DIAij的模型MODi的定义存储在存储库510中。模型管理 器505 >^型存储库510将当前示图DIAij的图形表示加载到(用515表 示的)工作区域中。在本发明的实施例中,已通过用以实现所提出的导航功能的插件扩展 了建模工具。为此,定义向导515访问模型存储库510。定义向导515实 现用于定义上述不同导航路径NAVk的图形用户界面。将为(模型存储库 510的)每一个示图DIAij所如此获得的标签存储在对应文件520中。处理 引擎525读取标签文件520,并将其转换成可用导M径NAVk的定义。 然后,将该信息存储到导航文件530中。浏览器535解释导航文件530的内容。首先,浏览器535产生(用540 表示的)主工具栏的定义;具体地,主工具栏可包括用于在导航文件530 中定义的每一个导航路径NAVk的选择按钮。此外,对于沿着选定导皿 径NAVk遍历的每一个示图DIAij,浏览器535动态产生(用545表示的) 关联导航工具栏的定义;具体地,导航工具栏可包括(与到第一示图DIAij 的超链接关联的)根掩纽、(与到下一示图DIAij的超链接关联的)前进 按钮、以及(与到前一示图DIAij的超链接关联的)后退掩組,如在导航 文件530的对应部分中所指定的。呈现模块550 (从模型管理器505)接收当前示图515的图形表示;此 外,呈现模块550还(从浏览器535)接收主工具栏540的定义或当前导 航工具栏545的定义。呈现模块550将所接收的信息组合到上述建模工具的窗口中。具体地,首先,呈现模块550将主工具栏540的定义添加到当 前示图515的图形表示。读者一旦(通过点击在主工具栏中示出的对应选 择按钮)选择特定的导航路径NAVk,就调用与该选择按钮关联的超链接。 响应于此,模型管理器505自动加载对应序列的第一示图DIAij的图形表 示(到工作区域515中)。同时,浏览器535根据在导航文件530中可用 的相关信息产生关联导航工具栏545的定义。这样,呈现模块550现在可 将需要的导航工具栏545的定义添加到新的当前示图515的图形表示中。 在任何情况下,接下来,都将如此更新的当前示图的图形表示提供给监视 器驱动器555以用于显示。将不断重复相同的操作,直到已遍历了选定导航路径NAVk的所有示 图DIAij为止。接下来,呈现模块550再次将主工具栏540的定义添加到 当前示图515的图形表示。然后,对于任何其他导航路径NAVk反复进行 相同过程。自然地,为了满足局部和特定需要,本领域的普通技术人员可对上述 技术方案进行多种修改和变更。具体地,尽管已经参照本发明优选实施例 从某种详细程度描述了本发明,但是应该可以理解的是,在形式和细节上 的各种省略、替代和改变以及其他实施例也是可能的;此外,明显地,结合本发明的任何公开实施例所描述的特定元素和/或方法步骤可作为一般 意义上的设计选择而合并到任何其他实施例中。例如,如果计算;f;L具有另一种结构或包括类似元素(例如,用于临时 存储程序或者部分程序的高速緩冲存储器,以在执行期间减少对硬盘的访 问),则适用于类似的考虑;无论如何,可以用任何代码执行实体(例如 PDA、移动电话等)代替计算机。尽管为了简单,以上描述仅提及了一个 计算机,但是应该很容易看出,所提出的解决方案也可以应用于具有分布 式架构的数据处理系统;在这种情况下,每一个开发者在对应工作站上处 理在用于不同读者的中心服务器上收集的建模过程的结果。无论如何,本发明的原理不应限于上述实例(通过相同的技术方案可 得到具有任何其他模型、示图、超链接和导航路径的应用);更一般地,可以由任何等效节点和/或弧(即使不包括超连接)来定义图。此外,并没有排除具有类似结构的主工具栏和/或导航工具栏(例如, 下拉菜单)的实现。同样清楚的是,具有用于遍历选定导航路径的显式命令的导航工具栏并不是严格必须的;例如,也可以(在预定超时之后)自 动地按顺序从每一个示图移动到下一个示图。用于遍历选定导航路径的不同命令也是可选择的(例如仅有前进命 令)。如果主工具栏和/或导航工具栏具有不同的外观,则适用于类似的考虑o应该很容易看出,XML格式的提及仅是示例性的。实际上,标签文件 和/或导航文件也可以用其他形式定义;无论如何,构想了直接产生导航路 径的定义的可能性(而不需要任何中间标签文件)。备选地,可通过另一图形界面定义导航路径。例如,在更复杂的实施 方式中,可以具有对于多个导航路径通用的示图子序列(从而便于这些导 航路径的定义);此外,每当将新的示图插入到特定导航路径中时,定义 向导可自动确定在其他导航路径中最接近的示图,以提示将其插入在类似 的位置。然而,以不同方式(即^f吏通过文本编辑器)定义导航路径的不同 实施方式也在本发明的范围内。本发明的技术构思还适用于以下实施例,即将用于遍历选定导皿径 的不同按钮直接插入到相关示图的定义中(而不是添加单独的导航工具 栏)。尽管在先前描述中仅提及具有支持UML示图的特定建模工具,但是 本发明并不限于此。实际上,类似的考虑可适用于任一种建模工具或任何 其他UML示图。备选地,本发明的技术构思等同地适用于定义模型的不 同形式(例:i(。 Petri网络)。更一般地,相同的技术方案也可以应用到其他领域中。例如,所提出 的技术可用于定义到达互联网中选定网页的优选导航路径(例如,根据不 同需要在复杂网页之间移动)。相同技术方案的另一可能应用是演示工具。在这种情况下,可以为不同演示定义一组幻灯片;然后通过选定的幻灯片, 由对应导私洛径指定每一演示。这样,可自动产生用于对应4的不同演如果以不同方式构建(可用于实现本发明的)程序,或如果提供附加 模块或功能,则适用于类似的考虑;同样,存储器结构可以是其他类型, 或者可以用等同实体替代(不必一定包含物理存储介质)。此外,所提出 的技术方案可借助于(具有类似或附加步骤的,甚至具有不同顺序的)等 同方法来实施。无论如何,程序可采用适于由任何数据处理系统使用的或 与任何数据处理系统结合的任何形式,例如外部或驻留软件、固件或(目 标代码或源代码中的)微码。此外,可在任何计算机可用介质上提供所述 程序;所述介质可以是任何适于包含、存储、传送、传播或传输程序的元 素。这种介质的实例是(可预先加载程序的)固定盘、可移动盘、磁带、 卡、线缆、光纤、无线连接、网络、广播波等;例如,介质可以是电子类 型、磁类型、光学类型、电磁类型、红外类型或半导体类型。无论如何,根据本发明的技术方案可借助于(例如,集成在半导体材 料芯片中的)硬件结构或硬件与软件的组合来实现。
权利要求
1.一种图结构(200)的导航方法,其中所述图结构(200)包括多个节点(DIAij),其中所述多个节点(DIAij)中的每个节点具有图形表示(307),所述方法包括以下步骤定义(415)多个导航路径(NAVk),其中所述多个导航路径(NAVk)中的每个路径沿着对应顺序包含一组节点;选择(CMDk)一个导航路径;遍历(325-330)所选择导航路径的节点;以及显示(305)每个所遍历节点的图形表示。
2. 如权利要求l所述的方法,其中对于每个所遍历的节点,该方法 还包括以下步骤除了所遍历节点(307)的图形表示之外还显示导航结构(315),所 述导航结构(315)包括用于遍历所选择导M径(NAVk)的节点的至 少一个导航命令(320-330)。
3. 如权利要求2所述的方法,其中所述至少一个导航命令(320-330 ) 包括前进命令(325),用于移动到所选择导航路径(NAVk)的下一节 点(DIAij);和/或后退命令(325),用于移动到所选择导航路径的前一 节点。
4. 如权利要求2或3所述的方法,其中在窗口 (305)中显示每个所 遍历节点(307)的图形表示,上述显示导航结构(315)的步骤包括将含有所述至少一个导航命令(320-330)的命令工具栏(315)添加 到所述窗口。
5. 如权利要求1至4中的任一权利要求所述的方法,其中在第一存 储结构(510)中存储所述图形结构的定义,上迷定义(415)导航路径(NAVk)的步骤包括将所述导航路径(530 )的定义存储到与所述第 一存储结构不同的第二 存储结构中。
6. 如权利要求5所述的方法,在从属于权利要求2至4中的任一权 利要求时,其中上述除了所遍历节点(307)的图形表示之外还显示导航结 构(315)的步骤包括从所述第一存储结构(510)提取(505)所遍历节点的图形表示的定义;从所述第二存储结构(530)中的所选择导M径(NAVk)的定义获 得(535)对应导航结构的定义;通过插入所述对应导航结构的定义来更新(550 )所遍历节点的图形表 示的定义;以及呈现(555)所遍历节点的图形表示的更新后的定义。
7. 如权利要求5或6所述的方法,其中图形对象与每个节点(DIAij) 关联,上述定义(415)导航路径(NAVk)的步骤还包括显示(410)所述图形对象的至少一部分;根据所述对应顺序排列(415 )与每个导皿径的节点关联的图形对象; 从所述图形对象的对应排列确定(515)每个导航路径的定义;以及 将所述每个导航路径的定义存储(525)到所述第二存储结构(530)中。
8. 如权利要求1至7中的任一权利要求所述的方法,其中每个节点 (DIAij)包括UML示图。
9. 一种计算^f呈序(500),在数据处理系统(100)上执行所述计 算机程序时,所述程序将执行如权利要求1至8中的任一权利要求所述的 方法。
10. —种系统(100),包括用于执行如权利要求1至8中的任一 权利要求所述的方法的各步骤的装置(500)。
全文摘要
提出了一种UML示图(200)的导航方案。为此,实施一种图形界面,用于定义沿着示图的对应顺序(DIAiI-DIA55)的多个导航路径(NAVk)。将这些导舷路径的定义存储在专用文件中(而不修改示图的定义)。然后,将用于调用导舷路径的主工具栏添加到示图的图形表示中。一旦读者选择了特定导航路径,则提取并显示该特定导航路径的第一示图(DIAn;DIAi5)。同时,动态产生用于在整个顺序中移动的导航工具栏,并将所述导航工具栏添加到每个所遍历的示图的图形表示中。
文档编号G06Q10/00GK101268441SQ200680035016
公开日2008年9月17日 申请日期2006年6月9日 优先权日2005年10月7日
发明者A·多纳泰利, C·马里内利, F·卡尔泰里, L·皮克逖 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1