AOP基本原理模拟(Java版)开题报告

 2022-10-08 10:37:02

1. 研究目的与意义

在计算机软件技术的发展过程中, 软件编程方式一直在不断的发展演化, 从当初的面向机器, 到面向过程和面向对象。在以往的过程化程序设计和面向对象编程技术中有些编程问题并不能很好地实现, 某些程序设计代码分散在系统各个模块中, 从而导致系统难以开发和维护。面向方面编程方法能很好地解决这个问题, 并提高模块的重用性。

面向方面编程(Aspect- Oriented Programming, AOP)是由Gregor Kiczales在1997年提出的一个全新的编程技术。AOP是一种软件构造方法,它将程序中的各种共性基础服务与程序要实现的业务逻辑解耦,以各种共性基础服务构成各个方面(Aspect)然后通过织入方式将共性基础服务插入到程序相应位置。AOP对软件的维护有着重要作用。

面向方法编程技术允许系统开发者在系统设计时 , 从核心功能性需求中分离出不同的关注,同时通过支持方面的组合和绑定来实现系统的集成。关注分离改进系统的设计, 开发者只需要实现单独的方面而不必过多地考虑其它方面和系统的核心组件。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 课题关键问题和重难点

本课题的关键问题在于:

1.界面设计要简洁明了,便于使用,符合大众的使用习惯。实现界面的友好性、针对性、合理性;

2.内容结构思路清晰合理,功能简洁,易于推广;

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 国内外研究现状(文献综述)

随着软件技术的不断发展,人们对软件体系架构有了许多新的要求,如适应性、可靠性、安全性、可用性和可维护性等。面向对象方法是软件体系架构上的一次重大变革,在传统的面向过程基础上,面向对象增强了软件抽象、模块封装和代码重用。面向对象程序设计能够有效地将功能实现分配到对象的基础单元类上,即能有效抽象到分离关注点的一个方向一类及其接口,但是在方法内部的执行序列上,面向对象与传统的过程式程序设计没有实质改变。如何在程序内部的执行序列实现分离,达到不同业务功能的代码松耦合的连接,成为软件体系结构及其应用的重要发展方向。代码缠结和代码分散就是执行序列分离需求的有效实例:代码纠缠指在实现某一功能的函数中加入很多其他的与核心功能无关的公共代码;代码分散是指在系统中处理权限验证和日志记录等公共行为的代码分散到了多个核心模块里。如果还使用面向对象或是结构化编程技术来解决这类问题,会造成业务代码和非功能需求代码强耦合,使得系统难以理解、实现和维护。

面向对象基础上发展起来的面向方面编程AOP(AspectOriented Programming)能通过剖解开封装对象的内部,在各方法和模块的链接处设置关注点,并插入横切关注代码,将影响多个类的行为封装到一个可重用的模块。这样既有利于减少系统的代码重复,又降低模块间的耦合度,有利于未来的可扩展性和可维护性。

AOP 程序通常包括组件和方面两部分。组件通常可以用现有的任何程序模块来描述,因此AOP的关键技术之一就在于方面描述模块的定义及其实现。完美的方面描述模块的定义及其实现应具有以下特性:1.方面描述模块应具有通用性。描述方面的模块不能只适用于特殊的关注,或者特殊的领域;2.方面描述模块应与现行程序模块具有兼容性。描述方面的模块应实现与某种现行程序模块的无缝连接,即用这种程序模块描述的方面和现有的程序模块能进行完美的结合,而不会产生对原有模块的修改,从而提高模块的可复用性;3.方面描述模块应具有可扩展性。方面描述模块应具有一定的语言要素,用户可以使用这些语言要素来定义方面模块,也可以按照一定的规则扩展语言要素。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 研究方案

AOP面向方面编程是由Gregor Kiczales在1997年提出的一个全新的编程技术,为开发者提供了一种描述横切关注点的机制,并能够自动地将这些横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化。本系统基于eclipse软件实现AOP基本原理的模拟,工作量适中,现有技术还不够成熟,利用现有技术完全实现系统开发目标稍有难度,代码简洁明了,便于维护更新。采用java语言作为主要开发语言,开发工具为eclipse,实现对程序段的织入操作并运行。本系统具有方便快捷等优势,使得需要编写的代码量大大缩减,节省了时间,控制了开发成本,内容合适,适合开发。

5. 工作计划

第1周:理解课题,查阅课题相关资料,列出开题报告大纲。

第2周:完成开题报告,并提交上传。

第3周:完成外文翻译。

剩余内容已隐藏,您需要先支付 1元 才能查看该篇文章全部内容!立即支付

以上是毕业论文开题报告,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。