컴포넌트 기반 소프트웨어 개발을 지원하는 소프트웨어 아키텍처 뷰 모델

(The View Model of Software Architecture for Component Based Software Development)

  • 박준석 (부산대학교 컴퓨터공학과) ;
  • 문미경 (부산대학교 컴퓨터공학과) ;
  • 염근혁 (부산대학교 컴퓨터공학과)
  • 발행 : 2003.06.01

초록

컴포넌트 기반 소프트웨어 개발 방법은 새로운 패러다임으로 인식되고, 활발한 연구가 진행되고 있다. 그러나 컴포넌트 기반 개발에서 컴포넌트의 재사용성과 효율적인 소프트웨어 개발을 보장하기 위해서는 소프트웨어 아키텍처를 기반으로 한 개발이 필요하다. 본 논문에서는 컴포넌트 기반 소프트웨어 개발을 지원하기 위해, Kruchten이 제시한 4+1 뷰 모델을 기반으로 재 정의한 컴포넌트 기반 4+1 소프트웨어 아키텍처 뷰 모델을 제안한다. 또한 뷰 모델의 요소와 UML을 이용한 뷰 모델 요소의 표현을 제시한다 이 아키텍처는 컴포넌트의 사용문맥을 각 뷰에 반영함으로써 소프트웨어에 대한 이해와, 컴포넌트의 상호 작용에 대한 정보 등 컴포넌트 기반 소프트웨어 구성에 대한 틀을 구성한다.

Component Based Software Development has been recognized as a new software development paradigm, and received much attention among researchers. However, it requires software architecture based development to assure component reusability and efficient software development. This paper proposes the Component Based 4+1 View Model of software architecture to support component based software development. It is redefined on the basis of the existing 4+1 view model of software architecture developed by Kruchten. Also, we describe the elements of the view model in detail with UML. This architecture constructs the foundation of component based software such as increasing the understanding of software and providing the information about how the components interact with each other. It can be done by exposing the context for the use of software components to each views.

키워드

참고문헌

  1. O. C, Kwon, S. J., Yoon, and G. S., Shin, 'Component-Based Development Environment: An Integrated Model of Object-Oriented Techniques and Other Technologies', International Workshop on Component-Based Software Engineering, pp. 47-53, 1999
  2. SEI in Carnegie Mellon University, 'Component-Based Software Development/COTSIntegration', http://www.sei.cmu.edu/str/descriptions/cbsd_body.html
  3. 하현주, 문미경, 염근혁, '컴포넌트 기반 소프트웨어 개발을 위한 도메인 분석 및 설계 방법', 한국정보과학회 논문지(소프트웨어 및 응용),제 28권, 제10호, pp. 743-756, 2001
  4. OMG, 'Unified Modeling Language(UML), Version 1.4', http://www.omg.org
  5. D.E., Perry, and A. L, Wolf, 'Foundations for the Study of Software Architecture, ACM Software Engineering Notes', OCT, pp. 40-52, 1992
  6. SEI in Carnegie Mellon University, 'How Do You Define Software Architecture', http://www.sei.cmu.edu/architecture/definitions.html
  7. L., Bass, P., Clements, and R., Kazman, 'Software Architecture in Practice', Addison-Wesley, 1998
  8. The Architecture Working Group, 'IEEE Recommended practice for architectural description of software-intensive systems', IEEE Std 1471-2000, pp. 1-23, 2000
  9. J., Chen, 'Architecture for Systematic Development of Mechatronics Software Systems', Licentiate Thesis, Royal Institute of Technology, Sweden, ISSN 1400-1179, ISRN KTH/MMK-01/06-SE
  10. P., Kruchten, 'The 4+1 View Model of Architecture', IEEE Software, Volume:12 Issued, Nov, pp. 42-50, 1995 https://doi.org/10.1109/52.469759
  11. D., Soni, R., Nord, and C, Hofmeister, 'Software Architecture in Industrial Applications', Proceedings of the 17th international conference on software engineering, pp. 196-207, 1995 https://doi.org/10.1145/225014.225033
  12. M., J. Davist, and R., B. Williams, 'Software Architecture Characterization', Proceedings of the 1997 symposium on software reusability, pp. 30-38, 1997 https://doi.org/10.1145/258368.258380
  13. M., Jung, and E., W. Biersack, 'A Component Based Architecture For Software Communication Systems', Proceedings of Seventh IEEE International Conference and Workshop on the Engineering of Computer Based Systems, pp. 36-44, 2000 https://doi.org/10.1109/ECBS.2000.839859
  14. H., Mili, A, Mili, S., Yacoub, and E., Addy, 'Organizations, Components, and Metrics: Foundations for an Engineering Discipline of Software Reuse', Software Reuse Technologies: 21. Component Based Software Development, http://www.info.uqam.ca/~mili/Enseignement/MIG8500 - s00/book-outline.html
  15. M., Shaw, 'Large Scale Systems Require Higher-Level Abstraction', Proceedings of Fifth International Workshop on Software Specification and Design, IEEE Computer Society, pp. 143-146, 1989 https://doi.org/10.1145/75199.75222
  16. B., Frank, R., Meunier, H., Rohnert, P., Sommerlad, and M., Stal, 'Pattern-Oriented Software Architecture A System of Patterns', John Wiley & Sons, 1996
  17. A., Cockburn, 'Writing Effective Use Cases', Addison-Wesley, 2000
  18. G., Booch, J., Rumbaugh, and I., Jacobson, 'The Unified Modeling Language User Guide', Addison-Wesley, 1998
  19. J., Han, 'A Comprehensive Interface Definition Framework for Software Components', In proceedings of the Asia-Pacific Software engineering Conference, pp. 102-111, 1998 https://doi.org/10.1109/APSEC.1998.733601
  20. Bredemeyer Consulting, 'Action Guides for the Enterprise Architect', http://www.bredemeyer.com
  21. M., Shaw, 'Truth vs Knowledge: The Difference Between What a Component Does and What We Know It Does', Proceedings of the 8th International Workshop on Software Specification and Design, pp. 181-185, 1996 https://doi.org/10.1109/IWSSD.1996.501165
  22. K., Wallnau, and J., Stafford, 'Ensembles: Abstractions for A New Class of Design Problem', In Proceedings of the IEEE 27th Euromicro Conference, pp. 48-55, 2001 https://doi.org/10.1109/EURMIC.2001.952437
  23. R., Allen, and D., Garlan, 'Beyond Definition/Use: Architectural Interconnection', Proceedings of ACM Workshop on Interface Definition Languages, pp. 35-45, 1994 https://doi.org/10.1145/185084.185101