计算机科学 ›› 2009, Vol. 36 ›› Issue (7): 120-123.doi: 10.11896/j.issn.1002-137X.2009.07.028

• 软件工程与数据库技术 • 上一篇    下一篇

基于OOP和AOP的软件产品线实现技术研究

祝家意,彭鑫,赵文耘   

  1. (复旦大学计算机科学技术学院 上海200433)
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受国家863计划(2007SS01Z126),国家自然科学基金(60703092}资助。

Combining Object-oriented Programming and Aspect-oriented Programming for Software Product Line Implementation

ZHU Jia-yi,PENG Xin,ZHAO Wen-yun   

  • Online:2018-11-16 Published:2018-11-16

摘要: 作为目前最为主流的软件开发技术,面向对象的编程OOP(Object Oriented Programming)对于软件产品线可变性的实现提供了一定的支持。但OOP对于具有横切特性的产品线特征以及可选的特征交互关系仍然难以提供灵活、有效的支持,因此一些相关研究者将面向方面的编程AOP(Aspcct-Oricntcd Programming)引入到产品线实现方法中。AOP不仅能分离横切的关注点,而且还通过依赖关系分离的方式为可选交互关系的灵活配置提供了有力的支持。显然,结合OOP和AOP这两种技术实现的产品线系统将具有更高的可复用性、灵活性和可配置性。在相关问题分析的基础上对基于OOP和AOP的产品线实现技术进行了研究,并通过一个酬金发放系统产品线的实例分析对相关方法进行了验证和分析。

关键词: 软件产品线,可变性,实现,面向对象编程,面向方面编程

Abstract: As one of the most popular software development technology,OOP(Object oriented Programming) does provide certain mechanisms for the implementation of software product line variabilities. However, OOP does not support crosscutting features and optional feature interactions well. Therefore, some researchers introduced AOP(Aspect oriented Programming) to the implementation of software product line. AOP can not only separate crosscutting concerns, but also provide flexible supports for configuration of optional feature interactions through separation of dependencies.Therefore,combining OOP and AOP in product line implementation can greatly promote the rcusability,adaptability,and configurability of product line assets. This paper explored the OOP and AOP combined implementation method for software product line on the analysis of related problems,and then presented a case study on a reward offering software product line for validation with related analysis and discussion.

Key words: Software product line, Variability, Implementation, OOP, AOP

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!