Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 什么是显示结构化分层数据版本控制的有效UI_User Interface_Innovation - Fatal编程技术网

User interface 什么是显示结构化分层数据版本控制的有效UI

User interface 什么是显示结构化分层数据版本控制的有效UI,user-interface,innovation,User Interface,Innovation,传统的版本控制系统通过将项目->文件夹->文件分组显示版本控制信息,左侧为树状视图,右侧为详细视图,然后单击每个项目以查看该配置历史的修订历史 假设我从面向对象模型的角度(例如类->方法->参数等)获得了项目的所有历史版本控制信息,您认为在UI中显示此类信息的最有效方式是什么,以便您可以轻松导航和访问项目的快照视图以及历史版本控制信息?把自己放在这样一个位置:你在工作中每天都在使用这样的工具,就像你目前正在使用SVN、SS、Performance或任何VCS系统一样,这将有助于提高工具的可用性、

传统的版本控制系统通过将项目->文件夹->文件分组显示版本控制信息,左侧为树状视图,右侧为详细视图,然后单击每个项目以查看该配置历史的修订历史

假设我从面向对象模型的角度(例如类->方法->参数等)获得了项目的所有历史版本控制信息,您认为在UI中显示此类信息的最有效方式是什么,以便您可以轻松导航和访问项目的快照视图以及历史版本控制信息?把自己放在这样一个位置:你在工作中每天都在使用这样的工具,就像你目前正在使用SVN、SS、Performance或任何VCS系统一样,这将有助于提高工具的可用性、生产率和有效性

我个人发现,显示文件夹和文件的经典方法,如上面所述,对于显示深层嵌套的逻辑模型,限制性很强,效率较低。假设这是一个绿地项目,不受特定技术的限制,你认为我应该如何最好地处理这个问题

我在这里寻找想法和投入,为我的研究项目增加价值。请随意提出任何您认为有价值的建议。再次感谢所有分享他们想法的人


编辑:为了提供更多信息,一个平均配置项take-a-method将嵌套在大约6个级别(项目->组装->模块->名称空间->类型->方法,以及更多级别以导航到其中的子项),情况始终如此,不像在文件夹文件结构中,有时在某些项目中有深嵌套结构。当您有那么多级别时,树窗格将无法导航。在这种情况下,树窗格在显示系统总体结构方面也不太有效

茎叶图上的变异如何

这是统计中的一个概念,但是您可以扩展传统的树结构,在树中每个文件的右侧添加一个版本列表。通过适当的对齐,我认为这可能是一个视觉表达和可用的解决方案。大概是这样的:

* Root Directory
    * Sub Directory A
        * File A.A     | 1 2 3
        * File A.B     | 1 2
    * File A           | 1 2 3 4 5 6 7 8 9
    * File B           | 1 2 3 4 5
茎叶图直观地显示了一个文件被修改了多少次,并可快速访问查看(编辑等)和版本


这很可能只是数据的一个视图。您仍然会被嵌套结构所困扰,但如果您不得不接受这种结构,这可能会有所帮助。

与其尝试选择一种表示方案来在GUI中容纳n个级别的信息,为什么不让用户选择他/她想要或需要的正确级别的详细信息

视角 Eclipse是一个(不是唯一一个)允许用户访问的示例

在工作台中,透视功能用于控制模型和用户界面中项目的可见性。
它控制您在模型中看到的内容(哪个项目、文件夹或文件)以及在用户界面中看到的内容(哪些操作或视图)。
通过这些控件,可以以适合用户任务的方式浏览和修改工作区

可以很容易地适应任何类型的分层信息显示

每个任务的信息过滤 显示复杂信息的另一种有效方法是根据当前任务提出有效的过滤机制。
每次用户切换到新任务时,各种信息树只显示相关信息

例如,见:

Mylyn使任务成为IDE的第一类部分,集成ALM工具的丰富编辑和脱机编辑,并监视您的编程活动,以创建一个“任务上下文”,集中您的工作区并自动将所有相关工件链接到手头的任务。
这将使您所需的信息触手可及,并通过减少信息过载、促进多任务处理和简化专业知识共享来提高生产效率

同样,这也适用于任何类型的信息


如果您嵌套6个级别,可能是人为地混合了多个关注点。有关5D模型,请参见下文。看起来您应该使用名称空间类方法作为 基本导航模型。您至少将代码结构与其在磁盘上的组织(文件和文件夹)以及到变体的映射混合在一起。Smalltalk IDE提供了一组代码浏览器,使导航在几个维度上变得简单,并提供了一个浏览器构造工具包,使您可以为其他导航维度创建自己的浏览器

你会想看看Richard Wettel所做的工作。 类似于。使用OpenGL创建项目开发历史的3维和4维(时间)显示。它是软件再工程研究的一部分

在您的研究中,您可能希望使用5维模型:

  • 版本(想要更改)
  • 状态(生命周期:创建、测试、部署、退役)
  • 视图(需求、代码、测试、文档)
  • 层次结构(模块、类、方法)
  • 变体(基本相似,描述差异,产品系列)
大多数系统只处理这些维度中的一小部分。要处理这五个问题,您必须描述(修复)您的开发过程。如果您这样做,您可以描述您希望在UI中支持的用例。如果没有,您需要一个5维的灵活显示引擎。这将不那么容易使用

参考资料:

管理设计数据:CAD框架、配置管理和产品数据管理的五个维度。
范登哈默,P.勒波特,K.
飞利浦股份有限公司,埃因霍温

这篇论文发表在:IEEE会议录
出版日期:1996年1月