• Title/Summary/Keyword: Software Architectural Patterns

Search Result 14, Processing Time 0.027 seconds

Defining of Architectural Patterns through Formalization of Architectural Styles (소프트웨어 구조스타일의 정형화를 통한 조립형 구조패턴의 정의)

  • Kung, Sang-Hwan
    • The KIPS Transactions:PartD
    • /
    • v.9D no.5
    • /
    • pp.877-886
    • /
    • 2002
  • The problem of software reuse is dealt in two approaches. One is to build a new software by composing of the built-in components, and the other is to reuse architectural patterns that most of software system is generally composed of. Although the two approaches are important in design of software architecture, we could find outstanding difference in what kind of building blocks they use. The component based software design makes uses of building blocks whose contents are filled in by someone, on the other hand, the architectural pattern based software design is not interested in the contents of building blocks, but in the framework for building blocks including relationship of the building blocks. The paper purposes to find architectural patterns which are commonly found in diverse applications and help software architects reuse them in the software design process. We refine the architectural styles which is the well-known concept for software architecture design, and refine them as architectural components or templates which can be parts of software architecture.

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.

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.

An Architectural Pattern Recommendation Method Based on a Quality-Attributes Trade-off Analysis (품질속성의 트레이드오프 분석을 통한 아키텍처 패턴 추천 방법)

  • Park, Hyeon-ju;Lee, Seok-Won
    • Journal of KIISE
    • /
    • v.44 no.2
    • /
    • pp.148-162
    • /
    • 2017
  • 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.

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 Patterns Based Software Architecture Design (소프트웨어 구조패턴을 활용한 소프트웨어 구조개발방법)

  • 궁상환
    • Proceedings of the KAIS Fall Conference
    • /
    • 2002.05a
    • /
    • pp.222-225
    • /
    • 2002
  • 소프트웨어 설계 프로세스는 일반적으로 두 가지 활동을 통해 수행되는 데, 한 가지는 소프트웨어 시스템을 적절한 크기의 기능모듈로 분해해 나가는 것이며, 다른 한가지는 분해된 모듈을 구조적 패턴 위에 매핑 하는 것이다 본 논문의 관점은 분해된 기능모듈을 매핑 하는 구조적 패턴을 개발하는 데 있으며, 이러한 패턴들이 체계화하여 기능모듈을 구조화하는 작업을 보다 효율적으로 추진하여 높은 품질의 소프트웨어를 효율적으로 개발할 수 있도록 하고자 한다.

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

A Program Analysis Technique for Recovery of Layered Architecture and Conformance Checking (층위구조 아키텍처의 복구 및 일치성 검사를 위한 프로그램 분석 방법)

  • Park Chanjin;Hong Euyseok;Kang Yoohoon;Wu Chisu
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.8
    • /
    • pp.730-741
    • /
    • 2005
  • Layered Architecture is a kind of nodule decomposition techniques, which decomposes a program by generality This paper proposes a ]aver based method for recovering layered architecture from object-oriented program and checking conformance against architectural document. To specify the rules for layered style in object-oriented program, we define a partially ordered set on modules by module use relationship and module layer relationship by module override relationship. The meaning of module layer relationship is explained with an example from design patterns. Steps to recover layered architecture from program are described and a metamodel for the recovery is proposed. Architecture recovery is performed on source codes from open-source software project, and the implication of parts that do not conform to its architectural document is discussed. As a result of checking, it is pointed out that, although the parts are considered allowable exceptions of layered architecture, their modifications should be controlled carefully.

Software Architecture Design based on Interface and View Analysis (인터페이스와 뷰 분석을 이용한 소프트웨어 아키텍처 설계방법)

  • Kung, Sang-Hwan
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.11 no.12
    • /
    • pp.5072-5082
    • /
    • 2010
  • The Paper describes the methodology for Software Architecture Design. The key idea is to find the interfaces between the actors, modules, and communicating entities, and use them to identify the software design elements. The identified interfaces and modules are further used to find new modules and interfaces until the every design elements are found and located in the software architecture. This method starts the architecture design with finding the interfaces and enables the natural design procedure by relating the cause and results of the design. It also makes use of not only 5 architectural views for analysis and design of the software, but also concept of architecture patterns in design procedure. Especially, this method is also useful for the novice of the software architecture design.