Definition of Architecture Patterns regarding Quality Attributes

품질속성을 고려한 소프트웨어 아키텍처 패턴의 정의

  • 궁상환 (백석대학 정보통신학부)
  • Published : 2007.02.28

Abstract

The paper focuses on how to classify as well as to define the Architecture Patterns which are popularly used in the design of software architecture. In order to achieve this purpose, we propose not only the revised methodology for Pattern-Oriented Software Architecture Design, but also new method of classification and definition for the Architecture Patterns. Especially, because the patterns are so diverse depending on the level of abstraction and types of applications, it was considered to have some different views of classification of the patterns in order to support convenient access to classified and stored patterns. The abstraction of the pattern is another important result of the research, which is devised for concrete expression of the patterns and for presentation of the interrelation among group of the patterns. The research also includes the extension of the quality model popularly adopted in the software domain, which enables the description of the patterns with the well defined quality attributes in terms of software architecture's point of view.

본 논문은 소프트웨어의 아키텍처 설계에서 많이 활용될 수 있는 아키텍처 패턴들을 분류하고 명세화하는 방법을 주제로 한다. 이를 위해 먼저 아키텍처 패턴의 활용과 관련한 개선된 아키텍처 개발방법론을 제시하고, 이러한 방법론을 지원하기 위한 패턴의 분류와 정의방법을 제안한다. 패턴은 추상화 레벨이나 응용 도메인에 따라 매우 다양하기 때문에, 여러 가지 각도에서의 분류체계를 제시하여 향후 분류 및 저장된 아키텍처 패턴을 쉽게 검색하고 활용할 수 있도록 고려하였다. 또한 패턴의 표현이 다양하여 패턴의 이해가 용이하지 못한 점을 고려하여 패턴의 추상화 개념을 도입하고, 패턴간의 관계를 정의하는 방법을 제시하여 패턴들의 핵심적인 구조와 역할에 대한 이해를 돕고자 하였다 아울러, 아키텍처 패턴을 선정할 때의 중요한 고려사항이 되는 품질속성도 기존의 범용적인 개념에서 아키텍처 지향적인 개념으로 확장이 가능하도록 하여 각각의 아키텍처 패턴을 정의할 때 보다 명확한 아키텍처의 품질에 대한 명세가 함께 설명되도록 하였다.

Keywords