KR100388486B1 - 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 - Google Patents
객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100388486B1 KR100388486B1 KR10-2000-0076642A KR20000076642A KR100388486B1 KR 100388486 B1 KR100388486 B1 KR 100388486B1 KR 20000076642 A KR20000076642 A KR 20000076642A KR 100388486 B1 KR100388486 B1 KR 100388486B1
- Authority
- KR
- South Korea
- Prior art keywords
- dependency
- component
- objects
- information
- use case
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 객체 관계와 객체 이용 정보를 이용한 소프트웨어 컴포넌트 식별 장치 및 그 방법에 관한 것으로, 객체 관계와 객체 이용 정보를 이용하여 소프트웨어 컴포넌트를 식별하기 위한 소프트웨어 컴포넌트 식별 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 객체 관계와 객체 이용 정보를 이용한 소프트웨어 컴포넌트 식별 장치에 있어서, 사용자로부터 정보를 입력받기 위한 사용자 인터페이싱 수단; 상기 사용자 인터페이싱 수단으로부터 정보를 입력받아 객체간의 의존 가중치를 계산하기 위한 가중치 계산수단; 상기 사용자 인터페이싱 수단으로부터 입력받은 정보와 상기 가중치 계산수단에서 구해진 객체간의 의존 가중치를 이용하여 객체 의존 네트워크를 생성하기 위한 객체 네트워크 생성수단; 및 상기 객체 네트워크 생성수단에서 생성된 객체 의존 네트워크를 이용하여 컴포넌트 식별 과정을 제어하기 위한 컴포넌트 식별수단을 포함하며, 컴포넌트 기반 소프트웨어 개발 도구 등에 이용됨.
Description
본 발명은 객체 관계와 객체 이용 정보를 이용한 소프트웨어 컴포넌트 식별 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 객체 지향 영역 모델링 과정에서 얻어지는 객체 모델과 각 이용 케이스(Use Case)별 순차도 정보에서 추출한 객체간의 관계 정보 및 누적 객체 이용 정보를 이용하여 객체 의존성 네트워크를 생성하고, 상기 네트워크에서의 객체 관계 유형과 가중치를 이용하여 객체들을 컴포넌트로 묶어서 식별하는 소프트웨어 컴포넌트 식별 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
컴포넌트 기반 개발 방법론은 객체 지향 방법론에서 거론된 몇 가지 문제점들을 해결하기 위해 도입된 개념으로 기본적인 객체 지향 개념은 포함하고 있다고 보아도 무방하다.
도 1 은 일반적인 컴포넌트 기반 소프트웨어 개발 과정에 대한 일실시예 흐름도이다.
먼저, 대상 시스템을 명확히 이해하기 위해 유엠엘(UML : Unified Modeling Language) 모델링 기법을 이용한 영역 모델링을 수행한다(101). 그리고, 이 정보를 바탕으로 재사용성이 높고, 독립적으로 수행 가능한 컴포넌트 단위들을식별한다(102).
다음으로, 컴포넌트 다이어그램을 이용하여 각 컴포넌트가 제공하는 인터페이스와 다른 컴포넌트와의 의존성 등을 명확히 기술한다(103). 이는, 컴포넌트 다이어그램의 인터페이스를 유지하면 각 컴포넌트별로 독립적인 개발이 가능하기 때문이다. 그러므로, 컴포넌트별로 그리고 다른 컴포넌트와 병행적으로 내부 상세 설계 및 구현 등의 과정을 거쳐 이진(binary) 컴포넌트 코드를 생성하게 된다(104).
한편, 컴포넌트 기반 소프트웨어 개발 방법의 여러 단계에서 핵심적인 부분 중 하나로 컴포넌트 식별 부분을 들 수 있다.
상기 컴포넌트 식별 과정은 시스템이 속하는 영역(domain)의 특성과 영역 정보들을 바탕으로 컴포넌트의 특성인 재사용성, 독립성 등을 만족하는 부분을 선별한다.
그러나, 영역(domain) 정보에는 비계량적인 요소가 많고 재사용성, 독립성 등의 기준 자체 또한 명확하지 않아 주로 영역 전문가의 경험에 의한 직관에 의존하여 왔다.
지금까지는 영역 전문가(domain export)들이 사용해 온 컴포넌트 식별 방법으로는 객체 모델에 나타난 객체 관계 정보를 바탕으로 연관성이 높은 객체들을 묶어 컴포넌트화하는 방식, 프로세스 설계 관점에서 순차도(sequence diagram)에 나타난 제어 흐름 등을 고려하여 하나의 작업 쓰레드(thread) 별로 컴포넌트를 식별하는 방식, 소프트웨어 아키텍쳐 레벨에서 서브 시스템으로 식별된 부분을 컴포넌트로 묶는 방법 등이 있다.
상기 방법들은 영역 모델링 과정에서 생성되는 객체 관점, 프로세스 관점, 아키텍쳐 관점 등의 여러 관점의 정보 중 특정 관점 하나만을 고려하여 컴포넌트를 식별하고 있으며, 또한 제시된 컴포넌트 식별 기준이 모호하기 때문에 적용하는 사람에 따라 다양한 결과가 나오게 되므로, 정확히 컴포넌트를 식별할 수 없는 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 객체 관계와 객체 이용 정보를 이용하여 소프트웨어 컴포넌트를 식별하기 위한 소프트웨어 컴포넌트 식별 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
즉, 본 발명은, 객체 지향 영역 모델링 과정에서 얻어지는 객체 모델과 각 이용 케이스(Use Case)별 순차도 정보에서 추출한 객체간의 관계 정보 및 누적 객체 이용 정보를 이용하여 객체 의존성 네트워크를 생성하고, 상기 네트워크에서의 객체 관계 유형과 가중치를 이용하여 객체들을 컴포넌트로 묶어서 식별하는 소프트웨어 컴포넌트 식별 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 일반적인 컴포넌트 기반 소프트웨어 개발 과정에 대한 일실시예 흐름도.
도 2 는 본 발명에 따른 객체 및 이용 케이스(Use Case) 연관 그래프에 대한 일실시예 설명도.
도 3 은 본 발명에 따른 객체 의존성 네트워크에 대한 일실예 설명도.
도 4 는 본 발명에 따른 컴포넌트 식별 장치의 일실시예 구성도.
도 5 는 본 발명에 따른 소프트웨어 컴포넌트 식별 방법에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
410 : 사용자 인터페이스 420 : 가중치 계산기
430 : 객체 네트워크 생성기 440 : 컴포넌트 식별기
상기 목적을 달성하기 위한 본 발명의 장치는, 객체 관계와 객체 이용 정보를 이용한 소프트웨어 컴포넌트 식별 장치에 있어서, 사용자로부터 정보를 입력받기 위한 사용자 인터페이싱 수단; 상기 사용자 인터페이싱 수단으로부터 정보를 입력받아 객체간의 의존 가중치를 계산하기 위한 가중치 계산수단; 상기 사용자 인터페이싱 수단으로부터 입력받은 정보와 상기 가중치 계산수단에서 구해진 객체간의 의존 가중치를 이용하여 객체 의존도 네트워크를 생성하기 위한 객체 네트워크 생성수단; 및 상기 객체 네트워크 생성수단에서 생성된 객체 의존도 네트워크를 이용하여 컴포넌트 식별 과정을 제어하기 위한 컴포넌트 식별수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 소프트웨어 컴포넌트 식별 장치에 적용되는 컴포넌트 식별 방법에 있어서, 객체 모델 정보를 입력받아 유스 케이스(이용 케이스) 및 객체 의존성 그래프를 생성하는 제 1 단계; 상기 유스 케이스(이용 케이스)에서 추출된 객체 이용 정보에 대하여 객체 의존 지수를 계산하고, 객체에 연결된 입력 아크(incoming arc)의 가중치를 더하여 객체 중요 지수를 계산하는 제 2 단계; 상기 객체 중요 지수 값이 사용자가 미리 정의한 특정 임계 값(Importance Degree Threshold)을 넘는 객체를 씨드(Seed) 객체로 결정하여 컴포넌트에 설정하는 제 3 단계; 및 컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체를 컴포넌트에 추가하는 과정을, 추가로 네비게이션이 가능한 객체에 대하여 수행하는 제 4 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 대용량 프로세서를 구비한 소프트웨어 컴포넌트 식별 장치에, 객체 모델 정보를 입력받아 유스 케이스(이용 케이스) 및 객체 의존성 그래프를 생성하는 제 1 기능; 상기 유스 케이스(이용 케이스)에서 추출된 객체 이용 정보에 대하여 객체 의존 지수를 계산하고, 객체에 연결된 입력 아크(incoming arc)의 가중치를 더하여 객체 중요 지수를 계산하는 제 2 기능; 상기 객체 중요 지수 값이 사용자가 미리 정의한 특정 임계 값(Importance Degree Threshold)을 넘는 객체를 씨드(Seed) 객체로 결정하여 컴포넌트에 설정하는 제 3 기능; 및 컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체를 컴포넌트에 추가하는 과정을, 추가로 네비게이션이 가능한 객체에 대하여 수행하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이처럼 본 발명에서는, 영역 모델링 정보인 객체 모델과 이용 케이스별 순차도(sequence diagram)에 나타난 정보를 바탕으로 객체들 간의 구조적인 연관관계 및 객체 이용 관계를 기술하고, 이를 이용하여 양의 실수 값으로 표현되는 객체 의존 지수(Dependency Degree)와 객체 중요 지수(Importance Degree)를 나타내는 객체 의존도 네트워크(object dependency network)을 생성한다. 그리고, 상기 객체 의존도 네트워크에 나타난 객체간의 의존 정도, 객체의 중요 지수, 의존 유형 등을 바탕으로 컴포넌트의 독립성, 재사용성 등을 고려하여 컴포넌트로 나뉘어질 수 있는 객체들로 클러스터링(clustering)을 수행하는 것을 특징으로 한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 2 는 본 발명에 따른 객체 및 이용 케이스 연관 그래프에 대한 일실시예설명도이다.
도 2 에 도시된 바와 같이, 객체 및 이용 케이스 연관 그래프는 이용 케이스(210, 211)와 객체(220~224)를 각각 노드(node)로 나타내고, 상기 객체 및 이용 케이스간의 의존 관계는 구조적 관점의 키워드인 일반화(Generalization), 분해(Decomposition)와 객체 이용 관점의 키워드인 생성/파괴(Create/Destroy : CD), 생성(Create : C), 갱신(Update : U), 참조(Reference : R)의 6개의 의존 관계 키워드로 기술된다.
상기 이용 케이스(210, 211)와 객체(220, 224)는 서로 다른 모양으로 기술되며, 노드간의 의존성의 유형에는 일반화(Generalization, 230)와 같은 구조적 관계 정보와 생성/파괴(Create/Destroy)(231~233)의 객체 사용 정보로 나뉠 수 있다.
상기 객체 사용 정보(231~233)는 이용 케이스(210, 211)별로 나타나는 것이므로, 여러 이용 케이스(210, 211)에 연관된 객체의 경우는 갱신 + 참조(Update + Reference)(235)와 같이 누적된 객체 이용 정보를 기술한다. 그리고, 각 이용 케이스 노드 옆에는 실수 값(240~241)이 부가되어 있는데, 이는 이용 케이스(210, 211)의 중요도를 0.1 ~ 1.0 사이 값으로 표현한 가중치 값이다.
도 3 은 본 발명에 따른 객체 의존성 네트워크에 대한 일실예 설명도로서, 객체와 이용 케이스간의 의존성을 제하고, 객체간의 의존성을 양의 실수로 표현한 의존 지수(DD)와 이를 이용하여 계산된 각 객체의 중요 지수(ID)를 나타내고 있는 객체 의존성 네트워크를 보여준다.
도 3 에 도시된 바와 같이, 객체(311~315)는 다른 객체와의 의존 지수를1.0(321)과 같이 양의 실수 값으로 나타낸다. 이러한 의존 지수(321~324)의 계산은 이용 케이스 및 객체 의존 그래프에 나타난 이용 케이스의 가중치, 객체간의 구조적 관계정보, 누적 객체 이용 정보들로부터 계산된다.
아래 [표 1]은 의존 유형(Dependency Type)에 따라 의존 값으로 변환하는 매핑(mapping) 테이블의 일 예를 보인다.
의존 유형Dependency Type(DT) | 가중치 값Weight(DT) |
Aggregation | 1.0 |
Decomposition | 1.0 |
Create/Destroy | 0.9 |
Create | 0.7 |
Update | 0.5 |
Reference | 0.3 |
또한, 아래 [수학식 1]은 객체간의 각 의존성 가중치를 계산하는 식이다. 의존성 가중치는 이용 케이스별로 사용된 각 객체의 의존 유형에 이용 케이스의 가중치를 곱하여 더한 것이다.
상기 객체(311~315)를 나타내는 원 안에 표시된 가중치 값(331~335)은 객체의 중요 지수(ID)를 나타낸다.
상기 중요 지수(ID) 값은 객체로 들어오는 아크(incoming arc)에 있는 의존 지수들을 더한 값이다. 즉, 특정 객체가 다른 객체들에게 연관되어 있는 가중치를 모두 더하여 그 객체의 중요도를 평가한 것이다.
도 4 는 본 발명에 따른 컴포넌트 식별 장치의 일실시예 구성도이다.
도 4 에 도시된 바와 같이, 본 발명에 따른 컴포넌트 식별 장치는, 사용자로부터 객체간의 정보, 이용 케이스의 객체 사용 정보, 알고리즘의 구성 임계값(Component Threshold)(CT), 특정 임계값(Importance Degree Threshold)(IDT)을 입력받는 사용자 인터페이스(GUI)(410), 상기 사용자 인터페이스(410)로부터 정보를 입력받아 객체간의 의존 가중치를 계산하는 가중치 계산기(Weight Calculator)(420), 상기 사용자 인터페이스(410)로부터 입력받은 정보와 상기 가중치 계산기(420)에서 구해진 객체간의 의존 가중치를 이용하여 객체 의존 네트워크를 생성하는 객체 네트워크 생성기(Object Network Generator)(430), 상기 객체 네트워크 생성기(430)에서 생성된 객체 의존 네트워크를 이용하여 컴포넌트 식별 과정을 제어하는 컴포넌트 식별기(440)(Component Identifier)를 포함한다.
즉, 본 발명은, 사용자로부터 객체간의 정보, 이용 케이스의 객체 사용 정보, 알고리즘의 구성 임계 값, 특정 임계 값을 입력받아서 객체간의 의존 가중치를 계산하고, 객체 의존성 네트워크를 생성하여 컴포넌트를 식별하는 과정으로 구성되어 있다.
도 5 는 본 발명에 따른 소프트웨어 컴포넌트 식별 방법에 대한 일실시예 흐름도이다.
먼저, 객체 모델 정보를 입력받는다(510). 여기서, 상기 객체 모델 정보는 연합(Association), 분해(Decomposition), 일반화(Generalization), 의존(Dependency)으로 크게 분류되며, 이중 일반화(Generalization)와 분해(Decomposition) 정보는 굳건한(tight) 관계를 가지는데 반해 연합(Association)과 의존(Dependency) 관계의 중요도는 경우에 따라 다르므로 일반화(Generalization)와 분해(Decomposition)만을 객체 의존 정보로 기록한다. 연합(Association)과 분해(Dependency)의 가중치는 객체 모델에서는 불분명하므로 이용 케이스에서의 객체 사용 정보를 참조하여 결정한다.
다음으로, 각 이용 케이스에서 객체 이용 정보를 추출하여 도 2 에 나타난 이용 케이스 및 객체 의존성 그래프를 생성한다(520). 이어서 이용 케이스에서 추출된 객체 이용 정보에 대해 앞서 설명한 가중치 계산 방식을 이용하여 의존 지수를 계산한다(530).
다음으로, 객체에 연결된 입력 아크(incoming arc)의 가중치를 더하여 객체의 중요 지수(ID)를 계산하고, 상기 중요 지수(ID) 값이 사용자가 미리 정의한 특정 임계 값(Importance Degree Threshold)을 넘는 객체를 씨드(Seed) 객체로 결정한다(540).
다음으로, 컴포넌트 식별 과정의 준비 단계로 각 컴포넌트에 씨드(Seed) 객체를 하나씩 설정하고, 추가적으로 객체 네비게이션(navigation)을 수행할 것인지 여부를 판단하기 위하여 각 컴포넌트마다 Done[i]라는 플래그(flag) 조건을 부여한다(550). 여기서, 초기 값으로 Done[i]는 모두 거짓(false)이다. 즉, 모든 컴포넌트에서 초기 객체 네비게이션이 가능하다.
다음으로, 식별 알고리즘의 종료를 판단하는 부분으로서 임의의 컴포넌트에서 추가로 네비게이션할 수 있는 객체들이 존재하는지 여부를 판단한다(560). 여기서, 네비게이션이 허용되는 객체는 컴포넌트에 포함되어 있지 않는 객체들이다.
따라서, 상기 판단 결과, 만약 모든 컴포넌트가 네비게이션이 허용되어 있지 않으면 식별 알고리즘은 종료하게 된다.
상기 판단한 결과, 네비게이션이 가능한 컴포넌트가 존재하면 그 컴포넌트에 연결된, 즉 아직 다른 컴포넌트에 포함되지 않는 객체 중에 컴포넌트와의 의존성 값이 특정 임계 값(Component Threshold) 이상이 되는 객체가 존재하는지 여부를 판단한다(570). 여기서, 상기 특정 임계 값(Component Threshold)은 사용자가 결정하게 되며 임계 값(CT)에 비교되는 상기 의존성 값은 도 3 의 아크의 가중치 값을 그대로 쓰지 않고 가중치 값을 소스 객체의 중요 지수(ID)로 나눈 값(Dependency Degree(source, target)/Importance Degree(source))을 이용한다.
상기 다른 컴포넌트에 포함되지 않는 객체 중에 컴포넌트와의 의존성 값이 특정 임계 값(Component Threshold) 이상이 되는 객체가 존재하는지 여부를 판단한 결과, 존재하면 해당 객체를 컴포넌트에 추가하고, 추가로 네비게이션할 수 있는 객체가 존재하는지 판단하는 과정(560)으로 진행한다.
상기 다른 컴포넌트에 포함되지 않는 객체 중에 컴포넌트와의 의존성 값이 특정 임계 값(Component Threshold) 이상이 되는 객체가 존재하는지 여부를 판단한결과, 존재하지 않으면 연결 가능한 새로운 객체가 존재하지 않는 것이므로 Done[i]를 참(true)으로 설정하여 i번째 컴포넌트에서는 더 이상 네비게이션이 발생하지 않게 하고(580), 추가로 네비게이션할 수 있는 객체가 존재하는지 판단하는 과정(560)으로 진행한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 영역 모델링(domain modeling) 정보인 객체 모델과 이용 케이스의 순차도로부터 객체 관계 정보 및 객체 이용 정보를 추출하여 체계적인 소프트웨어 컴포넌트 식별 과정을 제공하므로 사용자의 경험과 직관에 의존해 온 식별 과정을 체계적이고 자동화된 도구로 지원 가능하게 하는 효과가 있다.
특히, 본 발명은, 종래 방식보다 컴포넌트를 정확히 식별할 수 있는 효과가 있다.
Claims (9)
- 객체 관계와 객체 이용 정보를 이용한 소프트웨어 컴포넌트 식별 장치에 있어서,사용자로부터 정보를 입력받기 위한 사용자 인터페이싱 수단;상기 사용자 인터페이싱 수단으로부터 정보를 입력받아 객체간의 의존 가중치를 계산하기 위한 가중치 계산수단;상기 사용자 인터페이싱 수단으로부터 입력받은 정보와 상기 가중치 계산수단에서 구해진 객체간의 의존 가중치를 이용하여 객체 의존도 네트워크를 생성하기 위한 객체 네트워크 생성수단; 및상기 객체 네트워크 생성수단에서 생성된 객체 의존도 네트워크를 이용하여 컴포넌트 식별 과정을 제어하기 위한 컴포넌트 식별수단을 포함하는 소프트웨어 컴포넌트 식별 장치.
- 제 1 항에 있어서,상기 가중치 계산수단은,객체간의 의존성을 객체 모델에 나타난 구조적인 관계 뿐만 아니라 유스 케이스(이용 케이스)에 나타나는 객체들간의 누적 이용 정보를 반영하여 하나의 가중치 값으로 나타내고, 이러한 객체 의존성을 이용 케이스의 가중치를 고려하여 계산하는 것을 특징으로 하는 소프트웨어 컴포넌트 식별 장치.
- 제 1 항에 있어서,상기 객체 네트워크 생성수단은,영역 모델링 정보인 객체 모델과 이용 케이스별 순차도에 나타난 정보를 바탕으로 객체들간의 구조적인 연관관계 및 객체 이용 관계를 기술하고 이를 이용하여 양의 실수 값으로 표현되는 객체 의존 지수(Dependency Degree)와 객체 중요 지수(Importance Degree)를 나타내는 것을 특징으로 하는 소프트웨어 컴포넌트 식별 장치.
- 제 1 항에 있어서,상기 컴포넌트 식별수단은,상기 객체 네트워크 생성수단에서 생성된 객체 의존도 네트워크에 나타난 객체간의 의존 정도, 객체의 중요 지수, 의존 유형 등을 바탕으로 컴포넌트의 독립성, 재사용성 등을 고려하여 컴포넌트로 나뉘어질 수 있는 객체들로 클러스터링(clustering)하는 것을 특징으로 하는 소프트웨어 컴포넌트 식별 장치.
- 소프트웨어 컴포넌트 식별 장치에 적용되는 컴포넌트 식별 방법에 있어서,객체 모델 정보를 입력받아 유스 케이스(이용 케이스) 및 객체 의존성 그래프를 생성하는 제 1 단계;상기 유스 케이스(이용 케이스)에서 추출된 객체 이용 정보에 대하여 객체 의존 지수를 계산하고, 객체에 연결된 입력 아크(incoming arc)의 가중치를 더하여 객체 중요 지수를 계산하는 제 2 단계;상기 객체 중요 지수 값이 사용자가 미리 정의한 특정 임계 값(Importance Degree Threshold)을 넘는 객체를 씨드(Seed) 객체로 결정하여 컴포넌트에 설정하는 제 3 단계; 및컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체를 컴포넌트에 추가하는 과정을, 추가로 네비게이션이 가능한 객체에 대하여 수행하는 제 4 단계를 포함하는 컴포넌트 식별 방법.
- 제 5 항에 있어서,상기 제 4 단계는,추가적인 객체 네비게이션을 위한 초기 조건을 부여하는 제 5 단계;추가로 네비게이션을 할 수 있는 객체가 존재하는지 확인하는 제 6 단계;상기 제 6 단계의 확인 결과, 상기 추가로 네비게이션할 수 있는 객체가 존재하지 않으면 종료하고, 상기 추가로 네비게이션할 수 있는 객체가 존재하면 컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체가 존재하는지 확인하는 제 7 단계; 및상기 제 7 단계의 확인 결과, 상기 컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체가 존재하면 해당 객체를 컴포넌트에 추가한 후 제 6 단계로 진행하고, 컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체가 존재하지 않으면 Done[i]를 true로 설정하고 제 6 단계로 진행하는 제 8 단계를 포함하는 컴포넌트 식별 방법.
- 제 5 항에 있어서,상기 제 2 단계는,영역 모델링 정보인 객체 모델과 이용 케이스별 순차도에 나타난 정보를 바탕으로 객체들간의 구조적인 연관관계 및 객체 이용 관계를 기술하고 이를 이용하여 양의 실수 값으로 표현되는 객체 의존 지수(Dependency Degree)와 객체 중요 지수(Importance Degree)를 계산하는 것을 특징으로 하는 컴포넌트 식별 방법.
- 제 5 항에 있어서,상기 제 4 단계는,객체간의 의존 정도, 객체의 중요 지수, 의존 유형 등을 바탕으로 컴포넌트의 독립성, 재사용성 등을 고려하여 컴포넌트로 나뉘어질 수 있는 객체들로 클러스터링(clustering)하는 것을 특징으로 하는 컴포넌트 식별 방법.
- 대용량 프로세서를 구비한 소프트웨어 컴포넌트 식별 장치에,객체 모델 정보를 입력받아 유스 케이스(이용 케이스) 및 객체 의존성 그래프를 생성하는 제 1 기능;상기 유스 케이스(이용 케이스)에서 추출된 객체 이용 정보에 대하여 객체 의존 지수를 계산하고, 객체에 연결된 입력 아크(incoming arc)의 가중치를 더하여 객체 중요 지수를 계산하는 제 2 기능;상기 객체 중요 지수 값이 사용자가 미리 정의한 특정 임계 값(Importance Degree Threshold)을 넘는 객체를 씨드(Seed) 객체로 결정하여 컴포넌트에 설정하는 제 3 기능; 및컴포넌트와의 의존성 값이 특정 임계값 이상이 되는 객체를 컴포넌트에 추가하는 과정을, 추가로 네비게이션이 가능한 객체에 대하여 수행하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0076642A KR100388486B1 (ko) | 2000-12-14 | 2000-12-14 | 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 |
US09/835,528 US20020129346A1 (en) | 2000-12-14 | 2001-04-17 | Method and apparatus for identifying software components using object relationships and object usages in use cases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0076642A KR100388486B1 (ko) | 2000-12-14 | 2000-12-14 | 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020046446A KR20020046446A (ko) | 2002-06-21 |
KR100388486B1 true KR100388486B1 (ko) | 2003-06-25 |
Family
ID=19703073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0076642A KR100388486B1 (ko) | 2000-12-14 | 2000-12-14 | 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20020129346A1 (ko) |
KR (1) | KR100388486B1 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420473B1 (ko) * | 2000-12-30 | 2004-03-02 | 학교법인 명지학원 관동대학교 | 개조 컴포넌트에 의한 바이너리 컴포넌트의 재정의 방법 |
US7526734B2 (en) * | 2004-04-30 | 2009-04-28 | Sap Ag | User interfaces for developing enterprise applications |
US20050289513A1 (en) * | 2004-06-17 | 2005-12-29 | International Business Machines Corporation | Matrix pattern match techniques for uninstalling multiple dependent components |
JP2006113934A (ja) * | 2004-10-18 | 2006-04-27 | Hitachi Ltd | プログラム開発支援装置、プログラム開発支援方法およびプログラム |
KR100855754B1 (ko) * | 2004-10-30 | 2008-09-03 | 에스케이커뮤니케이션즈 주식회사 | 속성이 부여된 주제별 분류 객체들 간의 연결 장치, 방법및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 |
KR100575581B1 (ko) * | 2004-12-15 | 2006-05-03 | 한국전자통신연구원 | 우선순위 그래프를 이용한 제품 계열의 기능 분석 및테스팅 경로 분석 장치 및 그 방법 |
JP4104622B2 (ja) * | 2005-10-14 | 2008-06-18 | 株式会社アイティアイディコンサルティング | 製品開発プロセス支援システム及び製品開発プロセス支援方法 |
US7865874B2 (en) * | 2006-08-28 | 2011-01-04 | Oracle America, Inc. | System and method for information collection for an adaptive software dependency model |
US8229778B2 (en) | 2006-11-16 | 2012-07-24 | International Business Machines Corporation | Constructing change plans from component interactions |
US8037471B2 (en) * | 2006-11-16 | 2011-10-11 | International Business Machines Corporation | Systems and methods for constructing relationship specifications from component interactions |
US8464270B2 (en) * | 2007-11-29 | 2013-06-11 | Red Hat, Inc. | Dependency management with atomic decay |
US8832255B2 (en) | 2007-11-30 | 2014-09-09 | Red Hat, Inc. | Using status inquiry and status response messages to exchange management information |
US8621420B2 (en) | 2007-12-18 | 2013-12-31 | International Business Machines Corporation | Modeling user perceived use case affinity |
KR100934879B1 (ko) * | 2007-12-24 | 2010-01-06 | 한국과학기술정보연구원 | 유즈 케이스를 이용한 시스템 프로그램의 모델링 방법 및그 기록매체 |
US8645837B2 (en) | 2008-11-26 | 2014-02-04 | Red Hat, Inc. | Graphical user interface for managing services in a distributed computing system |
US8539479B2 (en) * | 2010-04-30 | 2013-09-17 | Sap Ag | System and method for application function consolidation |
US20130024469A1 (en) * | 2011-07-21 | 2013-01-24 | International Business Machines Corporation | Apparatus and method for preventing regression defects when updating software components |
US20130055202A1 (en) * | 2011-08-25 | 2013-02-28 | International Business Machines Corporation | Identifying components of a bundled software product |
US9292299B2 (en) * | 2012-10-16 | 2016-03-22 | Yahoo! Inc. | Methods and systems for package management |
US10289262B2 (en) * | 2015-09-29 | 2019-05-14 | Pegasystems Inc. | Method and system for determining user interface usage |
US11157205B2 (en) * | 2018-11-15 | 2021-10-26 | Western Digital Technologies, Inc. | Object storage system with control entity quota enforcement |
US11204717B2 (en) | 2018-11-15 | 2021-12-21 | Western Digital Technologies, Inc. | Object storage system with access control quota status check |
US11580082B2 (en) | 2018-11-15 | 2023-02-14 | Western Digital Technologies, Inc. | Object storage system with control entity quota usage mapping |
CN117909313B (zh) * | 2024-03-19 | 2024-05-14 | 成都融见软件科技有限公司 | 设计代码数据的分布式存储方法、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493682A (en) * | 1991-01-22 | 1996-02-20 | International Business Machines Corporation | Object based system for software maintenance |
US5519866A (en) * | 1993-06-28 | 1996-05-21 | Taligent, Inc. | Method and apparatus of incrementally linking components of a modeled computer program |
JPH10214182A (ja) * | 1997-01-30 | 1998-08-11 | Nec Eng Ltd | 交換機の付加サービスプログラムの生成方法とそ の制御方式 |
WO1999035566A1 (fr) * | 1997-12-30 | 1999-07-15 | Bull S.A. | Procede d'identification et de suivi des evolutions d'un ensemble de composants logiciels |
US6028998A (en) * | 1998-04-03 | 2000-02-22 | Johnson Service Company | Application framework for constructing building automation systems |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5455952A (en) * | 1993-11-03 | 1995-10-03 | Cardinal Vision, Inc. | Method of computing based on networks of dependent objects |
US6256712B1 (en) * | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
-
2000
- 2000-12-14 KR KR10-2000-0076642A patent/KR100388486B1/ko not_active IP Right Cessation
-
2001
- 2001-04-17 US US09/835,528 patent/US20020129346A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493682A (en) * | 1991-01-22 | 1996-02-20 | International Business Machines Corporation | Object based system for software maintenance |
US5519866A (en) * | 1993-06-28 | 1996-05-21 | Taligent, Inc. | Method and apparatus of incrementally linking components of a modeled computer program |
JPH10214182A (ja) * | 1997-01-30 | 1998-08-11 | Nec Eng Ltd | 交換機の付加サービスプログラムの生成方法とそ の制御方式 |
WO1999035566A1 (fr) * | 1997-12-30 | 1999-07-15 | Bull S.A. | Procede d'identification et de suivi des evolutions d'un ensemble de composants logiciels |
US6028998A (en) * | 1998-04-03 | 2000-02-22 | Johnson Service Company | Application framework for constructing building automation systems |
Also Published As
Publication number | Publication date |
---|---|
US20020129346A1 (en) | 2002-09-12 |
KR20020046446A (ko) | 2002-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100388486B1 (ko) | 객체 관계와 객체 이용 정보를 이용한 소프트웨어컴포넌트 식별 장치 및 그 방법 | |
JP5629239B2 (ja) | ソフトウェアの動作をテストする装置及び方法 | |
US7340475B2 (en) | Evaluating dynamic expressions in a modeling application | |
CN107729371B (zh) | 区块链的数据索引及查询方法、装置、设备及存储介质 | |
US9250864B2 (en) | Relationship management for data modeling in an integrated development environment | |
CN110232187A (zh) | 企业名称相似度识别方法、装置、计算机设备和存储介质 | |
CN107016018B (zh) | 数据库索引创建方法及装置 | |
US9880834B2 (en) | Source program analysis system, source program analysis method, and recording medium on which program is recorded | |
Periyasamy et al. | Cost estimation using extended use case point (e-UCP) model | |
CN108459965B (zh) | 一种结合用户反馈和代码依赖的软件可追踪生成方法 | |
US8136094B2 (en) | Relationship management for data modeling in an integrated development environment | |
CN108629592A (zh) | 一种结算配置方法及装置和电子设备 | |
CN115130043B (zh) | 基于数据库的数据处理方法、装置、设备及存储介质 | |
JP2020042386A (ja) | 対象データに対して関連付けるラベルを決定する計算機システム | |
KR20020060868A (ko) | 클래스 다이어그램을 기반으로 한 엔터프라이즈 자바빈생성 장치 및 그 방법 | |
ElGibreen et al. | Multi model transfer learning with RULES family | |
CN109685453B (zh) | 智能识别工作流有效路径的方法 | |
CN113919352A (zh) | 数据库敏感数据识别方法及装置 | |
JP5487078B2 (ja) | ソフトウェア資産整理方法及び装置 | |
CN111368055A (zh) | 一种专利数据库联合企业信息平台的检索方法和装置 | |
CN117150996B (zh) | 产生毛刺信号的问题源码确定方法、电子设备和介质 | |
CN116610714B (zh) | 一种数据查询方法、装置、计算机设备及存储介质 | |
JP6511793B2 (ja) | テストケース生成プログラム、テストケース生成方法及びテストケース生成装置 | |
CN115563150B (zh) | Hive SQL与执行引擎DAG的映射方法、设备及存储介质 | |
CN115168673B (zh) | 一种数据的图形化处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130527 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20150527 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |