• 제목/요약/키워드: 소프트웨어 아키텍처 패턴

검색결과 59건 처리시간 0.029초

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

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

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

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

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

  • 궁상환
    • 한국산학기술학회논문지
    • /
    • 제8권1호
    • /
    • pp.82-95
    • /
    • 2007
  • 본 논문은 소프트웨어의 아키텍처 설계에서 많이 활용될 수 있는 아키텍처 패턴들을 분류하고 명세화하는 방법을 주제로 한다. 이를 위해 먼저 아키텍처 패턴의 활용과 관련한 개선된 아키텍처 개발방법론을 제시하고, 이러한 방법론을 지원하기 위한 패턴의 분류와 정의방법을 제안한다. 패턴은 추상화 레벨이나 응용 도메인에 따라 매우 다양하기 때문에, 여러 가지 각도에서의 분류체계를 제시하여 향후 분류 및 저장된 아키텍처 패턴을 쉽게 검색하고 활용할 수 있도록 고려하였다. 또한 패턴의 표현이 다양하여 패턴의 이해가 용이하지 못한 점을 고려하여 패턴의 추상화 개념을 도입하고, 패턴간의 관계를 정의하는 방법을 제시하여 패턴들의 핵심적인 구조와 역할에 대한 이해를 돕고자 하였다 아울러, 아키텍처 패턴을 선정할 때의 중요한 고려사항이 되는 품질속성도 기존의 범용적인 개념에서 아키텍처 지향적인 개념으로 확장이 가능하도록 하여 각각의 아키텍처 패턴을 정의할 때 보다 명확한 아키텍처의 품질에 대한 명세가 함께 설명되도록 하였다.

  • PDF

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

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

  • PDF

Architecture-Based Measuring of Software Extensibility

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

  • PDF

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

  • 장정란;라현정;김수동
    • 정보처리학회논문지D
    • /
    • 제19D권1호
    • /
    • pp.63-80
    • /
    • 2012
  • 안드로이드 OS, iOS 등 여러 모바일 디바이스 운영체제를 통해서 모바일 디바이스는 다양한 소프트웨어 어플리케이션을 설치 운영하는 모바일 컴퓨팅 기능을 제공하고 있다. 나아가 개인용 컴퓨팅 용도뿐 아니라 엔터프라이즈를 위한 어플리케이션 클라이언트 단말기로도 사용될 것으로 예상한다. 그러나 모바일 디바이스는 자원의 제한성, 모바일 무선 네트워크 지원 능력 등 이전의 피처폰이나 개인용 컴퓨터에는 없는 특징이 있다. 따라서, 모바일 어플리케이션을 개발하기 위해서는 어플리케이션의 설계 시에 모바일 디바이스가 가진 속성을 반영하는 방법이 필요하다. 아키텍처는 소프트웨어의 특성을 반영하는 비기능적 요구사항을 충족시켜 소프트웨어의 품질을 향상시키는 설계 방법이다. 아키텍처 설계를 하기 위해서 모바일 어플리케이션의 특징으로부터 아키텍처 비기능적 요구사항인 아키텍처 드라이버를 추출한다. 기존의 소프트웨어 아키텍처 설계는 여러 패턴 제공하고 있지만, 모바일 어플리케이션의 특징을 반영하지 않았기 때문에 적용하기가 어렵다. 본 논문에서는 모바일 어플리케이션의 주요 특징을 반영한 어플리케이션 개발을 위해, 모바일 어플리케이션에 적합한 아키텍처 패턴을 정의하고, 각 패턴을 설계하는 지침을 제안한다. 먼저, 모바일 디바이스 및 어플리케이션의 특징을 정의하고, 이 특징으로부터 아키텍처 드라이버를 추출한다. 그리고 모바일 어플리케이션 개발을 위한 아키텍처 패턴을 정적 뷰와 동적 뷰 관점으로 설명하고, 각 아키텍처 패턴을 적용하여 모바일 어플리케이션 아키텍처를 설계하기 위한 적용 지침을 제공한다. 그리고 제시된 아키텍처 패턴의 사례 연구를 통해 적용 가능성을 보여준다. 마지막으로 제시된 아키텍처 패턴을 아키텍처 드라이버 별로 평가하고 또한 기존 연구와의 비교를 통해 본 논문에서 제시하는 아키텍처 패턴을 평가한다.

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

  • 고현희;궁상환;박재년
    • 인터넷정보학회논문지
    • /
    • 제6권4호
    • /
    • pp.9-20
    • /
    • 2005
  • 성공적인 소프트웨어 아키텍처의 설계를 위해서는 아키텍처 설계의 기반이 되는 아키텍처 접근법의 선정이 우선 이루어져야 한다. 이 때 다양한 아키텍처 스타일 즉, 아키텍처 접근법들 중 어떤 것을 선택 할 것인가는 완성될 시스템이 어떤 기능적, 비 기능적 품질요구사항을 만족시켜야 하는지에 따라 달라지게 된다. 본 논문에서는 아키텍처 접근법 선정을 위한 평가 모델을 제안하고 다양한 인터넷 활용과 엔터프라이즈 어플리케이션 통합에 활발히 사용되고 있는 메시지 시스템의 소프트웨어 아키텍처 접근법을 선정하고자 한다. 즉 여러 아키텍처 접근법 대안들이 존재할 경우 평가를 통해 시스템의 요구사항 만족 여부를 분석하여 대안들 중 가장 효율적이고 최적화 된 아키텍처 접근법을 선정하여 메시지 시스템의 아키텍처 설계 시 활용할 수 있도록 하고자 한다. 또한 아키텍처 접근법 식별시 스레드 기반의 설계 패턴을 활용하여 상세 설계와 구현 시 개발자들이 아키텍처를 바로 연계 시킬 수 있도록 하고자 한다.

  • PDF

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

  • 김순태
    • 한국인터넷방송통신학회논문지
    • /
    • 제15권4호
    • /
    • pp.19-24
    • /
    • 2015
  • 보안은 소프트웨어 개발에 있어서 주요한 관심사중 하나이다. 보안 전술(Security tactics)은 아키텍처 수준에서 보안의 문제를 해결하기 위한 재사용 가능한 빌딩 블록으로, 소프트웨어 시스템의 구조를 수립하기 위한 일반적인 해결책인 아키텍처 패턴(Architectural Pattern)과 자주 함께 사용된다. 하지만, 아키텍처 패턴에서의 아키텍처 전술은 패턴이나 전술 참여자들이 구조적/행위적으로 어떻게 함께 설계되어야 하는지에 대한 구체적인 이해 없이 보통 개념적으로만 이해되고 만다. 본 논문에서는 대표적인 아키텍처 패턴중 하나인 Broker패턴에서 이와 함께 사용 가능한 보안 전술을 모델 기반으로 표현하고, 실세계에서 어떻게 이 개념이 적용되었는지에 대한 구체적인 사례를 소개한다.

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 미들웨어 설계를 수행하는 과정에서 요구되는 효율적인 소프트웨어 아키텍처 개발방법론을 다루고 있다. 특히, 아키텍처 설계방법 중 아키텍처 패턴을 효율적으로 이용하는 방법을 제안하고, 사례 시스템의 설계에 개선된 방법을 적용해 봄으로써 타당성을 검증하고자 하고 있다. 아울러, 기존의 소프트웨어 아키텍처 연구에서 간과되고 있는 소프트웨어 아키텍처를 위한 품질속성들을 검토하고, 정리하여 함께 제시하고 있다.

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

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

  • PDF