DOI QR코드

DOI QR Code

Enabling reuse driven software development : lessons learned from embedded software industry practice

재사용 기반의 소프트웨어 개발 체계 구축 : 내장형 소프트웨어 영역의 기업 사례


Abstract

This paper presents industry feedback and a case of improvement trial on enabling reuse driven software development which is one of several activities to improve software quality and productivity in a company which develops software that are embedded into consumer electronic products. Several case studies will be introduced that are related to software reuse strategies and practices to show how to establish environment for reuse basis in a company, how to apply it to development team and project and how to improve that through trials and errors. To enable reuse-oriented software development in a huge company, integrated and focused approach is needed among technical, management and environmental point of view. We tried to solve that problem in technical field with reuse method, in management filed with reuse metric and in environment field with reuse repository. The characteristics of our software development environment could be summarized as below. The first, embedded software which would not independent to hardware devices and the second, it is very huge company which develops extremely various products by many different organization with different domain characteristics and the third, development lead time is extremely short and many variation models are stems from basic models. We expect that our study would give contribution to industry struggling to solve similar problem for presenting our experience and could be a reference model for enabling software reuse in a real world practically.

본 논문은 CE(Consumer Electronics) 제품을 개발하는 기업에서 소프트웨어 재사용의 향상을 위하여 기업 내에서 추진한 여러 사례들을 기반으로 소프트웨어 재사용에 대한 기반을 구축하고, 이를 개발 조직에 적용하면서 발생한 문제점의 도출과 개선점의 반영에 대해 논한다. 기업내에서의 재사용 기반을 구축하기 위해서는 기술적, 관리적, 개발환경의 측면이 모두 고려된 종합적인 접근 방법이 필요하다. 본 논문에서는 기술적 측면에서 개발 방법론을, 관리적 측면에서 재사용 메트릭을, 그리고 개발환경의 측면에서 재사용 저장소를 개발하고 운영한 사례를 논하며, 각각을 적용하면서 발생한 문제점을 분석하여 기업에서 보다 효과적인 재사용 기반을 구축하는 개선사례를 제시한다. 본 논문에서 다루는 재사용 활동의 대상은 개발대상 측면에서 내장 소프트웨어라는 특성, 조직적 측면에서 다앙한 제품을 다루는 수십 개의 각기 다른 개발영역과 조직구조를 가진 대규모 조직이라는 특성, 그리고 제품 개발 주기가 매우 짧으며 동일 제품에 대한 파생 제품이 동시에 다량으로 개발된다는 개발 환경의 특성에 기반하고 있다. 본 논문은 상기 분야에 대한 소프트웨어 재사용 현황에 대한 보고서로, 또한 이로부터 기업 내 재사용 기반을 개선하는 사례와 그 방안을 제시한다는 측면에서의 활용도가 있겠다.

Keywords

References

  1. Ir.P.N. Wouters, 'Components in Embedded Software', Component technology, p.23, Jan., 1999
  2. Carma McClure. 'Software Reuse Techniques', Prentice Hall, 1997
  3. Kangtae kim, Taesik kim, 'Reinforcing the S/W development competence by the SCRM(Samsung's S/W Competence Reinforcement Model)', Proceeding of SERA 05, IEEE, 2005
  4. Ivar Jacobson, 'Software reuse: Architecture, Process and Organization for Business Success, Addison-Wesley, 1997
  5. William B. Frakes, Kyo Kang, 'Software Reuse Research : Status and Future', IEEE Transaction on Software Engineering, Vol.31, No.7, July, 2005 https://doi.org/10.1109/TSE.2005.85
  6. L. Bass, P. Clements, R. Kazman, 'Software Architecture in Practice', second ed. Addison-Wesley, 2003
  7. C. Szyperski, D. Gruntz, S. Murer, 'Component Software: Beyond Object-Oriented Programming', second ed. Addison-Wesley, 2002
  8. P. Clements, L. Northrop, 'Software Product Lines: Practices and Patterns', Addison-Wesley, 2002
  9. D.M. Weiss, C.T.R Lai, 'Software Product-Line Engineering: A Family-Based Software Development Process', Addison-Wesley, 1999
  10. I-Ling Yen; Jayabharath Goluguri; Farokh Bastani; Latifur Khan, 'A component-based approach for Embedded Software Development', Object-Oriented Real-Time Distributed Computing 2002(ISORC 2002) Proceedings, pp.402-410, April, 2002 https://doi.org/10.1109/ISORC.2002.1003805
  11. A. Mili, R. Mili, R. Mittermeir, 'Storing and retrieving software components: A refinement based system,' Proc. Intl. Conf. Software Engineering, pp.91-100, May, 1994
  12. Moormann-Zaremski, J,M. Wing, 'Specification matching of software components,' ACM Trans. Software Engineering and Methodology, Vol.6, No.4, pp.333-369, 1997 https://doi.org/10.1145/261640.261641
  13. Luqi and J., Guo, 'Toward automated retrieval for a software component respository', Proc. IEEE Conf. And Workshop on Engineering of Computer-Based Systems, March, 1999 https://doi.org/10.1109/ECBS.1999.755867
  14. E. Ostertag, J., Hendler, R. PrietoDiaz, and C. Braun, 'Computing Similarity in a Reuse Library System: an AI-based Approach', ACM Transactions on Software Engineering and Methodology, Vol.1, No.3, pp.205-228, July, 1992 https://doi.org/10.1145/131736.131739
  15. Q. Tran and J. Chung, 'NFR-Assistant: Tool support for achieving quality,' IEEE Symp, Application-Specific Systems and Software Engineering and Technology, Texas, pp.284-289, March, 1999 https://doi.org/10.1109/ASSET.1999.756782
  16. R.A. Steigerwald, 'Reusable component retrieval for realtime applications,' Proc. IEEE Workshop on Real-Time Applications, pp.118-120, May, 1993 https://doi.org/10.1109/RTA.1993.263104
  17. Cordeiro Pires Mascena J,C., Santana de Almeida, E.; de Lemos Meira S.R., 'A comparative study on software reuse metrics and economic models from a traceability perspective', Proceeding of IRI2005(IEEE International Conference on Information Reuse and Integration), pp.72-77, August, 2005 https://doi.org/10.1109/IRI-05.2005.1506452
  18. W. Frakes, C. Terry, 'Software Reuse: Metrics and Models', ACM Computing Surveys, Vol.28, pp.415-435, 1996 https://doi.org/10.1145/234528.234531
  19. J. Favaro, K. Favaro, P. Favaro, 'Value Based Software Reuse Investment,' Annals of Software Eng. Vol.5, pp.5-52, 1998 https://doi.org/10.1023/A:1018976424679
  20. W. Lim, Managing Software Reuse, 'A Comprehensive Guide to Strategically Reengineering the Organization for Reusable Components', Prentice Hall, July, 1998
  21. J,S. Poulin, 'Measuring Software Reuse: Principles, Practices, and Economic Models', Addison-Wesley, 1997