系统工程方法原理与应用 - 范文中心

系统工程方法原理与应用

09/30

系统工程方法论 原理与应用

老师: 班级: 学号: 姓名:

一种新型软件设计方法AOP 的研究

一.摘要(整个研究报告对研究背景、问题的提出、结论等的简要描述)

用传统的方法( 如面向对象方法, 面向过程方法等) 设计和编写软件时, 有些设计方案只能通过散乱地分布在各个相关模块中加以实现。从而导致软件的开发过程变得复杂, 同时也使得代码变得难理解、难维护。面向方面编程技术是为较好地解决这一问题而提出的一种新技术。对面向方面编程技术的产生背景、发展过程、编程思想, 编程语言, 关键技术及其优点等方面作了综述的详细, 最后分析了面向方面编程技术的研究应用热点及它的发展前景。

本文主要问题为:一种新型软件设计方法AOP 的问题。

本文所提到的软件设计方法是一种新型的软件开发方法,在我们平时开发软件过程中,一个软件开发的方法好坏将在很大程度上决定这个软件的成功与失败。由此可见一种新型的好的软件开发对于我们开发软件是非常重要的。 二.提出问题(对题目中的问题范围特定中的主要子问题进行描述) 1. 问题-目标阐明列表:

2. 问题-目标树:

第一层子问题---子目标:

初始问题---初始目标

子问题P (2)---子目标TP (2):

子问题P (3)---子目标TP (3):

子问题P (4)---子目标TP (4):

三.解决问题的过程描述(将解决问题的过程——即对开发设计的、实现从子

问题导出的解决子问题等价目标的方案,以及实现从初始问题导出的解决初始问题等价目标的方案的过程进行详细描述) 1. 各子问题的指标目标:

P(1): 定义好新型软件设计方法AOP 的概念 P(2): 阐明清楚新型软件设计方法AOP 的基本技术

P(3): 解决新型软件设计方法AOP 在一个给定的编程模型中穿越既定的职责部

分的操作

P(4): 实现新型软件设计方法AOP 特定的目的

P(5): 阐明新型软件设计方法AOP 实现横切关注点的实体

2. 解决子问题等价目标的方案:

A .AOP 是最近兴起的一种编程思想,它能很好地解决一些OOP 及面向过

编程所不能解决的问题,是OOP 思想的有益补充。AOP 利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的行为封装到一个可重用模块,称为“Aspect ”,即方面,这样就有利于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

B .实现AOP 的技术,主要分为两大类:一是采用动态代理技术,利用截

取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

C .“横切”是AOP 的专有名词,是在一个给定的编程模型中穿越既定的职

责部分(比如日志记录和性能优化)的操作。它是一种蕴含强大力量的相对简单的设计和编程技术,尤其是用于建立松散耦合的、可扩展的企业系统时。使用“横切”技术,AOP 把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。

D .一个关注点(concern )就是一个特定的目的,一块我们感兴趣的区域,

一段我们需要的逻辑行为。在AOP 中,我们将那些具有公共逻辑的,与其他模块的核心逻辑纠缠在一起的行为称为“横切关注点”,因为它跨越了给定编程模型中的典型职责界限。

E .方面是实现横切关注点的实体,就像OOP 中能完成独立功能的组件。

方面定义切入点和通知(advice ),并由方面编译器来编译,以便将横切织入到现有的对象中,然后织入器则使用这些信息来构建最终系统。

3. 解决问题等价目标方案:

AOP 为开发者提供了一种描述横切关注点的机制,并能够自动将横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化。通过划分AspectJ 代码,横切关注点变得容易处理. 开发者可以在编译时更改,插入或除去系统的Aspect ,甚至重用系统的Aspect 。用AOP 实现的软件模块化程度更高,软件可重用性更好; 它弥补了OOP 的不足、尤为突出的是,用AOP 实现的软件可扩展,易更新。

四.结束语(对已解决的问题进行结论详细描述,以及对题目中尚未解决,以及尚待进行研究的问题进行描述)

1. 已解决问题结论:

A .由于AOP 的出现就是为解决横切关注点问题,因此,使用AOP 首先带

来的好处就是可以模块化横切关注点的实现,由此也使得代码有良好的可重用性。

B .使用AOP 可以解决代码混乱和代码分散问题,这使得采用AOP 实现的

系统代码冗余小,也易于理解和维护。

C .由于方面模块根本不知道横切关注点,所以很容易通过建立新的方面加

入新的功能。另外当你往系统中加入新的模块时,已有的方面自动横切进来,使系统易于扩展。

2. 未解决问题与尚待研究的问题:

A .AOP 是一种新的编程技术,没有完整的文档,没有得到良好的测试和大

量的实际项目的应用,作为一种新技术, 还需要在实际工作中得到更多的检验。

B .目前,AOP 在开发工具上还很缺乏,目前主要是基于JA V A 上的AspectJ ,

而基于C#和.NET 以及其他语言上的开发工具都尚在研究中。关于什么是AOP 分析、设计过程,设计和分解方面的基本原则,如何调试,什么是良好的方面模块等都有待进一步研究。

C .AOP 的理论支持方面也有待进一步研究。如用什么理论能最好地描述方

面与组件之间的交互等。

D .破坏了封装性。 等等…


相关内容

  • 华北电力大学电子技术基础二考纲
    华北电力大学(保定) 2015年硕士研究生入学考试初试学校自命题科目考试大纲 (招生代码:10079) <820 信号与系统> 一.考试内容范围: 1. 信号与系统的基础知识 (1)信号的概念.描述及分类: (2)信号的基本运算 ...
  • [人工智能导论]教学大纲
    <人工智能导论>教学大纲 大纲说明 课程代码:3235042 总学时:32学时(讲课32学时) 总学分:2学分 课程类别:限制性选修 适用专业:计算机科学与技术,以及有关专业 预修要求:C程序设计语言,数据结构 课程的性质.目的 ...
  • 16维修电工技能训练27周
    维修电工技能训练 课程标准 适用范围:中职起点两年制高级电气自动化设备安装与维修专业 (维修电工方向) 编制:自动化系 审核: 批准: 维修电工技能训练 说 明 1.课程性质和内容 维修电工技能训练是技师学院电气自动化设备安装与维修专业培养 ...
  • 专业课考试科目
    北京工业大学 421自动控制原理 复试:1.电子技术2.计算机原理 北京航空航天大学 [双控]432控制理论综合或433控制工程综合 [检测]433控制工程综合或436检测技术综合 [系统]431自动控制原理或451材料力学或841概率与数 ...
  • 电气工程及自动化专业考研学校科目
    电气工程及自动化专业考研学校科目 2008年03月21日 星期五 20:29 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程 ...
  • 发明问题解决理论
    发明问题解决理论:TRIZ ---TRIZ 过程.工具及发展趋势 檀润华 王庆禹 苑彩云 段国林 [摘要]:介绍TRIZ 解决发明问题的过程及物质 -场分析.标准解.冲突及其描述.冲突解决原理.ARIZ 算法等主要工具.提出建立物质 -场分 ...
  • 微电子科学与工程专业
    微电子科学与工程专业一.培养目标本专业培养德.智.体等方面全面发展,具备微电子科学与工程专业扎实的自然科学基础.系统的专业 知识和较强的实验技能与工程实践能力,能在微电子科学技术领域从事研究.开发.制造和管理等方面工作 的专门人才.二.专业 ...
  • 作业成本法的历史发展及基本原理(陈婉秋)-副本(3)
    毕业设计(论文) 作业成本法的历史发展和基本原理 院 别 专业名称 班级学号 学生姓名 指导教师 经贸学院 会计学 1090220 陈婉秋 张亚辉 2012年6月15日 作业成本法的历史发展和基本原理 摘 要 本文介绍了作业成本法的含义.产 ...
  • 面向应用型人才培养的网络工程专业课程体系探索与实践
    文章编号:1672-5913(2009)19-0134-06 面向应用型人才培养的网络工程专业课程体系探索与实践 郭广军1,羊四清1,戴经国1,龚德良2 (1.湖南人文科技学院 计算机科学技术系,湖南 娄底 417000:2.湘南学院 计算 ...
  • [新能源汽车]课程实施性教学大纲
    15级<新能源汽车>课程实施性教学大纲 制定人: 日期: 审核人: 日期: 批准人: 日期: 一.说 明 1. 课程的性质和内容 <新能源汽车>通过本课程的教学,使学生掌握新能源汽车的分类.基 结构.组成和原理,,并 ...