KR101408280B1 - 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체 - Google Patents

개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체 Download PDF

Info

Publication number
KR101408280B1
KR101408280B1 KR1020120023853A KR20120023853A KR101408280B1 KR 101408280 B1 KR101408280 B1 KR 101408280B1 KR 1020120023853 A KR1020120023853 A KR 1020120023853A KR 20120023853 A KR20120023853 A KR 20120023853A KR 101408280 B1 KR101408280 B1 KR 101408280B1
Authority
KR
South Korea
Prior art keywords
function
logic
event
model
information
Prior art date
Application number
KR1020120023853A
Other languages
English (en)
Other versions
KR20130102763A (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 KR1020120023853A priority Critical patent/KR101408280B1/ko
Publication of KR20130102763A publication Critical patent/KR20130102763A/ko
Application granted granted Critical
Publication of KR101408280B1 publication Critical patent/KR101408280B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

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

Abstract

본 발명은 개발도구의 로직생성장치 및 방법에 관한 것으로서 보다 상세하게는 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메소스의 로직을 개발함으로써 IT개발자가 아닌 사용자가 용이하게 개발도구의 로직을 개발할 수 있으며, 개발된 로직의 유지 보수가 가능하도록 하는 기술에 관한 것이다. 본 발명의 방법에 따르면, I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의 UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의 UI컨트롤 정보를 코드화 하는 개발 도구의 로직생성방법에 있어서, 상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부에 생성된 이벤트 또는 함수를 나타내는 단계; 상기 액션컨트롤 표시부에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기를 활성화하는 단계; 및 상기 함수편집기에서 로직 작성이 완료된 후, 함수생성기를 통해 이벤트 또는 함수를 코드화하는 단계;를 포함하는, 개발도구의 로직생성방법을 제공한다. 따라서, 본 발명은 객체의 동작을 정의하는 이벤트나 메서드(함수)의 로직을 직접 소스코팅 방식이 아닌 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메서드(함수)의 로직을 용이하게 구성할 수 있다.

Description

개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체{Apparatus and method for logic creation of development tools, and storage medium recording program for implementing method thereof}
본 발명은 개발도구의 로직생성장치 및 방법에 관한 것으로서 더욱 상세하게는 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메소스의 로직을 개발함으로써 IT개발자가 아닌 사용자가 용이하게 개발도구의 로직을 개발할 수 있으며, 개발된 로직의 유지 보수가 가능하도록 하는 기술에 관한 것이다.
객체지향 프로그래밍은 소프트웨어를 분석, 설계하고 구현하는 방법중의 하나이다. 객체지향 프로그래밍에서 가장 기본이 되는 단위는 객체인데, 이러한 객체지향 개발 과정에서 제일 먼저 해야 하는 일은 문제 영역 안의 객체를 찾는 일이다.
객체지향 개발방법은 객체(object), 객체의 속성(attribute)과 동작(behavior), 유사한 객체의 집합으로 나누어진 클래스(class), 객체 사이의 관계(relationship) 등을 기본 개념으로 하고 있다.
그리고 객체지향 프로그래밍은 시스템 자체 또는 시스템의 구성 요소를 메시지의 교환에 의해 상호 통신하는 객체의 집합으로 생각하고 객체의 종류, 객체의 절차(방법) 및 객체 사이에 절차의 수행을 위해 주고받는 메시지를 정의하는 데에 중점을 두는 설계를 한다.
따라서 객체지향 프로그래밍은 시스템의 모듈화 및 캡슐화를 촉진하여 복잡화하고 거대화되는 소프트웨어를 사용하며 프로그래밍의 작성이 쉽고 유지/보수하기 쉬운 방향으로 재구축하는 새로운 기법으로 각광을 받고 있다. 객체 지향 프로그램의 언어로 현재 가장 많이 사용되고 있는 것은 C++이다. C++의 섭셋(subset)인 Java 프로그래밍 언어는 특히 인터넷과 같은 클라이언트/서버 시스템의 분산 프로그램 객체들을 위하여 설계된 것이다.
또한 객체지향 프로그래밍의 소프트웨어를 설계하는 과정에서 축적된 경험들을 바탕으로 객체들 사이의 일반적인 상호작용 방법들을 정리해 놓은 목록을 설계 패턴(design pattern)이라 한다. 이러한 설계 패턴은 객체지향 프로그래밍 시스템의 설계 시 패턴의 재사용을 통해 설계 과정의 복잡화를 간소화하기 위해 연구/개발되었다.
한편, 객체지향 프로그래밍을 기반으로 하는 RAD(Rapid Application Development)는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말한다.
이러한 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 문제를 줄이고, 설계 과정을 그대로 개발에 재사용할 수 있었다.
또한, RAD(Rapid Application Development) 소프트웨어 개발도구에서는 객체지향 소프트웨어의 객체 생성과 객체의 속성설정은 시각적이고 자동화된 방법을 제공하였다.
그러나, 종래의 RAD 방식에서는 객체가 처리하는 동작을 정의하는 이벤트나 메서드(함수)를 개발자가 직접 작성하였다. 이러한 방식은 개발 후 소스코드가 매우 복잡해지고, 소스코드가 표준화되지 않을 위험이 매우 크다.
즉, 여러 명의 개발자가 자기만의 스타일과 방식으로 메서드(함수)를 작성하게 되고, 이는 같은 로직을 처리하는데 개발자별로 각기 다른 소스코드가 나오게 될 확률이 높게 된다.
또, 해당 소스코드를 다른 개발자가 이해하기가 어렵기 때문에 유지 보수시 메서드(함수)의 로직의 추가나 변경이 매우 어렵게 되었다.
또한, 메서드(함수)는 해당하는 객체지향 언어를 능숙하게 다루는 고수준의 개발자만이 다룰 수 있게 되어 개발이나 유지보수의 생산성이 떨어지는 문제점이 있었다.
따라서 본 발명은 상기한 종래의 문제점들을 해결하기 위해 이루어진 것으로서 그 목적은 개발도구의 소스코드를 표준화함으로써 같은 로직을 수행할 때 동일한 소스코드를 사용하도록 하는 개발도구의 로직생성 장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 개발도구 로직의 이해도를 향상시킴으로써 코드가 아닌 시각적인 방법으로 로직을 표현하여 로직의 이해도를 높이도록 하는 개발도구의 로직생성 장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 로직의 흐름을 표현하는 플로우차트 방식의 로직을 개발함으로써 IT개발자가 아닌 사용자도 용이하게 개발 가능하도록 하는 개발도구의 로직생성 장치 및 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명의 장치에 따르면, I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의 UI컨트롤 정보를 코드화하는 개발 도구의 로직생성장치에 있어서,
상기 서비스 맵핑 정보와 UI 컨트롤의 이벤트 또는 함수 정보를 이미지로 식별하여 표시해주는 액션컨트롤 표시부;
상기 액션컨트롤 표시부를 통해 표시되는 정보들을 플로우차트 형태의 함수 로직 상태로 편집하는 함수편집기;
상기 함수편집기에서 편집된 플로우차트 형태의 로직 정보를 코드화하는 함수생성기;를 포함하며,
상기 함수편집기에서 이미 제공되어 있는 함수 로직을 검색하고, 함수명을 선택한 후 드래그앤드롭(Drag&Drop) 하여 플로우차트 형태를 형성하고,
상기 함수생성기에서 코드화 과정은 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계를 포함하고, 상기 제 1단계에서는 함수편집기의 드래그앤드롭(Drag&Drop)을 통해 원하는 블록 형태의 종류를 선택하고 그 블록 값을 설정하여 저장하도록 구성된 개발 도구의 로직생성장치를 제공한다.
또한, 본 발명의 방법에 따르면, I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의 UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의UI컨트롤 정보를 코드화하는 개발 도구의 로직생성방법에 있어서,
상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부에 생성된 이벤트 또는 함수를 나타내는 단계;
상기 액션컨트롤 표시부에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기를 활성화하는 단계;
상기 함수편집기에서 로직 작성이 완료된 후, 함수생성기를 통해 이벤트 또는 함수를 코드화하는 단계;를 포함하여 이루어지며,
상기 함수생성기를 통해 함수를 코드화단계는 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계; 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계;를 포함하고,
상기 함수편집기에서의 로직은 블록 형태의 플로우차트로 작성되는 것을 특징으로 하는 개발 도구의 로직생성방법을 제공한다.
또한, 본 발명에 따르면, I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의 UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의 UI컨트롤 정보를 코드화 하는 개발 도구의 로직생성방법에 있어서,
상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부에 생성된 이벤트 또는 함수를 나타내는 단계;
상기 액션컨트롤 표시부에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기를 활성화하는 단계;
상기 함수편집기에서 로직 작성이 완료된 후, 함수생성기를 통해 이벤트 또는 함수를 코드화하는 단계;
상기 함수생성기를 통해 함수를 코드화단계는 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계; 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계;를 포함하고,
상기 함수편집기에서의 로직은 블록 형태의 플로우차트로 작성되는 개발 도구의 로직생성방법을 실행하기 위한 프로그램이 기록된 저장매체를 제공한다.
삭제
삭제
삭제
이상과 같은 본 발명에 따르면, 객체의 동작을 정의하는 이벤트나 메서드의 로직을 직접 소스코팅 방식이 아닌 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메서드(함수)의 로직을 구성함으로써 다음과 같은 효과가 있다.
첫째, 제공한 함수를 이용함으로써 로직의 표준화가 이뤄지고, 그 제공된 함수의 버그 발생시 제공된 해당 함수의 버그 수정만으로 문제를 해결할 수 있다.
둘째, 시각적인 플로우차트 형태로 로직을 표현함으로써 로직 이해도의 상승으로 추가 개발 및 유지 보수에도 용이하다.
셋째, 플로우차트 형태의 로직을 소스 코드로 변환해줌으로써 프로그래밍 언어의 개발 능력이 없어도 이미 제공된 함수를 이용하여 플로우차트 형태로 로직을 구성하기만 하여도 이벤트나 메소스를 개발할 수 있어 IT 개발자가 아닌 사용자도 용이하게 개발할 수 있다.
도 1은 본 발명의 일실시예에 따른 개발도구의 로직생성장치를 나타낸 구성도,
도 2는 도 1에 도시된 액션컨트롤 표시부의 화면을 나타낸 도면,
도 3은 도 1에 도시된 함수편집기의 화면을 나타낸 도면,
도 4는 본 발명의 일실시예에 따른 개발도구의 로직생성 과정을 나타낸 플로우차트,
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정 해석되지 아니하며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
본 발명에 따른 개발도구의 로직생성장치 및 방법의 기술적 특징은 객체의 동작을 정의하는 이벤트나 메서드(함수)의 로직을 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메서드(함수)의 로직을 구성함에 따라 1) 이미 작성된 함수를 DLL형태로 제공하고 그 제공된 함수를 함수편집기에서 검색을 하여 찾을 수 있으며, 2) 원하는 함수를 찾으면 함수명을 선택하고 드래그앤드롭(Drag&Drop)을 통해 시각적인 방식으로 블록화 로직을 구성하며, 3) 모든 로직이 작성이 된 후 플로우차트의 로직을 소스 코드화하는데 있다.
이하, 상기한 바와 같이 구성된 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 개발도구의 로직생성장치를 나타낸 구성도이고, 도 2는 도 1에 도시된 액션컨트롤 표시부의 화면을 나타낸 도면이며, 도 3은 도 1에 도시된 함수편집기의 화면을 나타낸 도면이다.
도 1을 살펴보면, 본 발명에 의한 I/O 모델 기반의 화면생성장치는 컨트롤 탐색기(10)와, I/O 모델 탐색기(20), 디자인 화면부(30), 선택사항 입력기(40), 속성 설정기(50), 컨트롤 생성기(60), I/O 모델 생성기(70), I/O 모델 서버(80), UI 생성기(90), 액션컨트롤 표시부(100), 함수편집기(110) 및 함수생성기(120)로 구성된다.
상기 컨트롤 탐색기(10)는 다수의 UI 컨트롤 목록을 구비하며, 서비스 호출과 관계없는 추가 컨트롤 생성의 유무를 결정하는 역할을 한다.
이때, 상기 컨트롤 탐색기(10)는 원하는 UI컨트롤을 선택한 후 디자인 화면부(30)에 드래그앤드롭(Drag&Drop) 방식으로 나타낼 수 있으며, UI컨트롤이 실제화면에 표시되는 컨트롤은 캔버스(30a)에 나타내게 된다.
상기 드래그앤드롭(Drag&Drop) 방식은 사용자인터페이스(UI)를 제공하는 시스템에서 마우스를 사용하여 하나의 프로그램에 존재하는 아이템을 선택한 후, 마우스 끌기 작업(드래그)에 따라 프로그램의 다른 위치 또는 다른 프로그램으로 마우스를 이동한 다음에 마우스의 버튼에서 손을 뗌으로써 아이템을 이동시키는 방법을 말한다.
또한, 상기 컨트롤 탐색기(10)에서 서비스 호출과 관계없는 추가 컨트롤이 생성되고, 추가적으로 설정할 속성이 있는 경우 속성 설정기(50)에서 속성을 추가로 설정할 수 있다.
상기 I/O 모델 탐색기(20)는 I/O모델을 이용하여 UI 컨트롤 목록을 트리(Tree) 구조의 노드(Node) 형태로 나타내는 역할을 한다.
또한, 상기 I/O 모델 탐색기(20)는 도 2에 도시된 바와 같이, 트리 구조의 노드 형태로서 탐색기 목록이 해당 I/O모델 서버(80)로부터 다운받아 로딩한 I/O모델 정보들이 나열되어있다.
상기 디자인 화면부(30)는 캔버스(30a)를 구비하며, 상기 UI 컨트롤 목록을 선택 실행하여 생성된 UI컨트롤을 캔버스(30a)에 나타내는(혹은 그려지는) 역할을 한다. 이때, 상기 캔버스(30a)는 다양한 형태로 나타낼 수 있다.
상기 선택사항 입력기(40)는 상기 I/O 모델 탐색기(20)에서 선택된 UI컨트롤을 실행하여 상기 디자인 화면부(30)에 나타낼 때 어떤 형태의 UI컨트롤을 생성할 지의 여부를 설정하며, 자동 생성될 화면의 배치, 자동생성 속성, 기타 등 다양한 옵션을 설정할 수 있다.
즉, 상기 선택사항 입력기(40)는 I/O 모델을 이용하여 UI 컨트롤을 자동으로 생성할 때 어떠한 UI 컨트롤을 디자인 화면부(30)에 나타낼지를 선택하는 창이다.
상기 속성 설정기(50)는 상기 디자인 화면부(30)에 나타나는 UI 컨트롤의 속성 정보를 수정하는 역할을 한다. 여기서, 상기 속성 설정기(50)에는 UI 컨트롤 마다 개별 속성 정보를 가지고 있다.
상기 컨트롤 생성기(60)는 상기 I/O 모델 탐색기(20)에서 드래그앤드롭(Drag&Drop) 방식으로 상기 I/O 모델 탐색기(20)에서 선택된 노드 형태의 UI 컨트롤 혹은 상기 선택사항 입력기(40)에서 선택된 UI 컨트롤을 디자인 화면부(30)에 생성하여 나타냄과 더불어 상기 선택된 UI 컨트롤의 속성 정보를 생성하는 역할을 한다.
상기 I/O모델 생성기(70)는 상기 I/O 모델 탐색기(20)에서 선택된 UI 컨트롤의 I/O 모델 정보를 생성하는 역할을 한다.
또한, 상기 I/O모델 생성기(70)는 I/O모델을 자동 혹은 수동으로 생성할지를 결정하게 된다. 이때, 자동으로 I/O모델을 생성하는 경우 별도로 작성된 스프레드시트 혹은 XML문서(도 3에 도시)을 외부에서 판독하여 수동으로 생성한 것과 동일한 작업으로 생성한다.
또한, 상기 스프레드시트는 데이터의 입력, 계산, 검색, 관리를 일괄하여 처리해주는 프로그램으로써 엑셀 등이 적용될 수 있으며, 상기 XML(eXtensible Markup Language) 문서는 구조화된 문서를 웹상에서 구현할 수 있는 인터넷 프로그래밍 언어를 말한다.
만약, 상기 I/O모델 문서들이 외부 문서일 경우 자동으로 생성될 표준 양식에 따라 작성되어 있어야 한다.
또한, 수동으로 I/O모델을 생성하는 경우 사용자 혹은 개발자가 직접 각종 정보를 편집해야 한다.
이때, 상기 I/O모델 생성기(70)에서 자동 혹은 수동으로 I/O모델 문서를 생성하는 경우 그에 해당하는 컨트롤 특성, 컨트롤 이름, 데이터 형태를 정의할 수 있다.
상기 I/O모델 서버(80)는 상기 I/O모델 생성기(70)에서 생성된 I/O모델을 업로드(Upload)하여 파일 형태로 저장하는 웹 서버(Web server)의 역할을 한다.
이때, 사용자 혹은 개발자들이 UI 개발을 할 때 필요한 I/O 모델을 I/O 모델서버(80)에서 다운로드 받아 사용할 수 있다.
상기 UI 생성기(90)는 상기 디자인 화면부(30)에 나타나는 UI컨트롤 정보 및 속성 정보를 코드화하는 작업을 한다. 여기서, 상기 UI 생성기(90)는 개발도구상에서 개발자에게 시각적으로 보여지는 부분이 아닌 개발도구에 내장된 엔진(Engine)일 수 있다.
이때, 상기 UI 생성기(90)에서 코드화 과정은 중간 코드를 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2 단계로 구성된다.
상기 제 1단계에서는 실제 프로그래밍 언어 소스 코드가 아닌 UI 정보가 담긴 Xml 구조의 문서 형태로 생성할 수 있다.
상기 액션컨트롤 표시부(100)는 서비스 호출에 사용되는 서비스 맵핑 정보와 UI 컨트롤의 이벤트 또는 함수 정보를 표시해주는 역할을 한다.
즉, 도 2에 도시된 바와 같이, 상기 액션컨트롤 표시부(100)는 디자인 화면부(30)에 나타나(혹은 그려져) 있는 UI컨트롤의 이벤트를 표시한다. 예들 들면, 도 2의 'A1451100FormLoad'는 'A1451100' 라는 디자인 화면부(30)의 FormLoad의 이벤트를 말한다.
또, 서비스 호출을 실행할 때 사용되는 UI 컨트롤의 정보를 표시하기도 한다. 예를 들면, 도 2의 'bs300'은 '300' 이라는 거래를 하기 위해 필요한 맵핑 정보를 나타낸다.
또한, 상기 디자인 화면부(30)에서 사용되는 사용자 정의 함수를 표시한다. 예를 들면, 도 2의 'MainTransaction' 라는 사용자 정의 함수를 나타낸다.
이때, 상기 액션컨트롤 표시부(100)에서 이벤트 또는 함수와 맵핑 정보의 구분은 아이콘 또는 이미지로 식별하여 나타낸다. 상기 아이콘(Icon)은 프로그램에 제공하는 명령을 문자나 그림으로 나타낸 것으로서 마우스나 라이트 펜으로 그림을 선택하여 명령을 실행한다.
상기 함수편집기(110)는 상기 액션컨트롤 표시부(100)를 통해 표시되는 정보들을 블록 형태의 함수 로직 상태로 편집하는 역할을 한다.
이때, 상기 함수편집기(110)는 도 3에 도시된 바와 같이 이벤트나 함수의 로직을 텍스트 형태가 아닌 블록형태로 작성이 가능하다. 즉, 로직의 블록형태는 플로우차트로 작성함으로써 함수를 시각적으로 편집할 수 있다.
또한, 상기 함수편집기(110)에서 이미 제공되어 있는 함수를 검색하고, 함수 명을 선택한 후 드래그앤드롭(Drag&Drop) 하여 블록 형태(플로우차트)로 생성할 수 있다.
이때, 상기 드래그앤드롭(Drag&Drop) 방식 대신에 단축키나 개발도구의 메뉴 중 어느 하나를 통해 구동시킬 수 있다.
상기 함수생성기(120)는 상기 함수편집기(110)에서 편집된 블록 형태의 로직 정보를 코드화하는 역할을 한다.
상기 함수생성기(120)에서 코드화 과정은 블록 형태의 로직을 중간 코드로 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2 단계로 구성된다.
상기 제 1단계에서는 블록 형태의 로직 정보가 담긴 Xml 구조의 문서 형태로 변환할 수 있으며 블록 형태의 종류 및 블록 값을 설정하여 저장하게 된다.
여기서, 블록 형태의 종류 및 블록 값의 설정과 저장은 함수편집기를 통해 실행될 수 있다.
함수편집기는 함수를 시각적으로 편집할 수 있도록 기능하며 이벤트나 함수의 로직을 텍스트 형태가 아닌 블록 형태로 자유롭게 설정하여 작성할 수 있다.
블록 형태의 종류로는 도 3에 도시되어 있는 바와 같이 플로우챠트로 시각화되는 원형, 사각, 삼각 등을 포함할 수 있으며 이들의 블록 값을 저장할 수 있다.
즉 이미 제공되어 있는 함수를 검색하고 함수명을 선택한 후 드래그앤드롭(Drag&Drop)으로 원하는 블록을 생성할 수 있는데 블록 형태의 종류는 함수편집기에서 드래그앤드롭(Drag&Drop)을 통해 설정하고 저장할 수 있다.
더 구체적으로는 이미 작성된 함수는 DLL형태로 제공되고 제공된 함수를 함수편집기에서 검색하여 원하면 찾을 수 있다. 원하는 함수를 찾았으면 함수명을 선택하고 드래그앤드롭(Drag&Drop)을 통해 블록화, 즉 도 3에 도시된 바와 같은 시각적 표현 방식의 로직을 구성한다. 그리고 블록화된 함수를 더블클릭과 같은 이벤트를 발생시켜 함수에 필요한 매개변수를 입력하고 모든 로직이 작성된 후 플로우챠트 형태의 로직을 소스코드화 한다.
도 4는 본 발명의 일 실시예에 따른 개발도구의 로직생성 과정을 나타낸 플로우차트이다.
먼저, 단계(S10)에서는 I/O 모델 생성기(70)를 통해 생성된 I/O 모델 정보를 I/O 모델 서버(80)에 업로드 한다.
이때, 상기 I/O모델 생성기(70)에서 자동 혹은 수동으로 I/O모델 정보를 생성하는 경우 그에 해당하는 컨트롤 특성, 컨트롤 이름, 데이터 형태를 정의할 수 있으며, 자동으로 I/O모델을 생성하는 경우 별도로 작성된 스프레드시트 혹은 XML문서(도 3에 도시)를 외부에서 판독하여 수동으로 생성한 것과 동일한 작업으로 생성한다.
단계(S20)에서는 상기 I/O모델 서버(80)에서 업로드된 I/O 모델 정보를 I/O 모델 탐색기(20)에서 다운로드 받는다.
이때, 상기 I/O 모델 탐색기(20)는 I/O모델 정보를 이용하여 UI 컨트롤 목록을 트리 구조의 노드 형태로 나타내며, 도 2에 도시된 바와 같이, I/O 모델 탐색기(20)의 목록이 해당 I/O모델 서버(80)로부터 다운받아 로딩한 I/O모델 정보들이 나열된다.
단계(S30)에서는 상기 다운받은 I/O 모델을 트리 구조로 보여주는 I/O 모델 탐색기(20)에서 디자인 화면부(30)에 생성할 노드를 선택하고 드래그앤드롭(Drag&Drop) 한다.
즉, 상기 I/O 모델 탐색기(20)의 트리 구조의 디렉토리를 선택하고 디자인 화면부(30)에 드래그앤드롭(Drag&Drop) 하게 되면 자동생성 시작명령이 동작한다. 상기 자동생성 시작명령은 드래그앤드롭(Drag&Drop) 방식 혹은 단축키나 개발도구의 메뉴 중 어느 하나를 통해 구동시킬 수 있다.
이때, 상기 단계(S30)에서 디자인 화면부(30)에 드래그앤드롭(Drag&Drop) 하는 경우 선택사항 입력기(40) 창이 활성화되고, 생성할 컨트롤을 선택하면 컨트롤 생성기(60)를 통해 디자인 화면부(30)에 해당 컨트롤이 생성된다(단계S40).
즉, 상기 단계(S30)에서 디자인 화면부(30)에 드래그앤드롭(Drag&Drop) 하는 경우 우선 선택사항 입력기(40)에 입력된 자동생성 선택사항을 판독하고, 상기 I/O 모델 탐색기(20)에서 선택된 I/O 모델 정보를 판독한다.
단계(S50)에서는 컨트롤 탐색기(10)에서 서비스 호출과 관계없는 추가 컨트롤 생성 유무를 결정한다.
이때, 상기 컨트롤 탐색기(10)는 원하는 UI컨트롤을 선택한 후 디자인 화면부(30)에 드래그앤드롭(Drag&Drop) 방식으로 나타낼 수 있으며, UI컨트롤이 실제화면에 표시되는 컨트롤은 캔버스(30a)에 나타내게 된다.
단계(S60)에서는 상기 생성된 UI 컨트롤에 추가적으로 설정할 속성이 있는 경우 속성 설정기(50)을 이용하여 속성을 추가 설정한다.
즉, 상기 속성 설정기(50)에서는 상기 디자인 화면부(30)에 나타나는 UI 컨트롤의 속성 정보를 설정하게 된다.
단계(S70)에서는 상기 디자인 화면부(30)에 생성된 UI 컨트롤 정보들을 UI 생성기(90)에서 소스코드로 자동으로 생성한다.
이때, 상기 UI 생성기(90)에서 코드화 과정은 중간 코드를 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2 단계로 구성되는데, 상기 제 1단계에서는 실제 프로그래밍 언어 소스 코드가 아닌 UI 정보가 담긴 Xml 구조의 문서 형태로 생성할 수 있다.
단계(S80)에서는 상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부(100)에 생성된 이벤트 또는 함수를 나타낸다.
이때, 상기 액션컨트롤 표시부(100)는 서비스 호출에 사용되는 서비스 맵핑 정보와 UI 컨트롤 및 이벤트 또는 함수 정보를 표시해준다. 즉, 도 2에 도시된 바와 같이, 상기 액션컨트롤 표시부(100)는 디자인 화면부(30)에 나타나(혹은 그려져) 있는 UI컨트롤의 이벤트를 표시하는데 예들 들면, 도 2의 'A1451100FormLoad'는 'A1451100' 라는 디자인 화면부(30)의 FormLoad의 이벤트를 말한다. 물론, 서비스 호출을 실행할 때 사용되는 UI 컨트롤 정보를 표시하기도 하며, 사용자 정의함수를 표시할 수 있다.
단계(S90)에서는 상기 액션컨트롤 표시부(100)에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기(110)를 활성화(화면을 띄우는 작업)하게 된다.
이때, 상기 함수편집기(110)는 상기 액션컨트롤 표시부(100)를 통해 표시되는 정보들을 블록 형태의 함수 로직 상태로 편집하며, 도 3에 도시된 바와 같이 이벤트나 함수의 로직을 텍스트 형태가 아닌 블록형태로 작성이 가능하다. 즉, 로직의 블록형태는 플로우차트로 작성함으로써 함수를 시각적으로 편집할 수 있다.
마지막으로, 단계(S100)에서는 상기 함수편집기(110)에서 로직 작성이 완료된 후, 함수생성기(120)를 통해 이벤트 또는 함수를 코드화한다.
이때, 상기 함수생성기(120)는 상기 함수편집기(110)에서 편집된 블록 형태의 로직 정보를 코드화하는데 코드화 과정은 블록 형태의 로직을 중간 코드로 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2 단계로 구성되어 이루어진다.
따라서 본 발명의 개발도구의 로직생성장치 및 그 방법에 따르면, 객체의 동작을 정의하는 이벤트나 메서드(함수)의 로직을 직접 소스코팅 방식이 아닌 미리 제공되는 함수를 이용하여 플로우차트 방식으로 이벤트나 메서드(함수)의 로직을 구성할 수 있다.
한편, 본 발명에 따른 개발도구의 로직생성장치 및 그 방법을 통하여 도 1 내지 도 4에서와 같이, 개발도구의 로직생성방법을 실행하기 위한 프로그램이 기록된 저장매체를 제공할 수 있다.
특히, 도 4에서와 같이, 개발도구의 로직생성방법을 실행하기 위한 프로그램이 기록된 저장매체를 제공할 수 있다. 이와 같은 기록매체는 컴퓨터에 의해 실행 가능하고, 씨디롬(CD ROM), 램(RAM), 롬(ROM), 플로피 디스크(floppy disk), 하드 디스크(hard disk), 광자기 디스크 등에 저장될 수 있다.
상기에서 본 발명의 특정한 실시 예가 설명 및 도시되었지만, 본 발명이 당업자에 의해 다양하게 변형되어 실시될 가능성이 있는 것은 자명한 일이다. 이와 같은 변형된 실시 예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.
10: 컨트롤 탐색기 20: I/O 모델 탐색기
30: 디자인 화면부 40: 선택사항 입력기
50: 속성 설정기 60: 컨트롤 생성기
70: I/O 모델 생성기 80: I/O 모델 서버 90: UI 생성기 100: 액션컨트롤 표시부
110: 함수편집기 120: 함수생성기

Claims (6)

  1. I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의 UI컨트롤 정보를 코드화하는 개발 도구의 로직생성장치에 있어서,
    상기 서비스 맵핑 정보와 UI 컨트롤의 이벤트 또는 함수 정보를 이미지로 식별하여 표시해주는 액션컨트롤 표시부;
    상기 액션컨트롤 표시부를 통해 표시되는 정보들을 플로우차트 형태의 함수 로직 상태로 편집하는 함수편집기;
    상기 함수편집기에서 편집된 플로우차트 형태의 로직 정보를 코드화하는 함수생성기;를 포함하며,
    상기 함수편집기에서 이미 제공되어 있는 함수 로직을 검색하고, 함수명을 선택한 후 드래그앤드롭(Drag&Drop) 하여 플로우차트 형태를 형성하고,
    상기 함수생성기에서 코드화 과정은 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계와 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계를 포함하고, 상기 제 1단계에서는 함수편집기의 드래그앤드롭(Drag&Drop)을 통해 원하는 블록 형태의 종류를 선택하고 그 블록 값을 설정하여 저장하도록 구성된 개발 도구의 로직생성장치.
  2. 삭제
  3. 삭제
  4. I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의 UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의UI컨트롤 정보를 코드화하는 개발 도구의 로직생성방법에 있어서,
    상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부에 생성된 이벤트 또는 함수를 나타내는 단계;
    상기 액션컨트롤 표시부에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기를 활성화하는 단계;
    상기 함수편집기에서 로직 작성이 완료된 후, 함수생성기를 통해 이벤트 또는 함수를 코드화하는 단계;를 포함하여 이루어지며,
    상기 함수생성기를 통해 함수를 코드화단계는 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계; 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계;를 포함하고,
    상기 함수편집기에서의 로직은 블록 형태의 플로우차트로 작성되는 것을 특징으로 하는 개발 도구의 로직생성방법.
  5. 삭제
  6. I/O모델을 이용하여 서비스 호출에 사용되는 서비스 맵핑 정보와 I/O모델의 UI 컨트롤을 디자인 화면부에 생성해 주고, 상기 생성된 I/O모델의 UI컨트롤 정보를 코드화 하는 개발 도구의 로직생성방법에 있어서,
    상기 UI 컨트롤의 이벤트 또는 함수를 생성하고, 액션컨트롤 표시부에 생성된 이벤트 또는 함수를 나타내는 단계;
    상기 액션컨트롤 표시부에서 작성할 이벤트 또는 함수를 선택하고, 함수편집기를 활성화하는 단계;
    상기 함수편집기에서 로직 작성이 완료된 후, 함수생성기를 통해 이벤트 또는 함수를 코드화하는 단계;
    상기 함수생성기를 통해 함수를 코드화단계는 블록 형태의 로직을 로직 정보가 담긴 Xml 구조의 문서 형태인 중간 코드로 생성하는 제 1단계; 상기 중간 코드를 프로그래밍 언어의 소스 코드로 변환하는 제 2단계;를 포함하고,
    상기 함수편집기에서의 로직은 블록 형태의 플로우차트로 작성되는 개발 도구의 로직생성방법을 실행하기 위한 프로그램이 기록된 저장매체.
KR1020120023853A 2012-03-08 2012-03-08 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체 KR101408280B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120023853A KR101408280B1 (ko) 2012-03-08 2012-03-08 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120023853A KR101408280B1 (ko) 2012-03-08 2012-03-08 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체

Publications (2)

Publication Number Publication Date
KR20130102763A KR20130102763A (ko) 2013-09-23
KR101408280B1 true KR101408280B1 (ko) 2014-06-17

Family

ID=49452305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120023853A KR101408280B1 (ko) 2012-03-08 2012-03-08 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체

Country Status (1)

Country Link
KR (1) KR101408280B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210142839A (ko) * 2020-05-19 2021-11-26 네이버클라우드 주식회사 디자인 킷을 이용한 업무 협업을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
US11645125B2 (en) 2019-05-28 2023-05-09 Samsung Sds Co., Ltd. Method and apparatus for executing workflow including functions written in heterogeneous programing language

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101460794B1 (ko) * 2014-02-25 2014-11-14 (주)엑스오비스 미디어 아트 콘텐츠 생성 방법 및 시스템
KR102252206B1 (ko) * 2019-12-30 2021-05-17 (주)비아이매트릭스 엑셀 시트 상의 객체 동작을 이용한 업무 자동화 시스템
KR102500395B1 (ko) * 2021-03-30 2023-02-16 서울시립대학교 산학협력단 프로그램 소스코드의 버그를 정정하는 장치 및 방법
CN114064024A (zh) * 2021-11-29 2022-02-18 Oppo广东移动通信有限公司 微应用的开发方法、装置、设备、存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192682A1 (en) * 2006-02-13 2007-08-16 Nextair Corporation Apparatus and machine-readable medium for generating markup language representing a derived entity which extends or overrides attributes of a base entity
KR20120005358A (ko) * 2010-07-08 2012-01-16 뷰모션 (주) 프로그램 디자인 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192682A1 (en) * 2006-02-13 2007-08-16 Nextair Corporation Apparatus and machine-readable medium for generating markup language representing a derived entity which extends or overrides attributes of a base entity
KR20120005358A (ko) * 2010-07-08 2012-01-16 뷰모션 (주) 프로그램 디자인 장치 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645125B2 (en) 2019-05-28 2023-05-09 Samsung Sds Co., Ltd. Method and apparatus for executing workflow including functions written in heterogeneous programing language
KR20210142839A (ko) * 2020-05-19 2021-11-26 네이버클라우드 주식회사 디자인 킷을 이용한 업무 협업을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR102453345B1 (ko) * 2020-05-19 2022-10-11 네이버클라우드 주식회사 디자인 킷을 이용한 업무 협업을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20220139849A (ko) * 2020-05-19 2022-10-17 네이버클라우드 주식회사 디자인 킷을 이용한 업무 협업을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR102543722B1 (ko) * 2020-05-19 2023-06-15 네이버클라우드 주식회사 디자인 킷을 이용한 업무 협업을 위한 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체

Also Published As

Publication number Publication date
KR20130102763A (ko) 2013-09-23

Similar Documents

Publication Publication Date Title
CN102521120B (zh) 一种软件自动化测试系统及方法
KR101408280B1 (ko) 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체
US7461346B2 (en) Editing browser documents
KR20060087995A (ko) 작업 흐름을 모델링하는 방법 및 시스템
US20130152021A1 (en) Stage and stage view within a workflow
CN104267947A (zh) 一种编辑弹窗图片的方法及弹窗图片编辑装置
JP2012508934A (ja) データオブジェクトの管理および自動的リンク
CN102693127B (zh) 用于描述并执行图形用户界面中的管理任务的数据驱动模式
US20170109136A1 (en) Generation of application behaviors
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
US11934647B2 (en) Utilizing modularized action blocks in a graphical user interface to generate digital images with custom modifications
CN111488102A (zh) 图形动画的模块化编辑方法、终端、服务器及系统
WO2013109858A1 (en) Design canvas
CN107220044B (zh) 基于元模型驱动业务对象的方法和装置
KR102213815B1 (ko) 앤서블을 위한 gui 시스템
CN117215556A (zh) 模块化的页面快速构建方法、系统、设备及介质
CN113010168A (zh) 一种基于场景树的用户界面生成方法
US10222944B1 (en) Embedding user interface elements in documents containing code
KR101344882B1 (ko) I/o모델 기반의 화면생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체
KR20140041603A (ko) 미리 구축된 컨트롤을 사용하는 로직 생성 기법
CN114518875A (zh) 一种图形化编程系统及其编程方法
KR102588597B1 (ko) Uml 시퀀스 다이어그램의 대체 에디터로서 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치
JP2001273125A (ja) ソースプログラム自動生成方法およびシステム、ならびにそのプログラム記録媒体
EP3462309A1 (en) Method for generating user interfaces from a manufacturing application model
US11727204B2 (en) Schema and object extractor

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180320

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190509

Year of fee payment: 6