论文部分内容阅读
20世纪90年代后期出现了一种新兴编程技术--面向Aspect编程(Aspect-Oriented Programming,AOP),成为软件工程领域研究热点之一。随着AOP技术的日趋完善,迫切需要一种贯穿需求分析、设计、实现、测试等全过程的面向Aspect软件开发方法。由于当前缺乏一种普遍适用的需求建模方法,开发人员难以从较高抽象层次上对面向Aspect的软件系统进行需求建模。基于此,此文将从软件需求工程角度来研究面向Aspect需求分析的思想和方法。
通过对面向Aspect编程的核心思想和概念的分析,发现了编码阶段所存在的代码混乱和分散两种现象同样存在于需求分析过程中。这些现象是由于在需求分析过程中没能很好地分离横切关注点而导致的,而当分离横切关注点时,则会涉及到需求复合与冲突的问题,同时,采用何种需求模型也是分离横切关注点的关键。
因此,针对需求冲突和横切关注点识别问题,进行了以下研究,首先,给出了一种形式化方式的复合方法,采用基于XML的Aspect描述语言,将需求冲突问题看成关注点冲突问题来处理。其次,将面向Aspect用例驱动方法与AO-RDL关注点相结合,导出面向Aspect需求模型,分离横切关注点,提取出系统的Aspect。最后,在Eclipse平台下,通过与自然语言处理系统相结合的方式,设计和实现了一种面向Aspect需求分析环境,该分析环境能够有效地识别各种关注点,分离需求分析阶段早期的横切关注点,提取出Aspect。
通过实验比较,相对于传统的需求分析工具,给出了需求分析环境能够有效地识别出Aspect。对比于目前人工方式识别横切关注点的方法,此分析环境减少了时间消耗,提供了Aspect的识别能力。