收藏 分享(赏)

基于模型的面向对象程序自动裁剪方法研究.doc

上传人:weiwoduzun 文档编号:1896720 上传时间:2018-08-29 格式:DOC 页数:77 大小:13.97MB
下载 相关 举报
基于模型的面向对象程序自动裁剪方法研究.doc_第1页
第1页 / 共77页
基于模型的面向对象程序自动裁剪方法研究.doc_第2页
第2页 / 共77页
基于模型的面向对象程序自动裁剪方法研究.doc_第3页
第3页 / 共77页
基于模型的面向对象程序自动裁剪方法研究.doc_第4页
第4页 / 共77页
基于模型的面向对象程序自动裁剪方法研究.doc_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、 研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。日期: 矽忡年本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。年解密后适用本授权书。崭请嘭作者签名: 弘忡年基于模型的面向对象程序自动裁剪方法研究摘系图,定义了用

2、于类成员方法裁剪的面向对象成员方法调用图根据本文给出的裁剪模型和裁剪方案,设计并实现了一个基于模型的面向对象程序自动裁剪的原型系统,该系统可对规模较小的程序进行裁剪。选用一个程序,通过对其进行冗余注入,使其成为冗余度较高的测试程序,用原型系统对得到的测试程序进行裁剪测试。裁剪结果分析表明,该裁剪方法是有效的和可行的。关键字:面向对象程序;程序分析;自动裁剪;裁剪模型 琹 瑆 琣 瑃琧 基于模型的面向对象程序自动裁剪方法研究目第孪喙丶际跫爸J丁蚪椤面向对象建模技术裁剪模型系统设计 参考文献裂黄诩洳渭拥目蒲邢钅基于模型的面向对象程序自动裁剪方法研究继承关系实例实现关系实例依赖关系实例关联关系实例的

3、一个实例 中获取可达一节点的所有节点集合的算法中搜索入口可达类和接口的算法 基于模型的面向对象程序自动裁剪方法研究成员变量冗余情况然而,随着软件规模的急剧变大,复杂度的迅速提高,软件缺陷的种类和数代码量巨大、大量采用软件复用、开发人员经验不足等原因,软件在开发过程中会产生许多无用的冗余代码,如开发中,类库、包引入时,会将无用的包、类、接口等一并添加进来,引入的类中也可能会存在无用的成员变量或方法。同时,代码编写过程中由于程序员的疏忽、编程规范不严谨、单元测试不全面等原因,也会产生各种冗余代码。这些冗余代码增加了软件运行时所占用的系统资源,同时会降低软件运行的稳定性、可靠性、安全性等,进而会增加

4、软件开发和运行成本,降低软件运行效率。例如在嵌入式领域,随着智能手机、平板、物联网等的飞速发展,采用、统裁剪或面向过程的嵌入式应用裁剪等方面,而针对面向对象程序的裁剪方法研研究现状对程序进行静态分析来预测程序运行时的情况,进而找出代码中可能存在的各种:通过将程序与一套已有的代码规则或编码风格进谌毕菽降拇爰觳椤緇:软件缺陷模式就是对软件中常见的,多,然后对语法树进行遍历和分析得到程序的基本信息,最后在文献【锟7艘恢终攵訪操的冗余对象进行检测,且没有给出具体的方法实现。论文研究内容相关研究中,一方面对冗余代码的研究主要集中在软件的冗余缺陷检测上;另一基于模型的面向对象程序自动裁剪方法研究面向对象编

5、程技术在此背景下,序设计语言的广泛应用,面向对象程序设计己成为当今最主流的程序设计思想之类的所有属性和行为,同时可以添加属于猫特有的属性或行为。继承抽象地表示了现实中普遍存在的这类事物关系,使得面向对象程序软件中建立的模型更加贴近现实,简化了软件的设计。另外,继承可以扩展己存在的代码,减少程序中的冗余代码,提高代码的复用度。继承有单继承和多继承两类,单继承指类只从一个父类继承信息,而多继承是一个类同时从多个类进行继承。多继承由于相对复杂,并非所有面向对象语言都支持,如语言,类中就没有多继承概念,但是可以通过接口来实现多继承。嫦蚨韵蟮姆治 ,把问题空间分解成一些类或对象,找出这些对象嫦蚨韵蟮纳杓

6、建立软件系统的面向对象模型,属于设计阶段。在这个阶段中,依据具体的软件以及对象之间的相互关系;然后对程序进行概要设计和详细设计,得到软件的层次、框架和结构信息等;最后给出各个功能的实现流程和方法接口,以便在下一嫦蚨韵蟮牟馐据测试粒度,可以分为方法测试、类测试、类簇测试和系统测试四种。方法测试主要是用来验证类中的一个方法对数据进行的操作是否正确,是考察一个类的方法和数据之间的交互是否正常。类测试时要把对象与状态结合起来,进行对象状态行为的测试。类簇测试对应于传统测试中的集成测试,即是对系统某一模块的整体测试。系统测试是对系统中全部类,即整个程序进行测试,寻找程序中的缺陷和不足,检查程序是否符合需

7、求规格说明书中的各种要求,偏重于对系统的整体测试。内存和损坏数据的可能性。程序员无需使用指针构造诸如字符串、数组这样的结构,也不用关心内存的分配和回收。编译器能够检测许多在其他语言中仅在运行时刻才能够检测出来的问题。这些都增加了健壮性。由于适用于网络分布式环境,因此在安全性方面也比较完善,使用可以构建防病毒、防篡改的系统。在多线程方面也实现了平台无关性,在不同的机器上调用多线程的代码完全相同,将多线程的实现交给了底层的操作系统或线程库来完成。多线程编译的简单性,是在服务器语言领域颇受欢迎的原因之一。动态性是语言的一个非常重要的特性,在中,通过反射机制,可以在程序运行时,获得对象的结构和行为,或

8、者改变程序的结构或变量等,这给开发提供了极大的便利。元素及它们的简单描述。 表元素元素 描述表示单个包导入声明。淖哟表示编译单元内的源类型,或者是类文件中的二进制类型。表示方法或初始化方法中的局部变量。囊桓鲋匾W槌刹糠郑逶趏甹包中,用来表图抽象语法树片段实例籵眂;:图韵如募蛘撸甁募转换为对应进行访问以执行一些操作。面向对象建模技术琌,这是同开发阶段以及不同内部概念的不同观点,从而有效地消除了各种建模语言之间嗤迹赫故鞠低持欣嗟木蔡峁类是指具有相同属性和行为的对象,承蛲迹赫故径韵笾涞囊恢侄鞴叵一组对象组成,随时间献魍迹捍恿硪桓鼋嵌日故径韵笾涞亩鞴叵对象间动态协疃迹赫故鞠低持懈髦只疃闹葱辛鞒各种活动

9、的执行顺序、执辜迹赫故境绦虼氲奈锢斫峁描述程序代码的组织结构,各种配置图:展示软件在硬件环境中乇鹗窃诜植际郊巴缁肪持的配置关系。的建立上。在校琌中关系可分成四种】:泛化明确标识。图硎纠嘀浼坛泄叵担淌且桓鋈耍訲类可以实现关联图关联关系实例类粽飧隼嗖痪哂惺道芰某猓绺美嗝挥刑峁墓乖旌。修饰类的成员变量和方法时,同一个包内的类都可以访问到这这些变量和方法,关键字所处理的是所谓“继承”的观念。对于同一包的其他类,中,除了以上四种权限修饰符,较常用的还有以下三种修饰符:裁剪对象和一些框架类库鏢蚣芾嗫等。外部类库则主要是为了简化开发而引入的一些第三方类库,比如一些完成指定功能的插件等。由于系统类库对程序而言一般是必不可少的,因此,冗余的类库是指程序中无用的外部类库,本文研究的类库裁剪对象也即是程序中引入的外部类库。为了更好地组织类,提供了包机制。包是类的容器,用于分隔类的命名空间,在系统中对应于这三种情况,简单来说即是包和类库的中类均未在程序中被使用。执行到。裁剪模型唷涌凇稍北淞亢统稍狈椒:用,和, 表示成员方法的有限集合。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报