KR100349657B1 - Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program - Google Patents

Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program Download PDF

Info

Publication number
KR100349657B1
KR100349657B1 KR1020000076640A KR20000076640A KR100349657B1 KR 100349657 B1 KR100349657 B1 KR 100349657B1 KR 1020000076640 A KR1020000076640 A KR 1020000076640A KR 20000076640 A KR20000076640 A KR 20000076640A KR 100349657 B1 KR100349657 B1 KR 100349657B1
Authority
KR
South Korea
Prior art keywords
sequential diagram
program code
analysis
code
storage means
Prior art date
Application number
KR1020000076640A
Other languages
Korean (ko)
Other versions
KR20020046444A (en
Inventor
박지현
백종명
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020000076640A priority Critical patent/KR100349657B1/en
Publication of KR20020046444A publication Critical patent/KR20020046444A/en
Application granted granted Critical
Publication of KR100349657B1 publication Critical patent/KR100349657B1/en

Links

Classifications

    • 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/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

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

Abstract

본 발명은 분산 협력으로 개발된 프로그램 분석을 위한 순차 다이어그램 생성 방법에 관한 것으로, 분산 개발 환경에서 여러 사람이 협력하여 동시 개발중인 프로그램의 분석을 통해 순차 다이어그램을 생성하고, 이를 개발 도구에 통합함으로써 개발자에게 편의성을 제공함과 동시에 개발의 효율성을 높이기 위한 순차 다이어그램 생성 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 클라이언트로부터 프로그램 코드 분석을 요구받아 프로그램 코드가 저장되어있는 저장수단을 검색하는 제 1 단계; 상기 제 1 단계의 검색 결과, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하지 않으면 에러 처리하고, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하면 상기 요구된 프로그램 코드를 상기 저장수단으로부터 로딩하는 제 2 단계; 상기 로딩된 프로그램 코드를 파싱(parsing)을 통하여 분석한 후 추가적인 코드 분석이 필요한지를 확인하는 제 3 단계; 및 상기 제 3 단계의 확인 결과, 추가적인 분석이 필요하면 제 1 단계의 검색 과정으로 진행하고, 추가적인 분석이 필요하지 않으면 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 제 4 단계를 포함하며, 분산 개발 시스템 등에 이용됨.The present invention relates to a method for generating a sequential diagram for analyzing a program developed by distributed cooperation. The present invention relates to a developer by generating a sequential diagram through analysis of a program that is being co-developed by several people in a distributed development environment and integrating it into a development tool. In order to provide convenience to the user and to increase the efficiency of development, to provide a sequential diagram generation method and a computer-readable recording medium recording a program for realizing the method, the program code is stored by requesting a program code analysis from a client. A first step of retrieving the storage means; As a result of the search in the first step, error processing if the requested program code does not exist in the storage means, and loading the requested program code from the storage means if the requested program code exists in the storage means. Two steps; A third step of parsing the loaded program code and then checking whether additional code analysis is necessary; And a fourth step of generating a graphic diagram according to the analysis result if no further analysis is required, and proceeding to the search process of the first step if additional analysis is needed as a result of the checking of the third step. Used for distributed development systems.

Description

분산 협력으로 개발된 프로그램 분석을 위한 순차 다이어그램 생성 방법{Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program}Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program

본 발명은 팀 또는 분산 협력 환경에서 개발중인 프로그램에 대하여 소스 분석을 통한 순차 다이어그램 생성 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 분산 협력 환경에서 다수의 개발자가 동시에 프로그램의 일부를 개발하고, 각 개발자들에 의해 개발된 코드가 연관되어 하나의 완성된 프로그램이 되는 경우, 전체적인 프로그램의 흐름을 볼 수 있도록 하여 효율적인 개발을 하기 위한 순차 다이어그램 생성 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a method for generating a sequential diagram through source analysis for a program being developed in a team or distributed cooperative environment, and to a computer readable recording medium recording a program for realizing the method. When multiple developers develop part of a program at the same time and the code developed by each developer becomes one complete program, the sequential diagram can be generated for efficient development by viewing the overall program flow. A method and a computer readable recording medium having recorded thereon a program for realizing the method.

현재의 소프트웨어들은 그 요구사항이 늘어나고 규모 역시 커져서 여러 사람이 팀을 이루어 개발하는 것이 일반적이다. 이러한 개발과정에서 서로 다른 개발자가 구현한 코드를 통합하는 것은 무척 어려운 일이며, 이렇게 구현한 소프트웨어에 대한 명세를 작성하거나 분석하는 것 또한 많은 노력을 필요로 한다. 특히, 개개인에 의해 개발된 코드가 서로 밀접하게 연관되어 동작하는 프로그램의 경우, 프로그램의 이해는 유지 보수 작업의 기본인 동시에 개발과정에서도 시간과 비용을 결정하는 중요한 작업중 하나이다.Today's software grows in demand and grows in size, so it's common for multiple people to develop a team. Integrating code from different developers in this development process is very difficult, and writing or analyzing a specification for the implemented software also requires a lot of effort. In particular, in the case of a program in which individual codes are closely related to each other, understanding of a program is a basic task of maintenance and an important task of determining time and cost in the development process.

그러나, 대부분의 개발과정에서의 프로그램에 대한 이해는 관련 문서의 미비 등으로 인하여 소스코드의 분석에 의존할 수 밖에 없다. 따라서, 체계적으로 코드를 분석할 수 있는 도구가 요구된다. 하지만, 현재 사용되는 개발 도구들은 팀 개발 소프트웨어에 대한 분석 기능을 제대로 제공하지 못하고 있다.However, the understanding of the program in most development process is forced to rely on the analysis of the source code due to the lack of relevant documents. Therefore, a tool that can systematically analyze code is required. However, the development tools in use today do not provide analytical capabilities for team development software.

UML(Unified Modeling Language)에서의 다이어그램들은 보통 설계단계에서 만들어지게 되며, 개발단계에서는 이들 설계내용을 토대로 필요한 코딩을 하게 된다. 하지만, 대부분의 경우 설계단계에서의 다이어그램들은 아주 상세한 수준까지 내려가지 못하며, 더구나 개발단계에서 기술적 이유 등으로 설계와는 다른 형태로 코딩되는 경우가 많다. 따라서, 개발단계에서 프로그램의 흐름을 분석할 수 있는 도구가 있다면 개발자에게 큰 도움을 줄 수 있을 뿐만 아니라 개발 이후에 유지 보수도 용이할 것이다. 또한, 이러한 분석도구는 개발도구와 밀접하게 상호작용할 수 있어야 한다.Diagrams in the Unified Modeling Language (UML) are usually created during the design phase, and in the development phase, the necessary coding is based on these designs. However, in most cases, diagrams at the design stage do not go down to the level of detail, and they are often coded differently from the design at the development stage for technical reasons. Therefore, if there is a tool that can analyze the flow of the program in the development stage, it will not only greatly help the developer but also maintain the maintenance after the development. In addition, these analytical tools must be able to interact closely with the development tools.

그러나, 현재의 개발도구는 개발자가 작성한 코드를 역공학의 방법으로 분석하여 프로그램의 흐름을 순차 다이어그램으로 보여주는 기능을 제공하지 않는다. 이러한 기능을 위해서는 다른 별개의 분석 도구를 사용하여야 한다. 그리고, 이들 분석 도구 사이에는 어떠한 연관성도 없으므로 개발 과정에서의 효율성에 크게 영향을 주지 못하여 프로그램 분석을 제대로 하지 못하는 문제점이 있었다.However, current development tools do not provide the ability to analyze the code written by developers in reverse engineering and show the flow of the program in a sequential diagram. This requires the use of a separate analysis tool. In addition, since there is no correlation between these analysis tools, there is a problem that the program analysis is not properly performed because it does not significantly affect the efficiency in the development process.

즉, 분석도구에 의해 얻어진 순차 다이어그램 상에서 임의의 한 객체를 선택하여 편집하고자 할 때, 개발자가 직접 개발도구에서 해당 객체에 대한 정의가 있는 파일을 찾아서 열고 편집해야 하며, 개발하고자하는 소프트웨어의 크기가 어느정도만 되어도 이러한 작업은 개발자에게 상당한 불편을 주는 문제점이 있었다.That is, to select and edit any one object on the sequential diagram obtained by the analysis tool, the developer must find, open and edit the file with the definition of the object in the development tool. To some extent, these tasks have had problems for developers.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 분산 개발 환경에서 여러 사람이 협력하여 동시 개발중인 프로그램의 분석을 통해 순차 다이어그램을 생성하고, 이를 개발 도구에 통합함으로써 개발자에게 편의성을 제공함과 동시에 개발의 효율성을 높이기 위한 순차 다이어그램 생성 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and provides a convenience to the developer by generating a sequential diagram through the analysis of programs being developed in cooperation with several people in a distributed development environment, and integrating it into a development tool At the same time, the purpose of the present invention is to provide a sequential diagram generation method for improving development efficiency and a computer readable recording medium recording a program for realizing the method.

도 1 은 본 발명이 적용되는 분산 협력 개발 환경의 구성예시도.1 is an exemplary configuration diagram of a distributed cooperative development environment to which the present invention is applied.

도 2 는 본 발명에 따른 순차 다이어그램 생성 장치의 일실시예 구성도.2 is a block diagram of one embodiment of a sequential diagram generating device according to the present invention;

도 3 은 본 발명에 따른 순차 다이어그램 생성 방법에 대한 일실시예 흐름도.3 is a flow diagram of an embodiment of a method for generating a sequential diagram in accordance with the present invention.

도 4 는 본 발명에 따른 클라이언트의 요청에 따라 저장소에서 코드를 가져오는 코드 분석과정에 대한 일실시예 흐름도.4 is a flow diagram of an embodiment of a code analysis process for retrieving code from a repository at the request of a client in accordance with the present invention.

도 5 는 본 발명에 따른 순차 다이어그램 그래픽 이미지를 생성하는 과정에 대한 일실시예 흐름도.5 is an embodiment flow diagram for a process of generating a sequential diagram graphical image in accordance with the present invention.

도 6 은 본 발명에 따른 순차 다이어그램을 통한 개발도구와의 연동 과정에 대한 일실시예 흐름도.Figure 6 is an embodiment flow diagram for the interworking process with the development tool through a sequential diagram in accordance with the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

200 : 순차 다이어그램 생성 장치 클라이언트200: sequential diagram generating device client

210 : 순차 다이어그램 생성 장치 서버210: sequential diagram generator device

220: 코드 저장소220: code repository

상기 목적을 달성하기 위한 본 발명의 방법은, 순차 다이어그램 생성 장치에 적용되는 순차 다이어그램 생성 방법에 있어서, 클라이언트로부터 프로그램 코드 분석을 요구받아 프로그램 코드가 저장되어있는 저장수단을 검색하는 제 1 단계; 상기 제 1 단계의 검색 결과, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하지 않으면 에러 처리하고, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하면 상기 요구된 프로그램 코드를 상기 저장수단으로부터 로딩하는 제 2 단계; 상기 로딩된 프로그램 코드를 파싱(parsing)을 통하여 분석한 후 추가적인 코드 분석이 필요한지를 확인하는 제 3 단계; 및 상기 제 3 단계의 확인 결과, 추가적인 분석이필요하면 제 1 단계의 검색 과정으로 진행하고, 추가적인 분석이 필요하지 않으면 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 제 4 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a sequential diagram generating method applied to a sequential diagram generating device, the method comprising: a first step of receiving a program code analysis from a client and retrieving a storage means in which the program code is stored; As a result of the search in the first step, error processing if the requested program code does not exist in the storage means, and loading the requested program code from the storage means if the requested program code exists in the storage means. Two steps; A third step of parsing the loaded program code and then checking whether additional code analysis is necessary; And a fourth step of generating a sequential diagram in graphic form according to the analysis result if no further analysis is required, and if the further analysis is not necessary, proceeding to the search process of the first step. It features.

상기 본 발명의 방법은, 상기 순차 다이어그램에서 선택된 그래픽 객체에 대하여 상기 클라이언트로부터 상세 정보를 요구받는 제 5 단계; 상기 선택된 그래픽 객체에 대하여 상기 순차 다이어그램 생성 장치가 개발도구로 상세 정보를 요구하는 제 6 단계; 및 상기 개발 도구가 해당 코드를 보여주여 편집하도록 하는 제 7 단계를 더 포함하는 것을 특징으로 한다.The method of the present invention may further comprise a fifth step of receiving detailed information from the client for the graphic object selected in the sequence diagram; A sixth step of requesting, by the sequential diagram generation device, detailed information for the selected graphic object to a development tool; And a seventh step for the development tool to display and edit the corresponding code.

한편, 본 발명은, 대용량 프로세서를 구비한 순차 다이어그램 생성 장치에, 클라이언트로부터 프로그램 코드 분석을 요구받아 프로그램 코드가 저장되어있는 저장수단을 검색하는 제 1 기능; 상기 제 1 기능에서의 검색 결과, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하지 않으면 에러 처리하고, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하면 상기 요구된 프로그램 코드를 상기 저장수단으로부터 로딩하는 제 2 기능; 상기 로딩된 프로그램 코드를 파싱(parsing)을 통하여 분석한 후 추가적인 코드 분석이 필요한지를 확인하는 제 3 기능; 및 상기 제 3 기능에서의 확인 결과, 추가적인 분석이 필요하면 제 1 단계의 검색 과정으로 진행하고, 추가적인 분석이 필요하지 않으면 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, a sequential diagram generating device having a large capacity processor, the first function for receiving a program code analysis from the client to retrieve the storage means for storing the program code; As a result of the search in the first function, if the requested program code does not exist in the storage means, error processing; and if the requested program code exists in the storage means, loading the requested program code from the storage means. Second function; A third function of parsing the loaded program code and then checking whether additional code analysis is necessary; And as a result of the confirmation in the third function, if further analysis is required, proceed to the first step of searching, and if no further analysis is required, realize a fourth function of generating a sequential diagram in graphic form according to the analysis result. A computer readable recording medium having recorded thereon a program is provided.

또한, 상기 본 발명은, 상기 순차 다이어그램에서 선택된 그래픽 객체에 대하여 상기 클라이언트로부터 상세 정보를 요구받는 제 5 기능; 상기 선택된 그래픽 객체에 대하여 상기 순차 다이어그램 생성 장치가 개발도구로 상세 정보를 요구하는 제 6 기능; 및 상기 개발 도구가 해당 코드를 보여주여 편집하도록 하는 제 7 기능을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention may also include a fifth function of requesting detailed information from the client with respect to the graphic object selected in the sequence diagram; A sixth function of requesting detailed information by the sequential diagram generation device to a development tool for the selected graphic object; And a computer readable recording medium having recorded thereon a program for further realizing a seventh function for the development tool to show and edit the corresponding code.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 분산 협력 개발 환경의 구성예시도이다.1 is an exemplary configuration diagram of a distributed cooperative development environment to which the present invention is applied.

도 1 에 도시된 바와 같이, 순차다이어그램 생성장치가 사용될 수 있는 분산 협력 개발 환경은, 분산 협력으로 프로그램을 개발하는 클라이언트(110), 상기 클라이언트(110)와 데이터베이스(120)를 연결시켜주는 어플리케이션 서버(100), 그리고 상기 클라이언트(110)가 개발한 코드를 저장하는 데이터베이스(120)를 포함한다.As shown in FIG. 1, a distributed cooperative development environment in which a sequential diagram generating apparatus may be used includes an application server connecting a client 110, a client 110, and a database 120 to develop a program in distributed cooperation. 100, and a database 120 that stores code developed by the client 110.

상기 순차 다이어그램이 적용될 수 있는 개발환경은 크기가 큰 대부분의 기업의 프로그램이 작동되는 방식인 3-티어(tier) 형태의 시스템 환경이다.The development environment to which the sequential diagram can be applied is a three-tier system environment in which a program of most large companies operates.

자세히 설명하면, 각 개발자(클라이언트)(110)들이 개발한 코드는 개발도구의 어플리케이션 서버(100)를 통하여 공동의 저장소(데이터베이스)(120)에 저장되며, 이런 방식으로 타 개발자에 의해 작성된 코드를 사용하면서 동시 개발할 수 있도록 하는 환경이다.In detail, the code developed by each developer (client) 110 is stored in a common repository (database) 120 through the application server 100 of the development tool, and in this way It is an environment that allows development while using it.

도 2 는 본 발명에 따른 순차 다이어그램 생성 장치의 일실시예 구성도이다.2 is a configuration diagram of an apparatus for generating a sequential diagram according to the present invention.

도 2 에 도시된 바와 같이, 순차 다이어그램 생성 장치는, 코드에 대한 분석을 순차 다이어그램 생성 장치 서버(210)에 요구하여 상기 요구된 코드를 순차 다이어그램 생성 장치 서버(210)로부터 넘겨받아 코드에 대한 분석을 수행하는 순차 다이어그램 생성 장치 클라이언트(200), 상기 순차 다이어그램 생성 장치 클라이언트(200)로부터 코드 분석 요구를 받아 코드 저장소(220)에서 요구된 코드를 가져와서 다시 상기 순차 다이어그램 생성 장치 클라이언트(200)로 보내는 상기 순차 다이어그램 생성 장치 서버(210), 그리고 분산 협력 개발 환경에서 개발된 코드를 저장하는 코드 저장소(220)를 포함한다.As shown in FIG. 2, the apparatus for generating a sequential diagram requests the analysis of the code to the sequential diagram generating apparatus server 210 and receives the requested code from the sequential diagram generating apparatus server 210 to analyze the code. A sequential diagram generating device client 200 performing the operation, receives a code analysis request from the sequential diagram generating device client 200, obtains the required code from the code repository 220, and returns to the sequential diagram generating device client 200. The sequential diagram generating apparatus server 210 for sending, and a code repository 220 for storing code developed in a distributed cooperative development environment.

상기 순차 다이어그램 생성 장치는 분석하고자 하는 소스코드를 공동의 코드 저장소(220)에 저장해 놓고, 상기 분석하고자 하는 소스가 어떤 컴퓨터에 있든지에 상관없이 소스코드를 분석가능하게 한다.The apparatus for generating a sequential diagram stores the source code to be analyzed in a common code repository 220 and makes it possible to analyze the source code regardless of which computer the source is to be analyzed.

즉, 상기 순차 다이어그램 생성 장치 클라이언트(200)는 개발자가 분석을 원하는 코드의 정보를 순차 다이어그램 생성 장치 서버(210)에 넘겨주며, 상기 순차 다이어그램 생성 장치 서버(210)는 받은 정보를 토대로 코드 저장소(220)에서 해당 코드를 검색하게 된다. 여기서, 코드 저장소(220)는 분산 개발 환경에서 각 개발자가 각자 만든 코드를 실제 저장하는 장소를 말하며, 개발 환경에 따라 미리 정해진 특정 컴퓨터의 특정 폴더, 또는 데이터베이스가 사용될 수 있다.That is, the sequential diagram generating device client 200 passes the information of the code that the developer wants to analyze to the sequential diagram generating device server 210, and the sequential diagram generating device server 210 stores the code store based on the received information. The code is retrieved. Here, the code repository 220 refers to a place where the developer actually stores the code created by each developer in a distributed development environment, and a specific folder or a database of a specific computer predetermined according to the development environment may be used.

또한, 여기서 상기 순차 다이어그램 생성 장치 서버(210)의 서버 객체는 디컴(DCOM) 형태의 컴포넌트이며, 순차 다이어그램 생성 장치 클라이언트(200)가 순차 다이어그램 생성 장치 서버(210)로 보내는 코드요청은 서버 컴포넌트의 인터페이스 메소드를 호출함으로써 이루어진다. 이때, 순차 다이어그램 생성 장치 클라이언트(200)가 순차 다이어그램 생성 장치 서버(210)에 넘겨주는 정보는 대상 객체의 이름과 호출 함수명이다. 만약, 코드 저장소(220)에 코드가 있다면 해당 코드를 읽어 순차 다이어그램 생성 장치 클라이언트(200)로 넘겨준다.In addition, the server object of the sequential diagram generating device server 210 is a component in the form of a decom (DCOM), the code request sent by the sequential diagram generating device client 200 to the sequential diagram generating device server 210 is a server component. This is done by calling the interface method. In this case, the information that the sequential diagram generating device client 200 passes to the sequential diagram generating device server 210 is a name of a target object and a calling function name. If there is a code in the code repository 220, the corresponding code is read and passed to the sequential diagram generating device client 200.

도 3 은 본 발명에 따른 순차 다이어그램 생성 방법에 대한 일실시예 흐름도이다.3 is a flowchart illustrating an embodiment of a method for generating a sequential diagram according to the present invention.

도 3 에 도시된 바와 같이, 먼저 분산 협력 개발 환경에 있어서, 각 개발자들이 프로그램 코딩을 하고(301), 상기 코딩한 내용을 공동의 저장소에 저장한다(302).As shown in FIG. 3, first, in a distributed cooperative development environment, each developer performs program coding (301) and stores the coded contents in a common repository (302).

이때, 상기 코딩한 내용에 대하여 분석을 요구하는 경우에(303) 상기 공동의 저장소에 분석하고자 하는 해당 코드가 존재하는지를 확인한다(304).In this case, when an analysis is required for the coded content (303), it is checked whether the corresponding code to be analyzed exists in the common repository (304).

상기 확인 결과, 저장소에 해당 코드가 없으면 종료하고, 상기 저장소에 해당 코드가 존재하면 분석하고자 하는 코드를 저장소에서 가져와서(305), 상기 코드를 분석하여(306) 의미있는 정보를 추출한다.As a result of the check, if the code does not exist in the repository, the code is terminated. If the code exists in the repository, the code to be analyzed is taken from the repository (305), and the code is analyzed (306) to extract meaningful information.

다음으로, 분석한 정보로부터 추가적으로 분석해야 할 코드가 있는지를 판단하여(307), 추가적인 분석이 필요한 경우에는 상기 저장소에 해당 코드가 존재하는지를 확인하는 과정(304)으로 진행하고, 판단한 결과 추가적인 분석이 필요하지 않은 경우에는 상기 분석정보로부터 순차 다이어그램을 위한 데이터를 구성하여(308) 그래픽 형태의 순차 다이어그램을 생성한다(309).Next, it is determined whether there is a code to be additionally analyzed from the analyzed information (307). If further analysis is required, the process proceeds to a process 304 of checking whether the corresponding code exists in the repository (304). If not necessary, data for the sequential diagram is constructed from the analysis information (308) to generate a sequential diagram in graphic form (309).

그리고, 사용자는 편집을 하게된다(310).The user then makes an edit (310).

도 4 는 본 발명에 따른 클라이언트의 요청에 따라 저장소에서 코드를 가져오는 과정에 대한 일실시예 흐름도로서, 분석하고자 하는 코드를 저장소에서 얻어오는 과정을 나타낸다.4 is a flowchart illustrating a process of obtaining code from a repository according to a client's request according to the present invention, and showing a process of obtaining a code to be analyzed from the repository.

도 4 에 도시된 바와 같이, 먼저 서버는 클라이언트로부터 코드 요청을 받고(410), 상기 서버는 저장소에 해당 코드가 존재하는지를 확인한다(411).As shown in FIG. 4, the server first receives a code request from a client (410), and the server checks whether the corresponding code exists in the storage (411).

상기 확인 결과, 상기 저장소에 해당 코드가 존재하면 저장소에서 코드를 가져와서(412) 상기 클라이언트로 코드를 넘긴다(414).As a result of the check, if the code exists in the repository, the code is fetched from the repository (412) and the code is passed to the client (414).

상기 확인 결과, 상기 저장소에 해당 코드가 존재하지 않으면 상기 클라이언트로 오류 정보를 넘긴다(413).As a result of the check, if the corresponding code does not exist in the storage, error information is passed to the client (413).

도 5 는 본 발명에 따른 순차 다이어그램 그래픽 이미지를 생성하는 과정에 대한 일실시예 흐름도이다.5 is a flowchart of an embodiment of a process of generating a sequential diagram graphical image according to the present invention.

먼저, 코드를 분석하여 의미있는 정보를 추출하는 과정에서, 클라이언트는 서버로부터 넘겨받은 코드에 대한 분석을 행하게 된다. 분석은 코드에 대한 파싱(parsing)을 통하여 이루어진다.First, in analyzing the code and extracting meaningful information, the client analyzes the code received from the server. Analysis is done through parsing the code.

상기 파싱(parsing)을 통하여, 먼저 코드에서 의미있는 정보를 추출하여 내부 파싱 트리를 구성한다. 여기서, 추출되는 정보는 서브 프로시저 이름, 전역 및 지역 변수명, 사용한 객체명, 호출 파라미터 등을 포함한다. 이후에 이 데이터로부터 순차 다이어그램에 필요한 정보, 즉 타 객체에 대한 호출 정보, 소스코드에서 호출정보가 나타난 라인위치, 호출대상이 되는 객체의 종류를 추출하여 순차 다이어그램에 필요한 데이터를 생성하게 된다(510).Through parsing, first, meaningful information is extracted from code to construct an internal parsing tree. Here, the extracted information includes a subprocedure name, a global and local variable name, an object name used, a call parameter, and the like. Subsequently, the data necessary for the sequential diagram is extracted by extracting the information necessary for the sequential diagram, that is, the call information for another object, the line position where the call information appears in the source code, and the type of the object to be called (510). ).

상기 파싱을 통해 추출된 정보로부터 새로운 객체에 대한 호출 정보를 검색하고, 대응되는 그래픽 형태의 순차 다이어그램을 생성한다(511).The call information of the new object is retrieved from the information extracted through the parsing, and a corresponding graphic form sequence diagram is generated (511).

그리고, 호출 정보에 대한 그래픽 객체를 생성하고(512), 서버 부분과 클라이언트 부분으로 분리하여(513), 전체 레이아웃을 결정한다(514). 여기서, 서버 부분과 클라이언트 부분으로 분리하는 것은 개발대상 프로그램이 클라이언트/서버 환경에서 실행되는 것인 경우 클라이언트쪽 객체와 서버쪽 객체를 나누는 것이다.A graphic object for the call information is generated (512), and separated into a server part and a client part (513) to determine the overall layout (514). Here, separating the server part and the client part is to divide the client-side object and the server-side object when the development target program is executed in the client / server environment.

여기서, 순차 다이어그램을 위한 데이터는 실제로는 이진 트리형식의 데이터 구조를 가지며, 이 단계에서는 트리를 검색하면서 그래픽 정보를 구성하게 된다.Here, the data for the sequential diagram actually has a data structure of binary tree form, and this step forms a graphic information while searching the tree.

상기 과정에 의하여 얻어진 순차 다이어그램은 기본적으로 분석하고자 하는 코드에 대한 모든 정보를 표현한다. 따라서, 순차 다이어그램 생성 장치는 사용자가 자신의 의도에 맞도록 생성된 순차 다이어그램을 편집할 수 있는 기능을 제공한다.The sequential diagram obtained by the above process basically represents all information about the code to be analyzed. Accordingly, the apparatus for generating a sequential diagram provides a function for a user to edit the generated sequential diagram according to his or her intention.

또한, 상기 전체 과정을 통해 생성된 순차 다이어그램은 서버 부분과 클라이언트 부분을 명확히 나누어 표시하므로 개발중인 프로그램에서의 서버와 클라이언트간 동작사항을 직관적으로 알아 볼 수 있다. 또한, UML에서의 순차 다이어그램에 포함되지 않는, 코드에 대한 에러 정보를 포함한다.In addition, since the sequential diagram generated through the entire process clearly displays the server portion and the client portion, the operation between the server and the client in the program under development can be intuitively understood. It also contains error information about the code, which is not included in the sequential diagram in UML.

순차 다이어그램 자체에서의 상기 정보는 개발자에게는 분석한 코드에 대한 무결성 여부를 알려 줄 수 있고, 개발 도구와의 연동에 있어서는 에러가 발생한 코드를 쉽게 찾아갈 수 있도록 하는 방법을 제공한다.The information in the sequential diagram itself can inform the developer whether the analyzed code is integrity or not, and provides a way to easily find the errored code in connection with the development tool.

도 6 은 본 발명에 따른 순차 다이어그램을 통한 개발도구와의 연동 과정에 대한 일실시예 흐름도이다.6 is a flow diagram of an embodiment of an interworking process with a development tool through a sequential diagram according to the present invention.

먼저, 개발자가 순차 다이어그램을 생성 또는 저장된 순차 다이어그램을 읽어서 편집 또는 상세정보를 알고자 하는 객체를 순차 다이어그램에서 선택하여(610), 개발자가 순차 다이어그램 생성 장치에 해당 객체에 대한 상세 정보를 요구한다(611).First, a developer generates an sequential diagram or reads a stored sequential diagram and selects an object from the sequential diagram to edit or learn detailed information (610), and the developer requests detailed information about the object from the sequential diagram generating device ( 611).

이에, 순차 다이어그램 생성 장치는 개발도구에게 상기 선택된 객체 정보를 보여줄 것을 요구한다(612). 여기서, 순차 다이어그램과 개발도구와의 연동은 컴(COM) 인터페이스를 사용하여 이루어진다.Accordingly, the sequential diagram generating device requests the development tool to show the selected object information (612). Here, the interworking between the sequential diagram and the development tool is done using the COM interface.

그리고, 개발도구가 요구받은 객체에 대한 정보를 읽어와 보여주고(613), 개발자에 의한 편집 작업이 이루어진다(614).Then, the development tool reads and displays the information on the requested object (613), and the editing work is performed by the developer (614).

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 순차 다이어그램을 개발 도구와 상호 동작하게 함으로써 개발자에게 코드에 대한 분석을 그래픽 형태로 제공할 수 있으며, 이를 통하여 프로그램에 대한 보다 직관적인 보기를 개발자에게 제공할 수 있는 효과가 있다.As described above, the present invention can provide a developer with graphical analysis of a code by allowing a developer to interact with a development tool in a graphic form, thereby providing a developer with a more intuitive view of a program. There is.

또한, 본 발명은, 팀 공동 개발 환경에서 순차 다이어그램 생성 장치를 통하여 타인에 의해 개발된 코드 중 자신의 코드에 영향을 미칠 수 있는 것을 직관적으로 볼 수 있게 하고, 코드 분석을 통하여 에러 정보를 순차 다이어그램에 포함시켰으므로 실행시 발생할 수 있는 오류를 미리 예측할 수 있는 효과가 있다.In addition, the present invention, through the sequential diagram generating device in the team co-development environment it is possible to intuitively see that the code can be affected by one's own code developed by others, through the code analysis error information sequential diagram Since it is included in, the error that can occur during execution can be predicted in advance.

특히, 본 발명은, 순차 다이어그램에서 그래픽 객체를 선택하여 개발도구에서 해당되는 코드를 보여줄 수 있으므로 전체 코드에 대한 탐색도구의 기능도 제공하는 효과가 있다.In particular, since the present invention can show the corresponding code in the development tool by selecting a graphic object in the sequential diagram, it also has the effect of providing the function of the search tool for the entire code.

Claims (5)

순차 다이어그램 생성 장치에 적용되는 순차 다이어그램 생성 방법에 있어서,In the sequential diagram generating method applied to the sequential diagram generating device, 클라이언트로부터 프로그램 코드 분석을 요구받아 프로그램 코드가 저장되어있는 저장수단을 검색하는 제 1 단계;A first step of receiving a program code analysis from a client and retrieving a storage means in which the program code is stored; 상기 제 1 단계의 검색 결과, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하지 않으면 에러 처리하고, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하면 상기 요구된 프로그램 코드를 상기 저장수단으로부터 로딩하는 제 2 단계;As a result of the search in the first step, error processing if the requested program code does not exist in the storage means, and loading the requested program code from the storage means if the requested program code exists in the storage means. Two steps; 상기 로딩된 프로그램 코드를 파싱(parsing)을 통하여 분석한 후 추가적인 코드 분석이 필요한지를 확인하는 제 3 단계; 및A third step of parsing the loaded program code and then checking whether additional code analysis is necessary; And 상기 제 3 단계의 확인 결과, 추가적인 분석이 필요하면 제 1 단계의 검색 과정으로 진행하고, 추가적인 분석이 필요하지 않으면 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 제 4 단계As a result of the checking of the third step, if further analysis is required, proceed to the first step of searching; if no further analysis is required, a fourth step of generating a sequential diagram in graphic form according to the analysis result 를 포함하는 순차 다이어그램 생성 방법.Sequential diagram generation method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 순차 다이어그램에서 선택된 그래픽 객체에 대하여 상기 클라이언트로부터 상세 정보를 요구받는 제 5 단계;A fifth step of requesting detailed information from the client for the graphic object selected in the sequential diagram; 상기 선택된 그래픽 객체에 대하여 상기 순차 다이어그램 생성 장치가 개발도구로 상세 정보를 요구하는 제 6 단계; 및A sixth step of requesting, by the sequential diagram generation device, detailed information for the selected graphic object to a development tool; And 상기 개발 도구가 해당 코드를 보여주어 편집하도록 하는 제 7 단계7th step for the development tool to show and edit the code 를 더 포함하는 순차 다이어그램 생성 방법.Method for generating a sequential diagram further comprising. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 과정은,The process of generating a sequential diagram in graphic form according to the analysis result, 상기 파싱(parsing)을 통한 상기 프로그램 코드의 분석결과에서 순차 다이어그램에 필요한 데이터를 획득하는 제 8 단계;An eighth step of obtaining data necessary for a sequential diagram from an analysis result of the program code through parsing; 새로운 객체에 대한 호출 정보를 검색하고, 대응되는 그래픽 형태의 순차 다이어그램을 생성하는 제 9 단계;A ninth step of retrieving call information for the new object and generating a sequential diagram of a corresponding graphical form; 상기 호출 정보에 대한 그래픽 객체를 생성하여 서버 부분과 클라이언트 부분으로 분리하는 제 10 단계; 및A tenth step of generating a graphic object for the call information and separating it into a server part and a client part; And 전체 레이아웃을 결정하는 제 11 단계Eleventh step to determine the overall layout 를 포함하는 순차 다이어그램 생성 방법.Sequential diagram generation method comprising a. 대용량 프로세서를 구비한 순차 다이어그램 생성 장치에,In the sequential diagram generator with a large processor, 클라이언트로부터 프로그램 코드 분석을 요구받아 프로그램 코드가 저장되어있는 저장수단을 검색하는 제 1 기능;A first function of receiving a program code analysis from a client and retrieving a storage means in which the program code is stored; 상기 제 1 기능에서의 검색 결과, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하지 않으면 에러 처리하고, 상기 요구된 프로그램 코드가 상기 저장수단에 존재하면 상기 요구된 프로그램 코드를 상기 저장수단으로부터 로딩하는 제 2 기능;As a result of the search in the first function, if the requested program code does not exist in the storage means, error processing; and if the requested program code exists in the storage means, loading the requested program code from the storage means. Second function; 상기 로딩된 프로그램 코드를 파싱(parsing)을 통하여 분석한 후 추가적인 코드 분석이 필요한지를 확인하는 제 3 기능; 및A third function of parsing the loaded program code and then checking whether additional code analysis is necessary; And 상기 제 3 기능에서의 확인 결과, 추가적인 분석이 필요하면 제 1 기능의 검색 과정으로 진행하고, 추가적인 분석이 필요하지 않으면 상기 분석 결과에 따라 그래픽 형태의 순차 다이어그램을 생성하는 제 4 기능As a result of the check in the third function, if further analysis is required, the process proceeds to the search of the first function, and if no further analysis is required, the fourth function of generating a sequential diagram in graphic form according to the analysis result. 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this. 제 4 항에 있어서,The method of claim 4, wherein 상기 순차 다이어그램에서 선택된 그래픽 객체에 대하여 상기 클라이언트로부터 상세 정보를 요구받는 제 5 기능;A fifth function of requesting detailed information from the client for the graphic object selected in the sequence diagram; 상기 선택된 그래픽 객체에 대하여 상기 순차 다이어그램 생성 장치가 개발도구로 상세 정보를 요구하는 제 6 기능; 및A sixth function of requesting detailed information by the sequential diagram generation device to a development tool for the selected graphic object; And 상기 개발 도구가 해당 코드를 보여주여 편집하도록 하는 제 7 기능A seventh function for the development tool to display and edit the corresponding code; 을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium that records a program for further realization.
KR1020000076640A 2000-12-14 2000-12-14 Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program KR100349657B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000076640A KR100349657B1 (en) 2000-12-14 2000-12-14 Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000076640A KR100349657B1 (en) 2000-12-14 2000-12-14 Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program

Publications (2)

Publication Number Publication Date
KR20020046444A KR20020046444A (en) 2002-06-21
KR100349657B1 true KR100349657B1 (en) 2002-08-24

Family

ID=27681963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000076640A KR100349657B1 (en) 2000-12-14 2000-12-14 Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program

Country Status (1)

Country Link
KR (1) KR100349657B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100759816B1 (en) * 2005-12-08 2007-09-20 한국전자통신연구원 Web-Based Development Environment Providing System and Method for Integrated Configuration of Embedded Linux Kernel and Application
KR101294708B1 (en) 2010-03-30 2013-08-08 한국전자통신연구원 Behavior fallacy analysis apparatus and its method
KR101974804B1 (en) * 2017-07-03 2019-05-03 주식회사 우리은행 Flow diagram generation method and apparatus performing the same

Also Published As

Publication number Publication date
KR20020046444A (en) 2002-06-21

Similar Documents

Publication Publication Date Title
Finnigan et al. The software bookshelf
US6826553B1 (en) System for providing database functions for multiple internet sources
RU2347262C2 (en) Method and system for record of macroses in syntax independent of language
CN110580189A (en) method and device for generating front-end page, computer equipment and storage medium
US7502967B1 (en) Identifying an object in a data file that causes an error in an application
JP2010237841A (en) Device and program for operation verification
KR100349657B1 (en) Sequence Diagram Generating Tool and Method for Analyzing Team-Developing Program
JP4133549B2 (en) Structured document file management apparatus and structured document file management method
JP5169614B2 (en) System analysis program, system analysis apparatus, and system analysis method
US20060188162A1 (en) Common interface for ink trees
JP2011164786A (en) Device, method and program for verifying operation
JP4906424B2 (en) Web service design method and apparatus
JP4583260B2 (en) General-purpose computer operation procedure creation device, program, and storage medium
US20060221364A1 (en) Information processor, control method therefor, computer program and storage medium
KR100428710B1 (en) A modeling system and method by modeling-object assembling
JP2000163602A (en) Input history storage device
CN115248803B (en) Collection method and device suitable for network disk file, network disk and storage medium
JP4903278B2 (en) Operation verification apparatus, operation verification method, and operation verification program
JP5359704B2 (en) PROGRAM GENERATION SYSTEM, PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM
JP2009043083A (en) Database connection system, database connection program, and database connection method
JP3637606B2 (en) Data processing device
CN118295694A (en) Processing method and device for configuration parameters
JPH09293085A (en) Design support device
KR100352500B1 (en) Method for automation of form controls generation
JP2003036170A (en) Device, method and program for cross reference construction

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070730

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee