DOI QR코드

DOI QR Code

문제틀과 아키텍처 패턴의 매칭을 이용한 소프트웨어 아키텍처 설계 방법

A Software Architecture Design Method that Matches Problem Frames and Architectural Patterns

  • 투고 : 2014.09.25
  • 심사 : 2014.12.10
  • 발행 : 2015.03.15

초록

패턴은 소프트웨어 개발에서 얻은 경험을 구조화한 것으로 문제해결에 이용되는 반면, 문제틀은 소프트웨어 문제를 분석하는 방법이다. 문제틀은 해법이라기 보다는 문제 도메인에 중점을 두고 있기 때문에 문제를 이해하는데 유용하다. 문제틀과 소프트웨어 아키텍처를 연결하는 기존 연구들은 주어진 문제를 이해하는데 치중하여 문제틀을 이용할 뿐 문제틀과 품질속성 모두를 고려하면서 아키텍처 패턴을 도출하고 있지 않다. 본 논문에서는 문제틀과 아키텍처 패턴의 매칭을 통한 소프트웨어 패턴 기반 아키텍처 설계 방법을 제안한다. 먼저, 문제틀 방법에 따라 문제 모델을 개발한 후 기능 및 품질속성 관점에서 문제 모델을 아키텍처 패턴 후보와 매칭한다. 논문은 기능 매칭을 위해서는 문제틀 다이어그램을 이용한 아키텍처 패턴의 문제 모델을, 품질속성을 고려하기 위해서는 새로운 분석 템플릿을 사용하여 아키텍처를 설계하는 방법을 제안한다. 또한, 사례연구를 통해 제안한 방법이 올바른 아키텍처 패턴을 결정하는 체계적인 프로세스이며 잘 정제된 소프트웨어 아키텍처 설계를 위한 기초가 됨을 보인다.

While architectural patterns provide software development solutions by providing schemas for structural organizations of software systems based on empirical knowledge, Jackson's problem frames provide a method of analyzing software problems. Problem frames are useful to understanding the software development problem, by putting emphasis on the problem domain, rather than on the solution space. Research exists that relates problem frames and software architecture, but most of this research uses problem frames only to understand given problems. Moreover, none of the existing research derives architectural patterns by considering both problem frames and quality attributes. In this paper, we propose a software architecture design method for pattern-based architecture design, by matching problem frames and architectural patterns. To that end, our approach first develops the problem model based on the problem frames approach, and then uses it to match with candidate architectural patterns, from the perspectives of both functionality, and quality attributes. Functional matching uses the problem frame diagram to match the problem model of an architectural pattern. We conduct a case study to show that our approach can systematically decide the right architectural patterns, and provide a basis for fine-grained software architecture design.

키워드

과제정보

연구 과제 주관 기관 : 한국연구재단

참고문헌

  1. D. Garlan and M. Shaw, "An Introduction to Software Architecture," CMU Software Engineering Institute Technical Report, CMU/SEI-94-TR-21, ESC-TR-94-21, 1994.
  2. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-Wesley Professional, 2003.
  3. B. Nuseibeh, "Weaving Together Requirements and Architectures," IEEE Computer Society, Vol. 34, No. 3, pp. 115-119, 2001.
  4. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software Architecture: A System of Patterns, John Wiley & Sons, 1996.
  5. M. Jackson, Software Requirements & Specifications: a Lexicon of Practic; Principles and Prejudices, Addison-Wesley, 1995.
  6. M. Jackson, Problem Frames: Analyzing and Structuring Software Development Problems, Addison-Wesley, 2001.
  7. M. Jackson, R.C. Laney, B. Nuseibeh, and L. Rapanotti, "Relating Software Requirements and Architectures using Problem Frame," Proc. of IEEE Joint International Conference on Requirements Engineering 2002, pp. 137-144, 2002.
  8. L. Lavazza and V.D. Bianco, "Combining Problem Frames and UML in the Description of Software Requirements," Proc. of the 9th international conference on Fundamental Approaches to Software Engineering (FASE'06), pp. 199-213, 2006.
  9. M. Lencastre, J. Araujo, A. Moreira, and J. Castro, "Analyzing Crosscutting in the Problem Frames Approach," Proc. of the 2006 International Workshop on Advances and Applications of Problem Frames (IWAAPF '06), pp. 59-64, 2006.
  10. C. Choppy, D. Hatebur, and M. Heisel, "Architectural patterns for problem frames," Software IEE Proceedings, Vol. 152, No. 4, pp. 198-208, 2005.
  11. S. Chosh, E. Song, and D.K. Kim, "A Metamodeling Approach to Pattern-based Model Refactoring," IEEE Computer Society, pp. 52-58, 2003.
  12. D.K. Kim and C.E. Khawand, "An Approach to Precisely Specifying the Problem Domain of Design Pattern," Journal of Visual Languages & Computing, Vol. 18, No. 6, pp. 560-591, 2007. https://doi.org/10.1016/j.jvlc.2007.02.009
  13. D.K. Kim, "Software Quality Improvement via Pattern-Based Model Refactoring," Proc. of the 11th High Assurance Systems Engineering Symposium (HASE) 2008, Nanjing, pp. 293-302, 2008.
  14. C. Choppy, M. Heisel, "Use of Patterns in Formal Development Systematic Transition from Problem to Architectural Designs," Proc. of the 16th International Workshop WADT 2002, Frauenchiemsee, Germany, Revised Selected Papers, pp. 201-215, 2003.
  15. C. Choppy, D. Hatebur, and M. Heisel, "Systematic Architectural Design Based on Problem Patterns," Relating Software Requirements and Architectures, Springer-Verlag Berlin Heidelberg, pp. 133-159, 2011.
  16. N. Harrison and P. Avgeriou, "Leveraging Architecture Patterns to Satisfy Quality Attributes," Proc. of the 1st European Conference on Software Architecture, Madrid, Springer LNCS, pp. 263-270, 2007.
  17. F. Bachmann, L. Bass, M. Klein, and C. Shelton, "Designing Software Architectures to Achieve Quality Attribute Requirements," Software IEE Proceedings, Vol. 152, No. 4, pp. 153-165, 2005.
  18. F. Bachmann, L. Bass, M. Klein, and C. Shelton, "Experience Using an Expert System to Assist an Architect in Designing for Modifiability," Proc. of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA'04), pp. 281-284, 2004.
  19. L. Chung, B.A. Nixon, E. Yu, and J. Mylopoulos, "Non-Functional Requirements in Software Engineering," International Series in Software Engineering, Springer, Vol. 5. (Online). Available: http://www.amazon.fr/exec/obidos/ASIN/0792386663/citeulike04-21, 1999.
  20. N. May, "A Survey of Software Architecture Viewpoint Models," Proc. of the 6th Australasian Workshop on Software and System Architectures (AWSA), Brisbane, Australia, pp. 13-24, 2005.
  21. C. Hofmeister, R. Nord, and D. Soni, Applied Software Architecture, Addison Wesley Longman, 2000.
  22. P. Clements, R. Kazman, and M. Klein, Evaluating Software Architectures: Methods and Case Studies, Addison Wesley, 2002.
  23. P. Avgeriou and U. Zdun, "Architectural Patterns Revisited - a Pattern Language," Proc. of the 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), 2005.
  24. R. Kazman, J. Asundi, and M. Klein, "Making Architecture Design Decisions: an Economic Approach," Software Engineering Institute, Carnegie Mellon University, CMU/SEI-2002-TR-035, ESC-TR-2002-035, 2002.
  25. L. Rapanotti, J.G. Hall, M. Jackson, and B. Nuseibeh, "Architecture driven problem decomposition," Proc. of the 12th IEEE Int. Requirements Engineering Conf. (RE), Kyoto, Japan, pp. 6-10, 2004.
  26. E. Souza, M. Lencastre, R.C.F. Melo, L. Ramires, and K. Alves, "Analyzing Problem Frames together with Solution Patterns," Proc. of WER 2007, pp. 179-189, 2007.