상기 목적을 달성하기 위한 본 발명은, 프레임워크 모델링 장치에 있어서, 통합모델링언어(UML)를 이용한 사용 케이스(Use Case) 다이어그램, 사용 케이스 사건 흐름, 순차(Sequence) 다이어그램, 클래스 다이어그램을 작성하는 분석정보 작성수단; 상기 사용 케이스 다이어그램에서 서로 관련성이 있는 사용 케이스들을 클러스터링하고, 클러스터링된 각각의 사용 케이스들을 프레임워크들로 식별하는 식별수단; 상기 분석정보 작성수단 및 상기 식별수단의 결과를 이용하여 상기 순차 다이어그램의 메시지와 객체를 식별하고, 상기 클래스 다이어그램내의 클래스와 클래스간의 관계를 식별하여 구조적으로 모델링하는 구조적 모델링수단; 상기 분석정보 작성수단 및 상기 식별수단의 결과를 이용하여 상기 순차 다이어그램의 메시지, 메시지 흐름 및 객체를 식별하고, 프레임워크내의 클래스, 제어 흐름 및 인터페이스를 식별하여 동적으로 모델링하는 동적 모델링수단; 및 상기 프레임워크를 구현하기 위해, 상기 구조적 모델링수단 및 상기 동적 모델링수단에 의해 모델링된 분석정보를 처리하는 분석정보 처리수단을 포함하여 이루어진 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은, 일반적인 컴퓨팅 시스템에 적용되는 프레임워크 모델링 방법에 있어서, 통합모델링언어(UML)를 이용한 사용 케이스 다이어그램, 사건 흐름, 순차 다이어그램, 클래스 다이어그램을 작성하는 제 1 단계; 상기 사용 케이스 다이어그램에서 서로 관련성이 있는 사용 케이스들을 클러스터링하여 프레임워크들을 식별하는 제 2 단계; 상기 순차 다이어그램의 메시지와 객체를 식별하고, 상기 클래스 다이어그램내의 클래스와 클래스간의 관계를 식별하여 구조적으로 모델링하는 제 3 단계; 상기 순차 다이어그램의 메시지, 메시지 흐름 및 객체를 식별하고, 프레임워크내의 클래스, 제어 흐름 및 인터페이스를 식별하여 동적으로 모델링하는 제 4 단계; 및 상기 프레임워크를 구현하기 위해 상기 구조적 및 상기 동적 모델링된 분석정보를 처리하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
본 발명은 UML을 이용한 객체 지향 분석 정보로부터 프레임워크를 구현하는데 필요한 여러 가지 정보들을 얻기 위하여 프레임워크를 구조적 및 동적으로 모형화하는 것이다.
프레임워크를 구조적 및 동적으로 모델링하는 방법을 개략적으로 살펴보면 다음과 같다.
먼저, 구조적 모델링 과정은 UML을 이용한 분석정보인 사용 케이스(Use Case) 사건 흐름(Flow of Events), 순차(Sequence) 다이어그램, 클래스 다이어그램간의 상관성을 이용하여 프레임워크를 구성하는 클래스들과 그들간의 관계성을 식별하는 과정으로서, 사건 흐름내에 있는 사건은 순차 다이어그램의 메시지로 매핑되며, 순차 다이어그램의 메시지는 클래스 다이어그램내에 있는 클래스의 메소드로 매핑된다는 사실을 이용하여 이들간의 관계성을 프레임워크 구현시에 적용할 수 있다.
한편, 동적 모델링 과정은 사용 케이스 사건 흐름, 순차 다이어그램을 이용하여 프레임워크내의 제어 흐름 및 인터페이스를 식별하는 과정으로서, 사용 케이스 사건 흐름내의 제어 흐름 정보는 순차 다이어그램의 메시지 흐름으로 표현되며, 순차 다이어그램의 메시지 흐름은 프레임워크의 제어 흐름으로 매핑된다는 사실을 이용하여 객체간의 메시지 흐름을 명확히 파악할 수 있다.
이러한 모델링 과정을 통해서 얻어진 정보는 프레임워크를 구현하는데 필요한 분석정보로서 활용될 수 있으며, 이렇게 구현된 프레임워크가 소프트웨어 개발시에 하부 구조로써 활용된다면 소프트웨어 재사용과 유지보수면에서 많은 장점을 제공할 것이다.
이처럼, 본 발명은 소프트웨어 개발시에 UML을 이용한 객체 지향 방법으로 분석된 정보의 상관관계를 활용하여 프레임워크 구현에 필요한 정보를 추출함으로써, 프레임워크 구현을 용이하게 할 수 있다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 이용되는 프레임워크의 구조적 모델링을 위한 다이어그램간의 관계를 나타낸 일실시예 설명도로서, 프레임워크의 구조적 모델링을 위하여 UML을 이용한 분석정보인 사용 케이스(Use Case) 사건 흐름(11)과 순차(Sequence) 다이어그램(12)과 클래스 다이어그램(13)간의 상관관계를 나타내는 구성도이다.
프레임워크의 구조적 모델링 과정을 살펴보면, 사용 케이스(Use Case) 사건 흐름(11)내의 각각의 사건들은 순차(Sequence) 다이어그램(12)의 메시지로 표현되며, 순차(Sequence) 다이어그램(12)내의 메시지는 클래스 다이어그램(13)내에 있는 클래스의 메소드로 매핑된다.
도 1을 참조하면, 사용 케이스(Use Case) 사건 흐름(11)에는 6개의 사건(T1 내지 T6)이 있으며, 제3 및 제5 사건(T3,T5)은 각각 순차(Sequence) 다이어그램(12)의 제1 및 제4 메시지(F1,F4)로 매핑된다. 그리고, 순차(Sequence) 다이어그램(12)의 제1 및 제4 메시지(F1,F4)는 각각 클래스 다이어그램(13)의 클래스A의 메소드[f1()]와 클래스C의 메소드[f4()]로 매핑됨을 알 수 있다.
도 2 는 본 발명에 이용되는 프레임워크의 동적 모델링을 위한 다이어그램간의 관계를 나타낸 일실시예 설명도로서, 프레임워크의 동적 모델링을 위하여 UML을 이용한 분석정보인 사용 케이스(Use Case) 사건 흐름(11)과 순차(Sequence) 다이어그램(12)과 프레임워크X(21)의 제어흐름 및 인터페이스와의 상관관계를 나타내는 구성도이다.
프레임워크의 동적 모델링 과정을 살펴보면, 사용 케이스(Use Case) 사건 흐름(11)의 제어 정보는 순차(Sequence) 다이어그램(12)의 메시지 흐름으로 표현되며, 순차(Sequence) 다이어그램(12)의 메시지 흐름은 프레임워크X(21)의 제어 흐름으로 매핑된다.
도 2를 참조하면, 사용 케이스(Use Case) 사건 흐름(11)에는 6개의 사건(T1 내지 T6)이 있으며, 제1,2,4,5,6 사건(T1,T2,T4,T5,T6)은 각각 순차(Sequence) 다이어그램(12)의 제1 내지 5 메시지(F1,F2,F3,F4,F5)로 매핑된다.
그리고, 이러한 메시지 흐름과 관련된 객체(a,b,c,d)는 프레임워크(21)내의 클래스들로 매핑이 되는데, 이때 각 클래스들간의 메시지 흐름이 프레임워크X(21)의 제어 흐름이 된다. 즉, 순차(Sequence) 다이어그램(12)의 메시지 흐름(F1->F2->F3->F4->F5)은 프레임워크X(21)의 제어흐름(f1()_1->f1()_2->f1()_3 ->f1()_4->f1()_5)이 된다.
도 3 은 본 발명에 따른 프레임워크 모델링 장치의 일실시예 구성도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 프레임워크 모델링 장치는 통합모델링언어(UML)을 이용한 사용 케이스(Use Case) 다이어그램, 사용 케이스 사건 흐름, 순차(Sequense) 다이어그램, 클래스 다이어그램을 작성하는 분석정보 작성부(31)와, 사용 케이스 다이어그램에서 프레임워크들을 식별하는 프레임워크 식별부(32)와, 분석정보 작성부(31) 및 프레임워크 식별부(32)의 결과를 이용하여 순차 다이어그램의 메시지와 객체를 식별하고, 클래스 다이어그램내의 클래스와 그들간의 관계를 식별하는 프레임워크 구조적 모델링부(33)와, 분석정보 작성부(31) 및 프레임워크 식별부(32)의 결과를 이용하여 순차 다이어그램의 메시지, 메시지 흐름 및 객체를 식별하고, 프레임워크내의 클래스, 제어 흐름 및 인터페이스를 식별하는 프레임워크 동적 모델링부(34)와, 프레임워크 모델링 장치는 프레임워크를구현하기 위해 프레임워크 구조적 모델링부(33) 및 프레임워크 동적 모델링부(34)에 의해 모델링된 분석정보를 처리하는 프레임워크 분석정보 처리부(35)를 포함한다.
분석정보 작성부(31)는 UML을 이용하여 사용 케이스 다이어그램, 사용 케이스 다이어그램을 설명하는 사용 케이스 사건 흐름, 객체들간의 메시지 교환을 표현하는 순차 다이어그램, 클래스들과 그들간의 관계를 표시하는 클래스 다이어그램을 작성한다.
프레임워크 식별부(32)는 분석정보 작성부(31)에서 작성된 사용 케이스 다이어그램에서 프레임워크들을 식별한다.
프레임워크 구조적 모델링부(33)는 분석정보 작성부(31)와 프레임워크 식별부(32)의 결과를 이용하여 프레임워크의 구조적 모델링을 수행한다.
프레임워크 구조적 모델링부(33)의 기능을 구체적으로 살펴보면 다음과 같다.
첫째, 사용 케이스 사건 흐름내의 사건과 매핑되는 순차 다이어그램의 메시지를 식별한다. 여기서, 사용 케이스 사건 흐름의 각 사건들은 순차 다이어그램의 메시지로 매핑되므로 특정 사용 케이스에 속하는 메시지를 추출할 수 있다.
둘째, 식별된 메시지를 수신하는 객체를 순차 다이어그램에서 식별한다. 여기서, 이러한 객체는 메시지에 해당하는 메소드를 가지고 있으므로 클래스 추출에 사용된다.
셋째, 클래스 다이어그램으로부터 메시지와 객체에 부합되는 메소드와 클래스를 식별한다. 여기서, 식별된 클래스는 프레임워크를 구성하는 클래스가 된다.
넷째, 프레임워크를 구성하는 클래스들간의 관계성을 식별한다. 여기서, 이러한 과정은 모든 프레임워크들에 적용될 수 있다.
프레임워크 동적 모델링부(34)는 분석정보 작성부(31)와 프레임워크 식별부(32)의 결과를 이용하여 프레임워크의 동적인 모델링을 수행한다.
프레임워크 동적 모델링부(34)의 기능을 구체적으로 살펴보면 다음과 같다.
첫째, 사용 케이스 사건 흐름내의 사건과 매핑되는 순차 다이어그램의 메시지와 메시지 흐름을 식별한다.
둘째, 식별된 메시지 흐름과 관련된 객체를 식별한다.
셋째, 식별된 객체들과 매핑되는 프레임워크의 클래스들을 식별한다. 이때, 이 과정에서 프레임워크 구조적 모델링 과정에서 추출된 프레임워크의 클래스들이 이용될 수 있다.
넷째, 식별된 프레임워크내의 클래스간의 메시지 흐름을 식별한다. 따라서, 식별된 메시지 흐름이 프레임워크의 제어 흐름이 된다.
다섯째, 제어 흐름의 시작점이 되는 메소드를 식별한다. 따라서, 식별된 메소드가 프레임워크의 인터페이스가 된다.
프레임워크 분석정보 처리부(35)는 프레임워크 구조적 모델링부(33) 및 프레임워크 동적 모델링부(34)를 통해 구조적, 동적 모델링을 거친 결과를 프레임워크를 구현하는데 필요한 분석 정보로 활용한다.
도 4 는 본 발명에 따른 프레임워크 모델링 방법에 대한 일실시예 전체 흐름도이다.
먼저, 분석정보 작성부(31)가 UML을 이용하여 사용자 케이스(Use Case) 다이어그램, 사용자 케이스 다이어그램을 설명하는 사용자 케이스 사건 흐름, 객체들간의 메시지 교환을 표현하는 순차(Sequence) 다이어그램, 클래스들과 그들간의 관계를 표시하는 클래스 다이어그램을 작성한다(401).
이후, 프레임워크 식별부(32)가 분석정보 작성부(31)에서 작성된 사용자 케이스 다이어그램에서 프레임워크들을 식별한다(402).
다음으로, 프레임워크 구조적 모델링부(33)가 분석정보 작성부(31) 및 프레임워크 식별부(32)의 결과를 이용하여 프레임워크의 구조적 모델링을 수행한다(403).
도 5a를 참조하여 프레임워크의 구조적 모델링 과정(403)을 구체적으로 살펴보면 다음과 같다.
먼저, 사용자 케이스 사건 흐름내의 사건과 매핑되는 순차 다이어그램의 메시지를 식별한다(501). 여기서, 사용자 케이스 사건 흐름의 각 사건들은 순차 다이어그램의 메시지로 매핑되므로 특정 사용 케이스에 속하는 메시지를 추출할 수 있다.
이후, 식별된 메시지를 수신하는 객체를 순차 다이어그램에서 식별하게 되는데(502), 이러한 객체는 메시지에 해당하는 메소드를 가지고 있으므로 클래스 추출에 사용된다.
다음으로, 클래스 다이어그램으로부터 메시지와 객체에 부합되는 메소드와클래스를 식별한다(503). 이때, 이렇게 식별된 클래스는 프레임워크를 구성하는 클래스가 된다.
이어서, 프레임워크를 구성하는 클래스들간의 관계성을 식별한다(504).
상기한 바와 같은 프레임워크 구조적 모델링 과정(403)은 모든 프레임워크들에 적용될 수 있다.
한편, 프레임워크 동적 모델링부(34)가 분석정보 작성부(31) 및 프레임워크 식별부(32)의 결과를 이용하여 프레임워크의 동적인 모델링을 수행한다(404).
도 5b를 참조하여 프레임워크의 동적 모델링 과정(404)을 구체적으로 살펴보면 다음과 같다.
먼저, 사용 케이스 사건 흐름내의 사건과 매핑되는 순차 다이어그램의 메시지와 메시지 흐름을 식별하고(511), 식별된 메시지 흐름과 관련된 객체를 식별한다(512).
이후, 식별된 객체들과 매핑되는 프레임워크의 클래스들을 식별한다(513). 이 과정에서 구조적 모델링 과정에서 추출된 프레임워크의 클래스들이 이용될 수 있다.
다음으로, 이렇게 식별된 프레임워크내의 클래스간의 메시지 흐름을 식별하면(514), 식별된 메시지 흐름이 프레임워크의 제어 흐름이 된다.
이어서, 제어 흐름의 시작점이 되는 메소드를 식별하면(515), 식별된 메소드가 프레임워크의 인터페이스가 된다.
마지막으로, 프레임워크 분석정보 처리부(35)에서 구조적, 동적 모델링을 거친 결과가 프레임워크를 구현하는데 필요한 분석정보로 활용된다.
상기한 바와 같은 본 발명은 UML을 이용한 분석정보로부터 프레임워크를 구조적 및 동적으로 모델링하여 프레임워크 구현에 필요한 정보를 용이하게 획득할 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.