KR100213953B1 - 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법 - Google Patents

객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법 Download PDF

Info

Publication number
KR100213953B1
KR100213953B1 KR1019960053218A KR19960053218A KR100213953B1 KR 100213953 B1 KR100213953 B1 KR 100213953B1 KR 1019960053218 A KR1019960053218 A KR 1019960053218A KR 19960053218 A KR19960053218 A KR 19960053218A KR 100213953 B1 KR100213953 B1 KR 100213953B1
Authority
KR
South Korea
Prior art keywords
class
node
information
displaying
content
Prior art date
Application number
KR1019960053218A
Other languages
English (en)
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 포만 제프리 엘
Application granted granted Critical
Publication of KR100213953B1 publication Critical patent/KR100213953B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Landscapes

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

Abstract

사용자가 컴퓨터 디스플레이 상에서 객체 지향형 시스템과 대화하는 경우, 객체 지향형 클래스 정보와 내용 정보(object oriented class information and content information)를 디스플레이하기 위한 방법이 개시된다. 이 방법은 클래스 정보를 디스플레이하는 클래스 브라우저(class browser)와 내용 정보를 디스플레이 하는 내용 브라우저(content browser)를 하나의 하이브리드 브라우저(hybrid browser)로 결합한다. 클래스 정보와 내용 정보는 단일의 외곽선 제어(outline control)로 조직화된다. 다음으로 사용자는 클래스 정보만 디스플레이하거나 클래스 정보와 내용 정보 모두를 디스플레이할 수 있도록 전환하는 것이 허용된다. 여기서 단일의 외곽선 제어는 사용되는 디스플레이 공간의 양을 감소시킨다.

Description

객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법
본 발명은 객체 지향형 클래스(object oriented browser)와 내용 브라우저(content browser)에 관한 것으로, 보다 구체적으로는 객체 지향형 클래스 정보와 하이브리드 브라우저(hybrid browser)를 사용한 내용 정보를 디스플레이하는 방법에 관한 것이다.
객체 기술(object technology)은 소프트웨어 개발과 설계에 있어서의 새로운 동향을 기술하는데 사용되는 용어이다. 객체는 데이터를 펑션(functions)으로부터 분리되어 있는 데이터 구조(data structure) 및 변수(variables)에 저장하지 않고 데이터와 펑션 모두를 하나의 패키지(package)에 저장한다. 이러한 패키지가 클래스(class)라 불린다. 클래스를 구성하는 요소로는 (프로시져나 펑션과 같은)매쏘드(method), (변수와 같은)프라퍼티(property), 및 이벤트(event)를 포함해 다른 많은 것들이 있다.
객체 지향형 프로그램은 계승(inheritance)으로 알려진 개념을 지원한다. 이러한 개념은 객체 지향형 클래스가 세분화될 수 있게 허용한다. 예를 들어, 사람 클래스는 고용인 클래스를 생성하기 위해 계승을 통해 세분화될 수 있다. 사람 클래스는 고용인 클래스의 수퍼 클래스(super class)라 불린다. 유사하게, 고용인 클래스는 사람의 서브 클래스(subclass)이다.
적어도 2개 유형의 클래스 정보, 즉, 클래스의 계승 관계와 클래스의 내용이 객체 지향형 프로그래머에게는 중요하다. 클래스의 내용에 관한 정보는 내용 브라우즈로 알려진 사용자 인터페이스(user interface)를 통해 볼 수 있으며 때때로 수정된다. 내용 브라우저는 어떤 주어진 객체의 매쏘드, 프라퍼티, 이벤트, 및 수퍼 클래스와 같은 단일의 클래스에 관한 정보를 제공한다. 클래스의 계승 관계에 관한 정보는 클래스 브라우저라 알려진 사용자 인터페이스를 통해 볼 수 있다. 클래스 브라우저와 내용 브라우저 모두는 대개 외곽선(outline) 형태나 그래픽하게 디스플레이된 트리 형태로 클래스와 내용을 제공한다.
대부분의 객체 지향형(OO) 시스템은 클래스 브라우저와 내용 브라우저를 제공한다. 이와 같은 OO 시스템의 예에는 본 출원의 양수인에 의해 개발된 VisualAgeTM이 있다. 몇몇 OO 시스템은 클래스 브라우저와 내용 브라우저를 결합하는 경우조차 있다. 클래스 브라우저가 내용 브라우저와 결합되어 있던지 아니던지, 대부분의 OO 시스템은, 예를 들어, 그래픽 리스트 박스(graphical list box)나 텍스트 윈도우(text window)와 같은 클래스 브라우저와 내용 브라우저에 대한 별개의 제어를 제공한다. 하나의 제어나 윈도우가 클래스 계승 정보를 담고 있는 반면, 또다른 제어나 윈도우는 프라퍼티, 매쏘드, 및 이벤트를 담는다.
클래스/내용 브라우저 외에도, 대부분의 OO 시스템은 코드 편집기(code editor)도 포함한다. 코드 편집기는 자신만의 독립된 윈도우에 디스플레이 된다. UNIX 환경과는 달리, 윈도우, 맥킨토시, 및 OS/2 그래픽-인터페이스 환경은 대개 비교적 작은 디스플레이를 가지며, 오늘날의 선호되는 컴퓨팅 환경과 더블어, 스크린 공간의 양은 종종 제한받는다. 또한, 랩 탑(lap top) 컴퓨터가 많아짐에 따라 프로그래밍 영역에도 더 좁은 디스플레이가 도입되게 되었다. 이러한 하드웨어 환경하에, 종래의 OO 시스템은 작은 스크린 영역에서 작은 정보량을 디스플레이하거나, 큰 스크린 영역에서 많은 정보량을 디스플레이 한다.
작은 스크린 영역에서 작은 정보량을 디스플레이하는 객체 지향형 시스템은 다른 객체 지향형 툴(tool)이나 편집기를 위해 최대량의 스크린 공간을 남겨 둔다. 이것은 코드 윈도우를 보기 위해 액세스해서 편집기와 인터페이스할 필요가 있는 프로그래머에게는 중요하다. 그러나, 이러한 접근법으로, 클래스 내용과 클래스 계승 관계가 동일한 작은 스크린 영역에서 함께 디스플레이되지는 못한다. 이 경우에, 프로그래머는 대개 훌륭한 객체 지향 설계에 중요한 계승 구조를 보거나 구현 세부 사항에 중요한 클래스 내용을 보는 것 중 하나를 선택해야만 한다. 둘 다 OO 프로그래머에게는 매우 중요하다.
큰 스크린 영역에서 많은 양의 정보를 디스플레이하는 객체 지향형 시스템은 객체 지향형 프로그래머에게 필요한 모든 정보를 제공한다. 그러나, 이런 유형의 많은 브라우저들은 기능적 코드 편집기를 제외한 나머지 스크린 영역에 적절히 조절되지 못한다. 이것은 브라우저와 코드 편집기가 객체 지향형 애플리케이션을 작성하는데 사용되는 2개의 가장 중요한 인터페이스이기 때문에 불리하다.
스크린 상에 클래스 계승, 클래스 내용, 및 코드 편집기를 동시에 디스플레이할 수 있는 객체 지향형 시스템은 다른 중요한 객체 지향형 툴들을 위한 가용 스크린 공간을 격감시킨다. 이로 인해 객체 지향형 프로그래머는 타협점을 찾아야 한다. 프로그래머는 다른 유형의 브라우저와 툴들 사이를 빈번히 전환해야 하고, 이는 프로그래밍 생산성에 상당한 영향을 준다.
따라서, 디스플레이될 모든 관련 정보를 작은 디스플레이 스크린 영역에 디스플레이할 수 있는 객체 지향형 시스템을 위한 그래픽 유저 인터페이스(graphic user interface)가 필요하다. 본 발명은 이와 같은 필요성에 목표를 두고 있다.
본 발명은 객체 지향형 클래스 정보 및 내용 정보를 디스플레이하기 위한 방법이다. 여기서 사용자는 컴퓨터 디스플레이 상에서, 객체 지향형 시스템과 대화한다. 이 방법은 클래스 계승 정보를 디스플레이하는 클래스 브라우저와 내용 정보를 디스플레이하는 내용 브라우저를 하나의 하이브리드 브라우저(hybrid browser)로 결합한다. 클래스 정보와 내용 정보는 하나의 외곽선 제어(outline control)로 조직화한다. 다음으로 사용자가 클래스 정보만 디스플레이하거나 클래스 정보와 내용 정보 모두를 디스플레이하기 위해 전환이 허용되므로, 사용되는 디스플레이 공간의 양을 감소시킨다.
본 명세서에서 공개된 방법에 따르면, 사용자는 코드를 편집하거나, 응용프로그램을 디버깅하거나 또는 다른 작업을 하는데 사용될 수도 있는 스크린 공간을 더 이상 요구하지 않고도 하나의 윈도우에 클래스 내용과 함께 적절한 클래스 계승 관계를 항상 디스플레이할 수 있기 때문에 프로그래밍 생산성이 향상된다.
제1도는 본 발명에 따른 객체 지향형 시스템과 응용 프로그램을 디스플레이할 수 있는 범용 컴퓨터 시스템의 블럭도.
제2도는 종래의 브라우저 인터페이스(browser interface)의 뷰(view)를 도시하는 블럭도.
제3도는 단일의 외곽선 제어(outline control)로 클래스 계승(class inheri tance)과 내용(content)을 디스플레이하는 본 발명의 하이브리드 브라우저를 도시하는 도시도.
제4도는 하이브리드 브라우저가 외곽선 제어로 클래스 계승(34)와 클래스 내용 모두를 디스플레이하는 방법을 도시하는 도시도.
제5도는 본 발명의 양호한 실시예에서의 하이브리드 브라우저에 의해 취해진 단계를 기술하는 플로 챠트.
* 도면의 주요부분에 대한 부호의 설명
31 : 하이브리드 브라우저 32 : 외곽선 제어
34 : 클래스 계승 36 : 클래스 내용
본 발명은 객체 지향형 클래스 및 내용 브라우저에 있어서의 개선에 관한 것이다. 다음의 설명은 본 분야에서 통상의 기술을 가진 사람이 본 발명을 제작하고 사용할 수 있도록 하기 위해 주어지며 특허 출원과 그 필요 사항의 맥락에서 제공된다. 양호한 실시예에 대한 다양한 변형들이 본 분야에 숙련된 이들에게는 명백하게 보일 것이며 여기서의 일반 규칙은 다른 실시예에 적용될 수도 있다. 따라서 본 발명은 도시된 실시예에만 국한되도록 의도된 것이 아니며 본 명세서에 기술된 원리 및 특징들과 일치하여 넓은 영역에까지 허용되야 한다.
도1은 본 발명에 따른 객체 지향성 시스템과 응용프로그램을 디스플레이할 수 있는 범용 컴퓨터 시스템(10)의 블럭도이다. 컴퓨터 시스템(10)은 디스플레이 장치(12), 프로세서(14), 키보드(16), 및 마우스(18)을 포함한다. 객체 지향형 시스템 또는 응용프로그램은 프로세서(14)에 의해 처리되고 브라우저 및 코드 편집기에 대한 객체 지향형 제어나 윈도우는 디스플레이 장치(12) 상에 디스플레이 된다. 사용자는 디스플레이 장치(12) 상에 무엇이 디스플레이될 것인지를 선택하거나 키보드(16)이나 마우스(18)을 사용하여 데이터를 입력할 수 있다.
도2는 종래의 브라우저 인터페이스의 모습을 도시하는 블럭도이다. 본 발명의 설명을 위해, 브라우저(20)은 객체 지향형 언어인 Smalltalk의 일부이며 예로서 사용된다. Smalltalk 브라우저(20)은 5개의 독립된 윈도우, 즉, 4개의 작은 상부 윈도우(22, 24, 26 및 28)과 1개의 큰 윈도우(30)을 포함한다. 상부 윈도우(22-28) 각각은 텍스트 자료 리스트를 스크롤한다. 하부 윈도우(30)은 정보를 디스플레이 및 편집하는데 사용된다. 브라우저(30)은 전형적으로 3개의 별개의 버튼을 가지는 마우스(18)에 의해 조정된다.
Smalltalk에서의 클래스는 범주별로 그룹화된다. 제1 윈도우(22)는 시스템에 알려진 모든 클래스 범주를 스크롤한다. 제1 윈도우에서 범주 중의 하나를 선택하면 2개의 동작을 유발하게 된다. 제1 동작은 제2 윈도우(24)에 선택된 범주하에 현재 조직되어 있는 모든 클래스 리스트를 디스플레이한다. 제2 동작은 큰 편집 윈도우(30)에 새로운 클래스를 생성하는데 사용되는 메시지 텍스트를 디스플레이한다.
마우스(18)로 포인트(point)하고 클릭(click)함으로써, 사용자는 메시지를 편집할 수 있다. 어떠한 브라우저에서도 대개, 사용자가 우측 마우스 버튼 상에 클릭할 때, 팝-업(pop-up) 메뉴가 디스플레이된다. 이들 메뉴는 클래스 브라우즈와 내용 브라우즈에서 다르게 나타난다. 클래스 브라우저에 대한 적절한 메뉴 선택은 아마 서브클래스 추가, 클래스 제거 및 페어런트 변경일 것이다. 이들은 대개 계승 관계를 수정하는 것들이다. 클래스에 대해 적절한 동작을 수행한 후에, 사용자는 가능한 메뉴로부터 수락 동작을 선택한다.
제3 윈도우(26)과 제4 윈도우(28)은 내용 정보를 디스플레이한다. 제3 윈도우(26)은 선택된 클래스에 대한 허용된 동작이나 이벤트 그룹을 기술한다. 제3 윈도우(26)으로부터 이벤트 선택하면 그 이벤트에 대한 기존 메쏘드가 제4 윈도우(28)에 디스플레이되게 하며 동시에 새로운 매쏘드를 생성할 수 있게 편집가능한 템플릿이 하부 윈도우에 디스플레이된다. 새로운 매쏘드를 생성하기 위해, 사용자는 테플릿을 편집하고, 편집이 끝나면 메뉴로부터 수락을 선택한다.
도2의 예에 도시된 바와 같이, Smalltalk 브라우저(20)과 같은 종래의 몇몇 브라우저는 클래스 계승과 내용 정보를 별개의 제어(윈도우)에 한번에 디스플레이할 수 있다. 그러나, 이들 윈도우를 모두 디스플레이하는 것은, 예를 들어, 디버거, 실례 브라우저 및 프로파일링(profiling tool) 툴과 같은 다른 중요한 개체 지향형 툴을 위한 이용가능한 스크린 공간을 격감시킨다. 이것은 프로그래머들이 브라우저(20)과 다른 중요한 객체 지향형 툴들 사이에서 빈번히 전환하게끔 함으로써 프로그래밍 생산성을 저하시킬 수 있다.
본 발명은 하나의 제어나 윈도우로 된 외곽 형태로 클래스 계승 및 클래스 내용 정보 모두를 디스플레이할 수 있는 객체 지향형 하이브리드 브라우저이다. 본 발명에 따른 객체 지향형 하이브리드 브라우저를 보다 상세히 설명하기 위해, 도3을 지금 참조한다.
도3은 클래스 정보와 내용을 하나의 외곽선 제어(32)에 디스플레이하는 본 발명의 하이브리드 브라우저(31)을 도시하는 도면이다. 하이브리드 브라우저(32)는 초기에 클래스 계승 정보(34)만 외곽선 제어(32)에 디스플레이한다. 도시된 예에서, 객체는 모든 클래스의 루트 노드(root node)이고, 동물은 페어런트 노드(parent node) 객체의 서브 클래스(subclass) 또는 챠일드(child)이고, 개와 고양이는 노드 동물의 챠일드들이며 콜리는 노드 개의 챠일드이다.
종래의 클래스 브라우저에서와 같이, 외곽선 제어(32)는 어떤 주어진 노드에대한 챠일드들을 보이거나 감출 수 있다. 그러나, 종래의 브라우저들과는 달리, 이 브라우저는 도4에 도시된 바와 같이 특정 클래스가 선택될 때 클래스 내용도 또한 외곽선 제어(32)에 디스플레이할 수 있다.
도4는 하이브리드 브라우저(31)에 클래스 계승(34)와 클래스 내용(36) 모두를 외곽선 제어(32)에 어떻게 디스플레이하는가를 도시하는 도면이다. 양호한 실시예에서, 사용되는 특정 클래스 상에 더블 클릭(double click)함으로써(또는 다른 동작도 또한 가능하다) 클래스 내용(36)을 디스플레이할 수 있다. 사용자가 클래스를 선택한 후에, 다음과 같은 내용 정보(36)이 선택된 클래스 노드하에 디스플레이된다 : 클래스의 이벤트를 리스트하기 위한 이벤트 노드, 메쏘드를 리스트하기 위한 메쏘드 노드, 프라퍼티를 리스트하기 위한 프라퍼티 노드 및 서브 클래스를 리스트하기 위한 서브 클래스 노드. 동일한 개념을 기술하기 위해 다른 단어들이 사용될 수 있으며, 클래스 내용(36)은 추가적 클래스 내용 정보를 디스플레이하도록 수정될 수 있다.
하이브리드 브라우저(31)의 한 중요한 특징은 사용자가 외곽선 제어(32) 내의 한 클래스를 선택한 후에, 그 선택된 클래스의 챠일들은 감추어진다는 것이다. 선택된 노드의 모든 페어런트는 계승 정보인 반면, 선택된 노드의 모든 챠일드들은 선택된 클래스의 내용 중의 하나로서 나타난다. 도4의 예에서, 개는 선택된 클래스이고, 콜리는 노드 개의 챠일드로서, 클래스 내용(32)의 서브 클래스 아래에 조직화되고 디스플레이된다.
본 발명의 양호한 실시예에서, 클래스가 선택될 때, 선택되었음을 나타내기 위해 선택된 클래스의 색상이 바뀐다. 이러한 방식으로, 하이브리드 브라우저(31)은 사용자가 계승 정보(34)와 내용(36)을 쉽게 분간할 수 있도록 한다. 모든 챠일드들은 선택된 클래스의 색상으로 역시 디스플레이된다. 계승 정보(34)와 내용(36)을 분간하기 위해 클래스 타이틀의 폰트를 바꾸는 것, 즉, 이탤릭체나 볼드체로 바꾸는 것과 같은 다른 방법도 또한 가능하다.
더 양호한 실시예에서, 사용자가 클래스 노드를 선택할 때, 하이브리드 브라우저(31)은 어떤 노드가 선택되었는지에 따라 클래스 브라우저나 내용 브라우저에 적절한 메뉴 아이템을 포함하는 팝-업 메뉴를 역시 디스플레이한다. 클래스 브라우저에 대한 적절한 메뉴 선택은, 예를 들어, 서브 클래스 첨가, 클래스 제거 및 페어런트 변경일 것이다. 이들은 대개 계승 정보(34)를 수정하는 액션들이다. 내용 브라우저에 대한 적절한 메뉴 선택은 편집, 메쏘드 첨가 등일 것이다. 이들 메뉴 선택들은 단일한 클래스의 내용을 변경한다.
메쏘드, 프라퍼티, 클래스 및 이벤트는 대개 관련된 편집기를 가진다. 사용자는, 예를 들어, 더블 클릭함으로써 클래스의 내용 노드(36)들 중 임의의 하나를 선택할 때, 하이브리드 브라우저(31)은 적절한 객체 지향형 편집기를 기동시킨다. 예를 들어, 만일 사용자가 메쏘드 노드 상에 더블 클릭하면, 하이브리드 브라우저(31)은 사용자가 그 메쏘드에 대한 대응 코드를 기입할 수 있게 허용하는 편집기를 기동한다. 이러한 이유로, 메쏘드 편집기는 일반적으로 코드 편집기라 언급된다.
만일 사용자가 선택된 클래스(개) 상에 한 번 더 더블 클릭하면, 하이브리드 브라우저(31)은 계승 모드로 되돌아가서 도3에 도시된 바와 같이, 외곽선 제어(32)에 계승 정보(34)를 디스플레이한다.
도5는 양호한 실시예에서의 하이브리드 브라우저(31)에 의해 취해진 단계를 기술하는 플로 챠트이다. 도3-5를 지금 참조하면, 하이브리드 브라우저(31)이 단계(40)에서 시작할 때, 외곽선 제어(32)가 각각 단계(42)와 단계(48)에서 생성되고 계승 정보로 채워진다.
사용자가 단계(46)에서 외곽선 제어(32) 내의 노드를 더블 클릭할 때, 그 노드가 클래스인지 이벤트인지 또는 메쏘드나 프라퍼티인지가 판정된다. 단계(48)에서 만일 노드가 클래스이면, 단계(50)에서 하이브리드 브라우저(31)이 계승 모드 내에 있는지가 판정된다. 계승 모드는 단지 계승 정보(34)만 디스플레이됨을 의미한다.
만일 하이브리드 브라우저(31)이 계승 모드에 있다면, 단계(52)에서 하이브리드 브라우저(31)은 내용 모드로 바꾸어 내용 정보(36)을 디스플레이한다. 다음으로 단계((54)에서 선택된 클래스에 대응하는 내용 정보(36)으로 외곽선 제어(32)가 채워진다.
만일 단계(50)에서 하이브리드 브라우저(31)이 계승 모드에 있지 않다면, 단계(56)에서 하이브리드 브라우저(31)은 계승 모드로 바뀌고, 단계(54)에서 이에 따라 외곽선 제어(32)는 계승 정보(34)로 갱신된다.
만일 단계(58)에서 노드가 이벤트나 메쏘드라면, 단계(60)에서 하이브리드 브라우저(31)은 메쏘드 편집기를 기동한다. 만일 단계(62)에서 노드가 프라퍼티라면, 단계(64)에서, 하이브리드 브라우저(31)은 프라퍼티 편집기를 기동한다.
하이브리드 브라우저(31)을 사용한다면, 프로그래머는 코드의 편집, 응용프로그램의 디버깅 또는 다른 작업에 사용될 수도 있는 스크린 공간을 요구하지 않고 하나의 윈도우에 클래스 내용(36)과 함께 적절한 클래스 계승 정보(34)를 항상 디스플레이할 수 있다. 양호한 실시예에서, 외곽선 제어(32)는 대략 크기가 4×6인치인 윈도우이다.
본 발명에 의해 제공되는 이점은 클래스 브루우저와 내용 브라우저를 단일의 브라우저로 결합하고 모든 정보를 단일의 외곽선 제어로 조직화하고 결합된 브라우저와 클래스 브라우저 사이에서 사용자가 하나의 동작으로 전환할 수 있도록 허용한다는 것이다.
또한, 사용자가 클래스 계승과 내용 정보를 구분하는데 있어 도움을 주기 위해 적절한 가시적인 단서(visual cue)가 제공되며, 하나의 동작으로 사용자는 클래스 및 그 내용에 관한 보다 세부적인 사항을 신속하게 볼 수 있다.
하이브리드 브라우저를 사용한 객체 지향형 클래스 정보 및 내용 정보를 디스플레이하기 위한 방법이 공개되었다. 본 발명에 따라 작성된 소프트웨어는 메모리나 CD-ROM과 같은 컴퓨터가 읽을 수 있는 어떤 매체의 형태로 저장되며, 처리 장치에 의해 실행된다.
비록 본 발명이 도시된 실시예에 따라 기술되었지만, 본 분야에 숙련된 기술을 가진 사람은 실시예에 대한 많은 변형이 있을 수 있으며 이들 변형들은 본 발명의 정신과 영역 내에 있다는 것을 쉽게 알 수 있을 것이다. 따라서, 첨부된 청구범위의 정신과 영역의 범위 내에서 본 분야에 통상의 기술을 가진 사람에 의해 많은 변형들이 만들어질 수 있다.

Claims (14)

  1. 객체 지향형 클래스 정보(class information)와 내용 정보(content infor mation)를 디스플레이하기 위한 방법에 있어서, 사용자는 컴퓨터 디스플레이 상에서 객체 지향형 시스템(object oriented system)과 대화(interact with)하며, 상기 방법은 (a) 상기 클래스 정보를 디스플레이하는 클래스 브라우저(class browser)와 상기 내용 정보를 디스플레이하는 내용 브라우저(content browser)를 하이브리드 브라우저(hybrid browser)로 결합하는 단계; (b) 상기 클래스 정보와 상기 내용 정보를 단일의 외곽선 제어(outline control)로 조직화(organize)하는 단계; 및 (c) 사용자가 상기 클래스 정보만을 디스플레이하는 것과 상기 클래스 정보와 상기 내용 정보 모두를 디스플레이하는 것 사이에서 스위칭할 수 있도록 허용하는 단계를 포함하며, 여기서 상기 단일의 외곽선 제어는 사용되는 디스플레이 공간의 양을 감소시키는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  2. 제1항에 있어서, 상기 단계 (b)는 (b1) 상기 클래스 정보 내에 적어도 하나의 클래스 노드를 제공하는 단계; 및 (b2) 상기 클래스 노드에 대하여 상기 내용 정보 내에 이벤트 노드(event node), 메쏘드 노드(method node) 및 프라퍼티 노드(property node)를 포함하는 다수의 내용 노드를 제공하는 단계를 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  3. 제1항에 있어서, 상기 컴퓨터는 마우스를 포함하며, 상기 단계 (c)는 (c1) 마우스와 키보드의 선택에 응답하여 상기 클래스 정보만을 디스플레이하는 것과 상기 클래스 정보 및 상기 내용 정보 모두를 디스플레이하는 것 사이에서 스위칭하는 단계 를 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  4. 제3항에 있어서, 상기 단계(c)는 (c2) 사용자가 제1 클래스 노드를 선택한 때, 상기 제1 클래스 노드에 대응하는 이벤트 노드, 메쏘드 노드 및 프라퍼티 노드를 디스플레이하는 단계를 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  5. 제4항에 있어서, 상기 단계 (c)는 (c3) 사용자가 상기 제1 클래스 노드를 선택한 때, 상기 클래스 정보만을 디스플레이하는 단계를 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  6. 제5항에 있어서, 상기 단계 (c)는 (c4) 상기 클래스 정보와 상기 내용 정보를 구별하도록 가시적인 단서(visual cue)를 제공하는 단계를 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  7. 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션(program instruction)을 포함하는 컴퓨터 판독가능 매체에 있어서, 사용자는 컴퓨터 디스플레이 상에서 객체 지향형 시스템과 대화하며, 상기 프로그램 인스트럭션은 (a) 상기 클래스 정보를 디스플레이하는 클래스 브라우저와 상기 내용 정보를 디스플레이하는 내용 브라우저를 하나의 하이브리드 브라우저로 결합하는 인스트럭션; (b) 상기 클래스 정보와 상기 내용 정보를 단일의 외곽선 제어로 조직화하는 인스트럭션; 및 (c) 사용자가 상기 클래스 정보만을 디스플레이하는 것과 상기 클래스 정보 및 상기 내용 정보 모두를 디스플레이하는 것 사이에서 스위칭할 수 있도록 허용하는 인스트럭션이며, 여기서 상기 단일의 외곽선 제어는 사용되는 디스플레이 공간의 양을 감소시키는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  8. 제7항에 있어서, 상기 인스트럭션 (b)는 (b1) 상기 클래스 정보 내에 적어도 하나의 클래스 노드를 제공하기 위한 인스트럭션 : 및 (b2) 상기 클래스 노드에 대하여 상기 내용 정보 내에 이벤트 노드, 컴퓨터 판독가능 매체 노드, 및 프라퍼티 노드를 포함하는 다수의 내용 노드를 제공하는 인스트럭션을 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  9. 제7항에 있어서, 상기 컴퓨터는 마우스를 포함하고, 상기 인스트럭션 (c)는 (c1) 마우스 및 키보드 선택에 응답하여 상기 클래스 정보만을 디스플레이하는 것과 상기 클래스 정보 및 상기 내용 정보 모두를 디스플레이하는 것 사이에서 스위칭하는 인스트럭션을 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  10. 제9항에 있어서, 상기 인스트럭션 (c)는 (c2) 사용자가 제1 클래스 노드를 선택한 때, 상기 제1 클래스 노드에 대응하는 이벤트 노드, 컴퓨터 판독가능 매체 노드 및 프라퍼티 노드를 디스플레이하기 위한 인스트럭션을 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 상기 인스트럭션 (c)는 (c3) 사용자가 상기 제1 클래스 노드를 선택한 때, 상기 클래스 정보만을 디스플레이하기 위한 인스트럭션을 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 인스트럭션 (c)는 (c4) 상기 클래스 정보와 상기 내용 정보를 구별할 수 있는 가시적 단서를 제공하기 위한 인스트럭션을 더 포함하는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
  13. 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법에 있어서, 사용자는 컴퓨터 디스플레이 상에서 객체 지향형 시스템과 대화하며, 상기 방법은 (a) 단일의 외곽선 제어를 생성하는 단계; (b) 다수의 노드를 포함하는 클래스 정보로 상기 외곽선 제어를 채우는(populating) 단계; (c) 사용자가 상기 외곽선 제어로부터 제1 노드를 선택한 때, 상기 제1 노드가 클래스, 이벤트, 메쏘드, 및 프라퍼티 노드 중 어떤 노드인지를 판정하는 단계; (d) 만일 상기 제1 노드가 이벤트 및 메쏘드 노드 가운데 하나이면, 메쏘드 편집(method editor)를 기동(invoking)하는 단계; (e) 만일 상기 제1 노드가 프라퍼티 노드이면, 프라퍼티 편집기(property editor)를 기동하는 단계; 및 (f) 만일 상기 제1 노드가 클래스 노드이면, (f1) 상기 클래스 정보만이 상기 외곽선 제어 내에 디스플레이되어 있는 경우에는 상기 제1 노드에 대응하는 내용 정보로 상기 외곽선 제어를 갱신(update)하고 (f2) 상기 제1 노드에 대응하는 내용 정보가 이미 상기 외곽선 제어 내에 디스플레이 되어 있는 경우에는, 상기 클래스 정보만으로 상기 외곽선 제어를 갱신하는 단계를 포함하며, 여기서 상기 단일의 외곽선 제어는 사용되는 디스플레이 공간의 양을 감소시키는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법.
  14. 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체에 있어서, 사용자는 컴퓨터 디스플레이 상에서 객체 지향형 시스템과 대화하며, 상기 인스트럭션은 (a) 단일의 외곽선 제어를 생성하는 인스트럭션; (b) 다수의 노드를 포함하는 클래스 정보로 상기 외곽선 제어를 채우는인스트럭션; (c) 사용자가 상기 외곽선 제어로부터 제1 노드를 선택한 때, 상기 제1 노드가 클래스, 이벤트, 메쏘드, 및 프라퍼티 노드 중 어떤 노드인지를 판정하는 인스트럭션; (d) 만일 상기 제1 노드가 이벤트 및 메쏘드 노드 가운데 하나이면, 메쏘드 편집기를 기동시키는 인스트럭션; (e) 만일 상기 제1 노드가 프라퍼티 노드이면, 프라퍼티 편집기를 기동시키는 인스트럭션; 및 (f) 만일 상기 제1 노드가 클래스 노드이면, (f1) 상기 클래스 정보만이 상기 외곽선 제어 내에 디스플레이 되어 있는 경우, 상기 제1 노드에 대응하는 내용 정보로 상기 외곽선 제어를 갱신하고, (f2) 상기 제1 노드에 대응하는 내용 정보가 이미 상기 외곽선 제어 내에 디스플레이 되어 있는 경우에는 상기 클래스 정보만으로 상기 외곽선 제어를 갱신하는 인스트럭션이며, 여기서 상기 외곽선 제어는 사용되는 디스플레이 공간의 양을 감소시키는 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 프로그램 인스트럭션을 포함하는 컴퓨터 판독가능 매체.
KR1019960053218A 1996-01-05 1996-11-11 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법 KR100213953B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/583,348 US5802334A (en) 1996-01-05 1996-01-05 Method for displaying object oriented class information and content information
US8/583,348 1996-01-05

Publications (1)

Publication Number Publication Date
KR100213953B1 true KR100213953B1 (ko) 1999-08-02

Family

ID=24332745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960053218A KR100213953B1 (ko) 1996-01-05 1996-11-11 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법

Country Status (2)

Country Link
US (1) US5802334A (ko)
KR (1) KR100213953B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014138A (en) * 1994-01-21 2000-01-11 Inprise Corporation Development system with methods for improved visual programming with hierarchical object explorer
US6247020B1 (en) 1997-12-17 2001-06-12 Borland Software Corporation Development system with application browser user interface
US6407761B1 (en) * 1999-05-10 2002-06-18 Sap Aktiengesellschaft System and method for the visual customization of business object interfaces
US6292188B1 (en) * 1999-07-28 2001-09-18 Alltrue Networks, Inc. System and method for navigating in a digital information environment
US9916134B2 (en) 1999-10-05 2018-03-13 Dietrich Charisius Methods and systems for accessing distributed computing components through the internet
US6505209B1 (en) * 1999-11-02 2003-01-07 Monkeymedia, Inc. Poly vectoral reverse navigation
AT3847U3 (de) * 2000-05-12 2006-10-15 Fabasoft R & D Software Gmbh & Schaltungsanordnung zum erzeugen einer benützeroberfläche aus einem objektorientierten datenmodell
US7099834B2 (en) 2000-12-15 2006-08-29 International Business Machines Corporation Method, system, and program for transferring data between servers through a client computer over a network
US7607099B2 (en) 2003-11-03 2009-10-20 Intentional Software Corporation Method and system for reversible design tree transformations
US20050198617A1 (en) * 2004-03-04 2005-09-08 Vivcom, Inc. Graphically browsing schema documents described by XML schema
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US8156448B2 (en) * 2004-05-28 2012-04-10 Microsoft Corporation Site navigation and site navigation data source
US7949949B2 (en) * 2006-11-20 2011-05-24 Intentional Software Corporation Domain transformation languages
US7912927B2 (en) * 2008-03-26 2011-03-22 Microsoft Corporation Wait for ready state
US9582292B2 (en) * 2008-10-07 2017-02-28 Microsoft Technology Licensing, Llc. Merged tree-view UI objects
US8869097B2 (en) 2011-03-23 2014-10-21 Infosys Limited Online integrated development environment with code assist
US9009664B2 (en) 2011-03-31 2015-04-14 Infosys Limited Structural search of source code
US9348894B2 (en) 2011-03-31 2016-05-24 Infosys Limited Facet support, clustering for code query results
US9104389B2 (en) * 2011-10-18 2015-08-11 International Business Machines Corporation Hierarchical functional and variable composition diagramming of a programming class
US8914771B2 (en) 2012-11-13 2014-12-16 International Business Machines Corporation Indicating hierarchy diversion in a class diagram
US9760369B2 (en) 2013-12-13 2017-09-12 Infosys Limited Assessing modularity of a program written in object oriented language

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168441A (en) * 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
JP2556189B2 (ja) * 1990-10-29 1996-11-20 富士ゼロックス株式会社 オブジェクト指向計算機システムにおけるメソッド起動装置
US5339433A (en) * 1992-11-19 1994-08-16 Borland International, Inc. Symbol browsing in an object-oriented development system
US5544354A (en) * 1994-07-18 1996-08-06 Ikonic Interactive, Inc. Multimedia matrix architecture user interface
US5630131A (en) * 1994-11-14 1997-05-13 Object Technology Licensing Corp. Method and apparatus for importing and exporting archive files for a graphical user interface
US5537630A (en) * 1994-12-05 1996-07-16 International Business Machines Corporation Method and system for specifying method parameters in a visual programming system
US5590330A (en) * 1994-12-13 1996-12-31 International Business Machines Corporation Method and system for providing a testing facility in a program development tool
US5642511A (en) * 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
US5615346A (en) * 1994-12-23 1997-03-25 International Business Machines Corporation Method and system for a piano bar browser of information sets

Also Published As

Publication number Publication date
US5802334A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
KR100213953B1 (ko) 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법
US5041992A (en) Interactive method of developing software interfaces
US5862395A (en) Customizable user interfaces for programmed computer systems
US6792595B1 (en) Source editing in a graphical hierarchical environment
US5467448A (en) Text formatting by the direct selection of borders in an editing display
US6678880B1 (en) System for iteratively designing an object heterarchy in an object-oriented computing environment
US5206950A (en) Software development system and method using expanding outline interface
US6836878B1 (en) Visual programming from a tree structure
US5297250A (en) Method of generating interfaces for use applications that are displayable on the screen of a data processing system, and apparatus for performing the method
US6915301B2 (en) Dynamic object properties
US8386919B2 (en) System for displaying an annotated programming file
US20050251757A1 (en) Display of enlarged visual container graphical user interface (GUI) components during GUI layout or design
US20040019875A1 (en) Masked edit control for use in a graphical programming environment
CA2246920A1 (en) An activemark mechanism for a live parsing editor
CN101196818A (zh) 快速图形化开发系统
JPH08137646A (ja) ダイアログ・ボックスの表示方法及びシステム
JPH09222977A (ja) アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置
US6518979B1 (en) Automatically-maintained customizable user interfaces
US6587102B2 (en) Rendering panels in multiple display contexts
Koivunen et al. HutWindows: an improved architecture for a user interface management system
Myers et al. Environment for rapidly creating interactive design tools
MacDonald Pro. NET 2.0 Windows Forms and Custom Controls in VB 2005
CN110866379B (zh) 数据可视化图表库系统
JPH11134085A (ja) ビル自動システム内のリアルタイム情報をモニタし、制御する方法およびその装置
CA2095779A1 (en) User interface system for computers

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: 20020307

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee