KR102588597B1 - Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same - Google Patents

Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same Download PDF

Info

Publication number
KR102588597B1
KR102588597B1 KR1020230111138A KR20230111138A KR102588597B1 KR 102588597 B1 KR102588597 B1 KR 102588597B1 KR 1020230111138 A KR1020230111138 A KR 1020230111138A KR 20230111138 A KR20230111138 A KR 20230111138A KR 102588597 B1 KR102588597 B1 KR 102588597B1
Authority
KR
South Korea
Prior art keywords
logic
computing device
interaction information
type
detailed
Prior art date
Application number
KR1020230111138A
Other languages
Korean (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 KR1020230111138A priority Critical patent/KR102588597B1/en
Application granted granted Critical
Publication of KR102588597B1 publication Critical patent/KR102588597B1/en

Links

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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 기존 UML 시퀀스 다이어그램 편집기를 대체할 수 있는 편집기인 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법에 있어서, 컴퓨팅 장치가, 로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 기존 UML 상호작용 정보를 획득하는 단계; 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 컴퓨팅 장치는, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하는 단계; 상기 컴퓨팅 장치가, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하는 단계; 및 작성된 설계 로직을 주석 형태로 소스코드로 생성하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.The present invention relates to a method of designing a program based on an operation logic designer, which is an editor that can replace the existing UML sequence diagram editor, in which a computing device acquires existing UML interaction information based on an operation corresponding to the logic design target. steps; When the operation logic designer is executed, the computing device displays basic information and detailed logic for the operation, and editing the detailed logic based on a specific logic type selected from a plurality of logic types; generating and updating, by the computing device, new UML interaction information based on the edited detailed logic; and generating the written design logic as source code in the form of annotations.

Description

UML 시퀀스 다이어그램의 대체 에디터로서 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치{METHOD FOR DESIGNING A PROGRAM USING OPERATION LOGIC DESIGNER AS AN ALTERNATIVE EDITOR FOR UML SEQUENCE DIAGRAM AND APPARATUS USING THE SAME}Method of designing a program using Operation Logic Designer as an alternative editor for UML sequence diagram and device using the same {METHOD FOR DESIGNING A PROGRAM USING OPERATION LOGIC DESIGNER AS AN ALTERNATIVE EDITOR FOR UML SEQUENCE DIAGRAM AND APPARATUS USING THE SAME}

본 발명은 기존 UML 시퀀스 다이어그램 에디터를 대체할 수 있는 편집기인 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치에 관한 것으로서, 더욱 상세하게는 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법에 있어서, 컴퓨팅 장치가, 로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 UML 표준 Spec에서 정의하고 있는 상호작용(Interaction, 이하 UML 상호작용으로 기술) 정보를 획득하는 단계; 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 컴퓨팅 장치는, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이 하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하는 단계; 및 상기 컴퓨팅 장치가, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하는 단계; 작성된 설계 로직을 주석 형태로 소스코드로 생성하는 단계를 포함하는 것을 특징으로 하는 방법에 관한 것이다.The present invention relates to a method of designing a program using Operation Logic Designer, an editor that can replace the existing UML sequence diagram editor, and a device using the same. More specifically, to a method of designing a program based on the Operation Logic Designer. In the step, the computing device acquires interaction (hereinafter described as UML interaction) information defined in the UML standard specification based on the operation corresponding to the logic design target; When the operation logic designer is executed, the computing device displays basic information and detailed logic for the operation, and editing the detailed logic based on a specific logic type selected from a plurality of logic types; and generating and updating, by the computing device, new UML interaction information based on the edited detailed logic; It relates to a method comprising the step of generating the written design logic as source code in the form of annotations.

프로그램, 어플리케이션 등 소프트웨어 개발에 있어서 적합한 도구인 UML(Unified Modeling Language)은 표준화된 언어로서 다양한 개발자들과 조직들 간에 공통된 표기법을 제공하고 있다. UML (Unified Modeling Language), a tool suitable for developing software such as programs and applications, is a standardized language that provides a common notation among various developers and organizations.

이때, UML 개발 방식은 일반적으로 작성된 모델로부터 소스 코드를 자동으로 생성하는 방식을 취하는데, 개발자는 프로그램의 변경이 발생하면 모델을 수정하고 소스 코드를 다시 생성한 뒤 소스 코드를 보면서 다시 편집, 테스트 등을 수행할 수 있다.At this time, the UML development method generally automatically generates source code from the created model. When a change in the program occurs, the developer modifies the model, regenerates the source code, and then edits and tests it again while viewing the source code. etc. can be performed.

UML 시퀀스 다이어그램은 객체 간의 상호작용을 그래픽적으로 표현하는 UML의 일부로서, 시퀀스 다이어그램은 시간의 흐름에 따라 객체 간의 메시지 교환을 시각적으로 보여주고 있다.A UML sequence diagram is a part of UML that graphically expresses interactions between objects. A sequence diagram visually shows the exchange of messages between objects over time.

UML 시퀀스 다이어그램으로 작성된 객체 간의 상호 호출 정보는 표준 UML Spec에서 정의하고 있는 상호작용(Interaction) 정보로 저장이 된다.Mutual call information between objects written in UML sequence diagrams is stored as interaction information defined in the standard UML Spec.

종래에는 시각적 정보 표현 측면에서 장점이 있는 시퀀스 다이어그램 에디터를 이용하여 편집을 수행하였다. 한국 등록특허 10-1913558호는 시퀀스 다이어그램 기반의 통합개발장치(시퀀스 다이어그램 에디터)를 제공하며, 통합개발장치에서 생성된 시퀀스 다이어그램과 소스 코드 간의 동기화를 수행하는 단계를 포함한다.Previously, editing was performed using a sequence diagram editor, which has advantages in terms of visual information expression. Korean Patent No. 10-1913558 provides a sequence diagram-based integrated development device (sequence diagram editor), and includes a step of performing synchronization between the sequence diagram generated by the integrated development device and the source code.

그러나, 도 1에서 볼 수 있듯이, 오퍼레이션, 로직 등이 다수로 복잡한 구조의 경우 표현되는 시퀀스 다이어그램 역시 복잡해지고, 개발자 입장에서도 편집 작업의 편의성이 낮고, Refactoring 작업이 어려워진다는 단점이 발생할 수 있다. 또한, 복잡한 시퀀스로 인하여 프로그램이 무거워지고, 성능적인 측면에서 이슈가 발생할 수 있다.However, as can be seen in Figure 1, in the case of a complex structure with a large number of operations, logic, etc., the sequence diagram expressed also becomes complicated, and from the developer's perspective, the convenience of editing work is low, and refactoring work becomes difficult. Additionally, complex sequences can make the program heavy and cause issues in terms of performance.

위와 같은 문제를 해결하기 위해 본 발명자는 UML 시퀀스 다이어그램 에디터를 대체할 수 있는 새로운 개념의 에디터인 오퍼레이션 로직 디자이너를 이용하여 프로그램을 설계하는 방법 및 그를 이용한 장치를 제안하고자 한다.In order to solve the above problem, the present inventor would like to propose a method of designing a program using Operation Logic Designer, a new concept editor that can replace the UML sequence diagram editor, and a device using the same.

한국 등록특허 10-1913558호Korean Patent No. 10-1913558

본 발명은 다음과 같은 목적을 가질 수 있다.The present invention may have the following purposes.

본 발명의 목적은 소프트웨어 로직 설계에 있어 편집이 용이하고, Refactoring 작업이 용이하도록 하기 위한 것이다.The purpose of the present invention is to facilitate editing and refactoring in software logic design.

또한, 본 발명의 목적은 시퀀스 다이어그램 기반이 아닌 간단한 다이얼로그 창 기반으로 작업을 수행하여, 복잡한 구조인 경우에도 작업 성능 이슈가 없으며, 설계 스펙 정보 작성 및 공유를 원활하게 하기 위한 것이다.In addition, the purpose of the present invention is to perform work based on a simple dialog window rather than a sequence diagram, so that there are no work performance issues even in complex structures, and to facilitate creation and sharing of design specification information.

또한, 본 발명의 목적은 오퍼레이션 로직 디자이너를 통해 생성된 UML 상호작용 정보가 시퀀스 다이어그램 에디터 와도 상호 호환되어, 필요한 경우 언제든 시퀀스 다이어그램 형태로도 조회 가능하도록 하기 위한 것이다.In addition, the purpose of the present invention is to ensure that UML interaction information generated through Operation Logic Designer is compatible with a sequence diagram editor, so that it can be viewed in the form of a sequence diagram whenever necessary.

본 발명의 일 실시예에 따르면, 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법에 있어서, 컴퓨팅 장치가, 로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 기존 UML 상호작용 정보를 획득하는 단계; 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 컴퓨팅 장치는, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하는 단계; 상기 컴퓨팅 장치가, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하는 단계; 및 상기 컴퓨팅 장치가, 생성된 상기 신규 UML 상호작용 정보에 작성되어 있는 상기 세부 로직의 정보를 주석 형태의 소스코드로 생성하는 단계를 포함하는 것을 특징으로 하는 방법을 포함한다.According to an embodiment of the present invention, a method of designing a program based on an operation logic designer includes: acquiring, by a computing device, existing UML interaction information based on an operation corresponding to a logic design target; When the operation logic designer is executed, the computing device displays basic information and detailed logic for the operation, and editing the detailed logic based on a specific logic type selected from a plurality of logic types; generating and updating, by the computing device, new UML interaction information based on the edited detailed logic; And a method comprising the step of generating, by the computing device, the detailed logic information written in the generated new UML interaction information as source code in the form of an annotation.

또한, 본 발명의 다른 실시예에 따르면, 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법을 수행하기 위해 컴퓨터 판독 가능한 기록매체에 저장된, 컴퓨터 프로그램을 포함한다.Additionally, according to another embodiment of the present invention, it includes a computer program stored in a computer-readable recording medium for performing a method of designing a program based on the operation logic designer.

또한, 본 발명의 또 다른 실시예에 따르면, 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 장치에 있어서, 통신부; 및 로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 기존 UML 상호작용 정보를 획득하고, 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하며, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하고, 생성된 상기 신규 UML 상호작용 정보에 작성되어 있는 상기 세부 로직의 정보를 주석 형태의 소스코드로 생성하는 프로세서를 포함하는 것을 특징으로 하는 컴퓨팅 장치를 포함한다.Additionally, according to another embodiment of the present invention, an apparatus for designing a program based on an operation logic designer includes: a communication unit; And acquire existing UML interaction information based on the operation corresponding to the logic design target, and when the operation logic designer is executed, display basic information and detailed logic for the operation, and select a specific logic selected from a plurality of logic types. Edit the detailed logic based on the type, create and update new UML interaction information based on the edited detailed logic, and enter the information of the detailed logic written in the generated new UML interaction information in the form of an annotation. It includes a computing device characterized by including a processor that generates source code.

이와 같이 본 발명에 따르면, 다음과 같은 효과가 있다.In this way, according to the present invention, the following effects are achieved.

본 발명에 따르면, 소프트웨어 로직 설계에 있어 편집이 용이하고, Refactoring 작업이 용이하도록 하는 효과가 있다.According to the present invention, there is an effect of facilitating editing and refactoring work in software logic design.

또한, 본 발명에 따르면, 시퀀스 다이어그램 기반이 아닌 다이얼로그 기반으로 작업을 수행하여, 복잡한 구조인 경우에도 작업 성능 이슈가 없으며, 설계 스펙 정보 작성 및 공유를 원활하게 하는 효과가 있다.In addition, according to the present invention, work is performed based on a dialog rather than a sequence diagram, so there are no work performance issues even in complex structures, and there is an effect of facilitating creation and sharing of design specification information.

또한, 본 발명에 따르면, 오퍼레이션 로직 디자이너를 통해 생성된 UML 상호작용 정보가 시퀀스 다이어그램 에디터 와도 상호 호환되어, 시퀀스 다이어그램 형태로도 조회 가능하도록 하는 효과가 있다.In addition, according to the present invention, the UML interaction information generated through the operation logic designer is compatible with the sequence diagram editor, which has the effect of allowing it to be viewed in the form of a sequence diagram.

도 1은 종래의 시퀀스 다이어그램 에디터에 기반하여 편집 모습을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따라 컴퓨팅 장치의 개략적인 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 오퍼레이션을 업데이트하고 프로그램을 설계하기까지의 과정을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라, UML 상호작용 정보를 읽기부터 UML 시퀀스 다이어그램을 자동 생성하기까지의 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따라 오퍼레이션 로직 디자이너가 실행된 메인 화면을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따라 로직 유형 Comment를 추가한 모습을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따라 로직 유형 Call을 추가한 모습을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따라 로직 유형 Exception을 추가한 모습을 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따라 로직 유형 Loop을 추가한 모습을 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따라 로직 유형 Opt을 추가한 모습을 나타내는 도면이다.
도 11은 본 발명의 일 실시예에 따라 로직 유형 Alt을 추가한 모습을 나타내는 도면이다.
도 12는 본 발명의 일 실시예에 따라 로직 유형 TryCatch를 추가한 모습을 나타내는 도면이다.
도 13은 본 발명의 일 실시예에 따라 생성형 AI(이하 생성형 AI의 대표적 사례인 ChatGPT 로 기술) Prompt 기능에 기초하여 소스코드가 생성되기까지의 과정을 나타내는 도면이다.
도 14는 본 발명의 일 실시예에 따라 로직 유형 ChatGPT Prompt를 추가한 모습을 나타내는 도면이다.
도 15는 본 발명의 일 실시예에 따라 편집창에서 수행가능한 부가기능을 나타내는 도면이다.
도 16은 본 발명의 일 실시예에 따른 오퍼레이션 로직, 엑셀 출력 및 시퀀스 다이어그램을 나타내는 도면이다.
도 17은 본 발명의 일 실시예에 따라 편집 창에 표시되는 세부 로직을 나타내는 도면이다.
도 18은 본 발명의 일 실시예에 따라 오퍼레이션 로직 디자이너에서 작성한 설계 스펙이 소스코드 자동 생성 시 자바 주석으로 추가된 모습을 나타내는 도면이다.
1 is a diagram showing editing based on a conventional sequence diagram editor.
Figure 2 is a diagram showing a schematic configuration of a computing device according to an embodiment of the present invention.
Figure 3 is a diagram showing the process of updating an operation and designing a program according to an embodiment of the present invention.
Figure 4 is a diagram showing the process from reading UML interaction information to automatically generating a UML sequence diagram, according to an embodiment of the present invention.
Figure 5 is a diagram showing the main screen on which Operation Logic Designer is executed according to an embodiment of the present invention.
Figure 6 is a diagram showing the addition of the logic type Comment according to an embodiment of the present invention.
Figure 7 is a diagram showing the addition of logic type Call according to an embodiment of the present invention.
Figure 8 is a diagram showing the addition of logic type Exception according to an embodiment of the present invention.
Figure 9 is a diagram showing the addition of logic type Loop according to an embodiment of the present invention.
Figure 10 is a diagram showing the addition of logic type Opt according to an embodiment of the present invention.
Figure 11 is a diagram showing the addition of logic type Alt according to an embodiment of the present invention.
Figure 12 is a diagram showing the addition of the logic type TryCatch according to an embodiment of the present invention.
Figure 13 is a diagram showing the process of generating source code based on the generative AI (hereinafter described as ChatGPT, a representative example of generative AI) Prompt function according to an embodiment of the present invention.
Figure 14 is a diagram showing the addition of the logic type ChatGPT Prompt according to an embodiment of the present invention.
Figure 15 is a diagram showing additional functions that can be performed in the editing window according to an embodiment of the present invention.
Figure 16 is a diagram showing operation logic, Excel output, and sequence diagram according to an embodiment of the present invention.
Figure 17 is a diagram showing detailed logic displayed in the editing window according to an embodiment of the present invention.
Figure 18 is a diagram showing a design specification created in Operation Logic Designer added as a Java annotation when automatically generating source code according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The detailed description of the present invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, together with all equivalents to what those claims assert, if properly described. Similar reference numbers in the drawings refer to identical or similar functions across various aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, in order to enable those skilled in the art to easily practice the present invention, preferred embodiments of the present invention will be described in detail with reference to the attached drawings.

도 2는 본 발명의 일 실시예에 따라 컴퓨팅 장치의 개략적인 구성을 나타내는 도면이다.Figure 2 is a diagram showing a schematic configuration of a computing device according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 컴퓨팅 장치(100)는 서버, PC, 단말 등 연산 기능을 가지는 장치 중 하나로서, 통신부(110), 프로세서(120)를 포함하고, 경우에 따라 도 2와는 달리 데이터베이스(130)를 포함하지 않을 수도 있다. As shown in FIG. 2, the computing device 100 of the present invention is one of devices with a computing function such as a server, PC, and terminal, and includes a communication unit 110 and a processor 120, and in some cases, the computing device 100 in FIG. 2 Unlike, it may not include the database 130.

상기 컴퓨팅 장치(200)의 통신부(110)는 다양한 통신 기술로 구현될 수 있다. 즉, 와이파이(WIFI), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), HSPA(High Speed Packet Access), 모바일 와이맥스(Mobile WiMAX), 와이브로(WiBro), LTE(Long Term Evolution), 5G, 6G, 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association), NFC(Near Field Communication), 지그비(Zigbee), 무선랜 기술 등이 적용될 수 있다. 또한, 인터넷과 연결되어 서비스를 제공하는 경우 인터넷에서 정보전송을 위한 표준 프로토콜인 TCP/IP를 따를 수 있다.The communication unit 110 of the computing device 200 may be implemented using various communication technologies. That is, WIFI, WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), HSPA (High Speed Packet Access), Mobile WiMAX, and WiBro. , LTE (Long Term Evolution), 5G, 6G, Bluetooth, IrDA (infrared data association), NFC (Near Field Communication), Zigbee, wireless LAN technology, etc. can be applied. Additionally, when providing services by connecting to the Internet, TCP/IP, the standard protocol for information transmission on the Internet, can be followed.

본 발명의 컴퓨팅 장치(100)의 프로세서(120)에서 이루어지는 과정에 대해서는 아래 도 3과 함께 살펴보도록 하겠다.The process performed in the processor 120 of the computing device 100 of the present invention will be examined with reference to FIG. 3 below.

도 3은 본 발명의 일 실시예에 따라 오퍼레이션을 업데이트하고 프로그램을 설계하기까지의 과정을 나타내는 도면이다.Figure 3 is a diagram showing the process of updating an operation and designing a program according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따라, UML 상호작용 정보를 읽기부터 UML 시퀀스 다이어그램을 자동 생성하기까지의 과정을 나타내는 도면이다.Figure 4 is a diagram showing the process from reading UML interaction information to automatically generating a UML sequence diagram, according to an embodiment of the present invention.

우선, 컴퓨팅 장치(100)의 프로세서(120)는, 오픈소스 UML 모델링 툴(ex Papyrus)을 기반으로 다양한 모델링 자동화 기능을 제공할 수 있으며, 설계되는 프로그램을 불러올 수 있다. 경우에 따라, 본 발명의 오퍼레이션 로직 디자이너 역시 상기 오픈소스 UML 모델링 툴을 기반으로 이용될 수 있다.First, the processor 120 of the computing device 100 can provide various modeling automation functions based on an open source UML modeling tool (ex Papyrus) and can load a designed program. In some cases, the operation logic designer of the present invention can also be used based on the open source UML modeling tool.

프로세서(120)는, 상기 오퍼레이션 로직 디자이너를 기초하여 프로그램(ex 보험 설계 프로그램)을 설계 또는 편집 등을 수행할 수 있고, 이때 로직 디자인 대상에 해당하는 오퍼레이션(ex 연락처관리, 가망고객관리 등)에 기초하여 기존 UML 상호작용 정보를 획득(S310)할 수 있다. The processor 120 can design or edit a program (ex. insurance design program) based on the operation logic designer, and at this time, design or edit a program (ex. insurance design program) corresponding to the logic design target (ex. contact management, prospect management, etc.). Based on this, existing UML interaction information can be acquired (S310).

구체적으로, 프로세서(120)는 보험 설계 프로그램 등 복잡한 프로그램에서 이루어지는 오퍼레이션(ex 연락처관리, 가망고객관리 등) 관련 UML 상호작용 정보(ex 객체 간 오고 가는 message 정보 등)를 읽고 획득(S410)할 수 있다.Specifically, the processor 120 can read and acquire (S410) UML interaction information (ex. message information exchanged between objects, etc.) related to operations (ex. contact management, prospect management, etc.) performed in complex programs such as insurance planning programs. there is.

또한, 프로세서(120)는, 상기 UML 상호작용 정보를 자체 정의한 Operation Logic 정보로 변환(S420)하고, Operation Logic 편집기(본 발명의 오퍼레이션 로직 디자이너)를 실행할 수 있다(S430). 즉, 오픈소스 UML 모델링 툴에서 작성 대상에 해당하는 오퍼레이션을 선택한 후, 오퍼레이션 로직 디자이너를 실행하는 것이다. 참고로, 도 4의 S410부터 S430은 도 3의 S310 단계에 대응될 수 있을 것이다.Additionally, the processor 120 can convert the UML interaction information into self-defined Operation Logic information (S420) and execute the Operation Logic editor (operation logic designer of the present invention) (S430). In other words, select the operation corresponding to the creation target in the open source UML modeling tool and then run the operation logic designer. For reference, S410 to S430 of FIG. 4 may correspond to step S310 of FIG. 3.

상기 오퍼레이션 로직 디자이너가 실행된 경우, 프로세서(120)는, 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 세부 로직을 편집할 수 있다(S320). 즉, Operation Logic 정보를 편집(수정/추가/삭제)할 수 있는 것이다(S440).When the operation logic designer is executed, the processor 120 can display basic information and detailed logic for the operation and edit the detailed logic based on a specific logic type selected from a plurality of logic types (S320). In other words, Operation Logic information can be edited (modified/added/delete) (S440).

또한, 편집 완료된 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여, 상기 오퍼레이션을 업데이트할 수 있다(S330). 구체적으로, UML 상호작용 정보로 변환시킨 후(S450), UML 상호작용 정보를 저장하고(S460), 오퍼레이션을 업데이트할 수 있으며, 이를 통해 UML 시퀀스 다이어그램을 자동적으로 생성 가능하다(S470).Additionally, the operation can be updated by creating new UML interaction information based on the edited detailed logic (S330). Specifically, after converting to UML interaction information (S450), the UML interaction information can be saved (S460) and the operation can be updated, through which a UML sequence diagram can be automatically generated (S470).

또한, 프로세서(120)는, 상기 생성된 신규 UML 상호작용 정보에 작성되어 있는 세부 로직의 정보를 주석 형태의 소스코드로 생성할 수 있다(S340). 즉, 편집을 위해 선택된 특정 로직 유형(ex Comment 등) 관련 정보가 주석 형태의 소스코드로 생성될 수 있는 것이다. 이와 관련해서는 도 18과 함께 뒤에서 살펴보도록 하겠다.Additionally, the processor 120 may generate detailed logic information written in the generated new UML interaction information as source code in the form of an annotation (S340). In other words, information related to a specific logic type (ex Comment, etc.) selected for editing can be generated as source code in the form of comments. We will look at this later along with Figure 18.

전술한 프로세스들에 대해 아래에서 보다 자세히 살펴보도록 하겠다.We will look at the aforementioned processes in more detail below.

도 5는 본 발명의 일 실시예에 따라 오퍼레이션 로직 디자이너가 실행된 메인 화면을 나타내는 도면이다. 상세하게는 도 5(a)는 메인 화면에서의 각 구조를 나타내는 도면이고, 도 5(b)는 기본적인 메인 화면을 나타내는 도면이다.Figure 5 is a diagram showing the main screen on which Operation Logic Designer is executed according to an embodiment of the present invention. In detail, Figure 5(a) is a diagram showing each structure in the main screen, and Figure 5(b) is a diagram showing the basic main screen.

우선, 오퍼레이션 로직 디자이너가 실행된 경우, 로직 디자인 대상에 해당하는 오퍼레이션(ex 개인고객조회)에 대한 기본 정보(도 5(a)의 1번 박스)를 제공할 수 있다. 도 5를 참조하면, 상기 기본 정보에는 오퍼레이션의 위치(ex 02.PI_MODEL::02.프로세스서비스컴포넌트::02.고객관리::01.개인고객::01.개인고객관리PSI::01.개인고객관리PSI::개인고객조회), 입력 파라미터(ex 개인고객조회 입력DTO), 리턴 파라미터(ex 개인고객DTO), 설명 등이 포함될 수 있다. First, when the operation logic designer is executed, basic information (box 1 in FIG. 5(a)) about the operation (ex. personal customer inquiry) corresponding to the logic design target can be provided. Referring to Figure 5, the basic information includes the location of the operation (ex 02.PI_MODEL::02. Process Service Component::02. Customer Management::01. Personal Customer::01. Personal Customer Management PSI::01. Personal Customer management PSI::Personal customer inquiry), input parameters (ex. Personal customer inquiry input DTO), return parameters (ex. Personal customer DTO), description, etc. may be included.

상기 입력/리턴 파라미터의 경우, 우측 조회 버튼을 클릭함으로써 속성, 타입 등도 확인할 수 있다. 예를 들어, 입력 파라미터의 개인고객조회입력 DTO가 선택된 경우, 고객번호(속성)와 String(타입), 주민등록번호(속성)와 String(타입) 등이 표시될 수 있는 것이다.For the above input/return parameters, you can also check properties, types, etc. by clicking the search button on the right. For example, when the personal customer inquiry input DTO of the input parameter is selected, customer number (attribute) and String (type), resident registration number (attribute) and String (type), etc. may be displayed.

또한, 도 5(a)의 2번 박스는 오퍼레이션의 세부 로직을 작성할 수 있는 편집 창으로 로직 유형별 정보 항목들을 제공하며, 3번 박스는 편집 창에서의 마우스 우측 클릭 메뉴로, 편집 창에서 작성할 수 있는 로직들을 생성하는 메뉴와 다양한 편집 메뉴를 제공하고 있다. 또한, 4번 박스는 편집창에서 사용되는 여러가지 추가 기능을 나타내고 있다. In addition, box 2 in Figure 5(a) is an editing window where detailed logic of the operation can be written and provides information items for each logic type, and box 3 is a right-click menu in the editing window, which can be written in the editing window. It provides a menu for creating existing logic and various editing menus. Additionally, box number 4 shows various additional functions used in the edit window.

도 5(b)를 참조할 때, 로직 디자인 대상에 해당하는 오퍼레이션(ex 개인고객조회)의 기존 UML 상호작용 정보에는 복수의 로직 유형(ex Call, Comment, Loop 등)이 포함되어 있고, 복수의 로직 유형 각각은 실행 조건, 호출 클래스, 호출 오퍼레이션, 입력 타입, 리턴 타입, 설계 스펙 중 적어도 하나 이상의 설계 요소와 매칭되는 것을 확인할 수 있다. 설명의 편의상 실행 조건, 호출 클래스, 호출 오퍼레이션, 입력 타입, 리턴 타입, 설계 스펙을 설계 요소라고 설정하였다.Referring to Figure 5(b), the existing UML interaction information of the operation (ex. personal customer inquiry) corresponding to the logic design includes multiple logic types (ex. Call, Comment, Loop, etc.), and multiple logic types (ex. Call, Comment, Loop, etc.) are included. It can be confirmed that each logic type matches at least one design element among execution conditions, call class, call operation, input type, return type, and design specification. For convenience of explanation, execution conditions, call class, call operation, input type, return type, and design specifications were set as design elements.

또한, 프로세서(120)는, 상기 복수의 로직 유형(ex Call, Call, Comment, Loop, Comment, Call) 각각을 일 방향(ex 세로 행)으로 순차적으로 나열하고, 일 방향으로 나열된 상기 복수의 로직 유형 각각을 기준으로 매칭되는 적어도 하나 이상의 설계 요소(ex 실행 조건, 호출클래스, 호출 오퍼레이션, 입력 타입, 리턴 타입, 설계 스펙)를 다른 방향(ex 가로 열)으로 나열하면서, 테이블 형태로 상기 세부 로직을 디스플레이할 수 있다.In addition, the processor 120 sequentially arranges each of the plurality of logic types (ex. Call, Call, Comment, Loop, Comment, Call) in one direction (ex. vertical row), and stores the plurality of logic types arranged in one direction. Listing at least one design element (ex execution condition, call class, call operation, input type, return type, design specification) matching based on each type in different directions (ex horizontal column), the detailed logic is presented in table form. can be displayed.

여기서, 로직 유형은 오퍼레이션에 포함된 일종의 명령어에 해당하고, 호출클래스는 호출되는 객체로서 일종의 lifeline에 해당하며, 호출오퍼레이션은 각 객체간에 오고가는 message에 해당할 수 있다. 또한, 상기 오고가는 message의 경우 입력/리턴 타입에 따라 int, String, DTO 등에 해당할 수 있다.Here, the logic type corresponds to a kind of command included in the operation, the call class is a called object and corresponds to a kind of lifeline, and the call operation may correspond to a message exchanged between each object. Additionally, in the case of the above exchanged message, it may correspond to int, String, DTO, etc. depending on the input/return type.

도 5(b)를 참조하여 예를 들면, 1행에서는 우편번호관리 CIS(호출클래스)에 대해 입력타입 String, 리턴타입 우편번호DTO에 해당하는 우편번호조회 message를 전달하는 call 로직 유형이 표시되고, 3행에서는 "아래 항목에 대한 입력값 검증을 수행한다. 고객번호, 고객명, 주민번호"라는 주석이 표시되는 Comment 로직 유형이 표시될 수 있다.Referring to Figure 5(b), for example, in line 1, the call logic type that delivers the zip code inquiry message corresponding to the input type String and return type zip code DTO is displayed for the zip code management CIS (call class). , In line 3, a Comment logic type can be displayed that displays the comment “Perform input value verification for the items below. Customer number, customer name, resident registration number.”

또한, 도 5(a)의 3번 박스에서 표시된 바와 같이, 편집 창에서 작성가능한 다양한 로직 유형이 존재하며, 로직 유형 각각에 대해서는 아래 도 6 내지 도 14와 함께 다시 살펴보도록 하겠다.In addition, as indicated in box 3 of Figure 5(a), there are various logic types that can be created in the edit window, and each logic type will be reviewed with Figures 6 to 14 below.

도 6은 본 발명의 일 실시예에 따라 로직 유형 Comment를 추가한 모습을 나타내는 도면이다. Figure 6 is a diagram showing the addition of the logic type Comment according to an embodiment of the present invention.

우선, 프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Comment를 추가하도록 할 수 있다.First, the processor 120 allows the user to select the location to be created (an empty column of the edit window or a sub-Body statement of a control statement) in the edit window (box 2 in FIG. 5(a)) and add a Comment. there is.

상기 Comment가 선택되는 경우, 프로세서(120)는, 도 6(a)와 같은 Comment 로직 생성 창을 생성하고, 생성된 Comment 로직 생성 창에 알고리즘 등의 설계 스펙(ex 아래 항목에 대한 입력값 검증을 수행한다. - 고객번호, - 고객명, -주민번호)을 사용자로 하여금 작성하도록 할 수 있다.When the Comment is selected, the processor 120 creates a Comment logic creation window as shown in FIG. 6(a), and design specifications such as algorithms (ex. input value verification for the items below) are entered in the generated Comment logic creation window. You can have the user write the information (-customer number, -customer name, -residential number).

또한, 프로세서(120)는, 작성된 설계 스펙에 기초하여 편집 창에 세부 로직으로 상기 설계 스펙 내용을 추가할 수 있다. 이때, 물론 Comment가 추가되도록 선택된 위치(가로 열)에 상기 로직 유형 Comment 및 설계 스펙 내용이 추가될 수 있을 것이다(도 6(b) 참조). 상기 Comment 열이 선택(더블 클릭)되는 경우, 수정가능한 Comment 창이 생성될 수 있다.Additionally, the processor 120 may add the design specification contents as detailed logic to the edit window based on the created design specification. At this time, of course, the logic type Comment and design specification contents can be added to the position (horizontal column) where the Comment is selected (see FIG. 6(b)). When the Comment column is selected (double-clicked), an editable Comment window may be created.

도 7은 본 발명의 일 실시예에 따라 로직 유형 Call을 추가한 모습을 나타내는 도면이다. Figure 7 is a diagram showing the addition of logic type Call according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Call을 추가하도록 할 수 있다.The processor 120 allows the user to add a call by selecting the location to be created (an empty column of the edit window or a lower body statement of a control statement) in the edit window (box 2 in FIG. 5(a)).

상기 Call이 선택되는 경우, 프로세서(120)는, 도 7(a)와 같은 Call 로직 생성 창을 생성하고, 생성된 Call 로직 생성 창에 호출 오퍼레이션, 입력 파라미터, 리턴 파라미터, 설계 스펙 등을 사용자로 하여금 작성하도록 할 수 있다.When the call is selected, the processor 120 creates a call logic creation window as shown in FIG. 7(a), and the user enters call operations, input parameters, return parameters, design specifications, etc. in the created call logic creation window. You can have them write it.

구체적으로, 프로세서(120)는, 사용자로 하여금 호출 오퍼레이션 항목의 우측 '찾기' 버튼을 통해 호출 오퍼레이션을 선택하도록 할 수 있고(도 7(a) 참조), 추가 대상 오퍼레이션이 없는 경우 인터페이스 또는 클래스를 선택하여 마우스 우측을 클릭하도록 하여 오퍼레이션 추가 (생성) 메뉴를 제공할 수도 있다(도 7(b) 참조).Specifically, the processor 120 can allow the user to select a call operation through the 'Find' button on the right side of the call operation item (see FIG. 7(a)), and if there is no target operation to add, an interface or class can be selected. You can also provide an operation add (create) menu by selecting and right-clicking the mouse (see Figure 7(b)).

상기 오퍼레이션이 추가 생성이 요청된 경우, 프로세서(120)는, 오퍼레이션 생성 창에서 사용자로 하여금 오퍼레이션 명, 입력/리턴 파라미터 명 그리고 타입 정보 등을 입력하도록 할 수 있다. 여기서, 상기 타입 정보가 원시 타입(ex string, int, boolean 등)인 경우 콤보박스에서 선택가능하고, DTO 클래스(ex 개인고객조회 입력 DTO: 고객번호, 고객명, 생년월일 등)인 경우 DTO 선택 버튼을 클릭하여 타입을 선택하도록 할 수 있다(도 7(c) 참조).If additional creation of the operation is requested, the processor 120 may allow the user to input the operation name, input/return parameter name, and type information in the operation creation window. Here, if the type information is a raw type (ex string, int, boolean, etc.), it can be selected from the combo box, and if it is a DTO class (ex. personal customer inquiry input DTO: customer number, customer name, date of birth, etc.), there is a DTO selection button. You can click to select the type (see Figure 7(c)).

참고로, 상기 DTO는 데이터 교환 용도로 사용되는 일종의 클래스로서, id, password, name 등의 정보를 속성으로 가질 수 있다. DTO 클래스는 상기 특정 속성 정보를 가지고 있는 하나의 집합체 개념이기 때문에 개별 정보 속성이 아니라 DTO 클래스를 타입으로 선택하면 상기 DTO가 가진 모든 속성을 선택하는 것과 동일할 수 있다.For reference, the DTO is a type of class used for data exchange and may have information such as id, password, and name as properties. Since the DTO class is a collective concept that has the specific attribute information, selecting the DTO class as the type rather than the individual information attribute may be the same as selecting all the attributes of the DTO.

또한, 도 7(c)에서 볼 수 있듯이, 프로세서(120)는, 생성되는 오퍼레이션과 관련하여 private 여부를 선택하도록 하여 오퍼레이션의 가시성이 private인지, public인지 여부를 결정할 수 있다. 예를 들어, 가시성이 private인 경우 해당 오퍼레이션이 특정 클래스 내에서만 이용될 수 있고, public인 경우 해당 오퍼레이션이 타 클래스에서도 접근가능할 수 있다.In addition, as can be seen in FIG. 7(c), the processor 120 can determine whether the visibility of the operation is private or public by selecting whether or not it is private in relation to the operation being created. For example, if visibility is private, the operation can be used only within a specific class, and if visibility is public, the operation can be accessed from other classes as well.

또한, 프로세서(120)는, 생성되는 오퍼레이션과 관련하여 멀티 여부를 선택하도록 하여 입력/리턴 파라미터의 다수성이 멀티인지 여부를 결정할 수 있다. 예를 들어, 멀티 여부가 체크된 경우, 해당 파라미터는 1개가 아니라 배열 또는 리스트 등으로 복수개의 형태로 생성될 수 있는 것이다.Additionally, the processor 120 may determine whether the plurality of input/return parameters is multi by selecting whether or not multi is related to the generated operation. For example, if multi is checked, the corresponding parameter can be created in multiple forms, such as an array or list, rather than just one.

또한, 프로세서(120)는, 생성되는 오퍼레이션과 관련하여 한글명 메타 표준 용어 체크 여부를 선택하도록 하여, 작성된 오퍼레이션 한글명, 입력/리턴 파라미터의 한글명 등이 메타 표준을 준수하고 있는지 여부를 판단할 수 있다. 즉, 상기 옵션이 체크된 경우, 프로세서(120)는, 해당 오퍼레이션과 파라미터 한글명이 표준을 준수하고 있는지 여부를 자동으로 체크하여 결과를 제공할 수 있다.In addition, the processor 120 can determine whether the Korean name of the created operation, the Korean name of the input/return parameter, etc. complies with the meta standard by selecting whether to check the meta standard terminology for the Korean name in relation to the generated operation. That is, when the above option is checked, the processor 120 can automatically check whether the corresponding operation and parameter Korean names comply with the standard and provide a result.

다음으로, 프로세서(120)는, 사용자로 하여금 호출 오퍼레이션을 선택한 후 Call 로직 생성 창의 하단 텍스트 창에 오퍼레이션 호출 관련 스펙을 작성하도록 할 수 있다.Next, the processor 120 may allow the user to select a call operation and then write specifications related to the operation call in the lower text window of the call logic creation window.

그 결과, 프로세서(120)는, 작성된 Call 로직 생성 창에 기초하여 편집 창에 세부 로직으로 호출 클래스, 호출 오퍼레이션, 입력타입, 리턴타입, 설계 스펙 등을 추가할 수 있다. 이때, 물론 처음 추가하고자 선택된 위치(가로 열)에 상기 로직 유형 Call 및 설계 요소 등(ex 호출 클래스, 호출 오퍼레이션, 입력타입, 리턴타입, 설계 스펙 등)이 추가될 수 있을 것이다(도 7(d) 참조). 또한, 상기 Call 열이 선택(더블 클릭)되는 경우, 수정가능한 Call 창이 생성될 수 있다.As a result, the processor 120 can add a call class, call operation, input type, return type, design specification, etc. as detailed logic to the edit window based on the created call logic creation window. At this time, of course, the logic type Call and design elements (ex. call class, call operation, input type, return type, design specification, etc.) can be added to the position (horizontal column) selected to be added first (see Figure 7(d) ) reference). Additionally, when the Call column is selected (double-clicked), an editable Call window can be created.

도 8은 본 발명의 일 실시예에 따라 로직 유형 Exception을 추가한 모습을 나타내는 도면이다. Figure 8 is a diagram showing the addition of logic type Exception according to an embodiment of the present invention.

우선, 프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Exception을 추가하도록 할 수 있다.First, the processor 120 allows the user to add an exception by selecting the location to be created (an empty column of the edit window or a sub-body statement of a control statement) in the edit window (box 2 in FIG. 5(a)). there is.

상기 Exception이 선택되는 경우, 프로세서(120)는, 도 8(a)와 같은 Exception 창을 생성하고, 생성된 Exception 로직 생성 창에 예외 발생조건, 예외코드, 예외메시지 등을 사용자로 하여금 작성하도록 할 수 있다.When the Exception is selected, the processor 120 creates an Exception window as shown in FIG. 8(a) and allows the user to write exception occurrence conditions, exception code, exception message, etc. in the generated Exception logic creation window. You can.

또한, 프로세서(120)는, 작성된 예외 발생조건(실행조건), 예외코드, 예외메시지 등에 기초하여 편집 창에 세부 로직으로 상기 내용을 추가할 수 있다. 이때, 물론 Exception을 추가하고자 선택된 위치(가로 열)에 상기 로직 유형 Exception 및 설계 요소 내용(실행조건, 설계 스펙)이 추가될 수 있을 것이다(도 8(b) 참조). 상기 Exception 열이 선택(더블 클릭)되는 경우, 수정가능한 Exception 창이 생성될 수 있다.Additionally, the processor 120 may add the above contents as detailed logic to the edit window based on the created exception occurrence condition (execution condition), exception code, exception message, etc. At this time, of course, the logic type exception and design element contents (execution conditions, design specifications) can be added to the position (horizontal column) selected to add the exception (see Figure 8(b)). When the Exception column is selected (double-clicked), an editable Exception window may be created.

위와 같이, 도 6 내지 도 8에서는 주석 형태로 오퍼레이션의 다양한 종류의 스펙(ex 입력값 검증, 처리 알고리즘 기술, 출력 값 조립 등)을 작성할 수 있는 Comment 로직 유형, 타 클래스의 오퍼레이션 호출 정보를 작성하는데 사용되며 재귀호출도 적용가능한 Call 로직 유형, 업무 예외 발생시 예외 처리를 위한 정보를 작성하는데 사용되는 Exception 로직 유형 등을 설명하였다.As above, in Figures 6 to 8, a Comment logic type that can write various types of specifications of operations (ex. input value verification, processing algorithm technology, output value assembly, etc.) in the form of comments, and operation call information of other classes are created. The call logic type used and to which recursive calls can also be applied, and the exception logic type used to create information for exception handling when a business exception occurs, are explained.

위 3가지 로직 유형 외에도 도 9 내지 도 12를 참조하면, 본 발명의 프로세서(120)는, 반복 제어문 (예: For, While 등)을 작성하는데 사용하는 Loop 제어문 로직 유형, 선택 조건문 (If 구문이며 else 가 존재하지 않음)을 작성하는데 사용하는 Loop 제어문 로직 유형, 대체 조건문 (If ~ else if ~ else 형태)을 작성하는데 사용하는 Alt 제어문 로직 유형, 예외 처리를 위한 TryCatch 제어문 로직 유형 등을 추가로 제공할 수 있다.In addition to the three logic types above, referring to FIGS. 9 to 12, the processor 120 of the present invention includes a Loop control statement logic type used to create repetitive control statements (e.g., For, While, etc.), a selection conditional statement (If statement, and Additionally provides the Loop control statement logic type used to write (else does not exist), the Alt control statement logic type used to write alternative conditional statements (If ~ else if ~ else form), and the TryCatch control statement logic type for exception handling. can do.

도 9는 본 발명의 일 실시예에 따라 로직 유형 Loop을 추가한 모습을 나타내는 도면이다. Figure 9 is a diagram showing the addition of logic type Loop according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Loop를 추가하도록 할 수 있다.The processor 120 allows the user to add a Loop by selecting the location to be created (an empty column of the edit window or a lower body statement of a control statement) in the edit window (box 2 in FIG. 5(a)).

상기 Loop가 선택되는 경우, 프로세서(120)는, 도 9(a)와 같은 Loop 생성 창을 생성하고, 생성된 Loop 로직 생성 창에 반복 조건, 관련 스펙 등을 사용자로 하여금 작성하도록 할 수 있다.When the Loop is selected, the processor 120 creates a Loop creation window as shown in FIG. 9(a) and allows the user to write repetition conditions, related specifications, etc. in the created Loop logic creation window.

또한, 프로세서(120)는, 작성된 반복 조건(실행조건), 관련 스펙 등에 기초하여 편집 창에 세부 로직으로 상기 내용을 추가할 수 있다. 참고로, 상기 편집 창에 상기 로직 유형 Loop가 추가될 때, Loop 로직 유형의 하위에 하나의 Body(실행조건 포함)가 같이 생성되고, 상기 Body 하위에 다른 로직 유형들이 추후 추가로 내포될 수 있다. 작성된 반복 조건(실행조건)은 Body열에 생성되고, 작성된 관련 스펙은 Loop열에 생성될 수 있다(도 9(b) 참조). 상기 Loop 열이 선택(더블 클릭)되는 경우, 수정가능한 Loop 로직 생성 창이 생성될 수 있다.Additionally, the processor 120 may add the above contents as detailed logic to the edit window based on the created repetition conditions (execution conditions), related specifications, etc. For reference, when the logic type Loop is added to the edit window, a body (including execution conditions) is created under the Loop logic type, and other logic types can be additionally included under the Body later. . The written repetition condition (execution condition) can be created in the Body column, and the written related specifications can be created in the Loop column (see Figure 9(b)). When the Loop column is selected (double-clicked), a modifiable Loop logic creation window can be created.

도 10은 본 발명의 일 실시예에 따라 로직 유형 Opt을 추가한 모습을 나타내는 도면이다. Figure 10 is a diagram showing the addition of logic type Opt according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Opt를 추가하도록 할 수 있다.The processor 120 may allow the user to select the location to be created (an empty column of the edit window or a lower body statement of a control statement) in the edit window (box 2 in FIG. 5(a)) and add Opt.

상기 Opt가 선택되는 경우, 프로세서(120)는, 도 10(a)와 같은 Opt 로직 생성 창을 생성하고, 생성된 Opt 로직 생성 창에 수행조건, 관련 스펙 등을 사용자로 하여금 작성하도록 할 수 있다.When Opt is selected, the processor 120 creates an Opt logic creation window as shown in FIG. 10(a) and allows the user to write performance conditions, related specifications, etc. in the generated Opt logic creation window. .

또한, 프로세서(120)는, 작성된 수행조건(실행조건), 관련 스펙 등에 기초하여 편집 창에 세부 로직으로 상기 내용을 추가할 수 있다. 참고로, 상기 편집 창에 상기 로직 유형 Opt가 추가될 때, Opt 로직 유형의 하위에 하나의 Body(실행조건 포함)가 같이 생성되고, 상기 Body 하위에 다른 로직 유형들이 추후 추가로 내포될 수 있다. 작성된 관련 스펙은 Opt열에 생성될 수 있다(도 10(b) 참조). 상기 Opt 열이 선택(더블 클릭)되는 경우, 수정가능한 Opt 로직 생성 창이 생성될 수 있다.Additionally, the processor 120 may add the above contents as detailed logic to the edit window based on the created execution conditions (execution conditions), related specifications, etc. For reference, when the logic type Opt is added to the edit window, a body (including execution conditions) is created under the Opt logic type, and other logic types can be additionally contained under the body later. . The written related specifications can be created in the Opt column (see Figure 10(b)). When the Opt column is selected (double-clicked), a modifiable Opt logic creation window may be created.

도 11은 본 발명의 일 실시예에 따라 로직 유형 Alt을 추가한 모습을 나타내는 도면이다. Figure 11 is a diagram showing the addition of logic type Alt according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 Alt를 추가하도록 할 수 있다.The processor 120 may allow the user to select the position to be created (an empty column of the edit window or a lower body statement of a control statement) in the edit window (box 2 in FIG. 5(a)) and add Alt.

상기 Alt가 선택되는 경우, 프로세서(120)는, 도 11(a)와 같은 Alt 로직 생성 창을 생성하고, 생성된 Alt 로직 생성 창에서 1번 항목에는 Alt의 Body를 추가하고, 2번 항목에는 관련 스펙을 사용자로 하여금 작성하도록 할 수 있다. 참고로, 상기 1번 항목의 Body는 추가 버튼을 누르면 하위에 계속 추가되고, 수행조건이 입력됨으로써 논리적인 조건 문이 작성될 수 있다.When the Alt is selected, the processor 120 creates an Alt logic creation window as shown in FIG. 11(a), and adds the Body of Alt to item 1 in the created Alt logic creation window, and adds the Body of Alt to item 2. You can have users write related specifications. For reference, the Body of item 1 above is continuously added to the lower level when the Add button is pressed, and a logical condition statement can be created by entering the execution conditions.

또한, 프로세서(120)는, 작성된 Body 구문 및 수행조건(실행조건)을 편집 창에 추가할 수 있다. 참고로, 상기 편집 창에 상기 로직 유형 Alt가 추가될 때, Alt 로직 유형의 하위에 적어도 하나의 Body(실행조건 포함)가 같이 생성되고, 상기 Body 하위에 다른 로직 유형들이 추후 추가로 내포될 수 있다. 작성된 수행조건(실행조건)은 Body 열에 생성될 수 있다(도 11(b) 참조). 상기 Alt 열이 선택(더블 클릭)되는 경우, 수정가능한 Alt 로직 생성 창이 생성될 수 있다.Additionally, the processor 120 can add the created body statement and execution conditions (execution conditions) to the edit window. For reference, when the logic type Alt is added to the edit window, at least one Body (including execution conditions) is created under the Alt logic type, and other logic types can be additionally nested under the Body later. there is. The written execution conditions (execution conditions) can be created in the Body column (see Figure 11(b)). When the Alt column is selected (double-clicked), a modifiable Alt logic creation window may be created.

도 12는 본 발명의 일 실시예에 따라 로직 유형 TryCatch를 추가한 모습을 나타내는 도면이다. Figure 12 is a diagram showing the addition of the logic type TryCatch according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 TryCatch를 추가하도록 할 수 있다.The processor 120 may allow the user to add a TryCatch by selecting the location to be created (an empty column of the edit window or a sub-Body statement of a control statement) in the edit window (box 2 in FIG. 5(a)).

상기 TryCatch가 선택되는 경우, 프로세서(120)는, 도 12(a)와 같은 TryCatch 로직 생성 창을 생성하고, 생성된 TryCatch 로직 생성 창에서 1번 항목에는 Body를 추가하고, 2번 항목에는 관련 스펙을 사용자로 하여금 작성하도록 할 수 있다. 참고로, 상기 1번 항목의 Body는 추가 버튼을 누르면 하위에 계속 추가되고, 수행조건이 입력됨으로써 논리적인 조건 문이 작성될 수 있다.When the TryCatch is selected, the processor 120 creates a TryCatch logic creation window as shown in FIG. 12(a), adds Body to item 1 in the created TryCatch logic creation window, and adds related specifications to item 2. You can have the user write it. For reference, the Body of item 1 above is continuously added to the lower level when the Add button is pressed, and a logical condition statement can be created by entering the execution conditions.

또한, 프로세서(120)는, 작성된 TryCatch 구문, Body 구문 및 수행조건(실행조건)을 편집 창에 추가할 수 있다. 참고로, 상기 편집 창에 상기 로직 유형 TryCatch가 추가될 때, TryCatch 로직 유형의 하위에 적어도 하나의 Body(실행조건 포함)가 같이 생성되고, 상기 Body 하위에 다른 로직 유형들이 추후 추가로 내포될 수 있다. Additionally, the processor 120 can add the created TryCatch statement, body statement, and execution conditions (execution conditions) to the edit window. For reference, when the logic type TryCatch is added to the edit window, at least one Body (including execution conditions) is created under the TryCatch logic type, and other logic types can be additionally nested under the Body later. there is.

작성된 설계 스펙은 TryCatch 열에 생성되고, 작성된 수행조건(실행조건)은 Body 열에 생성될 수 있다(도 12(b) 참조). 상기 TryCatch 열이 선택(더블 클릭)되는 경우, 수정가능한 TryCatch 로직 생성 창이 생성될 수 있다.The written design specifications can be created in the TryCatch column, and the written execution conditions (execution conditions) can be created in the Body column (see FIG. 12(b)). When the TryCatch column is selected (double-clicked), a modifiable TryCatch logic creation window may be created.

또한, 프로세서(120)는, ChatGpt와 같이 생성형 AI와 연동하여 자연어 기반의 설계 스펙을 작성하고, 소스코드 생성시 생성형 AI를 이용하여 소스코드의 일부 또는 전부를 생성하는 Chatgpt 로직 유형도 제공할 수 있으며, 이와 관련해서는 도 13, 도 14와 함께 살펴보겠다.In addition, the processor 120 creates natural language-based design specifications in conjunction with generative AI, such as ChatGpt, and provides a Chatgpt logic type that generates part or all of the source code using generative AI when generating source code. This can be done, and we will look at this with Figures 13 and 14.

도 13은 본 발명의 일 실시예에 따라 ChatGPT Prompt 기능에 기초하여 소스코드가 생성되기까지의 과정을 나타내는 도면이다.Figure 13 is a diagram showing the process of generating source code based on the ChatGPT Prompt function according to an embodiment of the present invention.

상기 ChatGPT Prompt 기능은 자연어로 설계 스펙을 작성한 후 ChatGPT로 대표되는 생성형 AI 와 연동하여 자연어 설계 스펙을 특정 언어의 소스코드로 자동 생성하는 기능에 해당할 수 있다.The ChatGPT Prompt function may correspond to a function that automatically generates the natural language design specification as source code in a specific language by linking it with generative AI represented by ChatGPT after writing the design specification in natural language.

본 발명의 프로세서(120)는, 사용자로 하여금 편집 창(도 5(a)의 2번 박스)에서 생성하고자 하는 위치(편집 창의 빈 열 또는 제어문의 하위 Body구문)를 선택하여 ChatGPT Prompt를 추가하도록 할 수 있다.The processor 120 of the present invention allows the user to add a ChatGPT Prompt by selecting the location (empty column of the edit window or sub-Body statement of the control statement) to be created in the edit window (box 2 in FIG. 5(a)). can do.

상기 ChatGPT Prompt가 선택된 경우, 프로세서(120)는, 자연어 스펙에 대한 정보를 획득하고, 상기 자연어 스펙에 기초하여 1차 소스코드를 생성하며, 상기 1차 소스코드를 ChatGPT를 통해 업데이트하여 2차 소스코드를 생성할 수 있다.When the ChatGPT Prompt is selected, the processor 120 obtains information about the natural language specification, generates a primary source code based on the natural language specification, and updates the primary source code through ChatGPT to create a secondary source code. Code can be generated.

구체적으로, 도 13에서 볼 수 있듯이, 획득한 자연어 스펙(1번 항목의 자연어 Prompt 정보 - ex "현재 매소드의 입력 객체의 속성 중 ~~ 소스코드를 추가하시오")을 획득한 후, 프로세서(120)는, 소스 생성기를 통해 1차 소스코드 내 특정 태그(@ChatGPTPromptSpec)를 포함한 주석(2번 항목)을 생성하고, 상기 1차 소스코드를 ChatGPT에 전송할 수 있다.Specifically, as can be seen in Figure 13, after obtaining the acquired natural language specifications (natural language prompt information of item 1 - ex "Add ~~ source code among the properties of the input object of the current method"), the processor (120 ) can create an annotation (item 2) including a specific tag (@ChatGPTPromptSpec) in the primary source code through the source generator, and transmit the primary source code to ChatGPT.

다음으로, ChatGPT는 소스코드 내 태그(@ChatGPTPromptSpec)를 포함한 주석으로부터 Prompt 정보를 해석하고, 프로세서(120)는, 상기 ChatGPT로부터 변환된 2차 소스코드(3번 항목)를 획득하여, 이를 검증한 후 최종 소스코드를 생성할 수 있다.Next, ChatGPT interprets the prompt information from the annotation including the tag (@ChatGPTPromptSpec) in the source code, and the processor 120 obtains the secondary source code (item 3) converted from the ChatGPT and verifies it. Afterwards, the final source code can be generated.

도 14는 본 발명의 일 실시예에 따라 로직 유형 ChatGPT Prompt를 추가한 모습을 나타내는 도면이다. Figure 14 is a diagram showing the addition of the logic type ChatGPT Prompt according to an embodiment of the present invention.

ChatGPT Prompt가 실행된 경우, 프로세서(120)는, 도 14(a)와 같은 ChatGPT Prompt 로직 생성 창을 생성하고, 사용자로 하여금 Prompt 문장 작성 영역(상단 박스 영역)에 직접 타이핑하여 Prompt를 작성하거나, 사전에 정의된 표준 템플릿을 추가하도록 할 수 있다.When the ChatGPT Prompt is executed, the processor 120 creates a ChatGPT Prompt logic creation window as shown in FIG. 14(a) and allows the user to write a prompt by typing directly in the prompt sentence writing area (top box area), or You can add predefined standard templates.

가령, 표준 템플릿이 선택된 경우, 프로세서(120)는, 사전 정의된 복수의 표준 Prompt 목록을 제공하고, 이 중에서 사용자가 선택한 Prompt 문장을 표시할 수 있다.For example, when a standard template is selected, the processor 120 may provide a list of a plurality of predefined standard prompts and display a prompt sentence selected by the user among them.

다음으로, 프로세서(120)는, 작성된 Prompt 문장이 원하는 소스코드를 생성하는지 확인하기 위해 사용자로 하여금 'ChatGPT 생성 코드 미리보기' 버튼을 클릭하도록 하고, 상기 Prompt 문장에 기초하여 실시간으로 ChatGPT에서 작성한 소스코드(2차 소스코드)를 하단 박스 영역에 표시할 수 있다.Next, the processor 120 causes the user to click the 'ChatGPT generated code preview' button to check whether the created prompt sentence generates the desired source code, and the source code created by ChatGPT in real time based on the prompt sentence. Code (secondary source code) can be displayed in the bottom box area.

프로세서(120)는 사용자로 하여금 상기 작성된 2차 소스코드를 확인하도록 할 수 있고, 사용자로부터 확인 입력을 수신하는 경우, 상기 편집 창에 상기 로직 유형 ChatGPT 및 설계 스펙을 추가할 수 있다. 상기 설계 스펙에는 사용자가 작성(또는 표준 템플릿)한 Prompt 문장이 표시될 수 있다(도 14(b) 참조). 상기 ChatGPT 열이 선택(더블 클릭)되는 경우, 수정가능한 ChatGPT 로직 생성 창이 생성될 수 있다.The processor 120 can allow the user to check the created secondary source code, and when receiving confirmation input from the user, can add the logic type ChatGPT and design specifications to the edit window. In the design specifications, a prompt sentence written by the user (or a standard template) may be displayed (see FIG. 14(b)). When the ChatGPT column is selected (double-clicked), a modifiable ChatGPT logic creation window may be created.

한편, 컴퓨팅 장치(100)의 프로세서(120)는, 상기 로직 유형들의 생성 외에 로직을 편집할 수 있는 메뉴(수정, 삭제, 취소, 복사하기, 붙여넣기 등) 역시 제공할 수 있다.Meanwhile, the processor 120 of the computing device 100 may also provide menus for editing logic (edit, delete, cancel, copy, paste, etc.) in addition to creating the above logic types.

도 15는 본 발명의 일 실시예에 따라 편집창에서 수행가능한 부가기능을 나타내는 도면이다.Figure 15 is a diagram showing additional functions that can be performed in the editing window according to an embodiment of the present invention.

프로세서(120)는, 사용자로 하여금 특정 로직 유형(ex Call)을 선택한 후, 상기 특정 로직 유형의 상단 위치에 있는 로직 유형 또는 상기 특정 로직 유형의 하단 위치에 있는 로직 유형과 나열 순서를 바꾸도록 할 수 있다. 도 15(a)에서 볼 수 있듯이, 선택된 특정 로직 유형(Call)을 편집 창 하단의 올리기/내리기 버튼을 통해 위치 순서를 바꾸도록 할 수 있는 것이다.The processor 120 allows the user to select a specific logic type (ex Call) and then change the listing order with the logic type at the top of the specific logic type or the logic type at the bottom of the specific logic type. You can. As can be seen in Figure 15(a), the position order of the selected specific logic type (Call) can be changed using the up/down buttons at the bottom of the edit window.

또한, 프로세서(120)는, 사용자로 하여금 드래그 앤 드롭 방식으로 상기 특정 로직 유형(Comment)을 원하는 순서에 위치시키도록 할 수 있다. 도 15(b)에서 볼 수 있듯이, 어느 하나의 로직 유형을 선택한 후 원하는 위치로 드래그 앤 드랍을 수행할 수 있는 것이다.Additionally, the processor 120 can allow the user to place the specific logic type (Comment) in a desired order using a drag and drop method. As can be seen in Figure 15(b), you can select any one logic type and then drag and drop it to the desired location.

또한, 프로세서(120)는, 사용자로 하여금 특정 로직 유형의 트리 구조를 확장 또는 접도록 할 수 있다. 도 15(c)를 참조하면, 편집 창 하단의 모두펴기/접기 버튼을 통해 편집 창에 포함된 로직 유형들의 트리 구조 모두를 확장하거나 접을 수도 있다. Additionally, the processor 120 may allow the user to expand or collapse the tree structure of a specific logic type. Referring to FIG. 15(c), you can expand or collapse all tree structures of logic types included in the edit window through the expand/collapse all button at the bottom of the edit window.

도 16은 본 발명의 일 실시예에 따른 오퍼레이션 로직, 엑셀 출력 및 시퀀스 다이어그램을 나타내는 도면이다.Figure 16 is a diagram showing operation logic, Excel output, and sequence diagram according to an embodiment of the present invention.

도 16(a)에서 볼 수 있듯이, 프로세서(120)는 편집 창에 포함된 세부 로직 내용들을 엑셀로 출력가능한 버튼을 제공하고, 도 16(b)와 같은 엑셀 파일을 결과물로서 출력할 수 있다. 상기 출력 결과물은 엑셀 파일에 한정되는 것은 아닐 것이다.As can be seen in FIG. 16(a), the processor 120 provides a button to output detailed logic contents included in the editing window to Excel, and outputs an Excel file as shown in FIG. 16(b) as a result. The output result will not be limited to Excel files.

또한, 컴퓨팅 장치(100)의 프로세서(120)는, 상기 세부 로직을 기초로 생성된 상기 신규 UML 상호작용 정보에 대응하도록 그래픽적으로 표현된 시퀀스 다이어그램을 생성할 수 있다(도 16(c) 참조). Additionally, the processor 120 of the computing device 100 may generate a graphically expressed sequence diagram to correspond to the new UML interaction information generated based on the detailed logic (see FIG. 16(c) ).

즉, 프로세서(120)는, 동일한 내용을 포함하면서 상호 호환가능한 도 16(a)(b)와 같은 테이블 형태(다이얼로그) 또는 도 16(c)와 같은 시퀀스 다이어그램으로 표시할 수도 있는 것이다.That is, the processor 120 may display the same content in a table form (dialog) as shown in FIG. 16(a)(b) or a sequence diagram as shown in FIG. 16(c), which are mutually compatible.

본 발명의 오퍼레이션 로직 디자이너로 작성된 정보는 시퀀스 다이어그램 편집기를 이용하여 작성된 정보와 동일한 UML 상호작용(Interaction) 정보로 상호 호환되기 때문에, 필요한 경우 시퀀스 다이어그램 편집기로 읽어서 전통적인 형태의 그래픽 다이어그램으로 조회가 가능할 수 있다. 이를 이용하면 다이어그램 작업 없이 쉽게 UML 기반의 다이어그램 산출물을 자동으로 생성할 수도 있다.Since the information written with the operation logic designer of the present invention is mutually compatible with the information written using the sequence diagram editor and the same UML interaction information, if necessary, it can be read with the sequence diagram editor and viewed as a traditional graphic diagram. there is. Using this, you can easily automatically create UML-based diagram output without any diagram work.

도 17은 본 발명의 일 실시예에 따라 편집 창에 표시되는 세부 로직을 나타내는 도면이다.Figure 17 is a diagram showing detailed logic displayed in the editing window according to an embodiment of the present invention.

도 17(a)에 표시되는 세부 로직은 도 1(a)에 표시되는 시퀀스 다이어그램과 매칭되고, 도 17(b)에 표시되는 세부 로직은 도 1(b)에 표시되는 시퀀스 다이어그램과 매칭될 수 있다.The detailed logic shown in FIG. 17(a) can be matched with the sequence diagram shown in FIG. 1(a), and the detailed logic shown in FIG. 17(b) can be matched with the sequence diagram shown in FIG. 1(b). there is.

상기 도 1과 도 17을 비교하면 알 수 있듯이, 기존의 시퀀스 다이어그램의 경우 그래픽으로 표시되며, 이에 따라 많은 내용이 포함되는 경우 사이즈가 커질 수밖에 없고, 한눈에 상기 내용들을 확인하기가 어렵다는 단점이 있었다. As can be seen by comparing Figures 1 and 17, the existing sequence diagram is displayed graphically, and as a result, when a lot of content is included, the size is bound to be large, and it has the disadvantage of being difficult to check the content at a glance. .

그러나, 본 발명의 오퍼레이션 로직 디자이너에 의한 결과물(세부 로직)들은 도면에서도 볼 수 있듯이, 보다 사용자(개발자) 입장에서 편집이 용이하도록 명료하게 표현될 수 있다.However, as can be seen in the drawing, the results (detailed logic) produced by the operation logic designer of the present invention can be expressed clearly to make editing easier from the user's (developer's) perspective.

도 18은 본 발명의 일 실시예에 따라 오퍼레이션 로직 디자이너에서 작성한 설계 스펙이 소스코드 자동 생성 시 자바 주석으로 추가된 모습을 나타내는 도면이다.Figure 18 is a diagram showing a design specification created in Operation Logic Designer added as a Java annotation when automatically generating source code according to an embodiment of the present invention.

도 18은 오퍼레이션 로직 디자이너로 편집된 각 로직 유형 별 설계 스펙의 내용이 소스코드 자동 생성 시 자바 주석으로 추가되는 것을 보여주고 있다. 즉, 프로세서(120)는 생성된 신규 UML 상호작용 정보에 대응하는 특정 로직 유형(ex Comment, Call, Exception, ChatGPT Prompt 등)마다 특정 소스코드 주석을 생성할 수 있는 것이다.Figure 18 shows that the contents of the design specifications for each logic type edited with the Operation Logic Designer are added as Java annotations when the source code is automatically generated. In other words, the processor 120 can generate a specific source code annotation for each specific logic type (ex Comment, Call, Exception, ChatGPT Prompt, etc.) corresponding to the generated new UML interaction information.

또한, 상기 특정 소스코드 주석은, 로직 유형을 구분할 수 있는 고유의 구분 문자(열), 특정 로직 유형에 매칭하는 설계 스펙의 내용을 포함할 수 있다.Additionally, the specific source code annotation may include a unique delimiter character (column) that can distinguish the logic type, and the contents of a design specification matching the specific logic type.

구체적으로, 상기 특정 소스코드 주석에는 각 로직 유형을 식별할 수 있는 구분 문자열(ex @LogicBlockComment, @LogicDesignSpec, @LogicBizException 등)이 추가되어 해당 로직이 오퍼레이션 로직 디자이너의 어떤 로직 유형(ex Comment)에 의해 추가되었는지 확인 가능하도록 하고 있다.Specifically, a distinguishing string (ex @LogicBlockComment, @LogicDesignSpec, @LogicBizException, etc.) that can identify each logic type is added to the specific source code comment, so that the corresponding logic can be determined by a certain logic type (ex Comment) of the operation logic designer. You can check whether it has been added.

예를 들어, 문자열 '@LogicBlockComment'은 Comment 로직 유형에 해당하고, 문자열 '@LogicBizException'은 Exception 로직 유형에 해당하며, 문자열 '@LogicDesignSpec'은 Loop 또는 call 로직 유형에 해당할 수 있다.For example, the string '@LogicBlockComment' may correspond to the Comment logic type, the string '@LogicBizException' may correspond to the Exception logic type, and the string '@LogicDesignSpec' may correspond to the Loop or call logic type.

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include hardware devices specially configured to store and perform program instructions, such as hard disks, ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific details such as specific components and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , a person skilled in the art to which the present invention pertains can make various modifications and variations from this description.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the patent claims described below as well as all modifications equivalent to or equivalent to the scope of the claims fall within the scope of the spirit of the present invention. They will say they do it.

100 : 컴퓨팅 장치
110 : 통신부
120 : 프로세서
130 : 데이터베이스
100: computing device
110: Department of Communications
120: processor
130: database

Claims (8)

오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법에 있어서,
(a) 컴퓨팅 장치가, 로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 기존 UML 상호작용 정보를 획득하는 단계;
(b) 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 컴퓨팅 장치는, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하는 단계;
(c) 상기 컴퓨팅 장치가, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하는 단계; 및
(d) 상기 컴퓨팅 장치가, 상기 생성된 신규 UML 상호작용 정보에 작성되어 있는 세부 로직의 정보를 주석 형태의 소스코드로 생성하는 단계;
를 포함하는 것을 특징으로 하는 방법.
In a method of designing a program based on Operation Logic Designer,
(a) a computing device acquiring existing UML interaction information based on an operation corresponding to a logic design target;
(b) when the operation logic designer is executed, the computing device displays basic information and detailed logic for the operation and edits the detailed logic based on a specific logic type selected from a plurality of logic types;
(c) generating and updating, by the computing device, new UML interaction information based on the edited detailed logic; and
(d) generating, by the computing device, detailed logic information written in the generated new UML interaction information as source code in the form of an annotation;
A method comprising:
제1항에 있어서,
상기 기존 UML 상호작용 정보에 상기 복수의 로직 유형이 포함되어 있고, 상기 복수의 로직 유형 각각은 실행 조건, 호출 클래스, 호출 오퍼레이션, 입력 타입, 리턴 타입, 설계 스펙 중 적어도 하나 이상의 설계 요소와 매칭되는 상태에서,
상기 (b) 단계에서,
상기 컴퓨팅 장치는,
상기 복수의 로직 유형 각각을 일 방향으로 순차적으로 나열하고, 상기 일 방향으로 나열된 상기 복수의 로직 유형 각각을 기준으로 매칭되는 적어도 하나 이상의 설계 요소를 다른 방향으로 나열하면서, 테이블 형태로 상기 세부 로직을 디스플레이 하고 관련 설계 스펙을 편집하는 것을 특징으로 하는 방법.
According to paragraph 1,
The existing UML interaction information includes the plurality of logic types, and each of the plurality of logic types matches at least one design element of execution conditions, call classes, call operations, input types, return types, and design specifications. In the state,
In step (b) above,
The computing device is,
Each of the plurality of logic types is sequentially arranged in one direction, and at least one design element matching based on each of the plurality of logic types listed in the one direction is arranged in another direction, and the detailed logic is presented in a table form. A method characterized by displaying and editing relevant design specifications.
제1항에 있어서,
상기 (d) 단계에서,
상기 컴퓨팅 장치는,
상기 생성된 신규 UML 상호작용 정보에 대응하는 상기 특정 로직 유형마다 특정 소스코드 주석을 생성하고,
상기 특정 소스코드 주석은 i) 로직 유형을 구분할 수 있는 고유의 구분 문자, ii) 상기 특정 로직 유형에 매칭하는 설계 스펙의 내용을 포함하는 것을 특징으로 하는 방법.
According to paragraph 1,
In step (d) above,
The computing device is,
Generating a specific source code annotation for each specific logic type corresponding to the generated new UML interaction information,
The method characterized in that the specific source code annotation includes i) a unique delimiter that can distinguish the logic type, and ii) the contents of a design specification matching the specific logic type.
제1항에 있어서,
상기 (c) 단계에서,
상기 컴퓨팅 장치는, 상기 세부 로직을 기초로 생성된 상기 신규 UML 상호작용 정보에 대응하도록 그래픽적으로 표현된 시퀀스 다이어그램을 생성하는 것을 특징으로 하는 방법.
According to paragraph 1,
In step (c) above,
The method is characterized in that the computing device generates a graphically expressed sequence diagram to correspond to the new UML interaction information generated based on the detailed logic.
제1항에 있어서,
상기 컴퓨팅 장치는, 사용자로 하여금 Comment, Call, Exception, ChatGPT Prompt, Loop 제어문, Alt 제어문, Opt 제어문, TryCatch 제어문 중 어느 하나의 로직 유형을 원하는 위치에 추가하여 상기 세부 로직을 편집하도록 하는 것을 특징으로 하는 방법.
According to paragraph 1,
The computing device allows the user to edit the detailed logic by adding any one logic type among Comment, Call, Exception, ChatGPT Prompt, Loop control statement, Alt control statement, Opt control statement, and TryCatch control statement to the desired location. How to.
제5항에 있어서,
상기 ChatGPT Prompt가 선택된 경우,
상기 컴퓨팅 장치가,
I) 자연어 스펙에 대한 정보를 획득하는 단계;
II) 상기 자연어 스펙에 기초하여 1차 소스코드를 생성하는 단계;
III) 상기 1차 소스코드를 ChatGPT를 통해 업데이트하여 2차 소스코드를 생성하는 단계;
를 포함하는 것을 특징으로 하는 방법.
According to clause 5,
If the above ChatGPT Prompt is selected,
The computing device,
I) Obtaining information about natural language specifications;
II) generating primary source code based on the natural language specification;
III) updating the primary source code through ChatGPT to generate secondary source code;
A method comprising:
컴퓨팅 장치와 결합되어
제1항의 오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 방법을 수행하기 위해 컴퓨터 판독 가능한 기록매체에 저장된, 컴퓨터 프로그램.
Combined with computing devices
A computer program stored in a computer-readable recording medium for performing a method of designing a program based on the operation logic designer of claim 1.
오퍼레이션 로직 디자이너에 기초하여 프로그램을 설계하는 장치에 있어서,
통신부; 및
로직 디자인 대상에 해당하는 오퍼레이션에 기초하여 기존 UML 상호작용 정보를 획득하고, 상기 오퍼레이션 로직 디자이너가 실행된 경우, 상기 오퍼레이션에 대한 기본 정보 및 세부 로직을 디스플레이하고, 복수의 로직 유형 중에서 선택된 특정 로직 유형에 기초하여 상기 세부 로직을 편집하며, 편집 완료된 상기 세부 로직에 기초하는 신규 UML 상호작용 정보를 생성하여 업데이트하고, 생성된 상기 신규 UML 상호작용 정보에 작성되어 있는 세부 로직의 정보를 주석 형태의 소스코드로 생성하는 프로세서;
를 포함하는 것을 특징으로 하는 컴퓨팅 장치.
In a device for designing a program based on an operation logic designer,
Ministry of Communications; and
Obtain existing UML interaction information based on the operation corresponding to the logic design target, and when the operation logic designer is executed, display basic information and detailed logic for the operation, and select a specific logic type selected from a plurality of logic types. Based on this, the detailed logic is edited, new UML interaction information based on the edited detailed logic is created and updated, and information on the detailed logic written in the generated new UML interaction information is stored as a source in the form of an annotation. A processor that generates code;
A computing device comprising:
KR1020230111138A 2023-08-24 2023-08-24 Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same KR102588597B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230111138A KR102588597B1 (en) 2023-08-24 2023-08-24 Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230111138A KR102588597B1 (en) 2023-08-24 2023-08-24 Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same

Publications (1)

Publication Number Publication Date
KR102588597B1 true KR102588597B1 (en) 2023-10-12

Family

ID=88291430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230111138A KR102588597B1 (en) 2023-08-24 2023-08-24 Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same

Country Status (1)

Country Link
KR (1) KR102588597B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040012250A (en) * 2002-08-02 2004-02-11 한국전자통신연구원 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model
JP2008269279A (en) * 2007-04-20 2008-11-06 Meidensha Corp Software development support system, development support method and program
KR20090065721A (en) * 2007-12-18 2009-06-23 티쓰리큐 주식회사 Requirement tracking and managing method of software development methodology by object-oriented language using interface and system there of
KR20150117926A (en) * 2014-04-11 2015-10-21 국방과학연구소 Method and Apparatus for Component Modeling and Simulation System
KR101913558B1 (en) 2016-10-28 2018-10-31 주식회사 엘지씨엔에스 Sequence diagram based integrated development apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040012250A (en) * 2002-08-02 2004-02-11 한국전자통신연구원 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model
JP2008269279A (en) * 2007-04-20 2008-11-06 Meidensha Corp Software development support system, development support method and program
KR20090065721A (en) * 2007-12-18 2009-06-23 티쓰리큐 주식회사 Requirement tracking and managing method of software development methodology by object-oriented language using interface and system there of
KR20150117926A (en) * 2014-04-11 2015-10-21 국방과학연구소 Method and Apparatus for Component Modeling and Simulation System
KR101913558B1 (en) 2016-10-28 2018-10-31 주식회사 엘지씨엔에스 Sequence diagram based integrated development apparatus

Similar Documents

Publication Publication Date Title
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
JP6487282B2 (en) Method for developing application to be executed in workflow management system, and apparatus for supporting generation of application to be executed in workflow management system
KR101169171B1 (en) Object model tree diagram
US8631388B2 (en) Graphical editor with incremental development
US8386919B2 (en) System for displaying an annotated programming file
Michotte et al. GrafiXML, a multi-target user interface builder based on UsiXML
US11886895B2 (en) Enhanced target selection for robotic process automation
Mayerhofer et al. A model-driven engineering workbench for CAEX supporting language customization and evolution
Lumertz et al. User interfaces metamodel based on graphs
CN117215556A (en) Modularized page rapid construction method, system, equipment and medium
KR102588597B1 (en) Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same
US11809844B2 (en) Creating an app method and system
JP7105683B2 (en) Electronic computer, method and program
Caffiau et al. Generating interactive applications from task models: A hard challenge
OliveiraJr et al. Designing, Tracing, and Configuring Software Product Lines with SMarty
TW552557B (en) Automatic program generating system and the method thereof
JPH06202862A (en) Software preparation supporting system

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant