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

검색결과 818건 처리시간 0.026초

소프트웨어 아키텍처 설계의 근본 원리들 (Fundamental Principles for Software Architecture Design)

  • 강성원
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제23권4호
    • /
    • pp.125-139
    • /
    • 2010
  • 이 논문에서는 소프트웨어의 개념과 소프트웨어 개발의 중요성을 알아본 뒤, 효과적인 소프트웨어 개발을 위한 필수적인 기술로서 열 두 개의 근본적인 소프트웨어 아키텍처 설계원리를 제시한다. 아키텍처 설계단계들을 문제의 파악, 아키텍처 모델링 방법의 결정, 아키텍처 설계의 수행 그리고 설계된 아키텍처의 평가의 네 개의 단계 군으로 나누고, 이 단계군 안에서 그리고 단계군 간에 활용되는 아키텍처 설계의 원리들을 식별하고 그 역할을 설명한다.

  • PDF

저전력 임베디드 소프트웨어 개발을 위한 ADD 기반의 아키텍처 설계 기법 (A Technique of ADD-based Architecture Design for Low Power Embedded Software)

  • 이재욱;홍장의
    • 대한임베디드공학회논문지
    • /
    • 제8권4호
    • /
    • pp.195-204
    • /
    • 2013
  • The embedded software has been developed in the forms of various versions that provides similar service based on product family. For increase usefulness of product family, software must has well-structured and reusable properties. Software architecture is important to improve adaptability in model-based development of embedded software mounted onto product family. In this paper, we proposed a technique of ADD(Attribute-Driven Design)-based software architecture design for low power software development. This technique provides a chance to consider the power consumption issue in design phase of software, and makes possible to develop low power embedded software.

전술데이터링크 연동시스템의 개념적 소프트웨어 아키텍처 설계 (A Design of a Conceptual Software Architecture for Inter-operational System of Tactical Data Link)

  • 남재민;윤희병
    • 한국국방경영분석학회지
    • /
    • 제31권2호
    • /
    • pp.105-115
    • /
    • 2005
  • To ensure interoperability among TADILs, we need inter-operational system of tactical data link that allows sharing of specific, planned information among different TADILs. In this paper, we have proposed the design of a conceptual software architecture of inter-operational system. For developing of a conceptual software architecture, we analyze the actual condition of ADSI used in the US military and identify functions and quality-attributes. Based on these factors, we design the conceptual software architecture for inter-operational system of tactical data link using Attribute-Driven Design(ADD) method. ADD is consist of three phases - choose the module to decompose, refine the module, repeat the steps for every module that needs further decomposition. To evaluate of ADD results, we apply the Software Architecture Analysis Method(SAAM) which is consist of making evaluation scenarios, choosing indirect scenarios, evaluation scenarios' interaction, and creating an overall evaluation. Through the evaluation, we verify the conceptual software architecture of inter-operational system.

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

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

소프트웨어 아키텍처의 성숙 평가 모델에 관한 연구 (A study on the Maturity Appraisal Model of Software Architecture)

  • 김경희
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권6호
    • /
    • pp.167-176
    • /
    • 2005
  • 소프트웨어 아키텍처는 소프트웨어 집중적인 시스템의 가장 주요한 부분으로, 아키텍처 평가는 시스템에서 매우 중요한 과정이고 소프트웨어 재앙을 예방할 수 있는 가장 저렴한 방법이다. 본 논문은 성숙모델을 통하여 아키텍처를 평가하는 새로운 방법을 소개한다. 기존의 성숙모델들은 소프트웨어나 소프트웨어 프로세스에 관한 것으로 지금까지 빠른 속도로 발전되어 왔다. 본 논문에서는 이러한 기법들을 소프트웨어 아키텍처에 적용한 SAMM(Software Architecture Maturity appraisal Model)을 제안한다. SAMM은 여섯 등급으로 구성되어 있다 제안한 성숙 모델 SAMM은 시스템 개선을 관리하는 발전된 아키텍처를 구성하고 소프트웨어 아키텍처 설계를 개선하기 위해 필수적으로 요구되는 아키텍처 요구사항들을 명세한다. 또한, 아키텍처 설계를 위한 노력을 줄이고, 질 높은 아키텍처를 구성할 수 있는 지침을 마련해주며, 아키텍처를 평가하여 등급을 매긴다.

  • PDF

오픈 소스 소프트웨어 재사용을 위한 소프트웨어 아키텍처 설계 (Designing Software Architecture for Reusing Open Source Software)

  • 최용석;홍장의
    • 융합정보논문지
    • /
    • 제7권2호
    • /
    • pp.67-76
    • /
    • 2017
  • 소프트웨어 활용의 수명주기가 단축되고, 다양한 형태의 사용자 기능을 지원하기 위하여 소프트웨어 아키텍처 개발의 중요성이 부각되고 있다. 소프트웨어 아키텍처가 새로운 기능을 갖도록 확장에 유연하고 안정적으로 개발된다면, 새로은 시장의 요구에 빠르게 대응할 수 있다. 본 연구에서는 새로운 기능 개발의 수명주기가 짧아지고 있고, 안정적인 소프트웨어 시스템 개발을 위하여 오픈 소스의 설계 복구를 통한 재사용을 고려하는 아키텍처 설계 기법을 제안한다. 소프트웨어 아키텍처를 기반으로 소프트웨어 시스템을 개발하기 위하여 오픈 소스를 사용하는 경우, 매우 신속한 개발이 가능해 질 뿐만 아니라, 이미 검증된 오픈 소스를 사용함으로써 개발 시스템에 대한 신뢰성도 증진시킬 수 있다.

아키텍처 기반 소프트웨어 개발에서 소프트웨어 아키텍처 변형을 지원하기 위한 방법 (An Approach to Support Software Architecture Transformation in Architecture-Based Software Development)

  • 최희석;염근혁
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권1호
    • /
    • pp.10-21
    • /
    • 2005
  • 소프트웨어 아키텍처는 복잡 다양한 소프트웨어 시스템을 개발하는 데 있어서 개발될 소프트웨어의 품질 달성에 중요한 영향을 미치는 핵심 설계로서 인식되고 있다. 따라서 아키텍처 기반의 소프트웨어 개발에서 고품질 소프트웨어 개발을 위하여 소프트웨어 아키텍처에 대한 변형이 필수적으로 요구된다. 그러나 아키텍처 변형 시 적용 가능한 설계 대안들의 다양성과 그것들이 아키텍처에 미치는 결과에 대한 예측의 어려움으로 인하여, 소프트웨어 아키텍처 변형을 적용하는 것이 쉽지 않다. 그러므로 다양한 설계 대안들이 아키텍처에 미치는 결과를 이해하고 분석하는 것을 통하여 소프트웨어 아키텍처 변형을 지원하기 위한 방법이 필요하다. 본 논문에서는 소프트웨어 아키텍처 변형을 체계적으로 지원하기 위한 방법을 제안한다. 제안하는 방법에서는 소프트웨어 아키텍처에 포함된 아키텍처 설계 결정들과 그것들에 대한 제약조건들을 바탕으로 결정 제약조건 그래프를 정의한다. 결정 제약조건 그래프를 이용하여 소프트웨어 아키텍처의 주요 설계 결정들간의 의존 관계를 명시적으로 나타냄으로써, 소프트웨어 아키텍처 변형 과정에서 특정 설계 결정에 대한 설계 변형이 아키텍처에 미치는 영향을 체계적으로 분석 가능하게 한다. 본 논문에서 제시하는 소프트웨어 아키텍처 변형 방법은 아키텍처 변형에 대한 전반적인 이해를 용이하게 함과 동시에, 궁극적으로는 고품질 소프트웨어 개발을 위한 새로운 버전의 아키텍처 재생성을 돕는다

아키텍처기반 설계 방식에 대한 평가기능이 통합된 소프트웨어 설계 방법론 (A Software Design Methodology Integrating Evaluation Method of Architectural Design Approaches)

  • 고현희;궁상환;박재년
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권7호
    • /
    • pp.625-634
    • /
    • 2007
  • 소프트웨어가 대형화되고 복잡해짐에 따라 소프트웨어 아키텍처의 설계가 성공적인 프로젝트를 위한 중요한 이슈가 되었다. 아키텍처 설계의 기반이 되는 아키텍처 접근법 선정은 아키텍처 설계와 후속설계 작업의 성공을 위해 무엇보다 중요하다. 본 연구에서는 아키텍처 접근법 대안들을 설계단계에서 식별하고 시스템의 품질 속성을 만족시키는 아키텍처 접근법을 선정하기 위한 평가 방법과 평가 방법을 통합한 설계 방법을 제안함으로써 설계 산출물의 신뢰도를 높이고 재설계에 따른 비용의 절감 및 검증된 아키텍처 접근법을 기반으로 아키텍처 설계를 완성함으로써 후속 설계 작업의 성공을 높이고자 한다.

의료정보보안 기반 소프트웨어 아키텍처 설계방법 (A Study for Security-Based Medical Information Software Architecture Design Methodology)

  • 김점구;노시춘
    • 융합보안논문지
    • /
    • 제13권6호
    • /
    • pp.35-41
    • /
    • 2013
  • 의료정보 보안에 대한 대안은 무엇보다 의료정보의 안전한 보존과 각종의 보안 위협으로부터 안전성을 강구하는 소프트웨어 설계로부터 시작되어야 한다. 의료정보시스템은 산재된 의료정보를 실시간으로 통합할 수 있어야 하고 의료정보의 교환은 신뢰할 수 있는 데이터 통신이어야 한다. 의료정보시스템의 소프트웨어 아키텍처 설계는 의료정보 공유상 보안 문제를 파악하고 의사소통을 통해 사용자 요구사항을 파악하여 소프트웨어 설계에 반영한다. 소프트웨어 프레임워크 설계, 메시지 표준 설계, 웹기반 프로세스간 통신절차 설계, 접근제어 알고리즘 설계, 아키텍처 기술서 작성, 아키텍처 평가의 제반 절차를 정립한다. 소프트웨어 아키텍처 초기 결정은 설계, 개발, 테스트, 유지보수에 지속적인 영향을 미친다. 또한 프로젝트상의 세부적 의사결정 근거가 된다. 의료정보보안 기반 소프트웨어 아키텍처 설계방법은 오늘날 중요한 과제가 되고 있는 의료정보 보안의 기본틀을 제공할 수 있을 것이다.

JarBot: Automated Java Libraries Suggestion in JAR Archives Format for a given Software Architecture

  • P. Pirapuraj;Indika Perera
    • International Journal of Computer Science & Network Security
    • /
    • 제24권5호
    • /
    • pp.191-197
    • /
    • 2024
  • Software reuse gives the meaning for rapid software development and the quality of the software. Most of the Java components/libraries open-source are available only in Java Archive (JAR) file format. When a software design enters into the development process, the developer needs to select necessary JAR files manually via analyzing the given software architecture and related JAR files. This paper proposes an automated approach, JarBot, to suggest all the necessary JAR files for given software architecture in the development process. All related JAR files will be downloaded from the internet based on the extracted information from the given software architecture (class diagram). Class names, method names, and attribute names will be extracted from the downloaded JAR files and matched with the information extracted from the given software architecture to identify the most relevant JAR files. For the result and evaluation of the proposed system, 05 software design was developed for 05 well-completed software project from GitHub. The proposed system suggested more than 95% of the JAR files among expected JAR files for the given 05 software design. The result indicated that the proposed system is suggesting almost all the necessary JAR files.