用以视觉化软件程序的系统及方法

文档序号:9810436阅读:396来源:国知局
用以视觉化软件程序的系统及方法
【技术领域】
[0001]本发明关于一种用以处理软件程序的系统及方法。更具体而言,本发明关于一种用以视觉化软件程序的系统及方法。
【背景技术】
[0002]软件程序现已成为电脑科技产业所必备的一项技术。为了判断软件程序是否能正常运作,通常需要进行各种分析及除错(debug)。为了便于分析及除错软件程序,软件视觉化的相关技术已逐渐受到重视。
[0003]随着运算量及运算复杂度的需求增加,软件程序的规模也越来越大,也因此,对于大型软件程序所进行的分析越来越困难。举例而言,针对大型软件程序进行分析时,通常会遇到以下问题:程序注解的不足、测试码(test codes)的缺乏等等。除此之外,大型软件程序通常需要多人共同处理,也因此,势必面临到交接程序码的完整性、撰写程序的习惯性等等问题。由于撰写程序的习惯不同,大型软件程序容易产生耦合(Coupling)与内聚(Cohes1n)的问题。耦合泛指一软件程序中多个程序模块之间具有关联性,而内聚泛指一软件程序中多数程序码聚集在单一程序模块。然而,传统的软件视觉化技术并无法有效地突显大型软件程序中出现耦合及内聚的区域。
[0004]有鉴于此,如何针对大型软件程序提供一种有效的软件视觉化技术,确实为本发明所属技术领域中的一项重大需求。

【发明内容】

[0005]本发明的一目的是针对大型软件程序提供一种有效的软件视觉化技术。
[0006]为达上述目的,本发明提供一种用以视觉化一软件程序的系统。该系统包含一存储装置、一处理装置及一显示装置。该存储装置用以存储该软件程序及其变化记录(ChangeLogs)。该软件程序包含多个类别程序码(Class Codes),各该类别程序码包含多个方法程序码(Method Codes),各该方法程序码包含多个参数(Parameters)。该处理装置用以根据数据块(Data Clumps)信息、分歧变化(Divergence Change)信息及散弹枪(ShotgunSurgery)手术信息至少其中之一建立该软件程序的一视觉化架构。该处理装置计算所述多个类别程序码内属性(Attributes)之间的相关性(Correlat1ns)以侦测该软件程序的数据块并藉此取得该数据块信息。该处理装置根据该变化记录计算所述多个方法程序码之间的相关性以侦测该软件程序的分歧变化并藉此取得该分歧变化信息。该处理装置根据该变化记录计算所述多个类别程序码之间的相关性以侦测该软件程序的散弹枪手术并藉此取得该散弹枪手术信息。该显示装置用以根据该视觉化架构显示该软件程序。
[0007]为达上述目的,本发明亦提供一种用以视觉化一软件程序的方法。该方法包含下列步骤:
(a)使一存储装置存储该软件程序及其变化记录,其中该软件程序包含多个类别程序码,各该类别程序码包含多个方法程序码,各该方法程序码包含多个参数; (b)使一处理装置根据数据块信息、分歧变化信息及散弹枪手术信息至少其中之一建立该软件程序的一视觉化架构,其中该处理装置计算所述多个类别程序码内属性(Attributes)之间的相关性(Correlat1ns)以侦测该软件程序的数据块并藉此取得该数据块信息,根据该变化记录计算所述多个方法程序码之间的相关性以侦测该软件程序的分歧变化并藉此取得该分歧变化信息,以及根据该变化记录计算所述多个类别程序码之间的相关性以侦测该软件程序的散弹枪手术并藉此取得该散弹枪手术信息;以及(C)使一显示装置根据该视觉化架构显示该软件程序。
[0008]综上所述,本发明提供了一种用以视觉化一软件程序的系统及方法。本发明提供的该系统及该方法可根据数据块信息、分歧变化信息及散弹枪手术信息至少其中之一建立一软件程序的一视觉化架构,并根据该视觉化架构显示该软件程序。由于分歧变化是一软件程序出现内聚的一个主要原因,故在本发明根据该分歧变化信息所建立的该视觉化架构中,可有效地突显该软件程序出现内聚的区域。另外,由于数据块以及散弹枪手术是一软件程序出现耦合的一个主要原因,故在本发明根据该数据块信息及该散弹枪手术信息所建立的该视觉化架构中,可有效地突显该软件程序出现耦合的区域。据此,本发明可针对大型软件程序提供一种有效的软件视觉化技术。
[0009]于参阅附图及随后描述的实施方式后,本发明所属领域的技术人员便可更了解本发明的目的、技术手段及所达功效。
【附图说明】
[0010]以下是针对附图所记载的简单说明,并非用以限定本发明,其中:
图1为本发明的一实施例用于视觉化一软件程序的一系统的一结构例示图;
图2为本发明的一实施例的一软件程序的一元件组成例示图;
图3A为本发明的一实施例的软件程序的一视觉化架构的一第一层的一例示图;
图3B为本发明的一实施例的软件程序的一视觉化架构的一第二层的一例示图;
图4A为本发明的一实施例的数据块关联性的一例示图;
图4B为本发明的一实施例的分歧变化关联性的一例示图;
图4C为本发明的一实施例的散弹枪手术关联性的一例示图;以及图5为本发明的一实施例用于视觉化一软件程序的方法的一例示图。
【符号说明】
1:系统 11:存储装置 111:软件程序 113:变化记录 15:显示装置 20:类别程序码 20a-201:类别程序码 22:方法程序码 22a~22f:方法程序码 24:参数 26:属性 26a-26d:属性 40:视觉化结构的第一层 42:视觉化结构的第二层 60:数据块关联性 62:分歧变化关联性 64:散弹枪手术关联性 S21、S23、S25:步骤
【具体实施方式】
[0011]以下将通过实施例来解释本发明的内容,惟以下实施例并非用以限制本发明须在如其所述的环境、应用、结构、流程或步骤方能实施。换言之,以下实施例的说明仅为了便于说明本发明,而非用以限制本发明。于附图中,与本发明非直接相关的元件皆已省略而未绘示,且各元件之间的尺寸关系仅为了便于说明本发明,而非用以限制实施本发明的实际比例。
[0012]本发明的一实施例(简称「第一实施例」)为一种用以视觉化一软件程序的系统。图1为该系统的一结构例示图。如图1所示,系统I可包含一存储装置11、一处理装置13及一显示装置15。存储装置11、处理装置13及显示装置15可直接或间接地电性连接,且相互通讯。系统I可以是一计算机系统,也可以是一云端系统。
[0013]存储装置11用以存储至少一软件程序111,且软件程序111可以是由各种不同的程序撰写工具所产生的软件程序。图2为软件程序111的一元件组成例示图。如图2所示,如同一般软件程序,软件程序111可实质包含多个类别程序码(Class CodeS)20,其中各该类别程序码可实质包含多个方法程序码(Method Codes) 22,各该方法程序码可实质包含多个参数(Parameters) 24。每一类别程序码20可具有至少一属性(Attribute),该至少一属性可对应至该类别程序码20、对应至该类别程序码20包含的方法程序码22及/或对应至各该方法程序码包含的参数24。
[0014]存储装置11还可用以存储软件程序111的变化记录(Change Logs) 113。变化记录113用以分别记录类别程序码20、方法程序码22及参数24曾经被改变的历史记录,包含曾被修改、被更新、被除错等等的历史记录。
[0015]可选择地,存储装置11可更包含一数据库115。数据库115可存储对应至软件程序111的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1