KR20200113831A - Apparatus and method for developing component - Google Patents

Apparatus and method for developing component Download PDF

Info

Publication number
KR20200113831A
KR20200113831A KR1020190034573A KR20190034573A KR20200113831A KR 20200113831 A KR20200113831 A KR 20200113831A KR 1020190034573 A KR1020190034573 A KR 1020190034573A KR 20190034573 A KR20190034573 A KR 20190034573A KR 20200113831 A KR20200113831 A KR 20200113831A
Authority
KR
South Korea
Prior art keywords
component
unit
interface
development
meaning
Prior art date
Application number
KR1020190034573A
Other languages
Korean (ko)
Other versions
KR102354808B1 (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 KR1020190034573A priority Critical patent/KR102354808B1/en
Publication of KR20200113831A publication Critical patent/KR20200113831A/en
Application granted granted Critical
Publication of KR102354808B1 publication Critical patent/KR102354808B1/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/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed are a component development device and a method thereof. The objective of the present invention is to provide a suitable component by searching a component in various aspects such as type comparison, behavior comparison and quality attributes when searching a component required in a component-based development method. According to an embodiment of the present invention, the component development device comprises: a component development part that defines the function of a component according to a preset architecture establishment setting and defines the meaning and format of an interface of the component based on the defined component function to develop a component based on an interface test case; and a component assembly part that searches for the component, checks the meaning and format of the component, and executes the developed component.

Description

컴포넌트 개발 장치 및 방법 {APPARATUS AND METHOD FOR DEVELOPING COMPONENT}Component development device and method {APPARATUS AND METHOD FOR DEVELOPING COMPONENT}

본 발명은 어플리케이션 개발 기술에 관한 것으로, 보다 상세하게는 컴포넌트 개발 및 조합을 통한 어플리케이션 개발 기술에 관한 것이다.The present invention relates to application development technology, and more particularly, to an application development technology through component development and combination.

소프트웨어 제품은 점점 규모가 커지고 복잡해지고 있으며 이에 따라 개발 비용이 점점 증대되고 있다. 이에 대한 표현으로 소프트웨어 위기라는 용어가 1968년부터 사용되고 있으며, 다양한 방법으로 소프트웨어 위기를 극복하고자 하지만 일반적으로 모든 문제를 해결할 수 있는 방법은 없는 것으로 여겨지고 있다. Software products are becoming larger and more complex, and development costs are increasing accordingly. As an expression for this, the term software crisis has been used since 1968, and it is believed that there is no way to solve all problems, although it tries to overcome the software crisis in various ways.

컴포넌트 기반 개발 방법(Component based Development, CBD)은 정보공학 및 객체지향 방법 등의 개발 방범의 한계를 극복하기 위하여 제시된 방법으로 하드웨어의 조립 공정과 동일한 방법으로 양질의 소프트웨어 부품 컴포넌트를 조립하여 정보시스템을 신속하게 구축할 수 있도록 하는 방법으로 개발 생산성과 품질을 획기적으로 향상시키기 위한 목적으로 만들어졌다. 또한 CBD에서는 레거시 시스템을 컴포넌트화 하여 새로운 기술환경과 연동하여 사용할 수 있는 장점도 있다. Component based development (CBD) is a method proposed to overcome the limitations of development crime prevention such as information engineering and object-oriented methods, and assemble high-quality software component components in the same way as the hardware assembly process to build an information system. It was created for the purpose of dramatically improving development productivity and quality in a way that enables rapid deployment. In addition, CBD has the advantage of being able to use it in conjunction with a new technology environment by converting legacy systems into components.

그러나, 컴포넌트를 재활용하기 위해서는 컴포넌트 사이의 인터페이스 형식 및 전달 데이터의 의미가 의미상 동일해야 하며 컴포넌트 구현 방법에 따라 예상하지 못한 상호 영향 등 다양한 문제를 해결해야 한다. 이에 따라 컴포넌트의 재사용을 위해서는 컴포넌트 사이의 명확한 상호작용이 필요하다. 단순 API의 형식 비교나 컴포넌트에 대한 기능 설명만으로 컴포넌트를 재사용할 경우 재사용에 대한 확신이 어렵고 실제 동작할 때 예상하지 못한 부작용이 나올 수 있는 문제점이 있다.However, in order to reuse components, the interface format between components and the meaning of the transmitted data must be identical in meaning, and various problems such as unexpected mutual influence must be solved according to the component implementation method. Accordingly, in order to reuse components, a clear interaction between components is required. When a component is reused only by comparing the format of a simple API or describing the function of a component, there is a problem in that it is difficult to be sure of reuse and unexpected side effects may occur when it is actually operated.

한편, 한국공개특허 제 10-2009-0122898 호“온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 시스템 및 그 방법”는 독립적으로 개발한 컴포넌트들을 조립하여 애플리케이션을 개발하는 시스템에서 컴포넌트의 소스 코드 수정 없이 바이너리 수준에 서 조립할 수 있는 소프트웨어 개발 시스템 및 방법에 관하여 개시하고 있다.On the other hand, Korean Patent Laid-Open Publication No. 10-2009-0122898 "Software development system and its method using ontology-based component assembly technology" is a binary level without modifying the source code of components in a system that develops applications by assembling independently developed components. Disclosed is a software development system and method that can be assembled in.

본 발명은 컴포넌트 기반 개발 방법에 있어서 필요한 컴포넌트를 검색할 때, 형식 비교, 행위 비교, 품질 속성 등의 다양한 측면에서 검색하여 적합한 컴포넌트를 제시하는 것을 목적으로 한다.An object of the present invention is to present a suitable component by searching in various aspects such as type comparison, behavior comparison, quality attribute, etc. when searching for a component required in a component-based development method.

또한, 본 발명은 컴포넌트의 재사용성과 품질을 획기적으로 높이는 것을 목적으로 한다.In addition, an object of the present invention is to significantly increase the reusability and quality of components.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 컴포넌트 개발 장치는 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의하고, 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의하여 인터페이스 테스트케이스에 기반한 컴포넌트를 개발하는 컴포넌트 개발부 및 상기 컴포넌트를 검색하여 상기 컴포넌트의 인터페이스 형식과 의미를 검사하고, 개발된 컴포넌트를 실행하는 컴포넌트 조립부를 포함한다.The component development apparatus according to an embodiment of the present invention for achieving the above object defines a function of a component according to a preset architecture establishment setting, and defines the meaning and format of the interface of the component based on the defined component function. It includes a component development unit that develops a component based on an interface test case, and a component assembly unit that searches for the component to check the interface format and meaning of the component, and executes the developed component.

본 발명은 컴포넌트 기반 개발 방법에 있어서 필요한 컴포넌트를 검색할 때, 형식 비교, 행위 비교, 품질 속성 등의 다양한 측면에서 검색하여 적합한 컴포넌트를 제시할 수 있다.In the present invention, when searching for a required component in a component-based development method, a suitable component can be presented by searching in various aspects such as type comparison, behavior comparison, and quality attribute.

또한, 본 발명은 컴포넌트의 재사용성과 품질을 획기적으로 높일 수 있다.In addition, the present invention can significantly increase the reusability and quality of components.

도 1은 본 발명의 일실시예에 따른 컴포넌트 개발 장치를 나타낸 블록도이다.
도 2는 도 1에 도시된 컴포넌트 개발부의 일 예를 세부적으로 나타낸 블록도이다.
도 3은 도 1에 도시된 컴포넌트 조립부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 컴포넌트의 구조를 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 컴포넌트 개발 방법을 나타낸 동작흐름도이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
1 is a block diagram showing a component development apparatus according to an embodiment of the present invention.
2 is a block diagram showing in detail an example of a component development unit shown in FIG. 1.
3 is a block diagram showing in detail an example of the component assembly unit shown in FIG. 1.
4 is a block diagram showing the structure of a component according to an embodiment of the present invention.
5 is an operation flow diagram showing a component development method according to an embodiment of the present invention.
6 is a diagram showing a computer system according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings as follows. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those with average knowledge in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer explanation.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 컴포넌트 개발 장치를 나타낸 블록도이다.1 is a block diagram showing a component development apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 컴포넌트 개발 장치는 컴포넌트 개발부(110), 컴포넌트 조립부(120) 및 컴포넌트 저장부(130)를 포함한다.Referring to FIG. 1, a component development apparatus according to an embodiment of the present invention includes a component development unit 110, a component assembly unit 120, and a component storage unit 130.

컴포넌트 개발부(110)는 컴포넌트 기능 정의부(111), 컴포넌트 인터페이스 정의부(112), 인터페이스 테스트케이스부(113) 및 컴포넌트 구현부(114)를 포함한다.The component development unit 110 includes a component function definition unit 111, a component interface definition unit 112, an interface test case unit 113, and a component implementation unit 114.

컴포넌트 기능 정의부(111)는 전체 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의할 수 있다.The component function definition unit 111 may define the function of the component according to the overall architecture establishment setting.

컴포넌트 인터페이스 정의부(112)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.The component interface definition unit 112 may define a meaning and a format of an interface of a component based on the defined component function.

인터페이스의 의미는 UML 다이어그램이나 정형 언어(Formal Method)로 정의될 수 있다.The meaning of the interface can be defined in a UML diagram or a formal method.

인터페이스 테스트케이스부(113)는 인터페이스의 의미와 형식을 정의하기 위한 테스트케이스를 제공할 수 있다.The interface test case unit 113 may provide a test case for defining the meaning and format of the interface.

컴포넌트 구현부(114)는 정의된 컴포넌트의 기능과 컴포넌트의 인터페이스의 의미와 형식을 이용하여 컴포넌트를 구현할 수 있다.The component implementation unit 114 may implement the component by using the defined function of the component and the meaning and format of the interface of the component.

이 때, 컴포넌트 구현부(114)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, the component implementation unit 114 may first write a test code for testing the component using a test-based methodology (TDD, Test Driven Development), and then test the inside of the component.

TDD에서는 동작 가능한 테스트 코드로 컴포넌트의 인터페이스의 기능과 역할을 구체화할 수 있다. 이러한 테스트 코드를 컴포넌트 구성에 포함하여 전술한 컴포넌트의 행위에 대해 명확한 명세를 가능하도록 할 수 있다. In TDD, the function and role of the component's interface can be specified with an operable test code. By including these test codes in the component configuration, it is possible to clearly specify the behavior of the above-described component.

컴포넌트 조립부(120)는 컴포넌트 검색부(121), 컴포넌트 형식 검사부(122), 컴포넌트 의미 검사부(123) 및 컴포넌트 실행부(124)를 포함한다.The component assembly unit 120 includes a component search unit 121, a component type check unit 122, a component meaning check unit 123, and a component execution unit 124.

컴포넌트 검색부(121)는 어플리케이션을 통합 개발하기 위한 컴포넌트를 검색할 수 있다.The component search unit 121 may search for a component for integrated development of an application.

컴포넌트 형식 검사부(122)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.The component type checker 122 may check the type of the component interface.

컴포넌트 의미 검사부(123)는 컴포넌트 인터페이스의 의미를 검사할 수 있다.The component meaning test unit 123 may check the meaning of the component interface.

컴포넌트 실행부(124)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.The component execution unit 124 provides a test case together with the component, and when searching for a component that can be interoperable, first performs a type check through the API information of the component, and then operates the actual component through the test case. You can test your actions and meanings.

이 때, 컴포넌트 실행부(124)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, the component execution unit 124 may create a test code and a test case, and then expand the test case in a process such as search/execute.

이 때, 컴포넌트 실행부(124)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, the component execution unit 124 may expand the test case of the component by grasping information on the execution process (eg, debugging information, variable information, etc.) using a separate component execution agent.

컴포넌트 저장부(130)는 생성된 컴포넌트를 저장할 수 있다.The component storage unit 130 may store the generated component.

도 2는 도 1에 도시된 컴포넌트 개발부의 일 예를 세부적으로 나타낸 블록도이다.2 is a block diagram showing in detail an example of a component development unit shown in FIG. 1.

도 2를 참조하면, 컴포넌트 개발부(110)는 컴포넌트 기능 정의부(111), 컴포넌트 인터페이스 정의부(112), 인터페이스 테스트케이스부(113) 및 컴포넌트 구현부(114)를 포함한다.Referring to FIG. 2, the component development unit 110 includes a component function definition unit 111, a component interface definition unit 112, an interface test case unit 113, and a component implementation unit 114.

컴포넌트 기능 정의부(111)는 전체 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의할 수 있다.The component function definition unit 111 may define the function of the component according to the overall architecture establishment setting.

컴포넌트 인터페이스 정의부(112)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.The component interface definition unit 112 may define a meaning and a format of an interface of a component based on the defined component function.

인터페이스의 의미는 UML 다이어그램이나 정형 언어(Formal Method)로 정의될 수 있다.The meaning of the interface can be defined in a UML diagram or a formal method.

인터페이스 테스트케이스부(113)는 인터페이스의 의미와 형식을 정의하기 위한 테스트케이스를 제공할 수 있다.The interface test case unit 113 may provide a test case for defining the meaning and format of the interface.

컴포넌트 구현부(114)는 정의된 컴포넌트의 기능과 컴포넌트의 인터페이스의 의미와 형식을 이용하여 컴포넌트를 구현할 수 있다.The component implementation unit 114 may implement the component by using the defined function of the component and the meaning and format of the interface of the component.

이 때, 컴포넌트 구현부(114)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, the component implementation unit 114 may first write a test code for testing the component using a test-based methodology (TDD, Test Driven Development), and then test the inside of the component.

TDD에서는 동작 가능한 테스트 코드로 컴포넌트의 인터페이스의 기능과 역할을 구체화할 수 있다. 이러한 테스트 코드를 컴포넌트 구성에 포함하여 전술한 컴포넌트의 행위에 대해 명확한 명세를 가능하도록 할 수 있다. In TDD, the function and role of the component's interface can be specified with an operable test code. By including these test codes in the component configuration, it is possible to clearly specify the behavior of the above-described component.

도 3은 도 1에 도시된 컴포넌트 조립부의 일 예를 세부적으로 나타낸 블록도이다.3 is a block diagram showing in detail an example of the component assembly unit shown in FIG. 1.

도 3을 참조하면, 컴포넌트 조립부(120)는 컴포넌트 검색부(121), 컴포넌트 형식 검사부(122), 컴포넌트 의미 검사부(123) 및 컴포넌트 실행부(124)를 포함한다.Referring to FIG. 3, the component assembly unit 120 includes a component search unit 121, a component type check unit 122, a component meaning check unit 123, and a component execution unit 124.

컴포넌트 검색부(121)는 어플리케이션을 통합 개발하기 위한 컴포넌트를 검색할 수 있다.The component search unit 121 may search for a component for integrated development of an application.

컴포넌트 형식 검사부(122)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.The component type checker 122 may check the type of the component interface.

컴포넌트 의미 검사부(123)는 컴포넌트 인터페이스의 의미를 검사할 수 있다.The component meaning test unit 123 may check the meaning of the component interface.

컴포넌트 실행부(124)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.The component execution unit 124 provides a test case together with the component, and when searching for a component that can be interoperable, first performs a type check through the API information of the component, and then operates the actual component through the test case. You can test your actions and meanings.

이 때, 컴포넌트 실행부(124)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, the component execution unit 124 may create a test code and a test case, and then expand the test case in a process such as search/execute.

이 때, 컴포넌트 실행부(124)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, the component execution unit 124 may expand the test case of the component by grasping information on the execution process (eg, debugging information, variable information, etc.) using a separate component execution agent.

도 4는 본 발명의 일실시예에 따른 컴포넌트의 구조를 나타낸 블록도이다.4 is a block diagram showing the structure of a component according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 컴포넌트(10)는 컴포넌트 소스코드 또는 실행 파일을 포함하고, 추가적인 명세서와 인터페이스 테스트케이스를 포함할 수 있다.Referring to FIG. 4, a component 10 according to an embodiment of the present invention may include a component source code or an executable file, and may include an additional specification and an interface test case.

도 5는 본 발명의 일실시예에 따른 컴포넌트 개발 방법을 나타낸 동작흐름도이다.5 is an operation flow diagram showing a component development method according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일실시예에 따른 컴포넌트 개발 방법은 먼저 컴포넌트 개발을 수행할 수 있다(S210).Referring to FIG. 5, the component development method according to an embodiment of the present invention may first perform component development (S210 ).

즉, 단계(S210)는 전체 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의할 수 있다.That is, in step S210, the function of the component may be defined according to the overall architecture establishment setting.

이 때, 단계(S210)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.In this case, in step S210, the meaning and format of the interface of the component may be defined based on the defined component function.

인터페이스의 의미는 UML 다이어그램이나 정형 언어(Formal Method)로 정의될 수 있다.The meaning of the interface can be defined in a UML diagram or a formal method.

이 때, 단계(S210)는 인터페이스의 의미와 형식을 정의하기 위한 테스트케이스를 제공할 수 있다.In this case, step S210 may provide a test case for defining the meaning and format of the interface.

이 때, 단계(S210)는 정의된 컴포넌트의 기능과 컴포넌트의 인터페이스의 의미와 형식을 이용하여 컴포넌트를 구현할 수 있다.In this case, in step S210, the component may be implemented using the defined function of the component and the meaning and format of the interface of the component.

이 때, 단계(S210)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, in step S210, a test code for testing the component may be first written using a test-based methodology (TDD, Test Driven Development), and then the inside of the component may be tested.

TDD에서는 동작 가능한 테스트 코드로 컴포넌트의 인터페이스의 기능과 역할을 구체화할 수 있다. 이러한 테스트 코드를 컴포넌트 구성에 포함하여 전술한 컴포넌트의 행위에 대해 명확한 명세를 가능하도록 할 수 있다. In TDD, the function and role of the component's interface can be specified with an operable test code. By including these test codes in the component configuration, it is possible to clearly specify the behavior of the above-described component.

또한, 본 발명의 일실시예에 따른 컴포넌트 개발 방법은 컴포넌트 조립을 수행할 수 있다(S220).In addition, the component development method according to an embodiment of the present invention may perform component assembly (S220).

즉, 단계(S220)는 어플리케이션을 통합 개발하기 위한 컴포넌트를 검색할 수 있다.That is, in step S220, a component for integrated development of an application may be searched.

이 때, 단계(S220)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.At this time, step S220 may check the format of the component interface.

이 때, 단계(S220)는 컴포넌트 인터페이스의 의미를 검사할 수 있다.In this case, step S220 may check the meaning of the component interface.

또한, 본 발명의 일실시예에 따른 컴포넌트 개발 방법은 컴포넌트를 실행할 수 있다(S230).In addition, a component development method according to an embodiment of the present invention may execute a component (S230).

즉, 단계(S230)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.That is, in step S230, when searching for a component that can be interoperable by providing a test case together with the component, a type check is first performed through the API information of the component, and the actual component is operated through the test case. You can test your actions and meanings.

이 때, 단계(S230)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, in step S230, after writing a test code and a test case, the test case may be expanded in a process such as searching/executing.

이 때, 단계(S230)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, in step S230, information on the execution process (eg, debugging information, variable information, etc.) is identified using a separate component execution agent, and a test case of the component may be expanded.

이 때, 단계(S230)는 생성된 컴포넌트를 실행하고, 저장할 수 있다.In this case, in step S230, the generated component may be executed and stored.

도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.6 is a diagram showing a computer system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일실시예에 따른 인증 서버(10) 및 생체 인증 제공 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 6에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 6, the authentication server 10 and the apparatus 100 for providing biometric authentication according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 6, the computer system 1100 includes one or more processors 1110, memory 1130, a user interface input device 1140, and a user interface output device 1150 communicating with each other through a bus 1120. And a storage 1160. Also, the computer system 1100 may further include a network interface 1170 connected to the network 1180. The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160. The memory 1130 and the storage 1160 may be various types of volatile or nonvolatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132.

이상에서와 같이 본 발명의 일실시예에 따른 컴포넌트 개발 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the component development apparatus and method according to an embodiment of the present invention is not limited to the configuration and method of the embodiments described as described above, but the embodiments are each All or some of the embodiments may be selectively combined and configured.

110: 컴포넌트 개발부 111: 컴포넌트 기능 정의부
112: 컴포넌트 인터페이스 정의부 113: 인터페이스 테스트케이스부
114: 컴포넌트 구현부 120: 컴포넌트 조립부
121: 컴포넌트 검색부 122: 컴포넌트 형식 검사부
123: 컴포넌트 의미 검사부 124: 컴포넌트 실행부
130: 컴포넌트 저장부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
110: component development unit 111: component function definition unit
112: component interface definition unit 113: interface test case unit
114: component implementation unit 120: component assembly unit
121: component search unit 122: component type check unit
123: component meaning inspection unit 124: component execution unit
130: component storage unit
1100: computer system 1110: processor
1120: bus 1130: memory
1131: ROM 1132: RAM
1140: user interface input device
1150: user interface output device
1160: storage 1170: network interface
1180: network

Claims (1)

기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의하고, 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의하여 인터페이스 테스트케이스에 기반한 컴포넌트를 개발하는 컴포넌트 개발부; 및
상기 컴포넌트를 검색하여 상기 컴포넌트의 인터페이스 형식과 의미를 검사하고, 개발된 컴포넌트를 실행하는 컴포넌트 조립부;
를 포함하는 것을 특징으로 하는 컴포넌트 개발 장치.
A component development unit that defines a function of a component according to a preset architecture establishment setting and develops a component based on an interface test case by defining a meaning and a format of an interface of the component based on the defined component function; And
A component assembly unit that searches for the component, checks the interface type and meaning of the component, and executes the developed component;
Component development apparatus comprising a.
KR1020190034573A 2019-03-26 2019-03-26 Apparatus and method for developing component KR102354808B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190034573A KR102354808B1 (en) 2019-03-26 2019-03-26 Apparatus and method for developing component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190034573A KR102354808B1 (en) 2019-03-26 2019-03-26 Apparatus and method for developing component

Publications (2)

Publication Number Publication Date
KR20200113831A true KR20200113831A (en) 2020-10-07
KR102354808B1 KR102354808B1 (en) 2022-01-25

Family

ID=72884129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190034573A KR102354808B1 (en) 2019-03-26 2019-03-26 Apparatus and method for developing component

Country Status (1)

Country Link
KR (1) KR102354808B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220116781A (en) * 2021-02-15 2022-08-23 (주)아이브릭스 The unstructured data analysis method using component network based analysis system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065742A (en) * 2007-12-18 2009-06-23 한국전자통신연구원 Apparatus and method for developing software
KR101134735B1 (en) * 2010-11-03 2012-04-13 재단법인대구경북과학기술원 Software testing method and system using software component design information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065742A (en) * 2007-12-18 2009-06-23 한국전자통신연구원 Apparatus and method for developing software
KR101134735B1 (en) * 2010-11-03 2012-04-13 재단법인대구경북과학기술원 Software testing method and system using software component design information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220116781A (en) * 2021-02-15 2022-08-23 (주)아이브릭스 The unstructured data analysis method using component network based analysis system

Also Published As

Publication number Publication date
KR102354808B1 (en) 2022-01-25

Similar Documents

Publication Publication Date Title
EP3605324B1 (en) Application development method and tool, and storage medium thereof
US8239823B2 (en) Generating libraries for reflection without project compilation
CN106547527B (en) JavaScript file construction method and device
EP3234851B1 (en) A system and method for facilitating static analysis of software applications
CN110633200A (en) Method and device for testing intelligent contracts
WO2018161509A1 (en) Conditional compilation preprocessing method, terminal and storage medium
JP7409197B2 (en) Elaboration of repair patterns for static analysis violations in software programs
CN108228312B (en) System and method for executing code through interpreter
WO2023115776A1 (en) Neural network reasoning method and apparatus, and computer device, computer-readable storage medium and computer program product
JP2018169693A (en) Information processing device, information processing method, and information processing program
US20210232378A1 (en) Program calling, electronic device, and storage medium
KR102354808B1 (en) Apparatus and method for developing component
CN111596970B (en) Method, device, equipment and storage medium for dynamic library delay loading
US11327925B2 (en) Method and system for data transfer between databases
CN117009248A (en) Machine learning model testing method and device, electronic equipment and storage medium
van de Pol et al. Thoughtful brute-force attack of the RERS 2012 and 2013 Challenges
CN110647749A (en) Second-order SQL injection attack defense method
JP6878707B2 (en) Test equipment, test methods and test programs
CN103577170A (en) Construction method and construction device for web application
US20230350792A1 (en) System, method, and computer program for development driven test automation
US11386209B2 (en) Static source code scanner
WO2021149119A1 (en) Estimation system and estimation program
US20240103853A1 (en) Code maintenance system
US10545742B2 (en) Annotation-driven framework for generating state machine updates
US11262987B1 (en) User interface isolation verification

Legal Events

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