DOI QR코드

DOI QR Code

A Technical Assessment of Software Product Line Methodologies

소프트웨어 제품 계열 방법론의 기술적 평가

  • 박신영 (숭실대학교 대학원 컴퓨터학과) ;
  • 김수동 (숭실대학교 컴퓨터학부)
  • Published : 2006.02.01

Abstract

Product Line Engineering(PLE) is an effective software development technique which produces applications using core assets. Because of reusing the core assets, PLE can save cost for developing products in a domain but increase reusability. There are about ten PLE methodologies available, but there are not yet common agreements on PLE process and artifacts. This makes developers harder to choose a methodology and to apply it in practice. A comprehensive technical evaluation and comparison on existing PLE methodologies would be essential for practitioners. In this paper, we present a technical assessment of representative PLE methodologies; FAST, SEI SPL, PuLSE, Bosch's PL proceis, FOPLE, ESAPS, KobrA/PoLITe, Alexandria, COPA, QADA. They are compared in the criteria of process, artifacts, instructions, and special features. And we identify common or variable elements between methodologies and confirm elements to be improved in each PLE methodology. The assessment result would be well utilized in defining a practical methodology for PLE projects and in choosing an appropriate methodology among available ones.

제품 계열 공학(Product Line Engineering, PLE)은 도메인에서 멤버들이 갖는 공통 휘처를 재사용 가능한 핵심 자산으로 만들고, 만들어진 핵심 자산을 이용해서 애플리케이션을 개발하는 방법론이다. PLE는 핵심 자산을 개발해서 재사용하므로, 개발비용을 감소시키며 자산의 재사용성을 증가시킬 수 있다. 지금까지 여러 개의 PLE 방법론이 소개되었으나, 표준화된 PLE 방법론이 존재하지 않기 때문에, 방법론이 제시하는 프로세스나 산출물 등에서 차이가 크며, 산업계에서는 PLE 방법론을 채택하는데 어려움이 있다. 이에 프로세스의 선택과 효율적인 활용을 위해서 기존의 여러 방법론을 비교 분석하는 작업이 요구된다. 본 논문에서는 FAST, SEI SPL, PuLSE, Bosch의 제품 계열 프로세스, FOPLE, ESAPS, KobrA/PoLITe, Alexandria COPA, QADA 방법론 등 대표적인 PLE 방법론을 프로세스, 산출물, 적용 지침 측면 별로 비교 기준을 나누고, 비교 기준에 따라서 비교 평가를 수행한다. 또한 방법론간 공통성이 큰 항목과 적은 항목을 확인해서, PLE 방법론이 포함해야 하는 요소와 각 방법론이 개선해야 하는 사항을 확인한다. 본 논문은 적절한 프로세스를 선택 또는 재정의하는 과정에서 활용할 수 있을 뿐만 아니라, 향후 PLE 개발 방범론의 표준을 정의하는 과정에서 기반이 될 수 있을 것이다.

Keywords

References

  1. Matinlassi, M., 'Comparison of Software Product Line Design Methods: COPA, FAST, FORM, KobrA and QADA,' icse, 5, pp.127-136, 2004
  2. Vehkomaki, T. Kansala, K., 'A Comparison of Software Product Family Process Frameworks,' LNCS 1951, pp. 135-145, 2000
  3. Weiss, D. et al., Software Product-Line Engineering, Addison-Wesley, 1999
  4. Clements, P. and Northrop, L., Software Product Lines: Practices and Patterns, Addison Wesley, Aug., 2001
  5. Bayer, J. et al., 'PuLSE: A Methodology to Develop Software Product Lines,' Proceeding of Symposium on Software Reusability '99, May, 1999 https://doi.org/10.1145/303008.303063
  6. Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wust, J. and Zettel, J., Component-Based Product Line Engineering with UML, Addison Wesley, 2002
  7. Jan, B., Design and use of software architectures, Addson-Wesley, 2000
  8. 이재준, 강교철, '프로덕트 라인 소프트웨어 개발 프로세스,' 정보과학회지, Vol.20, No.3, pp.23-30, 3, 2002
  9. Streitferdt, D. et al., 'Details of Formalized Relations in Feature Models Using OCL,' Engineering of Computer-Based Systems, 2003. Proceedings. 10th IEEE International Conference and Workshop on the, 7-10 April, 2003 https://doi.org/10.1109/ECBS.2003.1194811
  10. Jaejoon L., Kyo K., and Sagoong K., 'A Feature-Based Approach to Product Line Production Planning,' SPLC2004, LNCS3154, pp.183-196, 2004
  11. Knauber, P., and Succi, G., 'Perspective on Software Product Lines, ' Workshop #15 at 22nd ICSE
  12. ITEA, Web Site for ESAPS, at URL: http://www.esi.es/en/Projects/esaps/esaps.html
  13. Philips Research, 'COPA-A Component-Oriented Platform Architecting Method for Families of Software-Intensive Electronic Products,' Presentation Material (in PowerPoint/PDF), SPLC, 2000
  14. Matinlassi, M., Niemela, E., and Dobrica, L., 'Quality-driven architecture design and quality analysis method: A revolutionary initiation approach to a product line architecture,' VTT Technical Research Center of Finland, ESPOO2002, 2002
  15. Kettemann, S., Muthig, D., and Anastasopoulos, M., Product Line Implementation Technologies: Component Technology View, Technical Report, No. 015.03/E, IESE, March, 2003
  16. ILMENAU, Web Site for Alexandria, at URL : http://www.theoinf.tu-ilmenau.de/-ricbisch/pld/indcx.html
  17. ESS, Web Site, at URL: http://www.ess.co.at/ECOSIM/development.html
  18. Bosch, F., 'Evaluation of Sofware Development Life Cycle Methodology Implementation,' ACM'SIGSOFT, SOFTWARE ENGINEERING NOTES, Vol.7 No.1, pp.45, Jan, 1982 https://doi.org/10.1145/1010809.1010816