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

文档序号:9810436阅读:来源:国知局
[0027]如图3B所示,软件程序111的一视觉化架构的第二层42呈现了图3A所示某一类别程序码20包含的方法程序码22及属性26,其中每一方法程序码22是以六角形轮廓予以显示,而每一属性26是以椭圆形轮廓予以显示。每一方法程序码22包含的参数的数量,可以不同框线颜色或类型予以表示。举例而言,以红色框线围绕而成的六角形表示一方法程序码22包含较多的参数数量,以绿色框线围绕而成的六角形表示一方法程序码22包含相对较少的参数数量。图3B所示的类别程序码20、方法程序码22及属性26,其数量、位置、呈现方式及连接方式仅作为本实施例的一说明范例,而非用以限制本发明。
[0028]可选择地,显示装置15可持续地显示该阶层式架构的第一层40,而选择性地显示该阶层式架构的第二层42。举例而言,显示装置15最初可呈现如图3A所示的多个类别程序码20及其相关信息,而当图3A所示的某一类别程序码20被使用者点击后,显示装置15再如图3B所示一般,展开该被点击的类别程序码20所包含的方法程序码22、属性26及相关信息。若使用者再次点击被展开的类别程序码20,则显示装置15将如图3A所示,重新呈现所述多个类别程序码20及其相关信息。
[0029]于其他实施例,处理装置13为软件程序111所建立的视觉化架构可更包含一第三层(未绘示)。具体而言,当使用者点击图3B所示的某一方法程序码22,可在该第三层上显示该方法程序码22的来源码(source code),而若再次点击该方法程序码22,则会返回第二层42所显示的内容。
[0030]当软件程序111出现耦合及内聚时,处理装置13为软件程序111所建立的视觉化架构可纳入图4A所示的数据块关联性60、图4B所示的分歧变化关联性62及图4C所示的散弹枪手术关联性64,藉以突显软件程序111中出现耦合及内聚的区域。图4A-4B所示的内容,仅作为本实施例的一说明范例,并非用以限制本发明。
[0031]针对软件程序111,处理装置13可根据前述数据块信息,为不同类别程序码中20出现的相同属性建立一数据块关联性。举例而言,如图4A所示,假设处理装置13发现判断类别程序码20b与类别程序码20f之间相同的属性有属性26a、属性26b、属性26c、属性26d,则处理装置13会判断软件程序111出现了数据块,并连接类别程序码20b、类别程序码20f与属性26a-26d,藉以建立一数据块关联性60。然后,处理装置13为软件程序111所建立的视觉化架构将会纳入数据块关联性60,而显示装置15在显示该视觉化架构时,也会一并显示出数据块关联性60。
[0032]针对软件程序111,处理装置13可根据前述分歧变化信息,为每一类别程序码中20中共同变化的多个个方法程序码建立一分歧变化关联性。举例而言,如图4B所示,假设处理装置13根据变化记录113发现类别程序码20b中,方法程序码22a、方法程序码22b及方法程序码22c会共同变化(例如曾共同被修改、被更新、被除错等),而方法程序码22d及方法程序码22e会共同变化(例如曾共同被修改、被更新、被除错等),则处理装置13会判断方法程序码22d出现了分歧变化,并将会共同变化方法程序码22a-22c区分为一第一群组,且将会共同变化方法程序码22d-22e区分为一第二群组,以及将方法程序码22f区分为一第三群组,藉以建立一分歧变化关联性62。属于相同群组的方法程序码22会被相邻设置,以与其他群组有所区隔。然后,处理装置13为软件程序111所建立的视觉化架构将会纳入分歧变化关联性62,而显示装置15在显示该视觉化架构时,也会一并显示出分歧变化关联性62。
[0033]针对软件程序111,处理装置13可根据前述散弹枪手术信息,为共同变化的多个类别程序码20建立一散弹枪手术关联性。举例而言,如图4C所示,假设处理装置13根据变化记录113发现类别程序码20a、类别程序码20b、类别程序码20c及类别程序码20d会共同变化(例如曾共同被修改、被更新、被除错等),而类别程序码20e、及类别程序码20f会共同变化(例如曾共同被修改、被更新、被除错等),则处理装置13会判断软件程序111出现了散弹枪手术,并将会共同变化类别程序码20a-20d区分为一第二群组,以及将类别程序码20e-20f区分为一第二群组,藉以建立一散弹枪手术关联性64。属于相同群组的方法程序码22会被相邻设置,以与其他群组有所区隔。然后,处理装置13为软件程序111所建立的视觉化架构将会纳入散弹枪手术关联性64,而显示装置15在显示该视觉化架构时,也会一并显示出散弹枪手术关联性64。
[0034]本发明的另一实施例(简称「第二实施例」)为一种用以视觉化一软件程序的方法。图5为第二实施例揭示的方法的一例示图。如图5所示,本实施例揭示的方法包含:步骤S21,使一存储装置存储该软件程序及其变化记录,其中该软件程序包含多个类别程序码,各该类别程序码包含多个方法程序码,各该方法程序码包含多个参数;步骤S23,使一处理装置根据数据块信息、分歧变化信息及散弹枪手术信息至少其中之一建立该软件程序的一视觉化架构,其中该处理装置计算所述多个类别程序码内属性之间的相关性以侦测该软件程序的数据块并藉此取得该数据块信息,根据该变化记录计算所述多个方法程序码之间的相关性以侦测该软件程序的分歧变化并藉此取得该分歧变化信息,以及根据该变化记录计算所述多个类别程序码之间的相关性以侦测该软件程序的散弹枪手术并藉此取得该散弹枪手术信息;以及步骤S25,使一显示装置根据该视觉化架构显示该软件程序。
[0035]步骤S21-S25中所述的存储装置、处理装置及显示装置可实质地对应至前述实施例的存储装置11、处理装置13及显示装置15。另,步骤S21-S25所呈现的顺序并非用以限制本发明,且在不脱离本发明的精神的前提下,可以适当地进行调整。
[0036]作为本实施例的一范例,步骤S23更包含下列步骤:使该处理装置根据该数据块信息为不同类别程序码中出现的相同属性建立一数据块关联性,根据该分歧变化信息为一类别程序码中共同变化的多个方法程序码建立一分歧变化关联性,根据该散弹枪手术信息为共同变化的多个类别程序码建立一散弹枪手术关联性,以及将该数据块关联性、该分歧变化关联性及该散弹枪手术关联性至少其中之一纳入该视觉化架构。
[0037]作为本实施例的一范例,该存储装置包含一数据库,该数据库存储对应至该软件程序的至少一开放软件程序。除此之外,步骤S23更包含下列步骤:使该处理装置根据该至少一开放软件程序中各个类别程序码的行数、各个方法程序码的行数、各个方法程序码包含的参数的数量、及不同类别程序码中出现相同属性的属性数量界定至少一门槛,并在判断该软件程序中相对应的部分超出该至少一门槛后,才根据该数据块信息、该分歧变化信息及该散弹枪手术信息至少其中之一建立该视觉化架构。
[0038]作为本实施例的一范例,该处理装置串行地或并行地计算所述多个类别程序码内属性之间的该相关性、所述多个方法程序码之间的该相关性及所述多个类别程序码之间的相关性。
[0039]作为本实施例的一范例,该视觉化架构为一阶层式架构(hierarchicalstructure),该软件程序的所述多个类别程序码对应至该阶层式架构的一第一层,而该软件程序的所述多个方法程序码及其参数与属性对应至该阶层式架构的一第二层。
[0040]作为本实施例的一范例,该视觉化架构为一阶层式架构(hierarchicalstructure),该软件程序的所述多个类别程序码对应至该阶层式架构的一第一层,而该软件程序的所述多个方法程序码及其参数与属性对应至该阶层式架构的一第二层。除此之夕卜,该显示装置持续地显示该阶层式架构的该第一层,且选择性地显示
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1