• 제목/요약/키워드: Software Assets

검색결과 125건 처리시간 0.022초

소프트웨어 재사용성 증대를 위한 재사용 관련 지식의 표현, 관리 및 공유 방법 (Representation, Management and Sharing of Reuse-related Knowledge for Improving Software Reusability)

  • 구형민;고인영
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제24권1호
    • /
    • pp.9-17
    • /
    • 2011
  • 소프트웨어 재사용이란 새로운 소프트웨어를 개발할 때 처음부터 모든 것을 새로 개발하는 것이 아니라 기존에 개발 된 재사용 가능한 자산을 활용하여 개발하는 개념이다. 기존 자산들은 다른 개발자에 의해 다른 목적으로 개발되었으므로 개발자들은 이러한 자산을 올바르게 재사용함에 있어서 어려움에 직면할 수 있다. 이러한 어려움에 직면했을 때 개발자들은 도움을 얻기 위하여 그 자산들과 관련된 적절한 지식이나 과거 유사한 어려움을 겪었던 개발자로부터의 정보를 얻고자 하는 경향이 있다. 따라서 개발 도메인 전문가나 다른 개발자의 지난 경험은 소프트웨어 자산 재사용 시의 참고자료로서 중요한 역할을 할 수 있다. 재사용 관련 지식은 같거나 유사한 문제나 어려움을 해결함에 있어서 시간과 노력을 줄일 수 있게 도와주고, 이미 여러 번의 재사용으로 검증된 자산을 이용할 수 있게 해 줌으로써 재사용의 위험요소 또한 줄일 수 있다. 본 논문에서는 재사용 관련 지식의 표현 모델을 제시하고, 지식의 협력적인 공유 및 증식을 용이하게 하기 위한 소프트웨어 재사용 위키의 아키텍처 및 프로토타입을 설명한다. 또한 재사용 관련 지식 모델과 그에 따른 관리 방법의 효과를 검증하기 위해 재사용 문제해결에 관한 검증 계획을 설명한다. 본 연구를 통해 개발자들의 참여를 유도하여 재사용 관련 지식의 효과적인 공유 및 증식이 가능하고, 정형화되고 체계적인 저장 및 관리를 통해 재사용 문제 해결에 도움을 줄 수 있으리라 기대한다.

  • PDF

A Representation Model for Reusable Assets To Support User Context

  • Hadji, Hend Ben;Choi, Ho-Jin
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2008년도 한국컴퓨터종합학술대회논문집 Vol.35 No.1 (A)
    • /
    • pp.55-59
    • /
    • 2008
  • In the field of software reuse, several methods for storage and retrieval of assets abound. However, these methods often find their limits; they fail to turn up the suitable reusable assets that satisfy the needs of a particular software system under development. Two problems are the root cause of this situation. One is the lack of accurate semantics for describing software assets. The other is the ignorance of the user query context. In such a context, this paper presents an XML-based asset representation model for describing all kinds of software asset that can be reused within software development process. The proposed model provides semantic metadata for describing assets oriented user context in order to build the foundation for semantic reasoning in the retrieval process.

  • PDF

A Study of Software Product Line Engineering application for Data Link Software

  • Kim, Jin-Woo;Lee, Woo-Sin;Kim, Hack-Joon;Jin, So-Yeon;Jo, Se-Hyeon
    • 한국컴퓨터정보학회논문지
    • /
    • 제23권12호
    • /
    • pp.65-72
    • /
    • 2018
  • In this paper, we have studied how to reuse common data link software by applying software product line engineering. Existing common data link software performed different stages of design, implementation, and testing without sharing the accumulated knowledge of different developers. In this situation, developers agreed that sharing the assets of each project and reusing the previously developed software would save human and time costs. Even with the initial difficulties, the common Data Link is a continually proposed project in the defense industry, so we decided to build a product line. The common data link software can be divided into two domains. Among them, the initial feature model for the GUI software was constructed, and the following procedure was studied. Through this, we propose a plan to build a product line for core assets and reuse them in newly developed projects.

MDA / PIM을 이용한 제품계열 핵심자산의 명세 기법 (A Specification Technique for Product Line Core Assets using MDA / PIM)

  • 민현기;한만집;김수동
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권9호
    • /
    • pp.835-846
    • /
    • 2005
  • 제품계열(Product Line)은 핵심자산(Core Asset)을 서로 공유하는 제품들의 집합이며, 제품계열 공학(Product Line Engineering, PLE)은 제품계열을 특화(Instantiation) 할 수 있는 원리, 기술, 메커니즘과 프로세스들의 집합이다. PLE는 여러 유사한 제품들간에 공유할 수 있는 핵심자산을 만들고, 그 핵심자산을 특정 제품에 맞게 실체화 시켜서 제품을 만든다. 모델 기반 아키텍처(Model Driven Architecture, MDA)는 자동화 도구를 이용하여 모델로부터 구현으로 구체화하는 접근 방법이다. 그러므로, 핵심자산을 MDA의 플랫폼 독립적인 모델(PIM)로 정의하여 구현까지 자동화한다면, 두 개발 방법의 장점을 극대화 할 수 있다. 하지만, 핵심자산을 표현하는 UML 프로파일은 현재까지 없으며, PLE의 핵심자산 및 제품 조림의 자동화 생산을 위한 PIM 명세 기법의 연구가 부족하다. 본 논문에서는 PLE기술과 MDA 기술을 접목하기 위해 PIM 수준의 핵심자산 명세 기법을 제안한다. 핵심자산을 명세하기 위해 아키텍처 명세, 컴포넌트 명세, 워크플로우 명세, 알고리즘 명세, 결정 모델 명세 기법을 제안한다. 본 논문의 명세 기법은 PLE, MDA 기술을 사용하여 제품의 생산성, 적용성, 유지보수성 및 품질 향상을 지원한다.

도메인 핵심자산의 가변성 분석을 위한 2차원적 접근방법 (A 2-Dimensional Approach for Analyzing Variability of Domain Core Assets)

  • 문미경;채흥석;염근혁
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권6호
    • /
    • pp.550-563
    • /
    • 2006
  • 소프트웨어 재사용에 대한 활동들을 미리 계획하고 개발 프로세스의 연속적인 부분으로 이루어지도록 지원하는 방법이 소프트웨어 프로덕트 라인 공학이다. 이 방법에서 가장 중요한 것은 관련된 시스템들, 즉 도메인에서 공통성과 가변성(commonality and Variability: C&V)을 분석하는 일이다. 재사용 가능 항목들은 분석된 C&V를 명시적으로 나타냄으로써 프로덕트 라인의 핵심자산이 된다. 이러한 핵심 자산들은 소프트웨어 개발의 각기 다른 단계에서 생산되기 때문에 표현요소들의 추상화 수준이 다르며 이로 인해 각 핵심 자산이 가지고 있는 가변성 또한 각기 다른 수준에서 각기 다른 유형으로 나타나게 된다. 핵심자산의 C&V 분석에 대한 기존 연구들에서는 핵심자산의 구분 없이 일관되게 가변성을 분석하였으며, 공통성과 가변성 식별을 단지 개발자의 직관이나 도메인 전문가의 경험에 의존하고 있었다. 본 논문에서는 소프트웨어 프로덕트 라인에서 핵심자산의 가변성을 분석하기 위하여 수직적 측면과 수평적 측면으로 나누어 접근해가는 2차원적 분석방법을 제안한다. 수평적 접근 방법은 개발 프로세스의 각기 다른 단계에서 산출되는 요구사항, 아키텍처, 컴포넌트의 수준에서 가변성의 유형을 분석하는 것이고, 수직적 접근 방법은 가변성의 상세화 정도에 따라 공통성을 식별하는 수준과 가변점을 상세화하는 수준으로 나누어 분석하는 것이다. 이러한 2차원적 가변성 분석접근 방법은 핵심자산들의 가변성이 서로 연관관계를 가질 수 있도록 해주며, 핵심자산의 재사용 활동이 끊어짐 없이 이루어지도록 한다

AOP를 적용한 프로덕트 라인 가변기능의 구현 (Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming)

  • 허승현;최은만
    • 정보처리학회논문지D
    • /
    • 제13D권4호
    • /
    • pp.593-602
    • /
    • 2006
  • 소프트웨어 개발 방법론은 자원의 재사용을 통하여 생산성을 향상시키고, 제품을 만들어 시장에 배포하기까지 소요되는 시간인 time-to-market을 감소시킬 목적으로 발전되어왔다. 이러한 방법 중의 하나인 프로덕트 라인을 구현하는 기존의 방법은 중심 자원에 대한 간섭이 심하여 가변적 기능과의 조합 절차에서 많은 비용을 요구하므로 기대만큼의 효과를 얻기 힘든 상황이다. 본 논문에서는 소프트웨어 프로덕트 라인의 조합 프로세스를 개선한 방법으로 관점 지향 프로그래밍(Aspect-Oriented Programming)을 도입한다. AOP의 문법 요소인 결합점(join point) 과 교차점(pointcut), 충고(advice)를 이용하여 중심 자원과 가변적 기능을 코드 변경 없이 조합하는 방법을 소개하고, 간단한 시스템을 사례로 들어 관점 지향 개념을 적용하여 요구를 분석 하고 UML로 설계한다. 설계 단계에서 도출된 가변 기능은 구현 단계에서 관점 지향 언어인 AspectJ를 이용하여 중심 기능과 결합한다. 이 실험을 통하여 효율적인 프로덕트 라인의 구현을 보이고, 유용성과 실용성을 입증한다.

컴포넌트 그리드: 개발자 친화적인 국방 소프트웨어 재사용 지원 환경 (Component Grid: A Developer-centric Environment for Defense Software Reuse)

  • 고인영;구형민
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제23권4호
    • /
    • pp.151-163
    • /
    • 2010
  • 국방 소프트웨어 개발 분야는 응용 도메인이 다양하며 각 도메인의 규모도 다른 분야보다 커서 소프트웨어 자산의 재사용이 중요시 되고 있고, 재사용 되는 자산의 품질 및 신뢰성이 강조된다. 국방 분야에서 이러한 중요성을 인식하고 재사용 방법론들을 개발하여 사용하려는 시도가 많았지만 체계적인 재사용이 이루어지지 않아 재사용 이익을 극대화 하지 못하였다. 본 연구에서는 실질적으로 재사용이 왜 잘 이루어지지 않는지에 대한 문제점들을 분석하고, 이러한 문제점들을 해결할 수 있는 요구사항들을 정리하였다. 이러한 요구사항을 만족하며 전군적 소프트웨어 재사용을 지원하는 개발자 친화적인 재사용 지원 환경인 컴포넌트 그리드 시스템을 개발하고 있다. 컴포넌트 그리드 시스템 개발을 위해 아키텍처를 설계하였고, 아키텍처를 구성하는 세부적인 핵심 요소들과 그 역할을 정의하였다. 개발자 부담의 감소를 위한 시맨틱 태깅(Semantic Tagging) 기반의 요구사항 추적 기술을 개발하였고, 재사용 지식 표현 모델을 개발하였다. 또한 개발자들 간의 자유로운 의사소통 과 자산 및 지식의 교류를 지원하기 위해 웹 기반의 자산 관리 환경과 소셜 네트워크 기반의 자산 검색 및 커뮤니티 추천 기법, 위키(Wik) 기반의 참여적, 협력적 지식 정제 및 증식 환경을 개발하였다. 이러한 접근법들을 통합하여 재사용을 지원할 수 있는 웹 기반 컴포넌트 그리드 시스템의 프로토타입을 구현하였다. 본 연구를 통해 국방 소프트웨어 개발 분야에서 개발자들이 소프트웨어 자산들을 투명하고 효율적으로 공유 및 재사용이 가능하게 하여 국방 소프트웨어의 재사용성 및 품질을 향상시킬 수 있으리라 기대한다.

  • PDF

스크럼 방법에서 백로그 바인더를 이용한 재사용 지원 (Support of Reuse in Scrum Method with Backlog Binder)

  • 김지홍
    • 디지털융복합연구
    • /
    • 제11권12호
    • /
    • pp.439-445
    • /
    • 2013
  • 애자일 방법과 소프트웨어 재사용의 장점을 통합하는 여러 연구가 나타나고 있다. 대부분의 연구는 스크럼 방법에 재사용을 도입하기보다는 소프트웨어 프로덕트라인에 애자일 방법을 도입하고 있다. 스크럼은 가장 인기있는 애자일 방법이지만 재사용 결합의 연구는 부족하다. 한편, 백로그와 점증적 산출물과 같은 스크럼 개발의 자산은 재사용이 가능하다. 본 연구는 스크럼 방법에서 재사용이 가능한 통합 자산인 백로그 바인더를 식별하고 이들의 재사용을 지원하는 백로그 바인더 재사용 방안을 제안하였다. 아울러, 제안한 기술을 구인 구직 응용에 적용하여 백로그 바인더와 자산 재사용의 프로토타이핑을 보일 수 있었다.

CVL 기반의 소프트웨어 프로덕트라인 개발 및 테스트 프로세스 (Software Product Line Development and Test Process Based on CVL)

  • 천은영;서용진;이주석;김수지;김진아;김현수
    • 정보과학회 논문지
    • /
    • 제42권1호
    • /
    • pp.76-85
    • /
    • 2015
  • 소프트웨어 프로덕트라인 공학은 프로덕트 패밀리를 구성하는 프로덕트들의 공통성과 가변성을 분석하여 이를 바탕으로 프로덕트를 생산하는 방법이다. 소프트웨어 프로덕트라인 공학을 적용함에 있어 올바른 핵심자산을 구축하는 것이 매우 중요하며, 이를 달성하기 위해서는 공통성과 가변성의 명확한 구분, 추적성의 유지, 산출물의 신뢰성 보장 등이 선행되어야 한다. 본 논문에서는 공통성과 가변성의 명확한 구분을 위해 CVL 기반의 소프트웨어 프로덕트라인 개발 및 테스트 프로세스를 제안한다. 본 논문에서 제안하는 방법은 추적성의 유지와 산출물의 신뢰성 보장을 위한 추가적인 절차를 포함함으로써 올바른 핵심자산을 구축하도록 도와준다.

프로덕트 라인 기반 서비스 명세 생성 방법 (An Approach to Developing Service Descriptions Based on Product Line)

  • 박준석;문미경;염근혁
    • 정보처리학회논문지D
    • /
    • 제16D권5호
    • /
    • pp.747-754
    • /
    • 2009
  • 소프트웨어 프로덕트 라인은 일련의 관련된 시스템들, 즉 도메인 내에서 재사용될 가능성이 높은 공통된 부분들을 식별하고, 시스템마다 상이하게 나타나는 가변적 요소들의 분석을 통해 핵심 자산을 생성하는 방법이다. 이러한 프로덕트 라인 개념은 객체 및 컴포넌트 기반의 소프트웨어 개발 패러다임에 적용되어 소프트웨어 개발의 생산성을 증대시켰다. 최근 들어 소프트웨어 개발의 패러다임은 서비스라는 핵심 자산을 이용하여 소프트웨어를 개발하는 서비스 지향 패러다임으로 변화하고 있다. 따라서 이러한 패러다임하에서 비즈니스 변화에 민첩하게 대응하고, 체계적이고 유연한 서비스 지향 소프트웨어 개발을 할 수 있도록 핵심 자산인 서비스 생성 방법은 프로덕트 라인 기법을 적용시킬 필요가 있다. 본 논문에서는 서비스 지향 패러다임과 프로덕트 라인의 결합을 통해 소프트웨어 개발의 핵심 자산인 도메인 서비스를 개발하고 기술하는 방법에 대해 제시한다. 도메인 서비스는 도메인 서비스 공통적/선택적 속성 가변성, 오퍼레이션 타입의 가변성, 메시지 타입의 가변성을 통해 공통성과 가변성이 명확히 기술되도록 한다. 본 논문에서 제시하는 방법을 통해 유사한 기능을 가진 도메인 서비스를 목적에 맞게 커스터마이즈하여 다양한 서비스를 생성하게 함으로써 서비스 지향 개발을 유연하고 효율적으로 수행할 수 있다.