KR102128732B1 - Apparatus and method for producing customized software - Google Patents

Apparatus and method for producing customized software Download PDF

Info

Publication number
KR102128732B1
KR102128732B1 KR1020190077700A KR20190077700A KR102128732B1 KR 102128732 B1 KR102128732 B1 KR 102128732B1 KR 1020190077700 A KR1020190077700 A KR 1020190077700A KR 20190077700 A KR20190077700 A KR 20190077700A KR 102128732 B1 KR102128732 B1 KR 102128732B1
Authority
KR
South Korea
Prior art keywords
configuration
software
template
column
software configuration
Prior art date
Application number
KR1020190077700A
Other languages
Korean (ko)
Inventor
정다운
서현호
Original Assignee
한국항공우주연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공우주연구원 filed Critical 한국항공우주연구원
Priority to KR1020190077700A priority Critical patent/KR102128732B1/en
Application granted granted Critical
Publication of KR102128732B1 publication Critical patent/KR102128732B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

The present invention relates to a device and a method for producing a customized software to prevent software errors due to manual work and to increase the quality of the software. According to the present invention, the method comprises the following steps of: receiving a selection of a template including one or more configuration fields into which software configurations can be inserted; inserting the selected one or more software configurations into the one or more configuration fields; and generating program codes including source codes included in the one or more software configurations.

Description

소프트웨어 맞춤형 제작 장치 및 방법{Apparatus and method for producing customized software}Apparatus and method for producing customized software}

본 발명은 미리 등록된 템플릿에 적용할 소프트웨어 구성을 화면에서 선택하여 적용시킴으로써 새로운 소프트웨어를 생성할 수 있는 소프트웨어 맞춤형 제작 장치 및 방법에 관한 것이다.The present invention relates to a software customized production apparatus and method capable of generating new software by selecting and applying a software configuration to be applied to a pre-registered template on a screen.

우주비행체를 새롭게 개발하는데 많은 시간과 비용이 소요됨에 따라, 임무와 목적이 비슷한 우주비행체별로 기존에 개발한 형태를 최대한 가져가려고 한다. 예를 들어, 기상 관측에 사용되는 정지궤도 위성은 작년에 발사한 버전과 내년에 발사할 버전의 하드웨어 구성과 탑재 소프트웨어가 비슷할 것이며, 고해상도 영상 촬영이 목적인 저궤도 위성은 나름대로 저궤도 위성용 하드웨어 구성과 탑재 소프트웨어 기반이 있을 것이며 새롭게 개발하는 고해상도 영상 촬영용 저궤도 위성은 기존의 저궤도 위성 기반을 많이 참조할 것이다. 하지만, 탑재체가 향상되거나 변경되고 임무도 달라지면서 위성의 물리적인 형태, 하드웨어 장착각 등이 달라지고 위성 각각의 특성에 따라 위성 탑재 소프트웨어가 위성간에 완전히 일치하지 않는 부분이 종종 발생한다.As it takes a lot of time and money to develop a new space vehicle, we intend to take the most developed form for each space vehicle with similar mission and purpose. For example, geostationary satellites used for weather observation will have similar hardware configuration and onboard software for the version launched last year and the version launched next year, and low-orbit satellites intended for high-resolution imaging will have their own hardware configuration and mounting software for low-orbit satellites. There will be a base, and the newly developed low-orbit satellite for high-resolution imaging will refer to many existing low-orbit satellite bases. However, as the payload is improved or changed, and the mission is changed, the physical shape of the satellite, the angle of hardware mounting, and the like are often different, and according to the characteristics of each satellite, the satellite-mounted software does not completely match between the satellites.

종래에는 우주비행체 탑재 소프트웨어를 개발할 때 이렇게 같은 기반의 우주비행체이면서 임무 또는 우주비행체의 세부적인 특성이 달라지는 경우, 탑재 소프트웨어를 수작업으로 임무 또는 우주비행체의 특성에 맞게 수정이 필요했다. 그리고 기반이 다른 우주비행체 사이에 보완 사항을 적용하는 것도 수작업이 필요하여 오류가 발생할 가능성이 컸다.In the past, when developing a spacecraft-mounted software, if the detailed characteristics of a mission or a spacecraft are different based on the same base spacecraft, it is necessary to manually modify the mounted software to suit the characteristics of the mission or spacecraft. In addition, applying supplements between space vehicles with different bases required manual work, so there was a high possibility of errors.

따라서 본 발명이 해결하고자 하는 기술적 과제는 소프트웨어를 용도에 따라 템플릿으로 표준화하여 등록하고, 템플릿의 소프트웨어 구성을 개발자가 화면을 통한 선택으로 손쉽게 교체하여 새로운 소프트웨어를 생성해줌으로써 수작업으로 인한 소프트웨어 오류를 방지하고 품질을 높일 수 있는 소프트웨어 맞춤형 제작 장치 및 방법을 제공하는 것이다.Therefore, the technical problem to be solved by the present invention is to register and standardize the software as a template according to the use, and to easily create a new software by easily replacing the software configuration of the template with a selection through a screen to prevent software errors due to manual work. And to provide a customized device and method for software that can improve quality.

상기한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 방법은 소프트웨어 구성이 삽입될 수 있는 하나 이상의 구성란을 포함하는 템플릿을 선택받는 단계, 상기 하나 이상의 구성란에 선택된 하나 이상의 소프트웨어 구성을 삽입하는 단계, 그리고 상기 하나 이상의 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 단계를 포함한다.In order to solve the above technical problem, a method for customizing software according to an embodiment of the present invention includes selecting a template including one or more configuration columns into which a software configuration can be inserted, and one or more software configurations selected in the one or more configuration fields Inserting, and generating program code including source code included in the one or more software components.

상기 방법은, 상기 하나 이상의 구성란 중에서 제1 구성란에 제1 소프트웨어 구성이 삽입되면 필수적으로 삽입되어야 하는 제2 소프트웨어 구성을 상기 템플릿의 하나 이상의 구성란 중에서 제2 구성란에 삽입하는 단계, 그리고 상기 제1 소프트웨어 구성이 삽입되면 상기 템플릿에 삽입되면 안 되는 제3 소프트웨어 구성이 상기 템플릿의 하나 이상의 구성란 중에서 제3 구성란에 삽입되어 있으면, 상기 하나 이상의 제3 소프트웨어 구성을 상기 제3 구성란에서 삭제하는 단계를 더 포함할 수 있다.The method includes the steps of inserting a second software component, which must be inserted into a second component column of the one or more component columns of the template, when the first software component is inserted into the first component column of the one or more component columns, and the first software component. When the configuration is inserted, if the third software configuration that should not be inserted into the template is inserted in the third configuration column among the one or more configuration columns of the template, further comprising the step of deleting the one or more third software configurations from the third configuration column. can do.

상기 템플릿에 삽입된 상기 제1 소프트웨어 구성에 포함된 소스코드와 상기 제2 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성할 수 있다.The program code including the source code included in the first software component and the source code included in the second software component may be generated in the template.

상기 템플릿은, 상기 하나 이상의 구성란이 위치한 줄이 아닌 다른 줄에 위치하는 소스코드를 더 포함할 수 있다.The template may further include source code located on a line other than the line where the one or more components are located.

상기 템플릿에 삽입될 수 있는 소프트웨어 구성은, 소스코드와 소프트웨어 구성에 대한 메타정보를 포함할 수 있다.The software configuration that can be inserted into the template may include source code and meta information about the software configuration.

상기 템플릿은, 상기 하나 이상의 구성란 별로 고유 아이디, 상기 템플릿에서 위치 및 구성란 종류에 대한 정보를 포함할 수 있다.The template may include a unique ID for each of the one or more component columns, and information about the location and type of the component column in the template.

상기 소프트웨어 구성의 메타정보는, 상기 소프트웨어 구성이 삽입될 수 있는 구성란 정보, 상기 소프트웨어 구성에 대해 지정된 의존 소프트웨어 구성과 비호환 소프트웨어 구성에 대한 정보를 포함할 수 있다.The meta-information of the software configuration may include configuration column information into which the software configuration can be inserted, and information on dependent software configurations and incompatible software configurations designated for the software configuration.

상기 제2 소프트웨어 구성을 제2 구성란에 삽입하는 단계는, 상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 하나이면, 상기 제2 소프트웨어 구성을 상기 미리 지정된 구성란에 자동으로 삽입할 수 있다.The step of inserting the second software configuration into the second configuration column may automatically insert the second software configuration into the predefined configuration column if there is only one predefined configuration column so that the second software configuration can be inserted.

상기 제2 소프트웨어 구성을 제2 구성란에 삽입하는 단계는, 상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 복수이면, 상기 미리 지정된 복수의 구성란 중 하나를 선택받고, 상기 선택된 구성란에 상기 제2 소프트웨어 구성을 삽입할 수 있다.In the step of inserting the second software configuration into the second configuration column, if there are a plurality of predefined configuration columns such that the second software configuration can be inserted, one of the plurality of predefined configuration columns is selected, and the second configuration is added to the selected configuration column. 2 You can insert a software configuration.

상기 제1 소프트웨어 구성에 대응하는 상기 제2 소프트웨어 구성에 대한 정보 및 상기 제3 소프트웨어 구성에 대한 정보, 상기 제2 소프트웨어 구성에 대해 미리 지정된 상기 제2 구성란에 대한 정보, 그리고 상기 제3 소프트웨어 구성에 대해 미리 지정된 상기 제3 구성란에 대한 정보를 미리 저장할 수 있다.Information on the second software configuration and information on the third software configuration corresponding to the first software configuration, information on the second configuration column predefined for the second software configuration, and the third software configuration Information about the third configuration column designated in advance with respect to may be stored in advance.

상기한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 장치는, 템플릿을 선택받고, 상기 선택된 템플릿에 포함된 하나 이상의 구성란에 삽입될 수 있는 하나 이상의 소프트웨어 구성을 표시하여 선택받는 사용자 인터페이스부, 그리고 상기 하나 이상의 구성란에 선택된 하나 이상의 소프트웨어 구성을 삽입하고, 상기 하나 이상의 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 제어부를 포함할 수 있다.Software customized production apparatus according to an embodiment of the present invention for solving the above technical problem is selected, the template is selected, and one or more software components that can be inserted into one or more components included in the selected template is displayed and selected It may include a user interface unit, and a control unit for inserting one or more software components selected in the one or more components and generating program codes including source codes included in the one or more components.

상기 제어부는, 상기 하나 이상의 구성란 중에서 제1 구성란에 제1 소프트웨어 구성이 삽입되면 필수적으로 삽입되어야 하는 제2 소프트웨어 구성을 상기 템플릿의 하나 이상의 구성란 중에서 제2 구성란에 삽입하고, 상기 제1 소프트웨어 구성이 삽입되면 상기 템플릿에 삽입되면 안 되는 제3 소프트웨어 구성이 상기 템플릿의 하나 이상의 구성란 중에서 제3 구성란에 삽입되어 있으면 상기 하나 이상의 제3 소프트웨어 구성을 상기 제3 구성란에서 삭제하며, 상기 템플릿에 삽입된 상기 제1 소프트웨어 구성에 포함된 소스코드와 상기 제2 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성할 수 있다.The control unit inserts a second software configuration, which must be inserted when a first software configuration is inserted into a first configuration column among the one or more configuration columns, into a second configuration column among one or more configuration columns of the template, and the first software configuration When inserted, if the third software configuration that should not be inserted into the template is inserted in the third configuration column among the one or more configuration columns of the template, the one or more third software configurations are deleted from the third configuration column, and the inserted A program code including source code included in the first software configuration and source code included in the second software configuration may be generated.

본 발명에 의하면 소프트웨어를 용도에 따라 템플릿으로 표준화하여 등록하고, 템플릿의 소프트웨어 구성을 개발자가 화면을 통한 선택으로 손쉽게 교체하여 새로운 소프트웨어를 생성해줌으로써 수작업으로 인한 소프트웨어 오류를 방지하고 품질을 높일 수 있다.According to the present invention, the software is standardized and registered as a template according to the use, and the software configuration of the template is easily replaced by a developer through a screen to generate new software, thereby preventing software errors caused by manual operation and improving quality. .

도 1은 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 복수의 구성란을 포함하는 템플릿을 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 구성의 의존 관계를 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 복수의 구성란을 포함하는 템플릿을 예시한 도면이다.
도 6은 도 5의 템플릿에 소프트웨어 구성을 삽입 후 생성되는 코드를 예시한 것이다.
1 is a configuration diagram of a software custom-made device according to an embodiment of the present invention.
2 is a diagram illustrating a template including a plurality of components according to an embodiment of the present invention.
3 is a diagram illustrating a dependency relationship of a software configuration according to an embodiment of the present invention.
4 is a flowchart of a method for customizing software according to an embodiment of the present invention.
5 is a diagram illustrating a template including a plurality of components according to an embodiment of the present invention.
6 illustrates code generated after inserting a software configuration in the template of FIG. 5.

그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Then, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily practice.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 장치의 구성도이다.1 is a configuration diagram of a software custom-made device according to an embodiment of the present invention.

도 1을 참고하면, 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 장치(100)는 저장부(110), 사용자 인터페이스부(120) 및 제어부(130)를 포함할 수 있다.Referring to FIG. 1, the apparatus 100 for customizing software according to an embodiment of the present invention may include a storage unit 110, a user interface unit 120, and a control unit 130.

저장부(110)는 소프트웨어 맞춤형 제작 장치의 동작과 관련된 각종 정보 및 데이터를 저장할 수 있다. 특히 저장부(110)는 복수의 템플릿과 템플릿에 삽입될 수 있는 복수의 소프트웨어 구성을 저장할 수 있다. 동일한 소프트웨어 구성이 다른 템플릿에 삽입될 수 있다.The storage unit 110 may store various information and data related to the operation of the software customized production device. In particular, the storage unit 110 may store a plurality of templates and a plurality of software configurations that can be inserted into the template. The same software configuration can be inserted into different templates.

도 2는 본 발명의 일 실시예에 따른 복수의 구성란을 포함하는 템플릿을 예시한 도면이다.2 is a diagram illustrating a template including a plurality of components according to an embodiment of the present invention.

도 2를 참고하면, 템플릿(10)은 도 2에 예시한 것과 같이 복수의 구성란(A1, A2, A3, …, An)을 포함할 수 있다. 템플릿(10)에 포함된 각 구성란(A1, A2, A3, …, An)에 어떤 소프트웨어 구성이 삽입될 수 있는지에 대한 정보는 저장부(110)에 미리 등록되어 저장될 수 있다.Referring to FIG. 2, the template 10 may include a plurality of configuration columns A1, A2, A3, …, An, as illustrated in FIG. 2. Information on which software configuration can be inserted into each configuration column (A1, A2, A3, ..., An) included in the template 10 may be registered and stored in advance in the storage unit 110.

도 2에서 템플릿 1(10)은 복수의 구성란(A1, A2, A3, …, An)을 포함하고 있고, 사용자가 구성란 1(A1)을 선택하면 삽입될 수 있는 소프트웨어 구성(C1, C2, C3)가 화면에 표시될 수 있다. 사용자가 그 중에서 소프트웨어 구성1(C1)을 선택하여 구성란 1(A1)에 삽입하는 것을 예시한 것이다.In FIG. 2, the template 1 (10) includes a plurality of configuration columns (A1, A2, A3, ..., An), and a software configuration (C1, C2, C3) that can be inserted when the user selects the configuration column 1 (A1) ) May be displayed on the screen. The user selects the software configuration 1 (C1) from among them and illustrates that the configuration is inserted into 1 (A1).

도 3은 본 발명의 일 실시예에 따른 소프트웨어 구성의 의존 관계를 예시한 도면이다.3 is a diagram illustrating a dependency relationship of a software configuration according to an embodiment of the present invention.

도 3을 참고하면, 소프트웨어 구성 1(C1)은 해당 소프트웨어 구성에 대한 이름, 설명 등을 포함하는 메타정보와 c언어 등으로 작성되는 소스코드 등이 포함될 수 있다. 도 3에서 간단하게 소스코드가 "a = 1;"인 경우를 나타내었으며, 이보다 복잡한 소스코드가 소프트웨어 구성에 포함될 수도 있다. 그리고 메타정보를 통해 사용자는 해당 소프트웨어 구성의 내용과 기능 등을 파악할 수 있다.Referring to FIG. 3, software configuration 1 (C1) may include meta information including a name and description for the software configuration, and source code written in c language. 3, the source code is simply shown as "a = 1;", and more complicated source code may be included in the software configuration. And through meta information, the user can grasp the contents and functions of the software configuration.

그리고 저장부(110)에는 도 3에 예시한 것과 같은 소프트웨어 구성1(C1)에 대한 의존 소프트웨어 구성(D1, D2)과 비호환 소프트웨어 구성(NC1) 등의 소프트웨어 간의 의존 관계에 대한 정보가 미리 저장될 수 있다.In addition, the storage unit 110 stores in advance information about a dependency relationship between software such as the software configuration 1 (C1) dependent software configuration (D1, D2) and incompatible software configuration (NC1) as illustrated in FIG. 3. Can be.

의존 소프트웨어 구성(DC1, DC2)은 소프트웨어 구성1(C1)이 템플릿(10)에 삽입되면 필수적으로 삽입되어야 하고, 비호환 소프트웨어 구성(NC1)은 소프트웨어 구성1(C1)이 템플릿(10)에 삽입되면, 충돌 문제로 템플릿(10)에 삽입되면 안 된다. 가령 소스코드 'a=1;' 이 템플릿(10)에 삽입된 경우, 저장부(110)에 저장된 소프트웨어 구성의 의존 관계 정보를 기초로, 의존 소프트웨어 구성(DC1)은 미리 지정된 구성란 3 또는 구성란 5에 선택적으로 삽입되어야 하는 것을 알 수 있다. 사용자는 구성란 3 또는 구성란 5 중에서 하나를 선택하여 의존 소프트웨어 구성(DC1)을 템플릿(10)에 삽입시킬 수 있다. 물론 의존 소프트웨어 구성(DC2)과 같이 미리 지정된 구성란 1로 1개인 경우, 의존 소프트웨어 구성(DC2)은 구성란 1에 자동으로 삽입될 수도 있다.Dependent software configuration (DC1, DC2) must be inserted when software configuration 1 (C1) is inserted into template 10, and incompatible software configuration (NC1) software configuration 1 (C1) is inserted into template 10 If not, it should not be inserted into the template 10 due to a collision problem. For example, the source code'a=1;' When inserted into the template 10, based on the dependency information of the software configuration stored in the storage unit 110, it can be seen that the dependent software configuration DC1 should be selectively inserted into the predetermined configuration column 3 or the configuration column 5 have. The user may select one of the configuration column 3 or the configuration column 5 to insert the dependent software configuration DC1 into the template 10. Of course, if there is one predefined configuration column 1, such as the dependent software configuration DC2, the dependent software configuration DC2 may be automatically inserted into the configuration column 1.

한편 소스코드 "int a;"을 포함하는 소프트웨어 구성이 템플릿에 삽입되면, 소스코드 "double a:"의 경우 "int a;"와 충돌되므로, 소스코드 "double a:"를 포함하는 비호환 소프트웨어 구성은 템플릿에 삽입되면 안 된다.On the other hand, if a software configuration containing the source code "int a;" is inserted into the template, the source code "double a:" conflicts with "int a;", so incompatible software containing the source code "double a:" The configuration should not be inserted into the template.

사용자 인터페이스부(120)는 소프트웨어 맞춤형 제작 장치(100)의 동작과 관련된 각종 정보를 화면에 표시하고, 사용자의 선택이나 명령을 입력받는 기능을 수행한다.The user interface unit 120 displays various information related to the operation of the software custom-made device 100 on a screen, and performs a function of receiving a user's selection or command.

예컨대 소프트웨어 맞춤형 제작 장치(100)가 처음 시작되면, 사용자 인터페이스부(120)는 사용자로부터 제작을 원하는 소프트웨어에 대응하는 템플릿을 선택받을 수 있다. 그리고 사용자 인터페이스부(120)는 사용자로부터 선택된 템플릿을 화면에 표시할 수 있다. 화면에 표시된 템플릿에는 해당 템플릿에 포함된 복수의 구성란이 도 2에 예시한 것과 같이 표시될 수 있다.For example, when the software customized production device 100 is first started, the user interface unit 120 may select a template corresponding to software desired to be produced by the user. In addition, the user interface unit 120 may display the template selected by the user on the screen. In the template displayed on the screen, a plurality of components included in the template may be displayed as illustrated in FIG. 2.

그리고 사용자가 복수의 구성란 중에서 하나를 선택하면, 사용자 인터페이스부(120)는 해당 구성란에 삽입될 수 있는 소프트웨어 구성에 대한 정보, 예컨대 메타정보와 소스코드 등을 화면에 표시하고 사용자로부터 선택받을 수 있다. 구성란에 삽입될 수 있는 소프트웨어 구성에 대한 정보는, 해당 구성란이 사용자로부터 선택되었을 때만 화면에 표출되어 선택받도록 구성하는 것도 가능하다.In addition, when the user selects one of the plurality of configuration columns, the user interface unit 120 may display information on the software configuration that can be inserted into the configuration column, for example, meta information and source code, and receive the selection from the user. . Information about the software configuration that can be inserted into the configuration column can be configured to be displayed and selected on the screen only when the configuration column is selected by the user.

제어부(130)는 소프트웨어 맞춤형 제작 장치(100)의 전체적인 동작을 제어한다. 그리고 제어부(130)는, 사용자 인터페이스부(120)를 통해 템플릿의 특정 구성란에 삽입할 소프트웨어 구성이 선택되면, 해당 구성란에 사용자로부터 선택된 소프트웨어 구성을 삽입 처리한다.The control unit 130 controls the overall operation of the software custom-made device 100. In addition, when a software configuration to be inserted into a specific configuration column of the template is selected through the user interface unit 120, the control unit 130 inserts and processes the software configuration selected by the user in the corresponding configuration column.

제어부(130)는, 사용자로부터 선택된 소프트웨어 구성이 템플릿에 삽입되면, 해당 소프트웨어 구성에 대한 의존 소프트웨어 구성을 미리 지정된 구성란에 삽입되게 처리한다. 제어부(130)는 의존 소프트웨어 구성에 대해서 미리 지정된 구성란이 복수 개 있는 경우에는, 사용자로부터 의존 소프트웨어 구성이 삽입될 구성란을 선택받은 후, 선택된 구성란에 의존 소프트웨어 구성을 삽입 처리할 수 있다.When the software configuration selected by the user is inserted into the template, the controller 130 processes the software configuration dependent on the software configuration to be inserted into a predetermined configuration column. When there are a plurality of predefined configuration columns for the dependent software configuration, the control unit 130 may select a configuration column into which the dependent software configuration is to be inserted, and then insert and process the dependent software configuration in the selected configuration column.

제어부(130)는, 사용자로부터 선택된 소프트웨어 구성이 템플릿에 삽입되면, 해당 소프트웨어 구성과 충돌되는 비호환 소프트웨어 구성이 템플릿에 삽입되어 있는지 확인한다. 그리고 비호환 소프트웨어 구성이 템플릿에 삽입되어 있으면, 제어부(130)는 템플릿에서 비호환 소프트웨어 구성을 삭제처리 한다.When the software configuration selected from the user is inserted into the template, the controller 130 checks whether an incompatible software configuration conflicting with the software configuration is inserted into the template. In addition, if an incompatible software configuration is inserted into the template, the controller 130 deletes the incompatible software configuration from the template.

템플릿에 소프트웨어 구성을 삽입이 완료되면, 제어부(130)는 템플릿에 삽입된 소프트웨어 구성에 포함된 소스코드를 이용하여 프로그램 코드를 생성할 수 있다. 템플릿의 각 구성란에 삽입될 수 있는 소프트웨어 구성에 대한 정보와, 그리고 특정 소프트웨어 구성이 삽입되면 삽입되어야 하는 의존 소프트웨어 구성과 의존 소프트웨어 구성이 삽입될 수 있는 구성란 정보, 그리고 특정 소프트웨어 구성이 삽입되면 삽입되지 않아야 하는 비호환 소프트웨어 구성에 대한 정보 등이 미리 저장되어 있으므로, 제어부(130)는 프로그램 코드를 자동으로 생성할 수 있다. 그리고 소프트웨어 구성의 의존 관계에 대한 정보를 관리하고 있으므로, 템플릿의 각 구성란에 삽입된 소스코드를 이용하여 생성되는 프로그램 코드의 무결성을 유지할 수 있다.When the software configuration is inserted into the template, the controller 130 may generate program code using the source code included in the software configuration inserted in the template. Information about the software configuration that can be inserted into each configuration column of the template, and the dependent software configuration to be inserted when a specific software configuration is inserted, and the configuration column information into which the dependent software configuration can be inserted, and not inserted when a specific software configuration is inserted. Since information about the incompatible software configuration that should not be stored in advance, the controller 130 may automatically generate the program code. In addition, since information on dependency of software configuration is managed, the integrity of program code generated by using the source code inserted in each configuration column of the template can be maintained.

도 4는 본 발명의 일 실시예에 따른 소프트웨어 맞춤형 제작 방법의 흐름도이다.4 is a flowchart of a method for customizing software according to an embodiment of the present invention.

도 1 내지 도 4를 참고하면, 먼저 사용자 인터페이스부(120)는 저장부(110)에 미리 등록된 복수의 템플릿 리스트를 화면에 표시하고 사용자로부터 제작하고자 하는 소프트웨어에 대응하는 템플릿을 선택받을 수 있다(S410).Referring to FIGS. 1 to 4, first, the user interface unit 120 may display a list of a plurality of templates registered in advance in the storage unit 110 on a screen, and receive a template corresponding to software to be produced by the user. (S410).

다음으로 사용자 인터페이스부(120)는 단계(S410)에서 선택된 템플릿을 도 2에 예시한 것과 같이 화면에 표시할 수 있다(S420). 도 2에 예시한 것과 같이 템플릿(10)에 포함된 복수의 구성란(A1, A2, A3, …, An)을 표시하고, 구성란 1(A1)이 선택되면, 구성란 1(A1)에 삽입될 수 있는 소프트웨어 구성(C1, C2, C3)을 표시할 수 있다.Next, the user interface 120 may display the template selected in step S410 on the screen as illustrated in FIG. 2 (S420). As illustrated in FIG. 2, a plurality of configuration columns (A1, A2, A3, …, An) included in the template 10 are displayed, and when the configuration column 1 (A1) is selected, the configuration column 1 (A1) may be inserted. Software configuration (C1, C2, C3) can be displayed.

이후 제어부(130)는 사용자가 구성란(A1)에 소프트웨어 구성1(C1)을 삽입할 것을 선택하면, 그에 따라 구성란(A1)에 소프트웨어 구성1(C1)을 삽입 처리할 수 있다(S430).Thereafter, when the user selects to insert the software configuration 1 (C1) in the configuration column (A1), the control unit 130 may insert the software configuration 1 (C1) into the configuration column (A1) accordingly (S430).

그리고 제어부(130)는 소프트웨어 구성1(C1)에 대한 의존 소프트웨어 구성이 있으면(S440-Y), 템플릿(10)에 의존 소프트웨어 구성(DC1, DC2)을 미리 지정된 구성란에 삽입되게 처리한다(S450). 단계(S450)에서 제어부(130)는 의존 소프트웨어 구성에 대해서 미리 지정된 구성란이 복수 개 있는 경우에는, 사용자로부터 의존 소프트웨어 구성이 삽입될 구성란을 선택받은 후, 선택된 구성란에 의존 소프트웨어 구성을 삽입한다. 물론 지정된 구성란이 1개인 경우, 자동으로 해당 구성란에 의존 소프트웨어 구성을 삽입할 수 있다. In addition, if there is a dependent software configuration for the software configuration 1 (C1) (S440-Y), the control unit 130 processes the dependent software configuration (DC1, DC2) in the template 10 to be inserted into a predetermined configuration column (S450). . In step S450, when there are a plurality of predefined configuration columns for the dependent software configuration, the controller 130 receives the configuration column into which the dependent software configuration is to be inserted from the user, and then inserts the dependent software configuration into the selected configuration column. Of course, if there is one designated configuration column, it is possible to automatically insert a dependent software configuration into the corresponding configuration column.

한편 제어부(130)는 소프트웨어 구성1(C1)에 대한 충돌되는 비호환 소프트웨어 구성이 템플릿(10)에 삽입되어 있는지 확인한다(S460). Meanwhile, the controller 130 checks whether a conflicting incompatible software configuration for the software configuration 1 (C1) is inserted in the template 10 (S460).

비호환 소프트웨어 구성이 템플릿(10)에 삽입되어 있으면(S460-Y), 제어부(130)는 템플릿(10)에서 비호환 소프트웨어 구성을 자동으로 삭제한다(S470).If an incompatible software configuration is inserted into the template 10 (S460-Y), the controller 130 automatically deletes the incompatible software configuration from the template 10 (S470).

마지막으로 템플릿(10)의 각 구성란(A1, A2, A3, …, An)에 모든 소프트웨어 구성이 삽입되면(S480-Y), 제어부(130)는 각 구성란(A1, A2, A3, …, An)에 삽입된 소프트웨어 구성의 소스코드를 이용하여 프로그램 코드를 생성할 수 있다(S490).Finally, when all the software configurations are inserted into each configuration column (A1, A2, A3, ..., An) of the template 10 (S480-Y), the controller 130 controls each configuration column (A1, A2, A3, ..., An) ), the program code can be generated using the source code of the software configuration (S490).

도 5는 본 발명의 일 실시예에 따른 복수의 구성란을 포함하는 템플릿을 예시한 도면이다.5 is a diagram illustrating a template including a plurality of components according to an embodiment of the present invention.

도 5를 참고하면, 템플릿(11)은 도 5에 예시한 것과 같이 복수의 구성란(A1', A2')을 포함할 수 있다. 설명의 편의 상 2개의 구성란(A1', A2')을 포함한 템플릿을 예시하였으나, 실시예에 따라서 템플릿에 포함되는 구성란의 개수는 달라질 수 있다.Referring to FIG. 5, the template 11 may include a plurality of configuration columns A1 ′ and A2 ′ as illustrated in FIG. 5. For convenience of description, a template including two configuration columns (A1', A2') is illustrated, but the number of configuration columns included in the template may vary according to embodiments.

그리고 템플릿(11)은 구성란(A1', A2')이 위치한 줄이 아닌 다른 줄에 위치하는 소스코드를 기본적으로 포함할 수 있다. 템플릿(11)에서는 줄 번호 1, 2, 3, 5, 7에 위치한 소스코드를 미리 포함하고 있는 경우를 나타내었다.In addition, the template 11 may basically include source code located in a line other than the line in which the configuration columns A1' and A2' are located. The template 11 shows a case where the source codes located in line numbers 1, 2, 3, 5, and 7 are included in advance.

템플릿(11)은 각 구성란(A1', A2') 별로 고유 아이디, 템플릿에서 위치 및 구성란 종류에 대한 정보를 포함하고, 이러한 정보는 저장부(110)에 미리 저장될 수 있다.The template 11 includes a unique ID for each configuration column (A1', A2'), and information about the location and type of configuration column in the template, and such information may be stored in the storage unit 110 in advance.

도 5에서 구성란(A1')은 고유 아이디가 '001'이고, 위치는 '4번째 줄'이고, 구성란 종류는 '변수 선언'으로 미리 정의된 것으로 가정한다. 그리고 구성란(A2')은 고유 아이디가 '002'이고, 위치는 '6번째 줄'이고, 구성란 종류는 '로그 출력'으로 미리 정의된 것으로 가정한다.In FIG. 5, it is assumed that the configuration column (A1') has a unique ID of '001', a location of '4th line', and a type of configuration column is predefined as'variable declaration'. In addition, it is assumed that the configuration column (A2') has a unique ID of '002', a location of '6th line', and a type of configuration column as'log output'.

이하 템플릿(11)에 삽입될 수 있는 소프트웨어 구성에 대해서 다음과 같은 정보가 미리 저장부(110)에 저장된 것으로 가정하고 설명한다.Hereinafter, it is assumed that the following information is stored in the storage unit 110 in advance for the software configuration that can be inserted into the template 11.

소프트웨어 구성(CA) : 삽입될 수 있는 구성란 종류는 '변수 선언'이고, 소스코드 내용은 'int b=2;'Software configuration (C A ): The type of configuration column that can be inserted is'variable declaration', and the source code content is'int b=2;'

소프트웨어 구성(CB) : 삽입될 수 있는 구성란 종류는 '로그 출력'이고, 소스코드 내용은 'printf("LOG: %d\n", b);'이며, 의존 소프트웨어 구성은 'CA'Software configuration (C B ): The type of configuration that can be inserted is'log output', the source code content is'printf("LOG: %d\n", b);', and the dependent software configuration is'C A '

사용자가 템플릿(11)을 선택하면, 사용자 인터페이스부(120)는 선택된 템플릿(11)을 도 5에 예시한 것과 같이 화면에 표시한다. 그리고 사용자가 구성란(A2')을 선택하면 해당 위치에 삽입될 수 있는 소프트웨어 구성을 나타내고 선택받을 수 있다. 템플릿(11)에서는 소프트웨어 구성(CB)만 구성란(A2')에 삽입될 수 있으므로 바로 삽입되거나, 사용자의 확인 후 삽입될 수 있다. 다음으로 소프트웨어 구성(CB)에 대해 의존 소프트웨어 구성으로 지정된 소프트웨어 구성(CA)이 미리 지정된 구성란(A1')에 자동으로 삽입될 수 있다.When the user selects the template 11, the user interface unit 120 displays the selected template 11 on the screen as illustrated in FIG. 5. In addition, when the user selects the configuration column A2', a software configuration that can be inserted into the corresponding location can be displayed and selected. In the template 11, only the software configuration C B can be inserted into the configuration field A2', or it can be inserted immediately or after confirmation by the user. Next, the software configuration is specified as the dependent software configuration for a software configuration (C B) (C A) can be automatically inserted in the predetermined guseongran (A1 ').

위 실시예에서 소프트웨어 구성(CA, CB)이 삽입될 수 있는 구성란 종류를 지정하는 방식 외에도, 소프트웨어 구성(CA, CB)이 삽입될 수 있는 구성란 고유 아이디 또는 구성란 위치 등을 지정하는 것도 가능하다.In addition to the method in the embodiment above, an example of specifying guseongran type with a software configuration (C A, C B) can be inserted, that specifies the guseongran in software configuration (C A, C B) can be inserted into a unique ID or guseongran location, It is also possible.

도 6은 도 5의 템플릿에 소프트웨어 구성을 삽입 후 생성되는 코드를 예시한 것이다.6 illustrates code generated after inserting a software configuration in the template of FIG. 5.

도 5 및 도 6의 실시예에서는 각 구성란에 삽입될 수 있는 소프트웨어 구성이 한 개이고, 의존 소프트웨어 구성이 한 개인 간단한 경우를 들어 설명하였으나, 구성란에 삽입될 수 있는 소프트웨어 구성이 복수이고, 특정 소프트웨어 구성에 대응하는 의존 소프트웨어 구성이 복수인 경우, 사용자로부터 선택받아 템플릿에 삽입할 수 있다.In the embodiments of FIGS. 5 and 6, a single software configuration can be inserted into each configuration column, and a simple case in which there is only one dependent software configuration is described, but a plurality of software configurations can be inserted into the configuration column, and specific software configurations are provided. When there are a plurality of dependent software configurations corresponding to, it may be selected from a user and inserted into a template.

한편 지금까지 설명한 실시예에서 템플릿에 복수의 구성란이 포함된 경우에 대해서 설명하였으나, 템플릿에 하나의 구성란이 있는 경우도 적용 가능하다. 이 경우 사용자 인터페이스부(120)는 해당 구성란에 삽입 가능한 하나 이상의 소프트웨어 구성을 화면에 표시하고 사용자로부터 선택받을 수 있다. 그리고 해당 구성란에 삽입된 소프트웨어 구성에 대한 의존 소프트웨어 구성이 있으면, 해당 구성란에 의존 소프트웨어 구성도 함께 삽입되게 할 수 있다.On the other hand, in the embodiment described so far, a case in which a plurality of configuration columns are included in the template has been described, but it is also applicable when there is one configuration column in the template. In this case, the user interface unit 120 may display one or more software configurations that can be inserted in the corresponding configuration column on the screen and receive a selection from the user. In addition, if there is a dependent software configuration for the software configuration inserted in the corresponding configuration column, the dependent software configuration may also be inserted in the corresponding configuration column.

한편 하나의 구성란에 의존 관계가 없는 복수 개의 소프트웨어 구성이 삽입되는 것도 가능하다. 물론 비호환 소프트웨어 구성은 동일한 구성란에 삽입될 수 없다.On the other hand, it is also possible to insert a plurality of software configurations that do not depend on one configuration column. Of course, incompatible software configurations cannot be inserted into the same configuration column.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, and field programmable gates (FPGAs). It can be implemented using one or more general purpose computers or special purpose computers, such as arrays, programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the signal wave being transmitted. The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. Includes hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, proper results can be achieved even if replaced or substituted by equivalents.

Claims (15)

삭제delete 소프트웨어 구성이 삽입될 수 있는 하나 이상의 구성란을 포함하는 템플릿을 선택받는 단계,
상기 하나 이상의 구성란에 선택된 하나 이상의 소프트웨어 구성을 삽입하는 단계, 그리고
상기 하나 이상의 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 단계
를 포함하고,
상기 하나 이상의 구성란 중에서 제1 구성란에 제1 소프트웨어 구성이 삽입되면 필수적으로 삽입되어야 하는 제2 소프트웨어 구성을 상기 템플릿의 하나 이상의 구성란 중에서 제2 구성란에 삽입하는 단계, 그리고
상기 제1 소프트웨어 구성이 삽입되면 상기 템플릿에 삽입되면 안 되는 제3 소프트웨어 구성이 상기 템플릿의 하나 이상의 구성란 중에서 제3 구성란에 삽입되어 있으면, 상기 하나 이상의 제3 소프트웨어 구성을 상기 제3 구성란에서 삭제하는 단계를 더 포함하고,
상기 템플릿에 삽입된 상기 제1 소프트웨어 구성에 포함된 소스코드와 상기 제2 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 소프트웨어 맞춤형 제작 방법.
Selecting a template including one or more configuration fields into which a software configuration can be inserted,
Inserting one or more selected software components into the one or more components, and
Generating program code including source code included in the one or more software components
Including,
Inserting a second software configuration, which is essentially to be inserted when a first software configuration is inserted into the first configuration column among the one or more configuration columns, into a second configuration column among the one or more configuration columns of the template, and
When the first software configuration is inserted, if the third software configuration that should not be inserted into the template is inserted in the third configuration column among the one or more configuration columns of the template, the one or more third software configurations are deleted from the third configuration column. Further comprising steps,
A method of customizing software for generating a program code including source code included in the first software configuration and source code included in the second software configuration inserted in the template.
제 2 항에서,
상기 템플릿은,
상기 하나 이상의 구성란이 위치한 줄이 아닌 다른 줄에 위치하는 소스코드를 더 포함하는 소프트웨어 맞춤형 제작 방법.
In claim 2,
The template,
The software custom-made method further comprising source code located in a line other than the line where the one or more components are located.
제 3 항에서,
상기 템플릿에 삽입될 수 있는 소프트웨어 구성은,
소스코드와 소프트웨어 구성에 대한 메타정보를 포함하는 소프트웨어 맞춤형 제작 방법.
In claim 3,
The software configuration that can be inserted into the template,
Custom software creation method including meta information about source code and software configuration.
제 4 항에서,
상기 템플릿은,
상기 하나 이상의 구성란 별로 고유 아이디, 상기 템플릿에서 위치 및 구성란 종류에 대한 정보를 포함하고,
상기 소프트웨어 구성의 메타정보는,
상기 소프트웨어 구성이 삽입될 수 있는 구성란 정보, 상기 소프트웨어 구성에 대해 지정된 의존 소프트웨어 구성과 비호환 소프트웨어 구성에 대한 정보를 포함하는 소프트웨어 맞춤형 제작 방법.
In claim 4,
The template,
The unique ID for each of the one or more components, including information on the location and the type of components in the template,
Meta information of the software configuration,
A method of customizing a software, comprising information on a configuration column into which the software configuration can be inserted, and information on dependent software configurations and incompatible software configurations designated for the software configuration.
제 4 항에서,
상기 제2 소프트웨어 구성을 제2 구성란에 삽입하는 단계는,
상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 하나이면, 상기 제2 소프트웨어 구성을 상기 미리 지정된 구성란에 자동으로 삽입하는 소프트웨어 맞춤형 제작 방법.
In claim 4,
The step of inserting the second software configuration into the second configuration column,
If there is only one pre-designated configuration column to allow the second software configuration to be inserted, a software custom-made method of automatically inserting the second software configuration into the pre-designated configuration column.
제 4 항에서,
상기 제2 소프트웨어 구성을 제2 구성란에 삽입하는 단계는,
상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 복수이면, 상기 미리 지정된 복수의 구성란 중 하나를 선택받고, 상기 선택된 구성란에 상기 제2 소프트웨어 구성을 삽입하는 소프트웨어 맞춤형 제작 방법.
In claim 4,
The step of inserting the second software configuration into the second configuration column,
If there are a plurality of predefined configuration columns to allow the second software configuration to be inserted, one of the plurality of predefined configuration columns is selected, and a software custom manufacturing method of inserting the second software configuration into the selected configuration column.
제 2 항에서,
상기 제1 소프트웨어 구성에 대응하는 상기 제2 소프트웨어 구성에 대한 정보 및 상기 제3 소프트웨어 구성에 대한 정보, 상기 제2 소프트웨어 구성에 대해 미리 지정된 상기 제2 구성란에 대한 정보, 그리고 상기 제3 소프트웨어 구성에 대해 미리 지정된 상기 제3 구성란에 대한 정보를 미리 저장하는 소프트웨어 맞춤형 제작 방법.
In claim 2,
Information on the second software configuration and information on the third software configuration corresponding to the first software configuration, information on the second configuration column predefined for the second software configuration, and the third software configuration A method for customizing a software that pre-stores information on the third configuration column designated in advance with respect to the software.
삭제delete 템플릿을 선택받고, 상기 선택된 템플릿에 포함된 하나 이상의 구성란에 삽입될 수 있는 하나 이상의 소프트웨어 구성을 표시하여 선택받는 사용자 인터페이스부, 그리고
상기 하나 이상의 구성란에 선택된 하나 이상의 소프트웨어 구성을 삽입하고, 상기 하나 이상의 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 제어부
를 포함하고,
상기 제어부는,
상기 하나 이상의 구성란 중에서 제1 구성란에 제1 소프트웨어 구성이 삽입되면 필수적으로 삽입되어야 하는 제2 소프트웨어 구성을 상기 템플릿의 하나 이상의 구성란 중에서 제2 구성란에 삽입하고, 상기 제1 소프트웨어 구성이 삽입되면 상기 템플릿에 삽입되면 안 되는 제3 소프트웨어 구성이 상기 템플릿의 하나 이상의 구성란 중에서 제3 구성란에 삽입되어 있으면 상기 하나 이상의 제3 소프트웨어 구성을 상기 제3 구성란에서 삭제하며, 상기 템플릿에 삽입된 상기 제1 소프트웨어 구성에 포함된 소스코드와 상기 제2 소프트웨어 구성에 포함된 소스코드를 포함하는 프로그램 코드를 생성하는 소프트웨어 맞춤형 제작 장치.
A user interface unit that receives a template selected and displays one or more software components that can be inserted into one or more components included in the selected template, and
A control unit that inserts one or more selected software components into the one or more components and generates program codes including source codes included in the one or more components.
Including,
The control unit,
When the first software configuration is inserted into the first configuration column among the one or more configuration columns, a second software configuration that is essentially inserted is inserted into the second configuration column among the one or more configuration columns of the template, and when the first software configuration is inserted, the template If the third software configuration that should not be inserted into the third configuration column among the one or more configuration columns of the template, the one or more third software configurations are deleted from the third configuration column, and the first software configuration inserted into the template A software custom-made device for generating a program code including the source code included in the source code included in the second software configuration.
제 10 항에서,
상기 템플릿은,
상기 하나 이상의 구성란이 위치한 줄이 아닌 다른 줄에 위치하는 소스코드를 더 포함하는 소프트웨어 맞춤형 제작 장치.
In claim 10,
The template,
A software custom-made device further comprising source code located in a line other than the line in which the one or more components are located.
제 11 항에서,
상기 제어부는,
상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 하나이면, 상기 제2 소프트웨어 구성을 상기 미리 지정된 구성란에 자동으로 삽입하는 소프트웨어 맞춤형 제작 장치.
In claim 11,
The control unit,
If there is only one pre-designated configuration column to allow the second software configuration to be inserted, a software custom-made device for automatically inserting the second software configuration into the pre-designated configuration column.
제 12 항에서,
상기 템플릿은,
상기 복수의 구성란 별로 고유 아이디, 상기 템플릿에서 위치 및 구성란 종류에 대한 정보를 포함하고,
상기 소프트웨어 구성의 메타정보는,
상기 소프트웨어 구성이 삽입될 수 있는 구성란 정보, 상기 소프트웨어 구성에 대해 지정된 의존 소프트웨어 구성과 비호환 소프트웨어 구성에 대한 정보를 포함하는 소프트웨어 맞춤형 제작 장치.
In claim 12,
The template,
The unique ID for each of the plurality of configuration columns, and information about the location and type of the configuration column in the template,
Meta information of the software configuration,
A software custom-made device comprising information on a configuration column into which the software configuration can be inserted and information on a dependent software configuration and an incompatible software configuration designated for the software configuration.
제 12 항에서,
상기 제어부는,
상기 제2 소프트웨어 구성이 삽입될 수 있도록 미리 지정된 구성란이 복수이면, 상기 미리 지정된 복수의 구성란 중 하나를 선택받고, 상기 선택된 구성란에 상기 제2 소프트웨어 구성을 삽입하는 소프트웨어 맞춤형 제작 장치.
In claim 12,
The control unit,
If there are a plurality of predefined configuration columns to allow the second software configuration to be inserted, a software custom-made device for selecting one of the plurality of predefined configuration columns and inserting the second software configuration into the selected configuration column.
제 12 항에서,
상기 제1 소프트웨어 구성에 대응하는 상기 제2 소프트웨어 구성에 대한 정보 및 상기 제3 소프트웨어 구성에 대한 정보, 상기 제2 소프트웨어 구성에 대해 미리 지정된 상기 제2 구성란에 대한 정보, 그리고 상기 제3 소프트웨어 구성에 대해 미리 지정된 상기 제3 구성란에 대한 정보를 미리 저장하는 저장부
를 더 포함하는 소프트웨어 맞춤형 제작 장치.
In claim 12,
Information on the second software configuration and information on the third software configuration corresponding to the first software configuration, information on the second configuration column predefined for the second software configuration, and the third software configuration A storage unit for storing information on the third configuration column designated in advance with respect to
Software custom-made device further comprising a.
KR1020190077700A 2019-06-28 2019-06-28 Apparatus and method for producing customized software KR102128732B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190077700A KR102128732B1 (en) 2019-06-28 2019-06-28 Apparatus and method for producing customized software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077700A KR102128732B1 (en) 2019-06-28 2019-06-28 Apparatus and method for producing customized software

Publications (1)

Publication Number Publication Date
KR102128732B1 true KR102128732B1 (en) 2020-07-01

Family

ID=71601719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077700A KR102128732B1 (en) 2019-06-28 2019-06-28 Apparatus and method for producing customized software

Country Status (1)

Country Link
KR (1) KR102128732B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023096039A1 (en) * 2021-11-24 2023-06-01 (주) 바우디움 Method for inputting and outputting structure of procedure and apparatus using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110060419A (en) * 2009-11-30 2011-06-08 한국전자통신연구원 Apparatus and method for generating software based on web using javascript
KR20110111014A (en) * 2010-04-02 2011-10-10 한국과학기술연구원 System and method for development of software for network-based robot

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110060419A (en) * 2009-11-30 2011-06-08 한국전자통신연구원 Apparatus and method for generating software based on web using javascript
KR20110111014A (en) * 2010-04-02 2011-10-10 한국과학기술연구원 System and method for development of software for network-based robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023096039A1 (en) * 2021-11-24 2023-06-01 (주) 바우디움 Method for inputting and outputting structure of procedure and apparatus using same

Similar Documents

Publication Publication Date Title
US6938250B2 (en) Image-based software installation
US9027014B2 (en) Updating firmware compatibility data
CN106415480B (en) High-speed application for installation on a mobile device for enabling remote configuration of the mobile device
Rossel Continuous Integration, Delivery, and Deployment: Reliable and faster software releases with automating builds, tests, and deployment
US9703849B2 (en) Integrating data transform test with data transform tool
CN108897575B (en) Configuration method and configuration system of electronic equipment
US10917456B2 (en) Application management in an application deployment pipeline
US9934132B2 (en) Determining code coverage of an application by test(S)
CN108319575B (en) Page component checking method, device, server and storage medium
KR20080076058A (en) Apparatus and method for developing software based on component
US20170371641A1 (en) Multi-tenant upgrading
US20150186124A1 (en) Merging weighted recommendations for installation and configuration of software products
US10572247B2 (en) Prototype management system
KR102128732B1 (en) Apparatus and method for producing customized software
US20210096853A1 (en) Migration of web applications between different web application frameworks
CN112970001A (en) Saving and restoring machine state between multiple executions of instructions
CN117215558A (en) Visual software development method, device, equipment and medium for android
JP4964352B2 (en) Software library reconstruction apparatus and method, and navigation apparatus using the same
CN106776292A (en) Method and device for starting and logging in multiple systems
CN112955867A (en) Migration of partially completed instructions
US11720386B2 (en) Validation and pre-check of combined software/firmware updates
US20180189169A1 (en) Method,electronic apparatus, system, and storage medium for automated testing of application user interface
US7886137B1 (en) Template-based BIOS project creation
Gebbie-Rayet et al. Longbow: a lightweight remote job submission tool
Smyth iOS 12 App Development Essentials: Learn to Develop iOS 12 Apps with Xcode 10 and Swift 4

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant