KR20110094804A - 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 - Google Patents

소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 Download PDF

Info

Publication number
KR20110094804A
KR20110094804A KR1020100014426A KR20100014426A KR20110094804A KR 20110094804 A KR20110094804 A KR 20110094804A KR 1020100014426 A KR1020100014426 A KR 1020100014426A KR 20100014426 A KR20100014426 A KR 20100014426A KR 20110094804 A KR20110094804 A KR 20110094804A
Authority
KR
South Korea
Prior art keywords
tag
software
event
terminal
output
Prior art date
Application number
KR1020100014426A
Other languages
English (en)
Other versions
KR101104739B1 (ko
Inventor
고인영
이준기
조혜경
박승진
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020100014426A priority Critical patent/KR101104739B1/ko
Publication of KR20110094804A publication Critical patent/KR20110094804A/ko
Application granted granted Critical
Publication of KR101104739B1 publication Critical patent/KR101104739B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Abstract

본 발명은 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법에 관한 것으로서, 시맨틱 태깅 서버는 소프트웨어 산출물을 저장하는 소프트웨어 산출물 DB와, 상기 저장된 소프트웨어 산출물에 대한 태그를 저장하는 태그 DB와, 소정의 소프트웨어 산출물에 대한 태그를 생성하여 상기 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하기 위한 태그 이벤트와, 소정의 소프트웨어 산출물에 대한 태그를 이용하여 상기 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트를 송신하는 단말과, 상기 태그 이벤트를 수신하고 수신된 태그 이벤트의 요청에 따라 태그를 생성하여 상기 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하고, 상기 쿼리 이벤트를 수신하고 수신된 쿼리 이벤트의 요청에 따라 온톨로지 연산을 수행하여 상기 소프트웨어 산출물을 검색하고 검색된 소프트웨어 산출물의 리스트를 상기 단말로 제공하는 시맨틱 태깅 서버를 구성한다. 상기와 같은 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버에 따르면, 소프트웨어 산출물에 시맨틱 태깅을 하고 시맨틱 태그를 이용한 요구사항 추적을 함으로써, 소프트웨어 산출물의 재사용율을 높이는 효과가 있다. 소프트웨어 개발자들은 원하는 소프트웨어 산출물을 온톨로지 기반의 태그를 이용하여 용이하게 검색할 수 있으며, 문서화 작업에 대한 부담 역시 줄일 수 있는 효과가 있다.

Description

소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법{SEMANTIC TAGGING SERVER FOR SUPPORTING REUSE OF SOFTWARE ARTIFACTS, AND METHODS THEREOF}
본 발명은 시맨틱 태깅 서버와 그 방법에 관한 것으로서, 좀 더 상세하게는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법에 관한 것이다.
소프트웨어의 개발은 소프트웨어 공학의 관점에서 볼 때 요구사항 분석 단계, 요구사항 명세서 작성 / 설계 단계, 설계 문서 작성 / 구현 단계, 소스 코드 작성 / 테스트 단계, 테스트 계획 / 결과 문서 작성 단계 등으로 구성된다. 소프트웨어 개발자들은 이러한 일련의 과정을 통해 단지 클라이언트의 요구사항을 구현하기 위한 실행 코드를 생성하는 것뿐만 아니라 다양한 부대 업무를 수반하게 된다. 실행 코드의 테스트와 같은 것은 물론 클라이언트의 요구사항을 반영하기 위한 각종 문서화 작업(documentation)이 수반된다. 문서화 작업은 개발 초기의 요구사항 명세서 작성, 설계 문서의 작성이나 개발 완료 단계의 결과 문서의 작성 등 거의 모든 과정에서 기록화되는 작업이다. 이처럼 문서화 작업이 전반적으로 수반되는 이유는 클라이언트의 요구사항을 반영하기 위한 알고리즘의 생성이나 그 결과 문서가 이후에 그 소프트웨어를 재사용할 수 있도록 도움을 주기 때문이다. 물론, 소스 코딩을 위해서는 알고리즘의 생성 등을 위한 요구사항 명세서 작성이 필연적으로 수반될 수밖에 없음은 자명하다. 시스템상으로 볼 때 소프트웨어가 하드웨어에 비하여 비중이 높아지는 경향이 있으므로, 소프트웨어의 규모나 양이 매우 방대해지고 있다. 이에, 소프트웨어 개발자들은 소프트웨어를 그 기능별로 구분하여 소프트웨어 컴포넌트별로 구현하여 병합(merge)하게 된다. 기능별로 구분된 소프트웨어 컴포넌트는 재사용의 관점에서 볼 때, 더더욱 그 이용 가치가 높을 수밖에 없다.
앞서 살펴본 바와 같이, 소프트웨어의 재사용을 위해서는 문서화 작업이 선행되어야 하며, 이에 의해 생성된 문서들의 검색 내지는 추적 작업 역시 매우 중요할 수밖에 없다. 특히, 클라이언트의 요구사항을 추적하여 소프트웨어 컴포넌트를 검색하는 과정이 매우 중요하다. 요구사항 추적(requirements traceablility)란 클라이언트의 요구사항과 이에 따라 소프트웨어 개발 과정에서 생성되는 소프트웨어 산출물(software artifacts) 간의 관계를 규명하는 것을 말한다. 소프트웨어 산출물은 소프트웨어 개발 과정에서 생성되는 소스 코드, 실행 코드는 물론 각종 문서들을 모두 포함한다. 요구사항 추적에는 소스 코드보다는 주로 요구사항 명세서, 설계 문서 등이 이용될 수 있다. 종래에는 요구사항 추적을 위해 정보 추출 기법과 정형화된 요구사항 명세 기법이 주로 활용되고 있다. 좀 더 살펴보면 다음과 같다.
정형화된 요구사항 명세 기법은 요구사항 명세서를 정해진 형식에 따라 기입 및 작성하는 기법이다. 이에, 정형화된 요구사항 명세서의 작성에도 부담이 있으며, 정해진 키워드 타입으로만 검색해야 하므로 자연어 기반의 비정형화된 문서에 대해서는 요구사항 추적이 어렵다는 단점이 있다. 한편, 정보 추출 기법은 데이터 마이닝(data mining)이나 텍스트 마이닝(text mining) 기법을 이용하는 것으로서, 인터넷 검색과 같이 자연어 기반의 문서상에서 핵심어를 찾아내어 요구사항을 추적하는 기법이다. 이는 정형화된 요구사항 명세 기법에 비하여 좀 더 상세하고 세밀한 검색이 가능하지만, 사용자가 원하지 않는 검색 결과도 상당수 검색되는 것을 피할 수 없다. 즉, 검색 결과의 정확도에 문제가 있다. 이는 일반적인 인터넷 검색을 통한 검색 결과로부터 다시 재검색하여야 하는 불편함과 다를 바 없다.
본 발명의 목적은 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버를 제공하는 데 있다.
본 발명의 다른 목적은 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법을 제공하는 데 있다.
상술한 본 발명의 목적을 달성하기 위한 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버는 소정의 소프트웨어 산출물(software artifacts)에 대한 태그를 생성하여 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하기 위한 태그 이벤트(tag event)와, 소정의 소프트웨어 산출물에 대한 태그를 이용하여 상기 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트(query event)를 단말로부터 수신하는 이벤트 처리부와, 상기 수신된 태그 이벤트의 요청에 따라 태그를 생성하여 상기 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하거나, 상기 수신된 쿼리 이벤트의 요청에 따라 온톨로지 연산을 수행하여 온톨로지 파일을 생성하는 온톨로지 관리부와, 상기 생성된 온톨로지 파일에 의해 검색된 소프트웨어 산출물의 리스트를 생성하여 상기 단말로 제공하는 소프트웨어 산출물 검색부를 포함하도록 구성될 수 있다. 여기에서, 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 되도록 구성될 수 있다. 이때, 상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내도록 구성될 수 있다. 또한, 상기 태그는 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다. 한편, 상기 태그를 생성 또는 수정 시 추천 태그를 상기 단말로 제공하는 태그 추천부를 더 포함하도록 구성될 수 있다. 여기에서, 상기 태그 추천부는 상기 추천 태그를 상기 단말로 제공하는 경우, 태그의 생성, 수정 또는 검색을 위해 상기 단말 상에서 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 상기 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 상기 입력된 단어와 연관성을 가지며 소정 기준 횟수 이상 채택된 태그를 제공하도록 구성될 수 있다. 그리고 적어도 하나 이상의 단말로부터 복수의 쿼리 이벤트 또는 태그 이벤트를 수신하는 경우, 상기 수신된 복수의 쿼리 이벤트 또는 태그 이벤트 간의 충돌 오류 및 호환성 검사를 수행하여 오류를 수정하는 오류 제어부를 더 포함하도록 구성될 수 있다.
상술한 본 발명의 다른 목적을 달성하기 위한 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법은 이벤트 처리부가 소정의 소프트웨어 산출물(software artifacts)에 대한 태그를 생성, 수정 또는 삭제하기 위한 태그 이벤트(tag event)를 단말로부터 수신하는 단계와, 추천 태그부가 상기 수신된 생성, 수정하기 위한 태그 이벤트에 대응하여 추천 태그를 상기 단말로 제공하는 단계와, 온톨로지 관리부가 상기 제공된 추천 태그를 이용하여 태그를 생성하여 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정하는 단계와, 상기 온톨로지 관리부가 상기 수신된 삭제하기 위한 태그 이벤트에 대응하여 해당 태그를 삭제하는 단계를 포함하도록 구성될 수 있다. 여기에서, 상기 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 될 수 있다. 그리고 상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내도록 구성될 수 있다. 이때, 상기 태그는, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다. 한편, 상기 추천 태그부가 상기 수신된 생성, 수정하기 위한 태그 이벤트에 대응하여 추천 태그를 상기 단말로 제공하는 단계는, 상기 추천 태그를 상기 단말로 제공하는 경우 상기 단말에서 태그의 생성, 수정 또는 검색을 위해 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 상기 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 상기 입력된 단어와 관련하여 소정 기준 횟수 이상 이용된 태그를 제공하도록 구성될 수 있다.
상술한 본 발명의 또 다른 목적을 달성하기 위한 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법은 이벤트 처리부가 소정의 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트를 단말로부터 수신하는 단계와, 온톨로지 관리부가 상기 수신된 쿼리 이벤트의 요청에 따른 태그와 연관된 태그를 상기 태그 DB에서 검색하기 위한 온톨로지 연산을 수행하는 단계와, 상기 소프트웨어 산출물 검색부가 상기 수행된 온톨로지 연산에 의해 산출된 소프트웨어 산출물에 관한 리스트를 생성하여 상기 단말로 제공하는 단계를 포함하도록 구성될 수 있다. 그리고 상기 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 될 수 있다. 이때, 상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내도록 구성될 수 있다. 그리고 상기 태그는, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다.
상기와 같은 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법에 따르면, 다이어그램, 표, 자연어, 코드와 같은 다양한 표현 방식으로 기술되는 소프트웨어 산출물에 시맨틱 태깅하고 시맨틱 태그를 이용한 요구사항 추적을 함으로써, 소프트웨어 산출물의 재사용율을 높이는 효과가 있다. 소프트웨어 산출물의 표현 방식에 상관없이 소프트웨어 산출물 특히, 문서를 변경하지 않고도 요구사항에 대한 온톨로지 기반의 정보를 추가할 수 있다. 그리고 소프트웨어 개발자들은 원하는 소프트웨어 산출물을 온톨로지 기반의 태그를 이용하여 용이하게 검색할 수 있으며, 문서화 작업에 대한 부담 역시 줄일 수 있는 효과가 있다. 특히, 소프트웨어 컴포넌트를 그대로 재사용하는 경우 문서화 부담은 전혀 없으며, 소프트웨어 컴포넌트를 일부 수정하는 경우에도 요구사항 명세서 등의 문서를 일부 수정하면 되므로 문서화에 대한 부담은 현저히 낮아진다.
한편, 서로 다른 도메인의 소프트웨어 개발자들이나 서로 다른 개발 프로세스에 참여한 소프트웨어 개발자들이라 할지라도 공통적인 사항에 대한 온톨로지 기반의 태그를 활용하여 소프트웨어 컴포넌트를 검색함으로써, 도메인 경계나 개발 프로세스를 넘나드는 소프트웨어 컴포넌트의 재활용이 가능하다.
도 1은 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 재사용 지원 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 시맨틱 태깅 동작의 사용자 인터페이스를 나타내는 예시도이다.
도 3은 본 발명의 일 실시예에 따라 시맨틱 태깅된 소프트웨어 산출물의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 산출물 검색 동작을 나타내는 사용자 인터페이스 화면의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 산출물의 재사용을 지원하기 위한 시맨틱 태깅 방법의 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 재사용 지원 시스템의 블록 구성도이다.
도 1을 참조하면, 시맨틱 태그를 이용한 소프트웨어 재사용 지원 시스템(100)(이하, '소프트웨어 재사용 지원 시스템'이라 함)은 소프트웨어 산출물 DB(110), 태그 DB(120), 단말(130) 및 시맨틱 태깅 서버(140)를 포함하도록 구성될 수 있다. 여기에서, 시맨틱 태깅 서버(140)는 이벤트 처리부(141), 온톨로지 관리부(142), 소프트웨어 산출물 검색부(143), 태그 추천부(144) 및 오류 제어부(145)를 포함하도록 구성될 수 있다.
여기에서, 소프트웨어 재사용 지원 시스템(100)은 온톨로지 기반의 시맨틱 태그를 이용하여 소프트웨어 산출물을 재사용하도록 하는 시스템이다. 소프트웨어 재사용 지원 시스템(100)은 소프트웨어 산출물에 태그를 추가하여 온톨로지 기반의 검색이 가능하도록 함으로써, 소프트웨어 산출물의 표현 형식(표, 다이어그램, 소스 코드 등)에 구애받지 않고 사용자가 원하는 소프트웨어 산출물을 정확하게 검색할 수 있다. 소프트웨어 재사용 지원 시스템(1000에 따르면, 소프트웨어 산출물(소스 코드, 실행 코드, 요구사항 명세서 등)의 전부 또는 일부를 재사용하여, 소프트웨어 개발자들의 소프트웨어 컴포넌트 생성에 대한 노력이나 문서화에 대한 부담을 줄이게 한다. 이하, 세부적인 구성에 대하여 좀 더 상세하게 설명한다.
먼저, 소프트웨어 산출물 DB(110)는 소프트웨어 산출물을 저장하도록 구성될 수 있다. 여기에서, 소프트웨어 산출물이란, 소정의 소프트웨어 컴포넌트의 소스 코드(source code), 실행 코드(execution code), 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상을 의미한다. 즉, 하나의 소프트웨어 개발 프로세스를 통해 산출되는 모든 결과물이라고 바꾸어 말할 수 있다.
다음으로, 태그 DB(120)는 소프트웨어 산출물 DB(110)에 저장된 소프트웨어 산출물에 대한 태그를 저장하도록 구성될 수 있다. 즉, 소프트웨어 산출물에 대해 하나 또는 그 이상의 태그를 설정하고, 설정된 태그를 별도의 DB에 저장하도록 구성될 수 있다. 물론, 소프트웨어 산출물 DB(110)나 태그 DB(120)는 하나의 물리적 저장소로 구성될 수도 있다. 다만, 본 발명에 따른 소프트웨어 재사용 지원 시스템(100)은 소프트웨어 산출물의 다운로드(download)보다는 태그를 활용한 소프트웨어 산출물의 검색에 초점이 맞추어져 있으므로, 별도로 구성하였다.
다음으로, 단말(130)은 소정의 소프트웨어 산출물에 대한 태그를 생성하여 태그 DB(120)에 저장하거나 상기 태그 DB(120)에 기저장된 태그를 수정 또는 삭제하기 위한 태그 이벤트(tag event)와, 소정의 소프트웨어 산출물에 대한 태그를 이용하여 상기 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트(query event)를 송신하도록 구성될 수 있다. 여기서, 단말(130)은 하나 또는 그 이상의 복수 개의 단말(130)이 직접 또는 네트워크로 시맨틱 태깅 서버(140)에 연결되도록 구성될 수 있다. 단말(130)은 사용자(소프트웨어 개발자)가 소프트웨어 재사용을 위해 소프트웨어 컴포넌트를 검색하거나 자신이 개발한 소프트웨어 컴포넌트에 태그를 붙여 저장하도록 하기 위한 사용자 인터페이스를 구비하는 구성이다. 사용자는 단말(130) 상의 사용자 인터페이스 화면을 통해 자신이 개발한 소프트웨어 산출물(소스 코드, 요구사항 명세서 등)에 하나 이상의 코드를 붙여 태그를 생성하기 위한 태그 이벤트를 송신한다. 그리고 태그 DB(120)에 기저장된 태그의 경우에는 기정된 태그를 수정하거나 삭제하기 위한 태그 이벤트를 송신한다. 물론, 이러한 이벤트에 따라 시맨틱 태깅 서버(140)가 후속 동작을 취할 것이다. 이처럼 태그 이벤트는 사용자가 직접 사용 권한을 갖는 소프트웨어 산출물에 대한 이벤트이다. 한편, 사용자는 다른 사용자가 이미 개발한 소프트웨어 컴포넌트를 재사용하기 위해서는 이를 검색하여야 하는데, 이는 쿼리 이벤트를 통해 시맨틱 태깅 서버(140)에 요청할 수 있다. 사용자는 단말(130) 상의 사용자 인터페이스 화면을 통해 소정의 단어 등을 입력하여 쿼리 이벤트를 생성하고 생성된 쿼리 이벤트를 시맨틱 태깅 서버(140)로 송신하여 시맨틱 태깅 서버(140)가 검색을 수행하도록 할 수 있다.
다른 한편, 태그는 소프트웨어 컴포넌트의 기능적 요구사항 또는 또는 비기능적 요구사항을 나타내도록 구성될 수 있다. 여기에서, 기능적 요구사항이란 소프트웨어가 지원해야 할 시스템의 기능적인 측면에 관한 사항을 의미한다. 즉, 소프트웨어의 산출물 검색 기능이라든가 산출물 등록 기능과 같이 어떤 목적을 달성하기 위한 순수한 기능적인 측면을 의미한다. 반면, 비기능적 요구사항이란 기능적 요구사항 이외에 소프트웨어의 품질적인 측면에 관한 사항을 의미한다. 예를 들면, 검색 성능의 고도성, 시스템 사용의 용이성, 시스템의 확장성, 시스템의 보안성 등이 있다. 이와 같이, 태그는 하나의 소프트웨어 컴포넌트에서 기능적인 측면과 비기능적인 측면 모두에 대해 설정되도록 구성될 수 있다.
그리고 태그는 소프트웨어 산출물을 태깅한 사람, 태깅된 소프트웨어 산출물의 이름, 소프트웨어 산출물의 저장 위치, 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다.
다음으로, 시맨틱 태깅 서버(140)는 단말(130)이 송신한 태그 이벤트를 수신하고 수신된 태그 이벤트의 요청에 따라 태그를 생성하여 상기 태그 DB(120)에 저장하거나 상기 태그 DB(120)에 기저장된 태그를 수정 또는 삭제하고, 상기 쿼리 이벤트를 수신하고 수신된 쿼리 이벤트의 요청에 따라 온톨로지 연산을 수행하여 상기 소프트웨어 산출물을 검색하고 검색된 소프트웨어 산출물의 리스트를 상기 단말(130)로 제공하도록 구성될 수 있다. 요약하면, 시맨틱 태깅 서버(140)는 단말(130)의 태그 이벤트에 따라 태그 DB(120)에 저장된 태그를 생성, 수정 또는 삭제하고, 쿼리 이벤트에 따라 온톨로지 연산을 수행하여 소프트웨어 산출물 DB(110)에 저장된 소정의 소프트웨어 산출물을 검색하여 그 결과를 단말(130)로 제공한다.
이때, 시맨틱 태깅 서버(140)는, 태그를 생성 또는 수정 시 추천 태그를 상기 단말로 제공하도록 구성될 수 있다. 좀 더 구체적으로는 다음과 같다. 시맨틱 태깅 서버(140)가 추천 태그를 단말(130)로 제공하는 경우, 태그의 생성, 수정 또는 검색을 위해 단말(130) 상에서 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 입력된 단어와 연관성을 가지며 소정 기준 횟수 이상 채택된 자주 이용되는 태그를 제공하도록 구성될 수 있다.
한편, 시맨틱 태깅 서버(140)는 적어도 하나 이상의 단말(130)로부터 복수의 쿼리 이벤트 또는 태그 이벤트를 수신하는 경우, 수신된 복수의 쿼리 이벤트 또는 태그 이벤트 간의 충돌 오류 및 호환성 검사를 수행하여 오류를 수정하도록 구성될 수 있다. 즉, 여러 소프트웨어 개발자들이 여러 단말(130)을 통해 동시 접속하여 실시간으로 태그를 수정하는 경우, 이벤트 간의 충돌 오류나 이벤트의 호환성 검사가 수행된다.
이하, 도 2 및 도 3을 참조하여 상기 설명한 태깅 동작에 대해 좀 더 설명한다.
도 2는 본 발명의 일 실시예에 따른 시맨틱 태깅 동작의 사용자 인터페이스를 나타내는 예시도이다.
도 2의 (a)는 단말(130) 상의 사용자 인터페이스 화면의 하나로서, 시맨틱 태깅을 위해 기입되는 항목을 나타내고 있다. URL, 산출물 타입, 태그 이름 등이 도시되어 있다. 산출물 타입에는 'Requirements specification'이라고 입력되어 소프트웨어 산출물의 타입이 요구사항에 관련된 것임을 알 수 있다. 그리고 태그 이름은 'Authorization'이라고 입력되어 인가에 관련된 태그임을 짐작할 수 있다. 그리고 도 2의 (b)는 요구사항 온톨로지(Requirements Ontology)를 부분적으로 나타낸 것이다. 도 2의 (b)를 좀 더 살펴보면, 요구사항 온톨로지에는 여러 가지가 있겠지만, 도 2의 (a)에 입력된 태그인 'Authorization'은 요구사항 온톨로지로 보면 보안(Security) 중 보안 메커니즘(Security_Mechanism)에 해당하고, 보안 메커니즘 중 보안 표식(Security Notation)에 해당하고, 보안 표식 중에서는 인가(Authorization)에 해당함을 알 수 있다. 도 2의 (a)나 (b) 모두 시맨틱 태깅을 위한 하나의 예시 화면에 해당하며, 도 2의 (a)에서처럼 직접 입력하거나 도 2의 (b)에서처럼 요구사항 온톨로지에 대한 추천 태그를 제공하여 사용자가 선택적으로 태깅을 할 수 있도록 구성될 수도 있다. 도 2의 (b)는 자주 이용되는 태그 또는 본 발명에서 제공하는 태그 용어 세트를 나타낸다고 볼 수 있다.
도 3은 본 발명의 일 실시예에 따라 시맨틱 태깅된 소프트웨어 산출물의 예시도이다.
도 3의 (a)에는 소프트웨어 산출물의 하나인 요구사항 명세서(Requirements specification)가 도시되어 있으며, 도 3의 (b)에는 설계 문서(design document)가 도시되어 있으며, 도 3의 (c)에는 소프트웨어 컴포넌트 명세서가 도시되어 있다. 태깅은 소프트웨어 산출물의 표현 방식에 구애받지 않고, 어떠한 소프트웨어 산출물에도 태깅이 될 수 있다. 각각의 소프트웨어 산출물에 대해 태깅이 될 수 있음은 물론이고, 도 3의 (a)와 같이 하나의 소프트웨어 산출물에 대해서도 부분적으로 태깅이 될 수도 있다.
다음으로, 시맨틱 태깅 서버(140)의 소프트웨어 산출물 검색 동작을 도 4를 참조하여 좀 더 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 산출물 검색 동작을 나타내는 사용자 인터페이스 화면의 예시도이다.
도 4의 (a)는 요구사항 기반 산출물의 검색을 위한 사용자 인터페이스 화면으로서, 소프트웨어 개발 프로젝트 별 요구사항을 설명한 화면을 도시하고 있다. 도 4의 (a)에 도시된 사용자 인터페이스 상에서 검색어를 입력하여 소프트웨어 산출물을 검색할 수 있다. 한편, 도 4의 (b) 및 (c)는 요구사항 온톨로지 기반의 검색 동작을 나타내는 사용자 인터페이스 화면으로서, 시맨틱 태깅 서버(140)에서 제공하는 태그 용어 세트를 통해 사용자가 검색 태그를 선택할 수 있음을 나타낸다.
한편, 시맨틱 태깅 서버(140)는 적어도 하나 이상의 단말(130)로부터 복수의 쿼리 이벤트 또는 태그 이벤트를 수신하는 경우, 수신된 복수의 쿼리 이벤트 또는 태그 이벤트 간의 충돌 오류 및 호환성 검사를 수행하여 오류를 수정하도록 구성될 수 있다. 시맨틱 태깅 서버(140)에 연결된 단말(130)이 복수 개 존재할 수 있으며, 그 사용자 역시 복수일 수 있으므로, 실시간으로 발생하는 태그 이벤트의 충돌 오류나 호환성 오류가 발생할 수 있으며, 이들의 중재 내지는 오류 수정이 필요하다.
이하, 앞서 설명한 시맨틱 태깅 서버(140)의 세부 구성에 대하여 도 1을 참조하여 좀 더 설명한다.
도 1에서 앞서 살펴본 바와 같이, 시맨틱 태깅 서버(140)는 이벤트 처리부(141), 온톨로지 관리부(142), 소프트웨어 산출물 검색부(143), 태그 추천부(144) 및 오류 제어부(145)를 포함하도록 구성될 수 있다. 이하, 각 구성에 대하여 설명한다.
먼저, 이벤트 처리부(141)는 소정의 소프트웨어 산출물에 대한 태그를 생성하여 태그 DB(120)에 저장하거나 태그 DB(120)에 기저장된 태그를 수정 또는 삭제하기 위한 태그 이벤트와, 소정의 소프트웨어 산출물에 대한 태그를 이용하여 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트를 단말로부터 수신하도록 구성될 수 있다. 즉, 이벤트 처리부(141)는 단말(130)로부터 이벤트를 수신하여 처리하는 구성이다. 이벤트 처리부(141)는 태그 이벤트가 태그의 생성 또는 수정을 위한 이벤트인 경우에는 태그 이벤트를 통해 요청된 태그를 태그 추천부(144)로 제공한다. 그리고 기저장된 태그의 삭제를 위한 이벤트인 경우에는 온톨로지 관리부(142)가 이를 처리할 수 있도록 요청한다. 한편, 이벤트 처리부(141)는 쿼리 이벤트를 통해 요청된 검색어를 온톨로지 관리부(142)로 제공하여 온톨로지 관리부(142)가 온톨로지 연산을 수행할 수 있도록 한다.
다음으로 온톨로지 관리부(142)는 이벤트 처리부(141)에서 수신된 태그 이벤트의 요청에 따라 태그를 생성하여 태그 DB(120)에 저장하거나 태그 DB(120)에 기저장된 태그를 수정 또는 삭제하거나, 이벤트 처리부(141)에서 수신된 쿼리 이벤트의 요청에 따라 온톨로지 연산을 수행하여 온톨로지 파일을 생성하도록 구성될 수 있다. 여기에서, 쿼리 이벤트의 경우에는 온톨로지 관리부(142)가 태그 DB(12)에 저장된 각 태그들 간의 연관성을 나타내는 온톨로지 연산을 수행한다. 쿼리 이벤트의 요청에 의한 태그와 다른 기저장된 태그들 간의 의미적 유사성을 온톨로지 기반에 의해 연산하여 관련 태그들을 추출해 낸다. 이는 시맨틱 태그들간의 관계성을 미리 정의한 온톨로지에 의해 도출될 수 있는 결과이다. 따라서 사용자는 원하는 소프트웨어 컴포넌트를 정확하게 검색해 낼 수 있다.
다음으로 소프트웨어 산출물 검색부(143)는 온톨로지 관리부(142)에서 생성된 온톨로지 파일에 의해 검색된 소프트웨어 산출물의 리스트를 생성하여 단말(130)로 제공하도록 구성될 수 있다. 이때, 소프트웨어 산출물 검색부(143)는 온톨로지 연산을 통해 온톨로지 파일 상의 각 태그들의 의미적 관계성을 파악하고, 의미적 거리성의 순위에 따라 리스트를 생성하여 출력하도록 구성될 수 있다.
다음으로 태그 추천부(144)는 태그를 생성 또는 수정 시 추천 태그를 단말(130)로 제공하도록 구성될 수 있다. 여기에서, 태그 추천부(144)가 추천 태그를 단말(130)로 제공하는 경우, 태그의 생성, 수정 또는 검색을 위해 단말(130) 상에서 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 입력된 단어와 연관성을 가지며 소정 기준 횟수 이상 빈번하게 채택된 태그를 제공하도록 구성될 수 있다.
다음으로 오류 제어부(145)는 적어도 하나 이상의 단말(130)로부터 복수의 태그 이벤트 또는 쿼리 이벤트를 수신하는 경우, 수신된 복수의 쿼리 이벤트 또는 태그 이벤트 간의 충돌 오류 및 호환성 검사를 수행하여 오류를 수정하도록 구성될수 있다. 더 나아가 오류 제어부(145)는 이벤트 처리부(141)에서 수신한 이벤트를 온톨로지 관리부(142)로 전달하거나, 소프트웨어 산출물 검색부(143)의 소프트웨어 산출물 검색 기능을 제어하는 일반적 제어 기능을 더 구비하도록 구성될 수 있다.
한편, 소프트웨어 산출물이란 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 되도록 구성될 수 있다. 그리고 태그는, 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 모두 나타내도록 구성될 수 있다. 그리고 태그는 소프트웨어 산출물을 태깅한 사람, 태깅된 소프트웨어 산출물의 이름, 소프트웨어 산출물의 저장 위치, 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있음을 앞서 설명한 바와 같다.
이하, 도 5를 참조하여 소프트웨어 산출물의 재사용을 지원하기 위한 시맨틱 태깅 방법을 설명한다.
도 5는 본 발명의 일 실시예에 따른 소프트웨어 산출물의 재사용을 지원하기 위한 시맨틱 태깅 방법의 흐름도이다.
도 5를 참조하면, 먼저, 이벤트 처리부(141)가 소정의 소프트웨어 산출물에 대한 태그를 생성, 수정 또는 삭제하기 위한 태그 이벤트를 단말로부터 수신한다(S110). 여기에서, 소프트웨어 산출물은 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 될 수 있다. 그리고 태그는 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 모두 나타내도록 구성될 수 있으며, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다.
다음으로 추천 태그부(144)가 이벤트 처리부(141)에서 수신된 생성, 수정하기 위한 태그 이벤트에 대응하여 추천 태그를 단말(130)로 제공한다(S120). 이때, 추천 태그부(144)는 추천 태그를 단말(130)로 제공하는 경우 단말(130)에서 태그의 생성, 수정 또는 검색을 위해 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 입력된 단어와 관련하여 소정 기준 횟수 이상 자주 이용된 태그를 제공하도록 구성될 수 있다.
다음으로 온톨로지 관리부(142)가 추천 태그부(144)로부터 제공된 추천 태그를 이용하여 태그를 생성하여 태그 DB(120)에 저장하거나 태그 DB(120)에 기저장된 태그를 수정한다(S130).
다음으로 온톨로지 관리부(142)가 이벤트 처리부(141)에서 수신된 삭제하기 위한 태그 이벤트에 대응하여 해당 태그를 삭제한다(S140).
위 단계 S130 및 S140은 그 순서가 병렬적으로 구성될 수 있음은 물론이다.
이하, 도 6을 참조하여 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법을 설명한다.
도 6은 본 발명의 일 실시예에 따른 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법의 흐름도이다.
먼저, 이벤트 처리부(141)가 소정의 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트를 단말(130)로부터 수신한다(S210). 여기에서, 소프트웨어 산출물은 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상이 될 수 있다. 그리고 태그는 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 모두 나타내도록 구성될 수 있으며, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하도록 구성될 수 있다.
다음으로 온톨로지 관리부(142)가 이벤트 처리부(141)에서 수신된 쿼리 이벤트의 요청에 따른 태그와 연관된 태그를 태그 DB(120)에서 검색하기 위한 온톨로지 연산을 수행한다(S220).
다음으로 소프트웨어 산출물 검색부(143)가 온톨리지 관리부(142)에서 수행된 온톨로지 연산에 의해 산출된 소프트웨어 산출물에 관한 리스트를 생성하여 단말(130)로 제공한다(S230).
위에서 설명한 소프트웨어 산출물의 재사용을 지원하기 위한 시맨틱 태깅 방법 또는 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법은 각각의 단계를 실행시키기 위한 프로그램으로 작성될 수 있으며, 작성된 프로그램은 플래시 롬(flash ROM)과 같은 컴퓨터로 읽을 수 있는 매체에 기록될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 소프트웨어 산출물 DB 120: 태그 DB
130: 단말 140: 시맨틱 태깅 서버
141: 이벤트 처리부 142: 태그 추천부
143: 소프트웨어 산출물 검색부 144: 온톨로지 관리부
145: 오류 제어부

Claims (16)

  1. 소정의 소프트웨어 산출물(software artifacts)에 대한 태그를 생성하여 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하기 위한 태그 이벤트(tag event)와, 소정의 소프트웨어 산출물에 대한 태그를 이용하여 상기 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트(query event)를 단말로부터 수신하는 이벤트 처리부와,
    상기 수신된 태그 이벤트의 요청에 따라 태그를 생성하여 상기 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정 또는 삭제하거나, 상기 수신된 쿼리 이벤트의 요청에 따라 온톨로지 연산을 수행하여 온톨로지 파일을 생성하는 온톨로지 관리부와,
    상기 생성된 온톨로지 파일에 의해 검색된 소프트웨어 산출물의 리스트를 생성하여 상기 단말로 제공하는 소프트웨어 산출물 검색부를 포함하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  2. 제1항에 있어서,
    상기 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상인 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  3. 제2항에 있어서,
    상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  4. 제3항에 있어서,
    상기 태그는, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  5. 제4항에 있어서,
    상기 태그를 생성 또는 수정 시 추천 태그를 상기 단말로 제공하는 태그 추천부를 더 포함하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  6. 제5항에 있어서,
    상기 태그 추천부는 상기 추천 태그를 상기 단말로 제공하는 경우, 태그의 생성, 수정 또는 검색을 위해 상기 단말 상에서 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 상기 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 상기 입력된 단어와 연관성을 가지며 소정 기준 횟수 이상 채택된 태그를 제공하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  7. 제6항에 있어서,
    적어도 하나 이상의 단말로부터 복수의 쿼리 이벤트 또는 태그 이벤트를 수신하는 경우, 상기 수신된 복수의 쿼리 이벤트 또는 태그 이벤트 간의 충돌 오류 및 호환성 검사를 수행하여 오류를 수정하는 오류 제어부를 더 포함하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버.
  8. 이벤트 처리부가 소정의 소프트웨어 산출물(software artifacts)에 대한 태그를 생성, 수정 또는 삭제하기 위한 태그 이벤트(tag event)를 단말로부터 수신하는 단계와,
    추천 태그부가 상기 수신된 생성, 수정하기 위한 태그 이벤트에 대응하여 추천 태그를 상기 단말로 제공하는 단계와,
    온톨로지 관리부가 상기 제공된 추천 태그를 이용하여 태그를 생성하여 태그 DB에 저장하거나 상기 태그 DB에 기저장된 태그를 수정하는 단계와,
    상기 온톨로지 관리부가 상기 수신된 삭제하기 위한 태그 이벤트에 대응하여 해당 태그를 삭제하는 단계를 포함하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법.
  9. 제8항에 있어서,
    상기 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상인 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법.
  10. 제9항에 있어서,
    상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법.
  11. 제10항에 있어서,
    상기 태그는, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법.
  12. 제11항에 있어서,
    상기 추천 태그부가 상기 수신된 생성, 수정하기 위한 태그 이벤트에 대응하여 추천 태그를 상기 단말로 제공하는 단계는,
    상기 추천 태그를 상기 단말로 제공하는 경우 상기 단말에서 태그의 생성, 수정 또는 검색을 위해 입력된 단어에 대해 자동 완성 기능을 적용한 태그를 제공하거나, 상기 입력된 단어의 유사어로 구성되는 태그를 제공하거나, 상기 입력된 단어와 관련하여 소정 기준 횟수 이상 이용된 태그를 제공하는 것을 특징으로 하는 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 방법.
  13. 이벤트 처리부가 소정의 소프트웨어 산출물을 검색하기 위한 쿼리 이벤트를 단말로부터 수신하는 단계와,
    온톨로지 관리부가 상기 수신된 쿼리 이벤트의 요청에 따른 태그와 연관된 태그를 상기 태그 DB에서 검색하기 위한 온톨로지 연산을 수행하는 단계와,
    상기 소프트웨어 산출물 검색부가 상기 수행된 온톨로지 연산에 의해 산출된 소프트웨어 산출물에 관한 리스트를 생성하여 상기 단말로 제공하는 단계를 포함하는 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법.
  14. 제13항에 있어서,
    상기 소프트웨어 산출물은, 소정의 소프트웨어 컴포넌트의 소스 코드, 실행 코드, 요구사항 명세서, 설계 문서, 분석 문서, 테스트 문서 중 적어도 어느 하나 이상인 것을 특징으로 하는 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법.
  15. 제14항에 있어서,
    상기 태그는, 상기 소프트웨어 컴포넌트의 기능적 요구사항 또는 비기능적 요구사항을 나타내는 것을 특징으로 하는 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법.
  16. 제15항에 있어서,
    상기 태그는, 소프트웨어 산출물을 태깅한 사람, 상기 태깅된 소프트웨어 산출물의 이름, 상기 소프트웨어 산출물의 저장 위치, 상기 소프트웨어 산출물의 태깅 범위, 태그 정보 타입 중 적어도 어느 하나 이상의 정보를 포함하는 것을 특징으로 하는 시맨틱 태그를 이용한 소프트웨어 산출물 검색 방법.
KR1020100014426A 2010-02-18 2010-02-18 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 KR101104739B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100014426A KR101104739B1 (ko) 2010-02-18 2010-02-18 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100014426A KR101104739B1 (ko) 2010-02-18 2010-02-18 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법

Publications (2)

Publication Number Publication Date
KR20110094804A true KR20110094804A (ko) 2011-08-24
KR101104739B1 KR101104739B1 (ko) 2012-01-11

Family

ID=44930752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100014426A KR101104739B1 (ko) 2010-02-18 2010-02-18 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법

Country Status (1)

Country Link
KR (1) KR101104739B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170087435A (ko) * 2017-07-10 2017-07-28 주식회사 인브레인 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법
KR20190069035A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 장치
KR20190069036A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 방법
WO2019117590A1 (ko) * 2017-12-11 2019-06-20 김진욱 알고리즘 생성 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866584B1 (ko) * 2006-11-21 2008-11-03 한국과학기술정보연구원 온톨로지 인스턴스의 sameAS 관리 시스템 및 그 방법
KR20080057903A (ko) * 2006-12-21 2008-06-25 이인근 데이터베이스 기반의 온톨로지 구축 방법 및 그 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170087435A (ko) * 2017-07-10 2017-07-28 주식회사 인브레인 컴포넌트 기반 소프트웨어 분석 도구의 전문가 지식 학습 및 추천 방법
KR20190069035A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 장치
KR20190069036A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 방법
WO2019117590A1 (ko) * 2017-12-11 2019-06-20 김진욱 알고리즘 생성 방법 및 장치

Also Published As

Publication number Publication date
KR101104739B1 (ko) 2012-01-11

Similar Documents

Publication Publication Date Title
US8392465B2 (en) Dependency graphs for multiple domains
US9047346B2 (en) Reporting language filtering and mapping to dimensional concepts
US10366154B2 (en) Information processing device, information processing method, and computer program product
US10331441B2 (en) Source code mapping through context specific key word indexes and fingerprinting
US20100306207A1 (en) Method and system for transforming xml data to rdf data
Heck et al. Horizontal traceability for just‐in‐time requirements: the case for open source feature requests
US10671361B2 (en) Automatically determining data dependencies to facilitate code execution
Palomares et al. A catalogue of functional software requirement patterns for the domain of content management systems
KR101104739B1 (ko) 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법
KR101975272B1 (ko) 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법
JP5194581B2 (ja) 文書処理装置および文書処理プログラム
CN113032548A (zh) 信息处理装置、存储介质及信息处理方法
CN116569165A (zh) 页面显示方法、装置、存储介质及电子设备
US11693859B2 (en) Systems and methods for data retrieval from a database indexed by an external search engine
US11244000B2 (en) Information processing apparatus and non-transitory computer readable medium storing program for creating index for document retrieval
CN112925880A (zh) 信息处理装置、存储介质及信息处理方法
US9471650B2 (en) System and method for contextual workflow automation
Basciani et al. Exploring model repositories by means of megamodel-aware search operators.
US20190266255A1 (en) Integrated universal file converter
CN114281688A (zh) 一种无码或低码的自动化用例管理方法和装置
CN115080154A (zh) 页面显示方法、装置、存储介质及电子设备
CN114676155A (zh) 代码提示信息的确定方法、数据集的确定方法及电子设备
US7725504B2 (en) Method and apparatus for helping user form structured diagram from unstructured information source
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
JP6287506B2 (ja) データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee