DOI QR코드

DOI QR Code

Practical Software Architecture Design Methods for Non-Conventional Quality Requirements

비전형적인 품질 요구사항을 고려한 실용적 소프트웨어 아키텍처 설계 기법

  • Received : 2017.02.03
  • Accepted : 2017.03.03
  • Published : 2017.08.31

Abstract

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.

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

Keywords

References

  1. M. Shaw and P. Clements, "The Golden Age of Software Architecture," IEEE Software, Vol.23, No.2, pp.31-39, Mar.-Apr., 2006. https://doi.org/10.1109/MS.2006.58
  2. R. Wojcik, F. Bachmann, L. Bass, P. Clements, P. Merson, R. Nord, and B. Wood, "Attribute-Driven Design (ADD), Version 2.0," Software Engineering Institute (SEI), TECHNICAL REPORT CMU/SEI-2006-TR-023, ESCTR-2006-023, Nov., 2006.
  3. L. Bass, P. Clements, and R. Kazman, "Software Architecture in Practice," 3rd Ed., Addison-Wesley Professional, Oct., 2012.
  4. W. G. Wood, "A Practical Example of Applying Attribute-Driven Design (ADD), Version 2.0," Software Engineering Institute (SEI), TECHNICAL REPORT, CMU/SEI-2007-TR-005, ESC-TR-2007-005, Feb., 2007.
  5. J. Scott and R. Kazman, "Realizing and Refining Architectural Tactics: Availability," Software Engineering Institute (SEI), TECHNICAL REPORT CMU/SEI-2009-TR-006, ESC-TR-2009-006, Aug., 2009.
  6. N. Rozanski and E. Woods, "Software Systems Architecture: Working with Stakeholders using Viewpoints and Perspectives," 2nd Ed., Addison-Wesley Professional, Nov., 2011.
  7. S. T. Kim, D. K. Kim, L. Lu, and S. Y. Park, "Quality-driven Architecture Development using Architectural Tactics," The Journal of Systems and Software, Vol.82, No.8, pp.1211-1231, Aug., 2009. https://doi.org/10.1016/j.jss.2009.03.102
  8. A. Tsadimas, M. Nikolaidou, and D. Angonostopoulos, "Handling Non-functional Requirements in Information System Architecture Design," In Proceedings of 2009 Fourth International Conference on Software Engineering Advances (ICSEA 2009), pp.59-64, Sep., 2009.
  9. H. Reza and E. Grant, "Quality-Oriented Software Architecture," In Proceedings of International Conference on Information Technology: Coding and Computing (ITCC 2005), May, 2005.
  10. G. Pedraza-Garcia, H. Astudillo, and D. Correal, "A Methodological Approach to Apply Security Tactics in Software Architecture Design," In Proceedings of 2014 IEEE Colombian Conference on Communications and Computing (COLCOM 2014), Jun., 2014.
  11. Systems and Software Engineering-Architecture Description, ISO/IEC/IEEE 42010:2011, Dec., 2011.