CN113678099B - 软件分析辅助系统及其计算机可读记录介质 - Google Patents
软件分析辅助系统及其计算机可读记录介质 Download PDFInfo
- Publication number
- CN113678099B CN113678099B CN202080027594.9A CN202080027594A CN113678099B CN 113678099 B CN113678099 B CN 113678099B CN 202080027594 A CN202080027594 A CN 202080027594A CN 113678099 B CN113678099 B CN 113678099B
- Authority
- CN
- China
- Prior art keywords
- software
- software component
- display element
- virtual space
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Abstract
提供一种用户能够容易地分析软件的系统。辅助软件的构造的分析的软件分析辅助系统(1)包含至少一个计算机,计算机取得表示各软件组件的关系以及属性的软件组件信息(12),取得能够编辑的显示要素设定信息(13),其是设定了与各软件组件的属性对应的第一显示要素(41)以及与各软件组件间的关系对应的第二显示要素(42)的显示要素设定信息(13),在基于各软件组件的属性中的预先选择出的预定的多个属性来显示各软件组件的关系的虚拟空间(40)的预定位置,分别配置第一显示要素以及第二显示要素。
Description
技术领域
本发明涉及软件分析辅助系统及其计算机程序。
背景技术
在近年的软件开发中,通过对成为母体的开发完成的软件进行扩展或变更来开发新的软件的派生开发是主流。在软件的派生开发中,通过反复多年的功能扩展或变更而使软件复杂化,因此,源代码的可读性降低,理解软件的构造及行为花费工夫。因此,提出了通过使软件组件的信息在2维平面或者3维空间上可视化,而有助于软件的构造以及行为的理解的技术(专利文献1、2)。
现有技术文献
专利文献
专利文献1:日本特开2013-152576号公报
专利文献2:日本特开2004-5649号公报
发明内容
发明要解决的课题
在专利文献1的方法中,将软件组件的信息作为不同颜色的图形而显示在2维平面上。在该2维平面中,第一轴表示依存关系的方向,第二轴表示程序间的依存关系的强度。但是,构成软件的各软件组件具有各种属性,各软件组件间的关系也复杂,因此,用2维平面进行表现存在不适合。
在专利文献2中,在圆锥状的空间中配置各节点的图形显示和层级关系的图形显示。但是,专利文献2虽然能够使树构造的软件的结构可视化,但对未采用树构造的软件的结构等的理解没有帮助。因此,专利文献2的技术只不过有助于一部分软件的分析,通用性低。
并且,在专利文献1、2中,图形的颜色、大小、轴的定义均预先固定,使用便利性低。在软件开发现场,需要根据工序或作用从各种观点观察并理解软件的构造等,但专利文献1、2在用户的易用性方面有改善的余地。
本发明是鉴于上述课题而完成的,其目的在于提供一种用户能够容易地分析软件的软件分析辅助系统及其计算机程序。
用于解决课题的手段
为了解决上述课题,根据本发明的辅助软件的构造的分析的软件分析辅助系统包含至少一个计算机,计算机取得表示各软件组件的关系以及属性的软件组件信息,取得能够编辑的显示要素设定信息,所述显示要素设定信息是设定了与各软件组件的属性对应的第一显示要素以及与各软件组件间的关系对应的第二显示要素的信息,在基于各软件组件的属性中的预先选择出的预定的多个属性来显示各软件组件的关系的虚拟空间的预定位置,分别配置第一显示要素以及第二显示要素。
发明效果
根据本发明,设定了与各软件组件的属性对应的第一显示要素和与各软件组件间的关系对应的第二显示要素的显示要素设定信息能够编辑,因此,能够变更第一显示要素以及第二显示要素向虚拟空间的配置,软件的构造的理解和使用便利性提高。
附图说明
图1是软件分析辅助系统的功能结构图。
图2是软件分析辅助系统的硬件结构图。
图3是表示个别的软件组件信息的结构图。
图4是表示软件组件间的关系信息的结构图。
图5是表示定义软件组件与显示要素的对应关系的映射设定的结构图。
图6是接着图5的映射设定的结构图。
图7是表示软件分析辅助处理的流程图。
图8是表现软件的构造等的虚拟空间的例子。
图9是第二实施例的软件分析辅助系统的结构说明图。
图10涉及第三实施例,是对在多个虚拟空间移动的情况下的速度进行控制的处理的流程图。
图11涉及第四实施例,是表示在虚拟空间设定第三轴(半径方向)的情形的说明图。
图12涉及第五实施例,是表示能够在虚拟空间内移动用户的视点的基准位置的说明图。
图13涉及第六实施例,是在虚拟空间内变更软件组件的内容,将该变更结果反映在虚拟空间中的处理的流程图。
图14涉及第七实施例,是表示通过选择上位的虚拟空间内的显示要素而向下位的虚拟空间移动的情形的说明图。
具体实施方式
以下,基于附图对本发明的实施方式进行说明。在本实施方式中,将软件的结构以用户能够确认的方式表现在虚拟空间中。并且,在本实施方式中,通过能够变更虚拟空间中的表现方式,而能够从各种观点分析具有各种构造的软件。
在本实施方式中,使构成软件的各软件组件的结构和各软件组件间的关系以用户容易理解的方式可视化。软件组件的单位可以是类、模块、文件、函数、程序块等中的任一个。即,在本实施方式中,只要是构成源代码的一部分的单位,就能够使这些结构可视化。
在本实施方式中,能够对构成虚拟空间的各要素任意地分配构成软件的组件的属性。在构成虚拟空间的要素中,例如有圆柱、箱、球等空间形状、在虚拟空间中显示的线以及点、它们的属性(颜色、大小、粗细等)。
在本实施方式中,如后面叙述那样,在输入软件组件信息和定义软件组件的属性与显示要素(描绘对象)的对应关系的映射设定时,在虚拟空间中表现作为分析对象的软件的结构等。
根据本实施方式,用户能够基于期望的观点(从怎样的观点出发使软件组件信息可视化)来设定用于使软件组件信息可视化的信息,能够分析软件组件信息。以下,对本实施方式的例子进行详细说明。
实施例1
使用图1~图8对第一实施例进行说明。图1表示软件分析辅助系统1的功能结构。软件分析辅助系统1(以下,有时简记为系统1)对选择为分析对象的软件的构造等(结构以及行为等)进行分析,将该分析结果显示于虚拟空间40,由此,辅助用户对分析对象软件的理解。
系统1例如具备:具有描绘对象生成部11的软件分析辅助装置10、软件组件信息12、软件组件-描绘对象映射设定13、描绘对象信息14、设定部15、16、输出装置21以及输入装置22。
信息12、13、14存储在通过图2在后面进行叙述的存储装置103中。软件组件信息12是构成软件的各软件组件的信息,其详细内容通过图3、图4在后面进行叙述。软件组件-描绘对象映射设定13是定义软件组件与作为“显示要素”的描绘对象的对应关系的信息,其详细内容通过图5、图6在后面进行叙述。以下,有时将软件组件-描绘对象映射设定13简记为映射设定13。
描绘对象生成部11是基于软件组件信息12和映射设定13,生成用于在虚拟空间40内表现软件组件的结构以及连接关系的描绘对象信息14的功能。
描绘对象信息14是用于在预定的虚拟空间40中配置象征软件组件的属性的作为“第一显示要素”的点对象41、和象征软件组件间的关系的作为“第二显示要素”的线对象42而进行可视化的信息。
在此,虚拟空间40的周向作为θ轴43,被分配了软件组件具有的“第一属性”。虚拟空间40的轴心方向作为Z轴44,被分配了软件组件具有的“第二属性”。如后面叙述那样,第一属性是软件组件的目录,第二属性是软件组件所属的层级。并且,如后面叙述的其他实施例那样,虚拟空间40的半径方向作为r轴,能够分配软件组件具有的“第三属性”。
本系统1的用户例如通过佩戴VR(Virtual Reality)护目镜,能够将其视点置于虚拟空间40内的预定位置。并且,用户从虚拟空间40的内部目视确认各对象41、42,由此,能够掌握软件组件彼此的关系。并且,虽然省略了图示,但用户也能够通过选择任意的对象41,使与该对象对应的软件组件的源代码显示在虚拟空间40内,从而进行编辑作业。
设定部15是供用户设定输入到系统1的软件组件信息12的功能。其他设定部16是供用户设定输入到系统1的映射设定13的功能。这样,用户能够手动地进行作为分析对象的软件或者软件组件的指定、以怎样的观点表现在虚拟空间40中的设定。此外,在手动设定时,也可以从系统1对用户推荐设定方法或设定值等。
输出装置21是从系统1向用户提供信息的功能。在被输入描绘对象信息14时,输出装置21向显示器输出在虚拟空间40中配置了各对象41、42的图像。
输入装置22是供用户向系统1输入指示等的功能。输入装置22向软件分析辅助装置10输送用户的操作内容。并且,虽然在图1中省略,但用户也能够通过使用输入装置22,经由设定部15、16来设定软件组件信息12和映射设定13。
图2是软件分析辅助系统1的硬件结构的例子。系统1例如能够由一个以上的计算机100和一个以上的用户终端200构成。
计算机100例如具备:微处理器101(图中,CPU101)、存储器102、存储装置103、通信部104以及用户接口部105(图中,UI部105)。
微处理器101将存储在存储装置103中的计算机程序读入到存储器102中来执行,由此实现作为软件分析辅助装置的功能。
在存储装置103中例如存储有实现描绘对象生成部11的计算机程序、软件组件信息12、映射设定13以及描绘对象信息14。除此之外,操作系统、设备驱动程序等也存储在存储装置103中,但在此省略。
通信部104是用于经由通信网络CN与外部装置300进行通信的装置。通信网络CN例如可以是因特网那样的公共线路网或专用线路网中的任一种。并且,通信网络CN也可以是有线通信或无线通信中的任一种。
外部装置300例如是其他计算机或存储装置等。实现描绘对象生成部11的计算机程序也可以从外部装置300发送到计算机100而进行安装。也可以将信息12、13、14的全部或一部分从外部装置300发送到计算机100而存储在存储装置103中。
用户终端200和/或用户接口装置110与用户接口部105连接。用户接口装置110是供用户或系统管理者等对系统1设定映射设定13等的装置,用户接口装置110例如能够包含键盘、显示器、打印机等。
用户终端200例如包含如VR护目镜(VR用头戴式显示器)那样构成的输出装置21和输入装置22。也可以代替VR用终端,例如如个人计算机、移动电话、便携信息终端、平板电脑、可穿戴终端那样构成用户终端200的至少一部分。
此外,通过使用计算机100能够读写的外部存储介质MM,也能够使计算机程序的全部或者一部分输入输出到存储装置103。作为外部存储介质MM,例如有闪存设备、硬盘设备等。
图3表示作为软件组件信息12之一的个别的软件组件信息121的例子。
个别的软件组件信息121是对软件组件信息具有的多个属性进行管理的信息。作为各软件组件具有的属性(也称为属性名),例如有软件组件编号1211、行数1212、最终更新日期时间1213、最终更新者1214、目录构造1215、层级1216以及复杂度1217。在此列举的属性名只不过是一例,也可以在个别的软件组件信息121中不包含上述属性名的一部分。或者,也可以在个别的软件组件信息121中包含上述属性名以外的其他属性1218。
个别的软件组件信息121的一个记录1210是记载了各软件组件具有的、与各属性名对应的值的信息的例子。
图4表示作为软件组件信息12的另一个的软件组件间关系信息122的例子。软件组件间关系信息122(以下,也称为关系信息122)是对表示各软件组件信息间的关系性的属性名进行管理的信息。
关系信息122例如对软件组件调用关系编号1221、调用源软件组件编号1222、调用目标软件组件编号1223、调用次数1224以及同一模块内调用1225进行管理。上述属性名是一例,可以不包含一部分的属性名,也可以包含其他属性名1226。
关系信息122的一个记录1220是记载了与表示各软件组件信息的关系性的各属性名对应的值的信息的例子。
使用图5、图6对映射设定13的例子进行说明。如上所述,映射设定13是将显示于虚拟空间40的对象41、42与软件组件的属性对应起来的信息,能够由用户进行编辑。
映射设定13例如具有:描绘对象名131、描绘对象的属性132、对应的软件组件的属性133以及对应方法134。映射设定记录130是记载了与这些各项目131~134对应的值的信息的例子。
图5示出了与点对象41相关的映射设定。例如,点对象41具有“主体”、“颜色”、“形状”、“大小”、“θ坐标”、“Z坐标”这样的多个属性。
“主体”表示点对象41的存在,与软件组件的组件编号1211(参照图3)对应。一个软件组件作为一个点对象41显示在虚拟空间40中。
“颜色”是点对象41的颜色,基于与点对象41对应的软件组件的最终更新日期时间1213(参照图3)来决定其值。例如,在最终更新日期时间是当前时刻的预定时间以内(例如一周以内)的情况下,点对象41用预定颜色(例如红色)表现,在最终更新日期时间不是当前时刻的预定时间以内的情况下,点对象41用其他颜色(例如白色)表现。
“形状”是点对象41的形状,基于与点对象41对应的软件组件的复杂度1217(参照图3)来决定其值。例如,在复杂度为c1以上且小于c2的情况下设定为球形,在复杂度为c2以上且小于c3的情况下设定为正四面体,在复杂度为c3以上的情况下设定为正六面体。
此外,也可以将复杂度1217称为“基于复杂度决定的规定得分”或“复杂度得分”。
“大小”是点对象41的大小,基于与点对象41对应的软件组件的行数1212(参照图3)来设定其值。即,软件组件的行数越大,点对象41越大。
“θ坐标”表示位于在虚拟空间40中定义的θ轴43(在周向上划分了圆筒状的虚拟空间所得的区域)的何处。θ轴的值基于与点对象41对应的软件组件的目录构造1215(参照图3)来决定。例如,能够将虚拟空间40的周向划分为多个区域,预先将各区域与目录的范围对应起来。该对应能够由用户自由地进行。用户通过确认配置点对象41的θ轴上的区域,能够直观地理解是位于目录构造上的哪个范围的软件组件。
“Z坐标”表示位于在虚拟空间40中定义的Z坐标44(划分了圆筒状的虚拟空间的轴向而得的区域)的何处。Z轴的值基于与点对象41对应的软件组件所属的层级1216(参照图3)来决定。例如,将层级1216如驱动层、中间层、应用层那样进行分类,从Z轴44的下方起定位驱动层、中间层、应用层。用户通过确认配置了点对象41的Z轴上的区域,能够直观地理解是属于哪个层级的软件组件。用户能够自由地设定将哪个层级的软件组件分配给Z轴上的哪个区域。
图6示出了与线对象42相关的映射设定。线对象42例如具有“主体”、“起点”、“终点”、“粗细”、“颜色”这样的多个属性。
“主体”表示线对象42的存在,与对软件组件间的调用关系进行管理的编号1221(参照图4)对应。一个调用关系编号作为一个线对象42显示在虚拟空间40中。
“起点”是线对象42的起点,与由调用关系编号确定的调用关系中的、调用源的软件组件的组件编号1211对应。
“终点”是线对象42的终点,与由调用关系编号确定的调用关系中的、调用目标的软件组件的组件编号1211对应。
“粗细”是线对象42的粗细,基于与线对象42对应的软件组件的调用次数1224来决定其值。调用次数越多,线对象42显示得越粗。
“颜色”是线对象42的颜色,根据是否是同一模块内的调用1225(参照图4)来确定其值。例如,在来自同一模块内的调用的情况下,线对象42显示为蓝色,在除此以外的情况下,线对象42显示为白色。
用户能够自由地设定如何在虚拟空间40中表现表示软件组件间的关系性的线对象42。用户能够根据显示在虚拟空间40中的线对象42的表现方式,直观地理解各软件组件间的关系性。
图7是软件分析辅助处理的流程图。软件分析辅助装置10的描绘对象生成部11从存储装置103读入全部的软件组件信息12(S11~S13),接着从存储装置103读入映射设定13(S14)。
然后,描绘对象生成部11设定显示在虚拟空间40中的点对象41和线对象42的显示方法(S15),判定针对全部对象的设定是否正常完成(S16)。
描绘对象生成部11在全部的对象的设定正常完成的情况下(S16:是),基于该设定生成描绘对象信息14,存储在存储装置103中(S17),结束本处理。另一方面,在对象的设定未正常完成的情况下(S16:否),结束本处理。
这样,描绘对象生成部11基于各软件组件信息12和映射设定13,生成描绘对象信息14。
图8表示由输出装置21描绘出的软件分析结果。在图8中,在圆筒状的虚拟空间40的周面上配置有多个点对象41。如上所述,一个点对象41与一个软件组件(软件组件信息12)对应。
某个点对象41和其他点对象41有时通过线对象42连结。如上所述,线对象42表示软件组件间的关系。
作为决定点对象41的坐标的坐标轴,在图8的例子中使用θ轴43和Z轴44。θ轴43的值基于软件组件所属的目录来决定。Z轴44的值基于软件组件所属的层级来决定。
对用户使用软件分析辅助装置10生成描绘对象信息14,以该描绘对象信息14为基础使各软件组件以及各软件组件间的关系可视化来进行阅览为止的流程的例子进行说明。
首先,用户准备软件组件信息12以及映射设定13。假设用户准备个别的软件组件信息121和软件组件间关系信息122作为软件组件信息12。用户可以将软件组件信息12以及映射设定13从外部装置300下载到存储装置103,也可以将软件组件信息12以及映射设定13从外部存储介质MM转发到存储装置103。用户也可以经由设定部15、16改写软件组件信息12或映射设定13的全部或一部分。
如图3所述,个别的软件组件信息121具有软件组件编号1211、行数1212、最终更新日期时间1213、最终更新者1214、目录构造1215、层级1216、复杂度1217这样的属性名一览。记录1210是记载了与各软件组件的各属性名对应的值的记录的例子。实际上,大量的记录包含在软件组件信息121中。
如图4所述,软件组件间的关系信息122具有软件组件调用关系编号1221、调用源软件组件编号1222、调用目标软件组件编号1223、调用次数1224、同一模块内调用1225这样的属性名一览。记录1220是记载了与各软件组件的各属性名对应的值的记录的例子。实际上,大量的记录包含在软件组件间关系信息122中。
接着,用户准备映射设定13。如图5、图6所述,映射设定13具有:描绘对象名131、描绘对象的属性132、对应的软件组件的属性133以及对应方法134。
软件组件编号1211与作为点对象41的属性的“主体”对应。其对应方法例如是“一个点与一个软件组件编号对应”。
最终更新日期时间1213与点对象41的属性“颜色”对应。其对应方法例如是“如果最终更新日期时间与当前时刻相比在预定时间内,则对应红色,否则对应白色”。
复杂度1217与点对象41的属性“形状”对应。其对应方法例如是“在复杂度为c1以上且小于c2的情况下与球形对应,在复杂度为c2以上且小于c3的情况下与正四面体对应,在复杂度为c3以上的情况下与正六面体对应”。
行数与点对象41的属性“大小”对应。其对应方法例如是“点的大小与行数成比例”。
目录构造与点对象41的属性“θ坐标”对应。其对应方法例如是“在目录构造为src/G1/*的情况下,点对象的θ坐标为0度以上且小于120度的任意值,在目录构造为src/G2/*的情况下,点对象的θ坐标为120度以上且小于240度的任意值,在目录构造为src/G3/*的情况下,点对象的θ坐标为240度以上且小于360度的任意值”。
层级与点对象41的属性“Z坐标”对应。其对应方法例如是“在层级为驱动层的情况下,点对象的Z坐标为0以上且小于100的任意值,在层级为中间层的情况下,点对象的Z坐标为100以上且小于200的任意值,在层级为应用层的情况下,点对象的Z坐标为200以上且小于300的任意值”。
软件组件调用关系编号与线对象42的属性“主体”对应。其对应方法例如是“一条线与一个软件组件调用关系编号对应”。
调用源软件组件编号与线对象42的属性“起点”对应。其对应方法例如是“软件组件编号为调用源软件组件编号的点对象与线对象的起点对应”。
调用目标软件组件编号与线对象42的属性“终点”对应。其对应方法例如是“软件组件编号为调用目标软件组件编号的点对象与线对象的终点对应”。
调用次数与线对象42的属性“粗细”对应。其对应方法例如是“线对象的粗细与调用次数成比例”。
同一模块内调用与线对象42的属性“颜色”对应。其对应方法例如是“在同一模块内调用为“真”的情况下,线对象为蓝色,在同一模块内调用为“假”的情况下,线对象为白色”。
软件分析辅助装置10(描绘对象生成部11)如上所述,读入个别的软件组件信息121、软件组件间关系信息122和映射设定13(图7的S11~S14),进行对象生成时的设定(S15)。软件分析辅助装置10确认对象生成时的设定正常完成(S16:是),生成描绘对象信息14(S17)。描绘对象信息14是包含输出装置21在虚拟空间40中绘制软件的分析结果所需的信息的信息。
输出装置21读入描绘对象信息14,描绘图8所示那样的虚拟空间40和对象41、42。
在图8中,点对象41的图形实际上表示点对象的形状。在图8中用正三边形表示的点对象实际上表示是正四面体。在图8中用圆表示的点对象实际上表示是球体。在图8中用正方形表示的点对象实际上表示是正六面体。
输出装置21在虚拟的3D空间上描绘图8所示那样的描绘内容,用户通过平面显示器对其进行阅览。或者,输出装置21在VR空间上描绘图8所示那样的描绘内容,用户通过头戴式显示器设备对其进行阅览。
根据这样构成的本实施例,用户能够基于期望的观点,使软件组件信息在虚拟空间40上可视化,由此能够直观地理解或分析软件组件信息。即,用户通过目视确认配置于虚拟空间40的各对象41、42,能够直观地粗略地掌握软件组件的概要(是属于哪个目录和哪个层级的软件组件、复杂到何种程度、行数有多大、是否最近被更新等),因此,使用便利性提高。
实施例2
使用图9对第二实施例进行说明。在包含本实施例的以下的各实施例中,以与第一实施例的差异为中心进行说明。
在本实施例的软件分析辅助系统1A中,向用户提供针对多个软件的多个虚拟空间40(1)~40(4)。即,虚拟空间40(1)~40(4)分别与不同的软件对应,表现各软件中的软件组件及其关系性。
并且,如图9中作为“R=38”“R=80”所示,软件分析辅助系统1A计算用户选择出的软件(虚拟空间)与其他软件的关联度,显示于虚拟空间40。
即,软件分析辅助系统1A确定与各虚拟空间40(1)~40(4)中的用户选择出的虚拟空间40(1)对应的软件时(S21),计算在步骤S21中确定出的软件与其他软件(与虚拟空间40(2)~40(4)对应的软件)的关联度(S22)。然后,软件分析辅助系统1A使在步骤S22中计算出的关联度与虚拟空间40(2)~40(4)对应起来进行显示(S23)。
关联度的计算方法不限。作为一例,也可以通过比较各虚拟空间40的显示内容来计算关联度。例如,也可以从对象41、42的位置、大小、形状、颜色这样的表现上的观点出发计算软件间的关联度。即,也可以根据表现于虚拟空间40时的外观的类似性,计算软件间的关联度。由此,即使是目的或目标等不同的软件,也能够找出本质构造类似的软件,能够有助于用户负责的软件的改善。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,能够显示与多个软件分别对应的多个虚拟空间,显示虚拟空间彼此的关联度,因此,用户能够找出关联的软件并加以利用,使用便利性提高。
实施例3
使用图10对第三实施例进行说明。在本实施例中,对在虚拟空间40内或者虚拟空间40的外部使用户的视点移动的情况下的速度进行控制。
如第二实施例所叙述那样,能够使用户视点向多个虚拟空间40(1)~40(4)中的任意一个的内部移动,或者使用户视点从某个虚拟空间向其他虚拟空间移动。或者,如图12所叙述那样,也能够使用户视点在虚拟空间内移动。
在本实施例中,在使用户视点移动的情况下(S31:是),设定移动速度(S32),使用户视点以设定的速度移动(S33)。
用户视点的移动速度例如能够基于移动速度管理表60来决定。移动速度管理表60例如能够构成为包含存储用户手动的设定值的表61、管理用户的利用履历的表62、基于用户属性的设定表63、存储基于用户状态的修正值的表64等中的一个以上。也可以根据图示的表以外的表或函数来设定用户视点的移动速度。
用户的利用履历表62管理用户过去利用软件分析辅助系统时的用户视点的移动速度。基于用户属性的设定表63例如根据用户的年龄、喜好、运动习惯等用户属性来设定用户视点的移动速度。存储基于用户状态的修正值的表64例如存储基于用户的当前的健康状态(心率、血压等)来调整用户视点的移动速度的校正系数。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,能够设定用户使视点在虚拟空间的内外移动的情况下的速度,因此,使用便利性进一步提高。
实施例4
使用图11对第四实施例进行说明。在本实施例中,除了圆筒状的虚拟空间40B的周向的θ轴43和轴向的Z轴44之外,还利用半径方向的r轴46。与距虚拟空间40B的轴心的距离对应地设定r轴46。在r轴46上,例如设定有从轴心起位于半径r1的周面和从轴心起位于半径r2(r2>r1)的周面的多个区域。对r轴46例如能够分配“更新者”等属性。也可以将其他属性分配给r轴46。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,除了θ轴、Z轴,还能够利用r轴,因此,能够进一步提高表现力,用户的使用便利性提高。
实施例5
使用图12对第五实施例进行说明。在本实施例中,能够调整虚拟空间40内的用户视点50的位置。
可以在虚拟空间40的下部设定用户视点50(1),可以在虚拟空间40的中心部设定用户视点50(2),也可以在虚拟空间40的上部设定用户视点50(3)。
例如,用户在对驱动层的软件组件进行考察的情况下使用下侧的视点50(1),在对中间层的软件组件进行考察的情况下使用中心的视点50(2),在对应用层的软件组件进行考察的情况下使用上侧的视点50(3)。或者,用户通过使用中心的视点50(2),能够减少在虚拟空间40内使头上下摆动的角度,使用便利性提高。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,能够在虚拟空间40内调整用户视点50,因此,用户的使用便利性提高。
实施例6
使用图13对第六实施例进行说明。在本实施例中,用户能够在虚拟空间40内编辑(改写等)软件组件信息12,能够使其编辑结果反映到虚拟空间40。
软件分析辅助装置10判定用户是否希望进行软件组件信息12的编辑(S41)。例如,用户从显示于虚拟空间40的点对象41中选择期望的点对象41,操作编辑按钮(未图示),由此,能够编辑与选择出的点对象41对应的软件组件信息12的代码。
在用户希望进行软件组件信息12的编辑时(S41:是),软件分析辅助装置10在虚拟空间40中显示选择出的软件组件信息12的代码(S42)。例如,用户能够使用显示在虚拟空间40内的虚拟键盘(未示出)来编辑代码。软件分析辅助装置10检测来自用户的输入(S43)。
此外,编辑按钮以及虚拟键盘也能够通过使用输入装置22来实现。
软件分析辅助装置10判定用户的编辑作业是否结束(S44),在编辑结束的情况下(S44:是),根据用户的编辑,反映到编辑对象的软件组件信息12的显示状态(S45)。例如,在软件组件信息12的行数增减的情况下,点对象41的大小与其对应地变化,在软件组件信息12的复杂度变化的情况下,点对象41的形状与其对应地变化。此外,在用户的编辑作业未结束的情况下(S44:否),返回到步骤S41。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,用户能够在虚拟空间40内编辑软件组件信息12,能够将其编辑作业的结果反映到虚拟空间40的显示状态。
用户能够根据虚拟空间40内的各对象41、42的配置和显示状态,直观地掌握软件的结构,能够按照其理解来改写期望的软件组件信息12,能够通过将该作业的结果反映到虚拟空间40来进行确认。因此,用户的使用便利性进一步提高。
实施例7
使用图14对第七实施例进行说明。在本实施例中,在选择虚拟空间40内的点对象41时,显示虚拟空间410,所述虚拟空间410表示与该选择出的点对象41对应的软件组件信息12的结构。
表示上位的软件的分析结果的虚拟空间40包含虚拟空间410,所述虚拟空间410表示构成上位软件的软件组件信息12的分析结果。下位的虚拟空间410与上位的虚拟空间40一样,具备:点对象411、线对象412、θ轴413以及Z轴414。点对象411例如是函数或程序块。
这样构成的本实施例也获得与第一实施例一样的作用效果。并且,在本实施例中,在选择上位的虚拟空间40的点对象41时,能够显示使与该点对象41对应的软件组件信息12的分析结果可视化的下位的虚拟空间410。因此,本实施例有助于复杂的软件的结构分析,用户的使用便利性提高。
此外,本发明并不限定于上述的实施例,包含各种变形例。例如,上述的实施例是为了容易理解地说明本发明而详细说明的,并不限定于必须具备所说明的全部结构。另外,能够将某实施例的结构的一部分置换为其他实施例的结构,另外,也能够在某实施例的结构中添加其他实施例的结构。另外,对于各实施例的结构的一部分,能够进行其他结构的追加、删除、置换。
符号说明
1、1A:软件分析辅助系统、10:软件分析辅助装置、11:描绘对象生成部、12:软件组件信息、13:映射设定、14:描绘对象信息、15、16:设定部、21:输出装置、22:输入装置、40、40B:虚拟空间、41、42:对象、43:θ轴、44:Z轴、45:关联度、46:r轴、50:用户的视点、410:下位的虚拟空间、411、412:对象、413:θ轴、414:Z轴。
Claims (9)
1.一种辅助软件的构造的分析的软件分析辅助系统,其特征在于,
该软件分析辅助系统包含至少一个计算机,
所述计算机取得表示各软件组件的关系以及属性的软件组件信息,
所述计算机取得能够编辑的显示要素设定信息,所述显示要素设定信息是设定了与所述各软件组件的属性对应的第一显示要素以及与所述各软件组件间的关系对应的第二显示要素的信息,
所述计算机在基于所述各软件组件的属性中的预先选择出的预定的多个属性来显示所述各软件组件的关系的虚拟空间的预定位置,分别配置所述第一显示要素以及所述第二显示要素,
所述虚拟空间形成为圆筒状空间,
所述预定的多个属性中的第一属性被分配给所述圆筒状空间的周向,
所述预定的多个属性中的第二属性被分配给所述圆筒状空间的轴向。
2.根据权利要求1所述的软件分析辅助系统,其特征在于,
所述预定的多个属性包含所述各软件组件的目录信息。
3.根据权利要求2所述的软件分析辅助系统,其特征在于,
所述预定的多个属性包含所述各软件组件所属的层级构造。
4.根据权利要求3所述的软件分析辅助系统,其特征在于,
所述软件组件信息能够由用户经由第一设定部设定。
5.根据权利要求4所述的软件分析辅助系统,其特征在于,
所述显示要素设定信息能够由用户经由第二设定部设定。
6.根据权利要求1所述的软件分析辅助系统,其特征在于,
所述预定的多个属性中的第三属性被分配给所述圆筒状空间的半径方向。
7.根据权利要求1所述的软件分析辅助系统,其特征在于,
按软件生成所述虚拟空间,
显示与所述虚拟空间对应的软件间的关联度。
8.根据权利要求5所述的软件分析辅助系统,其特征在于,
使所述用户的视点配置于所述虚拟空间内的预定位置,使用户从所述预定位置目视确认显示于所述虚拟空间的所述第一显示要素以及所述第二显示要素。
9.一种计算机可读记录介质,记录有计算机程序,该计算机程序用于使计算机作为辅助软件的构造的分析的软件分析辅助系统发挥功能,其特征在于,
所述计算机程序使所述计算机分别实现以下功能:
取得表示各软件组件的关系以及属性的软件组件信息的功能;
取得能够编辑的显示要素设定信息的功能,所述显示要素设定信息是设定了与所述各软件组件的属性对应的第一显示要素以及与所述各软件组件间的关系对应的第二显示要素的信息;以及
在基于所述各软件组件的属性中的预先选择出的预定的多个属性来显示所述各软件组件的关系的虚拟空间的预定位置,分别配置所述第一显示要素以及所述第二显示要素的功能,
所述虚拟空间形成为圆筒状空间,
所述预定的多个属性中的第一属性被分配给所述圆筒状空间的周向,
所述预定的多个属性中的第二属性被分配给所述圆筒状空间的轴向。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-089035 | 2019-05-09 | ||
JP2019089035A JP7261083B2 (ja) | 2019-05-09 | 2019-05-09 | ソフトウェア解析支援システム |
PCT/JP2020/016323 WO2020226027A1 (ja) | 2019-05-09 | 2020-04-13 | ソフトウェア解析支援システムおよびそのコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113678099A CN113678099A (zh) | 2021-11-19 |
CN113678099B true CN113678099B (zh) | 2023-08-11 |
Family
ID=73045440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080027594.9A Active CN113678099B (zh) | 2019-05-09 | 2020-04-13 | 软件分析辅助系统及其计算机可读记录介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11693653B2 (zh) |
JP (1) | JP7261083B2 (zh) |
CN (1) | CN113678099B (zh) |
DE (1) | DE112020001739T5 (zh) |
GB (1) | GB2600556A (zh) |
WO (1) | WO2020226027A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880668B2 (en) * | 2022-06-13 | 2024-01-23 | International Business Machines Corporation | Dynamically altering a code execution workflow during development using augmented reality |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05307474A (ja) * | 1992-04-30 | 1993-11-19 | Tokyo Electric Power Co Inc:The | 大規模ソフトウェアの構造確認方法 |
CN101615117A (zh) * | 2008-06-23 | 2009-12-30 | 株式会社日立制作所 | 软件开发过程建模系统和方法 |
US8065685B2 (en) * | 2005-04-27 | 2011-11-22 | Intel Corporation | Method, system and apparatus for a transformation engine for use in the processing of structured documents |
CN103988176A (zh) * | 2011-12-12 | 2014-08-13 | 株式会社日立制作所 | 软件分析程序和软件分析系统 |
CN106598580A (zh) * | 2016-12-06 | 2017-04-26 | 重庆首亨软件有限公司 | 一种构建业务软件的方法 |
CN107207023A (zh) * | 2015-01-20 | 2017-09-26 | 三菱电机株式会社 | 软件生成装置 |
CN107562419A (zh) * | 2016-06-30 | 2018-01-09 | 歌乐株式会社 | 软件开发支援方法及系统 |
JP2018533099A (ja) * | 2015-09-24 | 2018-11-08 | カリフォルニア インスティチュート オブ テクノロジー | 三次元ディスプレイを用いたデータ可視化システム及び方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000045649A (ja) * | 1998-07-29 | 2000-02-15 | Taisei Corp | 防火戸 |
US6856313B2 (en) * | 2002-05-20 | 2005-02-15 | Xerox Corporation | System and method for the simultaneous display and manipulation of hierarchical and non-hierarchical data |
US9766953B2 (en) * | 2004-12-16 | 2017-09-19 | Openspan, Inc. | System and method for non-programmatically constructing software solutions |
US8296732B2 (en) * | 2007-03-23 | 2012-10-23 | Sas Institute Inc. | Computer-implemented systems and methods for analyzing product configuration and data |
US8065658B1 (en) * | 2007-08-07 | 2011-11-22 | Network Appliance, Inc. | Tool for visualizing software architecture |
JP5783063B2 (ja) * | 2012-01-24 | 2015-09-24 | 富士通株式会社 | 分析支援装置、分析支援方法、および分析支援プログラム |
US9342300B2 (en) * | 2014-03-11 | 2016-05-17 | Blue Wolf Group, LLC | Analyzing components related to a software application in a software development environment |
US20170109933A1 (en) * | 2015-10-14 | 2017-04-20 | Prime Software Systems, Inc. | Visualizing the structure and execution of a program |
US10768421B1 (en) * | 2016-07-18 | 2020-09-08 | Knowledge Initiatives LLC | Virtual monocle interface for information visualization |
-
2019
- 2019-05-09 JP JP2019089035A patent/JP7261083B2/ja active Active
-
2020
- 2020-04-13 GB GB2114379.7A patent/GB2600556A/en not_active Withdrawn
- 2020-04-13 DE DE112020001739.7T patent/DE112020001739T5/de active Pending
- 2020-04-13 CN CN202080027594.9A patent/CN113678099B/zh active Active
- 2020-04-13 US US17/594,859 patent/US11693653B2/en active Active
- 2020-04-13 WO PCT/JP2020/016323 patent/WO2020226027A1/ja active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05307474A (ja) * | 1992-04-30 | 1993-11-19 | Tokyo Electric Power Co Inc:The | 大規模ソフトウェアの構造確認方法 |
US8065685B2 (en) * | 2005-04-27 | 2011-11-22 | Intel Corporation | Method, system and apparatus for a transformation engine for use in the processing of structured documents |
CN101615117A (zh) * | 2008-06-23 | 2009-12-30 | 株式会社日立制作所 | 软件开发过程建模系统和方法 |
CN103988176A (zh) * | 2011-12-12 | 2014-08-13 | 株式会社日立制作所 | 软件分析程序和软件分析系统 |
CN107207023A (zh) * | 2015-01-20 | 2017-09-26 | 三菱电机株式会社 | 软件生成装置 |
JP2018533099A (ja) * | 2015-09-24 | 2018-11-08 | カリフォルニア インスティチュート オブ テクノロジー | 三次元ディスプレイを用いたデータ可視化システム及び方法 |
CN107562419A (zh) * | 2016-06-30 | 2018-01-09 | 歌乐株式会社 | 软件开发支援方法及系统 |
CN106598580A (zh) * | 2016-12-06 | 2017-04-26 | 重庆首亨软件有限公司 | 一种构建业务软件的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020226027A1 (ja) | 2020-11-12 |
GB202114379D0 (en) | 2021-11-24 |
GB2600556A (en) | 2022-05-04 |
CN113678099A (zh) | 2021-11-19 |
JP7261083B2 (ja) | 2023-04-19 |
DE112020001739T5 (de) | 2022-01-13 |
JP2020184259A (ja) | 2020-11-12 |
US11693653B2 (en) | 2023-07-04 |
US20220308864A1 (en) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2572471B2 (ja) | アイコンを動的に変更する方法及び装置 | |
US20040113915A1 (en) | Mobile terminal device and image display method | |
KR101908447B1 (ko) | 접속정보를 포함하는 이미지 기반 접속정보 표시 방법 및 장치 | |
JP2007219907A (ja) | パーツカタログ・システム、パーツカタログ作成方法、プログラムおよび記録媒体 | |
JP2006285914A (ja) | データ検索処理装置及びプログラム | |
JP6687878B2 (ja) | 情報処理装置およびプログラム | |
JP2022545598A (ja) | 仮想対象の調整方法、装置、電子機器、コンピュータ記憶媒体及びプログラム | |
JP4611116B2 (ja) | プレゼンテーションに用いられる情報処理装置およびプログラム | |
CN113678099B (zh) | 软件分析辅助系统及其计算机可读记录介质 | |
KR20170135703A (ko) | 표시 제어 방법, 표시 제어 장치 및 기록 매체 | |
JP6661780B2 (ja) | 顔モデル編集方法及び装置 | |
KR101809601B1 (ko) | 애니메이션 제작 장치 및 방법 | |
JP7219997B1 (ja) | ブロックオブジェクトの設計図を出力する方法 | |
JP2020184267A (ja) | 3次元cad装置、及び3次元cadプログラム | |
CN115691772A (zh) | 运营可视化系统及相应计算机设备和存储介质 | |
CN114721567A (zh) | 桌面显示方法和电子设备 | |
JP2009253474A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2007249561A (ja) | 画面遷移図の表示システム及びプログラム | |
JP2002373044A (ja) | アイコン作成装置 | |
JP2007026088A (ja) | モデル生成装置 | |
JP5883953B2 (ja) | プログラマブルコントローラシステム、そのプログラマブル表示器、作画エディタ装置、プログラム | |
JP7296814B2 (ja) | フローチャート表示システム及びフローチャート表示プログラム | |
CN115049804B (zh) | 虚拟场景的编辑方法、装置、设备及介质 | |
JP3393717B2 (ja) | 文書編集装置 | |
JP2021000424A (ja) | コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |