KR20220067384A - Operating Method of Execution Environment for reuse of software and computing device supporting the same - Google Patents

Operating Method of Execution Environment for reuse of software and computing device supporting the same Download PDF

Info

Publication number
KR20220067384A
KR20220067384A KR1020200154009A KR20200154009A KR20220067384A KR 20220067384 A KR20220067384 A KR 20220067384A KR 1020200154009 A KR1020200154009 A KR 1020200154009A KR 20200154009 A KR20200154009 A KR 20200154009A KR 20220067384 A KR20220067384 A KR 20220067384A
Authority
KR
South Korea
Prior art keywords
version
information
development
software
computing device
Prior art date
Application number
KR1020200154009A
Other languages
Korean (ko)
Other versions
KR102425387B1 (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 KR1020200154009A priority Critical patent/KR102425387B1/en
Publication of KR20220067384A publication Critical patent/KR20220067384A/en
Application granted granted Critical
Publication of KR102425387B1 publication Critical patent/KR102425387B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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/70Software maintenance or management
    • G06F8/72Code refactoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Disclosed are a computing device related to restoration items, a computing device related to execution environment management items related thereto, a developer device, and a method for operating an execution environment thereof. The present invention comprises: a memory for storing development information for each version including development environment information corresponding to a source code for each version created in a software development process and test environment information according to a test of the source code for each version; and a processor functionally connected to the memory. The processor is configured to: receive an input signal corresponding to selection of development information of a specific version in relation to an execution environment restoration of the software; and in response to the input signal, output an execution screen of the development environment information included in the development information for the specific version and the test environment information for the specific version. Therefore, the present invention enables reuse of software.

Description

소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치{Operating Method of Execution Environment for reuse of software and computing device supporting the same}Operating Method of Execution Environment for reuse of software and computing device supporting the same}

본 발명은 소프트웨어 재사용에 관한 것으로, 각 버전별 소스 코드와 각 버전별 실행 환경 데이터를 매핑 관리하여 추후 각 버전별 소스 코드에 대한 실행 환경 복원을 지원하는 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치에 관한 것이다.The present invention relates to software reuse, and a method for operating an execution environment for software reuse that supports the restoration of the execution environment for each version source code in the future by mapping and managing the source code for each version and the execution environment data for each version, and supporting the same It relates to a computing device that

소프트웨어는 IT를 포함한 사회 전반적인 다양한 분야에서 자원 및 에너지의 절약 등 사회 경제, 전반에 걸쳐 효율성을 도모하는데 중요한 역할을 하고 있다. 산업구조의 고도화로 사용자의 요구사항이 다양화 되면서 이를 만족하기 위한 소프트웨어의 복잡도는 증가되고 있다. 따라서 소프트웨어 개발에 더 많은 시간과 비용이 발생하고 있으며, 충분하지 못한 테스트는 소프트웨어의 품질을 하락시키며 프로젝트 실패의 위험을 증가시키고 있다. Software plays an important role in promoting efficiency in the overall economy, such as saving resources and energy in various fields of society including IT. As user requirements are diversified due to the advancement of the industrial structure, the complexity of software to satisfy them is increasing. Therefore, more time and money are incurred in software development, and insufficient testing reduces the quality of the software and increases the risk of project failure.

한편, 소프트웨어 개발에 있어서, 이전에 개발된 소프트웨어를 재사용할 수 있는 경우 많은 시간과 비용을 절약할 수 있다. 이에 따라, 특정 프로젝트를 진행하기 전에 또는 진행하면서 이전 개발된 소프트웨어들 중 자신의 작업에 맞는 소프트웨어를 적절히 검색하고 사용할 수 있도록 꾸미는 기술이 중요해지고 있다. 이를 위하여, 체계적인 소스코드의 재사용 자산관리가 요구되고 있다. 소프트웨어 재사용은 기존의 시스템에서 많은 테스트를 통해 품질을 인정받은 이력을 제공하기 때문에, 높은 신뢰도를 제공할 수 있다. Meanwhile, in software development, if previously developed software can be reused, a lot of time and money can be saved. Accordingly, before or during a specific project, among previously developed software, it is becoming important to find and use the appropriate software suitable for one's work. To this end, systematic source code reuse asset management is required. Software reuse can provide high reliability because it provides a history of quality recognized through many tests in the existing system.

소프트웨어는 실행을 위한 컴퓨터 환경과 많은 구성요소들로 이루어져 있으며 그들 간의 복잡한 관계를 가지고 있다. 이에 따라, 충분한 이해 없이 단순히 소프트웨어를 재사용할 경우, 오히려 유지보수성을 하락시키고 소프트웨어의 품질을 저하시키게 된다. 이에 따라, 효과적인 소프트웨어 재사용을 위해 구성요소들의 관련성을 파악하고, 새로운 프로젝트에 적용하기 위한 구조적 설계 분석이 요구되는데, 때로는, 소프트웨어를 새롭게 개발하는데 더 많은 많은 시간과 노력이 드는 경우도 발생할 수 있다. Software consists of a computer environment for execution and many components, and has a complex relationship between them. Accordingly, when software is simply reused without sufficient understanding, maintainability and quality of the software are deteriorated. Accordingly, for effective software reuse, structural design analysis is required to identify the relevance of components and apply them to a new project.

한국공개특허 제2009-00955411호Korean Patent Publication No. 2009-00955411

본 발명은 소프트웨어 재사용과 관련된 것으로, 소스코드 및 관련 문서뿐만 아니라 개발 당시에 수행한 데이터 및 테스트 환경까지 형상관리 대상으로 관리하여 실행환경의 복원을 지원할 수 있는 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치를 제공함에 있다. The present invention relates to software reuse, and a method of operating an execution environment for software reuse that can support restoration of an execution environment by managing not only source code and related documents, but also data and test environment performed at the time of development as a configuration management target, and supporting the same To provide a computing device that

또한, 본 발명은 소프트웨어 재사용을 목적으로 하는 사용자에게 개발자의 실행환경과 결과를 제공함으로써 개발 시점에서의 각 소스 코드의 실행 효과를 확인함으로써, 소스 코드에 대한 깊은 이해의 단서를 제공할 수 있는 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치를 제공함에 있다.In addition, the present invention provides a developer's execution environment and results to a user who intends to reuse software, thereby confirming the execution effect of each source code at the time of development, software capable of providing a clue to a deep understanding of the source code An object of the present invention is to provide a method for operating an execution environment for reuse and a computing device supporting the same.

또한, 본 발명은 실행환경 복원과정 중에 발생할 수 있는 에러에 대한 해결 가이드라인을 제시해 개발자의 에러 복구에 대한 부담을 줄여줄 수 있는 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치를 제공함에 있다.In addition, the present invention provides a method for operating an execution environment for software reuse that can reduce the burden on developers of error recovery by proposing a solution guideline for errors that may occur during the restoration process of the execution environment, and a computing device supporting the same. have.

상기와 같은 목적을 달성하기 위한 본 발명의 컴퓨팅 장치는 소프트웨어 개발 과정에서 작성된 버전 별 소스 코드에 대응하는 개발 환경 정보 및 상기 버전 별 소스 코드의 테스트에 따른 테스트 환경 정보를 포함하는 버전 별 개발 정보를 저장하는 메모리, 상기 메모리와 기능적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 소프트웨어의 실행 환경 복원과 관련하여, 특정 버전의 개발 정보 선택에 대응하는 입력 신호를 수신하고, 상기 입력 신호에 대응하여, 상기 특정 버전의 개발 정보에 포함된 개발 환경 정보 및 상기 특정 버전의 테스트 환경 정보의 실행 화면을 출력하도록 설정된 것을 특징으로 한다.To achieve the above object, the computing device of the present invention provides development information for each version including development environment information corresponding to the source code for each version created in the software development process, and test environment information according to the test of the source code for each version. a memory to store, and a processor functionally connected to the memory, wherein the processor receives an input signal corresponding to selection of a specific version of development information in relation to restoration of an execution environment of the software, and responds to the input signal , characterized in that it is set to output the execution screen of the development environment information included in the development information of the specific version and the test environment information of the specific version.

여기서, 상기 프로세서는 상기 버전 별 개발 정보가 포함된 컨테이너에서 버전별 개발 환경 정보 및 버전 별 테스트 환경 정보를 추출하고, 추출된 정보들에 대한 빌드를 수행하여, 적어도 하나의 에러 발생이 있는 정보를 수집 및 분류한 후, 해당 에러에 대한 솔루션을 생성하여 출력하도록 설정된 것을 특징으로 한다.Here, the processor extracts the development environment information for each version and the test environment information for each version from the container including the development information for each version, and performs a build on the extracted information, so that at least one error occurs. After collection and classification, it is characterized in that it is set to generate and output a solution for the corresponding error.

또한, 상기 프로세서는 상기 적어도 하나의 에러에 대한 모델링을 수행하고, 해당 에러 해결을 위해 수행된 개발 환경에서의 변경 이력을 버전 별 개발 정보를 토대로 추출하고, 상기 변경 이력을 기반으로 상기 에러 해결을 위한 상기 솔루션을 생성하도록 설정된 것을 특징으로 한다.In addition, the processor performs modeling for the at least one error, extracts a history of changes in the development environment performed for solving the error based on development information for each version, and performs the error resolution based on the change history It is characterized in that it is set to create the above solution for

여기서, 상기 프로세서는 상기 적어도 하나의 에러에 대한 범주화를 수행하고, 범주화된 에러들에 대한 상기 모델링을 수행하도록 설정된 것을 특징으로 한다.Here, the processor is characterized in that it is configured to categorize the at least one error and to perform the modeling for the categorized errors.

본 발명의 실시 예에 따른 실행 환경 관리 항목을 지원하는 컴퓨팅 장치는 소프트웨어 개발과 관련하여, 개발자 장치에서 작성된 버전 별 소스 코드들, 상기 버전 별 소스 코드들에 대응하는 버전별 개발 환경 정보, 상기 버전 별 소스 코드들의 테스트에 따라 버전별 테스트 환경 정보를 수집하는 프로세서, 상기 버전 별 소스 코드들, 상기 버전별 개발 환경 정보, 상기 버전별 테스트 환경 정보를 저장하는 메모리, 상기 소프트웨어 재사용 컴퓨팅 장치로부터의 요청에 따라 상기 버전 별 소스 코드들, 상기 버전별 개발 환경 정보, 상기 버전별 테스트 환경 정보를 상기 재사용 컴퓨팅 장치에 제공하는 통신 인터페이스를 포함하는 것을 특징으로 한다.The computing device supporting the execution environment management item according to an embodiment of the present invention relates to software development, source codes for each version written in the developer device, development environment information for each version corresponding to the source codes for each version, the version A processor that collects test environment information for each version according to the test of each source code, the source codes for each version, the development environment information for each version, a memory for storing the test environment information for each version, a request from the software reuse computing device and a communication interface for providing the source codes for each version, the development environment information for each version, and the test environment information for each version according to the method to the reuse computing device.

또한, 본 발명의 실시 예에 따른 소프트웨어 재사용을 위한 실행 환경 운용 방법은 소프트웨어 재사용과 관련하여, 실행 환경 관리를 지원하는 컴퓨팅 장치와 통신 채널을 형성하는 단계, 상기 컴퓨팅 장치로부터 상기 소프트웨어 개발 과정에서 작성된 버전 별 소스 코드에 대응하는 개발 환경 정보 및 상기 버전 별 소스 코드의 테스트에 따른 테스트 환경 정보를 포함하는 버전 별 개발 정보를 획득하는 단계, 상기 소프트웨어의 실행 환경 복원과 관련하여, 특정 버전의 개발 정보 선택에 대응하는 입력 신호를 수신하는 단계, 상기 입력 신호에 대응하여, 상기 특정 버전의 개발 정보에 포함된 개발 환경 정보 및 상기 특정 버전의 테스트 환경 정보의 실행 화면을 출력하는 단계를 포함하는 것을 특징으로 한다.In addition, the method for operating an execution environment for software reuse according to an embodiment of the present invention includes the steps of forming a communication channel with a computing device supporting execution environment management in relation to software reuse, and writing from the computing device in the software development process. Acquiring development information for each version including development environment information corresponding to the source code for each version and test environment information according to the test of the source code for each version, in relation to restoration of the execution environment of the software, development information of a specific version Receiving an input signal corresponding to selection, and outputting an execution screen of development environment information included in the development information of the specific version and the test environment information of the specific version in response to the input signal do it with

상기 방법은 상기 버전 별 개발 정보가 포함된 컨테이너에서 버전별 개발 환경 정보 및 버전 별 테스트 환경 정보를 추출하는 단계, 추출된 정보들에 대한 빌드를 수행하여, 적어도 하나의 에러 발생이 있는 정보를 수집 및 분류한 후, 해당 에러에 대한 솔루션을 생성하여 출력하는 단계를 더 포함하는 것을 특징으로 한다.The method includes extracting development environment information for each version and test environment information for each version from the container including the development information for each version, and performing a build on the extracted information to collect information with at least one error occurrence and after classifying, generating and outputting a solution for the corresponding error.

추가로, 상기 솔루션을 생성하여 출력하는 단계는 상기 적어도 하나의 에러들에 대한 범주화를 수행하는 단계, 상기 범주화된 에러들에 대한 모델링을 수행하는 단계, 상기 모델링에 대응하는 에러 해결을 위해 수행된 개발 환경에서의 변경 이력을 버전 별 개발 정보를 토대로 추출하는 단계, 상기 변경 이력을 기반으로 상기 에러 해결을 위한 상기 솔루션을 생성하는 단계를 포함하는 것을 특징으로 한다.Additionally, generating and outputting the solution may include performing categorization of the at least one error, performing modeling on the categorized errors, and performing error resolution corresponding to the modeling. Extracting the change history in the development environment based on the development information for each version, and generating the solution for resolving the error based on the change history.

상술한 본 발명은, 개발자의 의도와 소스 코드를 깊게 이해할 수 있도록 지원하고, 소스 코드에 대한 재사용성을 높이고, 소프트웨어에 대한 신뢰성과 품질을 보증할 수 있는 근거를 제공할 수 있다. The present invention described above can support a developer's intention and deep understanding of the source code, increase the reusability of the source code, and provide a basis for guaranteeing the reliability and quality of the software.

또한, 본 발명은 복원 과정에서 발생하는 에러에 대한 솔루션을 제공함으로써, 보다 쉬운 에러 복구 기능을 지원하여, 소프트웨어의 재사용성을 높이고, 적용하고자 하는 시스템 환경에 보다 쉽게 적용시킬 수 있도록 지원한다. In addition, the present invention supports an easier error recovery function by providing a solution to an error occurring in the restoration process, thereby increasing the reusability of software and allowing it to be more easily applied to a system environment to be applied.

도 1은 본 발명의 실시 예에 따른 소프트웨어 재사용 환경과 관련한 복원 기능을 지원하는 시스템 환경에 대한 개념의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 소프트웨어 재사용과 관련한 컴퓨팅 장치 구성의 한 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 소프트웨어 재사용 관련 복원 기능을 지원하는 시스템 환경의 각 단계별 운용 과정의 한 예를 나타내는 도면이다.
도 5는 도 4의 401 단계 및 403 단계에서의 시스템 운용을 보다 상세히 나타낸 도면이다.
도 6은 도 4의 405 단계에서의 시스템 운용을 보다 상세히 나타낸 도면이다.
도 7은 도 4의 405 단계에서의 시스템 운용의 다른 예를 나타낸 도면이다.
1 is a diagram illustrating an example of a concept of a system environment supporting a restoration function related to a software reuse environment according to an embodiment of the present invention.
2 is a diagram illustrating an example of a configuration of a computing device related to software reuse according to an embodiment of the present invention.
3 is a diagram illustrating an example of a processor configuration according to an embodiment of the present invention.
4 is a diagram illustrating an example of an operation process for each stage of a system environment supporting a software reuse-related restoration function according to an embodiment of the present invention.
5 is a diagram illustrating in more detail the operation of the system in steps 401 and 403 of FIG. 4 .
FIG. 6 is a diagram illustrating the system operation in step 405 of FIG. 4 in more detail.
FIG. 7 is a diagram illustrating another example of system operation in step 405 of FIG. 4 .

이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거하여 보다 상세하게 설명하면 다음과 같다. 물론 본 발명의 권리범위는 하기의 실시예에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 당해 기술분야의 통상적인 지식을 가진자에 의하여 다양하게 변형 실시될 수 있다.Hereinafter, preferred embodiments of the present invention will be described in more detail based on the accompanying drawings. Of course, the scope of the present invention is not limited to the following examples, and various modifications may be made by those of ordinary skill in the art without departing from the technical gist of the present invention.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 바람직한 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있다. The terms or words used in the present specification and claims described below should not be construed as being limited to their ordinary or dictionary meanings, and the inventors have appropriate concepts of terms to describe their invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined in Therefore, the embodiments described in this specification and the configurations shown in the drawings are only preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, so various equivalents that can be substituted for them at the time of the present application and variations.

이하에서 설명하는 본 발명의 컴퓨팅 장치 및 이의 운용 방법은 기존 시스템을 실행하고 변경하며 결과 값을 테스트 하는 과정을 통해, 소프트웨어의 각 부분의 소스 코드들의 연결과 전체적인 코드에 대해 깊은 이해를 가능하게 할 수 있다. 또한, 본 발명의 컴퓨팅 장치 및 이의 운용 방법은 소프트웨어의 개발 과정에서 수행된 테스트 통과 여부를 살펴볼 수 있는 기능을 제공함으로써, 개발자가 소프트웨어 개발 당시 발생한 문제해결을 위해 어떻게 소스 코드를 작성했는지 알 수 있어 재사용자가 중점적으로 분석해야 할 부분을 쉽게 식별할 수 있다. 이와 관련하여, 본 발명은 소프트웨어와 관련한 복수 버전의 소스 코드들과 해당 소스 코드들의 테스트 실행 환경 데이터(예: 개발 환경 정보, 테스트 환경 정보)를 매핑하여 저장 관리하고, 필요에 따라 테스트 컴퓨터 실행 환경을 복원하여 제공할 수 있다. 상기 테스트 환경 정보는 실행 결과가 더 포함될 수 있다. The computing device and its operating method of the present invention described below enable a deep understanding of the overall code and the connection of the source codes of each part of the software through the process of executing and changing the existing system and testing the result value. can In addition, the computing device and its operating method of the present invention provide a function to check whether the test performed during the software development process has passed, so that the developer can know how the source code was written to solve the problem that occurred at the time of software development. The reuser can easily identify the areas to focus on. In this regard, the present invention maps, stores and manages multiple versions of software-related source codes and test execution environment data (eg, development environment information, test environment information) of the source codes, and, if necessary, a test computer execution environment can be restored and provided. The test environment information may further include an execution result.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 보다 상세하게 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 소프트웨어 재사용 환경과 관련한 복원 기능을 지원하는 시스템 환경에 대한 개념의 한 예를 나타낸 도면이다.1 is a diagram illustrating an example of a concept of a system environment supporting a restoration function related to a software reuse environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 복원 기능을 지원하는 시스템 환경에 대한 개념도는 개발 항목(S100), 실행 환경 관리 항목(S200) 및 복원 항목(S300)을 포함할 수 있다. Referring to FIG. 1 , a conceptual diagram of a system environment supporting the restoration function of the present invention may include a development item S100 , an execution environment management item S200 , and a restoration item S300 .

상기 개발 항목(S100)은 개발자가 소프트웨어를 개발하는 과정에서, 소스 코드를 작성하고, 작성된 소스 코드를 저장하는 단계를 포함할 수 있다. 상기 개발 항목(S100)에서 개발자는 소스 코드 작성과 관련한 개발 환경 정보, 작성된 소스 코드의 테스트 실행에 대한 테스트 환경 정보 및 실행한 소스 코드를 S101 과정으로 실행 환경 관리 항목(S200)에 제공할 수 있다. 상기 실행 환경 관리 항목(S200)은 테스트 환경에서 에러가 발생한 경우, S102 과정으로 해당 에러 정보를 개발 항목(S100)에 제공할 수 있다. 개발자는 실행 환경 관리 항목(S200)이 제공한 에러 정보를 확인하고, 소프트웨어 개발 과정에서 발생된 해당 버전의 소스 코드에 대응하는 에러를 처리하기 위하여 소스 코드를 재작성하고, 재작성된 또는 변경된 버전의 소스 코드를 테스트 환경에서 테스트함으로써, 새로운 실행 결과를 도출할 수 있다. 상술한 바와 같이, 상기 개발 항목(S100)에서 수행된 복수 버전의 소스 코드에 대응하는 개발 환경 정보, 각 버전의 소스 코드가 실행된 테스트 환경 정보를 실행 환경 관리 항목(S200)에서 저장 관리될 수 있다. The development item ( S100 ) may include the steps of a developer writing a source code in the process of developing software, and storing the created source code. In the development item ( S100 ), the developer may provide development environment information related to source code creation, test environment information on test execution of the created source code, and the executed source code to the execution environment management item ( S200 ) as a process S101 . . When an error occurs in the test environment, the execution environment management item S200 may provide the corresponding error information to the development item S100 in the process S102. The developer checks the error information provided by the execution environment management item (S200) and rewrites the source code to handle the error corresponding to the source code of the corresponding version that occurred during the software development process, and By testing the source code in a test environment, new execution results can be derived. As described above, the development environment information corresponding to the multiple versions of the source code performed in the development item (S100) and the test environment information in which the source code of each version is executed can be stored and managed in the execution environment management item (S200) have.

상기 실행 환경 관리 항목(S200)은 개발 항목(S100)이 제공한 복수 버전의 소스 코드에 해당하는 개발 환경 정보, 복수 버전의 소스 코드가 실행된 복수의 테스트 환경 정보를 매핑하여 개발 정보로서 저장 관리할 수 있다. 상기 테스트 환경 정보에는 소스 코드의 실행에 따른 실행 결과 또는 실행에서 발생한 에러 정보 중 적어도 일부를 포함할 수 있다. 상기 실행 환경 관리 항목(S200)에서 저장되는 정보들은 해당 소프트웨어가 개발 시작 단계에서 완료 단계에 까지 이르는 동안의 개발 정보들(복수 버전의 소스 코드들에 해당하는 개발 환경 정보, 복수의 테스트 환경 정보)을 포함할 수 있다. 상기 실행 환경 관리 항목(S200)을 통해 수행되는 작업은 별도의 메모리 장치 또는 클라우드 서버 장치 등에 의해 수행될 수 있다. The execution environment management item S200 maps development environment information corresponding to multiple versions of the source code provided by the development item S100, and a plurality of test environment information in which the multiple versions of the source code are executed, and stores and manages them as development information. can do. The test environment information may include at least a portion of an execution result according to the execution of the source code or error information generated in the execution. The information stored in the execution environment management item S200 is development information (development environment information corresponding to a plurality of versions of source codes, a plurality of test environment information) may include The work performed through the execution environment management item S200 may be performed by a separate memory device or a cloud server device.

상기 복원 항목(S300)은 소프트웨어에 대한 개발이 완료된 이후, 해당 소프트웨어에 대한 재사용 요청이 발생한 경우 수행되는 항목을 포함할 수 있다. 예컨대, 소프트웨어 재사용자는 실행 환경 관리 항목(S200)이 수행되는 장치(예: 상기 메모리 장치 또는 클라우드 서버)에 접속하고, 자신이 필요로 하는 소프트웨어를 검색할 수 있다. 이와 관련하여 실행 환경 관리 항목(S200)은 개발이 완료된 소프트웨어 저장 과정에서 개발 정보들뿐만 아니라, 해당 소프트웨어의 특성 정보를 함께 저장하고, 복원 항목(S300)을 수행하는 장치(예: 프로젝트 진행 컴퓨팅 장치 또는 개발 완료된 소프트웨어 재사용을 희망하는 컴퓨팅 장치)의 접속에 따라, 소프트웨어를 검색할 수 있는 검색 화면을 제공할 수 있다. 이와 관련하여, 상기 특성 정보는 소프트웨어의 이름, 개발 시작 및 완료 날짜, 소프트웨어의 지원 기능, 적용 가능한 실행 환경 등의 정보를 포함할 수 있다. 상기 복원 항목(S300)은 상기 실행 환경 관리 항목(S200)에 필요로 하는 소프트웨어의 제공을 요청하고, 제공된 소프트웨어에 대한 설치 및 실행을 수행할 수 있다. 이 과정에서, 복원 항목(S300)은 해당 소프트웨어가 프로젝트를 진행 중인 컴퓨팅 장치와 문제가 발생한 경우, S301 과정으로, 실행 환경 관리 항목(S200)에 개발 정보를 요청할 수 있다. 이에 대응하여, 상기 실행 환경 관리 항목(S200)은 S302 과정으로, 복원 항목(S300)이 요구하는 개발 정보를 제공할 수 있다. 상기 실행 환경 관리 항목(S200)은 개발 정보에 포함된 복수의 소스 코드 리스트를 복원 항목(S300)에 제공하고, 복원 항목(S300)을 수행하는 컴퓨팅 장치의 조작에 따라 특정 버전의 소스 코드가 선택되면, 해당 버전의 소스 코드에 대응하는 개발 환경 정보, 이에 대응하는 테스트 환경 정보를 복원 항목(S300)에 제공할 수 있다. 이 과정에서, 상기 실행 환경 관리 항목(S200)은 각 정보들의 적어도 일부를 시각화하여 복원 항목(S300)에 제공할 수 있다. The restoration item ( S300 ) may include an item performed when a reuse request for the corresponding software occurs after the development of the software is completed. For example, the software re-user may access the device (eg, the memory device or the cloud server) on which the execution environment management item S200 is performed, and search for the software required by the software reuser. In this regard, the execution environment management item (S200) is a device (eg, a project progress computing device) that stores development information as well as characteristic information of the corresponding software in the process of storing the developed software, and performs the restoration item (S300). Alternatively, a search screen for searching for software may be provided according to the connection of a computing device that desires reuse of developed software). In this regard, the characteristic information may include information such as the name of the software, development start and completion dates, support functions of the software, and applicable execution environment. The restoration item (S300) may request the provision of software required for the execution environment management item (S200), and may perform installation and execution of the provided software. In this process, the restoration item ( S300 ) may request development information from the execution environment management item ( S200 ) as a process S301 , when a problem occurs with the computing device in which the software is in progress. Correspondingly, the execution environment management item ( S200 ) may provide the development information required by the restoration item ( S300 ) in a process S302 . The execution environment management item (S200) provides a plurality of source code lists included in the development information to the restoration item (S300), and a specific version of the source code is selected according to the operation of the computing device performing the restoration item (S300) When done, development environment information corresponding to the source code of the corresponding version and test environment information corresponding thereto may be provided to the restoration item S300. In this process, the execution environment management item ( S200 ) may visualize at least a portion of each piece of information and provide it to the restoration item ( S300 ).

상술한 바와 같이, 본 발명의 실시 예에 따른 소프트웨어 재사용 시스템 환경은 개발 시점의 실행 환경을 추출하고, 추출된 정보를 복원하여 제공할 수 있다. 여기서, 상기 실행 환경 정보는 개발 환경 정보 및 테스트 환경 정보를 포함하는 용어로 해석될 수 있다. 이러한 본 발명의 소프트웨어 재사용 시스템 환경은 소스 코드에 대응하는 개발 환경뿐만 아니라 테스트 환경까지 형상 관리 대상으로 저장 관리하고, 각 개발 환경 정보 및 각 테스트 환경 정보들을 Container 기술을 활용하여 하나의 실행 환경으로 구성한 뒤, 운용 환경 저장소에 저장하여 운용할 수 있다.As described above, the software reuse system environment according to an embodiment of the present invention may extract the execution environment at the time of development, restore the extracted information, and provide it. Here, the execution environment information may be interpreted as a term including development environment information and test environment information. The software reuse system environment of the present invention stores and manages not only the development environment corresponding to the source code but also the test environment as a configuration management target, and configures each development environment information and each test environment information into one execution environment by using the container technology. Afterwards, it can be stored and operated in the operating environment storage.

도 2는 본 발명의 실시 예에 따른 소프트웨어 재사용과 관련한 컴퓨팅 장치 구성의 한 예를 나타낸 도면이다. 도 2에서 설명하는, 소프트웨어 재사용과 관련한 컴퓨팅 장치(100)는 소프트웨어 개발과 관련한 개발 환경 정보 및 테스트 환경 정보를 포함하는 개발 정보를 저장 관리하는 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치(100), 상기 실행 환경 관리 항목(S200)에서 저장 관리하는 개발 정보를 수신하고, 개발 환경 정보, 테스트 환경 정보 중 적어도 하나를 시각화하여 출력할 수 있는 복원 항목(S300) 관련 컴퓨팅 장치(100) 중 적어도 하나를 포함할 수 있다. 또는, 하나의 컴퓨팅 장치(100)가 앞서 도 1에서 설명한 실행 환경 관리 항목(S200)을 지원하는 기능 및 복원 항목(S300)을 지원하는 기능을 동시 지원할 수 있다. 예컨대, 상기 컴퓨팅 장치(100)는 특정 소프트웨어의 개발 정보(예: 버전별 소스 코드, 개발 환경 정보, 테스트 환경 정보)를 수신하여 저장함으로써, 실행 환경 관리 항목(S200)의 적어도 일부 기능을 지원할 수 있으며, 사용자 조작에 따라, 해당 소프트웨어의 설치 또는 재사용 과정에서 특정 버전 소스 코드에 대한 개발 환경과 테스트 환경을 출력하는 기능을 지원할 수 있다. 이와 유사하게, 상기 컴퓨팅 장치(100)는 소프트웨어 개발을 수행하는 개발자 장치가 될 수도 있다.2 is a diagram illustrating an example of a configuration of a computing device related to software reuse according to an embodiment of the present invention. The computing device 100 related to software reuse described in FIG. 2 is an execution environment management item (S200) related computing device 100 for storing and managing development information including development environment information and test environment information related to software development; Receive development information stored and managed in the execution environment management item (S200), and visualize and output at least one of development environment information and test environment information. At least one of the restoration items (S300) related computing device 100 may include Alternatively, one computing device 100 may simultaneously support the function supporting the execution environment management item S200 and the function supporting the restoration item S300 described above with reference to FIG. 1 . For example, the computing device 100 may support at least some functions of the execution environment management item S200 by receiving and storing development information (eg, version-specific source code, development environment information, and test environment information) of specific software. Also, according to user manipulation, it is possible to support the function of outputting the development environment and test environment for a specific version source code in the process of installing or reusing the corresponding software. Similarly, the computing device 100 may be a developer device performing software development.

도 2를 참조하면, 본 발명의 실시 예에 따른 컴퓨팅 장치(100)는 통신 인터페이스(110), 메모리(130), 디스플레이(140), 입출력 장치(170) 및 프로세서(150)를 포함할 수 있다. 상기 입출력 장치(170)는 상기 컴퓨팅 장치(100)의 사용자 입력을 지원하고, 컴퓨팅 장치 운용과 관련한 정보 출력을 지원하는 장치로서, 설계 변경에 따라 생략될 수도 있다. Referring to FIG. 2 , the computing device 100 according to an embodiment of the present invention may include a communication interface 110 , a memory 130 , a display 140 , an input/output device 170 , and a processor 150 . . The input/output device 170 is a device that supports a user input of the computing device 100 and supports output of information related to operation of the computing device, and may be omitted according to a design change.

상기 통신 인터페이스(110)는 상기 컴퓨팅 장치(100)의 통신 기능을 지원할 수 있다. 상기 통신 인터페이스(110)는 유선 통신 채널 또는 무선 통신 채널 중 적어도 하나를 지원할 수 있는 적어도 하나의 통신 회로 및 무선 통신 채널을 지원하는 적어도 하나의 안테나를 포함할 수 있다. 예컨대, 상기 통신 인터페이스(110)는 프로세서(150) 제어에 대응하여, 다른 컴퓨팅 장치 또는 소프트웨어 개발 장치와 통신 채널을 형성하고, 다른 컴퓨팅 장치 또는 소프트웨어 개발 장치로부터 프로그램 개발에 따른 개발 환경 정보, 테스트 정보를 포함하는 개발 정보를 소스 코드 버전 별로 수신할 수 있다. 수신된 상기 버전별 개발 정보들은 프로세서(150) 제어에 대응하여 메모리(130)에 저장될 수 있다. 상기 소프트웨어가 컴퓨팅 장치(100)에서 개발된 경우, 상기 버전별 개발 정보들을 수신하는 통신 인터페이스(110) 구성은 생략될 수도 있다. The communication interface 110 may support a communication function of the computing device 100 . The communication interface 110 may include at least one communication circuit capable of supporting at least one of a wired communication channel and a wireless communication channel and at least one antenna supporting a wireless communication channel. For example, the communication interface 110 forms a communication channel with another computing device or software development device in response to the control of the processor 150 , and development environment information and test information according to program development from the other computing device or software development device You can receive development information including the source code version for each version. The received development information for each version may be stored in the memory 130 in response to the control of the processor 150 . When the software is developed in the computing device 100, the configuration of the communication interface 110 for receiving the development information for each version may be omitted.

상기 메모리(130)는 상기 컴퓨팅 장치(100) 구동에 필요한 프로그램 및 데이터를 저장할 수 있다. 특히, 상기 메모리(130)는 본 발명의 실시 예에 따른 실행 환경 관리 항목(S200)을 지원하는 저장 장치로서 동작할 수 있다. 예컨대, 상기 메모리(130)는 소프트웨어를 개발하는 개발자 장치가 제공한 개발 정보를 저장할 수 있다. 상기 개발 정보는 앞서 설명한 바와 같이, 특정 소프트웨어를 개발하는 과정에서 작성된 버전별 소스 코드(131), 또는 버전별 소스 코드(131)에 해당하는 개발 환경 정보(133), 각 버전별 소스 코드(131)를 실행하는 테스트 환경 정보(135)를 포함할 수 있다. 상기 테스트 환경 정보(135)에는 실행 결과가 포함될 수 있으며, 상기 실행 결과에는 에러 정보가 포함될 수 있다. 상기 메모리(130)는 에러 처리 AI(137)와 관련한 적어도 하나의 명령어 코드 또는 알고리즘 등이 저장될 수 있다. 에러 처리 AI(137)는 테스트 환경 정보(135)에 포함된 에러 정보를 추출하고, 해당 에러 정보를 처리할 수 있는 솔루션 정보를 출력할 수 있다. The memory 130 may store programs and data necessary for driving the computing device 100 . In particular, the memory 130 may operate as a storage device supporting the execution environment management item S200 according to an embodiment of the present invention. For example, the memory 130 may store development information provided by a developer device that develops software. As described above, the development information includes the source code 131 for each version, or development environment information 133 corresponding to the source code 131 for each version, and the source code 131 for each version created in the process of developing specific software, as described above. ) to run the test environment information 135 . The test environment information 135 may include an execution result, and the execution result may include error information. The memory 130 may store at least one command code or algorithm related to the error processing AI 137 . The error processing AI 137 may extract error information included in the test environment information 135 and output solution information capable of processing the error information.

상기 디스플레이(140)는 컴퓨팅 장치(100) 운용과 관련한 적어도 하나의 화면을 출력할 수 있다. 예컨대, 상기 컴퓨팅 장치(100)가 소프트웨어 개발에 이용되는 경우, 상기 디스플레이(140)는 개발 과정에 필요한 다양한 화면을 출력할 수 있다. 또는, 상기 디스플레이(140)는 소프트웨어 재사용과 관련하여, 재사용 소프트웨어를 제공하는 서버 장치 또는 메모리 장치 접속 화면, 사용자 입력에 따라 선택된 소프트웨어 수신 화면, 상기 재사용할 소프트웨어와 관련한 개발 정보 수신 화면, 상기 개발 정보 중 적어도 하나를 시각화한 정보 등을 출력할 수 있다. 상기 디스플레이(140)는 상기 메모리(130)에 저장된 버전별 소스 코드(131), 상기 버전별 소스 코드(131)들에 대응하는 개발 환경 정보(133), 상기 버전별 소스 코드(131)들에 대응하는 테스트 환경 정보(135) 중 적어도 하나를 출력할 수 있다. 또한, 상기 디스플레이(140)는 에러 처리 AI(137) 구동에 따른, 에러 정보 리스트, 에러 정보들에 대응하는 솔루션 정보 리스트 등을 출력할 수 있다. The display 140 may output at least one screen related to the operation of the computing device 100 . For example, when the computing device 100 is used for software development, the display 140 may output various screens necessary for the development process. Alternatively, in relation to software reuse, the display 140 may display a server device or memory device access screen that provides reused software, a software reception screen selected according to a user input, a development information reception screen related to the software to be reused, and the development information Information obtained by visualizing at least one of them may be output. The display 140 displays the source codes 131 for each version stored in the memory 130 , the development environment information 133 corresponding to the source codes 131 for each version, and the source codes 131 for each version. At least one of the corresponding test environment information 135 may be output. In addition, the display 140 may output an error information list, a solution information list corresponding to the error information, etc. according to the driving of the error processing AI 137 .

상기 입출력 장치(170)는 입력 장치 및 출력 장치를 포함할 수 있다. 상기 입출력 장치(170) 중 입력 장치는 상기 컴퓨팅 장치(100)에 대한 사용자 입력을 수행할 수 있는 적어도 하나의 입력 수단을 포함할 수 있다. 예컨대, 상기 입력 장치는 컴퓨팅 장치(100)와 기능적으로 연결된 키보드, 키패드, 마우스, 음성 입력 장치, 터치스크린, 터치 패드, 스타일러스 팬 및 그에 상응하는 전자 패널 중 적어도 하나를 포함할 수 있다. 상기 디스플레이(140)가 입력 기능(예: 터치 기능)을 포함하는 경우, 상기 디스플레이(140)는 상기 입출력 장치(170)의 한 구성이 될 수 있다. 상기 입출력 장치(170)는 소프트웨어 재사용과 관련한 다양한 입력 신호를 사용자 제어에 대응하여 생성할 수 있다. 예컨대, 상기 입출력 장치(170)는 재사용할 특정 소프트웨어를 해당 소프트웨어를 제공하는 서버 장치에서 선택하는 사용자 입력 신호, 재사용할 소프트웨어와 관련한 개발 정보 요청을 위한 입력 신호, 상기 개발 정보에서 특정 버전의 소스 코드에 대응하는 개발 환경 및 테스트 환경의 출력을 요청하는 입력 신호 중 적어도 하나를 사용자 제어에 대응하여 생성할 수 있다. 상기 사용자 입력 신호는 프로세서(150)에 전달되어, 대응되는 기능 수행 또는 화면 출력과 관련한 트리거 신호로 작용할 수 있다. The input/output device 170 may include an input device and an output device. An input device among the input/output devices 170 may include at least one input means capable of performing a user input to the computing device 100 . For example, the input device may include at least one of a keyboard, a keypad, a mouse, a voice input device, a touch screen, a touch pad, a stylus fan, and a corresponding electronic panel functionally connected to the computing device 100 . When the display 140 includes an input function (eg, a touch function), the display 140 may be a component of the input/output device 170 . The input/output device 170 may generate various input signals related to software reuse in response to user control. For example, the input/output device 170 is a user input signal for selecting a specific software to be reused from a server device that provides the software, an input signal for requesting development information related to software to be reused, and a source code of a specific version in the development information At least one of an input signal for requesting output of a development environment and a test environment corresponding to , may be generated in response to user control. The user input signal may be transmitted to the processor 150 and act as a trigger signal related to performing a corresponding function or outputting a screen.

상기 입출력 장치(170) 중 출력 장치는 상기 컴퓨팅 장치(100)와 기능적으로 연결되는 적어도 하나의 출력 수단을 포함할 수 있다. 예컨대, 상기 출력 장치는 지정된 텍스트 또는 이미지를 출력할 수 있는 상기 디스플레이(140)를 포함할 수 있다. 또한, 상기 출력 장치는 본 발명의 실시 예에 따른 소프트웨어 재사용과 관련한 다양한 오디오 정보를 출력할 수 있는 오디오 장치(예: 스피커)를 포함할 수 있다. 상기 출력 장치는 컴퓨팅 장치(100) 운용과 관련한 다양한 정보 출력을 위한 구성으로서, 유선 케이블 또는 무선으로 연결될 수 있는 독립된 장치를 포함할 수 있다. An output device among the input/output devices 170 may include at least one output means functionally connected to the computing device 100 . For example, the output device may include the display 140 capable of outputting a specified text or image. Also, the output device may include an audio device (eg, a speaker) capable of outputting various audio information related to software reuse according to an embodiment of the present invention. The output device is a configuration for outputting various information related to the operation of the computing device 100 , and may include a wired cable or an independent device that can be connected wirelessly.

상기 프로세서(150)는 상기 컴퓨팅 장치(100) 운용과 관련한 프로그램의 활성화, 프로그램 운용에 필요한 데이터의 전달 및 처리를 수행할 수 있다. 본 발명의 프로세서(150)는 소프트웨어 재사용과 관련한 적어도 하나의 알고리즘 또는 적어도 하나의 프로세스 처리를 수행할 수 있다. 이와 관련하여, 상기 프로세서(150)는 도 3에 도시된 바와 같은 구성을 포함할 수 있다. The processor 150 may activate a program related to the operation of the computing device 100 , and transfer and process data required for the operation of the program. The processor 150 of the present invention may perform at least one algorithm or at least one process related to software reuse. In this regard, the processor 150 may include a configuration as shown in FIG. 3 .

도 3은 본 발명의 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.3 is a diagram illustrating an example of a processor configuration according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시 예에 따른 프로세서(150) 구성은 소스 코드 수집부(151), 환경 정보 수집부(153), 매핑부(155), 저장 관리부(157), 에러 추출부(152), 모델링부(154) 및 솔루션 작성부(156)를 포함할 수 있다. 상기 소스 코드 수집부(151), 환경 정보 수집부(153), 매핑부(155), 저장 관리부(157), 에러 추출부(152), 모델링부(154) 및 솔루션 작성부(156) 중 적어도 하나는 적어도 하나의 하드웨어 프로세서로 구현될 수 있다. 또는, 상기 소스 코드 수집부(151), 환경 정보 수집부(153), 매핑부(155), 저장 관리부(157), 에러 추출부(152), 모델링부(154) 및 솔루션 작성부(156)는 소프트웨어 모듈로 마련된 후, 메모리(130)에 저장된 후, 하드웨어 프로세서에 의해 동작하여, 관련 기능을 수행하도록 구성될 수도 있다. Referring to FIG. 3 , the configuration of the processor 150 according to an embodiment of the present invention includes a source code collection unit 151 , an environment information collection unit 153 , a mapping unit 155 , a storage management unit 157 , and an error extraction unit. 152 , a modeling unit 154 , and a solution creation unit 156 may be included. At least one of the source code collection unit 151 , the environment information collection unit 153 , the mapping unit 155 , the storage management unit 157 , the error extraction unit 152 , the modeling unit 154 , and the solution creation unit 156 . One may be implemented with at least one hardware processor. Alternatively, the source code collection unit 151 , the environment information collection unit 153 , the mapping unit 155 , the storage management unit 157 , the error extraction unit 152 , the modeling unit 154 , and the solution creation unit 156 . After being prepared as a software module, stored in the memory 130, and then operated by a hardware processor, it may be configured to perform a related function.

상기 소스 코드 수집부(151)는 도 1에서 설명한 개발 항목(S100) 관련 컴퓨팅 장치가 소프트웨어 개발 과정에서 작성한 소스 코드를 수집하는 구성을 포함할 수 있다. 이에 따라, 상기 소스 코드 수집부(151)는 개발 항목(S100) 지원 컴퓨팅 장치에 마련되어, 개발자에 의해 작성된 소스 코드를 수집할 수 있다. 또는, 상기 소스 코드 수집부(151)는 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치에 포함되고, 개발자 장치가 소프트웨어 개발 과정에서 작성하는 소스 코드를 수집할 수 있다. 예컨대, 소스 코드 수집부(151)는 각 버전 별 소스 코드를 수집하고 관리할 수 있다. 상기 소스 코드 수집부(151)가 복원 항목(S300) 관련 컴퓨팅 장치에 포함되는 경우 소프트웨어 재사용자의 요청에 대응하여 재사용할 소프트웨어의 버전 별 소스 코드를 개발자 장치 또는 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치로부터 획득할 수 있다. 상술한 바와 같이, 소스 코드 수집부(151)는, 개발자 장치, 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치, 복원 항목(S300)과 관련한 컴퓨팅 장치 중 적어도 하나에 마련되어, 버전 별 소스 코드를 수집할 수 있다. The source code collection unit 151 may include a configuration in which the computing device related to the development item S100 described with reference to FIG. 1 collects the source code created in the software development process. Accordingly, the source code collection unit 151 may be provided in the computing device supporting the development item S100 and collect the source code written by the developer. Alternatively, the source code collection unit 151 may be included in the computing device related to the execution environment management item S200 and collect the source code that the developer device writes in the software development process. For example, the source code collection unit 151 may collect and manage the source code for each version. When the source code collection unit 151 is included in the computing device related to the restoration item (S300), in response to the request of the software reuser, the source code for each version of the software to be reused is collected by the developer device or the execution environment management item (S200) related computing It can be obtained from the device. As described above, the source code collection unit 151 is provided in at least one of the developer device, the computing device related to the execution environment management item (S200), and the computing device related to the restoration item (S300), and collects the source code for each version. can do.

상기 환경 정보 수집부(153)는 소프트웨어 개발 과정에서 각 버전 별 소스 코드에 대응하는 개발 환경 정보 및 테스트 수행에 따른 테스트 환경 정보를 수집할 수 있다. 이러한, 환경 정보 수집부(153)는 개발자 장치에서, 소프트웨어가 개발되는 과정에서, 각 버전 별 개발 환경 정보와 테스트 환경 정보를 수집하여 저장할 수 있다. 또는, 환경 정보 수집부(153)는 개발 환경 정보와 테스트 환경 정보를 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치에 제공할 수 있다. 또는, 상기 환경 정보 수집부(153)는 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치에 구현되어, 개발자 장치로부터 개발 환경 정보와 테스트 환경 정보를 수집할 수 있다. 추가로, 복원 항목(S300)과 관련한 컴퓨팅 장치에서, 환경 정보 수집부(153)가 구현되는 경우, 상기 환경 정보 수집부(153)는 재사용할 소프트웨어의 개발 환경 정보 및 테스트 환경 정보를 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치로부터 수집할 수 있다. 상술한 바와 같이, 환경 정보 수집부(153)는, 개발자 장치, 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치, 복원 항목(S300)과 관련한 컴퓨팅 장치 중 적어도 하나에 마련되어, 개발 환경 정보 및 테스트 환경 정보를 수집할 수 있다. The environment information collection unit 153 may collect development environment information corresponding to the source code for each version and test environment information according to test execution in the software development process. The environment information collection unit 153 may collect and store development environment information and test environment information for each version in a developer device, during software development. Alternatively, the environment information collection unit 153 may provide the development environment information and the test environment information to the computing device related to the execution environment management item S200. Alternatively, the environment information collection unit 153 may be implemented in a computing device related to the execution environment management item S200 to collect development environment information and test environment information from the developer device. In addition, when the environment information collection unit 153 is implemented in the computing device related to the restoration item S300 , the environment information collection unit 153 manages the execution environment for development environment information and test environment information of software to be reused. It may be collected from a computing device related to the item S200. As described above, the environment information collection unit 153 is provided in at least one of the developer device, the computing device related to the execution environment management item (S200), and the computing device related to the restoration item (S300), the development environment information and the test environment information can be collected.

상기 매핑부(155)는 상기 소스 코드 수집부(151) 및 상기 환경 정보 수집부(153)가 수집한 각 버전 별 소스 코드들 및 환경 정보들을 매핑하고, 매핑된 정보를 저장 관리부(157)에 전달할 수 있다. 이때, 상기 매핑부(155)는 각 버전 별 소스 코드와, 해당 소스 코드에 대응하는 개발 환경 정보, 해당 소스 코드 실행에 따른 테스트 환경 정보를 연관지어 매핑 정보를 생성할 수 있다. 상기 매핑부(155)는 개발자 장치, 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치 중 적어도 하나에 마련되어, 매핑 동작을 수행할 수 있다. The mapping unit 155 maps the source codes and environment information for each version collected by the source code collection unit 151 and the environment information collection unit 153 , and stores the mapped information in the storage management unit 157 . can transmit In this case, the mapping unit 155 may generate mapping information by associating the source code for each version, development environment information corresponding to the source code, and test environment information according to the execution of the source code. The mapping unit 155 may be provided in at least one of a developer device and a computing device related to the execution environment management item S200 to perform a mapping operation.

상기 저장 관리부(157)는 상기 소스 코드 수집부(151)가 수집한 버전 별 소스 코드, 상기 환경 정보 수집부(153)가 수집한 환경 정보들, 상기 매핑부(155)가 작성한 매핑 정보를 저장 관리할 수 있다. 저장 과정에서, 상기 저장 관리부(157)는 컨테이너(Container) 기술을 활용하여, 개발 시점의 소스 코드와, 개발 환경 정보, 테스트 환경 정보를 묶어서 저장 관리할 수 있다. 상기 저장 관리부(157)는 복원 항목(S300)과 관련한 컴퓨팅 장치가 특정 버전의 소스 코드, 개발 환경 정보, 테스트 환경 정보를 요구하는 경우, 해당 버전의 정보들을 검색하여 제공할 수 있다. The storage management unit 157 stores source codes for each version collected by the source code collection unit 151 , environment information collected by the environment information collection unit 153 , and mapping information created by the mapping unit 155 . can manage During the storage process, the storage management unit 157 may store and manage the source code at the time of development, development environment information, and test environment information by using a container technology. When the computing device related to the restoration item S300 requests source code, development environment information, and test environment information of a specific version, the storage management unit 157 may search for and provide information of the corresponding version.

상기 에러 추출부(152)는 상기 버전 별 소스 코드들의 테스트 과정에서 에러가 발생하는 부분들을 추출할 수 있다. 이러한 에러 추출 동작은 개발자 장치에서, 특정 버전의 소스 코드에 대한 테스트를 수행하는 과정에서 수행되거나, 또는 복원 항목(S300)과 관련한 컴퓨팅 장치에서 소프트웨어 재사용과 관련한 동작을 수행하는 과정에서 테스트 환경 정보를 토대로 수행될 수 있다. 상기 에러 추출부(152)는 추출된 에러 정보들을 별도 수집하고, 이를 모델링부(154)에 제공할 수 있다. The error extraction unit 152 may extract portions in which errors occur in the testing process of the source codes for each version. This error extraction operation is performed in the developer device, in the process of performing a test on a specific version of the source code, or in the process of performing an operation related to software reuse in the computing device related to the restoration item (S300), test environment information It can be done based on The error extraction unit 152 may separately collect the extracted error information and provide it to the modeling unit 154 .

상기 모델링부(154)는 상기 에러 추출부(152)에 의해 추출된 에러 정보들에 대한, 통계 분석 또는 지정된 알고리즘 적용을 통해, 에러 정보들에 대한 모델링을 수행할 수 있다. 예컨대, 상기 모델링부(154)는 재사용되는 소프트웨어의 어떠한 기능들에 대하여 어떠한 에러 정보들이 발생하고, 해당 에러 정보들이 소스 코드의 재작성 과정에서 어떻게 변화되는지에 대한 모델링을 수행할 수 있다. 이러한 모델링을 통해, 에러가 발생하는 주요 단계, 에러 해결을 위해 적용된 기법이나 방식, 해당 에러가 소프트웨어 구동에 미치는 영향 등을 쉽게 확인할 수 있도록 관련 정보들에 대한 리포트를 복원 항목(S300) 관련 컴퓨팅 장치에 제공할 수 있다. 상술한 모델링 생성 작업은 앞서 도 2에서 설명한 에러 처리 AI(137)에 의해 수행될 수 있다. The modeling unit 154 may perform modeling on the error information extracted by the error extraction unit 152 through statistical analysis or application of a designated algorithm. For example, the modeling unit 154 may perform modeling of what kind of error information is generated for certain functions of the reused software and how the error information is changed in the process of rewriting the source code. Through this modeling, a report on related information is restored so that the main steps in which the error occurs, the technique or method applied to solve the error, and the effect of the error on the software operation can be easily confirmed. can be provided to The above-described modeling generation operation may be performed by the error processing AI 137 described above with reference to FIG. 2 .

상기 솔루션 작성부(156)는 상기 모델링부(154)에서 생성한 모델링을 토대로, 재사용 소프트웨어를 특정 컴퓨팅 환경에서 적용하는 과정에서 발생한 에러와 관련한 솔루션을 생성할 수 있다. 이와 관련하여, 상기 솔루션 작성부(156)는 소프트웨어가 재사용되는 컴퓨팅 환경과 가장 유사한 테스트 환경 정보를 검출하고, 해당 테스트 환경에서 발생한 에러들 중 현재 발생한 에러와의 유사도가 지정된 값 이상인 에러를 검출하고, 해당 에러에 대한 해결에 적용된 방식이나 기법을 검출하여, 제공할 수 있다. 이 과정에서, 상기 솔루션 작성부(156)는 컴퓨팅 환경의 차이로 인하여 추가적으로 발생할 수 있는 문제를 추정하고, 이에 대한 해결 방안을 추천할 수 있다. 이러한 동작을 수행하는 상기 솔루션 작성부(156)는 도 2에서 설명한 에러 처리 AI(137)에 의해 구현될 수 있다. The solution creation unit 156 may generate a solution related to an error occurring in the process of applying the reuse software in a specific computing environment, based on the modeling generated by the modeling unit 154 . In this regard, the solution creation unit 156 detects test environment information most similar to the computing environment in which the software is reused, and detects errors in which the similarity with the currently occurring error is greater than or equal to a specified value among errors occurring in the corresponding test environment, , it is possible to detect and provide the method or technique applied to the resolution of the error. In this process, the solution preparation unit 156 may estimate a problem that may additionally occur due to a difference in the computing environment, and recommend a solution. The solution creation unit 156 that performs such an operation may be implemented by the error processing AI 137 described with reference to FIG. 2 .

상술한 바와 같이, 본 발명의 실시 예에 따른 소프트웨어 재사용과 관련한 시스템 환경에 포함되는 컴퓨팅 장치들은 실행 환경 시스템을 통한 실행 환경과 결과를 재현할 수 있도록 구축되고, 인공지능을 통해 실행 환경 복원 과정에서 발생할 수 있는 에러에 대한 해결 가이드라인 제시할 수 있다. 이와 관련하여, 본 발명의 시스템은 개발 당시에 수행한 데이터 및 테스트 환경까지 형상 관리 대상으로 관리하고, 이를 복원하여 소프트웨어 재사용자 또는 유지 보수자가 개발자의 테스팅(또는 테스트 환경)을 재현할 수 있도록 하여 효과적으로 소프트웨어 재사용이 가능하도록 지원할 수 있다. As described above, computing devices included in the system environment related to software reuse according to an embodiment of the present invention are built to reproduce the execution environment and results through the execution environment system, and in the process of restoring the execution environment through artificial intelligence Guidelines for solving possible errors can be suggested. In this regard, the system of the present invention manages data and test environment performed at the time of development as a configuration management object, and restores it so that a software reuser or maintainer can reproduce the developer's testing (or test environment) effectively. It can support software reuse.

도 4는 본 발명의 실시 예에 따른 소프트웨어 재사용 관련 복원 기능을 지원하는 시스템 환경의 각 단계별 운용 과정의 한 예를 나타내는 도면이다.4 is a diagram illustrating an example of an operation process for each stage of a system environment supporting a software reuse-related restoration function according to an embodiment of the present invention.

도 4를 참조하면, 401 단계에서, 개발자 장치에서, 개발자 작업에 따라 소프트웨어가 개발될 수 있다. 이때, 개발자 장치는 개발 도구로 소프트웨어를 개발하면서, 개발 환경 및 실행 환경 (또는 테스트 환경)을 각각 추출하고 저장 관리할 수 있다. 개발 환경은 개발 도구와 함께 매핑되어 개발 환경 저장소에 저장될 수 있다. 실행 환경은 웹 서버 정보와 함께 실행 환경 저장소에 저장될 수 있다. 상기 개발 환경과 개발 도구, 실행 환경과 웹 서버 이용과 관련하여, 개발자 장치는 가상 환경을 제공하며, 해당 가상 환경 지원을 위한 OS를 포함할 수 있다.Referring to FIG. 4 , in operation 401 , software may be developed in a developer device according to a developer task. In this case, the developer device may extract, store, and manage a development environment and an execution environment (or a test environment), respectively, while developing software with a development tool. The development environment may be mapped with the development tools and stored in the development environment repository. The execution environment may be stored in the execution environment repository along with the web server information. In relation to the use of the development environment, development tools, execution environment, and web server, the developer device provides a virtual environment and may include an OS for supporting the virtual environment.

403 단계에서, 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치는 실행 환경을 재구성하고, 이를 운용 환경 클라우드 저장소에 저장 관리할 수 있다. 이와 관련하여, 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치는 개발 환경 저장소에 저장된 개발 환경 및 개발 도구들의 정보를 수집하고, 실행 환경 저장소에 저장된 실행 환경 및 웹 서버 정보들을 수집할 수 있다. 상기 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치는 수집된 정보들에 대하여 각 소스 코드의 버전 별로 재배치하고, 버전 기준으로 컨테이너에 담아 운용 환경 클라우드 저장소에 저장할 수 있다. 이에 따라, 운용 환경 클라우드 저장소에는 각 버전 별 실행 환경 정보(예: 실행 환경 1.0, 실행 환경 1.1)가 저장될 수 있다. In step 403 , the computing device related to the execution environment management item S200 may reconfigure the execution environment and store and manage it in the operating environment cloud storage. In this regard, the computing device related to the execution environment management item S200 may collect information on the development environment and development tools stored in the development environment storage, and collect information on the execution environment and web server stored in the execution environment storage. The computing device related to the execution environment management item S200 may rearrange the collected information for each version of each source code, put it in a container based on the version, and store it in the operating environment cloud storage. Accordingly, execution environment information (eg, execution environment 1.0, execution environment 1.1) for each version may be stored in the operating environment cloud storage.

405 단계에서, 복원 항목(S300) 관련 컴퓨팅 장치는 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치로부터 재사용할 소프트웨어를 수신하고, 해당 소프트웨어에 대한 실행 환경 복원을 수행할 수 있다. 이와 관련하여, 상기 복원 항목(S300)과 관련한 컴퓨팅 장치는 실행 환경 관리 항목(S200)과 관련한 컴퓨팅 장치에 버전 별 실행 환경 정보를 요청하고, 이를 수신하여 출력할 수 있다. 이와 관련하여, 405 단계에서, 복원 항목(S300) 관련 컴퓨팅 장치는 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치로부터 정보들을 수집하고, 복원을 해당 컴퓨팅 장치에서 수행할 수 있다. 또는, 405 단계에서, 복원 항목(S300) 관련 컴퓨팅 장치의 요청에 따라, 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치가 소프트웨어 관련 개발 정보의 복원을 수행하고, 시각화된 수행 결과를 복원 항목(S300) 관련 컴퓨팅 장치에 제공할 수도 있다.In step 405 , the computing device related to the restoration item S300 may receive software to be reused from the computing device related to the execution environment management item S200 , and restore the execution environment for the corresponding software. In this regard, the computing device related to the restoration item S300 may request execution environment information for each version from the computing device related to the execution environment management item S200, receive it, and output it. In this regard, in step 405 , the restoration item ( S300 ) related computing device may collect information from the execution environment management item ( S200 ) related computing device and perform restoration in the corresponding computing device. Alternatively, in step 405, according to the request of the computing device related to the restoration item (S300), the computing device related to the execution environment management item (S200) performs restoration of software-related development information, and restores the visualized performance result to the restoration item (S300) It may also be provided to a related computing device.

도 5는 도 4의 401 단계 및 403 단계에서의 시스템 운용을 보다 상세히 나타낸 도면이다. 5 is a diagram illustrating in more detail the operation of the system in steps 401 and 403 of FIG. 4 .

도 5를 참조하면, 개발자 장치는 개발자의 소프트웨어 개발 과정에서 작성된 소스 코드들을 소스 코드 저장소(130a)에 저장할 수 있다. 이에 따라, 상기 소스 코드 저장소(130a)에는 버전 별 소스 코드들(Sn, ... S3, S2, S1)과, 버전 별 변경 이력이 저장될 수 있다. 상기 소스 코드 저장소(130a)에 저장된 버전 별 소스 코드들(Sn, ... S3, S2, S1)은 테스트 환경 저장소(130b)에 저장된 버전 별 테스트 환경 정보들(En, ... E3, E2, E1)과 매핑되어 컨테이너 방식에 따라 저장될 수 있다. 또한, 개발자 장치는 개발자가 개발한 소스 코드들의 테스트 실행에 따른 정보 예컨대, 테스트 환경 정보를 테스트 환경 저장소(130b)에 저장할 수 있다. 이에 따라, 테스트 환경 저장소(130b)에는 버전 별 테스트 환경 정보들(En, ... E3, E2, E1)이 저장되고, 상기 버전 별 테스트 환경 정보들(En, ... E3, E2, E1)은 상기 버전 별 소스 코드 들(Sn, ... S3, S2, S1)과 매핑되어 저장될 수 있다. 이때, 운용 환경 클라우드 저장소(130c)에는, 상기 매핑된 버전 별 소스 코드들(Sn, ... S3, S2, S1)과 상기 버전 별 테스트 환경 정보들(En, ... E3, E2, E1)이 각 버전 별(또는 타이밍 별)(예: tn, ..., t3, t2, t1)로 저장될 수 있다. 이에 따라, 운용 환경 클라우드 저장소(130c)에 저장된 정보는, 특정 버전의 소스 코드 또는 개발 환경 정보 및 특정 버전의 테스트 환경 정보가 컨테이너로 묶여서, 개발 정보로서 저장될 수 있다. Referring to FIG. 5 , the developer device may store the source codes written in the developer's software development process in the source code storage 130a. Accordingly, the source code storage 130a for each version may store source codes S n , ... S 3 , S 2 , S 1 and change histories for each version. The source codes for each version (S n , ... S 3 , S 2 , S 1 ) stored in the source code repository 130a are version-specific test environment information (E n , . .. E 3 , E 2 , E 1 ) may be mapped and stored according to the container method. In addition, the developer device may store information according to test execution of source codes developed by the developer, for example, test environment information, in the test environment storage 130b. Accordingly, the test environment storage 130b stores the test environment information for each version (E n , ... E 3 , E 2 , E 1 ), and the test environment information for each version (E n , ... E 3 , E 2 , E 1 ) may be stored by being mapped with the version-specific source codes S n , ... S 3 , S 2 , S 1 . At this time, in the operating environment cloud storage 130c, the mapped version-specific source codes (S n , ... S 3 , S 2 , S 1 ) and the version-specific test environment information (E n , ... E 3 , E 2 , E 1 ) may be stored for each version (or by timing) (eg, t n , ..., t 3 , t 2 , t 1 ). Accordingly, information stored in the operating environment cloud storage 130c may be stored as development information by binding a specific version of source code or development environment information and a specific version of test environment information into a container.

도 6은 도 4의 405 단계에서의 시스템 운용을 보다 상세히 나타낸 도면이다.FIG. 6 is a diagram illustrating the system operation in step 405 of FIG. 4 in more detail.

도 6을 참조하면, 도 5에서 설명한 운용 환경 클라우드 저장소(130c)에 저장된 개발 정보는 해당 소프트웨어를 재사용하기 위한 요청에 따라, 복원 항목(S300)과 관련한 컴퓨팅 장치에 제공될 수 있다. 이 과정에서, 운용 환경 클라우드 저장소(130c)에 저장된, 재사용될 소프트웨어와 관련한 각 버전 별 컨테이너들(610)이 추출될 수 있다. 상기 컨테이너들(610)에 포함된 테스트 환경 정보를 기반으로, 실행 결과가 이미지들(620)로 출력될 수 있다. 컨테이너들(610)에 포함된 정보들 중 실행되지 않은 에러 정보들은 에러 처리 AI(137)에 의해 수집되고 관리될 수 있다. 예컨대, 에러 처리 AI(137)는 에러 처리 동작(630)에서, 컨테이너들(610)에 포함된 정보들 중 에러 정보들(예: Error 1, Error 2, ... Error n)을 수집하고, 수집된 에러 정보들에 대한 모델링을 수행할 수 있다. 상기 에러 처리 AI(137)는 모델링된 정보들을 토대로 솔루션들(예: Solution A, Solution B, ..., Solution Z)을 작성하고, 이를 복원 항목(S300) 관련 컴퓨팅 장치에 제공할 수 있다. 이에 따라, 복원 항목(S300) 관련 컴퓨팅 장치는 버전 별 개발 정보들을 디스플레이를 통해 출력할 수 있다. 또한, 복원 항목(S300) 관련 컴퓨팅 장치는 특정 버전의 개발 정보(예: 특정 버전의 소스 코드 또는 대응되는 개발 환경, 특정 버전의 테스트 환경 정보)를 선택할 수 있는 화면, 선택에 따른 개발 정보의 상세 정보가 표시되는 화면 등을 제공함으로써, 소프트웨어 재사용자가 해당 소프트웨어 개발과 관련한 개발 환경 정보 및 테스트 환경 정보를 쉽게 확인할 수 있도록 지원할 수 있다. Referring to FIG. 6 , the development information stored in the operating environment cloud storage 130c described in FIG. 5 may be provided to the computing device related to the restoration item S300 in response to a request to reuse the corresponding software. In this process, containers 610 for each version related to software to be reused and stored in the operating environment cloud storage 130c may be extracted. Based on the test environment information included in the containers 610 , execution results may be output as images 620 . Unexecuted error information among the information included in the containers 610 may be collected and managed by the error processing AI 137 . For example, the error processing AI 137 collects error information (eg, Error 1, Error 2, ... Error n) among the information included in the containers 610 in the error processing operation 630 , Modeling can be performed on the collected error information. The error processing AI 137 may create solutions (eg, Solution A, Solution B, ..., Solution Z) based on the modeled information, and provide them to the computing device related to the restoration item (S300). Accordingly, the computing device related to the restoration item S300 may output development information for each version through the display. In addition, the restoration item (S300) related computing device is a screen for selecting a specific version of the development information (eg, a specific version of the source code or corresponding development environment, the specific version of the test environment information), the details of the development information according to the selection By providing a screen on which information is displayed, it is possible to support software reusers to easily check development environment information and test environment information related to software development.

도 7은 도 4의 405 단계에서의 시스템 운용의 다른 예를 나타낸 도면이다.7 is a diagram illustrating another example of system operation in step 405 of FIG. 4 .

도 7을 참조하면, 405 단계에서, 복원 항목(S300) 관련 컴퓨팅 장치 또는 실행 환경 관리 항목(S200) 관련 컴퓨팅 장치는 701 단계에서 저장소(예; 운용 환경 클라우드 저장소)에 저장된 데이터들을 수집할 수 있다. Referring to FIG. 7 , in step 405 , the computing device related to the restoration item ( S300 ) or the computing device related to the execution environment management item ( S200 ) may collect data stored in the storage (eg, operating environment cloud storage) in step 701 . .

상기 컴퓨팅 장치는 703 단계에서, 수집된 정보들(예: 버전 별 소스 코드들)을 재사용 소프트웨어를 사용할 컴퓨팅 환경에서의 빌드를 수행할 수 있다. 빌드 과정에서 정상 동작하는 소스 코드와, 에러가 발생하는 소스 코드가 존재할 수 있다. In step 703 , the computing device may build the collected information (eg, source codes for each version) in a computing environment in which reuse software is used. During the build process, there may be source code that operates normally and source code that generates an error.

이에 따라, 컴퓨팅 장치는 705 단계에서, 빌드 결과에 대한 범주화를 수행할 수 있다. 즉, 컴퓨팅 장치는 에러가 발생한 정보들만을 별도로 수집하고, 수집된 정보들을 지정된 기준에 따라 분류할 수 있다. 예컨대, 컴퓨팅 장치는 유사한 종류의 에러들을 클래스별(예: Class A, Class B, ... Class C)로 분류할 수 있다. Accordingly, the computing device may categorize the build results in operation 705 . That is, the computing device may separately collect only information in which an error has occurred, and classify the collected information according to a specified criterion. For example, the computing device may classify similar types of errors into classes (eg, Class A, Class B, ... Class C).

707 단계에서, 상기 컴퓨팅 장치는 범주화된 정보들에 대한 모델링을 수행할 수 있다. 예컨대, 컴퓨팅 장치의 에러 처리 AI(137)는 범주화된 정보들의 공통점들을 추출할 수 있다. In operation 707, the computing device may perform modeling on the categorized information. For example, the error handling AI 137 of the computing device may extract commonalities of categorized information.

상기 에러 처리 AI(137)는 709 단계에서, 추출된 에러들과 관련한 테스트 환경 정보들의 이력(예: 변경 이력)을 확인하여, 어떠한 소스 코드들의 변경에 따라 해당 에러가 제거되거나 또는 변형되었는지를 확인하고, 이를 기반으로, 복원 항목(S300) 관련 컴퓨팅 장치에서의 솔루션을 작성하여 제공할 수 있다. The error processing AI 137 checks the history (eg, change history) of test environment information related to the extracted errors in step 709, and confirms whether the corresponding error has been removed or modified according to which source codes are changed And, based on this, it is possible to create and provide a solution in the computing device related to the restoration item (S300).

상술한 본 발명의 컴퓨팅 장치 및 이의 운용 방법은 개발 환경 및 실행 환경 설정의 자동화를 지원하며, 새로운 개발자가 팀에 합류하거나, 이전에 변경된 내용을 사용하기 위해 새롭게 구축해야 하는 프로젝트의 개발 환경 및 실행 환경을 자동으로 구축할 수 있도록 지원한다. 또한, 본 발명은 가장 널리 사용하고 있는 빌드 도구인 Gradle을 사용한 에러에 대한 해결을 자동으로 쉽게 해결할 수 있도록 할 수 있으며, 효율적인 테스팅 수행을 위한 환경 구축을 지원할 수 있다. 상술한 본 발명은 Build Error에 대한 오류메시지만 제공하는 것이 아닌 인공지능을 통한 자동 오류 해결 혹은 해결책을 제시하고, 다른 빌드 도구인 Ant/Maven/Make까지도 동일 기법을 확장하여 적용할 수 있도록 지원한다. 이상에서 설명한 바와 같이, 본 발명은 새로운 프로젝트에 확장 가능한 형태로 소프트웨어를 재사용하기 위하여 실행 가능한 코드 분석 수행을 지원하며, SW(software) 테스팅에 실행 가능한 코드 리뷰를 지원하여 코드 분석 담당자는 개발자의 개발 환경을 동기화하기 위한 비용을 저감할 수 있다. 이러한 본 발명은 실질적으로 소프트웨어 재사용에 도움이 될 수 있는 새로운 접근 방법인 실행 환경 복원까지 서비스를 확대해 시장 경쟁력을 확보할 수 있다.The computing device of the present invention and its operating method described above support automation of setting up a development environment and execution environment, and a development environment and execution of a project that must be newly built in order for a new developer to join a team or use previously changed contents. It supports to build the environment automatically. In addition, the present invention can automatically and easily resolve errors using Gradle, the most widely used build tool, and can support the construction of an environment for efficient testing. The present invention described above does not only provide an error message for Build Error, but provides automatic error resolution or solution through artificial intelligence, and supports to extend and apply the same technique to other build tools Ant/Maven/Make. . As described above, the present invention supports execution of executable code analysis to reuse software in an expandable form in a new project, and supports executable code review for SW (software) testing, so that the person in charge of code analysis The cost for synchronizing the environment can be reduced. The present invention can secure market competitiveness by extending the service to the restoration of the execution environment, which is a new approach that can actually help software reuse.

한편, 본 명세서와 도면에 개시된 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.On the other hand, the embodiments disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

100: 컴퓨팅 장치
110: 통신 인터페이스
130: 메모리
140: 디스플레이
150: 프로세서
151: 소스 코드 수집부
152: 에러 추출부
153: 환경 정보 수집부
154: 모델링부
155: 매핑부
156: 솔루션 작성부
157: 저장 관리부
100: computing device
110: communication interface
130: memory
140: display
150: processor
151: source code collection unit
152: error extraction unit
153: Environmental Information Collection Department
154: modeling unit
155: mapping unit
156: solution builder
157: storage management unit

Claims (8)

소프트웨어 개발 과정에서 작성된 버전 별 소스 코드에 대응하는 개발 환경 정보 및 상기 버전 별 소스 코드의 테스트에 따른 테스트 환경 정보를 포함하는 버전 별 개발 정보를 저장하는 메모리;
상기 메모리와 기능적으로 연결되는 프로세서;를 포함하고,
상기 프로세서는
상기 소프트웨어의 실행 환경 복원과 관련하여, 특정 버전의 개발 정보 선택에 대응하는 입력 신호를 수신하고,
상기 입력 신호에 대응하여, 상기 특정 버전의 개발 정보에 포함된 개발 환경 정보 및 상기 특정 버전의 테스트 환경 정보의 실행 화면을 출력하도록 설정된 것을 특징으로 하는 컴퓨팅 장치.
a memory for storing development information for each version including development environment information corresponding to the source code for each version created in the software development process and test environment information according to the test of the source code for each version;
A processor that is functionally connected to the memory;
the processor
Receiving an input signal corresponding to selection of a specific version of development information in relation to restoration of the execution environment of the software;
In response to the input signal, the computing device characterized in that it is set to output an execution screen of the development environment information included in the development information of the specific version and the test environment information of the specific version.
제1항에 있어서,
상기 프로세서는
상기 버전 별 개발 정보가 포함된 컨테이너에서 버전별 개발 환경 정보 및 버전 별 테스트 환경 정보를 추출하고, 추출된 정보들에 대한 빌드를 수행하여, 적어도 하나의 에러 발생이 있는 정보를 수집 및 분류한 후, 해당 에러에 대한 솔루션을 생성하여 출력하도록 설정된 것을 특징으로 하는 컴퓨팅 장치.
According to claim 1,
the processor is
After extracting development environment information for each version and test environment information for each version from the container including the development information for each version, and performing a build on the extracted information, information having at least one error occurrence is collected and classified , Computing device, characterized in that it is set to generate and output a solution for the corresponding error.
제1항에 있어서,
상기 프로세서는
상기 적어도 하나의 에러에 대한 모델링을 수행하고, 해당 에러 해결을 위해 수행된 개발 환경에서의 변경 이력을 버전 별 개발 정보를 토대로 추출하고, 상기 변경 이력을 기반으로 상기 에러 해결을 위한 상기 솔루션을 생성하도록 설정된 것을 특징으로 하는 컴퓨팅 장치.
According to claim 1,
the processor is
Modeling the at least one error, extracting a history of changes in the development environment performed to solve the error based on development information for each version, and generating the solution for solving the error based on the change history Computing device, characterized in that set to.
제3항에 있어서,
상기 프로세서는
상기 적어도 하나의 에러에 대한 범주화를 수행하고, 범주화된 에러들에 대한 상기 모델링을 수행하도록 설정된 것을 특징으로 하는 컴퓨팅 장치.
4. The method of claim 3,
the processor is
The computing device is configured to perform categorization on the at least one error and perform the modeling on the categorized errors.
소프트웨어 개발과 관련하여, 개발자 장치에서 작성된 버전 별 소스 코드들, 상기 버전 별 소스 코드들에 대응하는 버전별 개발 환경 정보, 상기 버전 별 소스 코드들의 테스트에 따라 버전별 테스트 환경 정보를 수집하는 프로세서;
상기 버전 별 소스 코드들, 상기 버전별 개발 환경 정보, 상기 버전별 테스트 환경 정보를 저장하는 메모리;
상기 소프트웨어 재사용 컴퓨팅 장치로부터의 요청에 따라 상기 버전 별 소스 코드들, 상기 버전별 개발 환경 정보, 상기 버전별 테스트 환경 정보를 상기 재사용 컴퓨팅 장치에 제공하는 통신 인터페이스;를 포함하는 실행 환경 관리를 지원하는 컴퓨팅 장치.
In relation to software development, a processor for collecting version-specific source codes written in a developer device, version-specific development environment information corresponding to the version-specific source codes, and version-specific test environment information according to testing of the version-specific source codes;
a memory for storing the source codes for each version, development environment information for each version, and test environment information for each version;
Supporting execution environment management including; a communication interface for providing the source codes for each version, the development environment information for each version, and the test environment information for each version according to a request from the software reuse computing device to the reuse computing device computing device.
소프트웨어 재사용과 관련하여, 실행 환경 관리를 지원하는 컴퓨팅 장치와 통신 채널을 형성하는 단계;
상기 컴퓨팅 장치로부터 상기 소프트웨어 개발 과정에서 작성된 버전 별 소스 코드에 대응하는 개발 환경 정보 및 상기 버전 별 소스 코드의 테스트에 따른 테스트 환경 정보를 포함하는 버전 별 개발 정보를 획득하는 단계;
상기 소프트웨어의 실행 환경 복원과 관련하여, 특정 버전의 개발 정보 선택에 대응하는 입력 신호를 수신하는 단계;
상기 입력 신호에 대응하여, 상기 특정 버전의 개발 정보에 포함된 개발 환경 정보 및 상기 특정 버전의 테스트 환경 정보의 실행 화면을 출력하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 재사용을 위한 실행 환경 운용 방법.
with respect to software reuse, establishing a communication channel with a computing device that supports execution environment management;
acquiring, from the computing device, development information for each version including development environment information corresponding to the source code for each version created in the software development process, and test environment information according to the test of the source code for each version;
Receiving an input signal corresponding to selection of development information of a specific version in relation to restoration of the execution environment of the software;
In response to the input signal, outputting an execution screen of the development environment information included in the development information of the specific version and the test environment information of the specific version; .
제6항에 있어서,
상기 버전 별 개발 정보가 포함된 컨테이너에서 버전별 개발 환경 정보 및 버전 별 테스트 환경 정보를 추출하는 단계;
추출된 정보들에 대한 빌드를 수행하여, 적어도 하나의 에러 발생이 있는 정보를 수집 및 분류한 후, 해당 에러에 대한 솔루션을 생성하여 출력하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 재사용을 위한 실행 환경 운용 방법.
7. The method of claim 6,
extracting development environment information for each version and test environment information for each version from the container including the development information for each version;
Performing a build on the extracted information, collecting and classifying information having at least one error occurrence, generating and outputting a solution for the corresponding error; for software reuse, characterized in that it further comprises How to operate the execution environment.
제7항에 있어서,
상기 솔루션을 생성하여 출력하는 단계는
상기 적어도 하나의 에러들에 대한 범주화를 수행하는 단계;
상기 범주화된 에러들에 대한 모델링을 수행하는 단계;
상기 모델링에 대응하는 에러 해결을 위해 수행된 개발 환경에서의 변경 이력을 버전 별 개발 정보를 토대로 추출하는 단계;
상기 변경 이력을 기반으로 상기 에러 해결을 위한 상기 솔루션을 생성하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 재사용을 위한 실행 환경 운용 방법.
8. The method of claim 7,
The step of generating and outputting the solution is
performing categorization of the at least one error;
performing modeling on the categorized errors;
extracting a history of changes in a development environment performed to resolve errors corresponding to the modeling based on development information for each version;
and generating the solution for resolving the error based on the change history.
KR1020200154009A 2020-11-17 2020-11-17 Operating Method of Execution Environment for reuse of software and computing device supporting the same KR102425387B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200154009A KR102425387B1 (en) 2020-11-17 2020-11-17 Operating Method of Execution Environment for reuse of software and computing device supporting the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154009A KR102425387B1 (en) 2020-11-17 2020-11-17 Operating Method of Execution Environment for reuse of software and computing device supporting the same

Publications (2)

Publication Number Publication Date
KR20220067384A true KR20220067384A (en) 2022-05-24
KR102425387B1 KR102425387B1 (en) 2022-07-25

Family

ID=81807353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154009A KR102425387B1 (en) 2020-11-17 2020-11-17 Operating Method of Execution Environment for reuse of software and computing device supporting the same

Country Status (1)

Country Link
KR (1) KR102425387B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182908A (en) * 2000-12-15 2002-06-28 Mitsubishi Electric Corp Traceability device among s/w development processes
KR101550652B1 (en) * 2013-05-28 2015-09-07 에스코어 주식회사 Method and apparatus for providing program development environment
KR20180061589A (en) * 2016-11-30 2018-06-08 주식회사 플루이딕 Software build system and software build method using the system
KR20180083531A (en) * 2017-01-13 2018-07-23 한국전자통신연구원 Test automation system and test automation method for satellite control software
KR102109461B1 (en) * 2020-02-17 2020-05-12 주식회사 제이윈파트너스 Project Automation Assistance System with Micro Service Architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182908A (en) * 2000-12-15 2002-06-28 Mitsubishi Electric Corp Traceability device among s/w development processes
KR101550652B1 (en) * 2013-05-28 2015-09-07 에스코어 주식회사 Method and apparatus for providing program development environment
KR20180061589A (en) * 2016-11-30 2018-06-08 주식회사 플루이딕 Software build system and software build method using the system
KR20180083531A (en) * 2017-01-13 2018-07-23 한국전자통신연구원 Test automation system and test automation method for satellite control software
KR102109461B1 (en) * 2020-02-17 2020-05-12 주식회사 제이윈파트너스 Project Automation Assistance System with Micro Service Architecture

Also Published As

Publication number Publication date
KR102425387B1 (en) 2022-07-25

Similar Documents

Publication Publication Date Title
US10354225B2 (en) Method and system for process automation in computing
CN102934114B (en) For the checkpoint of file system
US9465726B2 (en) Abstract layer for automatic user interface testing
US8813024B2 (en) System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
CN100375017C (en) Method and apparatus for incrementally processing program annotations
US7937698B2 (en) Extensible mechanism for automatically migrating resource adapter components in a development environment
US20090049438A1 (en) Method for Optimizing Migration of Software Applications to Address Needs
US20120167104A1 (en) System and method for extending legacy applications with undo/redo functionality
CN103336705A (en) Automatic transcoding and semantic adaptation between scripting and workflow systems
CN102375734B (en) Application product development system, method and device and operation system, method and device
US8250554B2 (en) Systems and methods for generating and distributing executable procedures for technical desk-side support
CN115576600A (en) Code change-based difference processing method and device, terminal and storage medium
Dumas et al. Robotic Process Mining.
KR102425387B1 (en) Operating Method of Execution Environment for reuse of software and computing device supporting the same
CN102812437A (en) High and low value application state
US20230266970A1 (en) Systems and methods for modernizing legacy applications
Zhao et al. PHASuite: An automated HAZOP analysis tool for chemical processes: Part II: Implementation and Case Study
Barber et al. Requirements evolution and reuse using the systems engineering process activities (sepa)
CN110780863A (en) Cross-platform development method, device, equipment and medium of storage system
JP4678770B2 (en) Sequence diagram creation method and apparatus
US20210142237A1 (en) Management system
CN113867700A (en) Model construction method, display platform, server and storage medium
JP2006285473A (en) Manufacturing process management system
RU2799736C2 (en) Method and system for making a decision about the readiness of computers in a local area network for work
US8949819B2 (en) Rationalizing functions to identify re-usable services

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant