DOI QR코드

DOI QR Code

An Architectural Pattern Recommendation Method Based on a Quality-Attributes Trade-off Analysis

품질속성의 트레이드오프 분석을 통한 아키텍처 패턴 추천 방법

  • 박현주 (아주대학교 소프트웨어특성화학과) ;
  • 이석원 (아주대학교 소프트웨어융합학과)
  • Received : 2016.05.13
  • Accepted : 2016.11.15
  • Published : 2017.02.15

Abstract

Recently, the accomplishment of a system's quality attributes requires the negotiation of increasingly complex requirements, and this is because the contextual and developmental environments in which software is used has undergone broad changes. Nevertheless, with regard to most architectural designs, many of the proportions depend on the architect's intuition. Moreover, even if reusable architectural patterns are adapted to an architectural design, common schemas for the description of their use are nonexistent, and it is difficult to make a comparison for the selection of an appropriate systemic pattern because the focus of the schemas is not the user's perspective. To achieve a fast initial-design decision, this paper suggests new schemas that reduce the distance between the quality attribute requirements and the design by reinterpreting architectural patterns from the user's perspective. Also, based on the reconstructed pattern model that is derived from the use of the new schemas, an architectural-pattern recommendation method (APOQATo) for which the trade-off and the constraints that are due to the design decision are considered is provided as well as the advantages of the architectural pattern for which the quality attributes are satisfied.

아키텍처는 시스템의 품질 속성과 요구사항 그리고 비즈니스 목적 달성을 위해 이루어지는 중요한 설계 결정들의 집합으로 현재 소프트웨어 공학 프로세스에서 필수적으로 다루어지는 과정 중 하나이다. 최근 소프트웨어가 사용되는 컨텍스트와 개발 환경이 크게 변화하면서 복잡한 요구사항을 다루고 시스템의 품질 속성을 달성하는 것이 더욱 중요해지고 있다. 하지만 아키텍처 설계가 많은 부분에 있어 아키텍트의 직관에 의존하고 있으며 재사용 가능한 아키텍처 패턴을 설계에 적용할 때 패턴 스키마가 통일되지 않고 사용자 관점에서 표현되어지지 않아 비교 분석에 어려움을 겪고 있다. 본 논문은 아키텍처 패턴을 사용자 관점에서 재해석하여 품질 속성 요구사항과의 간격을 줄여주는 새로운 스키마를 제안한다. 또한 스키마로 재구성한 패턴 모델을 이용해 아키텍처 설계의 가장 중요한 요인인 품질속성이 설계 결정에 어떤 영향을 주는지 트레이드 오프를 고려한 패턴 추천 방법을 제안 한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Clements, Paul, et al., Documenting software architectures: views and beyond. Pearson Education, 2002.
  2. Kazman, Rick, Mark Klein, and Paul Clements, ATAM: Method for architecture evaluation, No. CMU/SEI-2000-TR-004. CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST, 2000.
  3. Buschmann, Frank, et al., "A system of patterns: Pattern-oriented software architecture," (1996).
  4. Lattanze, Anthony J., Architecting Software Intensive Systems: A Practitioners Guide, CRC Press, 2008.
  5. Kruchten, Philippe, "Mommy, where do software architectures come from," 1st International Workshop on Architectures for Software Systems, Seattle, WA. 1995.
  6. Falessi, Davide, et al., "Decision-making techniques for software architecture design: A comparative survey," ACM Computing Surveys (CSUR) 43.4 (2011): 33.
  7. Garlan, David, "Software architecture: A travelogue," Proc. of the on Future of Software Engineering, ACM, 2014.
  8. Henninger, Scott, and Victor Correa, "Software pattern communities: Current practices and challenges," Proc. of the 14th Conference on Pattern Languages of Programs, ACM, 2007.
  9. Birukou, Aliaksandr, "A survey of existing approaches for pattern search and selection," Proc. of the 15th European Conference on Pattern Languages of Programs, ACM, 2010.
  10. Lee, Seok Won, and David C. Rine, "Case Study Methodology Designed Research in Software Engineering Methodology Validation," SEKE, 2004.
  11. Kumar, Kiran, and T. V. Prabhakar, "Design decision topology model for pattern relationship analysis," Proc. of the 1st Asian Conference on Pattern Languages of Programs, ACM, 2010.
  12. Kumar, Kiran, and T. V. Prabhakar, "Patternoriented knowledge model for architecture design," Proc. of the 17th Conference on Pattern Languages of Programs, ACM, 2010.
  13. Gomes, Paulo, et al., "Using CBR for automation of software design patterns," Advances in Case-Based Reasoning, Springer Berlin Heidelberg, 2002, 534-548.
  14. Birukou, Aliaksandr, Enrico Blanzieri, and Paolo Giorgini, "Implicit Culture Framework for behavior transfer," (2009).
  15. Shu-Hang, Guo, et al., "A requirement analysis pattern selection method for e-business project situation," e-Business Engineering, 2007. ICEBE 2007. IEEE International Conference on, IEEE, 2007.
  16. Avgeriou, Paris, and Uwe Zdun, "Architectural patterns revisited-a pattern language," In 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, 2005.
  17. Harrison, Neil B., and Paris Avgeriou, "Leveraging architecture patterns to satisfy quality attributes," Software Architecture, Springer Berlin Heidelberg, 2007, 263-270.
  18. Ozkaya, Ipek, Rick Kazman, and Mark Klein, "Quality-attribute based economic valuation of architectural patterns," Economics of Software and Computation, 2007, ESC'07. First International Workshop on the, IEEE, 2007.
  19. Bode, Stephan, et al., "Software architectural design meets security engineering," Engineering of Computer Based Systems, 2009, ECBS 2009, 16th Annual IEEE International Conference and Workshop on the, IEEE, 2009.
  20. Bode, Stephan, and Matthias Riebisch, "Impact evaluation for quality-oriented architectural decisions regarding evolvability," Software Architecture, Springer Berlin Heidelberg, 2010, 182-197.
  21. Gerdes, Sebastian, Mohamed Soliman, and Matthias Riebisch, "Decision Buddy: Tool Support for Constraint-Based Design Decisions during System Evolution," Proc. of the 1st International Workshop on Future of Software Architecture Design Assistants, ACM, 2015.
  22. Harrison, Neil B., and Paris Avgeriou, "Analysis of architecture pattern usage in legacy system architecture documentation," Software Architecture, 2008. WICSA 2008. Seventh Working IEEE/IFIP Conference on, IEEE, 2008.
  23. Hebisch, Erik, Matthias Book, and Volker Gruhn, "Scenario-based architecting with architecture trace diagrams," Proc. of the Fifth International Workshop on Twin Peaks of Requirements and Architecture, IEEE Press, 2015.
  24. Carriere, Jeromy, Rick Kazman, and Ipek Ozkaya, "A cost-benefit framework for making architectural decisions in a business context," Software Engineering, 2010 ACM/IEEE 32nd International Conference on, Vol. 2, IEEE, 2010.
  25. Alexander, Christopher, Sara Ishikawa, and Murray Silverstein, A pattern language: towns, buildings, construction, Vol. 2. Oxford University Press, 1977.
  26. Borgida, Alexander T., Conceptual modeling: foundations and applications: Essays in honor of John Mylopoulos, Vol. 5600. Springer Science & Business Media, 2009.
  27. ISO/IEC 25010: Systems and software engineering, Systems and software Quality Requirements and Evaluation (SQuaRE), System and software quality models, 2011.
  28. Xu, Lihua, et al., "An architectural pattern for non-functional dependability requirements," Journal of Systems and Software 79.10 (2006): 1370-1378. https://doi.org/10.1016/j.jss.2006.02.061