- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一:程序界面设计
1.1主界面设计
图1
界面:把项目导入平台,在编辑区域左边显示一个项目清单列表、右上部分显示与项目清单列表下.xml .doc文件相对应的图形化结构(图1)、把测试用例下的测试函数用编程文本显示出来且能够对其进行编辑、把源代码文件下的源程序显示出来并且提供源代码和结构图(见图2)两种显示方式(见下图3)。右下部分显示控制台信息、运行信息、属性信息和其他相关信息。默认的显示:左边是项目清单列表,右上是源代码中文档的源代码和结构图,右下是控制台,和运行信息。
功能:在对项目清单上的文件进行操作时要触发对其文件相应的显示界面,这里涉及到事件的分发和接受。例如项目清单下打开测试用例文件夹下的函数时,在右上显示这个函数,同时允许对其进行编辑,修改;还能够显示这个函数的图形结构。要保持函数和图形的一致性,当对函数修改后,进行刷新,其图形结构也进行重新生成新的图形。源代码下的文件也是如此。这里主要涉及到各种关系的同步问题。
在现有软件中界面出现的问题有:对操作步骤提供撤销和返回,以方便在出现错误或要返回到以前的位置时提供方便。
(图2)
1.2项目清单树形结构
在左边的项目清单透视图的树形结构中单击右键出现的静态代码分析、源程序插桩、结构流程图、函数关联图、文件关联图、折叠全部、展开全部、更新等操作时,要实现其功能。同时在右上部分要显示其相应的图形等。例如在项目清单的树形结构中右击源代码文件夹下的函数时,可以对其函数进行上述静态代码分析、源程序插桩、结构流程图等操作,在界面的右上方应该做出相应的编辑区,或结构流程图等结果显示;当单击静态代码分析时,要能够对该源函数做DD图结构分析,找出函数的支配树、蕴含树、控制流关系。根据先前的论文(陈恩慧师兄的论文:程序分支覆盖方法的研究)中的理论找出函数中的关键分支,然后进行标记。当点击源程序插桩时,要把插桩库的插桩函数(参照于全喜师兄的论文:在这里要建插桩函数库,定义插桩规则)插到关键分支点上;当单击结构流程图时要把函数的结构如调用关系等显示出来;当单击函数关联图时要把这个函数和项目中的其他函数的关系显示出来如被其他函数调用或调用其他函数;文件关联图是把各个文件之间的关系表示出来如头文件与源文件的关系。对这些操作进行执行时,要及时更新与之相关的内容如对源代码修改后要保证它的结构图也相应得到更新,这里就要对更新操作实现。见图4
1.3右上界面设计
把在项目清单上的相应操作在右上部分表示出来。见下图
1.4右下部分界面设计
显示相应操作的控制台信息和程序的运行信息。
这一部分透视图要固定在下面。
2用户登录与退出
在进入平台时先要求输入用户名和密码进行验证后,才能进行后续的平台运行。如果输入出现错误,则提供帮助信息和返回到登录状态。这里选用基于Preferences的用户登录。
登录的流程:用户双击图标运行程序,在基本配置完后,进入主界面之前。要求用户输入用户名和密码在实现时要对用户的信息进行加密处理,进入系统时要把设定的主界面显示出来;退出系统时,把当前打开的各个对象关闭后才完全退出程序。同时在平台中要提供用户的管理。类似登录界面如下图5
图5
3各个菜单的功能分析
3.1 文件菜单
新建与新建项目重叠,要删除一个。
打开子菜单项功能:能够打开word,txt等格式的文件。有一个向导窗口来寻找需要打开文件的位置。
导入项目子菜单功能:是导入一个已经存在的项目(在项目文件夹内会有一个.properties格式的文件,选择这个文件即可)
导出项目子菜单功能:是对新建的项目经过下图的处理后,生成一个独立的文件以便于保存
属性子菜单功能:显示整个系统的配置情况,可以参见Eclipse平台的属性菜单项。
3.2源代码菜单
源代码加载子菜单:源程序经过C编译器编译后会产生相应的源文件,把此处所有的源代码加载到平台中。并以树型方式将其呈现,并提供对这些文件的操作功能,主要操作功能可以包括:在平台上打开文件、静态分析文件、查看文件的结构流图、查看文件函数、查看与其它代码文件的静态关联关系等等。
静态代码分析子菜单:是指对被测源代码进行词法语法分析,对关键路径节点进行标识,已完成下一步对其插桩的过程。静态分析要从源程序中提取必要的数据(比如函数名、用面向对象语言编写的类名、行号等信息),对源程序的控制流进行分析,为源程序划分块,然后把得到的数据都保存到以XML格式的数据文件中。这些数据文件为实现图形化呈现作好了准备。这一步主要是生成程序的DD图。以便后续进行寻找关键分支。
源代码插桩子菜单:是在源程序的
文档评论(0)