软件设计信息抽取及其在面向方面建模中的应用

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:hncdbf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
从软件生命周期来看,需求分析与设计阶段是软件开发的前期阶段,是编写代码的基础。设计阶段信息是指在软件设计阶段所产生的各种动态与静态信息。这些信息通常以文本文档、流程图或建模语言的形式进行记录。设计阶段信息不仅反映了软件系统的语义信息,同时也刻画了对象之间静态和动态的关系,它在整个软件生命周期中都存在,能够使开发人员更好地理解程序语义。在代码开发、测试、维护,尤其是软件重构等方面,都具有重要价值。然而,如何对软件设计阶段产生的信息进行建模和抽取,一直是软件开发过程的难点,也是造成设计与实现之间鸿沟的重要原因。设计阶段有价值的信息无法得到有效利用,这也导致了在软件重构、测试以及维护方面的很多障碍。无论是从结构化程序到面向对象程序的重构,还是从面向对象到面向方面程序的重构,对程序语义的理解是关键,而语义信息在软件设计阶段都被很好地描述和刻画。因此,本论文的目的就是对软件设计阶段蕴含的部分信息进行建模与抽取。所得到设计信息能够应用于面向方面编程及软件重构中。在此基础上,能够挖掘设计阶段形成的语义信息,有效地帮助开发人员进行软件重构及测试。目前,统一建模语言UML(Unified Modeling Language)是软件设计阶段建模的主流工具。UML已成为工业界对设计信息建模的事实标准,它从不同的功能层次上对软件设计与开发进行加强。UML与程序设计语言无关,能够在较高抽象层次上进行软件设计。本论文将以UML作为软件设计阶段信息的载体进行分析。由此,本论文首先对软件设计阶段信息进行归纳和总结,抽象出了设计信息抽取的方法。并对UML图进行了归纳,给出了UML建模工具的分类。其次,由于直接对UML图进行信息抽取比较困难,因此本文给出了UML与关系模型的映射。又由于所有的UML图都属于两大基本图范畴——结构图、行为图,而UML中的类图和序列图各自代表了两大基本图范畴,因此,本论文分别给出了类图和序列图到关系模型的详细映射规则。针对类图,本文首先总结了三种现有的映射方法:简单映射、事实表映射、单表层次映射。在此基础上,本文对这三种映射方法进行了扩展,给出了通用结构映射方法。针对序列图,本文在通用结构映射的方法上继续扩展,增加了调用关系映射。在完成UML到关系模型映射的基础上,本文总结了设计信息抽取的目标、形式和准则。并着重给出了对面向方面编程(Aspect Oriented Programming,AOP)中横切关注点的抽取算法。在完成横切关注点抽取之后,本文创新地给出了使用元数据对设计信息进行表示,并将横切关注点信息以元数据的方式透明地植入到代码框架中。另外,本论文完成了MetaDesign原型工具,能够支持本文提出的UML到关系模型的映射、设计信息抽取以及元数据植入。最后通过应用实例加以演示。
其他文献
学位
云环境中同驻虚拟机间由于共享物理资源,使得一些恶意云用户通过探测、分析共享资源的信息来隐蔽地获取其他云用户的私密信息,引发侧通道攻击威胁,从而使云环境中的同驻虚拟
随着我国经济的高速发展,城市化的步伐加快,中国的许多大中城市开始出现城市蔓延。这主要是由于城市用地的快速扩张和无序开发引起的,因此中国城市化面临的一个主要问题就是
工作流技术以其在实现业务流程的自动化上的优势而成为一个新兴技术亮点。业扩报装系统是电力企业安全稳定运行的重要保证。在对工作流理论和标准进行深入研究的基础上,本文
三维游戏技术目前已经广泛应用于各种研究领域,如虚拟现实系统、汽车模拟训练系统及军事仿真系统等。它推动诸多领域的发展,并已经成为当今的研究热点。基于三维游戏技术的重
电脑横机是一种由电脑控制的自动化程度很高的横编针织机械,主要用于羊毛衫等针织服装以及工艺品的编织制造行业。   电脑横机控制器是整个电脑横机系统最核心的部分,合理的
文字是人类信息交流的主要载体之一。随着计算机信息技术的高速发展,使用计算机处理并识别文字信息也就成为了一个非常重要的研究和应用领域。光学字符识别OCR(Optical Chara
无线传感器网络是一种全新的信息获取和处理技术,它将逻辑上的信息世界与客观上的物理世界融合在了一起,作为未来实现“普适计算”的一种新型技术,无线传感器网络在越来越多
手势识别已成为人机交互领域中重要的研究课题之一。其中动态手势识别在家庭娱乐,智能驾驶等非接触式遥控方面有诸多应用。随着Kinect等深度摄像机的出现,基于深度图像的动态手
实时碰撞检测是虚拟现实中一个非常关键的问题,其基本任务是确定两个或多个物体彼此之间是否发生接触、接触面积大小和穿透的深度。尽管针对碰撞检测已有了大量有价值的研究