DOI QR코드

DOI QR Code

Designing Software Architecture for Reusing Open Source Software

오픈 소스 소프트웨어 재사용을 위한 소프트웨어 아키텍처 설계

  • Choi, Yongseok (Department of Computer Science, Chungbuk National University) ;
  • Hong, Jang-Eui (Department of Computer Science, Chungbuk National University)
  • 최용석 (충북대학교 컴퓨터과학과) ;
  • 홍장의 (충북대학교 컴퓨터과학과)
  • Received : 2017.03.10
  • Accepted : 2017.04.20
  • Published : 2017.04.28

Abstract

Along with shortening the life cycle of software utilization and supporting various types of user functions, the importance of software architecture development has been emphasized recently. If a software architecture is developed flexibly and reliably for expansion to support new functionality, it can quickly cope with new market demands. This paper proposes an architecture design method based on design recovery of open source software to reuse the software in the development of sustainable software system. When using open source software to develop a software system based on software architecture, we can develop a software system rapidly and also can improve the reliability of the system because we use the already proven open source software in the development.

소프트웨어 활용의 수명주기가 단축되고, 다양한 형태의 사용자 기능을 지원하기 위하여 소프트웨어 아키텍처 개발의 중요성이 부각되고 있다. 소프트웨어 아키텍처가 새로운 기능을 갖도록 확장에 유연하고 안정적으로 개발된다면, 새로은 시장의 요구에 빠르게 대응할 수 있다. 본 연구에서는 새로운 기능 개발의 수명주기가 짧아지고 있고, 안정적인 소프트웨어 시스템 개발을 위하여 오픈 소스의 설계 복구를 통한 재사용을 고려하는 아키텍처 설계 기법을 제안한다. 소프트웨어 아키텍처를 기반으로 소프트웨어 시스템을 개발하기 위하여 오픈 소스를 사용하는 경우, 매우 신속한 개발이 가능해 질 뿐만 아니라, 이미 검증된 오픈 소스를 사용함으로써 개발 시스템에 대한 신뢰성도 증진시킬 수 있다.

Keywords

References

  1. R. Kapur, et al., Open Source Development: Ideal for application development and administrators, DB2 On Campus Book Series, IBM, July 2010.
  2. C. Kramer and L. Prechelt, "Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software," Proceedings of the Third Working Conference on Reverse Engineering, pp. 1-8, 1996. DOI: 10.1109/WCRE.1996.558905
  3. J. Niere, J. P. Wadsack and L. Wendehals, Design Pattern Recovery Based on Source Code Analysis with Fuzzy Logic, TR0RI-01-222, University of Paderborn, Germany, 2001.
  4. N. R. Carvalho, A. Simoes and J. Almeida, "DMOSS: Open Source SW Documentation Assessment," Computer Science and Information Systems, Vol. 11, No. 4, pp. 1191-1207, 2014. DOI: 10.2298/CSIS131005027C
  5. Find, "Create, and Publish Open Source Software for Free," https://sourceforge.net, 2017. 3.
  6. Gifhub, "How people build software," https://github.com, 2017. 2.
  7. E. Constantinou, G. Kakarontzas and I. Stameloos, "Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?," Proceeding of the 4th Workshop on Intelligent Techniques in Software Engineering, pp. 111-222, 2011
  8. L. Heinemann, F. Deissenboeck, M. Gleirscher, B. Hummel and M. Irlbeck "On the Extent and Nature of Software Reuse in Open Source Java Projects", Proceeding of the International Conference on Software Reuse 2011, Lecture Notes in Computer Science, Vol 6727. Springer, pp. 207-222, 2011. DOI: 10.1007/978-3-642-21347-2_16
  9. Doxygen, http://www.doxygen.org, 2017. 2.
  10. S. Mancoridis, B. S. Mitchell, Y. Chen and E. R. Gansner, "Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures," Proceeding of the International Conferencce on Software Maintenamce (ICSM'99), pp. 1-10, 1999.
  11. G. Rasool, P. Meader and I. Philippow, "Evaluation of design pattern recovery tools," Procedia Computer Science, Vol. 3, pp. 813-819, 2011 https://doi.org/10.1016/j.procs.2010.12.134
  12. Y. Cai, H. Wong, S. Wong and L. Wang. "Leveraging design rules to improve software architecture recovery," Proceeding of the International ACM Sigsoft Conference on the Quality of Software Architectures, pp. 133-142, 2013.
  13. H. Ryu and W. J. Lee, “A Study on UML based Modeling and Automatic Code Generation,” Journal of Convergence for Information Technology, Vol. 2, No. 1, pp. 33-40, 2012.
  14. J. S. Park, J. S. Kwon, J. E. Hong and M. Choi, “Software Architecture Recovery for Android Application Reuse,” Journal of Convergence Society for SMB, Vol. 3, No. 2, pp. 9-17, Jun. 2013.
  15. Y. Choi, D. Kim and J. E. Hong, "An Extraction Technique of Design Pattern for Enhancing Reusability and Extendibility of JAVA Open sources," Proceeding of the KIISE Conference on Software Engineering (KCSE 2017), Vol. 19, No. 1, pp. 203-210, 2017.
  16. R. Wojcik, F. Bachmann, L. Bass, P. Clements, P. Merson, R. Nord and B. Wood, Attribute-Driven Design (ADD), Version 2.0, CMU/SEI-2006-TR-023, SEI CMU, Nov. 2006.
  17. F. Bachmann, L. Bass and M. Klein, Deriving Architectural Tactics: A Step Toward Methodical Architectural Design, CMU/SEI-2003-TR-004, SEI CMU, Mar. 2003
  18. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad and M. Stal, Pattern-Oriented Software Architecture, Volumn 1: A System of Patterns, Wiley, 1996.
  19. E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
  20. Rachel Roumeliotis, 5 software development trends shaping enterprise, O'Reilly, Jan., 2017
  21. H. Cervantes, R. Kazman, Designing Software Architectures: A Practical Approach, Addison-Wesley, 2016.