KR20030056697A - 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체 - Google Patents

객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체 Download PDF

Info

Publication number
KR20030056697A
KR20030056697A KR1020010086980A KR20010086980A KR20030056697A KR 20030056697 A KR20030056697 A KR 20030056697A KR 1020010086980 A KR1020010086980 A KR 1020010086980A KR 20010086980 A KR20010086980 A KR 20010086980A KR 20030056697 A KR20030056697 A KR 20030056697A
Authority
KR
South Korea
Prior art keywords
design
model
rule
design pattern
pattern
Prior art date
Application number
KR1020010086980A
Other languages
English (en)
Other versions
KR100456631B1 (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 KR10-2001-0086980A priority Critical patent/KR100456631B1/ko
Publication of KR20030056697A publication Critical patent/KR20030056697A/ko
Application granted granted Critical
Publication of KR100456631B1 publication Critical patent/KR100456631B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그 적용방법 및 이에 관련된 프로그램의 기록매체에 관한 것으로, 특히 본 발명의 장치는 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 설계 패턴 입력부와, 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 모델 변환부와, 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 설계 모델 작성부와, 설계 패턴 정의/적용 데이터에 응답하여 설계 패턴의 제한 조건에 대한 규칙을 적용하고 설계 모델 작성부에서 작성된 설계 모델에서 규칙을 위반하는지를 검사하는 규칙 기반 시스템과, 설계 모델 정보를 규칙 기반 시스템에 전달하여 규칙 검사를 요청하고 규칙 기반 시스템에서 검사된 결과를 전달받는 규칙 검사부와, 규칙 검사부의 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 설계 정보 메시지 출력부를 구비한다. 그러므로, 본 발명은 설계 패턴을 공유해서 재사용하는 과정을 자동화할 수 있으며 동시에 모델 변경 과정에서의 이미 적용된 설계 패턴과의 일관성 규칙을 검사할 수 있다.

Description

객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그 적용방법 및 이에 관련된 프로그램의 기록매체{APPARATUS AND METHOD FOR ADAPTATION OF DESIGN MODELS IN THE OBJECT-ORIENTED PROGRAMMING SYSTEM AND RECORDING MEDIUM PROVIDING PROGRAM THEREIN}
본 발명은 객체지향 프로그래밍 시스템(Object-Oriented Programming System)에 관한 것으로서, 특히 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그 적용방법 및 이에 관련된 프로그램의 기록매체에 관한 것이다.
일반적으로, 객체지향 프로그래밍은 소프트웨어를 분석, 설계하고 구현하는 방법중의 하나이다. 객체지향 프로그래밍에서 가장 기본이 되는 단위는 객체인데, 이러한 객체지향 개발 과정에서 제일 먼저 해야 하는 일은 문제 영역 안의 객체를 찾는 일이다. 객체지향 개발 방법은 객체(object), 객체의 속성(attribute)과 동작(behaviour), 유사한 객체의 집합으로 나누어진 클래스(class), 객체 사이의 관계(relationship) 등을 기본 개념으로 하고 있다.
그리고 객체지향 프로그래밍은 시스템 자체 또는 시스템의 구성 요소를 메시지의 교환에 의해 상호 통신하는 객체의 집합으로 생각하고 객체의 종류, 객체의 절차(방법) 및 객체 사이에 절차의 수행을 위해 주고받는 메시지를 정의하는 데에중점을 두는 설계를 한다.
따라서 객체지향 기법은 시스템의 모듈화 및 캡슐화를 촉진하여 복잡화·거대화되는 소프트웨어를 사용하며 프로그래밍의 작성이 쉽고 유지/보수하기 쉬운 방향으로 재구축하는 새로운 기법으로 각광을 받고 있다. 객체 지향 프로그램의 언어로 현재 가장 많이 사용되고 있는 것은 C++이다. C++의 섭셋(subset)인 Java 프로그래밍 언어는 특히 인터넷과 같은 클라이언트/서버 시스템의 분산 프로그램 객체들을 위하여 설계된 것이다.
한편, 객체지향 프로그래밍의 소프트웨어를 설계하는 과정에서 축적된 경험들을 바탕으로 객체들 사이의 일반적인 상호작용 방법들을 정리해 놓은 목록을 설계(design pattern)이라 한다. 이러한 설계 패턴은 객체지향 프로그래밍 시스템의 설계시 패턴의 재사용을 통해 설계 과정의 복잡화를 간소화하기 위해 연구/개발되었다.
설계 패턴에 관한 연구는 1990년대 초반에 Etich Gamma 등이 GUI 어플리케이션 프레임워크에 23개의 일반적이고 유용한 설계 패턴들을 정의하고 이들의 적용시점과 이용 방법들을 명시적으로 기술함으로써 시작되었다. 지금까지 시스템 개발 및 응용 분야에서 축적된 경험들을 객체지향 설계 패턴으로 구축하는 연구들이 진행되어 왔다. 그 중 하나로 썬 자바 센터에서 J2EE(Java 2 Platform, Enterprise Edition) 응용 프로그램의 개발 경험을 바탕으로 개발 과정에서 공통적으로 발생되는 문제에 대한 해결책들을 J2EE 패턴으로 정리하였다. 여기에는 기존에 발표된 여러 설계 패턴들, 예를 들면 Gof 패턴, 커스텀 패턴, 자바빈 패턴,JSP(JavaServer Pages) 및 서블릿(Servlet) 패턴 등이 포함되어 있다.
최근에는 객체지향 프로그래밍의 설계 패턴 생성 기술은 이미 알려진 설계 패턴에 대한 모델을 변환해서 제공하는 TogetherSoft사의 제품이 있지만, 아직까지는 설계 패턴을 적용한 모델의 변환 수준에 머물고 있으며 설계 패턴을 쉽게 정의하고 모델 변경 과정에서의 이미 적용된 설계 패턴과의 일관성 검사와 같은 기능들을 제공하지 않는다.
본 발명의 목적은 기존의 설계 패턴은 물론이고 설계자가 직접 자신의 설계 패턴을 직접 정의할 수 있으며, 이에 따라 설계 모델을 변환해서 작성하고 작성된 설계 모델이 제한 규칙에 따르는지를 검사함으로써 설계자의 지식을 설계 패턴화하는 과정을 자동화할 수 있으며 동시에 모델 변경 과정에서의 이미 적용된 설계 패턴과의 일관성 검사를 할 수 있는 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그 적용방법 및 이에 관련된 프로그램의 기록매체를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 장치에 있어서, 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 설계 패턴 입력부와, 설계 패턴 입력부에서 입력된 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 모델 변환부와, 모델 변환부에서 전달된 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 설계 모델 작성부와, 설계 패턴 입력부에서 전달된 설계 패턴 정의/적용 데이터에 응답하여 설계 패턴의 제한 조건에 대한 규칙을 적용하고 설계 모델 작성부에서 작성된 설계 모델에서 규칙을 위반하고 있는지를 검사하는 규칙 기반 시스템과, 설계 모델 작성부의 설계 모델 정보를 규칙 기반 시스템에 전달하여 규칙 검사를 요청하고 규칙 기반 시스템에서 검사된 결과를 전달받는 규칙 검사부와, 규칙 검사부의 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 설계 정보 메시지 출력부를 구비한다.
상기 목적을 달성하기 위하여 본 발명은 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 방법에 있어서, 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 단계와, 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 단계와, 전달된 설계 패턴의 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 단계와, 설계 모델 정보를 전달하여 규칙 검사를 요청하고, 모델 변환 제한 데이터에 응답하여 설계 패턴의 제한 조건에 대한 규칙을 적용하고 작성된 설계 모델에서 규칙을 위반하고 있는지를 검사하는 단계와, 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 단계를 포함한다.
상기 목적을 달성하기 위하여 본 발명은 컴퓨터에, 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 프로그램을 갖는 기록매체에 있어서, 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 단계와, 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 단계와, 전달된 설계 패턴의 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 단계와, 설계 모델 정보를 전달하여 규칙 검사를 요청하고, 모델 변환 제한 데이터에 응답하여 설계 패턴의 제한 조건에 대한 규칙을 적용하고 작성된 설계 모델에서 규칙을 위반하고 있는지를 검사하는 단계와, 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 단계를 포함한다.
도 1은 본 발명에 따른 객체지향 프로그래밍 시스템의 설계 모델 적용장치를 나타낸 구성도,
도 2는 본 발명의 설계 모델 적용장치에서 설계 패턴 정의/적용 데이터의 스트립트를 나타낸 일 실시예,
도 3은 본 발명의 일 실시예에 따른 설계 모델 적용장치의 주 화면을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 설계 모델 적용장치와 연동되는 설계 패턴 시스템의 주 화면을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 설계 패턴 입력부의 주 화면을 나타낸 도면,
도 6은 본 발명에 따른 객체지향 프로그래밍 시스템의 설계 모델 적용방법을 나타낸 흐름도.
<도면의 주요부분에 대한 부호의 설명>
1 : 객체지향 프로그래밍 시스템의 설계모델 적용장치
10 : 설계 패턴 입력부 20 : 모델 변환부
30 : 설계 모델 작성부 40 : 규칙 검사부
50 : 규칙 기반 시스템 60 : 설계 정보 메시지 출력부
70 : 설계 패턴 시스템
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 설명하고자 한다.
도 1은 본 발명에 따른 객체지향 프로그래밍 시스템의 설계 모델 적용장치를 나타낸 구성도이다. 도 1을 참조하면, 본 발명의 설계 모델 적용장치(1)는 설계 패턴 입력부(10)와, 모델 변환부(20)와, 설계 모델 작성부(30)와, 규칙 기반 시스템(50)과, 규칙 검사부(40)와, 설계 정보 메시지 출력부(60)를 포함한다. 그리고 설계 패턴 시스템(70)은 설계 모델 작성부(30)에서 생성된 설계 모델을 저장 및 관리한다.
여기서, 설계 패턴 입력부(10)는 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는다. 이때, 설계 패턴 정의/적용 데이터는 모델 변환 인자 데이터(Tr)와, 설계 패턴의 선택 데이터(XML_Pat)와, 모델 변환 제한 데이터(ℓi)를 포함하고 이들 데이터는 XML 스트립트(script)로 작성된다.
설계 패턴의 정의 데이터는 설계 패턴의 선택 데이터(XML_Pat)이며 설계 모델 변환 명령 및 설계 패턴의 기준 조건을 정하는 것이다. 그리고 설계 패턴의 적용 데이터는 모델 변환 인자 데이터(Tr)와 모델 변환 제한 데이터(ℓi)이며 현재의 설계 모델을 설계 패턴이 적용된 후의 모델로 변환하는데, 요구되는 변환 구성 요소와 제한 조건을 정하는 것이다.
좀 더 상세하게는, 모델 변환 인자 데이터(Tr)는 클래스 역할을 위임하는 연산자, 클래스를 분할하여 객체 사용을 관리하는 외형화 연산자, 인터페이스 클래스를 생성하고 상속 관계를 설정하는 추상화 연산자, 클래스 사이의 상호 연관 관계를 설정하는 구체화 연산자를 포함한다. 이에 대한 상세한 설명은 도 2를 참조하여 추후 설명하기로 한다. 그리고 설계 패턴의 선택 데이터(XML_Pat)는 패턴의 이름 및 의도, 적용 대상이 되는 상태 정의, 패턴 참여 객체의 정의, 패턴을 구성하는 연산자들의 리스트 정의를 포함한다. 마지막으로 모델 변환 제한 데이터(ℓi)는 설계 패턴의 제약 정보 및 고유 정보를 포함한다. 이 모델 변환 제한 데이터(ℓi)는 설계 패턴 입력부(10)를 통해서 규칙 기반 시스템(50)으로 전달되는데, 이 데이터를 ℓi'로 표시하였다.
본 발명의 설계 모델 적용장치(1)의 모델 변환부(20)는 설계 패턴 입력부(10)에서 입력된 설계 패턴 정의/적용 데이터내 모델 변환 명령에 응답하여 설계 모델 작성부(30)에 설계 모델의 변경 작업을 요청한다. 그러면, 요청 명령에 따라 기설정된 모델 변환 명령 리스트 DB(22)중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하여 설계 모델 작성부(30)에 제공한다.
이에 본 발명의 설계 모델 작성부(30)는 모델 변환부(20)에서 전달된 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는데, 그 예로서 클래스 다이어그램 작성기이다. 그리고 설계 모델 작성부(30)는 통합 메시지 출력부(미도시함)를 포함하고 설계 정보 메시지 출력부(60)는 통합 메시지 출력부의 일부에 포함된다. 이때, 설계 모델 작성부(30)는 작성된 설계 모델의 정보를 설계 패턴 시스템(70)에 전달한다.
그리고 본 발명의 규칙 검사부(40)는 설계 모델 작성부(30)에서 작성된 설계 모델의 정보를 규칙 기반 시스템(50)에 전달하여 규칙 검사를 요청하고 규칙 기반 시스템(50)에서 검사된 결과를 전달받아 이를 설계 정보 메시지 출력부(60)에 제공하는 인터페이스 역할을 한다. 게다가 규칙 검사부(40)는 설계 패턴 적용에 수반되는 추가적 모델 정보 및 설계자의 작업에 따른 정보를 추가 전달받아 이를 규칙 기반 시스템(50)에 전달한다.
본 발명의 규칙 기반 시스템(50)에서는 설계 패턴 입력부(10)에서 전달된 모델 변환 제한 데이터(ℓi')에 응답하여 설계 패턴의 제한 조건에 대한 규칙을 적용하고 설계 모델 작성부(30)에서 작성된 설계 모델에서 규칙을 위반하고 있는지를 검사한다. 그리고 규칙 기반 시스템(50)은 규칙 검사부(40)에서 제공된 설계 패턴 적용에 수반되는 추가적 모델 정보 및 설계자의 작업에 따른 정보를 추가 전달받아 설계 패턴의 제한 조건에 대한 규칙을 다시 적용하고 설계 모델 작성부(30)에서 작성된 설계 모델에서 규칙을 위반하고 있는지를 검사할 수도 있다.
본 발명의 설계 정보 메시지 출력부(60)는 규칙 검사부(40)의 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이함과 동시에, 현재 작업 중인 설계 모델에 관련된 유용한 정보를 제공한다. 여기서, 설계 모델에 관련된 정보는 사용자 정의 패턴인 경우 설계 패턴 입력부에서 패턴을 정의할 때 사용자로부터 입력된 정보(XML_Pat)들이 제공될 수 있으며, 시스템에서 미리 정의된 패턴인 경우에는 XML_Pat에 이미 저장된 것이다. 그리고 본 발명의 설계 정보 메시지 출력부(60)는 설계 모델 작성부(30)에 구비된 통합 메시지 출력부의 일부에 포함되는 것이 바람직하다.
상기와 같이 구성된 본 발명의 설계 패턴 적용장치(1)는 설계 패턴 입력부(10)와 모델 변환부(20)와 설계 모델 작성부(30)를 통해서 기존의 설계 모델에 이미 정의된 설계 패턴을 선택해서 설계 모델을 자동으로 변환할 수 있고, 규칙 기반 시스템(50)과 규칙 검사부(40)를 통해 설계 패턴의 제한 조건에 따른 설계 모델에서의 설계 패턴의 규칙을 검사할 수 있고, 설계 정보 메시지 출력부(60)를 통해 검사 결과와 설계 모델에 관련된 정보의 메시지를 설계자에게 제공한다.
도 2는 본 발명의 설계 모델 적용장치에서 설계 패턴 정의/적용 데이터의 스트립트를 나타낸 일 실시예이다.
설계 패턴은 설계자에 의해 자유롭게 정의되어 저장될 수 있는데, 설계 과정에서 설계 패턴을 재사용하기 위해 설계 패턴을 일련의 기본 변환 연산자들로 정의한다. 이러한 모델 변환 연산자에는 클래스 추가, 메소드 추가, 속성 추가, 상속 관계 설정, 연관 관계 설정 등의 모델 구조 변환에 관련된 명령들이 있다. 이를 위해 본 발명은 모델 구조 변환 연산자가 포함된 설계 패턴 정의/적용 데이터의 스크립트(100)는 다음과 같은 구성 요소를 갖는다.
우선, 본 발명의 설계 패턴 정의/적용 스트립트(100)는 패턴의 이름(Name)(102)과, 패턴의 의도(Intent)(104)와, 패턴 적용 대상이 되는 상태를 정의(Precursor)(106)와, 패턴 참여 객체 정의(Argument)(108)와, 패턴을 구성하는 연산자들의 리스트 정의(PTOperator)(110)와, 패턴의 제약 사항 및 고유 정보(RBSInputList)(112)를 포함한다.
그리고, 본 발명에서 설계 패턴 적용 데이터는 일련의 모델 변환 연산자들의 조합으로 표현될 수 있다. 모델 변환 연산자에는 위임(Delegation)/ 외형화(Externalization), 추상화(Abstraction) / 구체화(Concretization) 등이 있다.
1. 위임 : 위임 연산자는 하나의 클래스에서 수행하는 특정 역할을 별도의 클래스로 분리시켜 이 새 클래스에 대해 해당 역할을 위임한다. 일반적인 경우, 모델 변환 과정은 새로운 클래스의 생성과 새로운 클래스로의 연관 관계 설정으로 이루어진다. 특수한 경우에 연관 관계의 설정 혹은 상속 구조의 설정으로 표현될수 있다. 위임 변환 연산자는 소스 노드에 대해 적용된다.
2. 외형화 : 외형화 연산자는 하나의 클래스를 둘로 분할하여 복잡한 구현 내부를 숨기거나 대리자를 내세워서 객체 사용을 관리하기 위해 사용된다. 외형화 변환 연산자는 타겟 노드에 대해 적용된다.
3. 추상화 : 추상화 연산자는 인터페이스 클래스를 새로 정의하여 클래스들의 공통적인 부분을 한 단계 위의 추상 수준으로 올리기 위해 사용된다. 일반적으로, 새로운 인터페이스 클래스를 생성하고, 상속 관계를 설정하는 과정이다.
4. 구체화 : 구체화 연산자는 기존 클래스를 상속 받아 새로운 행위를 정의하기 위해 사용된다. 부모 클래스의 다른 클래스와의 상호 연동 관계를 계승한다. 일반적으로 기존 클래스를 상속하는 새로운 클래스를 생성하여 연관 관계를 설정하는 과정으로 이루어진다.
그러므로, 본 발명의 객체지향 설계 패턴들은 이와 같은 모델 변환 연산자들의 조합을 통해 기존 설계 모델을 패턴 구조를 갖는 설계 모델로 변환할 수 있는데, 그 예는 연산자 리스트 정의(PTOperator)(110)와 같다.
도 3은 본 발명의 일 실시예에 따른 설계 모델 적용장치의 주 화면을 나타낸 도면이다. 도 3에 도시된 설계 모델 적용장치의 주 화면(200)에서 상단에 설계 패턴의 입력부인 설계 패턴의 선택 창(202)과 테이블(204)이 표시되어 있다. 왼쪽 상단에 위치한 설계 패턴의 선택 창(202)은 사용가능한 설계 패턴들에 대한 목록 트리를 디스플레이한다. 이러한 설계 패턴의 목록 트리중에서 어느 하나를 사용자가 선택하면 이를 설계 모델에 적용할 수 있다. 주 화면(200)에서 오른쪽 상단의테이블(204)은 설계 패턴 인자 입력 패널로 설계 패턴 적용시 설계 패턴상의 역할별로 클래스 명을 기술하는 부분이다.
주 화면(200)는 설계 모델 작성부의 통합 메시지 출력부가 설치된다. 예를 들어, 오른쪽 하단의 설계 정보 메시지 출력 창(206)은 트리 상에 선택된 설계 패턴에 대한 설명 또는 정보를 디스플레이하는 부분이다. 또한, 설계 모델 적용장치의 주 화면(200)에는 오른쪽 하단의 설계 미리 보기창(208)에 현재까지 입력된 설계 패턴의 정보를 통해 설계 패턴의 적용결과에 대한 미리 보기를 제공한다.
이와 같이 본 발명에 따른 설계 모델 적용장치의 주 화면(200) 상에서 설계 패턴의 선택창(202)을 통해 어느 한 설계 패턴이 선택되었다면, 설계 정보 메시지 출력 창(206)에는 선택된 설계 패턴에 대한 설명이 표시되고 테이블(204) 창에는 선택된 설계 패턴을 대상으로 하는 모델 상의 클래스 정보를 입력하는 테이블이 도시된다. 이때, 설계 미리 보기창(208)에서는 입력된 설계 패턴의 정보를 토대로 작성된 설계 패턴의 적용결과가 디스플레이된다.
도 4는 본 발명의 일 실시예에 따른 설계 모델 적용장치와 연동되는 설계 패턴 시스템의 주 화면을 나타낸 도면이다. 도 4를 참조하면, 설계 패턴 시스템의 주 화면(210)에는 현재까지 모델에 적용된 설계 패턴의 인스턴스들을 보여지는 창(212)이 있고, 해당 적용 인스턴스를 삭제할 수 있도록 지원하는 설계 패턴 관리창(214)이 표시된다. 아래 검색(search) 버튼(216)은 원하는 패턴의 인스턴스(instance)를 질의할 수 있고, 삭제(remove) 버튼(218)은 에 적용된 설계 패턴의 인스턴스를 제거할 수 있다.
도 5는 본 발명의 일 실시예에 따른 설계 패턴 입력 도구의 주 화면을 나타낸 도면이다. 도 5를 참조하면, 사용자가 설계 패턴 입력 도구(300)에서 지원하는 설계 패턴 외의 여러 가지 설계 패턴들을 정의할 수 있는데, 예를 들어 패턴의 이름과 값 등이 정의된다.
도 6은 본 발명에 따른 객체지향 프로그래밍 시스템의 설계 모델 적용방법을 나타낸 흐름도로서, 상기와 같이 구성된 본 발명의 설계 모델 적용장치는 다음과 같이 작동한다.
우선, 사용자는 설계 모델 적용장치(1)의 설계 패턴 입력부(10)에 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력한다. 예를 들어, 사용자가 특정 설계 패턴의 이름을 지정해서 입력하면, 설계 패턴 입력부(10)는 지정된 설계 패턴의 이름을 맞는 설계 패턴의 편집 환경을 제공하고 이에 사용자가 설계 패턴의 편집을 마치고 설계 패턴의 적용을 지시하는 명령을 입력한다.(S10).
이에 모델 변환부(20)는 입력된 설계 패턴 정의 데이터(즉, 설계 패턴의 기본 정보)와 적용 데이터(편집된 내용)에 응답하여 기설정된 모델 변환 명령 리스트 DB(22)중에서 어느 하나를 선택하고 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하여 설계 모델 작성부(30)에 모델 변경을 지시한다.(S20)
이에 설계 모델 작성부(30)는 전달된 설계 패턴의 모델 정보에 따라 객체 지향 프로그래밍 시스템에 적용되는 설계 모델을 작성한다.(S30)
그리고 규칙 검사부(40)는 규칙 기반 시스템(50)에 패턴의 제약 사항이나 모델 변경 정보 등의 모델 변환 제한 데이터를 전달하여 규칙 기반 시스템(50)에 설계 모델의 규칙 검사를 요청한다. 이에 규칙 기반 시스템(50)에서는 사용자에 의해 설계 모델의 변경이 있을 경우 설계 패턴의 제한 조건에 대한 규칙을 적용하고 해당 설계 모델에서 규칙을 위반하고 있는지를 검사한다.(S40) 이때, 설계 제한 조건은 규칙의 형태로 규칙 기반 시스템(50)에 입력되며, 잘못된 설계자의 작업을 통해 입력된 새로운 모델 정보에 대해 규칙을 적용함으로써 위반 사실을 자동으로 파악할 수 있다. 그러므로, 본 발명은 계속되는 설계 모델링 작업을 통해 설계자의 실수에 의해서 모델에 적용된 설계 패턴의 구조가 사라질 수 있는데, 설계 모델 작성부(30)의 설계 패턴에 대해 제한 조건을 검사함으로써 설계자의 잘못된 모델링을 방지할 수 있다.
그리고, 규칙 검사부(40)는 규칙 기반 시스템(50)에서 검사된 결과에 따른 패턴의 규칙 준수/위반 메시지를 전달받아 이를 설계 정보 메시지 출력부(60)에 출력한다. 이에 설계 정보 메시지 출력부(60)는 패턴의 규칙 준수/위반 메시지를 디스플레이한다.(S50)
또한, 설계 정보 메시지 출력부(60)는 패턴의 규칙 준수/위반 메시지와는 별도로 규칙 검사부(40)에서 제공된 현재 모델링 작업과 관련된 정보 메시지를 디스플레이한다.(S60)
한편, 도면에 도시되지 않았지만, 상술한 바와 같은 본 발명의 객체지향 프로그래밍 시스템의 설계 모델 적용 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 여러 가지 기록매체(CD-ROM, RAM, ROM, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 기록되어 저장될 수 있다.
이상 설명한 바와 같이, 본 발명은 기존의 설계 패턴은 물론이고 설계자가 직접 자신의 설계 패턴을 직접 정의할 수 있으며, 이에 따라 설계 모델을 변환해서 작성하고 작성된 설계 모델이 제한 규칙에 따르는지를 검사함으로써 설계자의 지식을 설계 패턴화하는 과정을 자동화할 수 있으며 동시에 모델 변경 과정에서의 이미 적용된 설계 패턴과의 일관성 규칙을 검사할 수 있다.
따라서, 본 발명은 객체지향 프로그래밍 시스템에서 설계 패턴의 개발 경험을 축적할 수 있으며 설계 패턴을 공유해서 재사용할 수 있기 때문에 소프트웨어 설계 모델의 생성하는데 걸리는 시간적/자원적 낭비를 막을 수 있다.
한편, 본 발명은 상술한 실시예에 국한되는 것이 아니라 후술되는 청구범위에 기재된 본 발명의 기술적 사상과 범주내에서 당업자에 의해 여러 가지 변형이 가능하다.

Claims (12)

  1. 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 장치에 있어서,
    상기 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 설계 패턴 입력부;
    상기 설계 패턴 입력부에서 입력된 상기 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 상기 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 모델 변환부;
    상기 모델 변환부에서 전달된 모델 정보에 따라 상기 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 설계 모델 작성부;
    상기 설계 패턴 입력부에서 전달된 설계 패턴 정의/적용 데이터에 응답하여 상기 설계 패턴의 제한 조건에 대한 규칙을 적용하고 상기 설계 모델 작성부에서 작성된 설계 모델에서 상기 규칙을 위반하고 있는지를 검사하는 규칙 기반 시스템;
    상기 설계 모델 작성부의 설계 모델 정보를 상기 규칙 기반 시스템에 전달하여 규칙 검사를 요청하고 상기 규칙 기반 시스템에서 검사된 결과를 전달받는 규칙 검사부; 및
    상기 규칙 검사부의 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 설계 정보 메시지 출력부를 구비한 것을 특징으로 하는 객체지향프로그래밍 시스템의 설계 모델 적용장치.
  2. 제 1항에 있어서, 상기 설계 패턴 정의/적용 데이터는 XML 스트립트로 작성되는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  3. 제 1항에 있어서, 상기 설계 패턴 입력부에 입력되는 설계 패턴 정의/적용 데이터는 모델 변환 인자 데이터와, 설계 패턴의 선택 데이터와, 모델 변환 제한 데이터를 포함하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  4. 제 3항에 있어서, 상기 모델 변환 인자 데이터는 클래스 역할을 위임하는 연산자, 클래스를 분할하여 객체 사용을 관리하는 외형화 연산자, 인터페이스 클래스를 생성하고 상속 관계를 설정하는 추상화 연산자, 클래스 사이의 상호 연관 관계를 설정하는 구체화 연산자를 포함하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  5. 제 1항에 있어서, 상기 설계 패턴의 선택 데이터는 패턴의 이름 및 의도, 적용 대상이 되는 상태 정의, 패턴 참여 객체의 정의, 패턴을 구성하는 연산자들의 리스트 정의를 포함하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  6. 제 1항에 있어서, 상기 모델 변환 제한 데이터는 설계 패턴의 제약 정보 및 고유 정보를 포함하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  7. 제 1항에 있어서, 상기 설계 모델 작성부는 작성된 설계 모델의 정보를 저장 및 관리하는 설계 패턴 시스템에 전달하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  8. 제 1항에 있어서, 상기 설계 모델 작성부는 통합 메시지 출력부를 포함하고 상기 설계 정보 메시지 출력부는 상기 통합 메시지 출력부의 일부에 포함되는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  9. 제 1항에 있어서, 상기 규칙 검사부는 현재 작업 중인 설계 모델에 관련된 정보를 상기 설계 정보 메시지 출력부에 제공하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  10. 제 1항에 있어서, 상기 규칙 기반 시스템에는 설계 패턴 적용에 수반되는 추가적 모델 정보 및 설계자의 작업에 따른 정보를 추가로 전달받아 상기 설계 패턴의 제한 조건에 대한 규칙을 적용하고 상기 설계 모델 작성부에서 작성된 설계 모델에서 상기 규칙을 위반하고 있는지를 검사하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용장치.
  11. 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 방법에 있어서,
    상기 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 단계;
    상기 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 상기 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 단계;
    상기 전달된 설계 패턴의 모델 정보에 따라 상기 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 단계;
    상기 설계 모델 정보를 전달하여 규칙 검사를 요청하고, 모델 변환 제한 데이터에 응답하여 상기 설계 패턴의 제한 조건에 대한 규칙을 적용하고 작성된 설계 모델에서 상기 규칙을 위반하고 있는지를 검사하는 단계; 및
    상기 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 객체지향 프로그래밍 시스템의 설계 모델 적용 방법.
  12. 컴퓨터에, 적어도 두 개 이상의 객체들 사이의 연관성을 정의한 다수 개의 설계 패턴들 중에서 어느 하나를 응용하여 객체지향 프로그래밍 시스템의 설계 모델로 작성하는 프로그램을 갖는 기록매체에 있어서,
    상기 설계 패턴의 모델 변환 연산자가 포함된 설계 패턴 정의/적용 데이터를 입력받는 단계;
    상기 설계 패턴 정의/적용 데이터에 응답하여 기설정된 모델 변환 명령 리스트 중에서 어느 하나를 선택하고 상기 선택된 모델 변환 명령에 따라 설계 패턴의 모델 정보를 변환하는 단계;
    상기 전달된 설계 패턴의 모델 정보에 따라 상기 객체 지향 프로그래밍 시스템에 적용되는 설계 패턴을 갖는 설계 모델을 작성하는 단계;
    상기 설계 모델 정보를 전달하여 규칙 검사를 요청하고, 모델 변환 제한 데이터에 응답하여 상기 설계 패턴의 제한 조건에 대한 규칙을 적용하고 작성된 설계 모델에서 상기 규칙을 위반하고 있는지를 검사하는 단계; 및
    상기 검사 결과에 따른 설계 패턴의 규칙 준수/위반 메시지를 디스플레이하는 단계를 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2001-0086980A 2001-12-28 2001-12-28 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체 KR100456631B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086980A KR100456631B1 (ko) 2001-12-28 2001-12-28 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086980A KR100456631B1 (ko) 2001-12-28 2001-12-28 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체

Publications (2)

Publication Number Publication Date
KR20030056697A true KR20030056697A (ko) 2003-07-04
KR100456631B1 KR100456631B1 (ko) 2004-11-10

Family

ID=32214871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0086980A KR100456631B1 (ko) 2001-12-28 2001-12-28 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체

Country Status (1)

Country Link
KR (1) KR100456631B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100854660B1 (ko) * 2006-09-21 2008-08-28 삼성중공업 주식회사 선박의 의장설계를 위한 수치 및 물량 계산 프로그램의통합 시스템 및 방법
KR20220105799A (ko) * 2021-01-21 2022-07-28 엘에스일렉트릭(주) 데이터 모델 설계를 위한 사용자 인터페이스 제공 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158674A (ja) * 1991-12-10 1993-06-25 Toshiba Corp ソフトウェア部品設計、仕様検証支援装置
JPH09198242A (ja) * 1996-01-17 1997-07-31 Sumitomo Electric Ind Ltd オブジェクト指向設計支援装置
KR100329971B1 (ko) * 1998-12-18 2002-05-09 이계철 병렬객체지향시스템의정형적검증방법
JP3765949B2 (ja) * 1999-02-17 2006-04-12 富士通株式会社 オブジェクト指向ソフトウェア開発支援装置および開発支援方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100854660B1 (ko) * 2006-09-21 2008-08-28 삼성중공업 주식회사 선박의 의장설계를 위한 수치 및 물량 계산 프로그램의통합 시스템 및 방법
KR20220105799A (ko) * 2021-01-21 2022-07-28 엘에스일렉트릭(주) 데이터 모델 설계를 위한 사용자 인터페이스 제공 방법

Also Published As

Publication number Publication date
KR100456631B1 (ko) 2004-11-10

Similar Documents

Publication Publication Date Title
Buckner et al. JRipples: A tool for program comprehension during incremental change
US7861217B2 (en) Non-graphical model dependencies in graphical modeling environments
US8813024B2 (en) System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
US7765529B1 (en) Transforming graphical objects in a graphical modeling environment
US8495559B2 (en) Extracting platform independent models from composite applications
US20160004516A1 (en) Code Generation Framework for Application Program Interface for Model
CN104090776A (zh) 一种软件开发方法及系统
Aquino et al. Conceptual modelling of interaction
Mendonca et al. A process-centric approach for coordinating product configuration decisions
Radeke et al. PIM Tool: Support for pattern-driven and model-based UI development
Cheong et al. Frame-based method for customizing generic software architectures
Sousa et al. UPi: a software development process aiming at usability, productivity and integration
Appeldorn et al. Delta-driven collaborative modeling.
KR100456631B1 (ko) 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체
Martens et al. Diagnosing sca components using wombat
Predoaia et al. Streamlining the development of hybrid graphical-textual model editors for domain-specific languages
Mulder et al. Towards enterprise-grade tool support for DEMO
WO2001008007A1 (en) Method and system of automated generation of program code from an object oriented model
CN112363700A (zh) 智能合约的协同创建方法、装置、计算机设备和存储介质
Caffiau et al. Generating interactive applications from task models: A hard challenge
Sun et al. Automating the maintenance of nonfunctional system properties using demonstration‐based model transformation
Müller et al. Hypermedia: The Key to RESTful Web Applications.
Mizuno et al. A model‐driven development method for Management Information Systems
Nattapon et al. Visualization of Electrical Architectures In the Automotive Domain Based on the Needs of Stakeholders
JPH09237180A (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: 20121031

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee