• Title/Summary/Keyword: 소프트웨어 아키텍처 패턴

Search Result 59, Processing Time 0.032 seconds

A Study on Efficient Application of Architectural Patterns by the Taxonomy of Software Requirements (소프트웨어 요구사항 분류체계를 이용한 효율적인 아키텍처 패턴 적용에 관한 연구)

  • Jong-Woo Choi;Sang Yoon Min
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.7
    • /
    • pp.285-294
    • /
    • 2023
  • As software grows continuously in scale and complexity, the role of software architecture has become increasingly important across various industries. Although software architects often rely on their experience and intuition when designing such architecture, there is a variety of methodologies being researched for architecture design. However, these methodologies do not address the specific effects of applying multiple architectural patterns to a system or the sequence in which they should be applied. In this study, we explain the variation in architectural design results depending on the order in which the same set of architectural patterns is applied to a single system. Based on this phenomenon, we identify requirements for applying architectural patterns and propose a method of classifying the patterns to be applied. We also propose a prioritization process for requirements to efficiently apply the classified patterns in a specific order. Finally, we show a case study that prioritizing requirements based on architectural pattern types is beneficial for efficient software architecture design in terms of quality attributes.

A Software Architecture Design Method that Matches Problem Frames and Architectural Patterns (문제틀과 아키텍처 패턴의 매칭을 이용한 소프트웨어 아키텍처 설계 방법)

  • Kim, Jungmin;Kang, Sungwon;Lee, Jihyun
    • Journal of KIISE
    • /
    • v.42 no.3
    • /
    • pp.341-360
    • /
    • 2015
  • While architectural patterns provide software development solutions by providing schemas for structural organizations of software systems based on empirical knowledge, Jackson's problem frames provide a method of analyzing software problems. Problem frames are useful to understanding the software development problem, by putting emphasis on the problem domain, rather than on the solution space. Research exists that relates problem frames and software architecture, but most of this research uses problem frames only to understand given problems. Moreover, none of the existing research derives architectural patterns by considering both problem frames and quality attributes. In this paper, we propose a software architecture design method for pattern-based architecture design, by matching problem frames and architectural patterns. To that end, our approach first develops the problem model based on the problem frames approach, and then uses it to match with candidate architectural patterns, from the perspectives of both functionality, and quality attributes. Functional matching uses the problem frame diagram to match the problem model of an architectural pattern. We conduct a case study to show that our approach can systematically decide the right architectural patterns, and provide a basis for fine-grained software architecture design.

Definition of Architecture Patterns regarding Quality Attributes (품질속성을 고려한 소프트웨어 아키텍처 패턴의 정의)

  • Kung, Sang-Hwan
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.8 no.1
    • /
    • pp.82-95
    • /
    • 2007
  • 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.

  • PDF

A Framework for Software System Evolution using Architectural Transformation Pattern (아키텍처 변환 패턴을 이용한 소프트웨어 시스템 진화 프레임워크)

  • Park, Taehyun;Ahn, Hwi;Kang, Sungwon;Park, Jongbin;Hwang, Sangcheol
    • Journal of Software Engineering Society
    • /
    • v.26 no.1
    • /
    • pp.17-29
    • /
    • 2013
  • Software System Evolution is more planned and systematic maintenance process as well as a type of maintenance. The research of software evolution provides basis of decisions for maintenance value through cost-benefit analysis of legacy system and architecture-based software evolution enables engineers to reduce maintenance cost by automation of repetitive evolution tasks. This paper proposes a framework for software system evolution using architectural transformation pattern.

  • PDF

Architecture-Based Measuring of Software Extensibility

  • Kim, Jung-Ho;Kang, Sung-Won
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2007.11a
    • /
    • pp.425-430
    • /
    • 2007
  • 시스템을 결정하는 품질 요소에는 여러 가지가 있으나 그 중에서도 유지보수성(Maintainability)이 높은 시스템을 만드는 것은 쉬운 일이 아니다. 또한 유지보수성이 높은 시스템인지 여부를 시스템 개발이 완료 전에 측정하는 것도 어려운 문제이다. 모든 품질요소가 그렇겠지만 시스템을 구성하는 소프트웨어 아키텍처 수준에서 시스템의 품질을 명확히 측정해내지 못하고 시스템 개발 이후에 측정한다면 품질 향상을 위한 시스템 수정은 생각할 수도 없는 문제가 될 것이다. 이 논문은 유지보수성 중에서도 가장 중요한 기능확장성(Extensibility), 즉 기존 시스템에서 신규 서비스를 추가하려 할 때 기존의 서비스에 영향을 미치지 않으면서 비용 및 기간을 최소화하여 새로운 기능을 추가할 수 있는 품질 속성을 소프트웨어 아키텍처 수준에서 비교하는 방법을 정의하여 제시한다. 본 논문에서는 소프트웨어 아키텍처 중에서도 기능확장성에 가장 큰 영향을 미치는 모듈 뷰를 기준으로 기능확장성을 측정할 갓이나 모듈 내부의 변경을 통한 기능확장성은 고려하지 않고 새로운 모듈의 추가로 인한 기능확장성을 고려하였다. 본 논문은 기 수립된 소프트웨어 아키텍처의 모듈 뷰가 가지는 고유한 기능확장성을 측정하는 함수를 제시하고 여기에 새로운 모듈이 추가될 매 변화한 소프트웨어 아키텍처의 기능확장 effort 함수를 제시한다. 이 두 함수를 통해 두 개의 대안 소프트웨어 아키텍처 모듈 뷰에서 어떤 것이 더 기능확장성이 있는지 판단할 수 있게 한다. 우리는 이를 검증하기 위해서 기능확장성이 좋다고 제시되고 있는 디자인 패턴(계층패턴과 Broker 패턴)을 통해 본 논문의 이론을 정립하고 그 효용성을 입증하였다. 따라서 소프트웨어 아키텍처 수준에서 기능확장성이 얼마나 가능한지 서로 비교 가능한 수치를 제시하였고 이 수치를 통해 실제 개발이 완료되기 전 시점에 시스템의 기능확장성을 명백히 측정할 수 있게 하여 시스템 기능 확장에 들어가는 많은 비용을 줄일 수 있다는 것을 보여준다.

  • PDF

Practical Architectural Patterns and Guidelines for Designing Complex Mobile Applications (복잡도가 높은 모바일 어플리케이션 설계를 위한 아키텍처 패턴과 적용지침)

  • Jang, Jeong-Ran;La, Hyun-Jung;Kim, Soo-Dong
    • The KIPS Transactions:PartD
    • /
    • v.19D no.1
    • /
    • pp.63-80
    • /
    • 2012
  • Mobile devices with Android OS and iOS have been emerged as mobile computing devices where various software applications are deployed. Furthermore, they are anticipated to be used not only for traditional personal computing but also for enterprise computing. However, such mobile devices have their intrinsic characteristics such as limited resources and flexible network capabilities, which are not revealed in traditional computers. Hence, there is high demand for methods to develop mobile applications with reflecting their intrinsic characteristics. Since those characteristics belong to non-functional requirements, they should be reflected in architecture design while designing mobile applications. To design architecture, the architecture drivers that are architecture non-functional requirements are decided from mobile application characteristics. Conventional architecture design methods do not consider those characteristics so that the methods cannot be straightforwardly applied to mobile applications. In this paper, to efficiently develop mobile applications reflecting those characteristics, we propose a set of architecture patterns and define a guideline to apply those patterns. First, we define the characteristics of mobile applications distinguished and derive architectural drivers from them. Then, we propose architecture patterns in terms of static and dynamic views and define an architectural guideline to apply the patterns to designing architecture for mobile application. And, we perform case studies to verify the applicability of proposed patterns. Finally, we assess the proposed architecture patterns by proving how the patterns can fulfill identified architecture drivers and by comparing our approach with previous works.

Architectural Approach Identification and Evaluation of Message System Using Design Pattern (설계 패턴을 활용한 라시지 시스템의 소프트웨어 아키텍처 접근법 식별 및 평가)

  • Koh, Hyon-Hee;Kung, Sang-Hwan;Park, Tae-Nyon
    • Journal of Internet Computing and Services
    • /
    • v.6 no.4
    • /
    • pp.9-20
    • /
    • 2005
  • To design a software system in success, architectural approaches which are in basis of architectural design, must be primarily selected. What to chose among various architecture styles as specific as architectural approaches, varies along with the system status of what kind of functional or non-functional quality requirements should satisfy. In this study, we propose the evaluation model for making a selection of architectural approaches, and select an architectural approach for message system actively using in diversified internet utilization and enterprise application integration, In other words, if there may be possibly existed several architectural approaches, we present the most suitable method of architectural approach out of them through an evaluation of analyzing the system requirements satisfaction level. In addition, when it performs specific design and implementation utilizing design patterns based on thread, developers would be able to link up the architecture design directly.

  • PDF

Compatibility Analysis Between Security Tactics and Broker Architecture Pattern (보안 전술과 Broker 아키텍처 패턴간의 호환성 분석)

  • Kim, Suntae
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.15 no.4
    • /
    • pp.19-24
    • /
    • 2015
  • Security has been a major concern in software development. Security tactics are reusable building blocks providing a general solution for recurring security concerns at the architectural level. They are often used together with architectural patterns which provide a general solution for architecting software systems. However, use of security tactics in architectural patterns has been understood only conceptually without concrete understanding of how their involved elements should be structurally and behaviorally co-designed. In this paper, we present model-driven analyses of security tactics in the context of Broker architectural patterns and provide evidences of the analyses in real world case studies.

Improvement of Pattern Oriented Software Architecture Design Approach with Empirical Design of USN Middleware (USN 미들웨어 설계사례를 통한 패턴지향 아키텍처 설계방법의 개선)

  • Kung, Sang-Hwan
    • The Journal of the Korea Contents Association
    • /
    • v.7 no.11
    • /
    • pp.1-8
    • /
    • 2007
  • The Sensor Network enables many distributed systems to be unmanned and automated by using of diverse sensors as well as wireless communication technologies. One of major enabling technologies for the sensor network is the USN middleware which plays the role of collecting and analyzing of measurements of sensors and controlling of the environments. The paper deals with the fungus cultivating environment based on Sensor Networks. Especially, we focus on the design of USN middleware for the embedded system, and explain how to design software architecture in terms of architectural patterns. In this design process, the improvement of methodology for pattern-oriented architecture design is proposed and the quality attributes for the architecture design is newly classified and suggested for the reference of software architecture design.

Development of PC Software for IED using software architectures (소프트웨어 아키텍처를 이용한 IED용 PC 소프트웨어 개발)

  • Kwon, Hyo-Chul
    • Proceedings of the KIEE Conference
    • /
    • 2011.07a
    • /
    • pp.739-740
    • /
    • 2011
  • 최근 변전소용 IED는 IEC61850의 적용을 기점으로 하여 기술적으로 더 많은 발전을 거듭하고 있다. IED에 더 다양한 기술을 포함하면서 안정적이고 확실한 동작을 요구하는 것은 기본이고, 사용자 위주의 Interface와 편리한 관리 도구도 요구되어 진다. 이에 따라 IED를 PC로 제어하고 관리하기 위한 소프트웨어 또한 기술적으로 발전해야 하는 상황이다. 소프트웨어는 기본적으로 실시간 관리와 프로젝트 관리 그리고 다수의 IED지원 등의 기능을 가져야 하며 이를 구현하기 위하여 여러 가지 방식의 아키텍처 패턴이 적용될 수 있다. 본 논문에서는 IED를 관리하는 소프트웨어에 적용될 수 있는 아키텍처를 제시함으로써 소프트웨어 구현에 대한 방향을 모색해 보았다.

  • PDF