초록 열기/닫기 버튼

소프트웨어 아키텍처는 비기능적 요구사항(Non-Functional Requirement, NFR), 즉 품질 요구사항과 제약사항을 만족시키는데 중요한 역할을 한다. 현재까지 진행된 대부부의 연구는 전형적인 NFR을 위한 아키텍처 설계 방법과 설계 택틱에 국한된다. 그러나, 목표 시스템에 특화된 비전형적인 NFR을 위한 설계 방법에 대한 연구는 많이 진행되고 있지 않고, 소프트웨어 아키텍트가 보유한 지식과 경험에 의해 비전형적인 NFR을 만족시킬 수 있는 효과적인 방법과 택틱을 유도하고 이를 기반으로 아키텍처를 설계한다. 그러므로, 비전형적인 NFR을 고려하여 아키텍처를 설계하는 효과적인 방법 및 택틱을 고안하는 것이 어렵다. 본 논문에서는 비전형적인 NFR을 만족시키는 소프트웨어 아키텍처를 설계하는 효과적이며 체계적인 아키텍처 설계 방법론을 제안한다. 이 방법론은 전형적인 NFR을 고려한 아키텍처 설계에도 적용될 수 있다. 제안된 방법론은 5개의 스텝으로 구성된 프로세스, 각 스텝에 대한 상세 활동 지침을 포함한다. 그리고, 제안된 프로세스가 잘 설계되었음을 보이기 위해, 산출물 간의 추적성 관계를 확인한다. 마지막으로, 제안된 방법론의 효율성과 실용성을 평가하기 위해 사례 연구를 수행한 결과를 제시한다.


Software architecture plays a key role in satisfying non-functional requirement (NFR), i.e. quality requirements and constraints. Architecture design methods and tactics for conventional NFR are largely available in literatures. However, the methods for the target system-specific non-conventional NFRs are not readily available; rather architects should invent the design methods from their experiences and intuitions. Hence, the hardship to design architectures for non-conventional NFRs is quite high. In this paper, we provide a systematic architecture design methodology for non-conventional NFRs. We provide a five-step process, and detailed instructions for the steps. In the process, we treat the traceability among artifacts and seamlessness as essential values for supporting effective architecture design. We apply the methodology on designing architectures for a platform software system. We believe that the proposed methodology can be effectively utilized in designing high quality architectures for non-conventional NFRs.