본문 바로가기
KERD
논문KCI 등재

소프트웨어 요구사항 분류체계를 이용한효율적인 아키텍처 패턴 적용에 관한 연구

A Study on Efficient Application of Architectural Patterns by the Taxonomy of Software Requirements

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

다양한 산업에 영향을 미치고 있는 소프트웨어의 규모와 복잡도가 높아지면서 소프트웨어 아키텍처의 역할이 매우 중요해지고 있다. 소프트웨어아키텍트는 이러한 아키텍처를 설계할 때 종종 경험적 직관에 의존한다. 그럼에도 아키텍처 설계에 관한 방법론이 다양하게 연구되고 있으나,시스템에 여러 아키텍처 패턴(architectural pattern)을 적용하는 구체적인 방법이나 적용 순서에 따른 효과에 관해서는 다루고 있지 않다. 본 연구에서는 먼저, 같은 아키텍처 패턴 세트(set)를 동일 시스템에 적용할 때, 적용 순서에 따른 아키텍처 설계 결과의 상이성에 관해 설명한다. 이러한현상적 논리를 바탕으로 아키텍처 패턴 적용이 필요한 요구사항들을 사전에 식별하고, 적용할 패턴을 분류하는 방안을 제시한다. 또한 분류한패턴들을 효율적으로 적용하기 위해 적용 순서를 정할 수 있도록 요구사항의 우선순위를 정하는 절차를 제안하며 사례연구를 통해 아키텍처 패턴유형을 기반으로 요구사항을 우선순위화하는 것이 품질 속성 측면에서 효율적인 소프트웨어 아키텍처 설계에 도움이 됨을 보인다.

Abstract

As software grows continuously in scale and complexity, the role of software architecture has become increasingly important acrossvarious industries. Although software architects often rely on their experience and intuition when designing such architecture, there isa variety of methodologies being researched for architecture design. However, these methodologies do not address the specific effectsof applying multiple architectural patterns to a system or the sequence in which they should be applied. In this study, we explain thevariation in architectural design results depending on the order in which the same set of architectural patterns is applied to a singlesystem. Based on this phenomenon, we identify requirements for applying architectural patterns and propose a method of classifyingthe patterns to be applied. We also propose a prioritization process for requirements to efficiently apply the classified patterns in aspecific order. Finally, we show a case study that prioritizing requirements based on architectural pattern types is beneficial for efficientsoftware architecture design in terms of quality attributes.

참고문헌 (17)

  1. L. Bass, "Software Architecture in Practice" (2013), AddisonWesley
  2. P. Clements, "Documenting software architectures : Views and beyond" (2002), Addison-Wesley
  3. K. Wiegers, "Software requirements" (2013), Pearson Education
  4. M. Aychew, "Selection of architectural patterns based on tactics", 2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA) (2022), IEEE
  5. P. Kruchten, "Mommy, where do software architectures come from", Proceedings of the 1st Intl. Workshop on Architectures for Software Systems, pp.198~205 (1995)
  6. F. Buschmann, "Pattern-oriented software architecture-A system of patterns" (1996), John Wiley & Sons
  7. M. Richards, "Software Architecture Patterns" (2015), O’Reilly
  8. P. M. Jacob, "Software architecture pattern selection model for Internet of Things based systems", IET Software, 12(5), pp.390~396 (2018)
  9. M. Galster, "Systematic selection of software architecture styles", Iet Software, 4(5), pp.349~360 (2010)
  10. S. K. Lo, "A decision model for federated learning architecture pattern selection", arXiv preprint arXiv : 2204. 13291, ~ (2022)
  11. M. Kassab, "Software architectural patterns in practice : An empirical study", Innovations in Systems and Software Engineering, 14, pp.263~271 (2018)
  12. D. K. Kim, "An approach to precisely specifying the problem domain of design patterns", Journal of Visual Languages & Computing, 18(6), pp.560~591 (2007)
  13. 김정민, "문제틀과 아키텍처 패턴의 매칭을 이용한 소프트웨어 아키텍처 설계 방법", 정보과학회논문지, 42(3), pp.341~360 (2015), 한국정보과학회
  14. D. Pandey, "An effective requirement engineering process model for software development and requirements management", 2010 International Conference on Advances in Recent Technologies in Communication and Computing, pp.287~291 (2010)
  15. "Swit.or.kr" (2022)[URL]
  16. E. Gamma, "Design patterns : Elements of reusable objectoriented software" (1995), Pearson Deutschland GmbH
  17. "Github – webosose/umediaserver" (2022)[URL]

관련 논문AI추천

이 간행물의 다른 논문 (4건)