• 제목/요약/키워드: Software Architecture Pattern

검색결과 73건 처리시간 0.025초

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

  • 박태현;안휘;강성원;박종빈;황상철
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제26권1호
    • /
    • pp.17-29
    • /
    • 2013
  • 소프트웨어 시스템 진화는 소프트웨어 시스템의 유지보수의 일종으로 계획적이고 체계적인 유지보수 프로세스이다. 소프트웨어 진화 연구는 기존 시스템의 비용편익 분석을 통해 시스템의 유지가치에 대한 판단 근거를 제공하며, 아키텍처를 기반으로 하는 진화는 반복적인 진화 작업의 자동화를 가능케 하여 유지보수 비용 감소를 가능하게 해주는 연구이다. 본 논문에서는 아키텍처 변환패턴을 이용한 소프트웨어 시스템 진화 프레임워크를 제안한다.

  • PDF

A Study on the Standard Architecture of Weapon Control Software on Naval Combat System

  • Lee, Jae-Geun
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권11호
    • /
    • pp.101-110
    • /
    • 2021
  • 무장통제 소프트웨어는 무장체계와 연동하여 함정 전투체계 내 무장 운용을 지원하는 기능을 수행한다. 무장통제 소프트웨어는 무장체계에 의존적이므로 연동 정보 변화에 따라 소프트웨어 수정이 필연적으로 이뤄지는 특성을 가진다. 소프트웨어의 수정은 신뢰성 시험과 같은 검증 단계를 반드시 거쳐야 하므로 개발 비용의 상승을 초래한다. 본 논문에서는 기존 무장통제 소프트웨어의 수정 요소를 최소화하기 위해 무장통제 소프트웨어 표준 아키텍처를 설계하였다. 연동 정보 관리를 위해 휘처 모델(Feature Model)로 공통요소와 가변요소를 구분하였고 디자인패턴 중 전략 패턴(Strategy Pattern)을 적용하여 소프트웨어 구조를 개선하였다. 소프트웨어 평가 실험을 통해 제안한 아키텍처가 기존 무장통제 소프트웨어보다 개발 비용이 감소하고 변경용이성과 재사용성이 향상된 것을 확인하였다.

수중로봇 소프트웨어 시스템의 요구사항을 반영한 ROS 기반의 계층화된 소프트웨어 아키텍처의 설계 (Design of Layered Software Architecture Based on ROS That Reflects the Requirements of Underwater Robot Software System)

  • 이정우;최영호;이종득;윤성조;서진호
    • 대한임베디드공학회논문지
    • /
    • 제12권5호
    • /
    • pp.303-310
    • /
    • 2017
  • Underwater robots operating in constrained underwater environment have requirements for software systems. Firstly, it is necessary to provide reusable common software components for hardware interface of sensors and actuators that are frequently used in underwater robots. Secondly, it is required to support distributed execution environment on multiple embedded controllers. Thirdly, it is need to implement a monitoring system capable of high-speed and large-data transmission for underwater robots operating in an environment where it is difficult to check the robot status. For these requirements, we have designed the layered architecture pattern and applied several design patterns to enhance the reusability and the maintainability of software components, In addition, we overlaid the broker architecture pattern to support distributed execution environments. Finally, we implemented the underwater robot software system using ROS framework based on the software architecture design. In order to evaluate the performance of the implemented software system, we performed an experiment to measure the response time between components and the transmission rate of the monitoring data, and obtained the results satisfying the required performance.

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

  • 김정민;강성원;이지현
    • 정보과학회 논문지
    • /
    • 제42권3호
    • /
    • pp.341-360
    • /
    • 2015
  • 패턴은 소프트웨어 개발에서 얻은 경험을 구조화한 것으로 문제해결에 이용되는 반면, 문제틀은 소프트웨어 문제를 분석하는 방법이다. 문제틀은 해법이라기 보다는 문제 도메인에 중점을 두고 있기 때문에 문제를 이해하는데 유용하다. 문제틀과 소프트웨어 아키텍처를 연결하는 기존 연구들은 주어진 문제를 이해하는데 치중하여 문제틀을 이용할 뿐 문제틀과 품질속성 모두를 고려하면서 아키텍처 패턴을 도출하고 있지 않다. 본 논문에서는 문제틀과 아키텍처 패턴의 매칭을 통한 소프트웨어 패턴 기반 아키텍처 설계 방법을 제안한다. 먼저, 문제틀 방법에 따라 문제 모델을 개발한 후 기능 및 품질속성 관점에서 문제 모델을 아키텍처 패턴 후보와 매칭한다. 논문은 기능 매칭을 위해서는 문제틀 다이어그램을 이용한 아키텍처 패턴의 문제 모델을, 품질속성을 고려하기 위해서는 새로운 분석 템플릿을 사용하여 아키텍처를 설계하는 방법을 제안한다. 또한, 사례연구를 통해 제안한 방법이 올바른 아키텍처 패턴을 결정하는 체계적인 프로세스이며 잘 정제된 소프트웨어 아키텍처 설계를 위한 기초가 됨을 보인다.

설계 패턴을 이용한 모바일 파워 카트의 유연한 아키텍처 구현 (Implementation of a Flexible Architecture for a Mobile Power Cart Applying Design Patterns)

  • 이종민;김성우;권오준
    • 한국멀티미디어학회논문지
    • /
    • 제19권4호
    • /
    • pp.747-755
    • /
    • 2016
  • Automated guided vehicles have been used for a long time to increase work efficiency in the logistics field, but it is difficult to apply to a variety of logistics sites due to either the restricted movement mechanism or expensive devices. In this paper, we present a flexible software architecture that is hardware-independent for a mobile power cart of the follow mode and implement it using a ROS software platform. Through the SCV analysis for the system functionalities, we design a package to track a user movement and a package to control a new hardware platform. It has an advantage to use a variety of movement algorithms and hardware platforms by applying the strategy pattern and the template method pattern for the design of a software architecture. Through the performance evaluation, we show that the proposed design is maintainable in terms of a software complexity and it detects a user's movement by obtaining a user skeleton information so that it can control a hardware platform to move at a certain distance.

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

  • 궁상환
    • 한국콘텐츠학회논문지
    • /
    • 제7권11호
    • /
    • pp.1-8
    • /
    • 2007
  • 센서 네트워크는 무선통신기술의 발전에 힘입어 다양한 응용분야에서 센서들을 이용함으로써 무인화와 자동화를 가능하게 하고 있다. 센서 네트워크를 가능하게 하는 기술 중의 하나는 센서로부터 얻어지는 정보들을 효율적으로 수집하고 분석해서 자동적으로 제어하는 역할을 담당하는 USN(Ubiquitous Sensor Network) 미들웨어 기술을 꼽을 수 있다. 논문에서는 버섯재배 시스템의 구현을 사례로 하여, 버섯재배 응용을 위한 USN 미들웨어 설계를 수행하는 과정에서 요구되는 효율적인 소프트웨어 아키텍처 개발방법론을 다루고 있다. 특히, 아키텍처 설계방법 중 아키텍처 패턴을 효율적으로 이용하는 방법을 제안하고, 사례 시스템의 설계에 개선된 방법을 적용해 봄으로써 타당성을 검증하고자 하고 있다. 아울러, 기존의 소프트웨어 아키텍처 연구에서 간과되고 있는 소프트웨어 아키텍처를 위한 품질속성들을 검토하고, 정리하여 함께 제시하고 있다.

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

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

Improving Fault Traceability of Web Application by Utilizing Software Revision Information and Behavior Model

  • Baek, Seungsuk;Lee, Jung-Won;Lee, Byungjeong
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제12권2호
    • /
    • pp.817-828
    • /
    • 2018
  • Modern software, especially web-based software, is broadly used in various fields. Most web applications employ design patterns, such as a model-view-controller (MVC) pattern and a factory pattern as development technology, so the application can have a good architecture to facilitate maintenance and productivity. A web application, however, may have defects and developers must fix the defects when a user submits bug reports. In this paper, we propose a novel approach to improving fault traceability in web application by using software revision information and software behavior model to reduce costs and effectively handle the software defect. We also provide a case study to show effectiveness of our approach.

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

  • 궁상환
    • 한국산학기술학회논문지
    • /
    • 제11권12호
    • /
    • pp.5072-5082
    • /
    • 2010
  • 본 논문은 소프트웨어 아키텍처의 설계를 위한 방법론을 제안한다. 논문의 제안하는 아이디어는 시스템에 존재하는 액터(actor)나 모듈, 통신요소 간의 인터페이스를 식별하면, 이 인터페이스에 연결된 모듈을 단계적으로 탐색해 나가는 방식을 활용한다. 그리고 설계범위의 인터페이스와 모듈을 점차 확장해 나감으로써 아키텍처의 설계가 완료될 때까지 설계를 점진적으로 진행해 간다. 이 방법은 기본적인 아키텍처 설계의 접근을 인터페이스로부터 출발하여, 이 인터페이스의 입력을 기다리는 모듈, 그리고 다시 이 모듈로부터 출력 인터페이스를 확인하는 방법을 통해, 설계의 원인과 결과가 서로 연관되게 함으로써 자연스러운 설계를 유도한다고 할 수 있다. 또한, 제안 방법은 아키텍처 설계에 필요한 5개의 아키텍처 뷰를 정의하고, 설계과정에서 아키텍처 패턴의 활용하도록 하고 있다. 특히, 이 방법은 아키텍처 설계를 처음 습득하는 설계자들에게 설계방법에 대한 구체적인 이해를 도모한다는 장점을 제공한다.

아키텍처 기반 소프트웨어의 일반적 요구사항과 이식성의 품질 측정 방안 (General Requirements and Portability Measurement Method of Architecture Base)

  • 강종업;양해술
    • 한국콘텐츠학회논문지
    • /
    • 제9권11호
    • /
    • pp.63-73
    • /
    • 2009
  • 소프트웨어 시스템을 구축하는데 아키텍처 기반 메카니즘은 중심에 있다. 성공적인 소프트웨어 시스템의 구축은 얼마나 견고하게 소프트웨어를 정의하는가에 있다. 아키텍처 기반 소프트웨어가 중요한 이유는 이해당사자 사이의 의사소통의 수단으로 사용되며 시스템의 초기 설계 결정 사항을 표현하고 재사용이 가능하기 때문이다. 본 연구에서는 아키텍처의 패턴 및 중요성 및 일반적 요구사항과 이식성의 특성을 분석하였으며 ISO/IEC 9126 및 ISO/IEC 14598을 고려하여 체계 및 메트릭을 제안하였다. 또한, 아키텍처 기반 소프트웨어의 시험절차에 따라 시험한 결함내역과 성능시험을 하고 결과를 분석하였다.