DOI QR코드

DOI QR Code

Incremental Method for Developing Software Product Family

소프트웨어 제품 군을 개발하기 위한 점진적 방법

  • 주복규 (홍익대학교 전자전기컴퓨터공학부) ;
  • 김영철 (홍익대학교 전자전기컴퓨터공학부)
  • Published : 2003.08.01

Abstract

In a software product line approach, developers first develop common software architecture and components by analyzing the characteristics of all software members, and then produce each application by integrating components. The approach is considered very effective means for developing and maintaining in parallel a software product family. Main disadvantage of this approach is that it requires a big up-front investment in preparing product line. Therefore, it takes time to deliver the first version. In this paper, we present an incremental method to develop software families, which requires small additional cost for initial versions and allows an organization to move smoothly to full-scale product line. We present our method by explaining how to record and upgrade the results of variations analysis, and show the application of our method by developing a family of YBS. Our method is a low-risk approach that can be effectively applied to an organization that starts developing software systems but has to deliver the first versions quickly to the market.

소프트웨어 제품 군 개발 방법은 모든 멤버 시스템에 대한 공통점과 차이점들을 분석하여 표준 소프트웨어 구조와 컴포넌트들을 개발하여 생산라인을 갖추고, 제품 개발 조직에서 여러 버전을 병행하여 생산하고 관리하는 방법이다. 기존의 제품 군 방법은 성공하였을 경우에 경제적 이익은 크나, 초기 투자비가 매우 크다는 것과 첫 제품이 늦게 나온다는 것이 문제점으로 지적되고 있다. 이 논문에서 우리는 초기 비용을 적게 들이면서 궁극적으로 제품군 개발 방법을 조직에 적용할 수 있는 점진적 방법을 제안한다. 이 방법은 초기 버전을 개발할 때부터 변화 가능성에 관한 정보를 기록하여 차기 버전의 개발에 활용한다. 이 변화 분석의 결과는 본격 제품 군 개발로의 전환을 쉽게 해 준다. 변화 가능성을 기록하는 변경 사양서의 생성과 개선 기법을 중심으로 우리의 방법을 설명하고, YBS 시스템 개발을 예로 그 적용을 보인다. 우리가 제안한 방법은 초기에 많은 투자를 할 수 없거나 초기버전을 빨리 시장에 내 놓아야 하는 경우에 적용할 수 있는 저 위험 제품 군 개발 방법이다.

Keywords

References

  1. Mark A. Ardis, David A. Cuka, 'Defining Families-Com-monality Analysis,' Proceedings of 21st International Conference on Software Engineering, pp.671-672, May, 1999
  2. Joachim Bayer et al., 'PuLSE : A Methodology to Develop Software Product Lines,' Proceedings of the 5th symposium of software reusability(SSR 99), pp.122-131, May, 1999 https://doi.org/10.1145/303008.303063
  3. Yu Chye Cheong and Stanislaw Jarzabek, 'Frame-based method for customizing generic software architectures,' Proceedings of the 5th symposium on software reusability(SSR 99), pp.103-112, May, 1999 https://doi.org/10.1145/303008.303043
  4. Paul Clements and Linda Northrop, 'Software Product Lines : Practices and Patterns,' Addison-Wesley, 2002
  5. James Coplien, Daniel Hoffman and David Weiss, 'Commonality and Variability in Software Engineering,' IEEE Software, Vol.15, No.6, pp.37-45, November/December, 1998 https://doi.org/10.1109/52.730836
  6. Ari Jaaksi, 'Developing Mobile Browser in a Product Line,' IEEE Software, Vol.19, No.4, pp.73-80, July/August, 2002 https://doi.org/10.1109/MS.2002.1020290
  7. 이재준, 강교철, '프로덕트 라인 소프트웨어 개발 프로세스,' 정보과학회지, 제20권 제3호, pp.23-30, 2002
  8. K. C. Kang, J. Lee and P.Donohoe, 'Feature-Oriented Product Line Engineering,' IEEE Software, Vol.19, No.4, pp.58-65, July/August, 2002 https://doi.org/10.1109/MS.2002.1020288
  9. W. Lam, J. A. McDermid and A. J. Vickers, 'Ten Steps Toward Systematic Requirements Reuse,' Proceedings of the 3rd IEEE International Symposium on Requirements Engineering, pp.6-15, 1977
  10. Frank Linden, 'Software Product Families in Europe : The Escaps & Caf Projects,' IEEE Software, Vol.19, No.4, pp.41-49, July/August, 2002 https://doi.org/10.1109/MS.2002.1020286
  11. Randall R.Macala et al., 'Managing Domain-Specific, Product-Line Development,' IEEE Software, Vol.13, No.3, pp.57-67, May, 1996 https://doi.org/10.1109/52.493021
  12. John McGregor et al., 'Initiating Software Product Lines,' IEEE Software, Vol.18, No.4, pp.24-27, July/August, 2002 https://doi.org/10.1109/MS.2002.1020282
  13. John Mylopoulos et al., 'Exploring Alternatives during Rquirements Analysis,' IEEE Software, Vol.18, No.1, pp.92-96, January/February, 2001 https://doi.org/10.1109/52.903174
  14. Linda M. Northrop, 'SEI's Software Product Line Tenets,' IEEE Software, Vol.19, No.4, pp.32-40, July/August, 2002 https://doi.org/10.1109/MS.2002.1020285
  15. David L. Parnas, 'On the design and development of program families,' IEEE Trans. on Software Engineering SE-2, No.1, pp.1-9, March, 1976 https://doi.org/10.1109/TSE.1976.233797
  16. David L. Parnas, 'Designing software for ease of extension and contraction,' Proceedings on the 3rd international conference on Software Engineering, pp.264-277, May, 1978
  17. Klaus Schmid and Martin Verlage, 'The Economic Impact of Product Line Adoption and Evolution,' IEEE Software, Vol.19, No.4, pp.50-57, July/August, 2002 https://doi.org/10.1109/MS.2002.1020287
  18. Steffen Thiel and Andreas Hein, 'Modeling and Using Product Line Variability in Automotive Systems,' IEEE Software, Vol.19, No.4, pp.66-72, July/August, 2002 https://doi.org/10.1109/MS.2002.1020289
  19. Weiss, D. M, Software Product-Line Engineering, Adisson-Wesley, 1999