面向方面需求工程领域概述
1. 引言
需求工程(RE)涵盖了与软件需求信息的获取和分析相关的活动。在需求获取过程中执行的每个子活动(或任务)都会生成一个包含所有软件需求文本描述的文档。随后对该文档进行分析,并将需求构建成独立的单元,如视图、目标、用例、场景等,以促进关注点分离(SoC)原则的实现,即识别和模块化与特定目的相关的软件部分。
在RE的背景下,“关注点”可以理解为针对特定目的的一组或多组软件需求。例如,安全关注点可能包含与“确保软件安全”这一目标相关的多个需求。
在理想的软件开发场景中,每个关注点应分配到特定的模块中以实现其目标,此时软件被称为模块化良好,因为所有关注点都清晰分离。然而,有些类型的关注点仅使用传统软件工程抽象(如视图、目标、用例、场景等)无法进行这种分配,这些关注点被称为“横切关注点”或“早期方面”,定义为分散并交织在其他需求中的软件需求。常见的横切关注点包括持久性、安全性、缓存和同步等。横切关注点的存在可能导致模块化不足,增加软件维护和演进的难度。
面向方面需求工程(AORE)是一个研究领域,旨在为横切关注点的识别、模块化和组合提供最合适的策略。在AORE的背景下,一个关注点封装了利益相关者指定的一个或多个需求,而横切关注点是其需求跨越其他软件关注点需求的关注点。例如,安全关注点可能包含与“加密”和“检查访问权限”相关的需求,并且这组安全需求可能会影响其他软件需求,如向客户发送注册信息的需求,因此安全关注点被称为“横切关注点”。
最近提出了几种AORE方法,尽管它们具有不同的特点、优势和局限性。然而,文献中很少有研究描述:(i)关于该主题的研究数量;(ii)这些研究的地点和时间;(iii)研究人员探索的主要AOR
超级会员免费看
订阅专栏 解锁全文
3417

被折叠的 条评论
为什么被折叠?



